efl: merge edje.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Fri, 4 Jan 2013 02:08:14 +0000 (02:08 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Fri, 4 Jan 2013 02:08:14 +0000 (02:08 +0000)
this is still in progress, mostly the multisense stuff is pending.

it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).

Changes:
 * __UNUSED__ to EINA_UNUSED
 * binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
   will assume the binaries are still not installed, running from
   build tree location (needs more testing, maybe doesn't work with
   srcdir != builddir, still doesn't solve cross compile builds)

SVN revision: 82139

362 files changed:
Makefile.am
configure.ac
data/Makefile.am
data/edje/edc.vim [new file with mode: 0644]
data/edje/edje-mode.el [new file with mode: 0644]
data/edje/edje.xml [new file with mode: 0644]
data/edje/include/edje.inc [new file with mode: 0644]
data/edje/vim/autoload/edccomplete.vim [new file with mode: 0644]
data/edje/vim/ftdetect/edc.vim [new file with mode: 0644]
data/edje/vim/ftplugin/edc.vim [new file with mode: 0644]
data/edje/vim/indent/edc.vim [new file with mode: 0644]
data/edje/vim/plugin-info.txt [new file with mode: 0644]
data/edje/vim/snippets/edc.snippets [new file with mode: 0644]
data/edje/vim/syntax/edc.vim [new file with mode: 0644]
data/edje/vim/syntax/embryo.vim [new file with mode: 0644]
doc/Doxyfile.in
doc/edje_examples.dox [new file with mode: 0644]
doc/img/basic2final.eps [new file with mode: 0644]
doc/img/basic2final.png [new file with mode: 0644]
doc/img/edje-animations.eps [new file with mode: 0644]
doc/img/edje-animations.png [new file with mode: 0644]
doc/img/edje-animations2.eps [new file with mode: 0644]
doc/img/edje-animations2.png [new file with mode: 0644]
doc/img/edje-basics-example.eps [new file with mode: 0644]
doc/img/edje-basics-example.png [new file with mode: 0644]
doc/img/edje-box-example.eps [new file with mode: 0644]
doc/img/edje-box-example.png [new file with mode: 0644]
doc/img/edje-box2-example.eps [new file with mode: 0644]
doc/img/edje-box2-example.png [new file with mode: 0644]
doc/img/edje-color-class-example.eps [new file with mode: 0644]
doc/img/edje-color-class-example.png [new file with mode: 0644]
doc/img/edje-color-class-example2.eps [new file with mode: 0644]
doc/img/edje-color-class-example2.png [new file with mode: 0644]
doc/img/edje-drag-example.eps [new file with mode: 0644]
doc/img/edje-drag-example.png [new file with mode: 0644]
doc/img/edje-perspective-example.eps [new file with mode: 0644]
doc/img/edje-perspective-example.png [new file with mode: 0644]
doc/img/edje-signals-messages-example.eps [new file with mode: 0644]
doc/img/edje-signals-messages-example.png [new file with mode: 0644]
doc/img/edje-table-example.eps [new file with mode: 0644]
doc/img/edje-table-example.png [new file with mode: 0644]
doc/img/edje-text.eps [new file with mode: 0644]
doc/img/edje-text.png [new file with mode: 0644]
doc/img/signal2final.eps [new file with mode: 0644]
doc/img/signal2final.png [new file with mode: 0644]
doc/img/swallow2final.eps [new file with mode: 0644]
doc/img/swallow2final.png [new file with mode: 0644]
legacy/edje/ChangeLog [deleted file]
legacy/edje/NEWS [deleted file]
legacy/edje/README [deleted file]
legacy/edje/data/edc.vim [deleted file]
legacy/edje/data/edje-mode.el [deleted file]
legacy/edje/data/edje.xml [deleted file]
legacy/edje/data/include/edje.inc [deleted file]
legacy/edje/data/vim/autoload/edccomplete.vim [deleted file]
legacy/edje/data/vim/ftdetect/edc.vim [deleted file]
legacy/edje/data/vim/ftplugin/edc.vim [deleted file]
legacy/edje/data/vim/indent/edc.vim [deleted file]
legacy/edje/data/vim/plugin-info.txt [deleted file]
legacy/edje/data/vim/snippets/edc.snippets [deleted file]
legacy/edje/data/vim/syntax/edc.vim [deleted file]
legacy/edje/data/vim/syntax/embryo.vim [deleted file]
legacy/edje/doc/examples.dox [deleted file]
legacy/edje/doc/img/basic2final.eps [deleted file]
legacy/edje/doc/img/basic2final.png [deleted file]
legacy/edje/doc/img/edje-animations.eps [deleted file]
legacy/edje/doc/img/edje-animations.png [deleted file]
legacy/edje/doc/img/edje-animations2.eps [deleted file]
legacy/edje/doc/img/edje-animations2.png [deleted file]
legacy/edje/doc/img/edje-basics-example.png [deleted file]
legacy/edje/doc/img/edje-box-example.eps [deleted file]
legacy/edje/doc/img/edje-box-example.png [deleted file]
legacy/edje/doc/img/edje-box2-example.eps [deleted file]
legacy/edje/doc/img/edje-box2-example.png [deleted file]
legacy/edje/doc/img/edje-color-class-example.eps [deleted file]
legacy/edje/doc/img/edje-color-class-example.png [deleted file]
legacy/edje/doc/img/edje-color-class-example2.eps [deleted file]
legacy/edje/doc/img/edje-color-class-example2.png [deleted file]
legacy/edje/doc/img/edje-drag-example.png [deleted file]
legacy/edje/doc/img/edje-perspective-example.png [deleted file]
legacy/edje/doc/img/edje-signals-messages-example.eps [deleted file]
legacy/edje/doc/img/edje-signals-messages-example.png [deleted file]
legacy/edje/doc/img/edje-table-example.eps [deleted file]
legacy/edje/doc/img/edje-table-example.png [deleted file]
legacy/edje/doc/img/edje-text.png [deleted file]
legacy/edje/doc/img/signal2final.png [deleted file]
legacy/edje/doc/img/swallow2final.eps [deleted file]
legacy/edje/doc/img/swallow2final.png [deleted file]
legacy/edje/edje.pc.in [deleted file]
legacy/edje/src/bin/edje_cc.c [deleted file]
legacy/edje/src/bin/edje_cc.h [deleted file]
legacy/edje/src/bin/edje_cc_handlers.c [deleted file]
legacy/edje/src/bin/edje_cc_mem.c [deleted file]
legacy/edje/src/bin/edje_cc_out.c [deleted file]
legacy/edje/src/bin/edje_cc_parse.c [deleted file]
legacy/edje/src/bin/edje_cc_sources.c [deleted file]
legacy/edje/src/bin/edje_codegen.c [deleted file]
legacy/edje/src/bin/edje_convert.c [deleted file]
legacy/edje/src/bin/edje_convert.h [deleted file]
legacy/edje/src/bin/edje_convert_main.c [deleted file]
legacy/edje/src/bin/edje_data_convert.c [deleted file]
legacy/edje/src/bin/edje_decc.c [deleted file]
legacy/edje/src/bin/edje_decc.h [deleted file]
legacy/edje/src/bin/edje_external_inspector.c [deleted file]
legacy/edje/src/bin/edje_inspector.c [deleted file]
legacy/edje/src/bin/edje_multisense_convert.c [deleted file]
legacy/edje/src/bin/edje_multisense_convert.h [deleted file]
legacy/edje/src/bin/edje_pick.c [deleted file]
legacy/edje/src/bin/edje_player.c [deleted file]
legacy/edje/src/bin/edje_recc [deleted file]
legacy/edje/src/bin/edje_watch.c [deleted file]
legacy/edje/src/bin/epp/cppalloc.c [deleted file]
legacy/edje/src/bin/epp/cpperror.c [deleted file]
legacy/edje/src/bin/epp/cppexp.c [deleted file]
legacy/edje/src/bin/epp/cpphash.c [deleted file]
legacy/edje/src/bin/epp/cpphash.h [deleted file]
legacy/edje/src/bin/epp/cpplib.c [deleted file]
legacy/edje/src/bin/epp/cpplib.h [deleted file]
legacy/edje/src/bin/epp/cppmain.c [deleted file]
legacy/edje/src/examples/Vera.ttf [deleted file]
legacy/edje/src/examples/animations.edc [deleted file]
legacy/edje/src/examples/animations2.c [deleted file]
legacy/edje/src/examples/animations2.edc [deleted file]
legacy/edje/src/examples/basic.edc [deleted file]
legacy/edje/src/examples/basic2.edc [deleted file]
legacy/edje/src/examples/box.edc [deleted file]
legacy/edje/src/examples/bubble-blue.png [deleted file]
legacy/edje/src/examples/bubble.png [deleted file]
legacy/edje/src/examples/codegen.edc [deleted file]
legacy/edje/src/examples/color-class.edc [deleted file]
legacy/edje/src/examples/drag.edc [deleted file]
legacy/edje/src/examples/duck.wav [deleted file]
legacy/edje/src/examples/edje-animations.c [deleted file]
legacy/edje/src/examples/edje-basic.c [deleted file]
legacy/edje/src/examples/edje-basic2.c [deleted file]
legacy/edje/src/examples/edje-box.c [deleted file]
legacy/edje/src/examples/edje-box2.c [deleted file]
legacy/edje/src/examples/edje-codegen-example.c [deleted file]
legacy/edje/src/examples/edje-color-class.c [deleted file]
legacy/edje/src/examples/edje-drag.c [deleted file]
legacy/edje/src/examples/edje-multisense.c [deleted file]
legacy/edje/src/examples/edje-nested.edc [deleted file]
legacy/edje/src/examples/edje-perspective.c [deleted file]
legacy/edje/src/examples/edje-signals-messages.c [deleted file]
legacy/edje/src/examples/edje-swallow.c [deleted file]
legacy/edje/src/examples/edje-swallow2.c [deleted file]
legacy/edje/src/examples/edje-table.c [deleted file]
legacy/edje/src/examples/edje-text.c [deleted file]
legacy/edje/src/examples/edje_example.c [deleted file]
legacy/edje/src/examples/edje_example.edc [deleted file]
legacy/edje/src/examples/embryo_custom_state.edc [deleted file]
legacy/edje/src/examples/embryo_pong.edc [deleted file]
legacy/edje/src/examples/embryo_run_program.edc [deleted file]
legacy/edje/src/examples/embryo_set_state.edc [deleted file]
legacy/edje/src/examples/embryo_set_text.edc [deleted file]
legacy/edje/src/examples/embryo_timer.edc [deleted file]
legacy/edje/src/examples/external_elm_anchorblock.edc [deleted file]
legacy/edje/src/examples/external_elm_button.edc [deleted file]
legacy/edje/src/examples/external_elm_check.edc [deleted file]
legacy/edje/src/examples/external_elm_panes.edc [deleted file]
legacy/edje/src/examples/external_emotion_elm.edc [deleted file]
legacy/edje/src/examples/lua_script.edc [deleted file]
legacy/edje/src/examples/messages_echo.edc [deleted file]
legacy/edje/src/examples/multisense.edc [deleted file]
legacy/edje/src/examples/perspective.edc [deleted file]
legacy/edje/src/examples/physics_3d.edc [deleted file]
legacy/edje/src/examples/physics_actions.edc [deleted file]
legacy/edje/src/examples/physics_backcull.edc [deleted file]
legacy/edje/src/examples/physics_basic.edc [deleted file]
legacy/edje/src/examples/physics_complex.edc [deleted file]
legacy/edje/src/examples/physics_soft_bodies.edc [deleted file]
legacy/edje/src/examples/signals-messages.edc [deleted file]
legacy/edje/src/examples/signals2.c [deleted file]
legacy/edje/src/examples/signalsBubble.edc [deleted file]
legacy/edje/src/examples/sigtest.c [deleted file]
legacy/edje/src/examples/sigtest.edc [deleted file]
legacy/edje/src/examples/swallow.edc [deleted file]
legacy/edje/src/examples/table.edc [deleted file]
legacy/edje/src/examples/test.png [deleted file]
legacy/edje/src/examples/text.edc [deleted file]
legacy/edje/src/examples/toggle_using_filter.edc [deleted file]
legacy/edje/src/lib/Edje.h [deleted file]
legacy/edje/src/lib/Edje_Edit.h [deleted file]
legacy/edje/src/lib/edje_box_layout.c [deleted file]
legacy/edje/src/lib/edje_cache.c [deleted file]
legacy/edje/src/lib/edje_calc.c [deleted file]
legacy/edje/src/lib/edje_callbacks.c [deleted file]
legacy/edje/src/lib/edje_container.c [deleted file]
legacy/edje/src/lib/edje_container.h [deleted file]
legacy/edje/src/lib/edje_convert.c [deleted file]
legacy/edje/src/lib/edje_convert.h [deleted file]
legacy/edje/src/lib/edje_data.c [deleted file]
legacy/edje/src/lib/edje_edit.c [deleted file]
legacy/edje/src/lib/edje_embryo.c [deleted file]
legacy/edje/src/lib/edje_entry.c [deleted file]
legacy/edje/src/lib/edje_external.c [deleted file]
legacy/edje/src/lib/edje_load.c [deleted file]
legacy/edje/src/lib/edje_lua.c [deleted file]
legacy/edje/src/lib/edje_lua2.c [deleted file]
legacy/edje/src/lib/edje_lua_script_only.c [deleted file]
legacy/edje/src/lib/edje_main.c [deleted file]
legacy/edje/src/lib/edje_match.c [deleted file]
legacy/edje/src/lib/edje_message_queue.c [deleted file]
legacy/edje/src/lib/edje_misc.c [deleted file]
legacy/edje/src/lib/edje_module.c [deleted file]
legacy/edje/src/lib/edje_multisense.c [deleted file]
legacy/edje/src/lib/edje_private.h [deleted file]
legacy/edje/src/lib/edje_program.c [deleted file]
legacy/edje/src/lib/edje_script_only.c [deleted file]
legacy/edje/src/lib/edje_smart.c [deleted file]
legacy/edje/src/lib/edje_text.c [deleted file]
legacy/edje/src/lib/edje_textblock_styles.c [deleted file]
legacy/edje/src/lib/edje_util.c [deleted file]
legacy/edje/src/lib/edje_var.c [deleted file]
legacy/edje/src/modules/alsa_snd_player/alsa_snd_player.c [deleted file]
legacy/edje/src/modules/eet_snd_reader/eet_snd_reader.c [deleted file]
legacy/edje/src/modules/multisense_factory/multisense_factory.c [deleted file]
legacy/edje/src/tests/edje_suite.h [deleted file]
legacy/edje/src/tests/edje_test_edje.c [deleted file]
m4/efl_lua.m4 [new file with mode: 0644]
old/ChangeLog.edje [new file with mode: 0644]
old/NEWS.edje [new file with mode: 0644]
old/README.edje [new file with mode: 0644]
pc/edje.pc.in [new file with mode: 0644]
src/Makefile.am
src/Makefile_Edje.am [new file with mode: 0644]
src/Makefile_Embryo.am
src/bin/edje/edje_cc.c [new file with mode: 0644]
src/bin/edje/edje_cc.h [new file with mode: 0644]
src/bin/edje/edje_cc_handlers.c [new file with mode: 0644]
src/bin/edje/edje_cc_mem.c [new file with mode: 0644]
src/bin/edje/edje_cc_out.c [new file with mode: 0644]
src/bin/edje/edje_cc_parse.c [new file with mode: 0644]
src/bin/edje/edje_cc_sources.c [new file with mode: 0644]
src/bin/edje/edje_codegen.c [new file with mode: 0644]
src/bin/edje/edje_convert.c [new file with mode: 0644]
src/bin/edje/edje_convert.h [new file with mode: 0644]
src/bin/edje/edje_convert_main.c [new file with mode: 0644]
src/bin/edje/edje_data_convert.c [new file with mode: 0644]
src/bin/edje/edje_decc.c [new file with mode: 0644]
src/bin/edje/edje_decc.h [new file with mode: 0644]
src/bin/edje/edje_external_inspector.c [new file with mode: 0644]
src/bin/edje/edje_inspector.c [new file with mode: 0644]
src/bin/edje/edje_multisense_convert.c [new file with mode: 0644]
src/bin/edje/edje_multisense_convert.h [new file with mode: 0644]
src/bin/edje/edje_pick.c [new file with mode: 0644]
src/bin/edje/edje_player.c [new file with mode: 0644]
src/bin/edje/edje_recc [new file with mode: 0644]
src/bin/edje/edje_watch.c [new file with mode: 0644]
src/bin/edje/epp/cppalloc.c [new file with mode: 0644]
src/bin/edje/epp/cpperror.c [new file with mode: 0644]
src/bin/edje/epp/cppexp.c [new file with mode: 0644]
src/bin/edje/epp/cpphash.c [new file with mode: 0644]
src/bin/edje/epp/cpphash.h [new file with mode: 0644]
src/bin/edje/epp/cpplib.c [new file with mode: 0644]
src/bin/edje/epp/cpplib.h [new file with mode: 0644]
src/bin/edje/epp/cppmain.c [new file with mode: 0644]
src/bin/embryo/embryo_cc_sc1.c
src/examples/Makefile.am
src/examples/edje/Makefile.am [new file with mode: 0644]
src/examples/edje/Vera.ttf [new file with mode: 0644]
src/examples/edje/animations.edc [new file with mode: 0644]
src/examples/edje/animations2.c [new file with mode: 0644]
src/examples/edje/animations2.edc [new file with mode: 0644]
src/examples/edje/basic.edc [new file with mode: 0644]
src/examples/edje/basic2.edc [new file with mode: 0644]
src/examples/edje/box.edc [new file with mode: 0644]
src/examples/edje/bubble-blue.png [new file with mode: 0644]
src/examples/edje/bubble.png [new file with mode: 0644]
src/examples/edje/codegen.edc [new file with mode: 0644]
src/examples/edje/color-class.edc [new file with mode: 0644]
src/examples/edje/drag.edc [new file with mode: 0644]
src/examples/edje/duck.wav [new file with mode: 0644]
src/examples/edje/edje-animations.c [new file with mode: 0644]
src/examples/edje/edje-basic.c [new file with mode: 0644]
src/examples/edje/edje-basic2.c [new file with mode: 0644]
src/examples/edje/edje-box.c [new file with mode: 0644]
src/examples/edje/edje-box2.c [new file with mode: 0644]
src/examples/edje/edje-codegen-example.c [new file with mode: 0644]
src/examples/edje/edje-color-class.c [new file with mode: 0644]
src/examples/edje/edje-drag.c [new file with mode: 0644]
src/examples/edje/edje-multisense.c [new file with mode: 0644]
src/examples/edje/edje-nested.edc [new file with mode: 0644]
src/examples/edje/edje-perspective.c [new file with mode: 0644]
src/examples/edje/edje-signals-messages.c [new file with mode: 0644]
src/examples/edje/edje-swallow.c [new file with mode: 0644]
src/examples/edje/edje-swallow2.c [new file with mode: 0644]
src/examples/edje/edje-table.c [new file with mode: 0644]
src/examples/edje/edje-text.c [new file with mode: 0644]
src/examples/edje/edje_example.c [new file with mode: 0644]
src/examples/edje/edje_example.edc [new file with mode: 0644]
src/examples/edje/embryo_custom_state.edc [new file with mode: 0644]
src/examples/edje/embryo_pong.edc [new file with mode: 0644]
src/examples/edje/embryo_run_program.edc [new file with mode: 0644]
src/examples/edje/embryo_set_state.edc [new file with mode: 0644]
src/examples/edje/embryo_set_text.edc [new file with mode: 0644]
src/examples/edje/embryo_timer.edc [new file with mode: 0644]
src/examples/edje/external_elm_anchorblock.edc [new file with mode: 0644]
src/examples/edje/external_elm_button.edc [new file with mode: 0644]
src/examples/edje/external_elm_check.edc [new file with mode: 0644]
src/examples/edje/external_elm_panes.edc [new file with mode: 0644]
src/examples/edje/external_emotion_elm.edc [new file with mode: 0644]
src/examples/edje/lua_script.edc [new file with mode: 0644]
src/examples/edje/messages_echo.edc [new file with mode: 0644]
src/examples/edje/multisense.edc [new file with mode: 0644]
src/examples/edje/perspective.edc [new file with mode: 0644]
src/examples/edje/physics_3d.edc [new file with mode: 0644]
src/examples/edje/physics_actions.edc [new file with mode: 0644]
src/examples/edje/physics_backcull.edc [new file with mode: 0644]
src/examples/edje/physics_basic.edc [new file with mode: 0644]
src/examples/edje/physics_complex.edc [new file with mode: 0644]
src/examples/edje/physics_soft_bodies.edc [new file with mode: 0644]
src/examples/edje/red.png [new file with mode: 0644]
src/examples/edje/signals-messages.edc [new file with mode: 0644]
src/examples/edje/signals2.c [new file with mode: 0644]
src/examples/edje/signalsBubble.edc [new file with mode: 0644]
src/examples/edje/sigtest.c [new file with mode: 0644]
src/examples/edje/sigtest.edc [new file with mode: 0644]
src/examples/edje/swallow.edc [new file with mode: 0644]
src/examples/edje/table.edc [new file with mode: 0644]
src/examples/edje/test.png [new file with mode: 0644]
src/examples/edje/text.edc [new file with mode: 0644]
src/examples/edje/toggle_using_filter.edc [new file with mode: 0644]
src/lib/edje/Edje.h [new file with mode: 0644]
src/lib/edje/Edje_Edit.h [new file with mode: 0644]
src/lib/edje/edje_box_layout.c [new file with mode: 0644]
src/lib/edje/edje_cache.c [new file with mode: 0644]
src/lib/edje/edje_calc.c [new file with mode: 0644]
src/lib/edje/edje_callbacks.c [new file with mode: 0644]
src/lib/edje/edje_container.c [new file with mode: 0644]
src/lib/edje/edje_container.h [new file with mode: 0644]
src/lib/edje/edje_convert.c [new file with mode: 0644]
src/lib/edje/edje_convert.h [new file with mode: 0644]
src/lib/edje/edje_data.c [new file with mode: 0644]
src/lib/edje/edje_edit.c [new file with mode: 0644]
src/lib/edje/edje_embryo.c [new file with mode: 0644]
src/lib/edje/edje_entry.c [new file with mode: 0644]
src/lib/edje/edje_external.c [new file with mode: 0644]
src/lib/edje/edje_load.c [new file with mode: 0644]
src/lib/edje/edje_lua.c [new file with mode: 0644]
src/lib/edje/edje_lua2.c [new file with mode: 0644]
src/lib/edje/edje_lua_script_only.c [new file with mode: 0644]
src/lib/edje/edje_main.c [new file with mode: 0644]
src/lib/edje/edje_match.c [new file with mode: 0644]
src/lib/edje/edje_message_queue.c [new file with mode: 0644]
src/lib/edje/edje_misc.c [new file with mode: 0644]
src/lib/edje/edje_module.c [new file with mode: 0644]
src/lib/edje/edje_multisense.c [new file with mode: 0644]
src/lib/edje/edje_private.h [new file with mode: 0644]
src/lib/edje/edje_program.c [new file with mode: 0644]
src/lib/edje/edje_script_only.c [new file with mode: 0644]
src/lib/edje/edje_smart.c [new file with mode: 0644]
src/lib/edje/edje_text.c [new file with mode: 0644]
src/lib/edje/edje_textblock_styles.c [new file with mode: 0644]
src/lib/edje/edje_util.c [new file with mode: 0644]
src/lib/edje/edje_var.c [new file with mode: 0644]
src/modules/edje/alsa_snd_player/alsa_snd_player.c [new file with mode: 0644]
src/modules/edje/eet_snd_reader/eet_snd_reader.c [new file with mode: 0644]
src/modules/edje/multisense_factory/multisense_factory.c [new file with mode: 0644]
src/tests/edje/edje_suite.c [new file with mode: 0644]
src/tests/edje/edje_suite.h [new file with mode: 0644]
src/tests/edje/edje_test_edje.c [new file with mode: 0644]

index ce6c93aeb64564e13f58b02b53abc323b4c69b31..ac56f410749a44d3734d379212d14cb494428f09 100644 (file)
@@ -100,7 +100,8 @@ pc/efreet.pc \
 pc/efreet-mime.pc \
 pc/efreet-trash.pc \
 pc/eeze.pc \
-pc/ephysics.pc
+pc/ephysics.pc \
+pc/edje.pc
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA =
@@ -132,7 +133,8 @@ pc/eio.pc \
 pc/edbus2.pc \
 pc/efreet.pc \
 pc/efreet-mime.pc \
-pc/efreet-trash.pc
+pc/efreet-trash.pc \
+pc/edje.pc
 
 if BUILD_ENGINE_SOFTWARE_X11
 pkgconfig_DATA += pc/evas-software-x11.pc
index fa5d5f0036b3e7007a955394f6d117d76a93c70e..0ef282228e29930d660615efb5d27afb9e9535ac 100644 (file)
@@ -3266,6 +3266,63 @@ EFL_LIB_END_OPTIONAL([EPhysics])
 #### End of EPhysics
 
 
+#### Edje
+EFL_LIB_START([Edje])
+
+### Additional options to configure
+
+### Default values
+want_multisense="no" # TODO: move to ecore_audio and enable
+want_edje_program_cache="no"
+want_edje_calc_cache="yes"
+want_fixed_point="no"
+
+### Checks for programs
+
+### Checks for libraries
+EFL_PLATFORM_DEPEND([EDJE], [evil])
+
+EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
+EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
+
+EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
+#EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
+
+EFL_CHECK_LUA_5_1([EDJE])
+EFL_ADD_LIBS([EDJE], [-lm])
+
+EFL_EVAL_PKGS([EDJE])
+
+AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
+AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
+  [1], [Use Multisense])
+AC_SUBST([want_multisense])
+
+### Checks for header files
+
+### Checks for types
+
+### Checks for structures
+
+### Checks for compiler characteristics
+
+### Checks for linker characteristics
+
+### Checks for library functions
+
+EFL_LIB_END([Edje])
+#### End of Edje
+
 AC_CONFIG_FILES([
 Makefile
 data/Makefile
@@ -3284,6 +3341,7 @@ src/examples/ecore/Makefile
 src/examples/eio/Makefile
 src/examples/edbus/Makefile
 src/examples/ephysics/Makefile
+src/examples/edje/Makefile
 src/lib/eina/eina_config.h
 src/lib/ecore_x/ecore_x_version.h
 spec/efl.spec
@@ -3331,6 +3389,7 @@ pc/efreet-mime.pc
 pc/efreet-trash.pc
 pc/eeze.pc
 pc/ephysics.pc
+pc/edje.pc
 dbus-services/org.enlightenment.Efreet.service
 $po_makefile_in
 ])
@@ -3537,6 +3596,7 @@ echo
 
 echo "Eeze...................: ${efl_lib_optional_eeze} (tizen: ${want_tizen})"
 echo "EPhysics...............: ${efl_lib_optional_ephysics}"
+echo "Edje...................: yes (physics=${efl_lib_optional_ephysics}, multisense=${want_multisense})"
 echo "Tests..................: ${build_tests}"
 
 echo "Examples...............: make examples"
index f2d475397aac625678b54e9270e018b7caba6c01..fc04b811c6c1d933f396c449f957cc6d6418bdf8 100644 (file)
@@ -1,12 +1,28 @@
 MAINTAINERCLEANFILES = Makefile.in
 
+EXTRA_DIST =
+
+########################################################################
+# Embryo
 embryofilesdir = $(datadir)/embryo/include
 embryofiles_DATA = embryo/default.inc
 
+########################################################################
+# Evas
 evasfilesdir = $(datadir)/evas
 evasfiles_DATA = evas/checkme
 
+########################################################################
+# Eo
 eofilesdir = $(datadir)/eo
 eofiles_DATA = eo/eo_step.py
 
-EXTRA_DIST = embryo/default.inc evas/checkme eo/eo_step.py
+########################################################################
+# Edje
+edjefilesdir = $(datadir)/edje/include
+edjefiles_DATA = edje/include/edje.inc
+
+mimedir = $(datadir)/mime/packages
+mime_DATA = edje/edje.xml
+
+EXTRA_DIST += edje/edc.vim edje/edje-mode.el
diff --git a/data/edje/edc.vim b/data/edje/edc.vim
new file mode 100644 (file)
index 0000000..6041dcf
--- /dev/null
@@ -0,0 +1,368 @@
+" Vim syntax file
+" Language:    EDC
+" Maintainer:  billiob <billiob@gmail.com>
+" Last Change: 05/08/2011
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+"
+" Usage:
+" 1) Copy this file to $HOME/.vim/syntax/
+" 2) Paste the following line to your $HOME/.vimrc file to load the syntax
+"    automatically:
+"
+"    au BufNewFile,BufRead *.edc set syntax=edc
+"
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" A bunch of useful C keywords
+syn keyword    cStructure      images data fonts collections group externals
+syn keyword    cStructure      part parts dragable description rel1 rel2
+syn keyword    cStatement      text image font fill origin size tag
+syn keyword    cStructure      programs program script script_only lua_script lua_script_only styles style base
+syn keyword    cStructure      spectra spectrum box
+syn keyword    cStructure      physics movement_freedom faces face world
+syn match      cType           "+ + +;" contained
+
+syn keyword    cLabel          item name min max type effect
+syn keyword    cLabel          mouse_events repeat_events clip_to
+syn keyword    cLabel          color_class text_class x y confine
+syn keyword    cLabel          state visible align step aspect aspect_preference fixed
+syn keyword    cLabel          relative offset to to_x to_y normal tween
+syn keyword    cLabel          border color color2 color3 font size fit align
+syn keyword    cLabel          signal source action transition in target after
+syn keyword    cLabel          text smooth inherit scale middle ignore_flags
+syn keyword    cLabel          alias events entry_mode select_mode multiline
+syn keyword    cLabel          source1 source2 source3 source4 source5 source6
+syn keyword    cLabel          text_source transitions layout padding
+syn keyword    cLabel          size_w size_h size_max_w size_max_h size_min_w size_min_w
+syn keyword    cLabel          spread scale_hint elipsis ellipsis pointer_mode prefer
+syn keyword    cLabel          precise_is_inside use_alternate_font_metrics options
+syn keyword    cLabel          aspect_mode position span angle repch api
+syn keyword    cLabel          external params size_range border_scale minmul
+
+syn keyword    cLabel          mass density material restitution friction
+syn keyword    cLabel          ignore_part_pos light_on damping sleep
+syn keyword    cLabel          physics_body hardness linear angular
+syn keyword    cLabel          backface_cull gravity rate z depth
+
+syn keyword    cConditional    if else switch
+syn keyword    cRepeat         while for do
+syn keyword    cConstant       COMP RAW LOSSY USER
+syn keyword    cConstant       RECT TEXT IMAGE SWALLOW TEXTBLOCK GRADIENT SPACER
+syn keyword    cConstant       GROUP BOX TABLE EXTERNAL ITEM
+syn keyword    cConstant       SOLID AUTOGRAB NOGRAB
+syn keyword    cConstant       NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW
+syn keyword    cConstant       SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW
+syn keyword    cConstant       FAR_SOFT_SHADOW FAR_SHADOW GLOW
+syn keyword    cConstant       STATE_SET ACTION_STOP SIGNAL_EMIT
+syn keyword    cConstant       SCRIPT LUA_SCRIPT
+syn keyword    cConstant       DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE
+syn keyword    cConstant       LINEAR SINUSOIDAL ACCELERATE DECELERATE
+syn keyword    cConstant       VERTICAL HORIZONTAL ON_HOLD BOTH EDITABLE EXPLICIT
+syn keyword    cConstant       FOCUS_SET "default" NEITHER
+syn keyword    cConstant       DYNAMIC STATIC PASSWORD
+
+syn keyword    cConstant       RIGID_BOX RIGID_SPHERE SOFT_BOX SOFT_SPHERE
+syn keyword    cConstant       RIGID_CYLINDER SOFT_CYLINDER
+syn keyword    cConstant       CLOTH BOUNDARY_TOP BOUNDARY_BOTTOM BOUNDARY_LEFT
+syn keyword    cConstant       BOUNDARY_RIGHT BOUNDARY_FRONT BOUNDARY_BACK
+syn keyword    cConstant       PHYSICS_IMPULSE PHYSICS_TORQUE_IMPULSE
+syn keyword    cConstant       PHYSICS_FORCE PHYSICS_TORQUE PHYSICS_STOP
+syn keyword    cConstant       PHYSICS_FORCES_CLEAR PHYSICS_VEL_SET
+syn keyword    cConstant       PHYSICS_ANG_VEL_SET BOX_MIDDLE_FRONT
+syn keyword    cConstant       BOX_MIDDLE_BACK BOX_FRONT BOX_BACK BOX_LEFT
+syn keyword    cConstant       BOX_RIGHT BOX_TOP BOX_BOTTOM
+syn keyword    cConstant       CYLINDER_MIDDLE_FRONT CYLINDER_MIDDLE_BACK
+syn keyword    cConstant       CYLINDER_FRONT CYLINDER_BACK CYLINDER_CURVED
+syn keyword    cConstant       CLOTH_FRONT CLOTH_BACK SPHERE_FRONT SPHERE_BACK
+
+syn keyword    cTodo           contained TODO FIXME XXX
+
+" cCommentGroup allows adding matches for special things in comments
+syn cluster    cCommentGroup   contains=cTodo
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match      cSpecial        display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
+if !exists("c_no_utf")
+  syn match    cSpecial        display contained "\\\(u\x\{4}\|U\x\{8}\)"
+endif
+if exists("c_no_cformat")
+  syn region   cString         start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial
+  " cCppString: same as cString, but ends at end of line
+  syn region   cCppString      start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial
+else
+  syn match    cFormat         display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
+  syn match    cFormat         display "%%" contained
+  syn region   cString         start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
+  " cCppString: same as cString, but ends at end of line
+  syn region   cCppString      start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat
+endif
+
+syn match      cCharacter      "L\='[^\\]'"
+syn match      cCharacter      "L'[^']*'" contains=cSpecial
+if exists("c_gnu")
+  syn match    cSpecialError   "L\='\\[^'\"?\\abefnrtv]'"
+  syn match    cSpecialCharacter "L\='\\['\"?\\abefnrtv]'"
+else
+  syn match    cSpecialError   "L\='\\[^'\"?\\abfnrtv]'"
+  syn match    cSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
+endif
+syn match      cSpecialCharacter display "L\='\\\o\{1,3}'"
+syn match      cSpecialCharacter display "'\\x\x\{1,2}'"
+syn match      cSpecialCharacter display "L'\\x\x\+'"
+
+"when wanted, highlight trailing white space
+if exists("c_space_errors")
+  if !exists("c_no_trail_space_error")
+    syn match  cSpaceError     display excludenl "\s\+$"
+  endif
+  if !exists("c_no_tab_space_error")
+    syn match  cSpaceError     display " \+\t"me=e-1
+  endif
+endif
+
+"catch errors caused by wrong parenthesis and brackets
+syn cluster    cParenGroup     contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cCommentSkip,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
+if exists("c_no_bracket_error")
+  syn region   cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString
+  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString
+  syn match    cParenError     display ")"
+  syn match    cErrInParen     display contained "[{}]"
+else
+  syn region   cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString
+  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
+  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString
+  syn match    cParenError     display "[\])]"
+  syn match    cErrInParen     display contained "[\]{}]"
+  syn region   cBracket        transparent start='\[' end=']' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString
+  " cCppBracket: same as cParen but ends at end-of-line; used in cDefine
+  syn region   cCppBracket     transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString
+  syn match    cErrInBracket   display contained "[);{}]"
+endif
+
+"integer number, or floating point number without a dot and with "f".
+syn case ignore
+syn match      cNumbers        display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
+" Same, but without octal error (for comments)
+syn match      cNumbersCom     display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
+syn match      cNumber         display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
+"hex number
+syn match      cNumber         display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
+" Flag the first zero of an octal number as something special
+syn match      cOctal          display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
+syn match      cOctalZero      display contained "\<0"
+syn match      cFloat          display contained "\d\+f"
+"floating point number, with dot, optional exponent
+syn match      cFloat          display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
+"floating point number, starting with a dot, optional exponent
+syn match      cFloat          display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, without dot, with exponent
+syn match      cFloat          display contained "\d\+e[-+]\=\d\+[fl]\=\>"
+" flag an octal number with wrong digits
+syn match      cOctalError     display contained "0\o*[89]\d*"
+syn case match
+
+if exists("c_comment_strings")
+  " A comment can contain cString, cCharacter and cNumber.
+  " But a "*/" inside a cString in a cComment DOES end the comment!  So we
+  " need to use a special type of cString: cCommentString, which also ends on
+  " "*/", and sees a "*" at the start of the line as comment again.
+  " Unfortunately this doesn't very well work for // type of comments :-(
+  syntax match cCommentSkip    contained "^\s*\*\($\|\s\+\)"
+  syntax region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
+  syntax region cComment2String        contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
+  syntax region  cCommentL     start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError
+  syntax region cComment       matchgroup=cCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError
+else
+  syn region   cCommentL       start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError
+  syn region   cComment        matchgroup=cCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError
+endif
+" keep a // comment separately, it terminates a preproc. conditional
+syntax match   cCommentError   display "\*/"
+syntax match   cCommentStartError display "/\*"me=e-1 contained
+
+syn keyword    cOperator       sizeof
+if exists("c_gnu")
+  syn keyword  cStatement      __asm__
+  syn keyword  cOperator       typeof __real__ __imag__
+endif
+syn keyword    cType           int long short char void
+syn keyword    cType           signed unsigned float double
+if !exists("c_no_ansi") || exists("c_ansi_typedefs")
+  syn keyword   cType          size_t wchar_t ptrdiff_t sig_atomic_t fpos_t
+  syn keyword   cType          clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t
+  syn keyword   cType          mbstate_t wctrans_t wint_t wctype_t
+endif
+if !exists("c_no_c99") " ISO C99
+  syn keyword  cType           bool complex
+  syn keyword  cType           int8_t int16_t int32_t int64_t
+  syn keyword  cType           uint8_t uint16_t uint32_t uint64_t
+  syn keyword  cType           int_least8_t int_least16_t int_least32_t int_least64_t
+  syn keyword  cType           uint_least8_t uint_least16_t uint_least32_t uint_least64_t
+  syn keyword  cType           int_fast8_t int_fast16_t int_fast32_t int_fast64_t
+  syn keyword  cType           uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
+  syn keyword  cType           intptr_t uintptr_t
+  syn keyword  cType           intmax_t uintmax_t
+endif
+if exists("c_gnu")
+  syn keyword  cType           __label__ __complex__ __volatile__
+endif
+
+syn keyword    cStructure      struct union enum typedef
+syn keyword    cStorageClass   static register auto volatile extern const
+if exists("c_gnu")
+  syn keyword  cStorageClass   inline __attribute__
+endif
+
+if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
+  if exists("c_gnu")
+    syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__
+  endif
+  syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__
+  syn keyword cConstant __STDC_VERSION__
+  syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
+  syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
+  syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
+  syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX
+  syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
+  syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
+  syn keyword cConstant FLT_RADIX FLT_ROUNDS
+  syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON
+  syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON
+  syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON
+  syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP
+  syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP
+  syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP
+  syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP
+  syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
+  syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP
+  syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL
+  syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
+  syn keyword cConstant LC_NUMERIC LC_TIME
+  syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN
+  syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
+  " Add POSIX signals as well...
+  syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP
+  syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
+  syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU
+  syn keyword cConstant SIGUSR1 SIGUSR2
+  syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF
+  syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam
+  syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
+  syn keyword cConstant TMP_MAX stderr stdin stdout
+  syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
+  " Add POSIX errors as well
+  syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
+  syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
+  syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR
+  syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV
+  syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS
+  syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM
+  syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV
+  " math.h
+  syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
+  syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
+endif
+if !exists("c_no_c99") " ISO C99
+  syn keyword cConstant true false
+endif
+
+syn region     cPreCondit      start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
+syn match      cPreCondit      display "^\s*#\s*\(else\|endif\)\>"
+if !exists("c_no_if0")
+  syn region   cCppOut         start="^\s*#\s*if\s\+0\+\>" end=".\|$" contains=cCppOut2
+  syn region   cCppOut2        contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
+  syn region   cCppSkip        contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=cSpaceError,cCppSkip
+endif
+syn region     cIncluded       display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match      cIncluded       display contained "<[^>]*>"
+syn match      cInclude        display "^\s*#\s*include\>\s*["<]" contains=cIncluded
+"syn match cLineSkip   "\\$"
+syn cluster    cPreProcGroup   contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
+syn region     cDefine         start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@cPreProcGroup
+syn region     cPreProc        start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup
+
+syn match      cUserLabel      display "\I\i*" contained
+
+
+
+if exists("c_minlines")
+  let b:c_minlines = c_minlines
+else
+  if !exists("c_no_if0")
+    let b:c_minlines = 50      " #if 0 constructs can be long
+  else
+    let b:c_minlines = 15      " mostly for () constructs
+  endif
+endif
+exec "syn sync ccomment cComment minlines=" . b:c_minlines
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_c_syn_inits")
+  if version < 508
+    let did_c_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink cFormat               cSpecial
+  HiLink cCppString            cString
+  HiLink cCommentL             cComment
+  HiLink cCommentStart         cComment
+  HiLink cLabel                        Label
+  HiLink cUserLabel            Label
+  HiLink cConditional          Conditional
+  HiLink cRepeat               Repeat
+  HiLink cCharacter            Character
+  HiLink cSpecialCharacter     cSpecial
+  HiLink cNumber               Number
+  HiLink cOctal                        Number
+  HiLink cOctalZero            PreProc  " link this to Error if you want
+  HiLink cFloat                        Float
+  HiLink cOctalError           cError
+  HiLink cParenError           cError
+  HiLink cErrInParen           cError
+  HiLink cErrInBracket         cError
+  HiLink cCommentError         cError
+  HiLink cCommentStartError    cError
+  HiLink cSpaceError           cError
+  HiLink cSpecialError         cError
+  HiLink cOperator             Operator
+  HiLink cStructure            Structure
+  HiLink cStorageClass         StorageClass
+  HiLink cInclude              Include
+  HiLink cPreProc              PreProc
+  HiLink cDefine               Macro
+  HiLink cIncluded             cString
+  HiLink cError                        Error
+  HiLink cStatement            Statement
+  HiLink cPreCondit            PreCondit
+  HiLink cType                 Type
+  HiLink cConstant             Constant
+  HiLink cCommentString                cString
+  HiLink cComment2String       cString
+  HiLink cCommentSkip          cComment
+  HiLink cString               String
+  HiLink cComment              Comment
+  HiLink cSpecial              SpecialChar
+  HiLink cTodo                 Todo
+  HiLink cCppSkip              cCppOut
+  HiLink cCppOut2              cCppOut
+  HiLink cCppOut               Comment
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "edc"
+
+" vim: ts=8
diff --git a/data/edje/edje-mode.el b/data/edje/edje-mode.el
new file mode 100644 (file)
index 0000000..33c6fe6
--- /dev/null
@@ -0,0 +1,512 @@
+;;; edje-mode-el -- Major mode for editing Edje files
+
+;; Author: Gustavo Sverzut Barbieri <barbieri@gmail.com>
+;; Created: 2007-07-23
+;; Keywords: Edje major-mode
+;; Url: http://barbieri-playground.googlecode.com/svn/dot-files/edje-mode.el
+;;      (if you find this file have problems, check that Url and request update)
+
+;; Copyright (C) 2007 Gustavo Sverzut Barbieri <barbieri@gmail.com>
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be
+;; useful, but WITHOUT ANY WARRANTY; without even the implied
+;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+;; PURPOSE.  See the GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public
+;; License along with this program; if not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+;; MA 02111-1307 USA
+
+;;; Commentary:
+;;
+;; This mode is based on tutorial from Scott Andrew Borton:
+;; http://two-wugs.net/emacs/mode-tutorial.html
+
+
+(defvar edje-mode-hook nil)
+
+(defun number-or-nil-to-string (v &optional default)
+  (cond ((numberp v) (number-to-string v))
+        ((stringp v) (if (string= v "") (number-to-string default) v))
+        (t           (number-to-string default))))
+
+(defun non-empty-string (s)
+  (and (not (eq 'nil s))
+       (not (string= "" s))))
+
+(defun edje-new-program-action-signal-emit (source emission)
+  "Insert new program SIGNAL_EMIT"
+  (interactive "ssource: \nsemission: ")
+  (insert
+   (concat
+    "               action: SIGNAL_EMIT \"" source "\" \"" emission "\";\n"
+    )))
+
+(defun edje-new-program-action-state-set (state value target)
+  "Insert new program STATE_SET"
+  (interactive "sstate: \nsvalue (0.0): \nstarget: ")
+  (insert
+   (concat
+    "               action: STATE_SET \"" state "\" "
+       (number-or-nil-to-string value 0.0) ";\n"
+    "               target: \"" target "\";\n"
+    )))
+
+(defun edje-new-program-action (action)
+  "Insert new program action"
+  (interactive "saction: ")
+  (setq action (upcase action))
+  (cond ((string= action "STATE_SET")
+         (edje-new-program-action-state-set "" 0.0 ""))
+        ((string= action "SIGNAL_EMIT")
+         (edje-new-program-action-signal-emit "" ""))
+        ))
+
+(defun edje-new-program (name signal source action)
+  "Insert new program block"
+  (interactive "sname: \nssignal: \nssource: \nsaction: ")
+  (insert
+   (concat
+    "\n"
+    "            program {\n"
+    "               name: \"" name "\";\n"
+
+    (if (non-empty-string signal)
+        (concat "               signal: \"" signal "\";\n"))
+
+    (if (non-empty-string source)
+        (concat "               source: \"" source "\";\n"))
+    ))
+
+  (edje-new-program-action action)
+
+  (insert
+   (concat
+    "            }\n"
+    "\n"
+    )))
+
+(defun edje-new-desc-relative (x y &optional defx defy)
+  "Insert new part description 'relative' line"
+  (interactive "sx: \nsy: ")
+  (insert
+   (concat
+    "                  relative: "
+    (number-or-nil-to-string x defx) " "
+    (number-or-nil-to-string y defy) ";\n"
+    )))
+
+(defun edje-new-desc-offset (x y &optional defx defy)
+  "Insert new part description 'offset' line"
+  (interactive "sx: \nsy: ")
+  (insert
+   (concat
+    "                  offset: "
+    (number-or-nil-to-string x defx) " "
+    (number-or-nil-to-string y defy) ";\n"
+    )))
+
+(defun edje-new-desc-inherit (name val)
+  "Insert new part description 'inherit' line"
+  (interactive "sname: \nsvalue: ")
+  (insert
+   (concat
+    "               inherit: \"" name "\" "
+    (number-or-nil-to-string val 0.0) ";\n"
+    )))
+
+(defun edje-new-desc-text (font size text)
+  "Insert new part description 'text' block"
+  (interactive "sfont: \nssize: \nstext: ")
+  (insert
+   (concat
+    "               text {\n"
+    "                  font: \"" font "\";\n"
+    "                  size: " (number-or-nil-to-string size) ";\n"
+    "                  text: \"" text "\";\n"
+    "               }\n"
+    )))
+
+(defun edje-new-desc-image (name)
+  "Insert new part description 'image' block"
+  (interactive "sname: ")
+  (insert
+   (concat
+    "               image {\n"
+    "                  normal: \"" name "\";\n"
+    "               }\n"
+    )))
+
+(defun edje-new-desc-color (r g b a &optional defr defg defb defa)
+  "Insert new part description 'color' line"
+  (interactive "sred: \nsgreen: \nsblue: \nsalpha: ")
+  (insert
+   (concat
+    "               color: "
+    (number-or-nil-to-string r defr) " "
+    (number-or-nil-to-string g defg) " "
+    (number-or-nil-to-string b defb) " "
+    (number-or-nil-to-string a defa) ";\n"
+    )))
+
+(defun edje-new-desc (name val &optional
+                           r1_rx r1_ry
+                           r2_rx r2_ry
+                           r1_ox r1_oy
+                           r2_ox r2_oy
+                           part_type)
+  "Insert new part description block"
+  (interactive "sName: \nsValue: ")
+  (insert
+   (concat
+    "            description {\n"
+    "               state: \"" name "\" " (number-or-nil-to-string val 0.0) ";\n"))
+  (if (string= part_type "RECT") (edje-new-desc-color 255 255 255 255))
+  (insert "               rel1 {\n")
+  (edje-new-desc-relative r1_rx r1_ry 0.0 0.0)
+  (edje-new-desc-offset r1_ox r1_oy 0 0)
+  (insert
+   (concat
+    "               }\n"
+    "               rel2 {\n"
+    ))
+  (edje-new-desc-relative r2_rx r2_ry 1.0 1.0)
+  (edje-new-desc-offset r2_ox r2_oy -1 -1)
+  (insert "               }\n")
+  (cond ((string= part_type "IMAGE") (edje-new-desc-image ""))
+        ((string= part_type "TEXT") (edje-new-desc-text "" 10 "contents"))
+        )
+  (insert "            }\n")
+  )
+
+(defun edje-new-part (name type &optional
+                           r1_rx r1_ry
+                           r2_rx r2_ry
+                           r1_ox r1_oy
+                           r2_ox r2_oy)
+  "Insert new part"
+  (interactive "sName: \nsType: ")
+  (setq type (upcase type))
+  (insert
+   (concat
+    "\n"
+    "         part {\n"
+    "            name: \"" name "\";\n"
+    "            type: " type ";\n"
+    "            mouse_events: 0;\n"
+    ))
+  (edje-new-desc "default" 0.0 r1_rx r1_ry r2_rx r2_ry r1_ox r1_oy r2_ox r2_oy type)
+  (insert
+   (concat
+    "         }\n"
+    )))
+
+(defun edje-setup-compile ()
+  (set (make-local-variable 'compile-command)
+       (concat "edje_cc " (buffer-file-name))
+  ))
+
+(defun edje-cc ()
+  "Runs edje_cc with current buffer."
+  (interactive)
+  (compile (edje-setup-compile)))
+
+(defvar edje-mode-map
+  (let ((edje-mode-map (make-sparse-keymap)))
+    (define-key edje-mode-map "\C-j" 'newline-and-indent)
+    (define-key edje-mode-map "\C-cp" 'edje-new-part)
+    (define-key edje-mode-map "\C-cd" 'edje-new-desc)
+    (define-key edje-mode-map "\C-cr" 'edje-new-desc-relative)
+    (define-key edje-mode-map "\C-co" 'edje-new-desc-offset)
+    (define-key edje-mode-map "\C-ch" 'edje-new-desc-inherit)
+    (define-key edje-mode-map "\C-cc" 'edje-new-desc-color)
+    (define-key edje-mode-map "\C-ci" 'edje-new-desc-image)
+    (define-key edje-mode-map "\C-ct" 'edje-new-desc-text)
+    (define-key edje-mode-map "\C-cg" 'edje-new-program)
+    (define-key edje-mode-map "\C-ca" 'edje-new-program-action)
+    (define-key edje-mode-map "\C-cs" 'edje-new-program-action-state-set)
+    (define-key edje-mode-map "\C-ce" 'edje-new-program-action-signal-emit)
+    edje-mode-map)
+  "Keymap for Edje major mode")
+
+(add-hook 'c-mode-hook 'edje-setup-compile)
+(add-to-list 'auto-mode-alist '("\\.edc$" . edje-mode))
+
+(defconst edje-font-lock-keywords-1
+  (eval-when-compile
+    (list
+     (list (concat "[ \t]*\\<"
+                   (regexp-opt
+                    '(
+                      "collections"
+                      "data"
+                      "description"
+                      "dragable"
+                      "fill"
+                      "fonts"
+                      "group"
+                      "image"
+                      "images"
+                      "origin"
+                      "part"
+                      "parts"
+                      "program"
+                      "programs"
+                      "rel1"
+                      "rel2"
+                      "script"
+                      "spectra"
+                      "style"
+                      "styles"
+                      "text"
+                      ) t) "\\>\\([ \t]*{\\|\\.\\)")
+           '(1 font-lock-function-name-face))
+
+     ))
+  "Major keywords")
+
+(defconst edje-font-lock-keywords-2
+  (eval-when-compile
+    (append edje-font-lock-keywords-1
+            (list
+             (list
+              (concat "^\\([ \t]*\\|[ \t]*[a-z]+\\.\\|\\)\\<"
+                      (regexp-opt
+                       '("action"
+                         "after"
+                         "alias"
+                         "align"
+                         "angle"
+                         "aspect"
+                         "aspect_preference"
+                         "base"
+                         "border"
+                         "clip_to"
+                         "collections"
+                         "color"
+                         "color2"
+                         "color3"
+                         "color_class"
+                         "color_classes"
+                         "confine"
+                         "data"
+                         "description"
+                         "dragable"
+                         "effect"
+                         "elipsis"
+                         "events"
+                         "fill"
+                         "fit"
+                         "fixed"
+                         "font"
+                         "fonts"
+                         "gradient"
+                         "group"
+                         "ignore_flags"
+                         "image"
+                         "images"
+                         "in"
+                         "inherit"
+                         "item"
+                         "max"
+                         "middle"
+                         "min"
+                         "mouse_events"
+                         "name"
+                         "normal"
+                         "offset"
+                         "origin"
+                         "part"
+                         "parts"
+                         "pointer_mode"
+                         "precise_is_inside"
+                         "program"
+                         "programs"
+                         "rel1"
+                         "rel2"
+                         "relative"
+                         "repeat_events"
+                         "signal"
+                         "size"
+                         "smooth"
+                         "source"
+                         "spectra"
+                         "spectrum"
+                         "spread"
+                         "state"
+                         "step"
+                         "style"
+                         "styles"
+                         "tag"
+                         "target"
+                         "text"
+                         "text_class"
+                         "text_source"
+                         "to"
+                         "to_x"
+                         "to_y"
+                         "transition"
+                         "tween"
+                         "type"
+                         "use_alternate_font_metrics"
+                         "visible"
+                         "x"
+                         "y"
+                         ) t) "\\>[ \t]*[:,]")
+              '(2 font-lock-keyword-face))
+             )))
+  "Minor keywords")
+
+(defconst edje-font-lock-keywords-3
+  (eval-when-compile
+    (append edje-font-lock-keywords-2
+            (list
+             (list
+              (concat "\\<"
+                      (regexp-opt
+                       '(; image options (st_images_image)
+                         "RAW"
+                         "COMP"
+                         "LOSSY"
+                         "USER"
+                         ; part types (st_collections_group_parts_part_type)
+                         "NONE"
+                         "RECT"
+                         "TEXT"
+                         "IMAGE"
+                         "SWALLOW"
+                         "TEXTBLOCK"
+                         "GRADIENT"
+                         "GROUP"
+                         ; ignore flags (st_collections_group_parts_part_ignore_flags)
+                         ;"NONE"
+                         "ON_HOLD"
+                         ; pointer mode (st_collections_group_parts_part_pointer_mode)
+                         "AUTOGRAB"
+                         "NOGRAB"
+                         ; aspect (st_collections_group_parts_part_description_aspect_preference)
+                         "NONE"
+                         "VERTICAL"
+                         "HORIZONTAL"
+                         "BOTH"
+                         ; text effect (st_collections_group_parts_part_effect)
+                         "NONE"
+                         "PLAIN"
+                         "OUTLINE"
+                         "SOFT_OUTLINE"
+                         "SHADOW"
+                         "SOFT_SHADOW"
+                         "OUTLINE_SHADOW"
+                         "OUTLINE_SOFT_SHADOW"
+                         "FAR_SHADOW"
+                         "FAR_SOFT_SHADOW"
+                         "GLOW"
+                         ; image fill (st_collections_group_parts_part_description_fill_type)
+                         "SCALE"
+                         "TILE"
+                         ; program action (st_collections_group_programs_program_action)
+                         "STATE_SET"
+                         "ACTION_STOP"
+                         "SIGNAL_EMIT"
+                         "DRAG_VAL_SET"
+                         "DRAG_VAL_STEP"
+                         "DRAG_VAL_PAGE"
+                         "SCRIPT"
+                         ; program transition (st_collections_group_programs_program_transition)
+                         "LINEAR"
+                         "SINUSOIDAL"
+                         "ACCELERATE"
+                         "DECELERATE"
+                         ) t) "\\>")
+              '(1 font-lock-builtin-face))
+             )))
+  "Enumerate values")
+
+(defconst edje-font-lock-keywords-4
+  (eval-when-compile
+    (append edje-font-lock-keywords-3
+            (list
+             (list
+              (concat "[ \t]*#"
+                      (regexp-opt
+                       '("if"
+                         "ifdef"
+                         "ifndef"
+                         "define"
+                         "else"
+                         "endif"
+                         "include"
+                         "undef") t) "[ \t]*")
+              '(1 font-lock-builtin-face))
+             )))
+  "CPP directives")
+
+(defconst edje-font-lock-keywords-5
+  (eval-when-compile
+    (append edje-font-lock-keywords-4
+            (list
+             (list "[ \t]*#undef[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
+                   '(1 font-lock-variable-name-face))
+             (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)("
+                   '(1 font-lock-function-name-face))
+             (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
+                   '(1 font-lock-variable-name-face))
+             )))
+  "CPP directives that define constants")
+
+
+(defvar edje-font-lock-keywords edje-font-lock-keywords-5)
+
+(defvar edje-mode-syntax-table
+  (let ((edje-mode-syntax-table (make-syntax-table)))
+    ; This is added so entity names with underscores can be more easily parsed
+    (modify-syntax-entry ?_ "w" edje-mode-syntax-table)
+    (modify-syntax-entry ?/ ". 124b" edje-mode-syntax-table)
+    (modify-syntax-entry ?* ". 23" edje-mode-syntax-table)
+    (modify-syntax-entry ?\n "> b" edje-mode-syntax-table)
+
+    edje-mode-syntax-table)
+  "Syntax table for edje-mode")
+
+(c-add-style
+ "edje"
+ '("gnu"
+   (indent-tabs-mode . nil)
+   (tab-width . 8)
+   (c-basic-offset . 3)
+   (c-backslash-column . 72)
+   (c-hanging-braces-alist  .
+                            ((block-open after)
+                             (brace-list-open after)
+                             (substatement-open after))
+                            )
+   (c-offsets-alist         .
+                            ((statement-block-intro . +)
+                             (defun-open            . 0)
+                             (substatement-open     . 0)
+                             (defun-block-intro     . +)
+                             (block-open            . 0)
+                             (label                 . +)
+                             ))))
+
+
+(define-derived-mode edje-mode c-mode "Edje"
+  "Major mode for editing Edje files"
+  (interactive)
+  (use-local-map edje-mode-map)
+  (set-syntax-table edje-mode-syntax-table)
+  (set (make-local-variable 'font-lock-defaults) '(edje-font-lock-keywords))
+  (set (make-local-variable 'require-final-newline) t)
+  (c-set-style "edje")
+  (run-hooks 'edje-mode-hook)
+  )
+
+(provide 'edje-mode)
+
+;;; edje-mode.el ends here
diff --git a/data/edje/edje.xml b/data/edje/edje.xml
new file mode 100644 (file)
index 0000000..eb299e7
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+       <mime-type type="text/edje">
+               <comment>Edje source file</comment>
+               <glob pattern="*.edc"/>
+       </mime-type>
+       <mime-type type="application/edje">
+               <comment>Edje file</comment>
+               <glob pattern="*.edj"/>
+       </mime-type>
+</mime-info>
diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
new file mode 100644 (file)
index 0000000..5fc9ec2
--- /dev/null
@@ -0,0 +1,272 @@
+/* Edje exported calls */
+
+/************************************************/
+/* Basic data storage/retrieval (it's explicit) */
+/************************************************/
+/* Example:
+ * 
+ * In the "global" script section of a group:
+ * 
+ * script {
+ *   public global_value1;
+ *   public global_value2;
+ *   public global_value3;
+ * }
+ * 
+ * In the program script sections, OR in any global functions/routines:
+ * ( several examples of setting/getting values)
+ * 
+ * set_int(global_value1, 7);
+ * set_float(global_value2, 42.0);
+ * set_str(global_value3, "I am a smelly fish!");
+ * new value1 = get_int(global_value1);
+ * new Float:value2 = get_float(global_value2);
+ * new value3[100]; get_str(global_value3, value3, 100);
+ * set_int(global_value1, value1);
+ * set_float(global_value2, value2);
+ * set_str(global_value3, value3);
+ */
+native       get_int   (id);
+native       set_int   (id, val);
+native Float:get_float (id);
+native       set_float (id, Float:val);
+native       get_strlen(id);
+native       get_str   (id, dst[], maxlen);
+native       set_str   (id, str[]);
+
+/********************/
+/* Edje list calls */
+/********************/
+native       count      (id);
+native       remove     (id, n);
+native       append_int (id, v);
+native       prepend_int(id, v);
+native       insert_int (id, pos, v);
+native       replace_int (id, pos, v);
+native       fetch_int  (id, pos);
+native       append_str (id, str[]);
+native       prepend_str(id, str[]);
+native       insert_str (id, pos, str[]);
+native       replace_str(id, pos, str[]);
+native       fetch_str  (id, pos, dst[], maxlen);
+native       append_float (id, Float:v);
+native       prepend_float(id, Float:v);
+native       insert_float (id, pos, Float:v);
+native       replace_float(id, pos, Float:v);
+native Float:fetch_float  (id, pos);
+
+/********************/
+/* Edje timer calls */
+/********************/
+native       timer       (Float:in, fname[], val);
+native       cancel_timer(id);
+
+/*******************/
+/* Edje anim calls */
+/*******************/
+native       anim       (Float:len, fname[], val);
+native       cancel_anim(id);
+
+/***********************************************************/
+/* Edje utility calls for dealing with edjes/programs etc. */
+/***********************************************************/
+/* Example:
+ * 
+ * emit("this_thing", "clicked");
+ * emit("state", "playing");
+ * 
+ * set_state(PART:"logo", "glowing", 0.0);
+ * set_state(PART:"button", "default", 0.0);
+ * 
+ * set_tween_state(PART:"button", 0.5, "default", 0.0, "clicked", 0.0);
+ * 
+ * run_program(PROGRAM:"program_name");
+ */
+native       emit             (sig[], src[]);
+native       get_part_id      (part[]);
+native       get_image_id      (image[]);
+native       get_program_id   (program[]);
+native       set_state        (part_id, state[], Float:state_val);
+native       get_state        (part_id, dst[], maxlen, &Float:val);
+native       set_tween_state  (part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val);
+native       run_program      (program_id);
+native       get_drag_dir     (part_id);
+native       get_drag         (part_id, &Float:dx, &Float:dy);
+native       set_drag         (part_id, Float:dx, Float:dy);
+native       get_drag_size    (part_id, &Float:dx, &Float:dy);
+native       set_drag_size    (part_id, Float:dx, Float:dy);
+native       get_drag_step    (part_id, &Float:dx, &Float:dy);
+native       set_drag_step    (part_id, Float:dx, Float:dy);
+native       get_drag_page    (part_id, &Float:dx, &Float:dy);
+native       set_drag_page    (part_id, Float:dx, Float:dy);
+native       set_text         (part_id, str[]);
+native       get_text         (part_id, dst[], maxlen);
+native       get_min_size     (&w, &h);
+native       get_max_size     (&w, &h);
+native       get_color_class  (class[], &r, &g, &b, &a);
+native       set_color_class  (class[], r, g, b, a);
+native       set_text_class   (class[], font[], Float:size);
+native       get_text_class   (class[], font[], &Float:size);
+native       get_geometry     (part_id, &x, &y, &w, &h);
+native       get_mouse        (&x, &y);
+native       get_mouse_buttons();
+native       stop_program     (program_id);
+native       stop_programs_on (part_id);
+native       set_min_size     (Float:w, Float:h);
+native       set_max_size     (Float:w, Float:h);
+native       part_swallow     (part_id, GROUP:str[]);
+
+native       external_param_get_int(id, param_name[]);
+native       external_param_set_int(id, param_name[], value);
+native Float:external_param_get_float(id, param_name[]);
+native       external_param_set_float(id, param_name[], Float:value);
+native       external_param_get_strlen(id, param_name[]);
+native       external_param_get_str(id, param_name[], value[], value_maxlen);
+native       external_param_set_str(id, param_name[], value[]);
+native       external_param_get_choice_len(id, param_name[]);
+native       external_param_get_choice(id, param_name[], value[], value_maxlen);
+native       external_param_set_choice(id, param_name[], value[]);
+native       external_param_get_bool(id, param_name[]);
+native       external_param_set_bool(id, param_name[], value);
+
+enum Msg_Type
+{
+   MSG_NONE = 0,
+     MSG_STRING = 2,
+     MSG_INT = 3,
+     MSG_FLOAT = 4,
+     MSG_STRING_SET = 5,
+     MSG_INT_SET = 6,
+     MSG_FLOAT_SET = 7,
+     MSG_STRING_INT = 8,
+     MSG_STRING_FLOAT = 9,
+     MSG_STRING_INT_SET = 10,
+     MSG_STRING_FLOAT_SET = 11
+};
+
+native send_message(Msg_Type:type, id, ...);
+
+/**********************/
+/* Custom state calls */
+/**********************/
+
+/* Example:
+ *
+ * Create the custom state for "my_part", based on the
+ * default description of the same part:
+ *
+ * custom_state(PART:"my_part", "default", 0.0);
+ *
+ * Later, use set_state_val() to change the properties of the custom
+ * state:
+ *
+ * set_state_val(PART:"my_part", STATE_ALIGNMENT, 0.5, 0.5);
+ *
+ * get_state_val() works the same way.
+ */
+
+native custom_state(part_id, state[], Float:state_val = 0.0);
+
+enum State_Param
+{
+       STATE_ALIGNMENT = 1,
+       STATE_MIN = 2,
+       STATE_MAX = 3,
+       STATE_STEP = 4,
+       STATE_ASPECT = 5,
+       STATE_ASPECT_PREF = 6,
+       STATE_COLOR = 7,
+       STATE_COLOR2 = 8,
+       STATE_COLOR3 = 9,
+       STATE_COLOR_CLASS = 10,
+       STATE_REL1 = 11,
+       STATE_REL1_TO = 12,
+       STATE_REL1_OFFSET = 13,
+       STATE_REL2 = 14,
+       STATE_REL2_TO = 15,
+       STATE_REL2_OFFSET = 16,
+       STATE_IMAGE = 17,
+       STATE_BORDER = 18,
+       STATE_FILL_SMOOTH = 19,
+       STATE_FILL_POS = 20,
+       STATE_FILL_SIZE = 21,
+       STATE_TEXT = 22,
+       STATE_TEXT_CLASS = 23,
+       STATE_TEXT_FONT = 24,
+       STATE_TEXT_STYLE = 25,
+       STATE_TEXT_SIZE = 26,
+       STATE_TEXT_FIT = 27,
+       STATE_TEXT_MIN = 28,
+       STATE_TEXT_MAX = 29,
+       STATE_TEXT_ALIGN = 30,
+       STATE_VISIBLE = 31,
+       STATE_MAP_ON = 32,
+       STATE_MAP_PERSP = 33,
+       STATE_MAP_LIGHT = 34,
+       STATE_MAP_ROT_CENTER = 35,
+       STATE_MAP_ROT_X = 36,
+       STATE_MAP_ROT_Y = 37,
+       STATE_MAP_ROT_Z = 38,
+       STATE_MAP_BACK_CULL = 39,
+       STATE_MAP_PERSP_ON = 40,
+       STATE_PERSP_ZPLANE = 41,
+       STATE_PERSP_FOCAL = 42,
+       STATE_PHYSICS_MASS = 43,
+       STATE_PHYSICS_FRICTION = 44,
+       STATE_PHYSICS_RESTITUTION = 45,
+       STATE_PHYSICS_DAMPING = 46,
+       STATE_PHYSICS_SLEEP = 47,
+       STATE_PHYSICS_MATERIAL = 48,
+       STATE_PHYSICS_DENSITY = 49,
+       STATE_PHYSICS_IGNORE_PART_POS = 50,
+       STATE_PHYSICS_LIGHT_ON = 51,
+       STATE_PHYSICS_HARDNESS = 52,
+       STATE_PHYSICS_MOV_FREEDOM_LIN = 53,
+       STATE_PHYSICS_MOV_FREEDOM_ANG = 54,
+       STATE_PHYSICS_BACK_CULL = 55,
+       STATE_PHYSICS_Z = 56,
+       STATE_PHYSICS_DEPTH = 57
+};
+
+native set_state_val(part_id, State_Param:p, ...);
+native get_state_val(part_id, State_Param:p, ...);
+
+/* Multisense */
+native       play_sample      (sample_name[], Float:speed);
+native       play_tone        (tone_name[], Float:duration);
+
+/***********************************************************/
+/* Edje physics calls.                                     */
+/***********************************************************/
+/* Example:
+ *
+ * physics_impulse(PART:"logo", 0, 50.8, 0);
+ * physics_torque_impulse(PART:"logo", 0, 0, 3.4);
+ *
+ * physics_force(PART:"logo", 0, 240, 0);
+ * physics_torque(PART:"logo", 0, 0, 2.2);
+ * physics_clear_forces(PART:"logo");
+ *
+ * physics_set_velocity(PART:"logo", 40.5, 0, 0);
+ * physics_set_ang_velocity(PART:"logo", 0, 0, -3);
+ * physics_stop(PART:"logo");
+ *
+ * physics_set_rotation(PART:"logo", 0.707, 0, 0, 0.707);
+ */
+native       physics_impulse          (part_id, Float:x, Float:y, Float:z);
+native       physics_torque_impulse   (part_id, Float:x, Float:y, Float:z);
+
+native       physics_torque           (part_id, Float:x, Float:y, Float:z);
+native       physics_get_torques      (part_id, &Float:x, &Float:y, &Float:z);
+native       physics_force            (part_id, Float:x, Float:y, Float:z);
+native       physics_get_forces       (part_id, &Float:x, &Float:y, &Float:z);
+native       physics_clear_forces     (part_id);
+
+native       physics_set_velocity     (part_id, Float:x, Float:y, Float:z);
+native       physics_get_velocity     (part_id, &Float:x, &Float:y, &Float:z);
+native       physics_set_ang_velocity (part_id, Float:x, Float:y, Float:z);
+native       physics_get_ang_velocity (part_id, &Float:x, &Float:y, &Float:z);
+native       physics_stop             (part_id);
+
+native       physics_set_rotation     (part_id, Float:w, Float:x, Float:y, Float:z);
+native       physics_get_rotation     (part_id, &Float:w, &Float:x, &Float:y, &Float:z);
diff --git a/data/edje/vim/autoload/edccomplete.vim b/data/edje/vim/autoload/edccomplete.vim
new file mode 100644 (file)
index 0000000..e2521e9
--- /dev/null
@@ -0,0 +1,892 @@
+" Vim completion script
+" Language:    EDC
+" Maintainer:  Viktor Kojouharov
+" Last Change: 2007 02 24
+
+function! edccomplete#Complete(findstart, base)
+  if a:findstart
+    " locate the start of the word
+    let line = getline('.')
+    let start = col('.') - 1
+    let compl_begin = col('.') - 2
+    let lastword = -1
+    if line =~ ':' && line !~ '\.'
+      while start > 0 && (line[start - 1] =~ '\k' || line[start - 1] =~ '"')
+       let start -= 1
+      endwhile
+    else
+      while start > 0
+       if line[start - 1] =~ '\k'
+         let start -= 1
+       elseif line[start - 1] =~ '\.'
+         if lastword == -1
+           let lastword = start - 2
+         endif
+         let start -= 1
+       else
+         break
+       endif
+      endwhile
+    endif
+    let b:compl_context = getline('.')[0:compl_begin]
+
+    if lastword == -1
+      let ppe = searchpos('\.', 'bcn')
+      let pps = searchpos('\w\+\.', 'bcn')
+      let b:sparent = ''
+      if ppe != [0, 0] && pps[0] == ppe[0] && pps[1] <= ppe[1] && pps[0] == line('.')
+       let b:scontext = line[pps[1] -1 : ppe[1] - 2]
+        call edccomplete#FindParent(pps[0], pps[1])
+       return start
+      endif
+
+      let startpos = searchpair('{', '', '}', 'bnW')
+      let lnum = startpos
+      let line = getline(lnum)
+
+      if line !~ '\a\+'
+        let lnum = prevnonblank(lnum - 1)
+       let line = getline(lnum)
+      endif
+
+      call edccomplete#FindParent(lnum, 1)
+      let b:scontext = matchstr(line, '\w\+')
+
+      return start
+    else
+      let b:scontext = line[start : lastword]
+
+      return lastword + 2
+    endif
+  else
+    " find months matching with "a:base"
+    let res = []
+    if exists("b:compl_context")
+      let line = b:compl_context
+      unlet! b:compl_context
+    else
+      let line = a:base
+    endif
+
+    if b:scontext == 'part'
+      call edccomplete#AddLabel(res, line, a:base, s:partLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:partStatement)
+      if line =~ 'type:\s*'
+        call edccomplete#AddKeyword(res, a:base, s:partTypes)
+      elseif line =~ 'effect:\s*'
+        call edccomplete#AddKeyword(res, a:base, s:partEffects)
+      elseif line =~ 'select_mode:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:partSelectMode)
+      elseif line =~ 'ignore_flags:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:partIgnoreFlags)
+      elseif line =~ 'pointer_mode:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:partPointerMode)
+      elseif line =~ 'editable_mode:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:partEditableMode)
+      endif
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'dragable'
+      call edccomplete#AddLabel(res, line, a:base, s:dragableLabel)
+
+    elseif b:scontext == 'description'
+      call edccomplete#AddLabel(res, line, a:base, s:descriptionLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:descriptionStatement)
+      if line =~ 'aspect_preference:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:aspectPrefTypes)
+      elseif line =~ 'inherit:\s*"\?'
+       call edccomplete#FindStates(res, a:base, 1)
+      endif
+
+    elseif b:scontext == 'rel1' || b:scontext == 'rel2'
+      call edccomplete#AddLabel(res, line, a:base, s:relLabel)
+      if line =~ 'to\%(_[xy]\)\?:\s*"\?'
+        call edccomplete#FindNamesIn(res, a:base, 'parts')
+      endif
+
+    elseif b:scontext == 'map'
+      call edccomplete#AddLabel(res, line, a:base, s:mapLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:mapStatement)
+
+    elseif b:scontext == 'rotation'
+      call edccomplete#AddLabel(res, line, a:base, s:rotationLabel)
+
+    elseif b:scontext == 'perspective'
+      call edccomplete#AddLabel(res, line, a:base, s:perspectiveLabel)
+
+    elseif b:scontext == 'params'
+      call edccomplete#AddLabel(res, line, a:base, s:paramsLabel)
+
+    elseif b:scontext == 'image'
+      call edccomplete#AddLabel(res, line, a:base, s:imageLabel)
+      if line =~ 'image:\s*".\{-}"'
+        call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      elseif line =~ 'middle:\s*'
+        call edccomplete#AddKeyword(res, a:base, s:imageMiddleTypes)
+      elseif line =~ 'scale_hint:\s*'
+        call edccomplete#AddKeyword(res, a:base, s:imageScaleHint)
+      endif
+
+    elseif b:scontext == 'fill'
+      call edccomplete#AddLabel(res, line, a:base, s:fillLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:fillStatement)
+      if line =~ 'type:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:fillTypes)
+      endif
+
+    elseif b:scontext == 'origin' || b:scontext == 'size'
+      call edccomplete#AddLabel(res, line, a:base, s:fillInnerStatement)
+
+    elseif b:scontext == 'text'
+      call edccomplete#AddLabel(res, line, a:base, s:textLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:textStatement)
+
+    elseif b:scontext == 'program'
+      call edccomplete#AddLabel(res, line, a:base, s:programLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:programStatement)
+      if line =~ 'transition:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:transitionTypes)
+      elseif line =~ 'STATE_SET\s*"\?'
+       call edccomplete#FindStates(res, a:base, 0)
+      elseif line =~ 'action:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:actionTypes)
+      elseif line =~ 'target:\s*"\?'
+       call edccomplete#FindNamesIn(res, a:base, 'parts')
+      elseif line =~ 'after:\s*"\?'
+       call edccomplete#FindNamesIn(res, a:base, 'programs')
+      endif
+
+    elseif b:scontext == 'programs'
+      call edccomplete#AddLabel(res, line, a:base, s:programsLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:programsStatement)
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'box' && b:sparent == 'part'
+      call edccomplete#AddStatement(res, line, a:base, s:boxStatement)
+
+    elseif b:scontext == 'items'
+      call edccomplete#AddStatement(res, line, a:base, s:boxItemsStatement)
+
+    elseif b:scontext == 'item'
+      call edccomplete#AddLabel(res, line, a:base, s:boxItemLabel)
+      if line =~ 'type:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:boxItemTypes)
+      elseif line =~ 'aspect_mode:\s*"\?'
+       call edccomplete#AddKeyword(res, a:base, s:boxItemAspectMode)
+      endif
+
+    elseif b:scontext == 'box' && b:sparent == 'description'
+      call edccomplete#AddLabel(res, line, a:base, s:boxDescLabel)
+      if line =~ 'layout:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:boxLayout)
+      endif
+
+    elseif b:scontext == 'table' && b:sparent == 'description'
+      call edccomplete#AddLabel(res, line, a:base, s:tableDescLabel)
+      if line =~ 'homogeneous:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:tableHomogeneousMode)
+      endif
+
+    elseif b:scontext == 'group'
+      call edccomplete#AddLabel(res, line, a:base, s:groupLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:groupStatement)
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'parts'
+      call edccomplete#AddLabel(res, line, a:base, s:partsLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:partsStatement)
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'data'
+      call edccomplete#AddLabel(res, line, a:base, s:dataLabel)
+
+    elseif b:scontext == 'fonts'
+      call edccomplete#AddLabel(res, line, a:base, s:fontsLabel)
+
+    elseif b:scontext == 'spectra'
+      call edccomplete#AddStatement(res, line, a:base, s:spectraStatement)
+
+    elseif b:scontext == 'spectrum'
+      call edccomplete#AddLabel(res, line, a:base, s:spectrumLabel)
+
+    elseif b:scontext == 'gradient'
+      call edccomplete#AddLabel(res, line, a:base, s:gradientLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:gradientStatement)
+      if line =~ 'type:\s*'
+       call edccomplete#AddKeyword(res, a:base, s:gradientTypes)
+      endif
+
+    elseif b:scontext == 'styles'
+      call edccomplete#AddStatement(res, line, a:base, s:stylesStatement)
+
+    elseif b:scontext == 'style'
+      call edccomplete#AddLabel(res, line, a:base, s:styleLabel)
+
+    elseif b:scontext == 'color_classes'
+      call edccomplete#AddStatement(res, line, a:base, s:color_classesStatement)
+
+    elseif b:scontext == 'color_class'
+      call edccomplete#AddLabel(res, line, a:base, s:color_classLabel)
+
+    elseif b:scontext == 'images'
+      call edccomplete#AddLabel(res, line, a:base, s:imagesLabel)
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'collections'
+      call edccomplete#AddLabel(res, line, a:base, s:collectionsLabel)
+      call edccomplete#AddStatement(res, line, a:base, s:collectionsStatement)
+      if line =~ 'image:\s*".\{-}"'
+       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
+      endif
+
+    elseif b:scontext == 'externals'
+      call edccomplete#AddLabel(res, line, a:base, s:externalsLabel)
+
+    elseif strlen(b:scontext) == 0
+      call edccomplete#AddStatement(res, line, a:base, s:topStatement)
+    endif
+
+    unlet! b:scontext
+
+    return res
+  endif
+endfunction
+
+function! edccomplete#AddLabel(res, line, base, label)
+  if a:line =~ ':'
+    return
+  endif
+
+  for m in sort(keys(a:label))
+    if m =~ '^' . a:base
+      call add(a:res, {'word': m . ':', 'menu': a:label[m]})
+    endif
+  endfor
+endfunction
+
+function! edccomplete#AddKeyword(res, base, label)
+  for m in sort(keys(a:label))
+    if m =~ '^' . a:base
+      call add(a:res, {'word': m, 'menu': a:label[m]})
+    endif
+  endfor
+endfunction
+
+function! edccomplete#AddStatement(res, line, base, statement)
+  if a:line =~ ':'
+    return
+  endif
+
+  for m in sort(a:statement)
+    if m =~ '^' . a:base
+      call add(a:res, m . ' {')
+    endif
+  endfor
+endfunction
+
+function! edccomplete#FindStates(res, base, in_part)
+  let curpos = getpos('.')
+  call remove(curpos, 0, 0)
+
+  let states_list = []
+  if a:in_part == 1    " in the current part only
+    let part_start = search('^[ \t}]*\<part\>[ \t{]*$', 'bnW')
+    if part_start != 0  " found it
+      let line = getline(part_start)
+      if line !~ '{'
+       let part_start = nextnonblank(part_start)
+      endif
+      call cursor(part_start, 0)
+      let part_end = searchpair('{', '', '}', 'nW')
+    endif
+  else                         " in the current parts group
+    let part_start = search('^[ \t}]*\<parts\>[ \t{]*$', 'bnW')
+    if part_start != 0  " found it
+      let line = getline(part_start)
+      if line !~ '{'
+       let part_start = nextnonblank(part_start)
+      endif
+      call cursor(part_start, 0)
+      let part_end = searchpair('{', '', '}', 'nW')
+    endif
+  endif
+
+  let state_num = search('\%(state:\s*\)"\w\+"', 'W', part_end)
+  while state_num
+    let state = matchstr(getline(state_num), '\%(state:\s*\)\@<="\w\+"')
+    call extend(states_list, [state])
+    let state_num = search('\%(state:\s*\)"\w\+"', 'W', part_end)
+  endwhile
+  call cursor(curpos)
+
+  for m in sort(states_list)
+    if m =~ '^' . a:base
+      call add(a:res, m)
+    endif
+  endfor
+endfunction
+
+function! edccomplete#FindNamesIn(res, base, str)
+  let curpos = getpos('.')
+  call remove(curpos, 0, 0)
+
+  let names_list = []
+  let part_start = search('^[ \t}]*\<' . a:str . '\>[ \t{]*$', 'bnW')
+  if part_start != 0  " found it
+    let line = getline(part_start)
+    if line !~ '{'
+      let part_start = nextnonblank(part_start)
+    endif
+    call cursor(part_start, 0)
+    let part_end = searchpair('{', '', '}', 'nW')
+  endif
+
+  let name_num = search('\%(name:\s*\)"\w\+"', 'W', part_end)
+  while name_num
+    let name = matchstr(getline(name_num), '\%(name:\s*\)\@<="\w\+"')
+    call extend(names_list, [name])
+    let name_num = search('\%(name:\s*\)"\w\+"', 'W', part_end)
+  endwhile
+  call cursor(curpos)
+
+  for m in sort(names_list)
+    if m =~ '^' . a:base
+      call add(a:res, m)
+    endif
+  endfor
+endfunction
+
+function! edccomplete#FindParent(lnum, cnum)
+  call setpos('.', [0, a:lnum, a:cnum, 0])
+  let ppe = searchpos('\.', 'bcn')
+  let pps = searchpos('\w\+\.', 'bcn')
+  if ppe != [0, 0] && pps[0] == ppe[0] && pps[1] <= ppe[1] && pps[0] == line('.')
+    let b:sparent = line[pps[1] -1 : ppe[1] - 2]
+    return
+  endif
+
+  let startpos = searchpair('{', '', '}', 'bnW')
+  let lnum = startpos
+  let line = getline(lnum)
+
+  if line !~ '\a\+'
+    let line = getline(prevnonblank(lnum - 1))
+  endif
+
+  let b:sparent = matchstr(line, '\w\+')
+endfunction
+
+" part
+let s:partLabel = {
+      \ 'name':                        '"name"',
+      \ 'type':                                'keyword',
+      \ 'effect':                      'keyword',
+      \ 'clip_to':                     '"part_name"',
+      \ 'scale':                       '0-1',
+      \ 'mouse_events':                        '0-1',
+      \ 'repeat_events':               '0-1',
+      \ 'ignore_flags':                        'keyword ...',
+      \ 'pointer_mode':                        'keyword',
+      \ 'select_mode':                 'keyword',
+      \ 'precise_is_inside':           '0-1',
+      \ 'use_alternate_font_metrics':  '0-1',
+      \ 'image':                       '"filename" keyword',
+      \ 'font':                                '"filename" "name"',
+      \ 'entry_mode':                  'keyword',
+      \ 'multiline':                   '0-1 (TEXTBLOCK only)',
+      \ 'source':                      '"group_name" (GROUP or TEXTBLOCK only)',
+      \ 'source2':                     '"group_name" (TEXTBLOCK only)',
+      \ 'source3':                     '"group_name" (TEXTBLOCK only)',
+      \ 'source4':                     '"group_name" (TEXTBLOCK only)',
+      \ 'source5':                     '"group_name" (TEXTBLOCK only)',
+      \ 'source6':                     '"group_name" (TEXTBLOCK only)',
+      \ }
+let s:partStatement = [
+      \ 'dragable',
+      \ 'images',
+      \ 'fonts',
+      \ 'description',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'program',
+      \ 'programs',
+      \ 'box',
+      \ ]
+
+" dragable
+let s:dragableLabel = {
+      \ 'x':           '0-1 int int',
+      \ 'y':           '0-1 int int',
+      \ 'confine':     '"part_name"',
+      \ 'events':      '"draggable_part_name"',
+      \ }
+
+" description
+let s:descriptionLabel = {
+      \ 'state':               '"name" index (float)',
+      \ 'inherit':             '"description" index (float)',
+      \ 'visible':             '0-1',
+      \ 'align':               'x y (float)',
+      \ 'fixed':               'width height (0-1)',
+      \ 'min':                 'width height (int)',
+      \ 'max':                 'width height (int)',
+      \ 'step':                        'width height (int)',
+      \ 'aspect':              'min max (float)',
+      \ 'aspect_preference':   'keyword',
+      \ 'color_class':         '"name"',
+      \ 'color':               '0-255 0-255 0-255 0-255',
+      \ 'color2':              '0-255 0-255 0-255 0-255',
+      \ 'color3':              '0-255 0-255 0-255 0-255',
+      \ 'font':                '"filename" "name"',
+      \ }
+let s:descriptionStatement = [
+      \ 'rel1',
+      \ 'rel2',
+      \ 'image',
+      \ 'fill',
+      \ 'text',
+      \ 'gradient',
+      \ 'images',
+      \ 'fonts',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'program',
+      \ 'programs',
+      \ 'box',
+      \ 'map',
+      \ ]
+
+" rel
+let s:relLabel = {
+      \ 'relative':    'x y (float)',
+      \ 'offset':      'x y (int)',
+      \ 'to':          '"part_name"',
+      \ 'to_x':                '"part_name"',
+      \ 'to_y':                '"part_name"',
+      \ }
+" map
+let s:mapLabel = {
+      \ 'on':          '0-1',
+      \ 'perspective': '"part_name"',
+      \ 'light':       '"part_name"',
+      \ 'smooth':      '0-1',
+      \ 'pespective_on':'0-1',
+      \ 'backface_cull':'0-1',
+      \ 'alpha':       '0-1',
+      \ }
+let s:mapStatement = [
+      \ 'rotation',
+      \ ]
+
+let s:rotationLabel = {
+      \ 'center':      '"part_name"',
+      \ 'x':           '"degrees (float)"',
+      \ 'y':           '"degrees (float)"',
+      \ 'z':           '"degrees (float)"',
+      \ }
+
+" params
+let s:paramsLabel = {
+      \ 'int':         '"name" int',
+      \ 'double':       '"name" double',
+      \ 'string':       '"name" "string"',
+      \ }
+
+" perspective
+let s:perspectiveLabel = {
+      \ 'zplane':      'int',
+      \ 'focal':        'int',
+      \ }
+
+
+" image
+let s:imageLabel = {
+      \ 'image':       '"filename" keyword',
+      \ 'normal':      '"filename"',
+      \ 'tween':       '"filename"',
+      \ 'border':      'left right top bottom (int)',
+      \ 'middle':      'keyword',
+      \ 'border_scale': '0-1',
+      \ 'scale_hint':  'keyword',
+      \ }
+
+" fill
+let s:fillLabel = {
+      \ 'smooth':      '0-1',
+      \ 'angle':       '0-360 (GRADIENT)',
+      \ 'spread':      '0-1',
+      \ 'type':                'keyword',
+      \ }
+let s:fillStatement = [
+      \ 'origin',
+      \ 'size',
+      \ ]
+" fill origin/size
+let s:fillInnerStatement = {
+      \ 'relative':    'width height (float)',
+      \ 'offset':      'x y (int)',
+      \ }
+" fill types
+let s:fillTypes = {
+      \ 'SCALE':    '',
+      \ 'TILE':            '',
+      \ }
+
+" text
+let s:textLabel = {
+      \ 'text':                '"string"',
+      \ 'font':                '"font_name"',
+      \ 'size':                'size (int)',
+      \ 'text_class':  '"class_name"',
+      \ 'fit':         'x y (0-1)',
+      \ 'min':         'x y (0-1)',
+      \ 'max':         'x y (0-1)',
+      \ 'align':       'x y (float)',
+      \ 'source':      '"part_name"',
+      \ 'text_source': '"text_part_name"',
+      \ 'style':       '"style_name"',
+      \ 'elipsis':     '0.0-1.0',
+      \ 'repch':       '"string" (PASSWORD mode)',
+      \ }
+let s:textStatement = [
+      \ 'fonts',
+      \ ]
+
+" program
+let s:programLabel = {
+      \ 'name':                '"name"',
+      \ 'signal':      '"signal_name"',
+      \ 'source':      '"part_name"',
+      \ 'action':      'keyword ...',
+      \ 'transition':  'keyword time (float)',
+      \ 'filter':      '"part_name" "state_name"',
+      \ 'in':          'from range (float)',
+      \ 'target':      '"part_name"',
+      \ 'after':       '"program_name"',
+      \ }
+let s:programStatement = [
+      \ 'script',
+      \ 'lua_script',
+      \ ]
+
+
+" programs
+let s:programsLabel = {
+      \ 'image':       '"filename" keyword',
+      \ 'font':                '"filename" "name"',
+      \ }
+let s:programsStatement = [
+      \ 'images',
+      \ 'fonts',
+      \ 'program',
+      \ ]
+
+" box and table
+let s:boxStatement = [
+      \ 'items',
+      \ ]
+let s:boxItemsStatement = [
+      \ 'item',
+      \ ]
+let s:boxItemLabel = {
+      \ 'type':                'keyword',
+      \ 'name':                '"name"',
+      \ 'source':      '"group_name"',
+      \ 'min':         'width height (int)',
+      \ 'prefer':      'width height (int)',
+      \ 'max':         'width height (int)',
+      \ 'padding':      'left right top bottom (int)',
+      \ 'align':       'x y (float)',
+      \ 'weight':      'x y (float)',
+      \ 'aspect':      'w h (float)',
+      \ 'aspect_mode':  'keyword',
+      \ 'options':      '"extra options"',
+      \ }
+let s:boxDescLabel = {
+      \ 'layout':       '"string" ["string"]',
+      \ 'align':       'float float',
+      \ 'padding':      'int int',
+      \ }
+let s:tableItemLabel = {
+      \ 'position':     'col row (int)',
+      \ 'span':                'col row (int)',
+      \ }
+let s:tableDescLabel = {
+      \ 'homogeneous': 'keyword',
+      \ 'align':       'float float',
+      \ 'padding':      'int int',
+      \ }
+
+" group
+let s:groupLabel = {
+      \ 'name':                '"name"',
+      \ 'alias':       '"alias"',
+      \ 'min':         'width height',
+      \ 'max':         'width height',
+      \ 'image':       '"filename" keyword',
+      \ 'font':                '"filename" "name"',
+      \ 'script_only': '0-1',
+      \ }
+let s:groupStatement = [
+      \ 'data',
+      \ 'script',
+      \ 'lua_script',
+      \ 'parts',
+      \ 'images',
+      \ 'fonts',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'program',
+      \ 'programs',
+      \ 'externals',
+      \ ]
+
+" parts
+let s:partsStatement = [
+      \ 'images',
+      \ 'fonts',
+      \ 'part',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'program',
+      \ 'programs',
+      \ ]
+let s:partsLabel = {
+      \ 'image':       '"filename" keyword',
+      \ 'font':                '"filename" "name"',
+      \ }
+
+" data
+let s:dataLabel = {
+      \ 'item':                '"key" "value"',
+      \ 'file':                '"key" "filename"',
+      \ }
+
+" fonts
+let s:fontsLabel = {
+      \ 'font':                '"filename" "name"',
+      \ }
+
+"images
+let s:imagesLabel = {
+      \ 'image':       '"filename" keyword',
+      \ }
+
+"collections
+let s:collectionsStatement = [
+      \ 'group',
+      \ 'images',
+      \ 'fonts',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'externals',
+      \ ]
+let s:collectionsLabel = {
+      \ 'image':       '"filename" keyword',
+      \ 'font':                '"filename" "name"',
+      \ }
+
+" externals
+let s:externalsLabel = {
+      \ 'external':            '"name"',
+      \ }
+
+" spectra
+let s:spectraStatement = [
+      \ 'spectrum',
+      \ ]
+" spectrum
+let s:spectrumLabel = {
+      \ 'name':                '"name"',
+      \ 'color':       '0-255 0-255 0-255 0-255',
+      \ }
+" gradient
+let s:gradientLabel = {
+      \ 'type':                '"keyword"',
+      \ 'spectrum':    '"spectrum_name"',
+      \ }
+let s:gradientStatement = [
+      \ 'rel1',
+      \ 'rel2',
+      \ ]
+" gradient types
+let s:gradientTypes = {
+      \ '"linear"':            '',
+      \ '"radial"':            '',
+      \ '"rectangular"':       '',
+      \ '"angular"':           '',
+      \ '"sinusoidal"':                '',
+      \ }
+
+" styles
+let s:stylesStatement = [
+      \ 'style',
+      \ ]
+" style
+let s:styleLabel = {
+      \ 'name':                '"name"',
+      \ 'base':        '".. default style properties .."',
+      \ 'tag':                 '"tagname" "style properties"',
+      \ }
+
+" color_classes
+let s:color_classesStatement = [
+      \ 'color_class',
+      \ ]
+" color_class
+let s:color_classLabel = {
+      \ 'name':                '"name"',
+      \ 'color':       '0-255 0-255 0-255 0-255',
+      \ 'color2':      '0-255 0-255 0-255 0-255',
+      \ 'color3':      '0-255 0-255 0-255 0-255',
+      \ }
+
+" toplevel
+let s:topStatement = [
+      \ 'fonts',
+      \ 'images',
+      \ 'data',
+      \ 'collections',
+      \ 'spectra',
+      \ 'styles',
+      \ 'color_classes',
+      \ 'externals',
+      \ ]
+
+" images image storage method
+let s:imageStorageMethod = {
+      \ 'COMP':                '',
+      \ 'RAW':         '',
+      \ 'USER':                '',
+      \ 'LOSSY':       '0-100',
+      \ }
+" image middle types
+let s:imageMiddleTypes = {
+      \ '0':           '',
+      \ '1':           '',
+      \ 'NONE':                '',
+      \ 'DEFAULT':     '',
+      \ 'SOLID':       '',
+      \ }
+" image scale hint
+let s:imageScaleHint = {
+      \ '0':           '',
+      \ 'NONE':                '',
+      \ 'DYNAMIC':     '',
+      \ 'STATIC':      '',
+      \ }
+
+" part types
+let s:partTypes = {
+      \ 'TEXT':                '',
+      \ 'IMAGE':       '',
+      \ 'RECT':                '',
+      \ 'TEXTBLOCK':   '',
+      \ 'SWALLOW':     '',
+      \ 'GRADIENT':    '',
+      \ 'GROUP':       '',
+      \ 'BOX':         '',
+      \ 'TABLE':        '',
+      \ 'EXTERNAL':     '',
+      \ }
+" part effects
+let s:partEffects = {
+      \ 'NONE':                        '',
+      \ 'PLAIN':               '',
+      \ 'OUTLINE':             '',
+      \ 'SOFT_OUTLINE':                '',
+      \ 'SHADOW':              '',
+      \ 'SOFT_SHADOW':         '',
+      \ 'OUTLINE_SHADOW':      '',
+      \ 'OUTLINE_SOFT_SHADOW': '',
+      \ 'FAR_SHADOW':  '',
+      \ 'FAR_SOFT_SHADOW':     '',
+      \ 'GLOW':        '',
+      \ }
+" part select_mode
+let s:partSelectMode = {
+      \ 'DEFAULT':             '',
+      \ 'EXPLICIT':            '',
+      \ }
+" part ignore flags 
+let s:partIgnoreFlags = {
+      \ 'NONE':                '',
+      \ 'ON_HOLD':     '',
+      \ }
+" part pointer mode
+let s:partPointerMode = {
+      \ 'AUTOGRAB':     '',
+      \ 'NOGRAB':      '',
+      \ }
+" part editable_mode
+let s:partEditableMode = {
+      \ 'NONE':                '',
+      \ 'PLAIN':       '',
+      \ 'EDITABLE':    '',
+      \ 'PASSWORD':    '',
+      \ }
+
+" aspect_preference types
+let s:aspectPrefTypes = {
+      \ 'VERTICAL':    '',
+      \ 'HORIZONTAL':  '',
+      \ 'BOTH':                '',
+      \        }
+
+" program transition types
+let s:transitionTypes = {
+      \ 'LINEAR':      '0.0 - 1.0',
+      \ 'SINUSOIDAL':  '0.0 - 1.0',
+      \ 'ACCELERATE':  '0.0 - 1.0',
+      \ 'DECELERATE':  '0.0 - 1.0',
+      \ }
+" program action types
+let s:actionTypes = {
+      \ 'STATE_SET':           '"string" "0.0 - 1.0"',
+      \ 'ACTION_STOP':         '',
+      \ 'SIGNAL_EMIT':         '"string" "string"',
+      \ 'DRAG_VAL_SET':                'float float',
+      \ 'DRAG_VAL_STEP':       'float float',
+      \ 'DRAG_VAL_PAGE':       'float float',
+      \ 'FOCUS_SET':           '',
+      \ }
+" box item types
+let s:boxItemTypes = {
+      \ 'GROUP':       '',
+      \ }
+" box item aspect mode
+let s:boxItemAspectMode = {
+      \ 'NONE':                '',
+      \ 'NEITHER':     '',
+      \ 'VERTICAL':    '',
+      \ 'HORIZONTAL':  '',
+      \ 'BOTH':                '',
+      \        }
+" box layout
+let s:boxLayout = {
+      \ '"horizontal"':                '',
+      \ '"horizontal_homogeneous"':    '',
+      \ '"horizontal_max"':    '',
+      \ '"horizontal_flow"':   '',
+      \ '"vertical"':          '',
+      \ '"vertical_homogeneous"':      '',
+      \ '"vertical_max"':      '',
+      \ '"vertical_flow"':     '',
+      \ '"stack"':             '',
+      \        }
+" table homogeneous mode
+let s:tableHomogeneousMode = {
+      \ 'NONE':                '',
+      \ 'TABLE':       '',
+      \ 'ITEM':                '',
+      \        }
diff --git a/data/edje/vim/ftdetect/edc.vim b/data/edje/vim/ftdetect/edc.vim
new file mode 100644 (file)
index 0000000..d8cc228
--- /dev/null
@@ -0,0 +1,3 @@
+au BufRead,BufNewFile *.edc    set filetype=edc
+au BufRead,BufNewFile *.sma    set filetype=embryo
+au BufRead,BufNewFile *.embryo set filetype=embryo
diff --git a/data/edje/vim/ftplugin/edc.vim b/data/edje/vim/ftplugin/edc.vim
new file mode 100644 (file)
index 0000000..5a90a56
--- /dev/null
@@ -0,0 +1,23 @@
+" Vim filetype plugin file
+" Language:         EDC
+" Maintainer:       Viktor Kojouharov
+" Latest Revision:  2006-10-29
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< inc< fo< efm< mp<"
+
+setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
+setlocal commentstring=/*%s*/
+setlocal formatoptions-=t formatoptions+=croql
+setlocal include=^\s*#\s*include
+setlocal efm=edje_cc:%s.\ %f:%l\ %m
+setlocal mp=edje_cc\ %
+
+if exists('&ofu')
+  setlocal ofu=edccomplete#Complete
+  setlocal cfu=edccomplete#Complete
+endif
diff --git a/data/edje/vim/indent/edc.vim b/data/edje/vim/indent/edc.vim
new file mode 100644 (file)
index 0000000..498be4a
--- /dev/null
@@ -0,0 +1,83 @@
+" Vim indent file
+" Language:         EDC
+" Maintainer:       Viktor Kojouharov
+" Latest Revision:  2007 02 24
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetEDCIndent()
+setlocal indentkeys=0{,0},!^F,o,O
+
+if exists("*GetEDCIndent")
+  finish
+endif
+
+function s:prevnonblanknoncomment(lnum)
+  let lnum = a:lnum
+  while lnum > 1
+    let lnum = prevnonblank(lnum)
+    let line = getline(lnum)
+    if line =~ '\*/'
+      while lnum > 1 && line !~ '/\*'
+       let lnum -= 1
+      endwhile
+      if line =~ '^\s*/\*'
+       let lnum -= 1
+      else
+       break
+      endif
+    elseif line =~ '^\s*//'
+      let lnum -= 1
+    else
+      break
+    endif
+  endwhile
+  return lnum
+endfunction
+
+function s:count_braces(lnum, count_open)
+  let n_open = 0
+  let n_close = 0
+  let line = getline(a:lnum)
+  let pattern = '[{}]'
+  let i = match(line, pattern)
+  while i != -1
+    if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'c\%(CommentL\|Comment\|StringQ\{1,2}\)'
+      if line[i] == '{'
+       let n_open += 1
+      elseif line[i] == '}'
+       if n_open > 0
+         let n_open -= 1
+       else
+         let n_close += 1
+       endif
+      endif
+    endif
+    let i = match(line, pattern, i + 1)
+  endwhile
+  return a:count_open ? n_open : n_close
+endfunction
+
+function GetEDCIndent()
+  let line = getline(v:lnum)
+  if line =~ '^\s*\*' || line =~ '^\s*//' || line =~ '^\s*}'
+    return cindent(v:lnum)
+  endif
+
+  let pnum = s:prevnonblanknoncomment(v:lnum - 1)
+  if pnum == 0
+    return 0
+  endif
+
+  let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
+
+  let pline = getline(pnum)
+  if pline =~ '}\s*$'
+    let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
+  endif
+
+  return ind
+endfunction
diff --git a/data/edje/vim/plugin-info.txt b/data/edje/vim/plugin-info.txt
new file mode 100644 (file)
index 0000000..e01cb42
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "name" : "edje",
+  "version" : "dev",
+  "author" : "viktor kojouharov <vkojouharov at gmail.com>",
+  "repository" : {"type": "svn", "url": "http://svn.enlightenment.org/svn/e/trunk/edje/data/vim/"},
+  "dependencies" : {},
+  "description" : "Edje vim support addon"
+}
diff --git a/data/edje/vim/snippets/edc.snippets b/data/edje/vim/snippets/edc.snippets
new file mode 100644 (file)
index 0000000..bb93e42
--- /dev/null
@@ -0,0 +1,99 @@
+snippet col
+       collections {
+               ${1}
+       }
+
+snippet images
+       images {
+               ${1}
+       }
+
+snippet image
+       image: "${1:.png}" COMP;
+
+snippet group
+       group { name: "${1}";
+               ${2}
+               parts {
+                       ${3}
+               }
+       }
+
+snippet part
+       part { name: "${1}";
+               type: ${2:RECT};
+               mouse_events: 0;
+               description { state: "default" 0.0;
+                       visible: 1;
+                       color: 255 255 255 255;
+                       rel1 {
+                               to_x: "${2:bg}";
+                               to_y: "${3:bg}";
+                               relative: 0.0 0.0;
+                               offset: 0 0;
+                       }
+                       rel2 {
+                               to_x: "${4:bg}";
+                               to_y: "${5:bg}";
+                               relative: 1.0 1.0;
+                               offset: -1 -1;
+                       }
+               }
+       }
+
+snippet bg
+       part { name: "${1:bg}";
+               type: RECT;
+               mouse_events: 0;
+               description { state: "default" 0.0;
+                       visible: 1;
+                       color: 0 0 0 0;
+               }
+       }
+
+snippet event
+       part { name: "${1:event}";
+               type: RECT;
+               mouse_events: 1;
+               description { state: "default" 0.0;
+                       visible: 1;
+                       color: 0 0 0 0;
+               }
+       }
+
+snippet IMAGE
+       part { name: "${1:image}";
+               type: IMAGE;
+               mouse_events: 0;
+               description { state: "default" 0.0;
+                       visible: 1;
+                       image {
+                               normal: "${2}";
+                               border: 0 0 0 0;
+                               middle: 1;
+                       }
+               }
+       }
+
+snippet desc
+       description { state: "${1}" ${2:0.0};
+               inherit: "default" 0.0;
+               ${3}
+       }
+
+snippet programs
+       programs {
+               ${1}
+       }
+
+snippet program
+       program { name: "${1}";
+               ${2}
+       }
+
+snippet clicked
+       program { name: "${1:mouse_clicked}";
+               signal: "mouse,clicked,${2:1}";
+               source: "${2:event}";
+               action: SIGNAL_EMIT "${3}" "${4}";
+       }
diff --git a/data/edje/vim/syntax/edc.vim b/data/edje/vim/syntax/edc.vim
new file mode 100644 (file)
index 0000000..e21c018
--- /dev/null
@@ -0,0 +1,235 @@
+" Vim syntax file
+" Language:    EDC
+" Maintainer:  Viktor Kojouharov
+" Last Change: 2007 02 24
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" A bunch of useful keywords
+syn keyword    edcBlock        images data fonts collections group contained
+syn keyword    edcBlock        part parts dragable description contained
+syn keyword    edcBlock        text font fill origin size image contained
+syn keyword    edcBlock        programs program styles style contained
+syn keyword    edcBlock        gradient spectra spectrum contained
+syn keyword    edcBlock        color_classes color_class rel1 rel2 contained
+syn keyword    edcBlock        items item file params externals contained
+syn keyword    edcBlock        map rotation perspective script lua_script contained
+
+syn keyword    edcLabel        item name alias min max type effect contained
+syn keyword    edcLabel        mouse_events repeat_events clip_to contained
+syn keyword    edcLabel        x y z confine events scale contained
+syn keyword    edcLabel        ignore_flags precise_is_inside contained
+syn keyword    edcLabel        use_alternate_font_metrics entry_mode contained
+syn keyword    edcLabel        source source2 source3 source4 contained
+syn keyword    edcLabel        source5 source6 multiline pointer_mode contained
+syn keyword    edcLabel        state visible step aspect fixed middle contained
+syn keyword    edcLabel        aspect_preference ellipsis elipsis image contained
+syn keyword    edcLabel        relative offset to to_x to_y contained
+syn keyword    edcLabel        border border_scale scale_hint color color2 color3 font size contained
+syn keyword    edcLabel        signal action transition in filter contained
+syn keyword    edcLabel        target after fit align contained
+syn keyword    edcLabel        text smooth inherit tag base style contained
+syn keyword    edcLabel        text_source color_class text_class contained
+syn keyword    edcLabel        spectrum angle spread normal tween contained
+syn keyword    edcLabel        padding prefer weight aspect_mode contained
+syn keyword    edcLabel        options layout position span contained
+syn keyword    edcLabel        homogeneous contained
+syn keyword    edcLabel        on perspective light perspective_on contained
+syn keyword    edcLabel        backface_cull alpha center focus zplane contained
+syn keyword    edcLabel        int double string external script_only contained
+
+syn keyword    edcConstant     COMP RAW LOSSY NONE ON_HOLD AUTOGRAB NOGRAB
+syn keyword    edcConstant     TEXT IMAGE RECT TEXTBLOCK SWALLOW GRADIENT GROUP
+syn keyword    edcConstant     NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW
+syn keyword    edcConstant     SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW
+syn keyword    edcConstant     GLOW FAR_SHADOW FAR_SOFT_SHADOW
+syn keyword    edcConstant     STATE_SET ACTION_STOP SIGNAL_EMIT FOCUS_SET
+syn keyword    edcConstant     DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE
+syn keyword    edcConstant     LINEAR SINUSOIDAL ACCELERATE DECELERATE
+syn keyword    edcConstant     VERTICAL HORIZONTAL BOTH BOX TABLE
+syn keyword    edcConstant     EDITABLE PASSWORD "default"
+
+syn keyword    edcTodo         contained TODO FIXME XXX
+
+syn match      edcLabelMatch   "\w\+:" contains=edcLabel
+syn match      edcBlockMatch   "\w\+\_s*{" contains=edcBlock
+syn match      edcBlockMatch   "\w\+\.\a"me=e-2 contains=edcBlock
+" edcCommentGroup allows adding matches for special things in comments
+syn cluster    edcCommentGroup contains=edcTodo
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match      edcSpecial      display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
+syn region     edcString       start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=edcSpecial
+syn match      edcFormat       display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
+syn match      edcFormat       display "%%" contained
+syn region     edcString       start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
+
+syn match      edcCharacter    "L\='[^\\]'"
+syn match      edcCharacter    "L'[^']*'" contains=edcSpecial
+syn match      edcSpecialError "L\='\\[^'\"?\\abfnrtv]'"
+syn match      edcSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
+syn match      edcSpecialCharacter display "L\='\\\o\{1,3}'"
+syn match      edcSpecialCharacter display "'\\x\x\{1,2}'"
+syn match      edcSpecialCharacter display "L'\\x\x\+'"
+
+"when wanted, highlight trailing white space
+if exists("edc_space_errors")
+  if !exists("edc_no_trail_space_error")
+    syn match  edcSpaceError   display excludenl "\s\+$"
+  endif
+  if !exists("edc_no_tab_space_error")
+    syn match  edcSpaceError   display " \+\t"me=e-1
+  endif
+endif
+
+"catch errors caused by wrong parenthesis and brackets
+syn cluster    edcParenGroup   contains=edcParenError,edcIncluded,edcSpecial,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcUserCont,edcUserLabel,edcBitField,edcCommentSkip,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom
+if exists("edc_no_bracket_error")
+  syn region   edcParen        transparent start='(' end=')' contains=ALLBUT,@edcParenGroup
+  syn match    edcParenError   display ")"
+  syn match    edcErrInParen   display contained "[{}]"
+else
+  syn region   edcParen        transparent start='(' end=')' contains=ALLBUT,@edcParenGroup,edcErrInBracket
+  syn match    edcParenError   display "[\])]"
+  syn match    edcErrInParen   display contained "[\]{}]"
+  syn region   edcBracket      transparent start='\[' end=']' contains=ALLBUT,@edcParenGroup,edcErrInParen
+  syn match    edcErrInBracket display contained "[);{}]"
+endif
+
+"integer number, or floating point number without a dot and with "f".
+syn case ignore
+syn match      edcNumbers      display transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctalError,edcOctal
+" Same, but without octal error (for comments)
+syn match      edcNumbersCom   display contained transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctal
+syn match      edcNumber       display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
+"hex number
+syn match      edcNumber       display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
+" Flag the first zero of an octal number as something special
+syn match      edcOctal        display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=edcOctalZero
+syn match      edcOctalZero    display contained "\<0"
+syn match      edcFloat        display contained "\d\+f"
+"floating point number, with dot, optional exponent
+syn match      edcFloat        display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
+"floating point number, starting with a dot, optional exponent
+syn match      edcFloat        display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, without dot, with exponent
+syn match      edcFloat        display contained "\d\+e[-+]\=\d\+[fl]\=\>"
+" flag an octal number with wrong digits
+syn match      edcOctalError   display contained "0\o*[89]\d*"
+syn case match
+
+if exists("edc_comment_strings")
+  " A comment can contain edcString, edcCharacter and edcNumber.
+  " But a "*/" inside a edcString in a edcComment DOES end the comment!  So we
+  " need to use a special type of edcString: edcCommentString, which also ends
+  " on "*/", and sees a "*" at the start of the line as comment again.
+  " Unfortunately this doesn't very well work for // type of comments :-(
+  syntax match edcCommentSkip          contained "^\s*\*\($\|\s\+\)"
+  syntax region edcCommentString       contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=edcSpecial,edcCommentSkip
+  syntax region edcComment2String      contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=edcSpecial
+  syntax region edcCommentL            start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcComment2String,edcCharacter,edcNumbersCom,edcSpaceError
+  syntax region edcComment             matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcCommentString,edcCharacter,edcNumbersCom,edcSpaceError
+else
+  syn region   edcCommentL             start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcSpaceError
+  syn region   edcComment              matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcSpaceError
+endif
+" keep a // comment separately, it terminates a preproc. conditional
+syntax match   edcCommentError         display "\*/"
+syntax match   edcCommentStartError    display "/\*"me=e-1 contained
+
+syn region     edcPreCondit    start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=edcComment,edcCharacter,edcParenError,edcNumbers,edcCommentError,edcSpaceError
+syn match      edcPreCondit    display "^\s*#\s*\(else\|endif\)\>"
+syn region     edcIncluded     display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match      edcIncluded     display contained "<[^>]*>"
+syn match      edcInclude      display "^\s*#\s*include\>\s*["<]" contains=edcIncluded
+syn cluster    edcPreProcGroup contains=edcPreCondit,edcIncluded,edcInclude,edcDefine,edcErrInParen,edcErrInBracket,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcParen,edcBracket,edcMulti,edcUserLabel
+syn cluster    edcAlphaNum     contains=edcSpecial,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom,edcString
+syn region     edcDefine       start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@edcPreProcGroup
+syn region     edcPreProc      start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@edcPreProcGroup
+
+syn match      edcUserLabel    display "\I\i*" contained
+
+syn include    @edcEmbryo      syntax/embryo.vim
+unlet b:current_syntax
+syn region     edcScript       matchgroup=edcScriptTag start="\<script\_s*{" end="}" contains=@edcEmbryo,edcScriptTag
+syn keyword     edcScriptTag    contained script
+
+syn include    @edcLua         syntax/lua.vim
+unlet b:current_syntax
+syn region     edcLuaScript    matchgroup=edcLuaScriptTag start="\<lua_script\_s*{" end="}" contains=@edcLua,edcLuaScriptTag
+syn keyword     edcLuaScriptTag contained script
+
+if exists("edc_minlines")
+  let b:edc_minlines = edc_minlines
+else
+  let b:edc_minlines = 50      " #if 0 constructs can be long
+endif
+exec "syn sync ccomment edcComment minlines=" . b:edc_minlines
+"syn sync fromstart
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_edc_syn_inits")
+  if version < 508
+    let did_edc_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink edcFormat             edcSpecial
+  HiLink edcCommentL           edcComment
+  HiLink edcCommentStart       edcComment
+  HiLink edcLabel              Label
+  HiLink edcUserLabel          Label
+  HiLink edcConditional                Conditional
+  HiLink edcRepeat             Repeat
+  HiLink edcCharacter          Character
+  HiLink edcSpecialCharacter   cSpecial
+  HiLink edcNumber             Number
+  HiLink edcOctal              Number
+  HiLink edcOctalZero          PreProc  " link this to Error if you want
+  HiLink edcFloat              Float
+  HiLink edcOctalError         edcError
+  HiLink edcParenError         edcError
+  HiLink edcErrInParen         edcError
+  HiLink edcErrInBracket       edcError
+  HiLink edcCommentError       edcError
+  HiLink edcCommentStartError  edcError
+  HiLink edcSpaceError         edcError
+  HiLink edcSpecialError       edcError
+  HiLink edcOperator           Operator
+  HiLink edcStructure          Structure
+  HiLink edcStorageClass       StorageClass
+  HiLink edcInclude            Include
+  HiLink edcPreProc            PreProc
+  HiLink edcDefine             Macro
+  HiLink edcIncluded           edcString
+  HiLink edcError              Error
+  HiLink edcBlock              Function
+  HiLink edcScriptTag          Function
+  HiLink edcLuaScriptTag       Function
+  HiLink edcPreCondit          PreCondit
+  HiLink edcConstant           Constant
+  HiLink edcCommentString      edcString
+  HiLink edcComment2String     edcString
+  HiLink edcCommentSkip                edcComment
+  HiLink edcString             String
+  HiLink edcComment            Comment
+  HiLink edcSpecial            SpecialChar
+  HiLink edcTodo               Todo
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "edc"
+
+" vim: ts=8
diff --git a/data/edje/vim/syntax/embryo.vim b/data/edje/vim/syntax/embryo.vim
new file mode 100644 (file)
index 0000000..11175d8
--- /dev/null
@@ -0,0 +1,195 @@
+" Vim syntax file
+" Language:    Embryo
+" Maintainer:  Viktor Kojouharov
+" Last Change: 2006 10 06
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" A bunch of useful keywords
+syn keyword embryoConditional  if else switch
+syn keyword embryoRepeat       while for do in
+syn keyword embryoBranch       break continue
+syn keyword embryoOperator     new
+syn keyword embryoType         Float State_Param Msg_Type enum
+syn keyword embryoStatement    return with native stock forward
+syn keyword embryoLabel                case default
+syn keyword embryoReserved     public
+syn keyword embryoEdjeKey      PART PROGRAM
+
+syn keyword    embryoTodo              contained TODO FIXME XXX
+
+" embryoCommentGroup allows adding matches for special things in comments
+syn cluster    embryoCommentGroup      contains=embryoTodo
+
+" String and Character constants
+" Highlight special characters (those which have a backslash) differently
+syn match      embryoSpecial   display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
+syn region     embryoString    start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=embryoSpecial
+syn match      embryoFormat    display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
+syn match      embryoFormat    display "%%" contained
+syn region     embryoString    start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
+
+syn match      embryoCharacter "L\='[^\\]'"
+syn match      embryoCharacter "L'[^']*'" contains=embryoSpecial
+syn match      embryoSpecialError      "L\='\\[^'\"?\\abfnrtv]'"
+syn match      embryoSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
+syn match      embryoSpecialCharacter display "L\='\\\o\{1,3}'"
+syn match      embryoSpecialCharacter display "'\\x\x\{1,2}'"
+syn match      embryoSpecialCharacter display "L'\\x\x\+'"
+
+"when wanted, highlight trailing white space
+if exists("embryo_space_errors")
+  if !exists("embryo_no_trail_space_error")
+    syn match  embryoSpaceError        display excludenl "\s\+$"
+  endif
+  if !exists("embryo_no_tab_space_error")
+    syn match  embryoSpaceError        display " \+\t"me=e-1
+  endif
+endif
+
+"catch errors caused by wrong parenthesis and brackets
+syn cluster    embryoParenGroup        contains=embryoParenError,embryoIncluded,embryoSpecial,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoUserCont,embryoUserLabel,embryoBitField,embryoCommentSkip,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom
+if exists("embryo_no_bracket_error")
+  syn region   embryoParen     transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup
+  syn match    embryoParenError        display ")"
+  syn match    embryoErrInParen        display contained "[{}]"
+else
+  syn region   embryoParen     transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup,embryoErrInBracket
+  syn match    embryoParenError        display "[\])]"
+  syn match    embryoErrInParen        display contained "[\]{}]"
+  syn region   embryoBracket   transparent start='\[' end=']' contains=ALLBUT,@embryoParenGroup,embryoErrInParen
+  syn match    embryoErrInBracket      display contained "[);{}]"
+endif
+
+syn region embryoBrace start='{' end='}' transparent
+"integer number, or floating point number without a dot and with "f".
+syn case ignore
+syn match      embryoNumbers   display transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctalError,embryoOctal
+" Same, but without octal error (for comments)
+syn match      embryoNumbersCom        display contained transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctal
+syn match      embryoNumber    display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
+"hex number
+syn match      embryoNumber    display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
+" Flag the first zero of an octal number as something special
+syn match      embryoOctal     display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=embryoOctalZero
+syn match      embryoOctalZero display contained "\<0"
+syn match      embryoFloat     display contained "\d\+f"
+"floating point number, with dot, optional exponent
+syn match      embryoFloat     display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
+"floating point number, starting with a dot, optional exponent
+syn match      embryoFloat     display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
+"floating point number, without dot, with exponent
+syn match      embryoFloat     display contained "\d\+e[-+]\=\d\+[fl]\=\>"
+" flag an octal number with wrong digits
+syn match      embryoOctalError        display contained "0\o*[89]\d*"
+syn case match
+
+if exists("embryo_comment_strings")
+  " A comment can contain embryoString, embryoCharacter and embryoNumber.
+  " But a "*/" inside a embryoString in a embryoComment DOES end the comment!  So we
+  " need to use a special type of embryoString: embryoCommentString, which also ends
+  " on "*/", and sees a "*" at the start of the line as comment again.
+  " Unfortunately this doesn't very well work for // type of comments :-(
+  syntax match embryoCommentSkip               contained "^\s*\*\($\|\s\+\)"
+  syntax region embryoCommentString    contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=embryoSpecial,embryoCommentSkip
+  syntax region embryoComment2String   contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=embryoSpecial
+  syntax region embryoCommentL         start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoComment2String,embryoCharacter,embryoNumbersCom,embryoSpaceError
+  syntax region embryoComment          matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoCommentString,embryoCharacter,embryoNumbersCom,embryoSpaceError
+else
+  syn region   embryoCommentL          start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoSpaceError
+  syn region   embryoComment           matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoSpaceError
+endif
+" keep a // comment separately, it terminates a preproc. conditional
+syntax match   embryoCommentError              display "\*/"
+syntax match   embryoCommentStartErr   display "/\*"me=e-1 contained
+
+syn region     embryoPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=embryoComment,embryoCharacter,embryoParenError,embryoNumbers,embryoCommentError,embryoSpaceError
+syn match      embryoPreCondit display "^\s*#\s*\(else\|endif\)\>"
+syn region     embryoIncluded  display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match      embryoIncluded  display contained "<[^>]*>"
+syn match      embryoInclude   display "^\s*#\s*include\>\s*["<]" contains=embryoIncluded
+syn cluster    embryoPreProcGroup      contains=embryoPreCondit,embryoIncluded,embryoInclude,embryoDefine,embryoErrInParen,embryoErrInBracket,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoParen,embryoBracket,embryoMulti,embryoUserLabel
+syn cluster    embryoAlphaNum  contains=embryoSpecial,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom,embryoString
+syn region     embryoDefine    start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@embryoPreProcGroup
+syn region     embryoPreProc   start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@embryoPreProcGroup
+
+syn match      embryoUserLabel display "\I\i*" contained
+
+syn match      embryoFunctionName      "\h\w*\s*\%((\@=\)"
+
+if exists("embryo_minlines")
+  let b:embryo_minlines = embryo_minlines
+else
+  let b:embryo_minlines = 50   " #if 0 constructs can be long
+endif
+exec "syn sync ccomment embryoComment minlines=" . b:embryo_minlines
+"syn sync fromstart
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_embryo_syn_inits")
+  if version < 508
+    let did_embryo_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink embryoFormat          embryoSpecial
+  HiLink embryoCommentL                embryoComment
+  HiLink embryoCommentStart    embryoComment
+  HiLink embryoLabel           Label
+  HiLink embryoUserLabel       Label
+  HiLink embryoConditional     Conditional
+  HiLink embryoRepeat          Repeat
+  HiLink embryoBranch          Conditional
+  HiLink embryoReserved                Keyword
+  HiLink embryoCharacter       Character
+  HiLink embryoSpecialCharacter        cSpecial
+  HiLink embryoNumber          Number
+  HiLink embryoOctal           Number
+  HiLink embryoOctalZero       PreProc  " link this to Error if you want
+  HiLink embryoFloat           Float
+  HiLink embryoOctalError      embryoError
+  HiLink embryoParenError      embryoError
+  HiLink embryoErrInParen      embryoError
+  HiLink embryoErrInBracket    embryoError
+  HiLink embryoCommentError    embryoError
+  HiLink embryoCommentStartErr embryoError
+  HiLink embryoSpaceError      embryoError
+  HiLink embryoSpecialError    embryoError
+  HiLink embryoOperator                Operator
+  HiLink embryoStructure       Structure
+  HiLink embryoEdjeKey         Structure
+  HiLink embryoStorageClass    StorageClass
+  HiLink embryoInclude         Include
+  HiLink embryoPreProc         PreProc
+  HiLink embryoDefine          Macro
+  HiLink embryoIncluded                embryoString
+  HiLink embryoError           Error
+  HiLink embryoStatement       Statement
+  HiLink embryoPreCondit       PreCondit
+  HiLink embryoType            Type
+  HiLink embryoConstant                Constant
+  HiLink embryoCommentString   embryoString
+  HiLink embryoComment2String  embryoString
+  HiLink embryoCommentSkip     embryoComment
+  HiLink embryoString          String
+  HiLink embryoComment         Comment
+  HiLink embryoSpecial         SpecialChar
+  HiLink embryoTodo            Todo
+  HiLink embryoFunctionName    Function
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "embryo"
+
+" vim: ts=8
index 710e1114c6fd7e7fd3acd034d137bb72cdf61253..775d41f012afaa756ee3e5cd2e7c5522cb25ae7d 100644 (file)
@@ -602,7 +602,8 @@ INPUT                  = @top_srcdir@/src/lib \
                          @srcdir@/eo_tutorial.dox \
                          @srcdir@/eio_examples.dox \
                          @srcdir@/edbus_examples.dox \
-                         @srcdir@/ephysics_examples.dox
+                         @srcdir@/ephysics_examples.dox \
+                         @srcdir@/edje_examples.dox
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -810,7 +811,8 @@ eio_ _eio_ Eio_ _Eio_ EIO_ _EIO_ \
 edbus_ _edbus_ EDBus_ _EDBus_ EDBUS_ _EDBUS_ \
 efreet_ _efreet_ Efreet_ _Efreet_ EFREET_ _EFREET_ \
 eeze_ _eeze_ Eeze_ _Eeze_ EEZE_ _EEZE_ \
-ephysics_ _ephysics_ EPhysics_ _EPhysics_ EPHYSICS_ _EPHYSICS_
+ephysics_ _ephysics_ EPhysics_ _EPhysics_ EPHYSICS_ _EPHYSICS_ \
+edje_ _edje_ Edje_ _Edje_ EDJE_ _EDJE_
 
 
 #---------------------------------------------------------------------------
diff --git a/doc/edje_examples.dox b/doc/edje_examples.dox
new file mode 100644 (file)
index 0000000..a48ad7e
--- /dev/null
@@ -0,0 +1,1296 @@
+/**
+ * @page edje_examples Examples
+ *
+ * Examples:
+ * @li @ref Example_Edje_Basics
+ * @li @ref tutorial_edje_nested
+ * @li @ref tutorial_edje_swallow
+ * @li @ref tutorial_edje_swallow2
+ * @li @ref tutorial_edje_text
+ * @li @ref tutorial_edje_table
+ * @li @ref tutorial_edje_color_class
+ * @li @ref Example_Edje_Signals_Messages
+ * @li @ref tutorial_edje_box
+ * @li @ref tutorial_edje_box2
+ * @li @ref tutorial_edje_drag
+ * @li @ref tutorial_edje_perspective
+ * @li @ref tutorial_edje_animations
+ * @li @ref tutorial_edje_multisense
+ * @li @ref tutorial_edje_basic2
+ * @li @ref tutorial_edje_signals_2
+ * @li @ref tutorial_edje_animations_2
+ */
+
+/**
+ * @page Example_Edje_Basics Edje basics example
+ *
+ * In this example, we illustrate how to start using the Edje library,
+ * with the very basic one needs to instantiate an Edje object.
+ *
+ * We place, in the canvas, an Edje object along with a @b red border
+ * image to delimit its geometry. After we instantiate the Edje
+ * object, we @b have to set a file and a group, within that file, to
+ * bind to it. For this example, we're using an EDC file which
+ * declares two parts (blue and green rectangles) and an item data:
+ * @include basic.edc
+ *
+ * We start by trying to access an @b unexistant group in the file, so
+ * that you can see the usefulness of edje_object_load_error_get() and
+ * edje_load_error_str(). Check that the error message will tell you
+ * just that -- a group which didn't exist in the file was called for:
+ * @dontinclude edje-basic.c
+ * @skip file_path
+ * @until file_path
+ * @dontinclude edje-basic.c
+ * @skip edje_object_add
+ * @until }
+ *
+ * Than, we finally bind our Edje object to @c "example_group",
+ * printing a message afterwards:
+ * @dontinclude edje-basic.c
+ * @skip file_path, "example_group"
+ * @until object_show
+ *
+ * What follows is a series of Edje API calls which are of general
+ * use. The first of them is edje_object_data_get(), which we use to
+ * get the value we have put in the @c "example_data" data field, in
+ * our EDC object declaration:
+ * @dontinclude edje-basic.c
+ * @skip data field in group
+ * @until ;
+ *
+ * Than, we exemplify edje_object_part_exists():
+ * @dontinclude edje-basic.c
+ * @skip Testing if
+ * @until ;
+ *
+ * The next call is to query @c "part_one"'s geometry, relative to the
+ * whole Edje object's area. The part will be situated in the middle
+ * of the Edje object's, because it has a restricted forced size (we
+ * set its minimum size equal to its maximum, for that) and, by
+ * default, parts are aligned to the center of their containers:
+ * @dontinclude edje-basic.c
+ * @skip part_geometry_get
+ * @until x, y, w, h
+ *
+ * We can grab a direct pointer on the rectangle implementing @c
+ * "part_one", by using edje_object_part_object_get(). Since we are
+ * not allowed to set properties on it, we just check its color, to
+ * assure its really blue, as declared in the EDC:
+ * @dontinclude edje-basic.c
+ * @skip color_get
+ * @until x, y, w, h
+ *
+ * The @c "min" and @c "max" EDC properties can be queried with the
+ * following calls:
+ * @dontinclude edje-basic.c
+ * @skip max_get
+ * @until min. size is
+ *
+ * The next two calls are to make <b>size calculations</b> on our
+ * object. Because of the minimum size declared for @c "part_one" part's
+ * default state description, that will be our exact minimum
+ * size calculated for the group (remember the @c "min" declaration at
+ * group level is just a @b hint, not an enforcement). We then
+ * exercise the edje_object_size_min_restricted_calc() function,
+ * passing a minimum size of 500, in each axis. Since we have @b no
+ * object bigger than that, it will be the minimum size calculated, in
+ * the end:
+ * @dontinclude edje-basic.c
+ * @skip min_calc
+ * @until size calculation is
+ *
+ * @c "part_two" part is there with a purpose: since it extrapolates
+ * the Edje object's boundaries, the edje_object_parts_extends_calc()
+ * function will report origin coordinates for the rectangle grouping
+ * both parts with @b negative values, indicating it extrapolates to
+ * the upper left of our group, just as we see it.
+ *
+ * To interact with the last features exemplified in the program,
+ * there's a command line interface.  A help string can be asked for
+ * with the 'h' key:
+ * @dontinclude edje-basic.c
+ * @skip commands
+ * @until ;
+ *
+ * Those commands will change the scaling factors of our Edje objects.
+ * The first of them, @c 's', will change Edje's @b global scaling
+ * factor between @c 1.0 (no scaling) and @c 2.0 (double
+ * scale). Scaling will be applied to @c "part_one", only, because
+ * that's the part flagged to be scaled at EDC level:
+ * @dontinclude edje-basic.c
+ * @skip strcmp(ev->keyname, "s") == 0
+ * @until }
+ *
+ * Note, finally, that the @c 's' command will depend on the 'r' one
+ * to have its effects applied. The latter will change @c "part_one"'s
+ * @b individual scaling factor, which @b overrides Edje's global
+ * scaling factor. Only when the individual one is set to zero, will
+ * the global one take effect:
+ * @dontinclude edje-basic.c
+ * @skip strcmp(ev->keyname, "r") == 0
+ * @until }
+ *
+ *
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-basics-example.png
+ * @image rtf edje-basics-example.png
+ * @image latex edje-basics-example.eps width=\textwidth
+ *
+ * The full example follows.
+ * @include edje-basic.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-basic edje-basic.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc basic.edc
+ * @endverbatim
+ * @example edje-basic.c
+ */
+
+/**
+ * @page tutorial_edje_nested Edje Nested Part (hierarchy) example
+ *
+ * Nested part feature represents the concept of hierarchy to edje.
+ *
+ * A nested part inherits it's location relatively to the parent part.
+ * Thus, parent part modifications such move or map effects all nested parts.
+ * To declare a nested part just start a new part declaration within
+ * (before closing) the current part declaration.
+ *
+ * Note that nested part declaration is allowed only after
+ * current part name is defined.
+ *
+ * Here's an example of a rect nested in other rect plus inner nested rect:
+ * @include edje-nested.edc
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-nested.png
+ * @image rtf edje-nested.png
+ * @image latex edje-nested.eps width=\textwidth
+ */
+
+/**
+ * @page tutorial_edje_swallow Swallow example
+ * @dontinclude edje-swallow.c
+ *
+ * This is a simple example in which we create a rect and swallow it.
+ *
+ * Focusing on the relevant parts of the code we go right to the creation of our
+ * rectangle. It should be noted that we don't resize or show our rect, that is
+ * because when an object is swallowed it's geometry and visibility is
+ * controlled by the theme:
+ * @skip 20
+ * @skipline evas_object_rectangle_add
+ * @until swallow
+ *
+ * The other bit of code that is relevant to us now is our check that the
+ * swallow worked:
+ * @until printf
+ *
+ * The full source code follows:
+ * @include edje-swallow.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-swallow edje-swallow.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc swallow.edc
+ * @endverbatim
+ * @example edje-swallow.c
+ */
+
+/**
+ * @page tutorial_edje_text Edje Text example
+ *
+ *
+ * This example shows how to manipulate TEXT and TEXTBLOCK parts from code.
+ *
+ * The very first we are going to do is register a callback to react to changes
+ * in the text of our parts:
+ * @dontinclude edje-text.c
+ * @skipline edje_object_text_change_cb_set
+ *
+ *
+ * @dontinclude edje-text.c
+ * @skipline text_change
+ * @note Since edje_obj represent a group we'll be notified whenever any part's
+ * text in that group changes.
+ *
+ * We now set the text for two our two parts:
+ * @dontinclude edje-text.c
+ * @skip text_set
+ * @until edje_object_part_text_set(edje_obj, "part_two"
+ * @note Since the "part_two" part is a TEXTBLOCK we can use formatting such as
+ * @<b@>
+ *
+ * And we now move on to selection issues, first thing we do is make sure the
+ * user can select text:
+ * @dontinclude edje-text.c
+ * @skip edje_object_part_text_select_allow_set
+ * @until edje_object_part_text_select_all
+ *
+ * We then select the entire text, and print the selected text:
+ * @dontinclude edje-text.c
+ * @skipline printf("selection: %s\n",
+ *
+ * We now unselect the entire text(set selection to none), and print the
+ * selected text:
+ * @dontinclude edje-text.c
+ * @skip edje_object_part_text_select_none
+ * @until printf
+ *
+ * Our example will look like this:
+ *
+ * @image html edje-text.png
+ * @image rtf edje-text.png
+ * @image latex edje-text.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-text.c
+ *
+ *
+ * The theme used in this example is:
+ * @include text.edc
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-text edje-text.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc text.edc
+ * @endverbatim
+ * @example edje-text.c
+ */
+
+/**
+ * @page tutorial_edje_table Table example
+ *
+ * In this example, we illustrate how to organize your objects on a table, using
+ * the edje_object_part_table functions. To be easier to understand the objects
+ * in this example will be four simple rects, when the user click over one
+ * item with the left button its is removed from the table, if any other button
+ * was used all items are removed. For each action is printed a message with
+ * the current number of rows and columns.
+ *
+ * We started creating an EDC file with one part of the type TABLE called
+ * @b "table_part", that is the part which we will refer to access the table:
+ * @include table.edc
+ *
+ * On the other hand, in the C file we first create the rectangles and added a
+ * callback for mouse down, as you can see bellow:
+ * @dontinclude edje-table.c
+ * @skip _rects_create
+ * @until }
+ * @skip }
+ * @until }
+ *
+ * With the objects created we have to pack them into the table, to do this, we
+ * just have to use the function edje_object_part_table_pack().
+ * @dontinclude edje-table.c
+ * @skip (!edje_object_part_table_pack
+ * @until 4
+ *
+ * The other bit of code that is relevant to us now is our event handler for
+ * when the user click over the rectangle. Here we use the function
+ * edje_object_part_table_unpack() to remove the item from the table or
+ * edje_object_part_table_clear() to remove all items, it depends on which mouse
+ * button the user uses.
+ * @dontinclude edje-table.c
+ * @skip _on_mouse_down
+ * @until }
+ *
+ * Finally, the last important thing in this example is about how to know how many
+ * columns and rows are there in the table, It should be noted that this function
+ * don't tell you how many items are there in the table, just the number of the
+ * columns and rows of the table.
+ * @dontinclude edje-table.c
+ * @skip _columns_rows_
+ * @until }
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-table-example.png
+ * @image rtf edje-table-example.png
+ * @image latex edje-table-example.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-table.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-table edje-table.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc table.edc
+ * @endverbatim
+ * @example edje-table.c
+ */
+
+/**
+ * @page tutorial_edje_box Box example - basic usage
+ *
+ * This example shows how to append, insert and remove elements from an Edje box
+ * part. It will make use of the edje_object_part_box functions.
+ *
+ * To play with this example, use mouse left click to delete an existing
+ * rectangle from the box and right mouse click to add a new rectangle just
+ * before the clicked one. Use the keyboard keys "a" to append a rectangle, "i"
+ * to prepend, and "c" to remove all rectangles from the box.
+ *
+ * We will store our example global information in the data structure defined
+ * below, and also set some callbacks for resizing the canvas and exiting the
+ * window:
+ *
+ * @dontinclude edje-box.c
+ * @skip static const char
+ * @until ecore_evas_geometry_get
+ * @until }
+ *
+ * In the @c main function, we create our @c Ecore_Evas, add a background to it,
+ * and finally load our @c Edje file that contains a @c Box part. This part is
+ * named @c "example/box" in this case, and we use this name to append elements
+ * to it.
+ *
+ * The code until now is the one that follows:
+ *
+ * @dontinclude edje-box.c
+ * @skip main(int argc __UNUSED__, char *argv[])
+ * @until ecore_evas_data_set(ee, "background", bg)
+ *
+ * Also notice that we set the callback @c _bg_key_down for @c "key down" events
+ * on the background object, and that object is the one with focus.
+ *
+ * Now we add some small rectangles to the box part, using the
+ * edje_object_part_box_append() API, and set some callbacks for @c "mouse down"
+ * events on every object. These callbacks will be used to add or delete objects
+ * from the box part.
+ *
+ * @dontinclude edje-box.c
+ * @skip bg = evas_object_rectangle_add(evas)
+ * @until evas_object_event
+ * @until }
+ *
+ * Now let's take a look at the callbacks for key down and mouse down events:
+ *
+ * @dontinclude edje-box.c
+ * @skip ecore_evas_geometry_get
+ * @skip static
+ * @until evas_object_event
+ * @until }
+ * @until }
+ *
+ * This callback for mouse down events will get left clicks and remove the
+ * object that received that left click from the box part, and then delete it.
+ * This is done with the edje_object_part_box_remove() function.
+ *
+ * However, on right clicks it will create a new rectangle object, and add it
+ * just before the right clicked object, using
+ * edje_object_part_box_insert_before().
+ *
+ * And this is the key down callback:
+ *
+ * @until remove_all
+ * @until }
+ *
+ * It will insert elements at the beginning of the box if "i" was pressed, using
+ * edje_object_part_box_insert_at(). It will also append objects to the box if
+ * "a" was pressed, just exactly like we did in the @c main function. And will
+ * remove all objects (deleting them) if "c" was pressed.
+ *
+ * As you can see, this example uses the @c "horizontal_flow" layout for the
+ * box, where each item is put linearly in rows, in as many rows as necessary to
+ * store all of them.
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-box-example.png
+ * @image rtf edje-box-example.png
+ * @image latex edje-box-example.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-box.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-box edje-box.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc box.edc
+ * @endverbatim
+ * @example edje-box.c
+ */
+
+/**
+ * @page tutorial_edje_box2 Box example - custom layout
+ *
+ * This example shows how to register a custom layout to be used by the Edje box
+ * part. It will use edje_box_layout_register() for that.
+ *
+ * To play with this example, use the keyboard modifier keys and number keys
+ * together. The Ctrl key is used for adding elements, and Shift is used for
+ * removing them. For instance, Ctrl + 3 will insert a new rectangle object in
+ * the 3rd position of the box, while Shift + 6 will try to remove the 6th
+ * element of the box.
+ *
+ * This example is very similar to the other box example, has a structure with
+ * global data, a callback for key down events where we create or delete
+ * rectangle objects and add or remove them to/from the box part.
+ *
+ * But the important part is the next one:
+ *
+ * @dontinclude edje-box2.c
+ * @skip static void
+ * @until }
+ *
+ * This code implements our custom layout, which will position every object
+ * added to the box in a diagonal through the size of the box part. Notice that
+ * it just calculates the position and offset based on the size of the box and
+ * number of children, and then moves each child to the respective position.
+ *
+ * Later on the @c main function, everything we need to do is to register this
+ * custom layout function with edje:
+ *
+ * @dontinclude edje-box2.c
+ * @skipline edje_box_layout_register
+ *
+ * And use it inside the box.edc file:
+ *
+ * @dontinclude box.edc
+ * @skip example/group2
+ * @skip example/title
+ * @skip part
+ * @until BOX
+ * @until example/box
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-box2-example.png
+ * @image rtf edje-box2-example.png
+ * @image latex edje-box2-example.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-box2.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-box2 edje-box2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc box.edc
+ * @endverbatim
+ * @example edje-box2.c
+ */
+
+/**
+ * @page tutorial_edje_drag Dragable parts example
+ *
+ * This example shows how to manipulate a dragable part through the
+ * edje_object_part_drag API.
+ *
+ * First, in the edc code, we are declaring a part which will be our movable
+ * part, called "knob". It is a normal rectangle, which contains a block called
+ * "dragable", that will define the area where this rectangle can be moved, and
+ * in which axis it can be moved.
+ *
+ * This is our part:
+ *
+ * @dontinclude drag.edc
+ * @skip // drag_area
+ * @skip part
+ * @until example/knob
+ * @until example/knob
+ *
+ * Notice that it defines, through its @c "x:" and @c "y:' properties, that the
+ * part will be only moved on the y axis (vertical). Check the edc reference
+ * docs for more info about this.
+ *
+ * Now, in our example C code, we just do the same as on the other examples,
+ * setting some global data on a structure, load the edje file and so:
+ *
+ * @dontinclude edje-drag.c
+ * @skip static const char *PARTNAME
+ * @until ;
+ *
+ * @skip main(int argc __UNUSED__, char *argv[])
+ * @until evas_object_show
+ *
+ * We want to use the drag_page and drag_step functions, and in order to do so we
+ * need to define the step size and page size of our dragable part. They are
+ * defined as float values which represent a portion of the entire size of the
+ * dragable area:
+ *
+ * @until drag page step
+ *
+ * We are going to use the keyboard to move the @c knob part, through the key
+ * down callback @c _bg_key_down, but we also want to know when the user has
+ * moved the knob by using the mouse (which is possible, since we defined that
+ * this part will receive mouse events). Thus, we set a callback for the signal
+ * "drag", which comes from the dragable part:
+ *
+ * @dontinclude edje-drag.c
+ * @skipline evas_object_event_callback_add
+ *
+ * @skipline edje_object_signal_callback_add
+ *
+ * Now, let's take a look at our key down callback:
+ *
+ * @dontinclude edje-drag.c
+ * @skip _on_bg_key_down
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ * @skip else
+ * @until }
+ *
+ * On this callback we define that the user will use the "up" and "down" arrows
+ * to move the dragable part, respectively, -1.0 and 1.0 times the step size.
+ * And that the "Page Up" (Prior) and "Page Down" (Next) keys will move -1.0 and
+ * 1.0 times the page size. Both of these will occur on the vertical axis, since
+ * we pass 0.0 as value to the respective horizontal axis parameters. And our
+ * dragable part also only supports being moved in the vertical axis (defined in
+ * the edc).
+ *
+ * We also define that the "m" key will be used to explicitly position the knob
+ * part in the middle of the dragable area.
+ *
+ * And here is the callback for the @c "drag" signal that is received from the
+ * theme:
+ *
+ * @dontinclude edje-drag.c
+ * @skip _on_knob_moved
+ * @until }
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-drag-example.png
+ * @image rtf edje-drag-example.png
+ * @image latex edje-drag-example.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-drag.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-drag edje-drag.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc drag.edc
+ * @endverbatim
+ * @example edje-drag.c
+ */
+
+/**
+ * @page tutorial_edje_perspective Perspective example
+ *
+ * This example demonstrates how someone can set a perspective to be used by an
+ * Edje object, but setting a global perspective. The API for setting a
+ * perspective for just one Edje object is almost the same and it's trivial, so
+ * we are not doing that on this example.
+ *
+ * Let's go first to the main function, where we start creating our objects and
+ * loading the theme. We also set some variables that will be used globally in
+ * our program:
+ *
+ * @dontinclude edje-perspective.c
+ * @skip main(
+ * @until focal =
+ *
+ * A boolean is used to indicate that we are animating.
+ *
+ * We also set the @c app.x and @c app.y to (0, 0) because the original position
+ * of our text + rectangle part will be on top left. This is a convention that
+ * we are using in this example, and setting x, y to 1, 1 would mean bottom
+ * right.  We do this to later define the name of the signals that we are
+ * sending to the theme.
+ *
+ * After this, some boilerplate code to load the theme:
+ *
+ * @until evas_object_show(app.bg)
+ *
+ * Now we are going to setup a callback to tell us that the animation has ended.
+ * We do this just to avoid sending signals to the theme while it's animating.
+ *
+ * @until edje_object_signal
+ *
+ * Finally, let's create our perspective object, define its position, focal
+ * distance and z plane position, and set it as global:
+ *
+ * @until global_set
+ *
+ * Notice that if we wanted to set it just to our edje object, instead of
+ * setting the perspective as global to the entire canvas, we could just use
+ * edje_object_perspective_set() instead of edje_perspective_global_set(). The
+ * rest of the code would be exactly the same.
+ *
+ * Now, let's take a look at what we do in our callbacks.
+ *
+ * The callback for key_down is converting the arrow keys to a signal that
+ * represents where we want our text and rectangle moved to. It does that by
+ * using the following function:
+ *
+ * @dontinclude edje-perspective.c
+ * @skip part_move(
+ * @until }
+ *
+ * Notice that, after sending the signal to the Edje object, we set our boolean
+ * to store that we are animating now. It will only be unset when we receive a
+ * signal from the theme that the animation has ended.
+ *
+ * Now, on the key_down code, we just call this function when the arrows or
+ * "PgUp" or "PgDown" keys are pressed:
+ *
+ * @until unhandled
+ * @until }
+ *
+ * Notice that we also do something else when the numeric keyboard "+" and "-"
+ * keys are pressed. We change the focal distance of our global perspective, and
+ * that will affect the part that has a map rotation applied to it, with
+ * perspective enabled. We also need to call edje_object_calc_force(), otherwise
+ * the Edje object has no way to know that we changed the global perspective.
+ *
+ * Try playing with these keys and see what happens to the animation when the
+ * value of the focal distance changes.
+ *
+ * Finally we add a callback for the animation ended signal:
+ *
+ * @skip  _animation_end_cb
+ * @until }
+ *
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-perspective-example.png
+ * @image rtf edje-perspective-example.png
+ * @image latex edje-perspective-example.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-perspective.c
+ *
+ * The full .edc file
+ * @include perspective.edc
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-perspective edje-perspective.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc perspective.edc
+ * @endverbatim
+ * @example edje-perspective.c
+ */
+
+/**
+ * @page Example_Edje_Signals_Messages Edje signals and messages
+ *
+ * In this example, we illustrate how Edje signals and Edje messages
+ * work.
+ *
+ * We place, in the canvas, an Edje object along with a @b red border
+ * image to delimit its geometry. The object's group definition is so
+ * that we have four parts:
+ * - a blue rectangle, aligned to the right
+ * - a white rectangle, aligned to the left
+ * - a text part, aligned to the center
+ * - a clipper rectangle on the blue rectangle
+ *
+ * The left rectangle is bound to a <b>color class</b>, so that we can
+ * multiply its colors by chosen values on the go:
+ * @dontinclude signals-messages.edc
+ * @until visible
+ * @until }
+ * @until }
+ * @until }
+ *
+ * The @c \#define's on the beginning will serve as message
+ * identifiers, for our accorded message interface between the code
+ * and the this theme file.
+ *
+ * Let's move to the code, then. After instantiating the Edje object,
+ * we register two <b>signal callbacks</b> on it. The first one uses
+ * @b globbing, making all of the wheel mouse actions over the left
+ * rectangle to trigger @c _mouse_wheel. Note that those kind of
+ * signals are generated @b internally (and automatically) in Edje. The
+ * second is a direct signal match, to a (custom) signal we defined in
+ * the EDC, ourselves:
+ * @dontinclude edje-signals-messages.c
+ * @skip edje_object_add
+ * @until _mouse_over
+ * @dontinclude edje-signals-messages.c
+ * @skip print signals coming from theme
+ * @until }
+ * @until }
+ *
+ * That second callback is on a signal we emit on the theme, where we
+ * just translate Edje @c "mouse,move" internal events to the custom @c
+ * "mouse,over" one. When that signals reaches the code, we are,
+ * besides printing the signals' strings, sending a @b message back to
+ * the theme. We generate random values of color components and send
+ * them as an #EDJE_MESSAGE_INT_SET message type:
+ * @dontinclude signals-messages.edc
+ * @skip custom signal
+ * @until }
+ * @dontinclude edje-signals-messages.c
+ * @skip mouse over signals
+ * @until }
+ *
+ * In our theme we'll be changing the @c "cc" color class' values with
+ * those integer values of the message, so that moving the mouse over
+ * the right rectangle will change the left one's colors:
+ * @dontinclude signals-messages.edc
+ * @skip public message
+ * @until }
+ * @until }
+ *
+ * Now we're also sending messages <b>from the Edje object</b>,
+ * besides signals.  We do so when one clicks with the left button
+ * over the left rectangle.  With that, we change the text part's
+ * text, cycling between 3 pre-set strings declared in the EDC. With
+ * each new text string attribution, we send a string message to our
+ * code, with the current string as argument:
+ * @dontinclude signals-messages.edc
+ * @skip program
+ * @until }
+ * @until }
+ * @skip change text
+ * @until }
+ * @until }
+ * @dontinclude signals-messages.edc
+ * @skip set_text_string
+ * @until }
+ *
+ * To get the message in code, we have to register a message handler, as
+ * follows:
+ * @dontinclude edje-signals-messages.c
+ * @skip message_handler_set
+ * @until message_handler_set
+ * @dontinclude edje-signals-messages.c
+ * @skip print out
+ * @until }
+ *
+ * To interact with the last missing feature -- emitting signals
+ * <b>from code</b> -- there's a command line interface to exercise
+ * it.  A help string can be asked for with the 'h' key:
+ * @dontinclude edje-signals-messages.c
+ * @skip commands
+ * @until ;
+ *
+ * The @c 't' command will send either @c "part_right,show" or @c
+ * "part_right,hide" signals to the Edje object (those being the
+ * emission part of the signal), which was set to react on them as the
+ * names indicate. We'll set the right rectangle's visibility on/off,
+ * respectively, for those two signals:
+ * @dontinclude signals-messages.edc
+ * @skip hide right rectangle
+ * @until }
+ * @until }
+ * @dontinclude edje-signals-messages.c
+ * @skip keyname, "t"
+ * @until }
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-signals-messages-example.png
+ * @image rtf edje-signals-messages-example.png
+ * @image latex edje-signals-messages-example.eps width=\textwidth
+ *
+ * The full example follows, along with its EDC file.
+ *
+ * @include signals-messages.edc
+ * @include edje-signals-messages.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-signals-messages edje-signals-messages.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc signals-messages.edc
+ * @endverbatim
+ * @example edje-signals-messages.c
+ */
+
+/**
+ * @page tutorial_edje_color_class Edje Color Class example
+ * @dontinclude edje-color-class.c
+ *
+ * This example shows how to manipulate and change Color classes. In this example
+ * we will create two surfaces to show what happens when you change the color
+ * class at the process and object level.
+ *
+ * It's a very simple example, there are two surfaces created from the same EDC,
+ * but just in one of them we will set a specific color class, although both will be
+ * affected by color class set at the process level as you will see.
+ *
+ * It's important you know that all colors has the format R G B A. Just to be easier
+ * to understand this example, we will create a small set of colors that will be used
+ * along of the example. This piece of code is shown below:
+ * @skip static color colors_init_data
+ * @until return EINA_FALSE
+ * @until }
+ *
+ * Focusing on the relevant parts of the code we go right to the part where we set
+ * the new color class. For that we will use the functions edje_color_class_set (
+ * which will affect all edjes) and edje_object_color_class_set (which affects just
+ * the specific object).
+ * @skip edje_color_class_set
+ * @until Text shadow
+ * @until Text shadow
+ * @note
+ *       - argv[1] is the name of a color class used in the EDC.
+ *       - The second and third colors only apply to text part.
+ *       - The color class set for the object overrides the color previously set.
+ *
+ * After we have set the color class we will check the color classes, for that
+ * we created a function which prints all color classes and tries to get theirs
+ * values and print too.
+ * @dontinclude edje-color-class.c
+ * @skip _color_classes_print(void)
+ * @until free
+ * @until }
+ * @until }
+ *
+ * There are two other things that are worth mentioning, we added two callbacks for the
+ * objects, one for mouse down (that we use to delete the color class) and another
+ * for the signal emmited when a color class is deleted.
+ * @skip  evas_object_event
+ * @until NULL
+ * @skip  edje_object_si
+ * @until process
+ *
+ * And then we delete the color class:
+ * @dontinclude edje-color-class.c
+ * @skip _on_mouse_down
+ * @until }
+ *
+ * Our example will look like this, if you run with the parameters "green_class gray pink yellow":
+ *
+ * @image html edje-color-class-example.png
+ * @image rtf edje-color-class-example.png
+ * @image latex edje-color-class-example.eps width=\textwidth
+ * @n
+ * @image html edje-color-class-example2.png
+ * @image rtf edje-color-class-example2.png
+ * @image latex edje-color-class-example2.eps width=\textwidth
+ *
+ * The full source code follows:
+ * @include edje-color-class.c
+ *
+ *
+ * The theme used in this example is:
+ * @include color-class.edc
+ *
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-color-class edje-color-class.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc color-class.edc
+ * @endverbatim
+ * @example edje-color-class.c
+ */
+
+/**
+ * @page tutorial_edje_animations Edje Animations example
+ *
+ * In this example we will figure out how to manipulate the animations on
+ * an Edje object. After reading this document you will be able to manipulate
+ * the frametime, freeze, pause and stop, all animations on an Edje object.
+ *
+ * To play with this example you will use the keyboard. Below are listed the
+ * keys and what each does.
+ *
+ * - '+' Increase the frametime;
+ * - '-' Decrease the frametime;
+ * - '=' Prints the actual frametime and says if the animations is playing;
+ * - 'f' Freezes the animations in the Edje object;
+ * - 'F' Freezes the animations in all objects in the running program;
+ * - 't' Thaws the animations in the Edje object;
+ * - 'T' Thaws the animations in all objects in the running program;
+ * - 's' Pauses the animations;
+ * - 'p' Plays the animations previously stopped;
+ * - 'a' Starts the animation in the Edje object;
+ * - 'A' Stops the animations in the Edje object;
+ *
+ * Now that we've explained how to use our example, we will see how it is made.
+ * Let's start by looking at the piece of code responsible to the actions commented
+ * above.
+ * @dontinclude edje-animations.c
+ * @skip _on_key_down
+ * @until Stopping
+ * @until }
+ * @until }
+ * @note The actions for the keys 'f' and 'F' will have the same effect in
+ *       our example, just because there is only one object in the running
+ *       program, The same happens with the keys 't' and 'T'.
+ *
+ * As you may have seen these set of functions are pretty easy to handle. The other
+ * important part of this example is the EDC file. The animations used in the
+ * code were created there
+ * @dontinclude animations.edc
+ * @skip program
+ * @until after: "animation,state1"
+ * @until }
+ * @skip program
+ * @until }
+ * @skip program
+ * @until }
+ * @until }
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-animations.png
+ * @image rtf edje-animations.png
+ * @image latex edje-animations.eps width=\textwidth
+ * @n
+ * @image html edje-animations2.png
+ * @image rtf edje-animations2.png
+ * @image latex edje-animations2.eps width=\textwidth
+ *
+ * The full example follows.
+ *
+ * @include edje-animations.c
+ * @include animations.edc
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-animations edje-animations.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc animations.edc
+ * @endverbatim
+ */
+
+ /**
+ * @page tutorial_edje_multisense Multisense example
+ * @dontinclude edje-multisense.c
+ *
+ * This is a simple example in which a rect is created and sound and tone
+ * are played on mouse down event.
+ *
+ * Focusing on the creation of sample and tone. It should be noted that
+ * creation of sample sound is from any supported (sndfile lib) audio file,
+ * tone from of specific audible frequency range are controlled by the theme:
+ *
+ * The full source code follows:
+ * @include edje-multisense.c
+ * @include multisense.edc
+ */
+
+/**
+ * @page tutorial_edje_basic2 Edje basics example 2
+ *
+ * In this example we will show how to load an image and move it across the window.
+ *
+ * To load the image to our program, it needs to be declared in the .edc using the images block:
+ * @dontinclude basic2.edc
+ * @skip images
+ * @until }
+ *
+ * @note COMP means that we are using a lossless compression
+ *
+ * Then to be able to use it in our window we must declare a part for this image:
+ *
+ * @skip part{
+ * @until }
+ * @until }
+ * @until }
+ *
+ * Now we move to our .c file, you will notice this define:
+ * @dontinclude edje-basic2.c
+ * @skipline #define WALK
+ *
+ * This means how fast we want to move the image across the screen
+ *
+ * To load our edje file we will use this command, we do just like the last example (Basic example):
+ *
+ * @skip if(!edje_object
+ * @until evas_object_show
+ *
+ * If we want to move our image, we need to add a callback to be able to do this, so we define:
+ *
+ * @skipline evas_object_event_callback
+ *
+ * To get the position of the image we use this:
+ * @dontinclude edje-basic2.c
+ * @skipline evas_object_geometry
+ *
+ * Now we use the if's to check in what direction the user wants to move the image then we move it:
+ *
+ * @skip if(strcmp
+ * @until evas_object_move
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html basic2final.png
+ * @image rtf basic2final.png
+ * @image latex basic2final.eps width=\textwidth
+ *
+ * The complete .edc file:
+ * @include basic2.edc
+ *
+ * And the source code:
+ * @include edje-basic2.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-basic2 edje-basic2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc -id /path/to/the/image basic2.edc
+ * @endverbatim
+ *
+ */
+
+/**
+ * @page tutorial_edje_swallow2 Swallow example 2
+ *
+ * This example will show you how to load an image using evas and fill a swallow with it.
+ * It's basically almost like the last example, but with a minor change.
+ *
+ * This variables are used to store the name of the image that is going to be used,
+ * the path to it and a variable that will store the error cause if something goes wrong.
+ *
+ * Here it is:
+ * @dontinclude edje-swallow2.c
+ * @skipline char         edje_file
+ * @skipline const char  *img
+ * @skipline Evas_Load
+ *
+ *
+ * Then we load the image with this command:
+ *
+ * @skip img =
+ * @until evas_object_image_file_set(img,
+ *
+ * To check if we had some problem we use:
+ *
+ * @skip err = evas
+ * @until }
+ *
+ * Now we are going to swallow it and check if worked. If you notice we are
+ * using "part_one" as argument. We do this because we must explicit what part of our
+ * .edc file we want to swallow:
+ *
+ * @skip edje_object_part
+ * @until printf
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html swallow2final.png
+ * @image rtf swallow2final.png
+ * @image latex swallow2final.eps width=\textwidth
+ *
+ * The complete .edc file:
+ * @include swallow.edc
+ *
+ * And the source code:
+ * @include edje-swallow2.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o edje-swallow2 edje-swallow2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc swallow.edc
+ * @endverbatim
+ */
+
+/**
+ * @page tutorial_edje_signals_2 Edje Signals example 2
+ *
+ * In this example we will make use of signals to help to move an image away from the mouse pointer.
+ *
+ * Signals are software interruption, this means that when it happens and if the program is sensitive to it
+ * the program will stop whatever it is doing and handle the signal.
+ *
+ * In this example we are only sensitive to the "mouse,move" signal so we need to register a callback to it.
+ * To do this we will add a signal callback to our edje object that will detect "mouse,move" signal
+ * coming from the part "part_image" and when this happens we will call the function _on_mouse_over passing
+ * the evas pointer as a parameter. The evas pointer is passed as a parameter because we need to know
+ * where is the mouse pointer in the screen.
+ *
+ * We can see bellow how we can listen to the signal:
+ *
+ * @dontinclude signals2.c
+ * @skip edje_object_signal
+ * @until );
+ *
+ *
+ * Now, let's pass to the callback function. If we want to keep the ball away from the mouse pointer
+ * we need to now where is the ball and where is the mouse and we can easily discovery these things using
+ * this:
+ *
+ * For the object position in the canvas:
+ * @dontinclude signals2.c
+ * @skipline evas_object_geometry
+ *
+ * For the mouse position relative to the screen:
+ * @skipline evas_pointer_output
+ *
+ * Now that we have the position of the mouse and the object we just need
+ * to set the new location and move the object. To set the new location we do this:
+ * @skip if
+ * @until y -= (
+ *
+ * You can change the formula above if you like. Because we are changing the object's position
+ * we need to do something if the new position is beyond the canvas size. So here it is:
+ *
+ * @skip if
+ * @until y = 0
+ *
+ * Then now what we need to do is move the object:
+ * @skipline  evas_object
+ *
+ * Here is the complete callback function:
+ *
+ * @dontinclude signals2.c
+ * @skip _on_mouse_over
+ * @until }
+ *
+ *
+ * When you compile and run it you should see this:
+ * @image html signal2final.png
+ * @image rtf signal2final.png
+ * @image latex signal2final.eps width=\textwidth
+ *
+ * The .edc file:
+ * @include signalsBubble.edc
+ *
+ * The source code:
+ * @include signals2.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o signals2 signals2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc -id /path/to/the/image signalsBubble.edc
+ * @endverbatim
+ */
+
+/**
+ * @page tutorial_edje_animations_2 Edje animations example 2
+ *
+ * In this example we will make an animation of a bouncing ball.
+ *
+ * Our focus now will be in the .edc file, because in the C source code we just load the edje object and do
+ * nothing else.
+ *
+ * We want to give the freedom to the object to use the whole canvas of our program, so lets define
+ * the min, max of our group:
+ *
+ * @dontinclude animations2.edc
+ * @skipline max
+ * @skipline min
+ *
+ * You will notice that in our .c file the canvas will have this size
+ *
+ * Now we will define our part that's going to be our image, the ball:
+ * @skip part{
+ * @until type:
+ *
+ *
+ * At the description block bellow we are saying that this part has an image, defining
+ * the max and min size and it's position on the edje_object. The default state is the first
+ * state of the part, this means that when the edje object is loaded this one is going to be showed to you.
+ *
+ * Here it is:
+ * @dontinclude animations2.edc
+ * @skip description
+ * @until }
+ * @until }
+ *
+ * Now in the next description block we are saying where the ball is going to stop.
+ * Note that we have the "inherit" property. This means we are inheriting everything from default,
+ * except rel1 and rel2, because we are redefining it.
+ *
+ * Check the code:
+ *
+ * @skip description
+ * @until }
+ *
+ * We defined how our object will look like and it's position during the animation,
+ * now we need to define how it's going to act during the time. To do this we will
+ * use the programs block
+ *
+ * The first program block will start the animation, it will wait for the 'load' signal. This signal
+ * is generated when the edje object is loaded. The 'after' property is saying to this program block exactly this:
+ * "When you finish, call the program 'animation,state1' ". The 'in' property is saying, wait 0.5 seconds until you execute this program block.
+ *
+ * Here is the code:
+ *
+ * @skip program {
+ * @until }
+ *
+ * Now lets make the ball move and bounce it. In the second program block we are defining what we need to do
+ * with the action property. So we are saying change to the state "down-state" using the transition BOUNCE
+ * and apply this to the part "part_bubble". You can notice that BOUNCE has three parameters, the first one
+ * is saying how much time the transition will last, the second one is the factor of curviness
+ * and the last one is saying how many times and object will bounce.
+ *
+ * The code is very easy:
+ *
+ * @skip program {
+ * @until }
+ *
+ * Now all you have to do is compile the code and run it!
+ *
+ * When you compile and run it you should see this:
+ * @image html signal2final.png
+ * @image rtf signal2final.png
+ * @image latex signal2final.eps width=\textwidth
+ *
+ * The .edc file:
+ * @include animations2.edc
+ *
+ * The source code:
+ * @include animations2.c
+ *
+ * To compile use this command:
+ * @verbatim
+ * gcc -o animations2 animations2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
+ * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
+ * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
+ * `pkg-config --cflags --libs evas ecore ecore-evas edje`
+ *
+ * edje_cc  animations2.edc
+ * @endverbatim
+ */
diff --git a/doc/img/basic2final.eps b/doc/img/basic2final.eps
new file mode 100644 (file)
index 0000000..ef47a8c
--- /dev/null
@@ -0,0 +1,7715 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (basic2final.eps)
+%%CreationDate: (2012-04-03T11:58:25-03:00)
+%%BoundingBox: 0 0 393 246
+%%HiResBoundingBox: 0 0 393 246
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 393 246
+userdict begin
+DisplayImage
+0 0
+393 246
+12
+393 246
+0
+0
+C6C3C0C1BEBB3E3D393C3B374F4D484F4D484F4D484F4D494F4E494F4E494F4E494F4E494F4E49
+4F4E494F4E494F4E494F4E494F4E494F4E494F4E49504E49504E49504E49504E49504F49504F49
+504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A514F4A514F4A514F4A
+514F4A51504A51504A51504A51504A51504B51504B51504B51504B51504B51504B51504B52504B
+52504B52504B52504B52504B52504B52514B52514B52514B52514B52514B52514B52514C52514C
+52514C52514C53514C53514C53514C53514C53514C53514C53524C53524C53524C53524C53524C
+53524C53524C53524C53524C54524D54524D54524D54524D54524D54524D54524D54534D54534D
+54534D54534D54534D54534D54534D54534D54534D55534D55534D55534D55534E55534E55534E
+55534E55544E55544E55544E55544E55544E55544E55544E55544E55544E56544E56544E56544E
+56544E56544E56544F56544F56554F56554F56554F56554F56554F56554F56554F56554F57554F
+57554F57554F57554F57554F57554F57554F57554F57564F575650575650575650575650575650
+575650575650585650585650585650585650585650585650585650585650585750585750585750
+585750585751585751585751595751595751595751595751595751595751595751595751595751
+5958515958515958515958515958515958515958525A58525A58525A58525A58525A58525A5852
+5A58525A58525A58525A58525A59525A59525A59525A59525A59525A59525B59525B59525B5953
+5B59535B59535B59535B59535B59535B59535B59535B5A535B5A535B5A535B5A535B5A535C5A53
+5C5A535C5A535C5A535C5A535C5A535C5A545C5A545C5A545C5A545C5A545C5B545C5B545C5B54
+5C5B545C5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B555D5B55
+5D5C555D5C555D5C555D5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C55
+5E5C555E5C555E5C555E5D565E5D565E5D565E5D565F5D565F5D565F5D565F5D565F5D565F5D56
+5F5D565F5D565F5D565F5D565F5D565F5D565F5E565F5E565F5E565F5E57605E57605E57605E57
+605E57605E57605E57605E57605E57605E57605E57605E57605E57605F57605F57605F57615F57
+615F57615F57615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58
+616058616058626058626058626058626058626058626059626059626059626059626059626059
+626059626059626059626159636159636159636159636159636159636159636159636159636159
+63615A63615A63615A63615A63615A63615A63625A64625A64625A64625A64625A64625A64625A
+64625A64625A64625A64625A64625A64625A64625B64625B64625B64635B65635B65635B65635B
+65635B65635B64635B64625B64625B64625B64625A64625A64625A64625A64625A64625A64625A
+64625A64625A64625A64625A64625A63625A63615A63615A63615A63615A63615A63615A636159
+636159636159636159636159636159636159636159636159626159626059626059626059626059
+626059626059626059ECECEC3F3E3A474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746423F3E3A474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746423F3E3A474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4443403C3B383A3A363B3A373C3B373B3A363B3A36393834373733363632363632363632363632
+3636323636323636323636323636323636323837333938343A39353A39353A3935393834383734
+363632363632363632363632363632363632363632363632363632363632363632383733393834
+3A39353A39353A39353938343C3B3743433E474642464541474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424544403E3E393C3B373C3B363C3A363D3A363C39363D3A363C3A363C3B363C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373B3A363B3A363B3A363A39353A39353A3935393835393834
+3938353A39353A39353A39353B3A363B3A363B3A363C3B373C3B373C3B373C3B373B3A363B3A36
+3A39353938353A39353938353938343938353A39353938353A39353D3D39454440464541474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424544423D3B373B3A363C39368A5E4EC0795FE0896BF79674E1896BC17A5F
+8D5F4F3D3A363B3A363C3B373C3B373C3B373C3B373B3A363B3B363B3A36393835393835595854
+74736E87868298979287868275746F5A59553A39363938353A39353B3B363B3A363C3B373B3A36
+3C3B363B3A363A393539383554534F77767187878294938E8887827978745756513A3936393835
+3B3936454440464541474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247453F43413D403F3F454642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247454144423E403F3D434442474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424544403D3B383C3A3657463DDC8364F8916BF78F68F78D66
+F68B64F78D66F78F68F8916BDF846559473D3C3A363C3B373C3B373C3B373B3A363A3935393834
+43433F81807C94938D91908B8E8D898C8B858E8D8991908B94938D82817D4444403938343B3A35
+3B3A363C3B373B3A363A393539383442413C7B7A7692918C91908B8E8D898C8B858E8D8991908B
+94938D81807A4544403938343C3A37464541474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247453F424753636E74807A614C413E45453E3D3937373739
+3F4241474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474541444243525E67757B76694E3F424442
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247453E3D39373737393F4241474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746423F3D393B3A365C473DEA8763F5875F
+F38156F38156F38156F38156F38156F38156F38156F5875EEC88645B463C3B3A363C3B373C3B37
+3B3A363938354544418988848D8D8688878187878086857F86857F86857F8787808887818D8D86
+8A89854544413938353B3A363C3B373B3A3639383542413D8685808D8D86888781878780878680
+86857F86857F8787808887818D8D8689888443423F3938353F3E3A474642474642474642474642
+47464247464247464247464247464247464247464247464247453F3E3736363635363635363635
+3636353636353636384144414746424746424746424746424540373F68A9DCD9D1DFC687543C3A
+3B405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247453E393D5FABD5D0
+DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247453E3D405A8EB4C3D5C7A481513D3F4241474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746424746424444403C3B373D3A36
+D77955F07D51EE7647EE7647ED7647EE7647EE7647EE7647ED7647EE7647EE7647F17E51D87753
+3F3A363C3B373B3A373A39353938347D7C7689888184837D83827C82817B81807A807F7981807A
+82817B83827C84837C8988827D7C753A39353A39353B3A373A393538373479797389888184837D
+82817B81807A807F797F7E78807F7981807A82817B84837D8988827D7C753A39353A3935474642
+47464247464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0
+DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBB075453A4144414746424746424746424540373F68A9
+DCD9D1DFC687543B38394C7DC1D7CFDDDAD0B670433B4041474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47453E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464246433B3A4D7DC1D7CFDDDAD0B67043
+3B4041474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+3E3E3A3B3A3686543FED784BEB6E39EB6E39D56334C0592FEA6D39EB6E39EA6E39C45B30D06133
+EB6E39EB6E39EF794A88553F3C3A363B3A3639383455544F85847E7F7E787F7E777E7D767C7B74
+7B7A737A79737B7A737C7B747E7D767F7E777F7E7886857F5555503938343B3A3639383551504C
+85847E7F7E787F7E783F3E3A3B3A363B3A363B3A363B3A363B3A363A39357E7D777F7E7886857F
+555550393834474642474642474642474642474642474642474642474642474642474642474642
+47453F3D3A508BC4D0DEDBD2DFDAD0DCD8D0DCD8D0DCD8D0DCD1A770443B41454147453F413D39
+383736363635416AAADDD9D1DFC687543C3B3F3D4159738290836851403E444542474641423E3B
+3938353636363737393D404046464247464247464247464247464247464247464244413B3B3936
+37363536373637393A41443E393D5FABD5D0DEDBC49C5D3D3736363638383C403F464642474642
+474642474641423F3B3A38363636363738393D3F3F464542474640413A36363635373C3F464642
+46433B38363637393E45464247453E3A36363636363C4141474642474642474642474641423E41
+59738290836851403E444540403B3838373636363536363537393A3E3E3B3C3937373636373738
+3C3E3F464642474642474641433D38383735363635363636383A3B414341474642474642474640
+423F3A3A37363736353636363738383B3E3F464642474642474641423E3B393835363636373739
+3D4040464642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642454440454440454440454440454440454440
+4544404544404544403C3B373A3935C36946EA6F3BE96A33E96A33BF5C32502817BB552AE76933
+C2582C522917B95A31E86A33E96A33EB6F3BC66A463C3A353B3A363938346D6D677D7C767A7973
+7A797379787178777077766F77766F77766F7877707978717A79737A79737D7C766E6E683A3935
+3B3A363938346A69637E7D767B7A737A79733F3E3A7E7D767E7D767E7D767E7D767F7E773F3E3A
+7978727B7A737E7D76706F693A3935454440454440454440454440454440454440454440454440
+45444045444045444045433D3C3A508BC4D0DEDBD2C6864F3934333333333333333333373F433F
+45433D3D3F517697ACC6CFCFDFDBCACECACFDFDBD2DFC687543B39373D5FABD5D0DEDBC49B5B3C
+3C403E3E3A435D7D98B9C5C9DEDBCED2C3A9967251403D3D434440454440454440454440454440
+423E3B486584AABEC5DADAD2DFD9CACDB9936A4739383D5FABD5D0DEDBD2DED6D0DFDBD1D3C5AE
+9E7753413D3D44444045443E3E3B425C7B96B6C2C6DBDBCDD0C1AA997654413C3B3E394473B2CF
+DDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4995B3C3C403F454440
+45444045433D383D5FABD5D0DEDBC49B5B3C393B5080A0ADC3CBCADDDBD2DFDBCACDB99A8B818A
+A8BCC3DADBD2D6CAB5A8835B443D3C44443F403B406092AECBD0CFDFDBD2DFD4C4C4AF8D72503E
+3F403F45443E3E3B435E7D98B6C1C5DADAD1DFDACBD0C4B2AA8756423D3D44443E3E3A435D7D98
+B9C5C9DEDBCED2C3A9967251403D3D434440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+45444045444045444045444045444045444045444045444045444045444042413D42413D42413D
+42413D42413D42413D42413D42413D42413D3C3B37393835E07146E96830E8662EE8662EEA713F
+C273534F28179C4622502717BC6F51E97241E8662EE8662EE96830E172463C39353A3935383733
+79787277766F77766F76756E75746D75746D75746D74736C75746D75746D75746D76756E77766F
+77766F7978723938343A393538373475746E78777077766F77766F3F3E3A75746D76756E75746D
+76756E76756E3F3E3A76756E77766F7877707A797339383442413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42403B3B39508BC4D0DEDBD2C788513C3736363635
+363635373A3B42403C3D38436DA7C8DDDAD2DED9D0D9D2CDDDD9D1DFDBD2DFC687543B38363C5F
+ABD5D0DEDBC49B5B3C3A373C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A669443B3D3C41413D
+42413D42413D41403939436CAFD6D0DEDBD2DECDBDC7C7C5D8CC9A613E38373C5FABD5D0DEDBD2
+DED9CDD7D7D0DDDBD2DFDBC49E5F403A3E3C3F3A3D598EBADDDAD2DEDAD0DDD8D0DDDAD1DFDBD1
+BD834F3D38374A7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
+613F383F403D42413D42413D42403B373C5FABD5D0DEDBC49B5B3C373C5FABD5D0DEDBD2DED7CB
+D9D9D0DEDBD2DFDBD2DED9D0DAD7D0DDDBD2DFDBC9A767413B3E3B3F383B5C9AC1DAD4C7D0CBC6
+D9D9D0DEDBD2DFC386553B383C383D5F96BFDDDAD2DED9D0D1C4BACAD5D1DFDBD2DFB46B42393A
+3E383C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A669443B3D3C41413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B3C3B37393834E97140E66228
+E66228E66228E66228E76E39A05B4043221499583EE66E3DE66228E66228E66228E66329E97040
+3C39343A393538373379797273726B73726B74736C3C3B373B3A363B3A363B3A363B3A363B3A36
+3B3A3673726B73726B72716A7979723938343A393538373376756F73726B73726B74736C3F3E3A
+74736C75746D75746D75746D75746D3F3E3A73726B73726B73726B7A7973393834403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403E393A39508BC4D0DEDBD2
+DFDBD2DFDBD2DFDBD2DFDBD2CD94563D3837384B7ABFD9D1DFDBC6A16944373435436FADDDD9D1
+DFC687543B37363C5FABD5D0DEDBC49B5B3C394670B5D8D0DEDBB88B573E38363A4E7AADDBDAD1
+DFB872483A393E3E3B403F3B403F3B403D373A5186C6D9D1DFDBB582503C36363436373A3E3E39
+373C5FABD5D0DEDBC49B5B3B35384D83BDD0DEDBD2D29C5A3E3A37384671B6D8D0DEDBCAB18058
+44383A517EAEDADAD1DFD4A2684136394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D
+5084B8DDDAD2D8A964413A3A3F3F3B403F3B403F3B403F39373C5FABD5D0DEDBC49B5B3C373C5F
+ABD5D0DEDBC49B5B3B37446CB1D6D0DEDBD2BD774637384B80BCD0DEDBD2D49F5C3E3A393E3F39
+3D383737393C4247494D5A7DBDD9D1DEDBB57D4A37394876BAD9D1DEDBC8AA6F46373539538BBC
+DDDAD2DFB46B423837384570B5D8D0DEDBB88B573E38363A4E7AADDBDAD1DFB872483A393E3E3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393C3C37
+393835DC6839E65F25E55E23E55E23E45E23BF511F5129179A593F4F2818B94E20E45D23E55E23
+E55E23E66025DD67383C39353A3935383733706F6A706F68706F6871706A7A79737B7A737C7B74
+7C7B747C7B747B7A737A797371706A6F6F68706F68706F6A3938343A39353837336E6D68706F68
+706F6972716A3F3E3A73726B75746D75746D75746D75746D3F3E3A717069706F69706F6873726C
+3938343E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3C38
+3939508BC4D0DEDBD2DFDACBD5D1C8D4D0C8D4D0C4BA89523C37353C5F9BD4D9D1DFD39E633E37
+3B3A353F68A9DCD9D1DFC687543B37353C5FABD5D0DEDBC49B5B3C3D5C97D1D9D1DFDBD2DEDAD1
+DEDAD1DEDAD1DEDAD1DEC98E583C363C3D393E3D393E3D393E3D38393C5691C2CEDCDAD1DFDBC7
+BFA48671533E3A3B38363C5FABD5D0DEDBC49B5B3C39363A5A99C4DDDAD2DEB1684137353C5C98
+D3D9D1DFD4A0643E373B3C3737436DB8D9D0DEDBBE8E543A3738508EC3D0DEDBC49C635F98C9D0
+DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43393A383E3D393E3D393E3D393E3D38363C5FABD5D0
+DEDBC49B5B3C373C5FABD5D0DEDBC49B5B3C38384D85BFD0DEDBD2C2814C39363A5A98C4DDDAD2
+DEB2694137373A3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A3C5F9AD5D9D1DFD4A0
+643D373B3839538BBCDDDAD2DFB46B4238353C5B97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1
+DEC98E583C363C3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373A3935B75A32E45F23E35B1CE35B1CC04E1C512816BA6949E67140C26E4D
+502717B94D1BE25B1CE35B1CE55F23BA5B323C3A353A39353938345F5E5A6D6C666C6B646E6D66
+706F6972716A73726B74736C73726B72716A706F686E6D666C6B646D6C66605F5B3A39353A3935
+3938345F5E5A6D6C666C6B656E6D673F3E39706F6873726B73726B73726B72716A3F3E396D6C66
+6C6B656D6C6664635E3938353C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3A363838508BC4D0DEDBD2C6864F3934333333333333333537373B39353B5E99
+D4D9D1DFD6A36840373939343F68A9DCD9D1DFC687543A36343C5FABD5D0DEDBC49B5B3B3D5F9C
+D3D9D1DFDBC1AC958A908E89908E89908E898F81644A3B373B3B373C3B373C3B373C3B373C3B35
+363F557690A3C4D4CFDDDBD2DFDBB78D563C353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2
+DFB46B4237343B5D98D2D9D1DFD4A1663F363A3A3637446EB8D9D0DEDBBE90543B3836395591BF
+DDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB7245383A3A373C3B373C3B373C3B37
+3C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C
+393639538BBCDDDAD2DFB46B4237353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A
+3C5E9DD4D9D1DFD49F643E36393639538BBCDDDAD2DFB46B4237343C5E9CD3D9D1DFDBC1AC958A
+908E89908E89908E898F81644A3B373B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373B3A363B3A363B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373B3A367B4730E35E23E25817E25817CA5727BD6A48
+E4662FE25817E4642BC16C4BC75727E25817E25817E45E247A46313C3A363B3A363938344B4A45
+6A69636867616968626B6A646E6D666F6E67706F686F6E676E6D666B6A646968626766606B6A64
+4A49453938343B3A363938344B4A456A69636867616A69623E3D393B3A363B3A363B3A363B3A36
+3B3A363B3A366968616867616C6B654E4D483938343C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C788513C3736363635363635
+363635373A35384874B9D8D0DEDBCDB67F523F3837416AAADDD9D1DFC687543A36343C5FABD5D0
+DEDBC49B5B3C384A77BBD8D0DEDBCDB683594339363636363B454C4A3F383A3B373C3B373C3B37
+3C3B373C3B373B3D4048413A373635363E5993C4D0DEDBD2C68750393D60ABD5D0DEDBC49B5B3C
+383739538BBCDDDAD2DFB46B42383537466FB5D7D0DEDBCBB2835B453B3D5480B0DBDAD1DFD4A1
+6841373A38343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E4639373B3B37
+3C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC49B5B3C373744
+77B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237364A7BB3DCDAD2DFBD7B4E3936363D5E
+A5D1D0DEDBBD8D533A374C7ABED8D0DFDBCAB07A53433E486A9DC4DDDAD2DFB46B423835364977
+BBD8D0DEDBCDB683594339363636363B454C4A3F383A3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373B3A361C1B193938343B3A363C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3835C35626E2591A
+E15511E35D1FE36228E15511E15511E15511E36127E35E22E15511E3591AB151273C39353C3B37
+3C3A363A39353938345E5E5966655F64635D65655E6867616968626A696269686268676165655E
+64635D66655F5959543938353A39353C3A363A39353938345E5E5966655F64645E6D6C67706F69
+72716A72716B72716A706F696E6D6764645E66655F61615B3A39353A39353C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2DFDBD2
+DFDBD2DFDBD2DFDBD2DFDBC9B36F4337373E5D94BDDBD8D1DEDBD2DFD8CAD8DAD2DFDBD2DEC687
+543B36343C5FABD5D0DEDBC49B5B3C38373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E
+383A373C3B373C3B373C3B373C39343B588FCCD9D1DACDBFC7C4C4DDDAD1DEDACBAC6A41363D5F
+ABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4238363A373C598EBADBD8D1DEDBD2DFDBD2
+DFDBD1DED9D0BF84503B38373C3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCE
+B370453939373C3B373C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0
+DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237353C5990CCD7D0
+DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A36374267A0C3DBD9D1DEDAD1DEDAD1DEDBD2DFDBD2
+DFB36B4238363A373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E383A373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393835000000191917373632
+3B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3B3A36523C30D0551DE15612E0520AE0520AE0520AE0520AE0520AE0520AE0520AE15612D2561C
+4D3B323B3A363C3B373C3B373B3A363938353E3D3A605F5962615B61605A62615B63625C64635D
+63625C62615B61605A62625C5F5E5A3D3C383938353B3A363C3B373B3A363938353F3E3B605F5B
+62625C61605A62615B63625C64635D64635D62615B61605B62625C61605C403F3B3938343A3A35
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A3638394F
+89C2CEDBD8D0DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0B871433939373838435D7D96B6C1C3D8D8CF
+DCD8CED4C9B6B49568473936353C61ACD5D0DEDBC49B5B3B383A353837415C7C95B4BEC1D7D8CF
+DCD8CED1C2A99161413A3A373C3B373C3B373C3B373C3A353E5983ADBFC4D9D8CFDCD8CFD5C8B1
+A3835D443836343C5FA9D2CEDCD8C29A5A3C3837395289BADAD7CFDCB26A4238363C3B37383841
+5D7E99B8C3C6DBD8CDD1C1AC9C79554138363B3B373C3B363A37395086B8DAD7CFCE97583D3837
+364771B7D6CEDCD2A16941373A3B373C3B373C3B373C3B373C3B373C3B36353C5FA9D2CEDCD8C2
+9A5A3C363C5FA9D2CEDCD8C29A5A3C37374476B5CDDBD8D0C1814C3936395289BADAD7CFDCB26A
+42383639383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F49383A3A36373944627E8FA4ACAE
+BAB1A4AEBECCDEDBD2DAAA634037373B3B353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9916141
+3A3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834
+0000001515151A19183736333B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373B3A36483B32AA4A1FDD540EDF5207DF5106DF5004DF5106DF5207
+DE540DAC4B1E493B323B3A363C3B373C3B373C3B373B3A373A3A353938343B3A3754534E5E5D58
+5E5D585D5C575D5C575D5C575E5D585F5E5955544F3C3B373938343B3A353C3B373C3B373B3A37
+3A3A353938343C3B3855544F5E5D585E5D585E5D575E5D575E5D575E5D585F5E595C5B56403F3B
+3938343B39353B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3A363834333333333333333333333333333333333333333538373C3B373C3B37
+3A37353534333333333333333434343536363836353B5382C4D9D1DFDBBA874F39393A373C3B36
+3938343534333333333333333334343739373C3B373C3B373C3B373C3B373C3B373C3A35363434
+3333333333333434343637363B3B373C3B363533333333343739373C3B373A3734333333333535
+3C3B373C3B373C3B373A38343434333333333334343737363B3B373C3B373C3B373C3B363A3734
+3333333437363C3B373C3A36353333333434393B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B363533333333343739373C3B363533333333343739373C3B373835333333333537373C3B37
+3A37343333333335353C3B373C3B373A3835353333333333333333333433343535393A373B3A38
+444C4A433A37363635373C5383B9CFDEDAD1C78A523B38363B3B373C3B36393834353433333333
+3333333334343739373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B37393834000000DCDCDC1111111B1B193837333B3A363C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363A39356E3F28AC491ACF4E0E
+DC5107D04E0EAE4919703F283B39353B3A363C3B373C3B373C3B373C3B373B3A363B3A373A3A35
+39383538373345444050504A58585259595458585351514B4544403837333938353A39353C3B36
+3B3A363C3B373B3A363C3A363A3A3539383538373348474252524C59595359585459595354544E
+4948433938343938343A39353B3B363B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36383A528BBAC5DBDBD2DFDBD1DDC88F
+5C3D363B3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B3739374678B8CFDDDAD2DAD2C9DADBD2DFDAD1DDD7AC7C4B38383A373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B37393834000000FEFEFED6D6D60E0E0E1E1D1B3837333B3A36
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3B3A363A39353938353938343938353A39353B3A363C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373B3A363B3A373B3A363A39353938343938343837333837333837333938343938343A3935
+3B3A363B3A363B3A363C3B373C3B373C3B373B3A363B3A373B3A363A3935393834383734383733
+3837333837333837343938343A39353A3A363C3A363B3A363C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36363E5EA0C7CE
+DBD8CCCEBA9A7E573E3A39373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B36393A4A759AADC5CCCBDCD8CFDCD2C2C4B191795940393937
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000FBFBFBFFFFFFD0D0D0
+0C0C0C1F1F1D3837333B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A373B3A363B39353A39353A39353A3935
+3B39353B3A363B3B363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36
+3B3A363A39353A39353A39353A39353A39353A3A363B3A363C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B363634333333333434343839373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36393634353433333333333333
+3435343939373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000
+F7F7F7FEFEFEFFFFFFC9C9C90A0A0A21211E3837343B3A363C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B37393834000000F4F4F4FBFBFBFFFFFFFFFFFFC3C3C30A0A0A2322203938343B3A363C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B37393834000000F0F0F0F8F8F8FFFFFFFFFFFFFFFFFFBBBBBB0A0A0A
+2524223938343B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000EDEDEDF4F4F4FBFBFBFFFFFF
+FFFFFFFFFFFFB4B4B40A0A0A2726233938343B3A363C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000E9E9E9
+F1F1F1F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFAAAAAA0A0A0A2828253938353B3A363C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3C3B37000000E6E6E6EDEDEDF4F4F4FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFA1A1A10B0B0A2C2B28
+3D3C383E3D393F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3AFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF4F4F4000000E3E3E3EAEAEAF1F1F1F8F8F8FDFDFD2C2C2C0A0A0A0A0A0A
+0A0A0A010101121212C5C5C5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DFDFDFE6E6E6D7D7D79C9C9CFCFCFC
+909090282828949494A3A3A3A6A6A6ACACACCECECEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DCDCDCCBCBCB
+1E1E1E0E0E0EEBEBEBF5F5F5121212989898E5E5E5F0F0F0F1F1F1F6F6F6FDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4
+000000C0C0C01A1A1A4C4C4C3636367F7F7FFCFCFC8080803E3E3EE4E4E4FDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4000000181818535353BABABAB1B1B1111111EDEDEDEFEFEF0E0E0EB2B2B2
+F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F40101015C5C5CBEBEBEECECECF2F2F2414141818181
+FCFCFC3E3E3E767676EDEDEDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6818181CACACAEDEDEDFDFDFD
+FCFCFCBDBDBD0E0E0E434343131313919191EEEEEEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF1F1F1
+F4F4F4FDFDFDFFFFFFFFFFFFF7F7F7B3B3B36F6F6F9A9A9AD7D7D7F8F8F8FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8EDEDEDEEEEEEF9F9F9FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFE
+FEFEFEC2C2C2C6C6C6CBCBCBCFCFCFD2D2D2D6D6D6D9D9D9DBDBDBDEDEDEE0E0E0E1E1E1E1E1E1
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
+B8B8B8BDBDBDC1C1C1C5C5C5C8C8C8CBCBCBCECECED1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDB
+DCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E2E2E2E0E0E0FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
+FEFEFEB8B8B8BABABABFBFBFC3C3C3C6C6C6C9C9C9CCCCCCCFCFCFD2D2D2D4D4D4D6D6D6D8D8D8
+DADADADCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E3E3E3E1E1E1FEFEFE
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEB3B3B3B7B7B7B7B7B7BBBBBBBFBFBFC2C2C2C6C6C6C9C9C9CCCCCCCFCFCFD1D1D1D4D4D4
+D9D9D9DEDEDEE2E2E2E6E6E6E8E8E8E9E9E9EAEAEAE9E9E9E7E7E7E6E6E6E6E6E6E7E7E7E8E8E8
+E8E8E8E7E7E7E6E6E6E4E4E4DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFEFEFEB5B5B5B6B6B6B6B6B6BABABABEBEBEC1C1C1C5C5C5C8C8C8CBCBCBCECECE
+D1D1D1D8D8D8DEDEDEE4E4E4E9E9E9EEEEEEF1F1F1F4F4F4F6F6F6F6F6F6F6F6F6F4F4F4F1F1F1
+EDEDEDE9E9E9EAEAEAEBEBEBEBEBEBEBEBEBEAEAEAE8E8E8E6E6E6FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEB0B0B0B3B3B3B3B3B3B4B4B4B8B8B8BCBCBCC0C0C0C3C3C3C6C6C6
+C9C9C9CCCCCCD1D1D1D8D8D8DFDFDFE6E6E6ECECECF2F2F2F6F6F6FAFAFAFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCF9F9F9F4F4F4EEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECEBEBEBE9E9E9
+F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEAEAEAEB0B0B0B0B0B0B2B2B2B7B7B7BABABABEBEBE
+C1C1C1C4C4C4C7C7C7CACACACFCFCFD6D6D6DEDEDEE5E5E5ECECECF2F2F2F8F8F8FDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF7F7F7F1F1F1EFEFEFEFEFEFEFEFEF
+EFEFEFEEEEEEEDEDEDEBEBEBF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEAAAAAAACACACADADADB0B0B0B5B5B5
+BBBBBBBFBFBFC2C2C2C4C4C4C5C5C5C8C8C8CBCBCBD2D2D2DADADAE1E1E1E9E9E9F0F0F0F6F6F6
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8
+F1F1F1F0F0F0F0F0F0F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFFBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEA6A6A6A8A8A8A9A9A9
+AEAEAEB5B5B5BABABABFBFBFC2C2C2C5C5C5C6C6C6C7C7C7C9C9C9CDCDCDD5D5D5DCDCDCE4E4E4
+EBEBEBF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFDF6F6F6F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F1F1F1F0F0F0F3F3F3FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEA2A2A2
+A4A4A4A6A6A6ACACACB3B3B3B9B9B9BEBEBEC1C1C1C4C4C4C6C6C6C7C7C7C7C7C7C9C9C9CECECE
+D5D5D5DDDDDDE4E4E4EBEBEBF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F2F2F2
+F2F2F2F0F0F0F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEA0A0A09F9F9FA3A3A3A8A8A8AFAFAFB6B6B6BBBBBBBFBFBFC3C3C3C5C5C5C6C6C6C7C7C7
+C7C7C7C9C9C9CECECED5D5D5DCDCDCE3E3E3EAEAEAF1F1F1F7F7F7FDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4F2F2F2F4F4F4
+F7F7F7FAFAFAFAFAFAF8F8F8F3F3F3F0F0F0F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFE9F9F9F9B9B9B9F9F9FA4A4A4ABABABB2B2B2B7B7B7BCBCBCC0C0C0C2C2C2
+C4C4C4C5C5C5C6C6C6C6C6C6C9C9C9CDCDCDD4D4D4DBDBDBE1E1E1E8E8E8EEEEEEF4F4F4FAFAFA
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFA
+F4F4F4F2F2F2F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFCFCFCF5F5F5F0F0F0FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9F9F9F9B9B9B9B9B9BA0A0A0A6A6A6ADADADB2B2B2B7B7B7
+BCBCBCBFBFBFC1C1C1C3C3C3C4C4C4C4C4C4C6C6C6C8C8C8CBCBCBD1D1D1D8D8D8DEDEDEE5E5E5
+EBEBEBF0F0F0F6F6F6FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCF8F8F8F2F2F2F2F2F2F6F6F6FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF5F5F5
+F0F0F0FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9CA1A1A1A7A7A7
+ADADADB2B2B2B7B7B7BABABABDBDBDBFBFBFC1C1C1C1C1C1C2C2C2C5C5C5C8C8C8CBCBCBCFCFCF
+D5D5D5DBDBDBE1E1E1E7E7E7ECECECF1F1F1F5F5F5F9F9F9FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F4F4F4F1F1F1F2F2F2F6F6F6FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCF3F3F3F1F1F1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C9A9A9A9A9A9A
+9D9D9DA1A1A1A7A7A7ACACACB1B1B1B5B5B5B8B8B8BBBBBBBDBDBDBEBEBEBFBFBFC2C2C2C5C5C5
+C7C7C7CACACACCCCCCD1D1D1D7D7D7DCDCDCE2E2E2E7E7E7EBEBEBF0F0F0F3F3F3F7F7F7F9F9F9
+FBFBFBFCFCFCFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F4F4F4F0F0F0F0F0F0F1F1F1F4F4F4FAFAFA
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0F2F2F2FDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C
+9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A6A6A6ABABABAFAFAFB3B3B3B6B6B6B8B8B8B9B9B9BCBCBC
+BFBFBFC1C1C1C4C4C4C7C7C7C9C9C9CCCCCCCECECED2D2D2D7D7D7DCDCDCE1E1E1E5E5E5E9E9E9
+EDEDEDF0F0F0F2F2F2F4F4F4F5F5F5F6F6F6F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFEFEFEFF0F0F0
+F1F1F1F2F2F2F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF3F3F3EEEEEEF3F3F3
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A5A5A5A9A9A9ADADADB0B0B0B3B3B3
+B5B5B5B8B8B8BBBBBBBEBEBEC1C1C1C3C3C3C6C6C6C8C8C8CBCBCBCDCDCDD0D0D0D2D2D2D7D7D7
+DBDBDBDFDFDFE3E3E3E6E6E6E9E9E9EBEBEBEDEDEDEEEEEEEFEFEFEFEFEFEEEEEEEDEDEDEBEBEB
+EDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F3F3F3F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
+F6F6F6EFEFEFECECECF2F2F2F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A4A4A4A8A8A8
+ABABABAEAEAEB1B1B1B4B4B4B7B7B7BABABABDBDBDC0C0C0C2C2C2C5C5C5C8C8C8CACACACCCCCC
+CFCFCFD1D1D1D3D3D3D5D5D5D9D9D9DCDCDCDFDFDFE2E2E2E4E4E4E6E6E6E7E7E7E8E8E8E8E8E8
+E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F4F4F4F9F9F9FDFDFDFFFFFF
+FFFFFFFFFFFFFCFCFCF6F6F6EFEFEFEDEDEDEAEAEAF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C
+A0A0A0A4A4A4A8A8A8ABABABAEAEAEB1B1B1B4B4B4B7B7B7B9B9B9BCBCBCBFBFBFC2C2C2C4C4C4
+C7C7C7C9C9C9CBCBCBCECECED0D0D0D2D2D2D4D4D4D6D6D6D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0
+E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0
+F4F4F4F8F8F8FBFBFBFCFCFCFCFCFCFAFAFAF5F5F5EFEFEFEDEDEDEBEBEBE7E7E7FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9D9D9DA2A2A2A6A6A6A9A9A9ACACACAEAEAEB0B0B0B3B3B3B6B6B6B8B8B8BBBBBB
+BEBEBEC0C0C0C3C3C3C6C6C6C8C8C8CACACACDCDCDCFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9
+DBDBDBDDDDDDDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDED
+EEEEEEEFEFEFEFEFEFF0F0F0F2F2F2F5F5F5F7F7F7F7F7F7F6F6F6F2F2F2EFEFEFEDEDEDEBEBEB
+E7E7E7E4E4E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9E9E9EA3A3A3A7A7A7ABABABADADADB0B0B0B1B1B1B2B2B2
+B5B5B5B7B7B7BABABABDBDBDBFBFBFC2C2C2C4C4C4C7C7C7C9C9C9CBCBCBCECECED0D0D0D2D2D2
+D4D4D4D6D6D6D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8
+EAEAEAEBEBEBECECECEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F1F1F1EFEFEF
+EEEEEEEDEDEDEBEBEBE8E8E8E3E3E3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF9E9E9E9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9E9E9E9F9F9FA4A4A4A8A8A8ABABABAEAEAE
+B0B0B0B2B2B2B3B3B3B4B4B4B6B6B6B9B9B9BCBCBCBEBEBEC1C1C1C3C3C3C6C6C6C8C8C8CACACA
+CCCCCCCFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0E1E1E1E3E3E3
+E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EBEBEBEBEBEBECECECEDEDEDEEEEEEEEEEEEEFEFEFEFEFEF
+EFEFEFEEEEEEEEEEEEEDEDEDECECECEAEAEAE8E8E8E4E4E4DBDBDBFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A0A0A0A4A4A4
+A8A8A8ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B8B8B8BABABABDBDBDBFBFBFC2C2C2
+C4C4C4C7C7C7C9C9C9CBCBCBCDCDCDD0D0D0D3D3D3D5D5D5D7D7D7D9D9D9DADADADBDBDBDDDDDD
+DEDEDEE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECECECEC
+EDEDEDEFEFEFF1F1F1F1F1F1F0F0F0EDEDEDECECECEBEBEBE9E9E9E7E7E7E4E4E4DDDDDDFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9B9B9B9E9E9EA0A0A0
+A1A1A1A2A2A2A4A4A4A8A8A8ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B7B7B7B9B9B9
+BCBCBCBEBEBEC1C1C1C3C3C3C5C5C5C8C8C8CBCBCBCECECED1D1D1D4D4D4D7D7D7D9D9D9DADADA
+DBDBDBDCDCDCDDDDDDDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9
+EAEAEAEAEAEAEDEDEDF1F1F1F4F4F4F6F6F6F6F6F6F5F5F5F2F2F2EDEDEDEAEAEAE9E9E9E6E6E6
+E3E3E3DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE9D9D9D9A9A9A9A9A9A
+9D9D9D9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A8A8A8ABABABAEAEAEB1B1B1B2B2B2B3B3B3B3B3B3
+B3B3B3B5B5B5B8B8B8BABABABDBDBDBFBFBFC2C2C2C4C4C4C8C8C8CBCBCBCFCFCFD2D2D2D5D5D5
+D7D7D7DADADADBDBDBDCDCDCDDDDDDDEDEDEDDDDDDDDDDDDDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4
+E5E5E5E6E6E6E7E7E7E8E8E8ECECECF0F0F0F5F5F5F8F8F8FAFAFAFBFBFBFAFAFAF7F7F7F2F2F2
+EBEBEBE7E7E7E6E6E6E3E3E3DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0A0A0
+9B9B9B9A9A9A9B9B9B9E9E9EA0A0A0A2A2A2A3A3A3A4A4A4A4A4A4A7A7A7ABABABAEAEAEB0B0B0
+B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B6B6B6B9B9B9BBBBBBBEBEBEC0C0C0C4C4C4C8C8C8CCCCCC
+CFCFCFD2D2D2D5D5D5D8D8D8DADADADCDCDCDDDDDDDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDEDEDE
+E0E0E0E1E1E1E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8EEEEEEF3F3F3F8F8F8FBFBFBFEFEFEFFFFFF
+FEFEFEFBFBFBF7F7F7F0F0F0E7E7E7E4E4E4E2E2E2DEDEDED6D6D6FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4A4A4A4A4A4A4A6A6A6
+AAAAAAACACACAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B5B5B5B7B7B7BABABABCBCBCBFBFBF
+C4C4C4C8C8C8CBCBCBCFCFCFD2D2D2D5D5D5D8D8D8DADADADCDCDCDDDDDDDEDEDEDEDEDEDEDEDE
+DEDEDEDDDDDDDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E4E4E4EAEAEAF0F0F0F6F6F6FAFAFA
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4EAEAEAE3E3E3E1E1E1DDDDDDD8D8D8FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4
+A5A5A5A5A5A5A5A5A5A8A8A8ABABABADADADAFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B3B3B3B6B6B6
+B8B8B8BBBBBBBFBFBFC3C3C3C7C7C7CBCBCBCECECED2D2D2D5D5D5D7D7D7D9D9D9DBDBDBDDDDDD
+DDDDDDDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E5E5E5EBEBEB
+F2F2F2F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EDEDEDE2E2E2DFDFDF
+DCDCDCD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9D9D9DA0A0A0
+A2A2A2A3A3A3A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A9A9A9ABABABADADADAEAEAEAFAFAFAFAFAF
+AFAFAFB2B2B2B4B4B4B7B7B7BABABABEBEBEC2C2C2C6C6C6CACACACDCDCDD1D1D1D4D4D4D6D6D6
+D8D8D8DADADADCDCDCDDDDDDDDDDDDDDDDDDDCDCDCDBDBDBDADADADBDBDBDCDCDCDDDDDDDEDEDE
+DFDFDFE6E6E6ECECECF2F2F2F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8
+EFEFEFE4E4E4DEDEDEDBDBDBD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A
+9A9A9A9D9D9DA0A0A0A2A2A2A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A7A7A7A9A9A9ABABAB
+ACACACADADADADADADAEAEAEB0B0B0B3B3B3B5B5B5B8B8B8BDBDBDC1C1C1C5C5C5C8C8C8CCCCCC
+CFCFCFD2D2D2D5D5D5D7D7D7D9D9D9DADADADBDBDBDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
+DADADADBDBDBDCDCDCDFDFDFE6E6E6ECECECF3F3F3F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF9F9F9F0F0F0E5E5E5DCDCDCD9D9D9D8D8D8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF9E9E9E9A9A9A9A9A9A9D9D9DA0A0A0A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A5A5A5A4A4A4
+A5A5A5A7A7A7A9A9A9AAAAAAABABABABABABACACACAEAEAEB1B1B1B3B3B3B7B7B7BBBBBBBFBFBF
+C3C3C3C7C7C7CACACACDCDCDD0D0D0D3D3D3D5D5D5D7D7D7D8D8D8D9D9D9DADADADADADADADADA
+D9D9D9D7D7D7D7D7D7D8D8D8D9D9D9DBDBDBDEDEDEE5E5E5ECECECF2F2F2F8F8F8FDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0E5E5E5DADADAD7D7D7D8D8D8FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4A4A4A4
+A4A4A4A4A4A4A3A3A3A2A2A2A4A4A4A6A6A6A8A8A8A8A8A8A9A9A9AAAAAAADADADAFAFAFB1B1B1
+B5B5B5B9B9B9BDBDBDC1C1C1C5C5C5C8C8C8CBCBCBCECECED1D1D1D3D3D3D5D5D5D6D6D6D7D7D7
+D8D8D8D8D8D8D7D7D7D7D7D7D5D5D5D5D5D5D6D6D6D7D7D7D9D9D9DDDDDDE4E4E4EBEBEBF1F1F1
+F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8EFEFEFE3E3E3D8D8D8D5D5D5
+D6D6D6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1
+A2A2A2A3A3A3A4A4A4A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A3A3A3A5A5A5A6A6A6A6A6A6A8A8A8
+ABABABADADADB0B0B0B3B3B3B7B7B7BBBBBBBFBFBFC2C2C2C6C6C6C9C9C9CCCCCCCECECED0D0D0
+D2D2D2D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6DCDCDC
+E2E2E2E9E9E9EFEFEFF5F5F5FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF6F6F6EDEDED
+E1E1E1D6D6D6D3D3D3D5D5D5FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A
+9B9B9B9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A2A2A2A1A1A1A0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A6A6A6A9A9A9ABABABAEAEAEB0B0B0B4B4B4B8B8B8BCBCBCC0C0C0C3C3C3C6C6C6
+C9C9C9CBCBCBCDCDCDCFCFCFD1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D0D0D0D1D1D1D2D2D2
+D3D3D3D4D4D4DADADAE0E0E0E7E7E7EDEDEDF2F2F2F7F7F7FBFBFBFEFEFEFFFFFFFFFFFFFDFDFD
+F9F9F9F3F3F3EAEAEADEDEDED4D4D4D1D1D1D3D3D3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+9D9D9D9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A1A1A1A0A0A0
+9F9F9F9E9E9E9F9F9FA0A0A0A2A2A2A5A5A5A7A7A7A9A9A9ACACACAEAEAEB2B2B2B5B5B5B9B9B9
+BDBDBDC0C0C0C3C3C3C6C6C6C8C8C8CACACACCCCCCCDCDCDCECECECFCFCFCFCFCFCFCFCFCECECE
+CDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D7D7D7DEDEDEE4E4E4EAEAEAEFEFEFF4F4F4F8F8F8FAFAFA
+FCFCFCFBFBFBF9F9F9F5F5F5EEEEEEE6E6E6DADADAD2D2D2CECECED1D1D1FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1
+A1A1A1A0A0A09F9F9F9E9E9E9D9D9D9C9C9C9E9E9EA0A0A0A3A3A3A5A5A5A7A7A7AAAAAAACACAC
+AFAFAFB3B3B3B6B6B6B9B9B9BDBDBDC0C0C0C2C2C2C5C5C5C7C7C7C8C8C8CACACACBCBCBCBCBCB
+CCCCCCCBCBCBCBCBCBCBCBCBCCCCCCCECECECFCFCFD0D0D0D4D4D4DBDBDBE0E0E0E6E6E6EBEBEB
+F0F0F0F3F3F3F6F6F6F7F7F7F7F7F7F4F4F4F0F0F0EAEAEAE1E1E1D6D6D6CFCFCFCCCCCCCECECE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
+9F9F9F9F9F9FA0A0A09F9F9F9F9F9F9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9E9E9EA1A1A1A3A3A3
+A5A5A5A8A8A8AAAAAAACACACAFAFAFB3B3B3B6B6B6B9B9B9BCBCBCBFBFBFC1C1C1C3C3C3C5C5C5
+C6C6C6C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9CACACACBCBCBCDCDCDCECECED1D1D1D7D7D7
+DDDDDDE2E2E2E7E7E7EBEBEBEFEFEFF1F1F1F2F2F2F1F1F1EFEFEFEAEAEAE4E4E4DBDBDBD0D0D0
+CCCCCCCACACACACACAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A
+9C9C9C9E9E9EA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAFAFAFB3B3B3B5B5B5B8B8B8BBBBBB
+BDBDBDBFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C7C7C7C8C8C8C9C9C9CACACA
+CBCBCBCECECED3D3D3D8D8D8DEDEDEE2E2E2E6E6E6E9E9E9EBEBEBECECECEBEBEBE8E8E8E4E4E4
+DDDDDDD5D5D5CCCCCCC9C9C9C7C7C7FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAFAFAF
+B2B2B2B4B4B4B7B7B7B9B9B9BBBBBBBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C2C2C2C3C3C3C4C4C4
+C6C6C6C7C7C7C8C8C8C9C9C9CACACACFCFCFD4D4D4D9D9D9DDDDDDE0E0E0E3E3E3E5E5E5E5E5E5
+E4E4E4E2E2E2DDDDDDD7D7D7CECECEC9C9C9C6C6C6C4C4C4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A4A4A4A6A6A6
+A8A8A8AAAAAAACACACAEAEAEB0B0B0B3B3B3B5B5B5B7B7B7B8B8B8BABABABBBBBBBCBCBCBEBEBE
+BFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C6C6C6C7C7C7C8C8C8CACACACFCFCFD3D3D3D7D7D7DADADA
+DDDDDDDEDEDEDEDEDEDDDDDDDADADAD6D6D6CFCFCFC8C8C8C6C6C6C3C3C3C0C0C0FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D
+9F9F9FA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAEAEAEB0B0B0B1B1B1B3B3B3B5B5B5B7B7B7
+B8B8B8BABABABBBBBBBDBDBDBEBEBEBFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6CACACA
+CECECED1D1D1D4D4D4D6D6D6D7D7D7D7D7D7D6D6D6D3D3D3CECECEC8C8C8C5C5C5C2C2C2BFBFBF
+BBBBBBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A3A3A3A5A5A5A7A7A7A9A9A9ABABABADADADAFAFAF
+B1B1B1B3B3B3B4B4B4B6B6B6B7B7B7B9B9B9BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C2C2C2
+C2C2C2C3C3C3C5C5C5C8C8C8CBCBCBCECECECFCFCFD0D0D0D0D0D0CECECECBCBCBC6C6C6C3C3C3
+C1C1C1BFBFBFBABABAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A3A3A3A5A5A5A7A7A7
+A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B8B8B8B9B9B9BABABABCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C5C5C5C7C7C7C8C8C8C9C9C9C8C8C8C6C6C6
+C3C3C3C1C1C1C0C0C0BEBEBEBBBBBBB6B6B6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9C9C9C
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
+A1A1A1A3A3A3A5A5A5A6A6A6A8A8A8AAAAAAACACACAEAEAEAFAFAFB1B1B1B2B2B2B4B4B4B5B5B5
+B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C1C1C1C0C0C0BFBFBFBEBEBEBCBCBCBABABAB6B6B6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D
+9D9D9D9E9E9E9D9D9D9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACADADADAEAEAE
+B0B0B0B1B1B1B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBCBCBC
+BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBABABAB8B8B8B6B6B6B1B1B1FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A49D9D9D9A9A9A
+9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9E9E9EA1A1A1A3A3A3A5A5A5A7A7A7A9A9A9AAAAAA
+ABABABACACACADADADADADADAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7
+B8B8B8B9B9B9BABABABBBBBBBCBCBCBBBBBBBABABABABABAB9B9B9B8B8B8B7B7B7B4B4B4B1B1B1
+A9A9A9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFA3A3A39C9C9C9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA2A2A2A4A4A4
+A6A6A6A8A8A8AAAAAAABABABACACACACACACADADADADADADADADADAEAEAEB0B0B0B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B6B6B6B8B8B8BABABABBBBBBBBBBBBBABABAB9B9B9B6B6B6B5B5B5B4B4B4
+B2B2B2B0B0B0ACACACFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19B9B9B9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0
+A0A0A0A0A0A0A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAABABABABABABACACACACACACABABABABABAB
+ADADADAEAEAEAFAFAFB0B0B0B1B1B1B3B3B3B5B5B5B7B7B7B8B8B8B9B9B9B9B9B9B8B8B8B6B6B6
+B3B3B3B2B2B2B0B0B0AEAEAEAAAAAAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A69E9E9E9B9B9B9B9B9B9C9C9C
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9F
+A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAAAAAAA
+AAAAAAAAAAAAA9A9A9AAAAAAABABABACACACADADADAFAFAFB1B1B1B3B3B3B5B5B5B6B6B6B7B7B7
+B6B6B6B5B5B5B2B2B2AFAFAFADADADACACACA9A9A9A8A8A8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5A5A5
+9E9E9E9A9A9A9B9B9B9D9D9D9D9D9D9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9C9C9C
+9D9D9D9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A6A6A6
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAADADADAFAFAFB1B1B1
+B3B3B3B3B3B3B3B3B3B2B2B2B0B0B0ADADADAAAAAAA9A9A9A7A7A7A8A8A8FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFA4A4A49D9D9D9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
+9A9A9A9B9B9B9C9C9C9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A5A5A5A5A5A5A4A4A4A5A5A5A5A5A5A8A8A8
+AAAAAAACACACAEAEAEAFAFAFAFAFAFAFAFAFAEAEAEABABABA8A8A8A6A6A6A6A6A6A7A7A7FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A49C9C9C9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1
+A1A1A1A3A3A3A5A5A5A7A7A7A9A9A9AAAAAAABABABABABABAAAAAAA8A8A8A5A5A5A3A3A3A3A3A3
+A5A5A5FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3A3A39C9C9C
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E9F9F9FA1A1A1A2A2A2
+A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A1A1A1A0A0A0
+9F9F9F9E9E9E9E9E9E9E9E9E9F9F9FA1A1A1A3A3A3A4A4A4A5A5A5A6A6A6A5A5A5A4A4A4A1A1A1
+9F9F9FA0A0A0A2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFA2A2A29B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D
+9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3
+A2A2A2A1A1A19F9F9F9E9E9E9C9C9C9B9B9B9A9A9A9B9B9B9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0
+9F9F9F9D9D9D9B9B9B9D9D9DA2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A4A4A4
+A4A4A4A3A3A3A2A2A2A1A1A1A0A0A09F9F9F9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9B9B9B9B9B9B9A9A9A9B9B9B9E9E9EA2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A3A3A3
+A3A3A3A4A4A4A3A3A3A3A3A3A2A2A2A1A1A1A0A0A09F9F9F9E9E9E9C9C9C9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9E9E9EA3A3A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFA0A0A09C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9F
+A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A0A0A09F9F9F9E9E9E9C9C9C9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9CA0A0A0A4A4A4FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9D9D9D
+9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9C9C9C9C9C9C
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9C9C9C
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
+A2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C
+9D9D9DFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9D9D9D9D9D9D9D9D9D9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9C9C9C
+9C9C9C9C9C9CFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFA1A1A1A0A0A09F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D
+9C9C9CFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/basic2final.png b/doc/img/basic2final.png
new file mode 100644 (file)
index 0000000..b7a2ebd
Binary files /dev/null and b/doc/img/basic2final.png differ
diff --git a/doc/img/edje-animations.eps b/doc/img/edje-animations.eps
new file mode 100644 (file)
index 0000000..0bb7b4a
--- /dev/null
@@ -0,0 +1,952 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-animations.eps
+%%CreationDate: Thu Aug  4 20:04:30 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 418 319
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 304 translate
+403 -304 scale
+% Image geometry
+403 304 8
+% Transformation matrix
+[ 403 0 0 304 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 403 string def
+/gstr 403 string def
+/bstr 403 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        19425 ASCII Bytes
+colorimage
+QmN1@2apVREIWq5Tqe:[!!<YS,`pd]&knCFL&bq1I]reP':o1(9TY0eqZ&icT>6Ng!/bLk!'?^>
++ohV#C&e6pQ^/*]O-c.B!0<J4%KHKdC&e6!QBt#?>bAfn!0<J4%KJb[QULm>QBt&;!"ipfI]rfU
+OH_s0(Rp;9!!%mkrW!:GM/<H]F`Y.p)OUI'&W1<'#K)Ib9E`ImLNF$KQ^<T*!.Y~>
+QmN1@6W.E;M41HQ_o0@i!!=-f=s\_"JH4s8J,~>
+QmN1@79!c>LR4mF_8O:k!!@*m_%;.tJH4s8J,~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!G2=_s+13$s7-*h!.Y~>
+!G2>@s+(0$!5&:4rr@Q~>
+!G2>es+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!G2=_s+13$s7-*h!.Y~>
+!G2>@s+(0$!5&:4rr@Q~>
+!G2>es+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+QmN1@&JZ<1,pjui/hAT*!.b.1!.Y~>
+QmN1@'cJ;G/MAh:3&W^H!.b.1!.Y~>
+QmN1@',_rA/1rY72`<OE!.b.1!.Y~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-animations.png b/doc/img/edje-animations.png
new file mode 100644 (file)
index 0000000..f54518f
Binary files /dev/null and b/doc/img/edje-animations.png differ
diff --git a/doc/img/edje-animations2.eps b/doc/img/edje-animations2.eps
new file mode 100644 (file)
index 0000000..02b7111
--- /dev/null
@@ -0,0 +1,944 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-animations2.eps
+%%CreationDate: Thu Aug  4 20:03:58 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 413 317
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 302 translate
+398 -302 scale
+% Image geometry
+398 302 8
+% Transformation matrix
+[ 398 0 0 302 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 398 string def
+/gstr 398 string def
+/bstr 398 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        15701 ASCII Bytes
+colorimage
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-animations2.png b/doc/img/edje-animations2.png
new file mode 100644 (file)
index 0000000..c1482b5
Binary files /dev/null and b/doc/img/edje-animations2.png differ
diff --git a/doc/img/edje-basics-example.eps b/doc/img/edje-basics-example.eps
new file mode 100644 (file)
index 0000000..96ce09d
--- /dev/null
@@ -0,0 +1,7202 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-basics-example.eps)
+%%CreationDate: (2011-07-29T13:24:11-03:00)
+%%BoundingBox: -0 -0 225 225
+%%HiResBoundingBox: 0 0 224.977 225
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 225 225
+userdict begin
+DisplayImage
+0 0
+224.977 224.977
+12
+300 300
+0
+0
+03FF0303FE0303FE0303FE0303FE0303FE0303FE0303FE0303FE0303FE0303FE0303FE0303FE03
+03FE0303FE0303FE0303FE0303FE0303FE0303FE03FAFEFAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFE00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FBFFFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00F70800FB0400FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FB0400FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFB
+FBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFF0404
+FF0000FFF7F7FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0808FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFBFBFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-basics-example.png b/doc/img/edje-basics-example.png
new file mode 100644 (file)
index 0000000..33de01f
Binary files /dev/null and b/doc/img/edje-basics-example.png differ
diff --git a/doc/img/edje-box-example.eps b/doc/img/edje-box-example.eps
new file mode 100644 (file)
index 0000000..aeccebc
--- /dev/null
@@ -0,0 +1,7202 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-box-example.eps)
+%%CreationDate: (2011-08-02T16:56:18-03:00)
+%%BoundingBox: -0 -0 300 300
+%%HiResBoundingBox: 0 0 300.083 300
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 300 300
+userdict begin
+DisplayImage
+0 0
+300.083 300.083
+12
+300 300
+0
+0
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080000000000000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080000000000000000000000000000000050505131313303030
+6B6B6B808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+000000000000000000000000000000000000000000000000000000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000000000000000000000000000000000
+000000040404656565808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+000000000000000000000000000000000000000000000000000000000000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080727272
+5555551919190000001F1F1F808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080000000000000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080000000000000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080000000000000808080808080808080
+808080808080606060000000080808808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080000000000000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+8080808080808080806060600000001E1E1E8080808080808080808080808080806666662A2A2A
+1414140505051414142A2A2A6666668080808080808080803333330000000F0F0F747474808080
+8080808080807474740F0F0F000000333333808080808080808080808080808080808080808080
+808080808080808080000000000000808080808080808080808080808080808080808080808080
+8080808080803333330000000F0F0F7474748080808080808080807474740F0F0F000000333333
+8080808080808080806868683939391818180707070909091B1B1B4040407B7B7B808080808080
+8080808080808080800000000000008080804747471D1D1D0808082828285E5E5E8080807F7F7F
+4747472121210707071A1A1A5B5B5B808080808080808080808080808080000000000000808080
+4646461E1E1E0707071A1A1A474747808080808080808080808080808080000000000000808080
+8080808080808080808080807272723333331A1A1A0707070D0D0D2020205151517F7F7F808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+8080808080807373735757571A1A1A000000454545808080808080808080808080434343010101
+0000000000000000000000000000000101014545458080808080807D7D7D1E1E1E0000001E1E1E
+7D7D7D8080807D7D7D1E1E1E0000001E1E1E7D7D7D808080808080808080808080808080808080
+808080808080808080808080000000000000808080808080808080808080808080808080808080
+8080808080808080807D7D7D1E1E1E0000001E1E1E7D7D7D8080807D7D7D1E1E1E0000001E1E1E
+7D7D7D8080808080808080800000000000000000000000000000000000000000001414147B7B7B
+8080808080808080808080800000000000003D3D3D000000000000000000000000070707707070
+3A3A3A0000000000000000000000000101016C6C6C808080808080808080808080000000000000
+3C3C3C0000000000000000000000000000002D2D2D808080808080808080808080000000000000
+808080808080808080808080535353060606000000000000000000000000000000000000242424
+7E7E7E808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080000000000000
+0000000000000000000000000000000E0E0E5454547F7F7F808080808080808080656565010101
+0000002121215050507474744F4F4F1F1F1F0000000101016666668080808080807474740E0E0E
+0000003333338080803333330000000E0E0E747474808080808080808080808080808080808080
+808080808080808080808080808080000000000000000000000000000000000000000000000000
+0000008080808080808080808080807474740E0E0E0000003333338080803333330000000E0E0E
+7474748080808080808080808080801A1A1A4F4F4F6B6B6B7A7A7A6B6B6B505050121212000000
+3E3E3E8080808080808080808080800000000000000707073C3C3C6D6D6D5E5E5E1D1D1D000000
+0F0F0F0707073C3C3C6C6C6C5E5E5E1C1C1C000000484848808080808080808080808080000000
+0000000202022E2E2E6464646464642E2E2E0202020000005C5C5C808080808080808080000000
+0000008080808080808080806E6E6E0505050202024141415D5D5D7676766A6A6A4C4C4C0E0E0E
+000000474747808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+000000000000000000000000000000000000020202333333727272808080808080808080292929
+0000002222228080808080808080808080808080801F1F1F0000002A2A2A808080808080808080
+666666040404000000262626000000040404656565808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000000000000000000000000000000000
+000000000000808080808080808080808080808080666666040404000000262626000000040404
+6565658080808080808080808080808080808080808080808080808080808080808080805F5F5F
+0000001A1A1A8080808080808080808080800000000000003D3D3D808080808080808080595959
+0000000000003D3D3D808080808080808080585858000000252525808080808080808080808080
+0000000000003030308080808080808080808080802F2F2F000000252525808080808080808080
+0000000000008080808080808080802F2F2F000000454545808080808080808080808080808080
+5858580000001C1C1C808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+0000000000008080808080808080807878785D5D5D4141410808080404046A6A6A808080808080
+1313130000005151518080808080808080808080808080804F4F4F000000141414808080808080
+808080808080535353000000000000000000515151808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080808080
+808080808080808080808080808080808080808080808080808080535353000000000000000000
+5151518080808080808080808080808080808080806D6D6D3737371717170A0A0A000000000000
+0000000000000808088080808080808080808080800000000000006A6A6A808080808080808080
+7979790000000000006A6A6A808080808080808080797979000000050505808080808080808080
+808080000000000000585858808080808080808080808080575757000000111111808080808080
+808080000000000000808080808080808080171717000000010101010101010101010101000000
+000000000000000000060606808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080800000000000008080808080808080808080808080808080804141410000003B3B3B808080
+808080040404000000747474808080808080808080808080808080737373000000050505808080
+8080808080808080807878780B0B0B0000001111117D7D7D808080808080808080808080808080
+808080808080808080808080808080808080808080808080000000000000808080808080808080
+8080808080808080808080808080808080808080808080808080808080807878780B0B0B000000
+1111117D7D7D808080808080808080808080808080636363040404000000000000000000000000
+000000000000000000000000808080808080808080808080000000000000808080808080808080
+808080808080000000000000808080808080808080808080808080000000000000808080808080
+808080808080000000000000767676808080808080808080808080757575000000040404808080
+808080808080000000000000808080808080808080050505000000000000000000000000000000
+000000000000000000000000000000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080800000000000008080808080808080808080808080808080807070700000000E0E0E
+808080808080131313000000515151808080808080808080808080808080505050000000141414
+8080808080808080808080802B2B2B0000000000000000003A3A3A808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+8080808080808080808080808080808080808080808080808080808080808080802B2B2B000000
+0000000000003A3A3A8080808080808080808080808080801E1E1E0000001C1C1C626262767676
+7C7C7C808080707070000000000000808080808080808080808080000000000000808080808080
+808080808080808080000000000000808080808080808080808080808080000000000000808080
+808080808080808080000000000000585858808080808080808080808080585858000000111111
+8080808080808080800000000000008080808080808080801616160000005B5B5B808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080000000000000808080808080808080808080808080808080414141000000
+131313808080808080292929000000222222808080808080808080808080808080202020000000
+2A2A2A8080808080808080804B4B4B000000060606505050020202000000575757808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+8080808080808080808080808080808080808080808080808080808080808080804B4B4B000000
+060606505050020202000000575757808080808080808080808080060606000000696969808080
+808080808080808080343434000000000000808080808080808080808080000000000000808080
+808080808080808080808080000000000000808080808080808080808080808080000000000000
+808080808080808080808080000000000000313131808080808080808080808080303030000000
+2525258080808080808080800000000000008080808080808080803030300000001414147D7D7D
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080800000000000008080808080808080807878785E5E5E424242080808
+000000343434808080808080646464010101000000222222515151747474505050212121000000
+0101016666668080808080806868680404040000005454548080804747470000000707076E6E6E
+808080808080808080808080808080808080808080808080808080808080808080000000000000
+808080808080808080808080808080808080808080808080808080808080808080686868040404
+0000005454548080804747470000000707076E6E6E8080808080808080801515150000002A2A2A
+6565657777775A5A5A353535030303000000000000808080808080808080808080000000000000
+808080808080808080808080808080000000000000808080808080808080808080808080000000
+0000008080808080808080808080800000000000000303032F2F2F6565656565652F2F2F030303
+0000005C5C5C8080808080808080800000000000008080808080808080806F6F6F080808000000
+1F1F1F4343436262627A7A7A717171636363414141151515808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080000000000000000000000000000000000000000000000000
+000000171717797979808080808080808080414141010101000000000000000000000000000000
+0101014343438080808080807A7A7A131313000000333333808080808080808080292929000000
+1717177B7B7B808080808080808080808080808080808080808080808080808080808080000000
+0000000000000000000000000000000000000000000000000000008080808080807A7A7A131313
+0000003333338080808080808080802929290000001717177B7B7B8080808080804F4F4F000000
+000000000000000000000000000000454545000000000000808080808080808080808080000000
+000000808080808080808080808080808080000000000000808080808080808080808080808080
+0000000000008080808080808080808080800000000000003B3B3B000000000000000000000000
+0000002D2D2D8080808080808080808080800000000000008080808080808080808080805B5B5B
+0A0A0A000000000000000000000000000000000000000000000000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080800000000000000000000000000000000202020F0F0F
+2020204E4E4E7C7C7C808080808080808080808080808080646464292929131313040404131313
+2929296565658080808080808080802F2F2F0000001616167B7B7B808080808080808080787878
+121212000000313131808080808080808080808080808080808080808080808080808080808080
+0000000000000000000000000000000000000000000000000000000000008080808080802F2F2F
+0000001616167B7B7B808080808080808080787878121212000000313131808080808080808080
+6262623939391111110E0E0E272727555555808080000000000000808080808080808080808080
+000000000000808080808080808080808080808080000000000000808080808080808080808080
+8080800000000000008080808080808080808080800000000000008080804444441D1D1D060606
+1A1A1A474747808080808080808080808080808080000000000000808080808080808080808080
+8080807979794141412121210F0F0F0303030E0E0E1D1D1D3F3F3F6A6A6A808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080000000000000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080000000000000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080808080
+808080000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000808080808080320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+808080808080000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
+808080140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000808080808080320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080808080808080000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+808080808080140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
+808080280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000808080808080320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080808080808080000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A0000808080808080140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+808080808080280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000808080808080320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080808080808080000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000008080808080800A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A0000808080808080140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400008080808080801E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E0000808080808080280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000808080808080320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080808080808080000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000008080808080800A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A0000808080808080140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400001400008080808080801E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E0000808080808080280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000808080808080320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080808080808080000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000808080808080
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A0000808080808080140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400001400001400008080808080801E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E0000808080808080280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000808080808080320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080808080808080000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000808080
+8080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A0000808080808080140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000808080808080
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E0000808080808080280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000808080808080320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080808080808080000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+8080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000808080
+8080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E0000808080808080280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000808080808080
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080808080808080000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+8080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000808080
+808080320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080808080808080000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+808080808080320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080808080808080000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000808080808080320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080808080808080
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000008080808080800A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000808080808080320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080808080
+808080000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000808080808080320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+808080808080000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
+808080140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000808080808080320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080808080808080000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+808080808080140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
+808080280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000808080808080320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080808080808080000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A0000808080808080140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+808080808080280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000808080808080320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080808080808080000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000008080808080800A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A0000808080808080140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400008080808080801E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E0000808080808080280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000808080808080320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080808080808080000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000008080808080800A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A0000808080808080140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400001400008080808080801E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E0000808080808080280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000808080808080320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080808080808080000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000808080808080
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A0000808080808080140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400001400001400001400008080808080801E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E0000808080808080280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000808080808080320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080808080808080000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000808080
+8080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A0000808080808080140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000808080808080
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E0000808080808080280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000808080808080320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080808080808080000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+8080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000808080
+8080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E0000808080808080280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000808080808080
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080808080808080000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+8080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000808080
+808080320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080808080808080000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+808080808080320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080808080808080000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000808080808080320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080808080808080
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000008080808080800A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000808080808080320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080808080
+808080000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000808080808080320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+808080808080000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
+808080140000140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000808080808080320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080808080808080000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+808080808080140000140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
+808080280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000808080808080320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080000080000080000080000080000080000080000080000080000080000080000080
+000080000080808080808080000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
+0A0000808080808080140000140000140000140000140000140000140000140000140000140000
+140000140000140000140000140000140000140000140000140000140000140000140000140000
+1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
+808080808080280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000280000280000280000280000280000280000280000
+280000280000280000280000280000280000808080808080320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000320000
+320000320000320000320000320000320000320000320000320000320000320000320000808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
+808080460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000808080808080500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000808080808080
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+808080808080820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+808080808080460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000808080808080500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000808080
+8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000808080808080820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C0000808080808080460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000808080808080500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000808080808080820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000808080808080500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000808080808080820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+8080808080808080808080808080808080808080808080808080808080808080808080803C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C0000808080808080460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000808080808080500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000808080808080820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C0000808080808080460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000808080808080500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
+808080640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000808080808080820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+8080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C0000808080808080460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000808080808080
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000008080808080805A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+808080808080640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000808080808080820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+8080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000808080
+808080500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000008080808080805A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080808080
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF808080808080640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000808080808080820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+8080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+808080808080500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000008080808080805A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080
+8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF808080808080640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000808080808080820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+8080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000808080808080500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000008080808080805A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000808080808080820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+8080808080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000808080808080500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000008080808080805A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000808080808080820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+8080808080808080808080808080808080803C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000808080808080500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000005000008080808080805A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000808080808080
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+8080808080808080808080808080808080808080803C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000808080808080500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000005000005000008080808080805A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000808080
+808080820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
+808080460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000808080808080500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000808080808080
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+808080808080820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+808080808080460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000808080808080500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000808080
+8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000808080808080820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C0000808080808080460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000808080808080500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000808080808080820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000808080808080500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000808080808080820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+8080808080808080808080808080808080808080808080808080808080808080808080803C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C0000808080808080460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000808080808080500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000808080808080820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C0000808080808080460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000808080808080500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
+808080640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000808080808080820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+8080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C0000808080808080460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000808080808080
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000008080808080805A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+808080808080640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000808080808080820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+8080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000808080
+808080500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000008080808080805A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080808080
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF808080808080640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000808080808080820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+8080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+808080808080500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000008080808080805A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080
+8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF808080808080640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000808080808080820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+8080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000808080808080500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000008080808080805A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000808080808080820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+8080808080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000808080808080500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000008080808080805A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000808080808080820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+8080808080808080808080808080808080803C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000808080808080500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000005000008080808080805A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000808080808080
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+8080808080808080808080808080808080808080803C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000808080808080500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000005000005000005000005000005000005000005000005000005000008080808080805A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000808080
+808080820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
+808080460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000808080808080500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000808080808080
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+808080808080820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+808080808080460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000808080808080500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000808080
+8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000808080808080820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C0000808080808080460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000808080808080500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000808080808080820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
+3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000460000460000460000460000460000
+460000460000460000460000460000460000460000460000808080808080500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+500000500000500000500000500000500000500000500000500000500000500000500000500000
+5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
+5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000640000640000640000640000640000640000640000640000640000640000
+640000640000640000808080808080820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000820000820000820000820000
+820000820000820000820000820000820000820000820000820000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
+808080960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+8080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+808080808080960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000808080808080A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080
+808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+8080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C0000808080808080960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000808080808080A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080
+808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+8080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C0000808080808080960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000808080808080A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+8080808080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C0000808080808080960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000808080808080A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+8080808080808080808080808080808080808080808080808080808080800000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C0000808080808080960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000808080808080A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+8080808080808080808080808080808080808080808080808080808080808080800000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
+8080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C0000808080808080960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000808080808080
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+8080808080808080808080808080808080808080808080808080808080808080808080800000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000808080
+808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080
+808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
+808080960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+8080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+808080808080960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000808080808080A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080
+808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+8080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C0000808080808080960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000808080808080A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080
+808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+8080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C0000808080808080960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000808080808080A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+8080808080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C0000808080808080960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000808080808080A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+8080808080808080808080808080808080808080808080808080808080800000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C0000808080808080960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000808080808080A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+8080808080808080808080808080808080808080808080808080808080808080800000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
+8080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C0000808080808080960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000808080808080
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+8080808080808080808080808080808080808080808080808080808080808080808080800000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000808080
+808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080
+808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
+8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
+808080960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000960000960000960000960000960000960000960000960000
+960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
+A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
+AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
+B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
+BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+008000008000008000008000008000008000008000008000008000008000008000008000008000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-box-example.png b/doc/img/edje-box-example.png
new file mode 100644 (file)
index 0000000..75153b7
Binary files /dev/null and b/doc/img/edje-box-example.png differ
diff --git a/doc/img/edje-box2-example.eps b/doc/img/edje-box2-example.eps
new file mode 100644 (file)
index 0000000..c7af68c
--- /dev/null
@@ -0,0 +1,23909 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-box2-example.eps)
+%%CreationDate: (2011-08-02T16:56:25-03:00)
+%%BoundingBox: -0 -0 640 480
+%%HiResBoundingBox: 0 0 640.178 480
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 640 480
+userdict begin
+DisplayImage
+0 0
+640.178 480.133
+12
+640 480
+0
+0
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000000000000000
+0000000505051313133030306B6B6B808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080000000000000000000000000000000000000000000000000000000000000
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080806C6C6C454545212121101010
+0404040F0F0F2020205050507D7D7D808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+000000000000000000000000000000000000000000040404656565808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000000000000000000000000000000000
+000000000000000000808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+000000000000808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+0000000000000000000000000000000000000000001B1B1B7A7A7A808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080800000000000008080808080808080807272725555551919190000001F1F1F808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080000000000000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080801313133939395D5D5D6E6E6E7A7A7A6161613B3B3B050505000000343434808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080000000000000808080808080808080808080808080606060
+000000080808808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+000000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080808080803D3D3D
+000000111111808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080000000000000808080808080808080
+8080808080806060600000001E1E1E8080808080808080808080808080806666662A2A2A141414
+0505051414142A2A2A6666668080808080808080803333330000000F0F0F747474808080808080
+8080807474740F0F0F000000333333808080808080808080808080808080808080808080808080
+808080808080000000000000808080808080808080808080808080808080808080808080808080
+8080803333330000000F0F0F7474748080808080808080807474740F0F0F000000333333808080
+8080808080806868683939391818180707070909091B1B1B4040407B7B7B808080808080808080
+8080808080800000000000008080804747471D1D1D0808082828285E5E5E8080807F7F7F474747
+2121210707071A1A1A5B5B5B808080808080808080808080808080000000000000808080464646
+1E1E1E0707071A1A1A474747808080808080808080808080808080000000000000808080808080
+8080808080808080807272723333331A1A1A0707070D0D0D2020205151517F7F7F808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080727272000000090909808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080000000000000
+8080808080808080807373735757571A1A1A000000454545808080808080808080808080434343
+0101010000000000000000000000000000000101014545458080808080807D7D7D1E1E1E000000
+1E1E1E7D7D7D8080807D7D7D1E1E1E0000001E1E1E7D7D7D808080808080808080808080808080
+808080808080808080808080808080000000000000808080808080808080808080808080808080
+8080808080808080808080807D7D7D1E1E1E0000001E1E1E7D7D7D8080807D7D7D1E1E1E000000
+1E1E1E7D7D7D808080808080808080000000000000000000000000000000000000000000141414
+7B7B7B8080808080808080808080800000000000003D3D3D000000000000000000000000070707
+7070703A3A3A0000000000000000000000000101016C6C6C808080808080808080808080000000
+0000003C3C3C0000000000000000000000000000002D2D2D808080808080808080808080000000
+000000808080808080808080808080535353060606000000000000000000000000000000000000
+2424247E7E7E808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080585858000000222222808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080800000000000000000000000000000000000000000000E0E0E5454547F7F7F808080808080
+8080806565650101010000002121215050507474744F4F4F1F1F1F000000010101666666808080
+8080807474740E0E0E0000003333338080803333330000000E0E0E747474808080808080808080
+808080808080808080808080808080808080808080808080000000000000000000000000000000
+0000000000000000000000008080808080808080808080807474740E0E0E000000333333808080
+3333330000000E0E0E7474748080808080808080808080801A1A1A4F4F4F6B6B6B7A7A7A6B6B6B
+5050501212120000003E3E3E8080808080808080808080800000000000000707073C3C3C6D6D6D
+5E5E5E1D1D1D0000000F0F0F0707073C3C3C6C6C6C5E5E5E1C1C1C000000484848808080808080
+8080808080800000000000000202022E2E2E6464646464642E2E2E0202020000005C5C5C808080
+8080808080800000000000008080808080808080806E6E6E0505050202024141415D5D5D767676
+6A6A6A4C4C4C0E0E0E000000474747808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080757575111111000000606060808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080000000000000000000000000000000000000000000020202333333
+7272728080808080808080802929290000002222228080808080808080808080808080801F1F1F
+0000002A2A2A808080808080808080666666040404000000262626000000040404656565808080
+808080808080808080808080808080808080808080808080808080808080808080000000000000
+000000000000000000000000000000000000000000808080808080808080808080808080666666
+040404000000262626000000040404656565808080808080808080808080808080808080808080
+8080808080808080808080805F5F5F0000001A1A1A808080808080808080808080000000000000
+3D3D3D8080808080808080805959590000000000003D3D3D808080808080808080585858000000
+2525258080808080808080808080800000000000003030308080808080808080808080802F2F2F
+0000002525258080808080808080800000000000008080808080808080802F2F2F000000454545
+8080808080808080808080808080805858580000001C1C1C808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080807A7A7A1D1D1D000000333333
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080787878
+5D5D5D4141410808080404046A6A6A808080808080131313000000515151808080808080808080
+8080808080804F4F4F000000141414808080808080808080808080535353000000000000000000
+515151808080808080808080808080808080808080808080808080808080808080808080808080
+808080000000000000808080808080808080808080808080808080808080808080808080808080
+808080808080808080535353000000000000000000515151808080808080808080808080808080
+8080806D6D6D3737371717170A0A0A000000000000000000000000080808808080808080808080
+8080800000000000006A6A6A8080808080808080807979790000000000006A6A6A808080808080
+808080797979000000050505808080808080808080808080000000000000585858808080808080
+808080808080575757000000111111808080808080808080000000000000808080808080808080
+171717000000010101010101010101010101000000000000000000000000060606808080808080
+8080808080808080808080808080808080808080808080808080808080808080807676761B1B1B
+0000002525257D7D7D808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+8080808080808080808080808080804141410000003B3B3B808080808080040404000000747474
+808080808080808080808080808080737373000000050505808080808080808080808080787878
+0B0B0B0000001111117D7D7D808080808080808080808080808080808080808080808080808080
+808080808080808080808080000000000000808080808080808080808080808080808080808080
+8080808080808080808080808080808080807878780B0B0B0000001111117D7D7D808080808080
+808080808080808080636363040404000000000000000000000000000000000000000000000000
+808080808080808080808080000000000000808080808080808080808080808080000000000000
+808080808080808080808080808080000000000000808080808080808080808080000000000000
+767676808080808080808080808080757575000000040404808080808080808080000000000000
+808080808080808080050505000000000000000000000000000000000000000000000000000000
+000000808080808080808080808080808080808080808080808080808080808080808080808080
+6E6E6E1212120000002323237B7B7B808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+0000000000008080808080808080808080808080808080807070700000000E0E0E808080808080
+131313000000515151808080808080808080808080808080505050000000141414808080808080
+8080808080802B2B2B0000000000000000003A3A3A808080808080808080808080808080808080
+808080808080808080808080808080808080808080000000000000808080808080808080808080
+8080808080808080808080808080808080808080808080808080802B2B2B000000000000000000
+3A3A3A8080808080808080808080808080801E1E1E0000001C1C1C6262627676767C7C7C808080
+707070000000000000808080808080808080808080000000000000808080808080808080808080
+808080000000000000808080808080808080808080808080000000000000808080808080808080
+808080000000000000585858808080808080808080808080585858000000111111808080808080
+8080800000000000008080808080808080801616160000005B5B5B808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080806464640A0A0A0000002525257C7C7C808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080000000000000808080808080808080808080808080808080414141000000
+131313808080808080292929000000222222808080808080808080808080808080202020000000
+2A2A2A8080808080808080804B4B4B000000060606505050020202000000575757808080808080
+808080808080808080808080808080808080808080808080808080808080000000000000808080
+8080808080808080808080808080808080808080808080808080808080808080804B4B4B000000
+060606505050020202000000575757808080808080808080808080060606000000696969808080
+808080808080808080343434000000000000808080808080808080808080000000000000808080
+808080808080808080808080000000000000808080808080808080808080808080000000000000
+808080808080808080808080000000000000313131808080808080808080808080303030000000
+2525258080808080808080800000000000008080808080808080803030300000001414147D7D7D
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080805757570404040000002D2D2D7D7D7D808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080800000000000008080808080808080807878785E5E5E
+424242080808000000343434808080808080646464010101000000222222515151747474505050
+212121000000010101666666808080808080686868040404000000545454808080474747000000
+0707076E6E6E808080808080808080808080808080808080808080808080808080808080808080
+000000000000808080808080808080808080808080808080808080808080808080808080808080
+6868680404040000005454548080804747470000000707076E6E6E808080808080808080151515
+0000002A2A2A6565657777775A5A5A353535030303000000000000808080808080808080808080
+000000000000808080808080808080808080808080000000000000808080808080808080808080
+8080800000000000008080808080808080808080800000000000000303032F2F2F656565656565
+2F2F2F0303030000005C5C5C8080808080808080800000000000008080808080808080806F6F6F
+0808080000001F1F1F4343436262627A7A7A717171636363414141151515808080808080808080
+8080808080808080808080808080808080804848480101010000003838387F7F7F808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000000000000000
+000000000000000000000000000000171717797979808080808080808080414141010101000000
+0000000000000000000000000101014343438080808080807A7A7A131313000000333333808080
+8080808080802929290000001717177B7B7B808080808080808080808080808080808080808080
+808080808080808080000000000000000000000000000000000000000000000000000000000000
+8080808080807A7A7A1313130000003333338080808080808080802929290000001717177B7B7B
+8080808080804F4F4F000000000000000000000000000000000000454545000000000000808080
+808080808080808080000000000000808080808080808080808080808080000000000000808080
+8080808080808080808080800000000000008080808080808080808080800000000000003B3B3B
+0000000000000000000000000000002D2D2D808080808080808080808080000000000000808080
+8080808080808080805B5B5B0A0A0A000000000000000000000000000000000000000000000000
+808080808080808080808080808080808080808080808080808080000000000000000000000000
+000000000000000000000000000000000000757575808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+0000000000000000000000000202020F0F0F2020204E4E4E7C7C7C808080808080808080808080
+8080806464642929291313130404041313132929296565658080808080808080802F2F2F000000
+1616167B7B7B808080808080808080787878121212000000313131808080808080808080808080
+808080808080808080808080808080808080000000000000000000000000000000000000000000
+0000000000000000008080808080802F2F2F0000001616167B7B7B808080808080808080787878
+1212120000003131318080808080808080806262623939391111110E0E0E272727555555808080
+000000000000808080808080808080808080000000000000808080808080808080808080808080
+000000000000808080808080808080808080808080000000000000808080808080808080808080
+0000000000008080804444441D1D1D0606061A1A1A474747808080808080808080808080808080
+0000000000008080808080808080808080808080807979794141412121210F0F0F0303030E0E0E
+1D1D1D3F3F3F6A6A6A808080808080808080808080808080808080808080808080808080000000
+000000000000000000000000000000000000000000000000000000757575808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080000000000000808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080000000000000808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080000000000000808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080000000
+000000808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF00808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808080808080808000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808080808000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF00808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808080808080808000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808080808000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
+00FF00808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
+00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
+00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
+FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080808080808080808080808080808080
+808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-box2-example.png b/doc/img/edje-box2-example.png
new file mode 100644 (file)
index 0000000..3182c9e
Binary files /dev/null and b/doc/img/edje-box2-example.png differ
diff --git a/doc/img/edje-color-class-example.eps b/doc/img/edje-color-class-example.eps
new file mode 100644 (file)
index 0000000..6dc65de
--- /dev/null
@@ -0,0 +1,1330 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-color-class-example.eps
+%%CreationDate: Fri Aug  5 11:38:26 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 416 415
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 399.98900386828211 translate
+400.98897637795284 -399.98900386828211 scale
+% Image geometry
+401 400 8
+% Transformation matrix
+[ 401 0 0 400 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 401 string def
+/gstr 401 string def
+/bstr 401 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        28884 ASCII Bytes
+colorimage
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JH34\JUk:]!!%N~>
+JcE:\JUk:]!!%N~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+p&Omfnc/q#&/cZR?\H,ji;`ZSp]'4QkPsNAqu6XtqZ$VVmf*8uqZ$UtnG`OO"8i-""6T"Np](:V
+m/I&mp]1*hnGigt$PFF;;gc@To)JRek5Y/UJ,~>
+JH16$JH50>J,~>
+pAamfo)B!imcE6AT6`d)huNZSpAj4Qk5aNAqZ$Voqu6Y8mJm6Tqu6Yon,NJ+qu$Hpq\\]#q#:?2
+li7$Xq#C*hnc&mkoBbJXX+EP?nc8RejoG2V!!%N~>
+o`4jgkl:buF4K=Nq#L6jhuN$AhuN`U!*Asr!-[l3!(Zhb!*Aak!9X%V!9WbMp&G(Omf*8mp&Osh
+kPtYhA)m7^q#KXYp&KU~>
+JH16$JH50>J,~>
+p&Fjgl2LhMM^dZdq>^6ji;`$Ai;``U!2oYm!/U+E!4M_'!2oAf!>tb2rrN$7mf<(]!64F,!20&c
+q>faZ!qr'%o`4gfkQ(AW!!%N~>
+o`4jgjo>EppuVPO!;ZZQ!9sOA!<)oum0EFe!7169!2]Jk!=/#_rr@TE!!%Q<s7H?lmI:,Vr!rE#
+qZ#[X!<RN>s7lZYs7QGC~>
+JH16$JH50>J,~>
+p&FjgkPkV^QNlOOq>^6ji;`$Ai;``U!>5#$rrN'Nnc/Ylq>UKg&b5o%IJEgBII@10rrN'1n,NIj
+me6\W!9X:^qh=_Dq>]XYp\t3nJ,~>
+oDndgjT#;qbi\s#!;c`Q!:'UA!<)otXSDhs$i0Gp!U9m`!!$*mrrN$2pAb3RnGi.]!%.48!6"L0
+qu>^W!BU2Ss7cTYs7QGC~>
+JH16$JH50>J,~>
+o`+dgjo5AG1$/K2s7u`Qs69UAs8;ou;?$Fl!V$?c!!*f.p\t5koDemnlM1A[rYk8+p&>$Dn,NGL
+o`+dgjSo8!!VcZis60OXrr<%L~>
+oDndgj8]2_[cd\c!;c`Q!:'UA!;uis:\atj9_A>b1A:bL)X[1s!4):u!*\mloDemYnc&T5oDndg
+irB*<rV?Kg!9sOW!.Y~>
+JH16$JH50>J,~>
+o`+dgjSo8W8EU!Js7u`Qs69UAs82isY5/(tZ1J"rbP2#;j:V"a!)3+d!2K#`p&>'k&b,i$L\1WD
+!9=([`W>l8q#BRYp\t3nJ,~>
+oDndgirB)]b38m#!;c`Q!:'UA!;uitp(7$"!4DP#!/pON!4h_$!($;Y!=/Pms7?9kT^i$^,kM*6
+s5F"YDYa>-!9sOW!.Y~>
+JH16$JH50>J,~>
+o`+dgj8T/W1["i6s7u`Qs69UAs82it#jqKg!WGU_!!%'6rrN*fo)Jd(pAY0f!q?9_rr??p!!(^E
+s8)fUrrA,U!;QTY!;HKn!.Y~>
+oDndgiW&u_hs(19!;c`Q!:'UA!;lcr`;'B6"S2?f!SmhO!!$g+rrD!L!!&PZs7?9k6Lt-Vh"(OC
+s5<qXf)#FA!9sOW!.Y~>
+JH16$JH50>J,~>
+o`+dgir9&S*pE\"s7u`Qs69UAs8)cs3WAmT!Vd)u!!+5>p\t5Wo)Je4rq69k@IX?irrB_&!!"57
+s8)fUrrN'Gq>g<jklCJX!!%N~>
+oDndgi;`lno]lJO!;c`Q!:'UA!;c]qB__W.1\q%Or#te7!@IL2rr@98!!"55s7?9l#Q"&l!0?^O
+qu>UT!$V4=p]0RYp&KU~>
+JH16$JH50>J,~>
+o`+dgiVrrB$L.Wds7u`Qs69UAs7u]qQ21F[anYo;!o3PM!S@_M!!%cGrrCdC!;-9lpB:'f!,qK/
+qZ,UT!8RDNq#BRYp\t3nJ,~>
+mf3%^q#:Nmo&@ok4no!WBBoNl!;c`j!7CiA!9*qYq],D3!13Q^!-7f6!<^I8rrMs,o)JdFo)J:]
+!5J.*!'ToRqu?Ekp\tEqp$L_F'_q_/_YaB.!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^p](L&$lh!'_#F00!1)mMq#C0jq#A_Aq#B:Q!<_<Vrr?X,!!%rOrrN!So)Jdome$M[rZ^n5
+oD\eTo)Jd+oDe[fq#C'g"T\oA*D#DjrrN*]qZ-EkklCMYrr@Q~>
+mf3%^o)Aa?"o/,ui9UF<!;c`j!7CiA!9!kXf)b^J!<ME^rrC::!!%N>rrB(i!!#mes763j@eB[$
+mfE"[qu?Eko)Aa["o83!./X&>!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^nc/\=q"k!kr>k2(q#C0jq#A_Aq#B7P!@Ia@rrN$5qu?aPrV-<lJ+<R><:^%hXRZA_rrAP\
+!!*W-oDe[fq#Bmb!=ei#rrCXI!;QTY!;QTo!.Y~>
+mf3%^nc&U4q#CCMli6_[qZ$<jdJrtAhu<\/q#CC;rVlon'__S.2#?eC!''cS!#,50!<r>ks763j
+(%hM+Vt'ibs7cTarr@0:!!)-Ys7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^nGiSFrVHNobNf0's7u`js3UiAs5*eVHMRR@hYdET#3bg]!QkQ9!!("6rrD?]rrMouo)SC^
+!9s+U!*AakqZ-EknGiQGqYpTq)>jL0s60OYs8N(L~>
+mf3%^nG`KIq#CEFm/Qh\qZ$<jdJrtAhZ!R-q#CDArr2t&pAb4#fCJqAg%YOIIej$EORrMC!!(dH
+rr?0l!;lfk!:g'h_"ds1Nr8qP!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^n,NH.qYpTq.-ps/s7u`js3UiAs5!_Ud/!\AK)P`MU\FchodB;1!@@a@rr@QFrr?p-!:p-i
+,P;$:V=OZ`!;QTa!!#4Yrr@$9!;QTY!;QTo!.Y~>
+mf3%^n,EA3q>^L\m/Qh\qZ$<jdJrtAhZ!W?"o/-"huC7\!!&5Qrr?s4!!5+J"8`&u*:s4$!!%`H
+rrMs(nc8Rep]0ja!9*_R!(m+gp]0RYp](?p!.Y~>
+JH16$JH50>J,~>
+mK!%^mf3@BqYpQ/li?h\q>g<jd/`tAh>dQlq"k!nr>u#-rqHEmC[hB)O88eW`t/"CrrD!K!:p-i
+GkM+<"S)'_qZ-EknGiP0q>UH&quHNlklCMYrr@Q~>
+mf3%^n,EBfq>^NskjAEF!;c`j!7CiA!8[YTTD8Hg)"J+0!!,Oeo)Aab$MaZ'R/^.^!!(I>s7--i
+/,&uC^[V=$s7cTarrDZd!!"VKs7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^mf3>eqYpTo(@;+ss7u`js3UiAs4mYT?MXU&jUC\RrrKY2nc/[qo(i:eAcSh-rrN*LoDnI^
+!7UWA!'g#RqZ-EknGiOsq>UHBquHNlklCMYrr@Q~>
+mf3%^n,EF^"Sr)uMXCH=!;c`j!7CiA!8RSS6MUT],kh9>&EE<\!2B8h!t"Js]_VU.8G)rP!!)N_
+rr@*0!;lfk!:g'hbkV5=')_e)!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^mf3@oq"k!jF6ru&s7u`js3UiAs4dSS]D;I,g%YLImMkZr!*o@""8*-(6Mg]^[IaIirrN'.
+pAb2Pnc/Idq#Bja!&FBM!:9U`q#BRYq#C?oJ,~>
+mf3%^mf*8Rq>^LTmJlq]qZ$<jdJrtAh#@EF$h"&qVXXTc0DPSN>lXj&(&It3"8DKgnGiQep\t48
+nGrIdp]0ja!292g!!`B$p]0RYp](?p!.Y~>
+JH16$JH50>J,~>
+mK!%^mJm7!qYpQ7m/Zq]q>g<jd/`tAg].?ao'cSY=RZ:jcM@JCU&Y/okPP8[q?QZnnc&SipAb3M
+nc/Idq#Bja!+#F#!;QHlq#BRYq#C?oJ,~>
+mf3%^mf*9<q>^O#qX4CY!;c`j!7CiA!8IMR\F9Iu=7H4ideEeB^Ae-4Iej$EL%YK@!!!c2!!#Oa
+rrC[?!;lfk!:g'h<qu^q)Z9X1!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^mJm68qYpTk"RZ9bs7u`js3UiAs4[MS7K2iW!2o;d!%dpF!'pM`!.aqG!-n/:q#:?Yqu6Z)
+p](:AnGi@cq#Bja!2oYm!9F%Xq#BRYq#C?oJ,~>
+mf3%^mf*9aq#CE5mf3%^qZ$<jdJrtAgA_.Wnc/\/mI:,UAbc<,+oVE?!8mVQ!#G8-p](;*qZ$X&
+r;$?mMXUWCs7cTbrrC.8!!"_Ns7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^mJm5hq>UFUmK!%^q>g<jd/`tAg&M,Jo)AaO&b#c#RJHj`h#[KT!?_=<rrD6T!;QQoRJ[!b
+o`Fph!-I`1qZ-Eknc/\JrqZQocMR\;s60OYs8N(L~>
+p]1'gp]0a^!6b0<!.jS<p]10jirJ6AirJQJ!VdE$!!'S!rrM]rq#CDGr;QaWq>^N:pAamf!3uA#
+!6"^5!&s`S!%%C?qu?EkoD\j=#l"B"B)M](!9sOW!.Y~>
+JH16$JH50>J,~>
+q#C'gq#Ba^!&OHN!.F88q#C0jj8\6Aj8\QJ!=%c[rrN*fn,NIsp%eUfIJa'F`;9K62>.%Frr>di
+rr>+U!!(%8rrCaIs8)fks763k/G/`;!1<Zaq#BRYp\t3nJ,~>
+pAk!gp]0a^!9*_R!+#$mp]10jiW/0AiW/HI!6t-9!,M''!1N]`!<M-VrrAhj!!#:Xs7cQpoE4sj
+!,;<0!:9L]!-.c6qu?Ekq>UWsn`.EH3VEFQWVlek!9sOW!.Y~>
+JH16$JH50>J,~>
+p](!gq#Ba^!$1n8!28f\q#C0jirA0AirAHI!AOKFrrA8O!!$R*rrN'>qu?_$qYpQ0p&Omf!=JZ"
+rrA>\!!*`2qYpPTq#C3kq#C-i"p#/P5&S@=p\t4nquHNlklCJX!!%N~>
+pAk!gp]0a^!:9L]!(lVYp]10jiW/0AiW/EH!-Io7!@IL.rr=GB!!#FarrMctqZ$WtoCr:[!!3*g
+qZ$U5qYpPiq#CE/p]13khuEcgnGN=]!9sOW!.Y~>
+JH16$JH50>J,~>
+p](!gq#Ba^!##,-!4D4pq#C0jirA0AirAEH!/^FL!S@_I!!(UGrrBY-!!*E!qu6]p$hjYrrrE,0
+qu6ZXq>^M#q>UF[q#C3ki;WiH%f?>%s60OXrr<%L~>
+p&Opgp]0a^!;H9h!&a3Ep]10ji;i*Ai;i?H!-S#9!<^I4rrC4:!!&klrr?O)!!%?>s7cQps-3?[
+!8m\R!)iXn!>#&%!;lfS!!%EDs7cTYs7QGC~>
+JH16$JH50>J,~>
+pAapgq#Ba^!!i?"!6OX/q#C0jiW&*AiW&?H!/UCL!W+bC!!"kNrr?3u!!&Mbrr@`H!;QQp!,DB1
+!$D(<!3>tr!Ug0ds8)fSrr@ZJ!;QTY!;HKn!.Y~>
+p&Opgp]0a^!;ZEj!$Ue1p]10ji;i*Ai;iBI!71?=!-%B+!*o="!>"o#rrC.:!!!W*s7cQps5<_R
+!0$jU!Vm#t!!-4%p]13ki;`lqm/-hX!9sOW!.Y~>
+JH16$JH50>J,~>
+pAapgq#Ba^!!W2u!8[&Cq#C0jiW&*AiW&BI!A=?FrrA&H!!&_grrMQoq>^LRqYpQ^pAk!g!<=2;
+rr@':!!*8qqYpSn!;QTk!9*qYjq@Okq#BRYp\t3nJ,~>
+p&Opgp]0a^!9s:Z!"SGsp]10ji;i*Ai;iEJ!VmN)!!*o7nG`OY"Si#tB__T-+Sl'<^A.a'!<<'!
+-MmcC0DthM\bQ4+V#U2iqu>XU!<U%4s7cTYs7QGC~>
+JH16$JH50>J,~>
+pAapgq#Ba^!#>>0!:]CVq#C0jiW&*AiW&EJ!<qWZrrM6_n,NJ!q"apiQM:F[h>7-O5PP6Rs8N'!
+fDGRJcMRYB7JZra=oe?tqZ,XU!W51Y!;QTY!;HKn!.Y~>
+p&Opgp]0a^!8@5K!!M`ip]10ji;i*Ai;iEJ!+,9t!,D$'!0[*W!6Y*:!/p[R!''cRp]1?o!-nA@
+!<Mfjrr?m3!!38is7cTks5O(["Io5ep]0RYp&KU~>
+JH16$JH50>J,~>
+pAapgq#Ba^!$qC?!;c*`q#C0jiW&*AiW&EJ!2&o`!0cmP!,VH1!&XHN!-A#:!64d6q#C?o!/CCN
+!W3?(!!&2YrrW'0!;QTk!9=([qIB=$q#BRYp\t3nJ,~>
+p&Opgp]0a^!6Y*;!#"`"p]10ji;i*Ai;iHK!5.k&!7(-7!$LA'!:]gap]1?o!6"^6!3H/!!#bV5
+!^?Yap]13kj8]2r_>+'*!9sOW!.Y~>
+JH16$JH50>J,~>
+pAapgq#Ba^!&XNO!:9+Rq#C0jiW&*AiW&HK!C?_WrrN*OnGiRFk5PJ\%f$,"s8N'!3r8jV;>gIp
+jSJlX^]4B0s8)fWrrM=Hp]1*hklCJX!!%N~>
+mf3%^mf*9tq#CC=mf3%^qZ$<jdJrtAh#@EH%IsK"$i0Do!5dds!,q]5p]1?o!W3B'!!#amrrCIB
+!!8&Xs7cTks5j:_.@9]$s7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^mJm5Uq>UHMmK!%^q>g<jd/`tAg].?_nFHS[nHJLa!'K?B!0?pUq#C?o!<VcfrrB;&!!"VH
+rrR9B!;QTk!9X:_eRo6`!;QTY!;QTo!.Y~>
+mf3%^mf*9Gq#CCLmf3%^qZ$<jdJrtAh#@@Gn,NG_oD\egj8]/hq>^3irr2t$qZ$a,rVunNq#CKJ
+s8Vioqu?$`"q2D!4)(;9o`+[dl2UMY!WN.M~>
+JH16$JH50>J,~>
+mK!%^mJm6-q>UH>mK!%^q>g<jd/`tAg].>]nG`Kmo)JckjSo5Lq#L3irVuqoqu6fj!<<+Gq>ULD
+!!)foqZ-'a#QF;Te\dY[.eE`9s60OYs8N(L~>
+mf3%^mf*8dq#CC\mf3%^qZ$<jdJrtAh>[JRmJm6pp&>'Y!oj7\ZMOUr!<2uuVtpAqaoDArq>^L@
+rr;`nqu?EkirAcRl2UMY!WN.M~>
+JH16$JH50>J,~>
+mK!%^mJm6eq>UH.mK!%^q>g<jd/`tAh#IFTn,EFf8+ci_'Dphi!)*.gq#C<n!*B$s"#U&Ybkh>>
+gAV*Is8)fks5F%Rs60OYs8N(L~>
+mf3%^mf*8)q#CD.mf3%^qZ$<jdJrtAhZ!WC#58)t6MUT^"nMBe!/TV7!&+3Kp]1<n!:K[`!cS,&
+q#CD7rr;`nqu?EkirAcRl2UMY!WN.M~>
+JH16$JH50>J,~>
+mK!%^mJm7Jq>UG\mK!%^q>g<jd/`tAh>dQhp@nRf])MR+!Vd)s!!%0$rrC=?!;QTn!!*Z/qu6bY
+!#GP0rrA&X!;QTk!;QTR!;QTY!;QTo!.Y~>
+mf3%^n,ECGp](;brr32$M/#[8%ef\tp]10jp]/_Ap]01N!&aKN!ZCB:q#CCNp\t9m);tPql21MU
+!<)ot3VrdX*<2Q)!!'_3s7cTks7cTRs7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^mf3>/q#:>&rW!.'Fd05[n-Jdhq#C0jq#A_Aq#B1N!6Fp7!p(#]q>UH:pAb3pj5U(>r=o,/
+q#C9m!6"d7!oX,gq>UF\rW)`nqZ-EkiW/cRklCMYrr@Q~>
+mf3%^n,EB3p](HFs8T"uqu?a*pA4dhp\4abs7cTAs7cTOrrA/S!!B_1q\o81!13K\!4q(g!+c!,
+p]19m!/gUQ!TZrN!!*W,rr;`nqu?EkirAcRl2UMY!WN.M~>
+JH16$JH50>J,~>
+mK!%^mf3?Bq#:IJ!!$'tr;Qff#l4N$#Pe>q!;QTA!;QTO!!$m0rrYak"694W!+kp*!(>cF!1E]a
+q#C9m!-J);!?/6>rrMQkrW)`nqZ-EkiW/cRklCMYrr@Q~>
+mf3%^nG`Oa%/Bl+$N'l'#5S<"jneuWmeHh_!W)ik!7CiA!9!kXhu`WQ!,;H4!S%5I!!*,aq>UFd
+huEcarVZ]j!<)otf(o@INX#=[!*B.!p]13kp]0=Rp]0RYp](?p!.Y~>
+JH16$JH50>J,~>
+mK!%^n,NInnG3(eoE,'nq"k!j)>X=5&Gc>+rV?Nhs3UiAs53kX*W#O1!1!N`!@[mBrrN$5q#CE%
+i;WiM!W2rms8;ot./NrEDYEr,!2obqq#C3kq#B=Rq#BRYq#C?oJ,~>
+mf3%^nG`KHp](:mrr2s0q>^O(pA=jijS8cU&GlG%!7CiA!9*qYr?V+;!@7=9rr@TF!!"/<rrD3V
+!!#+NrrMTlq>^Mnr;ZNlr;Qa:qZ$UCq#CDjrVuWmqu?EkirAcRl2UMY!WN.M~>
+JH16$JH50>J,~>
+mK!%^n,NH/q#:>prVurdqYpTe#l=T%)YsC5meQqYs3UiAs5<qY!SI/H!SRnZ!!%HCrrCpP!!*r7
+q>UH4nGiS"q>1*k<r;sms82isiVWWTf(o=G>5\Hrs8)fks5F%Rs60OYs8N(L~>
+mf3%^nc&XG!r)`qZMsk(*;KR7jno&Xc1q>>+o;66!7CiA!9*qXGkV1=!lt3<!%[jF!-nD@!.ahE
+!1iWZ!*8pr!%@dFp]16l!,hZ6!!2or!<VZes7cTks7cTRs7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^nGiS4qY:'j9`>"liq`TS)>aC61&:hLh>.-Hs3UiAs5<qXL%kTJr&=KQ!7L]C!/14L!.FYB
+!+G?s!2o\n!7^oHq#C6l!0I*X!;u]n!W3Q.!;QTk!;QTR!;QTY!;QTo!.Y~>
+mf3%^o)AaT&,6,*(&Iq0!'g8Z!71QB!292g!&FENp]/_Ap]0=R!7CK?!.=YC!TsU]!!([MrrN$2
+q#CF'oC2b[^A.a/j8K#Q!;uis\aoe$4oG?T!;lfk!94%R!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^nc/\)mJ-\^klgtc!5J@0!&+3L!+#F#!6k9>q#A_Aq#B=R!A+3Drr@ZI!!*o3qYpTq-2dfE
+!p]U]!V6]g!!#:\rrN*;r;cWmqu?^coD\g,quHNlqZ-EkiW/cRklCMYrr@Q~>
+mf3%^o`#!eNX,:Y!."PC!-%`6!2o_o!*]0u!(6V_p]/_Ap]0@S!W!Z-!!+kNq>UGbq#CF-qu6Tq
+ZM4D"@.4*rr>>A2!*]@$p]16l!Vcol!!%oSs7cTks7cTRs7cTYs7cQprr@Q~>
+JH16$JH50>J,~>
+mK!%^oDeptDt`r*!/:@O!06mT!*B$t!2KAi!5&(-q#A_Aq#B@S!<hNYrrL=Iq#CD'q>UK^"9&9#
+9_eVfT'lX[!Ta+W!2KJmq#C6l!=&5hrr@0=!;QTk!;QTR!;QTY!;QTo!.Y~>
+mf3%^qYpcmkLme8<Xe[%!>Y,&rrAtm!!#RfrrC^H!!$I(s7cTAs7cTSrr?O&!!*>Tp\t4Yq#CD!
+rr2sap](<2mf*9;q>^O$r;Q`k!;lcr:@nMdfDP[D!;lfk!94%R!9sOY!!3*"J,~>
+JH16$JH50>J,~>
+mK!%^q>^^+(F;+[Vt'K\!U1*m!!$*rrrBJ)!!+DEq>UGcq>g<jd/`tAirB(Lp\t9g.JEfB^%q[.
+UAb,m^%hU-4RN1LIJWsEpB(<oq#C3k!3c%p!%7[Eq#C3kq#B=Rq#BRYq#C?oJ,~>
+o`4jghZ*YEr;Qfj#l+H(F34(.NWo1X!2KDjhuN$AhuN]T!5J4-!0?jR!V$Nm!!:":i:m9P,jkU3
+iV<HRSGrQ`!;lcrSb2s_,Q%N9!;lfk!94%@!;lfi!.Y~>
+JH16$JH50>J,~>
+p&Fjghu<[fqu?a(p%n[mreiW@,]EJQrr?:"!9!nA!9!nT!!,:_p\t53p&G+&oD8Iir]:*$rqZQo
+g?ek@*W>j7!+Gj,q#C3k!+GR#!8IANq#C3kq#B=Rk5Y;Yp\t3nJ,~>
+oDndghuEdFr;6KoAa06qkPG59!:'UA!<3!!oFCTq!C?\WrrBP(!!3H"GPD.<L$\g>4Sf$X,6%W;
+!;lcrkOefTE;T\1!;lfk!94%?!;ulj!.Y~>
+JH16$JH50>J,~>
+o`+dgi;Whi!rDrtR-XbQrYPD2huDsAhuEZU!=J;irrKe6o`,"^rqcWroa$<Irr@?2!!'k3rrCdP
+!;QTk!!*o8pAY,QqZ-EkqZ-EkiW/*?quHKk!!%N~>
+oDndgi;`m*meZqal3HYU!%n$HhZ2sAhZ3ZU!)3+e!=n)[rr?3t!!,:pq#CEsj6ZdGVtg;og].<K
+!;c]q0D5AG^&.j)!;lfk!94%?!;ulj!.Y~>
+JH16$JH50>J,~>
+o`+dgiVrr2&GcA-'_Uhm!7CTBhuDsAhuEZU!3u:u!Uq-$!!&hjrrKk%q>UKn)sdP)=8Mq!rZV=B
+q#C0j!7(<<!($J^q#C3kq#B=Rjo>5Yp\t3nJ,~>
+o)S^giW'!$gA([JU[.s\W;6JM!:0[A!!3,#p&G)eo)Aac'^u)&8F-9VpBp`s!`B!tp]10j!.aeD
+!>#&(s7cTks7cTRs5X1Ys7QGC~>
+JH16$JH50>J,~>
+oDe^gir9&:,kq??>5mph!*8mqhZ)mAhZ!WW;uZOk!*o'p!=%carrE&nrrBLn!!*>rqYpVu!!)fo
+q>^MEp\t9_"T&2os8)fks5F%>s8;rlrr<%L~>
+o)S^girB*@l1Y,WHgUk68,3,@!:0[A!!2HlpAb1lnG`L5n,NHflMgisq>^R#qZ$<jqYpQ>pAb1o
+qZ$<jqu?EkirA'>rVuQkJ,~>
+JH16$JH50>J,~>
+oDe^gj8T.u(%qV.KDt?>!4V_'hZ)mAhZ!Tgp%SIdX7-)i0`CPA!*/:a!1*K]!r2s!q#C0j!&F<K
+!3#_oq#C3kq#B=RjT#/Yp\t3nJ,~>
+o)S^gjT#>oMtlrE!0ZgO!?0his5!bAs5!_U=8)[q([LPi!-Ic3!>>1mrrC=>!!/2]p]1-i!#52.
+!2KDjp]13kp]0=Rj8f/Yp&KU~>
+JH16$JH50>J,~>
+oDe^gjo5DLEsD7:!GhZ(rrM1'p]01NlN#fA!2oSk!Tt-b!!%lHrrMHjl2Uf=q>UJ4!;QTi!!)<Z
+rr?:"!;QTk!;QTR!9F1Y!;HKn!.Y~>
+o)S[fkPtZ>M!sm6!RrXk!!,.CpAa"MlMo`A!WQ6r!!'CnrrA&M!!$j!rrC=?!!5Les7lZirr<r5
+!!*/fq>^6jqZ$?kiW&!>r;ZKkJ,~>
+JH16$JH50>J,~>
+oDe[fkl1_.Fq=*C!@lRirrL%Tp&O"Ml2]`A!<B%mrr>[Y!!%$1rrA5G!!"bMrrTh5!;ZZi!!)-W
+rrN$1q#L6jq>g?ki;i!>quHNl!!%N~>
+o)SUdnc/mr%N?fdFJ.LWrrK5LpAb74J,&X8i;i*Ai;ilW!*B$t!+tNr!0-XO!7'a,!6tB@!87AO
+qZ-?i!#b\7!'KuTqZ-EkqZ,ORk5bAYq#Gp~>
+JH16$JH50>J,~>
+oDeUdo)AsmnDi*/MI%Fl!!,sJp\t<VIg5KEiW&*AiW&lW!2o_o!1<$O!-.o9!<2or!&3O8!&=EO
+!WFDE!;lfi!!)-YrrBq0!;lfk!;lfR!9aCY!;c]q!.Y~>
+^&JGdKg?jk#9lB>Z29+PJcEOc!!%N~>
+JH16$JH50>J,~>
+]`8BlH+i&(pY<NU9`oqHJH3FbJ,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JcC<$JcG9?!!%N~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-color-class-example.png b/doc/img/edje-color-class-example.png
new file mode 100644 (file)
index 0000000..8197a15
Binary files /dev/null and b/doc/img/edje-color-class-example.png differ
diff --git a/doc/img/edje-color-class-example2.eps b/doc/img/edje-color-class-example2.eps
new file mode 100644 (file)
index 0000000..48fc1cc
--- /dev/null
@@ -0,0 +1,1334 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-color-class-example2.eps
+%%CreationDate: Fri Aug  5 11:31:46 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 416 415
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 399.98900386828211 translate
+400.98897637795284 -399.98900386828211 scale
+% Image geometry
+401 400 8
+% Transformation matrix
+[ 401 0 0 400 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 401 string def
+/gstr 401 string def
+/bstr 401 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        28308 ASCII Bytes
+colorimage
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+JH31[JUk:]J,~>
+JH31[J[DtpJ,~>
+!!%TM\c74T\P7S~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!(mU%,mLV6nK/W%N[H9Q.1Bbo)B-gVL`/A+U/H#2eo/MJcEF`J,~>
+JH16$JH50>J,~>
+h#Ij(BVW/dkkaf,b+*/qJH56@$k6<eS\<kSn(l$K=rDkk]`<Q~>
+!!)!X!pP%ZoDeq=L$e=.nGib#*ABiiW9rUEqZ-BjiW/HI!mk?\p&G-p9#'uthZ2sAiW/lU!*B$t
+!06LI!+l$-!*A[i!TjL^!!*2amJm(aJ,~>
+JH16$JH50>J,~>
+huEfnK@fbq!nhi2mJueW#5$m"]:;n6iW/lUpAj4Qmf3DASG)[V!rTDio)R\Jl2]iDqZ$Voqu6Y8
+mJm6Tqu6Yon,NJ+qu$Hpq\\]#r;V9~>
+!!)'Z!q^^@n,NLoG4G,&kl:`E`9%$p!;ZZQ!:p-jY:oAF!BoT=s4m\As53nUrr?-r!!%33rr>Rb
+!!$*krrD3V!!)0Ms8)eH~>
+JH16$JH50>J,~>
+iW'#eLA:9<!r%K[nGqkS!r^)!jT,,Vq#K@Qnc/\dcg^r8_&2kGh>cgAi;``U!2oYm!/U+E!4M_'
+!2oAf!>tb2rrN$7mf<7bJ,~>
+!!)*[!NZ^r!!*\Uo)IkQ!Dr7Js7lZjs53nLrrN!km/R.iV"aoF!:9aD!<)oum0EFe!7169!2]Jk
+!=/#_rr@TE!!%Q<s8)eH~>
+JH16$JH50>J,~>
+irB*Wna-8VlnS&2kl1_`Xq0[qq>^6ji;`EL!<]RnrrMpupAj%Lli>uDr;Zj1p%n[hr@[X@!*K's
+!VI&q!!%HBrr@K9!;leH~>
+!!)-\!,:Zt!<J\]s5j:^'^"WZp]10jhZ3BM!TkBe!!%9=s4dVAs5*hTrrB.r!!*K'o`"sW#58)t
+=7lLnr"Jf)!9<SKqZ)-~>
+JH16$JH50>J,~>
+j8]4Frp'Lar+#<uk5PJH([(kos7u`Qs7QEn(ZF][!WIfJ!8RVA!8mhT!!,srqYpTd"nVcq'_hA%
+!2oGh!<VQ]rrN*;n,W@cJ,~>
+!!)3^!W>FK!!$R%s5a4]')(Sip]10jhZ3EN!PJ^$!!%9>s4dVAs5*hSrr>jj!!#^brr=hK!!+#*
+o`"osp&G(rnGi@cJ,~>
+JH16$JH50>J,~>
+jo>D_]''(orgEBYjo5AI#jD?as7u`Qs7ZKo5kjOC!WIiL!8RVA!8mhS!!'1trrB=r!!(4:rrM0m
+oDekbpAY,fn,W@cJ,~>
+!!)6_!W=h8!!#@Ys5X.[1$S`5!;c`Q!;QQp^]NWu!202gg]6aAhZ3TS!VR*#!!'G#rr@uN!!'S$
+rr>@Y!!*?&nc/IdJ,~>
+JH16$JH50>J,~>
+k5YM`alNI%]_)9crrC:-!;QTj!8mhO!!,7[kPkS^?2=QVs6TgDs82it#jqKg!WGU_!!%'6rrN*f
+o)Jd(pAY0f!q?9fs*t~>
+!!)6_!)VYT!*o6tirB(AlMpVZqZ#FQq>UK`#iu$e!oj(Vh#QjBhZ3QR!6"[5!<hugrrLpWpAb2/
+oD\gKoDel]nc/IdJ,~>
+JH16$JH50>J,~>
+k5YLair9"Pp&O.Q!,Up#q#C0jhuEKP!>+qcrrN!:q>f@Om/Z&DqZ$XWrqcWqp^Hot!?h:6rrA8S
+!!+/?p&>##nGrIdJ,~>
+!!)9`!1i`^#oI-PcK4fV\rSuJ!!'\+s5O([#Q3ofp]10jhZ3KP!'g,V#Tn/U]\rG0W)<<i!$M(:
+hZ3'DhZ3NQ!,20.!&OHN!W4,8!!+G>oD\f7oDek8nc/IdJ,~>
+JH16$JH50>J,~>
+kPtWkrq69uk+#@()$_<QDSc;IrrN*bpAj7R!VQT\!;QTj!8mhP!!'e,rs@S?AjROG/QJnNq>UHN
+p]04Om/Z&Dq>^M\q>UH:q#CEsh"UgLfEq-L!/C.G!8?rCqu;0~>
+!!)<a!T=.S!!4RMrV6Bnmje,5!=&5ls7cTirrr8fjk@.2q#CD+li6_[qZ$<jiVrnOp&G.3Pkb(S
+!T4+V!!&_\s7cTOs7cTQrrN!:q#CD]qYpP9pAb3ran,N5q@E/t!8I)EqZ)-~>
+JH16$JH50>J,~>
+kl:`)qY'pjekuPD!!*SYq>UKi$2=Mqs7lX!":l@q8@\ZqrrAGP!;QTj!;QTQ!!$9trrV:s#5J6"
+*;TF1!*nplq#B4Oq#B:Q!<_<Vrr?X,!!%rOrrN!So)Jdome$M[rZ^n5qu;0~>
+!!)<a!&"!G!X4bao`"o.q#CC\q#C*hoD\eJq>^O(r9XIY!;c`j!94"ZlNm4b!HRo-rrL.@q>^L%
+mf3%^huEHOi;Wi0!Vucs!U0I]!6k-:!.XS>!35Si!)`=eqZ)-~>
+JH16$JH50>J,~>
+kl:_0p\t<jC]j;0!Kd<WrrB_,!;QTc!!(+:rrMZlli?h\q>g<jiW&ump%SIeN!T+W!B9rQrrD]Z
+!;QTO!;QTP!!+GEqYpTo(An.51&^kH!.XP>!*&Oh!3G_kqu;0~>
+!!)?b!5\C0!>`TCrr?F%!!'Y,s7cTcrrB;!!!'%cs7cTjs7cTRrr?a,!!$p.rr?s4!!&#Is7cTO
+s7cTOrr@]I!!"/?rrMm/pAb4NqXXXd3;EOS'Dhb1"o@ijqZ)-~>
+JH16$JH50>J,~>
+l2UfIp\t9X47N:NT)/Hfr^-D\q#Bpc!)E@i!*&:bq#C0jq#B=R!1!<Y!0HdP!0?sU!-%B,q#B4O
+q#B4O!.+J@!8dYS!=%c^rrL7Fnc/[/q>UH[qu6]m"S2Wjs*t~>
+!!)?b!'p;Z!>4,VrrMp0q>^L:q>^3ioD\gGq#CCtm/Qh\qZ$<jj8T/W%/9f'@/]]s!U'R\!!!`%
+s7cTOs7cTNrr=YH!!%BFrr?9t!!*DXo)A^Cp](;Cq>^MWoDe[fJ,~>
+JH16$JH50>J,~>
+l2Uguq#:B^,4GR5"mGg_!8mSPq#Bpc!$_7=!2]#^q#C0jq#B@S!<_idrrJ\lo)Je,qtg<ml0eWI
+s5*hOs5!_Ud/!\AK)P`MU\FchodB;1!@@a@rr@QFrr?p-!;leH~>
+!!)Bc!8$rF!4;1o!4qt+!4D\'p]0pc!;?3g!&X'Bp]10jp]0@S!4hk)!A+-<rr>pl!!(%.s7cTO
+s7cTNrrM<eq#CKRs1.h'!0csQ!,hT4!]TQMqZ$U9oDe[fJ,~>
+JH16$JH50>J,~>
+lMpr5rqZQpr^uSY!(6V_!WGXd!;QTc!!!<#rrC4.!;QTj!;QTS!!#I_rrLOMnGiQkq>UFSn,W7`
+hZ3HOh>dQlq"k!nr>u#-rqHEmC[hB)O88eW`t/"CrrD!K!;leH~>
+!!)Bc!,hQ3!-[`/!''fT!%n'Ip]0pc!9*_R!"\Grp]10jp]0@S!+GX&!2T,a!Q,$9!!$j)s7cTO
+s7cTMrrA\e!!4#.%/0`&7K)fW!VZrs!!8Pf<;HRpde*S:!.Y~>
+JH16$JH50>J,~>
+lMppHq#:>Mli7%*qYpQBq>g<jo)Jb2q>UH`li?h\q>g<jirB(Lq#:=tn,NJNqYL3lP4/JHs5*hO
+s4mYT?MXU&jUC\RrrKY2nc/[qo(i:eAcSh-rrN*LoDndgJ,~>
+!!)Bc!%@XC!=8#XrrASb!!)E`s7cTcrrB_-!!!`"s7cTjs7cTTrrMs(q#CF=qsXOd_%.C]!!**d
+nGi7`huEHOh#@@@q#CC?pAb4*j73-LUA4ck$1Ru-q>^Ldo`+dgJ,~>
+JH16$JH50>J,~>
+lMpq8q>UKh'C5]!@f$**r=So,q#Bpc!(-M]!:&nNq#C0jq#BCT!<hrgrrLpXmf3DOmcFEI!WB_$
+!;QTO!;QTL!!'Y,rrCaHrrMO,nGiPoq>UQi%KJilrrBJ!!;leH~>
+!!)Ed!:BO]!+P9o!9j4Y!06sVp]0pc!(6P^!'BQIp]10jp]0CT!4_e(!1*$P#5uFN7tA,<n,N._
+huEHOh#@EF$h"&qVXXTc0DPSN>lXj&(&It3"8DKgqZ)-~>
+JH16$JH50>J,~>
+li7%urqZQoSEg.U(B++0!,q`7q#Bpc!5&(,!5n.'q#C0jq#BCT!(Qb`!,1a""p$gR[sgdWmf<._
+hZ3HOg].?ao'cSY=RZ:jcM@JCU&Y/okPP8[q?QZnqu;0~>
+!!)Ed!4)A"!6sg/!&OHO!%[sHp]0sd!/C7K!,1a!p]10jp]0CT!/pUP!9WVI!<)6`p]04Op]0(K
+!4_Lu!*A[i!7LWB!5AI4!.ObE!/:+GqZ)-~>
+JH16$JH50>J,~>
+li7#Zq#:=Kl2Uh,qYpQEqZ-EkoDeo9rqZQoQL"VHs7u`js5X.[F85b8)!_/%!UBa\s5*hOs4[MS
+7K2iW!2o;d!%dpF!'pM`!.aqG!-n/:qu;0~>
+!!)Ed!-S);!#4\t!/(+J!<MH_s7cTjrrr/aikLO!pAb3Am/Qh\qZ$<jjSo4#q#CC<e,T1ChuEHO
+gA_.Wnc/\/mI:,UAbc<,+oVE?!8mVQ!#G8-qZ)-~>
+JH16$JH50>J,~>
+li7$Bq>UH[kl:^1qYpTp(&S(,s7u^!#8%q?Dqb!d!WFY:!;QTj!;QTT!!%uRrrCm(!;QTO!;QTJ
+!!&ebrrM0mn,NHVq>UKO!WE'"+9)0;!9a"Tqu;0~>
+!!)Ed!)NCj!(lGT!2K>i!29>jiW&sRli6_[qZ#RUq>UFtq#CD!e,T1ChuD^:n,EF`(%VD*\a]V"
+o*>'k!.k(J!'0lU!6Fm6qZ)-~>
+JH16$JH50>J,~>
+li7$hq>UH&kl:]fq>UG#quGaV!3kbhq#C0jj8\oT!2]Mk!2J!Cq#B4Oj8\QJ!=%c[rrN*fn,NIs
+p%eUfIJa'F`;9K62>.%Is*t~>
+!!)Ed!'U,X!.X85!4hn*!.t.KirB)rh<Y+9!;c`T!;c]q5ktB[QIGm/!8mh9!:Tpfc1Cu9C[_9'
+ReZpa!T<nU!2KAj!'p8XqZ)-~>
+JH16$JH50>J,~>
+li7%%q>UGEkl:]Pq>UGBquGdW!TtWl!;QTj!94%T!!'b/rr?`]!;QTO!94%I!!+ePp&>#Umf3>u
+q>UKo*rH!<>Pe@"^@hR(s*t~>
+!!)Ed!%[jF!4(kh!7:NA!,2<1j8]2jd-CZ+!;c`T!;c]q-i!`B]$p]S!8mh9!:KjeFS5\8-M?j-
+!%7RB!(?_a!VH]p!!*,lp](*jJ,~>
+JH16$JH50>J,~>
+li7%7q>UFgkl:]9q>UG\quGgX!Uq`,!;QTj!94%T!!(XHrr>I9!;QTO!94%H!!%lLrrLaYmf3@=
+q>UH+qZ$X'p&"air!W6!qu;0~>
+!!)Ed!#kY5!6FF)!9X(W!)EIljT#<+b3As$!;c`S!;lcr&,?2*c-u^f!8mh8!:TpfFnYk:"3L$3
+!6Y':!2]Pl!+Pd)!.+D>qZ)-~>
+JH16$JH50>J,~>
+li7%Hq>UFQkl:]#q>UH!quGjY!STBp!;QTj!9*tT!!)K`rr=e&!;QTO!9*tH!!%iLrrN!Smf3>E
+q#:=sq>^MbqYpPKpAk*jJ,~>
+!!)Ed!!rB#!8$K8!;ZEj!&XWRjT#;^Om2o@!;c`S!;lcr#Pe?"i7%`$!8mh8!:^!gch7>=E:3`+
+>kn@#&,,l"!6G!:!"nu*qZ)-~>
+JH16$JH50>J,~>
+li7%Zq>UFBkl:\eq>UH;quGjY!W6cu!;QTj!9*tT!!)chrr=+h!;QTO!9*tI!!+_Np\t5QmJm6\
+q>UKa#l4N$2Z!FRm.UMWs*t~>
+!!)Ed!"/N%!9WPG!:KX_!#ke8irB(!lMpVZqZ#LSqu6X:q#CEde,T1ChuDX8nc&Xc(A7_/(]Ek'
+!Up6f!!$^-rr=2<!!'b.s8)eH~>
+JH16$JH50>J,~>
+li7%Xq>UF3kl:\pq>UHUquGgX!WJ&C!;QTj!9*tT!!)!Rrr<GU!;QTO!9*tJ!!*8cpAY0U!Up'i%
+f#l"!1*B[!8[MO!'g5Yqu;0~>
+!!)Ed!%.LA!;5UV!8[GN!!W<#iW&t5li6_[qZ#LSqu6XQq#CEie,T1ChuDX8nc&SqoDel+nG`KO
+p](<:q#:>Pq>^LTq#C3kJ,~>
+JH16$JH50>J,~>
+li7%<q>UF$kl:],q>UHjquGdW!WI?0!;QTj!9*tT!!(1;rr<8P!;QTO!9*tJ!!&Y`rrA8P!!$j1
+rr=nN!!%*:rrC(6!;leH~>
+!!)Ed!(-J]!;PgY!6k6=!#YY6i;`l0m/Qh\qZ#LSqu6Xiq#CEWe,T1ChuDX8o)A^&nc/[8nc&S3
+jT#;Mq>^<lJ,~>
+JH16$JH50>J,~>
+li7$uq>UF!kl:]=q>UHWquGaV!WFJ5!;QTj!9*tT!!'>#rr<nb!;QTO!9*tK!!,Cbo`"sk0(AoA
+h<+_<r=8W'qu;0~>
+!!)Ed!+,I$!9`VH!4M\'!&OQQp]1*h"oRfHd\Jku!!"A4s7cTjs7cTTrr?R)!!(Kss7cTOs7cTL
+rrM^#nc/[uq=FUd_W1[sDu'G1!.Y~>
+JH16$JH50>J,~>
+li7$Yq>UF2kl:]Sq>UH<quHNlp](L"&0<B*`;]W5!7pK:q#C0jq#BCT!1Wfa!%ZLuq#B4Oq#B+L
+!=SDfrrMWno)JbQjSo4@q#L<lJ,~>
+!!)Ed!.+G@!7g?6!.t"H!)EIlp]0mb!292g!2o5ap]10jp]0CT!.+G@!5[.ap]04Op]0+L!(lY[
+!)<(b!)hkX!"Jc(qZ)-~>
+JH16$JH50>J,~>
+li7$=q>UFDkl:^2q>UH!quHNlnc/Yoq>UFrm/Zq]q>g<jj8]15q>UFXdfB1ChZ3HOg].>]nG`Km
+o)JckjSo5Lq#L<lJ,~>
+!!)Ed!1Wca!5n($!(ltd!,;B2p]0ja!''fT!%%%4p]10jp]0CT!2B8h!3Y\g"kaYjP0j0qs7cTO
+s7cTMrrB"c!!'G"rrMEeirB(bqZ$EmJ,~>
+JH16$JH50>J,~>
+li7#qq>UFVkl:^kq>UG[quHNlnGiR.qYpQKm/Zq]q>g<jj8]0bq>UFkli728kc/GO!U]s_s5*hO
+s4mYT<U]qgr^ZV]!>G@jrr>^g!;leH~>
+!!)Ed!9EqU!1)mL!"J`(!/1:Mp]0ja!3u>"!64I,p]10jp]0CT!9s:Z!0?OI!SIhY!!*L2n,N._
+huEHOhZ!WC#58)t6MUT^"nMBe!/TV7!&+3KqZ)-~>
+JH16$JH50>J,~>
+li7&)rVHNoB^#KsnbN1bHMdd<s7$'h:&4eh3:6eAs7u`js5X.\(&e"/!,h0(!@@@9rrMYcmf<._
+hZ3HOh>dQhp@nRf])MR+!Vd)s!!%0$rrC=?!;leH~>
+!!)Bc!'0lU!(lJU!5&"+!2'2hp]0ja!87/J!-J5?#,mAn9.^YIq#C*hqZ$<jj8T*7q>^L`mJd0O
+qZ$Wt>4DRe!8mhO!8d_U2>7(P)=;#2!!"hLrrN'9i;`lBqu?NnJ,~>
+JH16$JH50>J,~>
+lMpq'qYpQ'l2UfOq#:>$quHNlnGiP8q>UGPrW!.'Fd05[n-Jdhq#C0jq#B@S!6b6=!4hIs!,;?1
+!W8b_!;QTO!;QTN!!(+7rrV9oR/-a^anGc9!TW2>!W<`0!;leH~>
+!!)Bc!1EZ`!"%rj!(-G\!93qVp]0ja!;?3g"AJjqVucer!=SVtrrDfg!;c`j!9=(ZK),HJ$N9Dm
+!(H_a!*&Ifp]04Op]04O!0HmS"1S=-)Yj@5Qh^R\]&3PgAGcE(!.Y~>
+JH16$JH50>J,~>
+lMporqYpQfl2Ugrq>UKp*;fg3s7$'h#l4K'Z2al*r;?QqnHesk!!i<!q>g<jirB(,qYpTf!U]pf
+\GH4*WUKo_s5*hOs5*eVD>*u37fWYOq>UG+p](:^i;WeFqZ-NnJ,~>
+!!)Bc!UKj`!!'RrrrCmM!!#7\s7cTarrD*T!!=PIrs&<"!9O(W!:KX_!!2rrp]0@S!6t<>!6t!4
+!9EqU!=E$#s7cTOs7cTPrrM$ZpAb2-rr3#L!Vucs!U0@Z!(l)K!=A`&s8)eH~>
+JH16$JH50>J,~>
+lMpquqtg<m7-jmS+o_<;!5JC2q#Bja!#tb6"5*YSq"k!j)>X=5&Gc>+rV?Nhs5O(Z1&:hL0^euB
+)ZBO4!V<,W!;QTO!;QTP!!+,:p\t5YrVusIr;-Eor"f).!4:\a!V?Ej!;leH~>
+!!)?b!(H_a!#"Yu!%RaD!1Nfbp]0ja!5SC1!sel+&GcA-$hjJt!9EqU!"f#,p]0=R!#580!)W.a
+!,M?0!*/Rhp]04Op]0:Q!W=;<!!+A;rVlkJq#CC;qYpQXp](:Unc&XZ"Sr)uVu6Sl!.Y~>
+JH16$JH50>J,~>
+l2UgoqYpQ]li7%7q#:>)qZ-EknGiPQq>UQk!!)H`rrMZrqZ$U7q>UH_q>g<jiW&uCqYpPtmf3?N
+q#:>nnGr@ahZ3HOi;`lZf_>CHg'[cY!.F\C!8dPP!>tb1rrBt,!!*T*qYpOrquHWoJ,~>
+!!)?b!6k6=!,V*'!-7i7!=%uhs7cTarr?I&!!=2?ruCh7!9O+X!6t<>!$V4=p]0=R!0R'W!:TIX
+!Sd_N!!&kcs7cTOs7cTQrr@<<!!*/Aqu6XHq#CD>qu6YHp](;bnG`Jhq>^LDr;ZWoJ,~>
+JH16$JH50>J,~>
+l2Ui?rVHNoOmW2LMtm;Qp^m<&q#Bja!1irc"60@]iq`TS)>aC61&:hLh>.-Hs5F"YD>O85r=8>t
+!?q@8rr?3l!;QTO!;QTQ!!%`IrrN$VqZ$WEq>UGJqZ$VEq#:>&n,NHdqYpQFquHWoJ,~>
+!!)<a!+G['!06RK!0-^Q!)WOlp]0mb!T4(U!!>1[s$-;Z!71QB!292g!&FENp]0=R!W!Q-!!*r7
+oD\jh*;BL7"n2!]p]04Op]0=R!7CK?!.=YC!TsU]!!([MrrN$2q#CF'oC2b[^A.a/j8K#T!.Y~>
+JH16$JH50>J,~>
+kl:^RqYpTqDt!`-E;oY4!3Z.uq#Bmb!?M%4rr^:A!5J@0!&+3L!+#F#!6k9>q#B=R!<hT^rrM6`
+o)JdmiV<ERq%)uqq#B4Oq#B=R!A+3Drr@ZI!!*o3qYpTq-2dfE!p]U]!V6]g!!#:\rrN*;r;c`p
+J,~>
+!!)<a!Vd?(!!-[-o`"sgAG-!']))I%!;$3kck?*R"()$-E;9J6Vu-Jo>58-u6i-iX!9*qXZ2"A#
+*qf4+!VIl8!!$Nus7cTOs7cTSrrMs5pAb4Lq>($jSG<-c&c;S-!4)A"!+>9q!W<l3!!$4$s8)eH~>
+JH16$JH50>J,~>
+kl:_glMCM^rg3i\!!3:krqHEm7/?oYs763k0'`63"/#VoNqr\T=8MstU\Xoi]D;O&s5<qX9_n\h
+h[&lT!=@<NrrAPX!;QTO!;QTS!!*5ap\t9<"o/,u@JTp(li[4e!)31f!1rWZ!<M9XrrAhm!;leH~>
+!!)9`!5nR3!Z&'>q#:EoYncs4!+l!+p]1-i"o\2af9S#^!!BS-s/5Ym!(d%f!8.&H!+Ga(p]07P
+!&=9L!XXeVq#:B!&GH/*!o!/Dp]04Op]0@S!+P[&!=.0Lrr>=[!!$7&rr>@[!!'n(rr@TG!!*?&
+rr;iqJ,~>
+JH16$JH50>J,~>
+kPtWErqZQqk=bpO!!30pkk>#VRJ?jXs7lWu!=',_B[QPR"%rUo=8Djr[JU"*-2mZ>!1irdq#B7P
+!6k9=!q^L@p](=imJ$V]r$:b3q#B4Oq#B@S!1`f`!V\&;!!'_.rrAem!!'_-rr>1L!!%HDrrMiq
+rW)iqJ,~>
+!!)6_!,2*,$5.!Vcfb,dcELmmo`,":o(i=D!!O#2s8V`tq#CS>an4;I"o&&tU\b#K!;QQpeH5LG
+#mb@?`9I!T_LWs)!!$3ks7cTOs53nTrrBh-!!&)RrrMWsq#CK4s5<YP!$pt3!9*_R!1a&gqZ)-~>
+JH16$JH50>J,~>
+k5YLIp\tTdQ;'"K"W/pgQgFDF!Se+Z!9!k\lid@h$2+/p#6'N<$7'Qbq#:=uq>fIRp](=DqtU0t
+oo`WB'aPdAIG=Gp!2T&`q#B4Oi;`]T!C$MWrr@!2!!*Q#qYp]t3rg?$q>UHKm/R/-rVHNo@K$9(
+s*t~>
+!!)3^!)heV!<U47s53kWJGoKJAa06qkPG59!;QQoV;hOV($P,dp]04OhZ3ZU!V?lr!!,Cap&>$$
+q#CI%p3693!/9e>!'L)X!$_FBqZ)-~>
+JH16$JH50>J,~>
+jo>C^ir9&W3qr^5rr@NH!!&DPrrN*8q>fFQp](=sroF([kn`^fq#B4OhuEZU!=J;irrKe6o`,"^
+rqcWroa$<Irr@?2!!'k3rrCdP!;leH~>
+!!)0]!-dH'!.">=i;`m'p\k*ml3HYU!%n$HhZ3EN!28HR!3ttlp]04OhZ3ZU!)3+e!=n)[rr?3t
+!!,:pq#CEsj6ZdGVtg;og].<N!.Y~>
+JH16$JH50>J,~>
+jT#=9roF(ZL%bT+rrLjZr;Zj4p$D\YdJ3e"s7ZKo>lEda!);k]q#B4OhuEZU!3u:u!Uq-$!!&hj
+rrKk%q>UKn)sdP)=8Mq!rZV=Bqu;0~>
+!!)-\!2eiX!I4M9s5F"Z#/C'8!2Jl\!3#_nh>m<M!O2[g!!%K8s7cTOs5!_Vs/Yhn!2B&a!VdAu
+!!#RUrrMj$q>^Ros8VrrJ,~>
+JH16$JH50>J,~>
+j8]3^r9+(]re:OL!94"ZpcnWU!F#Kirr?*q!8dbM!!,glkPkO4m/Zq]hZ2O5!WZ0up\t4unc/[p
+kkb;ZrqQKn[d*no#P7fl!iuA%qu;0~>
+!!)*[!R_MC!!*V8p&F%P!=#t-rr@E6!!#Oas5!bLrrL%Dkl:^4m/Qh\huDO5!UU-d!!#serrC=5
+!!'"`rr?^.!!3?#s8)eH~>
+JH16$JH50>J,~>
+irB*1mcj`PmnNHTj8T/T8bi>eKDt?>!4V_'hZ*9L!BKi;rr@T9!;QTO!8d_V&bYnu!3>Sh!AOKB
+rr?'a!!&>]rrW!!!;leH~>
+!!)'Z!VC3o!!+_,o`*tP!AV[irrA5O!!+"pq#B1Np&>'U7dL*U$'acUp]04Oh>dOWpAb41lgOiR
+FRfD4'):bl!6t<>!Kd?Y!.Y~>
+JH16$JH50>J,~>
+iW'#eOo=YH!RN(`!9F.\br5:r!GhZ(rrM1'p]01No`,%0\,Pdp!VL3n!;QTO!8d_UVt^2lk7d:a
+!/^:H!UL$U!!"bLrrHs:qu;0~>
+!!)!X!olfQn,NM$IJ*12kPt\c5+_]FrrLV"o)JePk4\i4!;$3k^aJRN!B8Zqs7lZOs5*eWs&\sq
+!4;.n!0-RM!,Um!!6t??!^cqequD6~>
+JH16$JH50>J,~>
+huEfs[f#Xp!q(UGnc7nR"9$#C!qcNo.b""h!Q5iK!8mhJ!!5=7rp]pga!U$Nq>]:Ohu<]WVtg8l
+9'lTYEV'21P3;lG1&CnO]Dqs0s*t~>
+!!(pV!q(+KoDeqIN:H?9nGidr%N?fdFJ7aarrK5LpAb74J,&X8i;iEJ!maOIoDen^\E3bf!8RV5
+!<2uu=8MstB'TBrNV*8OcK>-,c2.J@g&D$N!.Y~>
+JH16$JH50>J,~>
+h>dTgMrXI0!mP`pmJueW#Q+#Nf!gNB)t3h.;:bLA!p+n9o)RbLnGiVCZLdbh!rfYujT,2Xg]6=5
+rVuqrqu6Y`l2Ug(qu6Zqr;QaNjo>B9r;Qfs-2moDs*t~>
+!!(gS%+^_S1E?o+%37B>QefIW$IFJm+UnZ#5@:\m^]+c>]SBTA*"E&[+>dT&idq-Es*t~>
+JH16$JH50>J,~>
+gAhX1BUd3(nbhq9a-^K_^]4]oH+i&(pY<NU9`r-1%0T"AVU4>lqsiOcRp6qa!5AMa~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+!!%TMJcC<$nc++~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+JH16$JH50>J,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-color-class-example2.png b/doc/img/edje-color-class-example2.png
new file mode 100644 (file)
index 0000000..3fd61e0
Binary files /dev/null and b/doc/img/edje-color-class-example2.png differ
diff --git a/doc/img/edje-drag-example.eps b/doc/img/edje-drag-example.eps
new file mode 100644 (file)
index 0000000..b6c3651
--- /dev/null
@@ -0,0 +1,7202 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-drag-example.eps)
+%%CreationDate: (2011-08-03T19:13:31-03:00)
+%%BoundingBox: -0 -0 300 300
+%%HiResBoundingBox: 0 0 300.083 300
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 300 300
+userdict begin
+DisplayImage
+0 0
+300.083 300.083
+12
+300 300
+0
+0
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+0606062323234141415E5E5E9D9D9DFAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+0000000000000000000000000000000000002121219E9E9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFCFCFCE3E3E3C6C6C69B9B9B282828000000000000A3A3A3FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC818181000000101010E4E4E4FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD404040000000787878
+FFFFFFFFFFFFFFFFFF000000000000FFFFFFA4A4A44F4F4F191919010101FFFFFFFFFFFFCFCFCF
+7171712F2F2F0E0E0E121212353535808080F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
+8A8A8A3333330D0D0D3D3D3D8F8F8FFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666660000001D1D1DE8E8E8FFFFFFFFFFFFFFFFFFE8E8E8
+1D1D1D000000666666FFFFFFFFFFFFFFFFFFCFCFCF7171712F2F2F0E0E0E121212353535808080
+F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF8D8D8D3A3A3A101010505050
+BCBCBCFFFFFFFDFDFD8E8E8E4242420D0D0D333333B6B6B6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFF8C8C8C3C3C3C0D0D0D3434348D8D8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E3E36666663434340D0D0D1919193F3F3F
+A1A1A1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAEAEAE000000
+4F4F4FFFFFFFFFFFFFFFFFFF000000000000868686000000000000000000000000FFFFFFFFFFFF
+000000000000000000000000000000000000000000272727F5F5F5FFFFFFFFFFFFFFFFFFFFFFFF
+555555000000000000000000000000000000797979000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F93C3C3C0000003C3C3CF9F9F9FFFFFFF9F9F9
+3B3B3B0000003B3B3BF9F9F9FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000272727F5F5F5FFFFFFFFFFFFFFFFFFFFFFFF000000000000797979000000000000000000
+0000000D0D0DE0E0E0747474000000000000000000000000010101D7D7D7FFFFFFFFFFFFFFFFFF
+FFFFFF0000000000007777770000000000000000000000000000005A5A5AFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFA5A5A50B0B0B000000000000000000000000
+000000000000484848FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D6
+000000262626FFFFFFFFFFFFFFFFFF000000000000040404545454ACACACF6F6F6FFFFFFFFFFFF
+FFFFFF3333339D9D9DD5D5D5F4F4F4D5D5D5A0A0A02424240000007C7C7CFFFFFFFFFFFFFFFFFF
+B4B4B40000000606065E5E5EC9C9C9C8C8C85D5D5D050505000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFE8E8E81C1C1C000000666666FFFFFF
+6565650000001B1B1BE7E7E7FFFFFFFFFFFFFFFFFFFFFFFF3333339D9D9DD5D5D5F4F4F4D5D5D5
+A0A0A02424240000007C7C7CFFFFFFFFFFFFFFFFFFFFFFFF0000000000000E0E0E777777D9D9D9
+BCBCBC3939390000001D1D1D0E0E0E777777D8D8D8BBBBBB3737370000008F8F8FFFFFFFFFFFFF
+FFFFFFFFFFFF0000000000000404045B5B5BC8C8C8C8C8C85B5B5B040404000000B8B8B8FFFFFF
+FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFDCDCDC0A0A0A030303828282BABABAECECEC
+D3D3D39797971C1C1C0000008E8E8EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F4F4F4000000090909FFFFFFFFFFFFFFFFFF000000000000575757FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEBEBE000000343434FFFFFFFFFFFF
+FFFFFF484848000000646464FFFFFFFFFFFFFFFFFFFFFFFF606060000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC080808000000
+4C4C4C000000070707CACACAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFBEBEBE000000343434FFFFFFFFFFFFFFFFFFFFFFFF000000000000797979FFFFFF
+FFFFFFFFFFFFB1B1B1000000000000797979FFFFFFFFFFFFFFFFFFB0B0B0000000494949FFFFFF
+FFFFFFFFFFFFFFFFFF0000000000005F5F5FFFFFFFFFFFFFFFFFFFFFFFFF5E5E5E0000004A4A4A
+FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF5E5E5E0000008A8A8AFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFB0B0B0000000383838FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFD5D5D5000000282828FFFFFFFFFFFFFFFFFF000000000000B0B0B0FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFD9D9D96E6E6E2D2D2D1414140000000000000000000000000F0F0FFFFFFF
+FFFFFFFFFFFF212121000000B1B1B1FFFFFFFFFFFFFFFFFFFFFFFFAFAFAF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A6
+000000000000000000A1A1A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9D9D96E6E6E2D2D2D
+1414140000000000000000000000000F0F0FFFFFFFFFFFFFFFFFFFFFFFFF000000000000D3D3D3
+FFFFFFFFFFFFFFFFFFF1F1F1000000000000D3D3D3FFFFFFFFFFFFFFFFFFF1F1F10000000A0A0A
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000AFAFAFFFFFFFFFFFFFFFFFFFFFFFFFAEAEAE000000
+222222FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF2D2D2D000000020202020202
+0101010101010000000000000000000000000C0C0CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFAEAEAE000000505050FFFFFFFFFFFFFFFFFF000000000000F8F8F8FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFC6C6C6080808000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFF070707000000EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFEAEAEA000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F0F0F0151515000000222222FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6080808000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFEAEAEA
+000000070707FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF0A0A0A000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFD3F3F3F0000007A7A7AFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF3B3B3B000000383838C4C4C4EBEBEBF7F7F7FFFFFFE0E0E0000000
+000000FFFFFFFFFFFFFFFFFF212121000000B2B2B2FFFFFFFFFFFFFFFFFFFFFFFFAFAFAF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF555555000000000000000000737373FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B3B3B000000
+383838C4C4C4EBEBEBF7F7F7FFFFFFE0E0E0000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000B0B0B0FFFFFFFFFFFFFFFFFFFFFFFF
+AFAFAF000000222222FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF2B2B2B000000
+B5B5B5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFC818181000000111111E6E6E6FFFFFFFFFFFFFFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C0C0C000000D1D1D1FFFFFFFFFFFFFFFFFFFFFFFF676767
+000000000000FFFFFFFFFFFFFFFFFF484848000000656565FFFFFFFFFFFFFFFFFFFFFFFF616161
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF9696960000000C0C0CA0A0A0040404000000AEAEAEFFFFFFFFFFFFFFFFFFFFFFFF0C0C0C
+000000D1D1D1FFFFFFFFFFFFFFFFFFFFFFFF676767000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000616161FFFFFFFFFFFFFFFFFF
+FFFFFF6060600000004A4A4AFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF5F5F5F
+000000282828FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFCFCFC
+E4E4E4C7C7C79C9C9C282828000000000000A7A7A7FFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF292929000000535353C9C9C9EEEEEEB4B4B46A6A6A
+050505000000000000FFFFFFFFFFFFFFFFFFB3B3B3000000070707626262CACACACACACA616161
+060606000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFD0D0D0070707000000A7A7A7FFFFFF8D8D8D0000000E0E0EDBDBDBFFFFFFFFFFFFFFFFFF
+292929000000535353C9C9C9EEEEEEB4B4B46A6A6A050505000000000000FFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000000505055E5E5EC9C9C9
+C9C9C95E5E5E050505000000B8B8B8FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF
+DDDDDD0F0F0F0000003E3E3E858585C3C3C3F4F4F4E2E2E2C5C5C58181812A2A2AFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000222222A0A0A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E000000000000000000000000000000
+000000898989000000000000FFFFFFFFFFFFFFFFFFFFFFFF525252000000000000000000000000
+000000737373000000090909FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFF3F3F3262626000000656565FFFFFFFFFFFFFFFFFF5151510000002E2E2EF6F6F6FFFFFF
+FFFFFF9E9E9E000000000000000000000000000000000000898989000000000000FFFFFFFFFFFF
+FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000767676000000
+0000000000000000000000005A5A5AFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFB5B5B5141414000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+0000000606062222224040405E5E5E9E9E9EFAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C47272722222221B1B1B
+4E4E4EA9A9A9FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFDFDFD8888883232320D0D0D
+3C3C3C8E8E8EADADAD0000002A2A2AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFF5D5D5D0000002C2C2CF6F6F6FFFFFFFFFFFFFFFFFFF0F0F0232323000000616161
+FFFFFFFFFFFFFFFFFFC4C4C47272722222221B1B1B4E4E4EA9A9A9FFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
+8888883939390C0C0C3333338D8D8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF1F1F18282824141411E1E1E0606061B1B1B3939397E7E7ED3D3D3
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF5050500000004F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A3A3AADADAD
+E2E2E2EAEAEAA3A3A3575757030303000000BDBDBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000626262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+C5C5C55757572222220707071F1F1F464646ACACACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000
+C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000
+C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+C80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000
+C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000
+C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000
+C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000
+C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000
+C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000
+C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000
+C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000
+C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000
+C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+C80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000
+C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000C80000
+C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000C80000
+C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000C80000
+C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000C80000
+C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000C80000
+C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000C80000
+C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000C80000
+C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC80000
+C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+C80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC80000C80000C80000C80000C80000C80000C80000C80000C80000C80000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
+000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000
+000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
+000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
+000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
+000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
+000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
+000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-drag-example.png b/doc/img/edje-drag-example.png
new file mode 100644 (file)
index 0000000..d7e92c5
Binary files /dev/null and b/doc/img/edje-drag-example.png differ
diff --git a/doc/img/edje-perspective-example.eps b/doc/img/edje-perspective-example.eps
new file mode 100644 (file)
index 0000000..8fae13c
--- /dev/null
@@ -0,0 +1,12094 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-perspective-example.eps)
+%%CreationDate: (2011-08-05T18:53:54-03:00)
+%%BoundingBox: -0 -0 480 320
+%%HiResBoundingBox: 0 0 480.133 320
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 480 320
+userdict begin
+DisplayImage
+0 0
+480.133 320.089
+12
+480 320
+0
+0
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8484FA8585FE7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFA8585FA8585FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8686E5A1A1F09393FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FE89C9CE5A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD7B2B2D0BDBDFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FD8B0B0D0BDBDFF8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8585F28F8F
+F28F8FF28F8FF28F8FF38E8EF58C8CF98787FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FEB9898C8C8C8E5A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FD6B5B5C8C8C8FA8585FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEF9494DDACACDDACACDDACAC
+DDACACDFA8A8E4A2A2EF9393FE8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FC9C5C5CAC4C4FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+D9B1B1C8C8C8F78B8BFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE0A8A8C8C8C8C8C8C8C8C8C8C8C8C8CDC2C2
+D4B8B8E7A0A0FE8282FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FE3A3A3C8C8C8EC9999FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDCACAC
+C8C8C8F39090FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDBAEAEC8C8C8C8C8C8C8C8C8C8C8C8CBC3C3D1BEBEDCAEAE
+EE9393FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF38F8FEA9A9AF98686FF7F7FFF7F7FFF7F7FFF7F7FFE8080
+DDACACE3A5A5FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE0A9A9C8C8C8
+EF9595FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FD6B4B4C8C8C8C8C8C8C8C8C8C8C8C8C9C6C6CBC3C3D1BDBDE1A6A6FE8181
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FF78888D5B6B6E1A5A5FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF78A8AF29090
+FC8383FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE3A4A4C8C8C8EB9A9A
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FD1BABAC8C8C8CFBEBECFBDBDD0BEBECEC0C0CBC2C2C9C4C4D7B1B1FA8585FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FD1BBBBC8C8C8FC8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE6A0A0C8C8C8E79F9FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FCDC1C1
+C8C8C8E5A1A1E5A1A1E4A2A2DEAAAAD5B7B7CAC3C3D4B6B6F38F8FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+E89D9DC8C8C8E4A2A2FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE99B9BC8C8C8E3A4A4FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FC8C6C6C9C5C5FA8686
+FA8686F78787EE9696DEACACCBC3C3D1BDBDEC9898FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF8080C8C8C8
+CDC1C1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEC9898C8C8C8DFA9A9FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8181C8C8C8CDC0C0FF7F7FFF7F7FFD8080
+F58C8CE6A0A0D0BCBCCFBFBFE89C9CFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDBAEAEC8C8C8F09494
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEF9393C8C8C8DBADADFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF98888C8C8C8D1BABAFF7F7FFF7F7FFE8080FA8585EE9494
+D6B5B5CCC0C0E59F9FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF29191C8C8C8D8B1B1FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF29090C8C8C8D8B3B3FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FF48E8EC8C8C8D6B6B6FF7F7FFF7F7FFF7F7FFF7F7FF68989DBAEAECBC2C2
+E3A1A1FF7F7FFF7F7FFF7F7FFE8080FD8181FD8282FD8282FD8181FD8080FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFD8181FD8282FF8080FE7F7FFD8080FD8282FD8282FF7F7FFF7F7FFF8080FD8080
+FD8181FC8181FD8282FE8181FF8080FF7F7FFF7F7FFF7F7FFE7E7EFD8282FD8282FF7F7FFD8080
+FD8181FD8282FD8181FF8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7F7FFD8181FD8282
+FC8181FD8181FE8181FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7E7EFE8080FD8181FD8282
+FD8282FD8181FE8080FF7F7FFF7F7FFF7F7FFC8181CFBFBFC8C8C8F88888FD8282FD8282FD8282
+FF7F7FFF7F7FFD8282FC8181FF7F7FFF7F7FFD8181FD8282FE7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFD8080FC8181FE8181FF7F7FFF7F7FFF7F7FFE7F7FFD8181FD8282FC8181FD8181FE8181
+FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFE8080FD8181FD8282FD8282FD8181FE8080FF7F7FFF7F7FFF7F7FFF7F7FFD8080FD8282
+FC8181FF7F7FFF7F7FFF7F7FFF7F7FFE7F7FFD8282FC8181FE8080FF7F7FFF7F7FFF7F7FFE7F7F
+FD8080FC8181FC8181FD8282FD8181FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8080FD8282
+FD7F7FFE7F7FFE8181FD8282FD8181FE8080FF7F7FFF7F7FFF8080FE8181FD8282FD8181FE8080
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8181FD8282FF7F7FFE8080FD8181FC8181FD8181FE8080
+FF7F7FFF7F7FFF7F7FFF7F7FF58B8BC8C8C8D4B8B8FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7F7F
+FE8181FC8181FC8181FD8181FE8181FE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FEF9494C8C8C8DAB0B0FF7F7FFF7F7FFF7F7FFF7F7FF88787DFAAAACBC4C4E4A3A3FF7F7F
+FF7F7FFE8080F78989EE9393EB9A9AE99A9AEB9797F38F8FFC8484FF7F7FFF7F7FFF7F7FFF7F7F
+F09393E89E9EF78888F98686F19090EB9898E99D9DF98686FF7F7FFA8585F48D8DEE9595E99B9B
+EB9A9AEF9393F98787FF8080FF7F7FFF7F7FFF7F7FE99C9CE89E9EFF8080F58C8CED9696E99C9C
+ED9797F68C8CFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7E7EFA8383F19292EC9898E99B9BEA9999
+F09393F88787FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE8080F88888EF9494EB9999E99B9BEC9797
+F38E8EFC8383FF7F7FFF7F7FF58D8DD8B1B1C8C8C8D9B3B3E89E9EE89E9EE89E9EF58C8CFF7F7F
+F19090E89E9EF68A8AFF7F7FF28E8EE99B9BF28F8FFC8181FF7F7FFF7F7FFF7F7FFF7F7FF98686
+EB9999EB9898FB8383FF7F7FFF7F7FFD8181F28E8EED9696E99B9BEA9A9AED9696F58A8AFE7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7E7EFB8484
+F09191EC9898E99B9BEA9999EF9393F88787FF7F7FFF7F7FFF7F7FFC8484EE9494E89C9CF09191
+FE8080FF7F7FFF7F7FFE7F7FF68B8BE99B9BEC9898F88989FF7F7FFF7F7FFD8181F78A8AEE9393
+EA9999EA9C9CEB9898F09191FA8686FE7E7EFF7F7FFF7F7FFF7F7FFF7F7FF09494E89E9EF88888
+F78888EF9393EA9A9AEE9696F78A8AFE8080FF7F7FF78A8AEE9393EA9B9BEC9898F78989FE7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FE99C9CE89E9EFF7F7FF48C8CED9696EA9C9CED9696F58B8BFF7F7F
+FF7F7FFF7F7FFF7F7FF88888C8C8C8D0BBBBFF7F7FFF7F7FFF7F7FFF7F7FFE7F7FFA8686EF9292
+EB9898EA9C9CEB9999F19292F98686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEA9A9A
+C8C8C8DEABABFF7F7FFF7F7FFF7F7FFF7F7FFB8484E1A6A6C9C5C5E3A3A3FF7F7FFF7F7FFD8282
+EF9292DFA7A7D7B1B1D5B4B4DAAEAEE79E9EF88888FF7F7FFF7F7FFF7F7FFF7F7FE4A0A0D2B9B9
+EE9696F58B8BE69F9FDAAEAED4B7B7EF9292FF7F7FF78989EB9898E1A9A9D7B4B4D8B3B3DFA8A8
+F09292FB8181FF7F7FFF7F7FFF7F7FDDABABD2B9B9F58B8BF09393E0A8A8D7B4B4DAAEAEE99C9C
+FC8383FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFB8484E79E9EDDACACD6B6B6D6B3B3DDABABEE9696
+FF8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF88686E3A4A4DAAEAED4B6B6D7B2B2E1A5A5F48B8B
+FF7F7FFF7F7FFD8383D1BABAC8C8C8C9C6C6D2B9B9D2B9B9D2B9B9D8B1B1FF7F7FF98787D2B9B9
+DAB0B0FF7F7FF88787D9B0B0D8B1B1F38E8EFF7F7FFF7F7FFF7F7FFF7F7FFB8383E89C9CD5B6B6
+E5A0A0FF7F7FFF7F7FFD8080F38D8DE1A5A5D9B0B0D6B5B5D9B0B0E3A2A2F58C8CFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE8282EF9292E0A7A7
+D8B1B1D5B4B4DBAFAFE79F9FF88989FF7F7FFF7F7FFF7F7FF09292DAAFAFD5B5B5EC9696FD8080
+FF7F7FFF7F7FFD8282E4A1A1D4B7B7DEAAAAF58989FF7F7FFF7F7FFA8686EC9999DEAAAAD7B4B4
+D5B5B5DAAFAFE59F9FF98888FE7E7EFF7F7FFF7F7FFF7F7FFF7F7FDCAEAED2B9B9F78989EF9494
+DEA8A8D6B3B3DFA9A9F09090FD8080FF7F7FEE9696E0A8A8D5B4B4DBAEAEF09191FE8080FF7F7F
+FF7F7FFF7F7FFF7F7FD3B7B7D2B9B9FF7F7FEB9898DDABABD5B6B6DDADADEC9898FF7F7FFF7F7F
+FF7F7FFF7F7FFB8484C8C8C8CDC1C1FF7F7FFF7F7FFF7F7FFF7F7FFE7F7FF78989E3A3A3D9ADAD
+D6B6B6D7B1B1E1A7A7F18F8FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE6A0A0C8C8C8E2A6A6
+FF7F7FFF7F7FFF7F7FFF7F7FFB8585E0A9A9C9C5C5E5A1A1FF7F7FFD8181F68A8AE5A0A0D5B5B5
+CEC0C0CCC3C3D0BDBDDCADADEE9494FB8383FF7F7FFF7F7FFF7F7FE2A6A6C8C8C8E2A3A3EF9494
+DCABABD0BBBBCAC4C4E69E9EFC8282F09191E2A5A5D7B4B4CEC1C1CCC1C1D3B7B7E3A4A4F78A8A
+FF7F7FFF7F7FFF7F7FDFAAAAC8C8C8E5A0A0EB9999D8B1B1CDBFBFCEBEBEDAAEAEEE9292FD8282
+FF7F7FFF7F7FFF7F7FFD8282F58C8CE2A4A4D4B6B6CDC1C1CBC2C2D1BCBCDEAAAAF19191FC8282
+FF7F7FFF7F7FFF7F7FFD8383F38F8FE0A8A8D2B8B8CCC2C2CCC2C2D3B8B8E3A1A1F98787FF7F7F
+FF7F7FD9B1B1C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8F09494FF7F7FD7B3B3C8C8C8F09292
+FF7F7FE1A6A6CCC2C2E0A8A8F98686FF7F7FFF7F7FFF7F7FFF7F7FEE9494D0BDBDD4B9B9F58B8B
+FF7F7FFC8282F38E8EDEA8A8D3B8B8CCC2C2CCC2C2D2BBBBE1A7A7F38D8DFD8080FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8282F28F8FDEABABD3B9B9CCC3C3
+CCC1C1D2BABAE2A6A6F48C8CFE8080FF7F7FFF7F7FE89D9DCEBFBFCCC0C0EF9595FD8080FF7F7F
+FF7F7FF48B8BD1BABACBC4C4E1A6A6FC8282FF7F7FFF7F7FEE9494DDAAAAD2BBBBCBC3C3CBC3C3
+D0BBBBDDABABF38E8EFE8080FF7F7FFF7F7FFF7F7FFF7F7FCBC3C3C8C8C8F78989E3A5A5D2B8B8
+CCC3C3D5B5B5E99C9CFE8282FA8686E2A5A5D4B7B7CAC3C3D0BBBBE89E9EFE8282FF7F7FFF7F7F
+FF7F7FFF7F7FC8C7C7C8C8C8F98585E0A6A6D3BABACBC4C4D2BBBBE2A7A7F88787FF7F7FFF7F7F
+FF7F7FFE8181C8C8C8C9C5C5FF7F7FFF7F7FFF7F7FFF7F7FFB8484EE9292DAB0B0D0BBBBCBC4C4
+CDC1C1D5B8B8E7A1A1F88787FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE1A6A6C8C8C8E5A0A0FF7F7FFF7F7F
+FF7F7FFF7F7FF68A8ADBB0B0CBC3C3E89E9EFF7F7FF98585E99B9BD8B2B2CFBEBECBC3C3CAC5C5
+CCC2C2D3BABADFA8A8F38E8EFF7F7FFF7F7FFF7F7FE5A0A0C8C8C8DBAFAFE4A0A0D4B8B8CEC1C1
+C9C5C5E1A7A7F88686E79F9FD6B4B4D1BDBDCBC3C3CAC5C5CDC0C0D5B7B7E99999FF7F7FFF7F7F
+FF7F7FE89C9CC8C8C8D7B2B2E4A2A2D2BABACCC2C2CAC3C3D0BCBCDDAAAAF28E8EFF7F7FFF7F7F
+FF7F7FFB8484EC9797D9AFAFD0BDBDCBC2C2CAC5C5CCC3C3D1BBBBDDABABF09191FF7F7FFF7F7F
+FF7F7FFB8484EB9898D8B0B0CFBDBDCBC3C3C9C5C5CCC2C2D3B9B9E6A0A0FF7F7FFF7F7FEE9595
+C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8D8B3B3FF7F7FF09393C8C8C8D7B3B3FF7F7FF68A8A
+D9B2B2CFBFBFE89B9BFF7F7FFF7F7FFF7F7FFF7F7FF78888DBAFAFCDC0C0E69E9EFF7F7FFD8282
+EF9393DBADADD0BCBCCCC2C2C9C5C5CBC3C3D0BDBDDBAFAFED9696FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8181F19292DBABABD0BBBBCDC2C2C9C5C5CBC3C3
+CFBDBDD9AFAFEC9797FF7F7FFF7F7FFD8181EB9797CFBEBECEBFBFE99C9CFE7F7FFF7F7FFC8484
+E2A5A5CCC3C3D3B9B9F28F8FFF7F7FFF7F7FFC8383DAAFAFD2BABACCC2C2C9C5C5CAC5C5CEC0C0
+D6B6B6E59F9FFE8080FF7F7FFF7F7FFF7F7FFC8484C8C8C8CAC4C4ED9696D5B7B7CDC0C0CAC5C5
+D0BDBDDDACACFB8484ED9696D5B6B6CEBFBFC9C5C5CDC0C0DBB0B0FB8585FF7F7FFF7F7FFF7F7F
+FF8080C8C8C8C8C7C7EF9595D5B6B6CDBFBFC9C5C5CCC0C0D5B6B6EB9A9AFF7F7FFF7F7FFF7F7F
+FF7F7FC9C5C5C8C8C8FE8282FF7F7FFF7F7FFF7F7FF58C8CDFA7A7D2BABACDC0C0CAC6C6CAC4C4
+CDBFBFD7B5B5E79D9DFD8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDDACACC8C8C8E99B9BFF7F7FFF7F7FFF7F7FFF7F7F
+F29191D5B5B5CDC1C1EA9B9BFF7F7FF68B8BDCACACCBC3C3C9C6C6C8C7C7C9C8C8C9C7C7C9C6C6
+D1BBBBEA9999FF7F7FFF7F7FFF7F7FE99D9DC8C8C8D5B8B8DBADADC9C5C5C9C7C7C8C7C7DBADAD
+F78989DEABABCAC5C5CAC7C7C9C7C7C8C7C7C8C6C6CAC6C6D9B2B2FF7F7FFF7F7FFF7F7FF29090
+C8C8C8CEBFBFDEABABCAC6C6C8C6C6C9C8C8C9C7C7CDC1C1E2A3A3FF7F7FFF7F7FFF7F7FFD8282
+E99B9BCCC1C1C9C6C6C9C7C7C8C7C7C8C7C7C9C7C7CBC4C4DBADADFF7F7FFF7F7FFF7F7FFE7E7E
+EA9B9BCBC2C2C9C6C6C9C7C7C8C7C7C8C7C7C9C6C6CAC5C5FC8282FF7F7FFF7F7FCCC1C1C8C8C8
+C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8F88989FF7F7FD0BCBCC8C8C8F68B8BFF7F7FEB9898CEBFBF
+D4B5B5F78989FF7F7FFF7F7FFF7F7FFF7F7FE2A4A4CCC1C1DEA9A9F88787FF7F7FF28F8FD5B2B2
+CAC4C4C9C7C7C8C7C7C9C8C8C8C6C6C9C5C5D4B8B8F19191FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF68C8CDBACACCBC3C3C8C6C6C8C7C7C9C8C8C9C7C7C9C6C6
+D1BBBBEB9A9AFF7F7FFF7F7FFD7F7FEC9898CEBCBCCEBFBFE69E9EFE7F7FFF7F7FF09393D3BCBC
+CDC2C2E2A5A5FD8080FF7F7FFF7F7FEF9494CAC5C5C9C6C6C8C7C7C8C7C7C8C7C7C9C7C7CCC3C3
+DDABABFE8080FF7F7FFF7F7FFF7F7FF48D8DC8C8C8CEC1C1DEA8A8C9C5C5C8C6C6C8C7C7C9C5C5
+D3B9B9F78B8BDFA7A7C9C5C5C9C7C7C8C7C7C9C6C6CDBFBFF78888FF7F7FFF7F7FFF7F7FFE8181
+C8C8C8C8C6C6E3A3A3CAC5C5C9C7C7C8C7C7C8C6C6CAC6C6DDACACFE8181FF7F7FFF7F7FFF7F7F
+CCC1C1C8C8C8FA8787FF7F7FFF7F7FFF7F7FEF9393D2BBBBCAC5C5C9C7C7C9C8C8C8C7C7C8C6C6
+CAC6C6D5B3B3F88A8AFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FD8B1B1C8C8C8ED9696FF7F7FFF7F7FFC8181F88787E89E9ED1BCBC
+D0BDBDED9696FE8080EE9595D5B6B6CDBFBFD3B8B8D7B3B3D9B3B3D5B6B6CFBEBECDBFBFE1A6A6
+FB8686FF7F7FFF7F7FEC9898C8C8C8CEBEBED7B2B2CFBCBCD6B5B5DBB1B1E4A3A3F78888D9B0B0
+CAC6C6D0BDBDD7B4B4D9B1B1D8B3B3D3B8B8D3BABAFF7F7FFF7F7FFF7F7FFC8484C8C8C8C9C6C6
+D9B0B0CFBFBFD6B4B4D6B4B4CFBFBFC8C6C6D4B6B6F88989FF7F7FFF7F7FFD8181E5A2A2CDC0C0
+D0BCBCD5B7B7D9B2B2D8B3B3D4B8B8CCC2C2CFBBBBEE9696FD8181FF7F7FFC8181E89E9ED0BDBD
+CBC3C3D0BCBCD6B5B5D8B2B2D6B5B5D0BEBEEA9A9AFF7F7FFF7F7FEB9898D1BCBCC8C8C8D1BBBB
+DAAFAFDAAFAFDAAFAFEB9A9AFF7F7FE89C9CC8C8C8DDABABFF7F7FF98686E1A6A6CCC2C2DFA7A7
+FD8080FF7F7FFF7F7FFE7F7FF38F8FD0BCBCD1BCBCF18F8FFF7F7FF88888DDABABCAC2C2D2BABA
+D6B5B5D9B1B1D7B4B4D2BABACBC4C4D4B6B6F78989FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFD8181E4A2A2CCC0C0D0BCBCD5B7B7D9B2B2D8B3B3D4B8B8CCC2C2D0BBBB
+EE9595FD8181FF7F7FFE7F7FEA9A9AD2BBBBCEBEBEE79D9DFB8484F88888DEAAAACCC1C1D8B3B3
+F39090FE7E7EFF7F7FFF7F7FE4A1A1D0BEBED5B6B6D9B2B2D8B1B1D6B6B6D0BEBECCC2C2DDABAB
+F98787FF7F7FFF7F7FFF7F7FED9797C8C8C8CEC0C0D8B3B3D3BABAD8B4B4D4B9B9CCC3C3D1BBBB
+E79E9ED8B2B2D2BBBBD7B3B3D4B8B8CBC2C2CDC0C0F38E8EFF7F7FFF7F7FFF7F7FFC8282C8C8C8
+C9C7C7D9B0B0CFBFBFD6B4B4D6B4B4CFBEBEC9C7C7D4B7B7F78989FF7F7FFF7F7FFF7F7FCFBDBD
+C8C8C8F68B8BFF7F7FFF7F7FFD8181E79E9ECEBCBCCFBDBDD4B7B7D8B2B2D8B3B3D4B7B7CDC1C1
+D0BDBDEA9A9AFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FD4B8B8C8C8C8F19191FF7F7FFF7F7FFA8585F19292DCABABCDC2C2D3B7B7F19292
+FC8282E5A1A1CEBEBED2B8B8E1A8A8E89C9CEB9A9AE5A2A2D8B3B3CDC2C2DAB2B2F48D8DFF7F7F
+FF7F7FEF9494C8C8C8CAC4C4D2BABAD7B1B1E4A0A0EF9595F29090F98686D4B8B8CAC6C6D7B3B3
+E79E9EED9696EA9999E2A4A4D1BBBBFE8181FF7F7FFF7F7FFF7F7FCEBFBFC8C8C8D0BFBFD5B6B6
+E4A3A3E69E9EDAB0B0CDC3C3CCC1C1E89A9AFC8383FF7F7FFC8383E2A5A5CDC0C0D4B6B6E1A6A6
+E89B9BEA9999E5A3A3D5B4B4CCC1C1DCADADF58B8BFF7F7FFC8282EA9A9ACEBEBECBC2C2D5B5B5
+E2A5A5EB9999E99C9CDFAAAADBADADFF7F7FFF7F7FFD8282E99A9AC8C8C8CCC2C2EF9393EF9393
+EF9393F09393FF7F7FFF7F7FC9C5C5C8C8C8FC8484FF7F7FF78A8ACEBEBECCC1C1F48F8FFE7F7F
+FF7F7FFF7F7FFD8484D8B0B0CBC5C5E89C9CFC8282FC8383E2A5A5CDC0C0D4B6B6E1A6A6E89B9B
+EA9999E4A3A3D6B5B5CDC2C2DCADADF68C8CFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFD8080F19292D2BBBBCCBFBFDDAAAAE69F9FEC9898E89E9EDDABABCDC2C2CEBDBDF09595
+FF7F7FFF7F7FFE7E7EF09292CDBFBFCCC2C2E5A0A0FD8282EA9A9ACFBDBDCCC2C2E99B9BFC8383
+FF7F7FFF7F7FFF7F7FDDABABDBADADE69F9FED9898EB9A9AE4A3A3D5B6B6CCC2C2DCACACF68B8B
+FF7F7FFF7F7FFF7F7FE5A0A0C8C8C8CCC1C1D5B5B5E1A8A8E89D9DDDAAAACEBFBFCFBFBFD8B2B2
+D4B7B7DEAAAAE99D9DE1A8A8CFBEBECFBFBFEF9494FF7F7FFF7F7FFF7F7FFB8484C8C8C8C9C7C7
+D0BCBCD6B5B5E69E9EE69E9ED7B3B3C9C4C4CDC0C0EF9292FD8080FF7F7FFF7F7FD2B9B9C8C8C8
+F28F8FFF7F7FFF7F7FFB8383DFA7A7CDC1C1D5B5B5E1A5A5E99B9BEA9A9AE3A3A3D5B6B6CDC2C2
+DEABABFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+CFBDBDC8C8C8F19292FA8585FA8585F38F8FE69E9ED2B7B7C9C4C4D8B0B0F38D8DFA8686DDACAC
+CBC3C3D9B0B0EB9696F78A8AF98585F39191E2A7A7CEC0C0D3BBBBED9696FF7F7FFF7F7FF29090
+C8C8C8C8C6C6CEBFBFE0A7A7F09191FE8181FF7F7FFD8181CEBDBDC8C7C7DBACACF38F8FFC8282
+FA8686F09191DCACACF88888FF7F7FFF7F7FFF7F7FD7B2B2C8C8C8CAC5C5D7B2B2EB9696F58D8D
+E89C9CD4B7B7CAC6C6DAAFAFF68B8BFF7F7FFB8484E4A1A1CAC3C3D5B6B6EA9A9AF48C8CFB8585
+F48D8DE5A0A0D0BEBECDC1C1E99C9CFF7F7FFE8080F19292C9C6C6C9C5C5D9B1B1E99C9CF88686
+F98585F19292DCADADF88686FF7F7FFF7F7FFF7F7FD6B5B5C8C8C8EE9595FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FE1A6A6C8C8C8E3A4A4FF7F7FFE8181E89E9ECAC4C4D9B0B0FA8585FF7F7FFF7F7F
+FD8181EC9898C8C5C5D5B7B7FC8282FE8080F19393CAC4C4CDC0C0E89E9EF29090FB8383F68989
+EC9898D4B9B9C9C6C6E1A6A6FB8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+F88686DCAEAECAC2C2DAAFAFED9797F68989F98686F19090E1A8A8CEC0C0D3B9B9EE9595FF7F7F
+FF7F7FFE8080F09191D0BDBDCCC2C2E2A6A6F78989D9B0B0C9C6C6D5B7B7FB8484FF7F7FFF7F7F
+FF7F7FFF7F7FDAAFAFEA9A9AF58A8AFC8282F88787EE9393DAB2B2CBC4C4DBAFAFF68A8AFF7F7F
+FF7F7FFF7F7FDEAAAAC8C8C8CBC3C3DAB1B1EE9494F58B8BE69F9FD0BBBBC9C3C3CDBFBFD5B5B5
+EB9999F68A8AEA9999D3B9B9CFBFBFEB9999FF7F7FFF7F7FFF7F7FFA8686C8C8C8C8C7C7CCC3C3
+E0AAAAF48D8DF58D8DE1A7A7CDC1C1C9C7C7E89D9DFC8282FF7F7FFF7F7FD6B6B6C8C8C8EF9595
+FF7F7FFF7F7FF88686DBAEAEC9C2C2DAAEAEEC9696F68989F98686F29191E0A8A8CEC0C0D3B9B9
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FCBC3C3C8C8C8
+E2A6A6E5A1A1E5A1A1E1A7A7D9B0B0CEBFBFCAC2C2E1A5A5F98888F38E8ED8B3B3D0BBBBE4A2A2
+F48D8DFA8585FC8383F88989EC9999D6B4B4CFBFBFE89F9FFF7F7FFF7F7FF58B8BC8C8C8C9C6C6
+D5B8B8EC9797F68A8AFE8080FF7F7FFF7F7FD4B6B6C8C5C5DEA9A9F48D8DFC8282FC8282F78888
+EC9696F78888FF7F7FFF7F7FFF7F7FE1A6A6C8C8C8CDC1C1DFABABF18F8FF98787F48C8CE4A2A2
+CFBEBED0BDBDEA9898FF7F7FFB8383E6A0A0CAC3C3D9B1B1F19090F78888FD8181FA8585F48E8E
+E0A9A9CAC3C3DBAFAFF98686FF7F7FEF9595D3BCBCCBC1C1E0A8A8EF9494F88787FC8383F98787
+EF9393F48E8EFF7F7FFF7F7FFF7F7FEB9999C8C8C8D8B1B1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+F98888C8C8C8CBC3C3FF7F7FFF7F7FFD8181D4B6B6C9C6C6EA9999FD8282FF7F7FFF7F7FF38E8E
+D3B9B9CEBDBDEF9494FE7F7FF38E8ED8B3B3D0BBBBE4A2A2F48D8DFA8585FC8383F88989EC9999
+D6B4B4CFBFBFE89F9FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEB9898
+CCC3C3D5B5B5EE9595F68A8AFC8383FB8484F58C8CE3A2A2CEBEBED7B4B4F38E8EFF7F7FFF7F7F
+FE8080ED9494D5B6B6CEC0C0DFAAAAE2A3A3CFBDBDD0BCBCE89C9CFD8181FF7F7FFF7F7FFF7F7F
+FC8383E99B9BF58C8CFA8484FE8080FA8484F48C8CE0A6A6CAC4C4DAB1B1FA8686FF7F7FFF7F7F
+FF7F7FD7B4B4C8C8C8D2BBBBE79F9FF78A8AFA8787EB9898D4B7B7C9C5C5D1BDBDE2A7A7F48D8D
+FA8686F19393D9B1B1CFBFBFE69C9CFF7F7FFF7F7FFF7F7FF98787C8C8C8C9C7C7D3B9B9ED9797
+F88787F98787ED9595D5B5B5C9C5C5E0A9A9F98585FF7F7FFF7F7FD9B2B2C8C8C8EB9999FF7F7F
+FF7F7FF48D8DDAB0B0D0BDBDE2A4A4F48E8EF98585FC8383F88888EC9696D8B3B3CEC1C1FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8383C8C8C8C8C8C8CFBDBDD0BDBD
+D0BDBDCEBEBECCC1C1CAC6C6CCC0C0EB9898FD8282EC9797D2B9B9D6B4B4EF9494FB8282FE8181
+FE8080FD8181F58A8ADFA8A8CDC3C3E0A7A7FF7F7FFF7F7FF98888C8C8C8C9C6C6D8B0B0F98686
+FC8282FE7F7FFF7F7FFF7F7FDAAFAFCAC4C4DFA7A7F68B8BFD8080FE7F7FFD8181FB8585FC8282
+FF7F7FFF7F7FFF7F7FEB9A9AC8C8C8CEC1C1E3A5A5FB8484FE8181FC8181F58A8AD8B2B2C9C6C6
+DCACACFF7F7FFF7F7FE2A3A3CBC3C3DDAAAAF68A8AFD8282FE8080FD7F7FFD8282F09191D5B4B4
+D0BCBCEC9898FF7F7FF09191D5B5B5CCC2C2DFA7A7F98585FC8282FE8080FE8080FC8383FA8686
+FF7F7FFF7F7FFF7F7FFF7F7FCAC3C3C8C8C8F98888FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDAAFAF
+C8C8C8E99C9CFF7F7FFF7F7FEC9797D1BBBBD5B6B6F09292FF7F7FFF7F7FF88787E0A8A8CBC2C2
+DEA8A8FE7F7FFC8282DFA9A9CAC7C7E1A5A5FB8686FD8282FE7F7FFE8080FC8282EE9595D1BCBC
+D3BABAF29090FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF58D8DD9B1B1CFBDBD
+E89D9DFB8383FD8181FE7F7FFE8181FB8484E99C9CC8C7C7D5B3B3FD8383FF7F7FFF7F7FFE7F7F
+F39090D3B8B8CBC4C4D8B2B2D1B9B9CAC4C4DEA9A9F78989FF7F7FFF7F7FFF7F7FFF7F7FFC8181
+FA8686FD8282FE8080FE7F7FFD8080FA8585E99C9CC9C6C6D8B4B4FF7F7FFF7F7FFF7F7FFF7F7F
+D0BDBDC8C8C8DAB0B0F48D8DFD8181FD8181F19090D6B5B5C8C6C6D4B6B6EC9696FC8282FD8080
+F68B8BDEAAAACEC0C0E5A2A2FF7F7FFF7F7FFF7F7FF88989C8C8C8C9C5C5DBAFAFFA8585FD8181
+FE8181FB8585DEA9A9CBC3C3D7B3B3F68A8AFF7F7FFF7F7FDCAEAEC8C8C8E79D9DFF7F7FFF7F7F
+F19191D6B4B4D3BABAEB9999FB8282FD8080FE7F7FFE8181F78686E5A1A1CAC5C5FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF88888C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C9C6C6
+CAC4C4CEC0C0D7B2B2F38E8EFE7F7FE79D9DCFBDBDD5B6B6E99B9BF28F8FF28F8FF28F8FF28F8F
+EF9595DDABABCAC4C4DAAEAEFF7F7FFF7F7FFC8484C8C8C8C8C8C8DEAAAAFC8282FF7F7FFF7F7F
+FF7F7FFF7F7FE3A3A3CDC0C0D9B2B2EB9999F28E8EF58B8BF98787FC8282FF7F7FFF7F7FFF7F7F
+FF7F7FF48E8EC8C8C8CCC4C4E4A3A3FF7F7FFF7F7FFF7F7FFF7F7FE4A2A2CCC2C2D3B8B8F58B8B
+FF7F7FE69F9FCEBEBED6B5B5E99A9AF28F8FF28F8FF28F8FF28F8FED9595DCADADCBC4C4DDADAD
+FF7F7FFA8686D7B4B4C9C6C6DAAFAFFE7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FDFA8A8C8C8C8E3A4A4FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF29191C8C8C8D1BBBB
+FF7F7FFF7F7FFE8080DFA7A7C9C6C6DEABABFC8484FF7F7FFF7F7FE79E9ECEBEBED8B1B1F48D8D
+FF7F7FEA9999D1BCBCD2B8B8E89E9EF28F8FF28F8FF28F8FF28F8FEF9393E0A8A8CAC6C6D6B3B3
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE5A0A0CFC0C0D7B5B5EA9A9A
+F28F8FF28F8FF28F8FF28F8FEE9696DCAEAECAC3C3DDABABFF7F7FFF7F7FFF7F7FFE7F7FF48A8A
+D2BABAC8C6C6D3B7B7C9C5C5D0BDBDEF9393FC8080FF7F7FFF7F7FFF7F7FFF7F7FFE8080FA8484
+F78B8BF48D8DF38F8FF28F8FEF9494DFA9A9CAC4C4D9AFAFFF7F7FFF7F7FFF7F7FFE8080C9C6C6
+C8C8C8E3A2A2FB8282FF7F7FFF7F7FF68C8CD5B7B7C8C8C8DBAEAEF48B8BFF7F7FFF7F7FF98686
+E0A7A7CDC1C1E3A4A4FF7F7FFF7F7FFF7F7FF68A8AC8C8C8C9C4C4E2A5A5FF7F7FFF7F7FFF7F7F
+FF7F7FE59F9FCDC1C1D2B9B9F48E8EFF7F7FFF7F7FDEAAAAC8C8C8E4A2A2FF7F7FFF7F7FF19191
+D3B7B7CFBEBEE3A1A1F28F8FF28F8FF28F8FF28F8FF19090E5A1A1C9C7C7D1BABAFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FF48E8EC8C8C8C8C8C8C8C8C8C8C8C8C8C8C8CAC3C3CEBEBED8B2B2
+E89D9DF98686FF7F7FE4A2A2CDC0C0CFBFBFD9B1B1DDABABDDABABDDABABDDABABDBAEAED3B9B9
+C9C5C5D4B4B4FF7F7FFF7F7FFF8080C9C4C4C8C8C8E3A4A4FB8484FF7F7FFF7F7FFF7F7FFF7F7F
+ED9797D3B9B9CFBFBFD9B2B2DEA8A8E5A1A1ED9797F78A8AFE7F7FFF7F7FFF7F7FFF7F7FFD8282
+C8C8C8C8C8C8E5A2A2FB8282FF7F7FFF7F7FFF7F7FEF9494D3B8B8CEBFBFEB9999FF7F7FED9797
+D0BCBCCCC1C1D6B3B3DDABABDDABABDDABABDDABABDCACACD6B5B5C8C7C7CDBEBEF98484FF7F7F
+DDABABCBC3C3DAAFAFF58B8BFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+F48D8DC8C8C8CEC0C0FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD3B8B8C8C8C8EE9494FF7F7F
+FF7F7FF28F8FD7B2B2CFBEBEE79C9CFF7F7FFF7F7FF48D8DD3B7B7CEBFBFEB9898FF7F7FFD8181
+D6B5B5C8C6C6D2B8B8DCADADDDABABDDABABDDABABDDABABD9B1B1CDBFBFCBC2C2E69E9EFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8383D5B5B5C8C7C7D3B8B8DDADADDDABAB
+DDABABDDABABDDABABD9B1B1CDC0C0CBC2C2E89C9CFF7F7FFF7F7FFF7F7FFD8080F28E8ED9B1B1
+CAC6C6CDC0C0CBC4C4E0A7A7FB8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFB8383F09292E7A0A0
+E1A6A6DEAAAADDABABDBAFAFD1BBBBCBC4C4DFA9A9FF7F7FFF7F7FFF7F7FF78989C8C8C8CBC5C5
+EE9494FE7F7FFF7F7FFF7F7FF88787D2BABAC8C8C8E3A5A5F98686FF7F7FFF7F7FFB8484E1A6A6
+CAC2C2E1A6A6FF7F7FFF7F7FFF7F7FF58C8CC8C8C8CBC4C4E89C9CFF7F7FFF7F7FFF7F7FFF7F7F
+EC9898CFBEBED0BDBDF09191FF7F7FFF7F7FE1A6A6C8C8C8E0A7A7FF7F7FFF7F7FF28F8FD2B9B9
+CBC4C4D5B5B5DDABABDDABABDDABABDDABABDDABABD7B3B3CAC4C4CDC0C0FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FEF9393C8C8C8C8C8C8C8C8C8C8C8C8C8C7C7CCC1C1D2B8B8E3A4A4F98787FF8080
+FF7F7FE1A7A7CCC3C3C8C7C7C8C6C6C8C6C6C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C9C7C7D0BCBC
+FF7F7FFF7F7FFF7F7FCDC1C1C8C8C8E79F9FFB8484FF7F7FFF7F7FFF7F7FFF7F7FF48D8DDAAFAF
+C8C8C8C8C7C7CAC3C3D3B9B9DFA9A9EF9393FE8181FF7F7FFF7F7FFF7F7FFF7F7FD1BBBBC8C8C8
+E3A2A2FA8686FF7F7FFF7F7FFF7F7FF78989DEABABCAC3C3DEA9A9FF7F7FF68C8CD0BCBCC8C7C7
+C8C6C6C8C6C6C8C6C6C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C9C4C4EA9A9AFF7F7FE89D9DCDC1C1
+D5B5B5F29191FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD4B8B8
+C8C8C8EE9696FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEB9A9AC8C8C8D7B4B4FF7F7FFF7F7FFD8181
+ED9595C8C7C7CEBDBDFB8484FF7F7FFF7F7FDBAFAFCAC5C5E2A4A4F98686FF7F7FE89C9CCEC1C1
+C8C7C7C8C6C6C8C6C6C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C8C8CAC3C3F98686FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEC9898CEBFBFC8C7C7C8C6C6C8C6C6C8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C8C8CAC4C4F58B8BFF7F7FFF7F7FFF7F7FFF7F7FF48C8CDAB0B0C8C8C8
+C8C8C8D4B7B7F19191FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF88989E2A4A4D4B7B7CDBFBF
+C9C5C5C8C7C7C8C8C8C8C8C8CAC5C5E4A1A1FF7F7FFF7F7FFF7F7FF09393C8C8C8D0BDBDF78989
+FF7F7FFF7F7FFF7F7FFD8282CFBEBEC8C8C8EB9999FC8282FF7F7FFF7F7FFD8080E2A6A6C9C6C6
+E0A8A8FF7F7FFF7F7FFF7F7FF48D8DC8C8C8CBC2C2EF9494FF7F7FFF7F7FFF7F7FFF7F7FF19090
+D2BBBBCDC0C0ED9494FF7F7FFF7F7FE4A1A1C8C8C8DDACACFF7F7FFF7F7FF48C8CD0BDBDC8C7C7
+C8C6C6C8C6C6C8C6C6C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C9C4C4FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+EB9999C8C8C8CDC0C0DDACACDDACACDCABABDFA7A7E4A2A2EF9696FC8484FE7E7EFF7F7FDEABAB
+CAC3C3C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C7C7CDBFBFFF7F7FFF7F7F
+FF7F7FD0BCBCC8C8C8E89C9CFC8383FF7F7FFF7F7FFF7F7FFF7F7FFA8686E89D9DD3B9B9CCC2C2
+C9C5C5CEBFBFD5B6B6DFA9A9EC9898FB8484FF7F7FFF7F7FFF7F7FDAAFAFC8C8C8DFA8A8F98686
+FF7F7FFF7F7FFF7F7FFC8383E99A9AC9C6C6D2B9B9FF7F7FFF7F7FD2BABAC9C6C6C8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C6C6DAAFAFFF7F7FF58B8BCDC0C0CCC3C3F09191
+FE7E7EFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE89C9CC8C8C8D8B1B1
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FCDC1C1C8C8C8F48E8EFF7F7FFF7F7FF88585DCABAB
+CCC3C3E1A6A6FC8383FD8181EC9696CCC2C2D2BABAF78989FF7F7FFF7F7FD1BABAC9C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C6C6DBADADFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDAAFAFCBC5C5C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7
+C8C7C7C8C8C8C8C7C7D0B9B9FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48C8CD3B7B7C8C6C6C9C4C4
+E1A4A4F98686FF7F7FFF7F7FFF7F7FFF7F7FFE8080F68989E3A1A1D6B5B5CEBFBFCAC3C3C8C7C7
+C8C7C7C8C8C8C8C8C8C9C5C5EB9898FF7F7FFF7F7FFF7F7FE99C9CC8C8C8D7B5B5FB8484FF7F7F
+FF7F7FFF7F7FFD8282CAC4C4C8C8C8F29090FE8080FF7F7FFF7F7FFE8080DFA8A8C8C6C6E1A5A5
+FF7F7FFF7F7FFF7F7FF38F8FC8C8C8CDC1C1F48E8EFF7F7FFF7F7FFF7F7FFF7F7FF68B8BD5B8B8
+CCC3C3EB9898FF7F7FFF7F7FE79E9EC8C8C8DAB0B0FF7F7FFF7F7FF78787CEBFBFC8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C9C6C6FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE79F9FC8C8C8
+D5B5B5F29090F29090F28F8FF38E8EF58C8CF98787FE8080FF7F7FFF7F7FDBAEAEC9C5C5C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C7C7CAC4C4FE8181FF7F7FFF7F7FD3B8B8
+C8C8C8E99B9BFD8181FF7F7FFF7F7FFF7F7FFF7F7FFD8080F58E8EDFA8A8D0BABAC9C6C6CAC4C4
+CDC2C2D0BCBCD8AFAFF39090FE8181FF7F7FFF7F7FE4A3A3C8C8C8DAAFAFFA8585FF7F7FFF7F7F
+FF7F7FFF7F7FF88989CAC4C4CAC3C3F68A8AFF7F7FDBAEAEC9C5C5C8C7C7C8C7C7C8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C8C8C8C7C7CAC4C4FD8080FF7F7FD4B8B8C9C6C6EA9C9CFC8282FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8282C8C6C6C8C8C8F88989FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FE4A3A3C8C8C8DDADADFF7F7FFF7F7FFF8080F68C8CCCC0C0CAC5C5
+F29090FD7F7FF58989D4B8B8CDC2C2EC9A9AFE8181FF7F7FE89D9DCBC4C4C8C7C7C8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C6C6F09393FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FF68989CBC2C2C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7
+C8C8C8C8C7C7E0A8A8FF7F7FFF7F7FFF7F7FFF7F7FFE7F7FF68B8BCBC2C2C8C7C7CCC0C0F29090
+FE8080FF7F7FFF7F7FFF7F7FFF7F7FFA8383E99B9BD2B9B9CDC1C1CAC5C5C9C6C6C8C7C7C8C8C8
+C8C8C8C8C8C8C9C7C7F38F8FFF7F7FFF7F7FFF7F7FE2A6A6C8C8C8DDABABFE8181FF7F7FFF7F7F
+FF7F7FFA8787C8C8C8C8C8C8F98787FE7E7EFF7F7FFF7F7FFF7F7FDCAAAAC8C7C7E3A3A3FF7F7F
+FF7F7FFF7F7FF29090C8C8C8CEC0C0F98888FF7F7FFF7F7FFF7F7FFF7F7FFA8686D7B4B4CAC4C4
+E79B9BFF7F7FFF7F7FEA9A9AC8C8C8D6B4B4FF7F7FFF7F7FFA8383CCC2C2C8C7C7C8C7C7C8C7C7
+C8C7C7C8C7C7C8C7C7C8C7C7C8C7C7C8C8C8C8C7C7FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE2A4A4C8C8C8DDABABFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDAB0B0C8C5C5CCC4C4CFBFBFCFBDBD
+CFBDBDCFBDBDCFBDBDCFBDBDCFBDBDCFBDBDCFBDBDFD8484FF7F7FFF7F7FD7B4B4C8C8C8E89C9C
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8282EC9797DBAEAED1BBBBCEBEBECDC1C1CAC4C4
+CDBFBFE79F9FFA8484FF7F7FFF7F7FED9797C8C8C8D2BABAF98484FF7F7FFF7F7FFF7F7FFF7F7F
+FA8585D4B6B6CAC5C5EA9999FF7F7FE79F9FC9C4C4C9C4C4CEBFBFCFBDBDCFBDBDCFBDBDCFBDBD
+CFBDBDCFBDBDCFBDBDCFBDBDF19393FF7F7FE4A5A5CAC5C5DCAEAEFB8585FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDDACACC8C8C8E3A4A4FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFA8585C8C8C8C8C8C8F98686FF7F7FFF7F7FFF7F7FE3A5A5CCC1C1DBAFAFF68C8C
+F98686E3A4A4CAC4C4DAB2B2FF7F7FFF7F7FFF7F7FD0BBBBC8C6C6CCC2C2CFBEBECFBDBDCFBDBD
+CFBDBDCFBDBDCFBDBDCFBDBDCFBDBDD7B2B2FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FE6A1A1CAC5C5CAC5C5CEBFBFCFBDBDCFBDBDCFBDBDCFBDBDCFBDBDCFBDBDCFBDBD
+CFBDBDF19090FF7F7FFF7F7FFF7F7FFF7F7FFC8282EA9A9ACAC2C2C9C5C5D3B8B8FA8484FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FF48C8CDAB1B1CAC5C5CBC2C2CEBFBFCFBEBED0BEBED0BEBECEC0C0
+C8C8C8C8C8C8FB8585FF7F7FFF7F7FFF7F7FDBAEAEC8C8C8E5A1A1FF7F7FFF7F7FFF7F7FFF7F7F
+F58D8DC8C8C8CBC3C3FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDBAFAFC8C8C8E5A1A1FF7F7FFF7F7F
+FF7F7FF19292C8C8C8CEBFBFFB8787FF7F7FFF7F7FFF7F7FFF7F7FFA8484D9B2B2C9C5C5E69E9E
+FF7F7FFF7F7FED9797C8C8C8D3B9B9FF7F7FFF7F7FFF7F7FCFBFBFC8C6C6CCC1C1CFBEBECFBDBD
+CFBDBDCFBDBDCFBDBDCFBDBDCFBDBDCFBDBDFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDEAAAAC8C8C8E1A7A7FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDBAEAECAC5C5D4B7B7E0A6A6E5A1A1E5A1A1E5A1A1
+E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1FC8282FF7F7FFF7F7FDAB0B0C8C8C8E5A1A1FE7E7EFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF68B8BEC9797E59F9FE1A7A7DBAEAED2BABACDC1C1DBADAD
+F58D8DFF7F7FFF7F7FF68C8CC8C8C8CAC6C6F38F8FFD7F7FFF7F7FFF7F7FFF7F7FF88787DCACAC
+C9C3C3E0A6A6FF7F7FF28E8ECEC1C1CAC4C4DCABABE5A2A2E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1
+E5A1A1E5A1A1F09494FF7F7FF28E8ECDC1C1CDC1C1F28F8FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF19191C8C8C8CEBFBFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FDDACACC8C8C8E2A5A5FF7F7FFF7F7FFF7F7FF88888D7B2B2C9C5C5E5A0A0FD8282EA9A9A
+CFBEBED4B7B7F09090FF7F7FFF7F7FEB9898CCC2C2CEC1C1DEAAAAE5A1A1E5A1A1E5A1A1E5A1A1
+E5A1A1E5A1A1E5A1A1E5A1A1F38E8EFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FD6B5B5C9C5C5D6B4B4E2A6A6E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1E69F9F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF28F8FD7B0B0C9C6C6CAC6C6D7B2B2F48E8EFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FE89E9ECFBEBECCC0C0D9B2B2E0A6A6E3A3A3E4A1A1E4A3A3DBB0B0C8C8C8
+CFBDBDFF7F7FFF7F7FFF7F7FFF7F7FD4B7B7C8C8C8EB9999FF7F7FFF7F7FFF7F7FFF7F7FF09393
+C8C8C8CFBDBDFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD8B3B3C8C8C8E79D9DFF7F7FFF7F7FFF7F7F
+F09494C8C8C8CEBFBFF58B8BFF7F7FFF7F7FFF7F7FFF7F7FF88989D8B3B3CAC3C3E59F9FFF7F7F
+FF7F7FF09494C8C8C8D0BDBDFF7F7FFF7F7FFF7F7FD4B5B5C9C5C5D7B4B4E2A5A5E5A1A1E5A1A1
+E5A1A1E5A1A1E5A1A1E5A1A1E5A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDAAFAFC8C8C8E4A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FDCADADCAC3C3DEABABF28D8DFA8686FA8686FA8686FA8686FA8686
+FA8686FA8686FA8686FF8080FF7F7FFF7F7FDDACACC8C8C8E2A6A6FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFD8181FC8484FA8787F38E8EEA9A9ADCADADCDBFBFD2BABAEC9898FF7F7F
+FF7F7FFE8080CBC3C3C8C8C8E79E9EFA8484FF7F7FFF7F7FFF7F7FF98787E2A5A5CAC5C5D7B2B2
+FF7F7FFE8080D2B8B8C9C6C6E4A1A1F68B8BFA8686FA8686FA8686FA8686FA8686FA8686FA8686
+FB8585FF7F7FFF7F7FD7B6B6C9C5C5E2A5A5F98888FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FD1BABAC8C8C8ED9696FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF38E8E
+C8C8C8CBC3C3FF8080FF7F7FFF7F7FFF7F7FEB9999D2BABAD3B7B7ED9696F28F8FD6B2B2CDBFBF
+E6A0A0FF7F7FFF7F7FFF7F7FD8B2B2CAC4C4E0A6A6F48C8CFA8686FA8686FA8686FA8686FA8686
+FA8686FA8686FA8686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48E8E
+D0BEBECCC3C3EC9898FA8787FA8686FA8686FA8686FA8686FA8686FA8686FA8686FB8383FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FE2A5A5CCC1C1C8C7C7C9C7C7D8B1B1F19090FF7F7FFF7F7FFF7F7F
+FF7F7FFA8484D7B3B3C9C6C6D1B9B9EA9C9CF48D8DF88989FA8787F78A8AE1A7A7C8C8C8D7B3B3
+FF7F7FFF7F7FFF7F7FFF7F7FCDC0C0C8C8C8F29191FF7F7FFF7F7FFF7F7FFF7F7FEB9999C8C8C8
+D4B8B8FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD5B6B6C8C8C8EA9B9BFF7F7FFF7F7FFF7F7FEE9494
+C8C8C8CDBFBFF09191FF7F7FFF7F7FFF7F7FFF7F7FF58D8DD7B4B4CCC2C2E6A0A0FF7F7FFF7F7F
+F29090C8C8C8CCC1C1FF7F7FFF7F7FFF7F7FDBAEAECAC3C3DEAAAAF48E8EFA8686FA8686FA8686
+FA8686FA8686FA8686FA8686FA8686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FD6B5B5C8C8C8E89C9CFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FDEAAAACCC2C2DBAFAFF38D8DFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FE0A8A8C8C8C8DEABABFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF8080FA8484F48D8DE89C9CD7B4B4CCC2C2E2A6A6FF7F7FFF7F7FFF7F7F
+D4B8B8C8C8C8DDACACF58B8BFF7F7FFF7F7FFF7F7FFB8585E4A1A1C8C6C6D1BABAFA8585FF7F7F
+DFA7A7CDC2C2D9B0B0F28F8FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FE5A0A0CEC0C0D4B7B7ED9595FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FE6A0A0C8C7C7D9B2B2FE8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD6B4B4C8C8C8
+E89E9EFF7F7FFF7F7FFF7F7FFA8686E4A3A3CAC6C6D7B3B3FB8585DBABABCBC2C2E0AAAAF78A8A
+FF7F7FFF7F7FF09393D1BBBBCFC0C0E99A9AFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE79F9FCEBFBF
+D5B6B6EF9494FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFD8181F29191D3B7B7C9C6C6D2BBBBC9C5C5D6B4B4F19090FE8181FF7F7FFF7F7FFF7F7F
+F19191CFBDBDCAC2C2DFA8A8F58A8AFC8383FE8181FF7F7FF68B8BD9B1B1C8C8C8DFA8A8FF7F7F
+FF7F7FFF7F7FFA8686C8C8C8C8C8C8F88989FF7F7FFF7F7FFF7F7FFF7F7FE6A0A0C8C8C8D8B2B2
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD2B9B9C8C8C8EC9898FF7F7FFF7F7FFF7F7FED9696C8C8C8
+CDC0C0EB9898FF7F7FFF7F7FFF7F7FFF7F7FEF9191D5B5B5CDC0C0E59F9FFF7F7FFF7F7FF58D8D
+C8C8C8C9C5C5FD8383FF7F7FFF7F7FE1A6A6CCC0C0D9B2B2F18F8FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FD2BBBBC8C8C8EC9898FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+E1A7A7CDC1C1D4B8B8EE9595FE7E7EFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FE3A3A3C8C8C8DAAFAFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFE7E7EFE8181FB8585F48C8CE5A0A0C9C6C6D6B4B4FA8585FF7F7FFF7F7FDDACACC8C8C8
+D4B7B7ED9696FF7F7FFF7F7FFF7F7FFE7F7FE4A1A1CCC2C2D2BABAF29090FF7F7FEB9797D1BABA
+CEBEBEE3A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF38E8E
+D4B7B7CAC3C3DEACACFE8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FA8686C8C5C5C8C7C7F48C8CFD7E7EFF7F7FFF7F7FFF7F7FFF7F7FED9797C8C8C8D1BCBCFF7F7F
+FF7F7FFF7F7FFF7F7FF58C8CD7B4B4CCC1C1E4A1A1EA9A9ACCBFBFD2BBBBF48E8EFF7F7FFF7F7F
+FF7F7FE1A7A7CDC1C1D4B8B8EE9595FE7E7EFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDDADADCAC3C3D5B4B4
+F28F8FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+F78989E1A7A7CBC0C0CFBCBCDAAEAEC9C5C5D1BBBBF29191FD8080FF7F7FFF7F7FFF7F7FE59E9E
+CBC2C2D3B8B8EE9494FB8383FD8080FF8080FF7F7FEB9898D0BCBCC8C8C8E79E9EFF7F7FFF7F7F
+FF7F7FF38F8FC8C8C8CAC3C3FE8282FF7F7FFF7F7FFF7F7FFF7F7FE1A6A6C8C8C8DCADADFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FD0BDBDC8C8C8EE9696FF7F7FFF7F7FFF7F7FEC9797C8C8C8CDC2C2
+E49F9FFF7F7FFF7F7FFF7F7FFF7F7FEC9696D4B8B8CFBFBFE6A0A0FF7F7FFF7F7FF88989C8C8C8
+C8C8C8F98787FF7F7FFF7F7FE89E9ED0BDBDD1BCBCE89C9CFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FCEC0C0
+C8C8C8EF9393FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE5A2A2CFBFBF
+CDC0C0E89D9DFC8080FE8080FE7F7FFF7F7FFF7F7FFF8080FE8080FD8181FF8080FF7F7FFF7F7F
+E69F9FC8C8C8D7B4B4FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8080FD8080FE8080FF7F7F
+FF7F7FFF7F7FFE8181F58D8DCCC2C2CEBDBDF28E8EFF7F7FFF7F7FE6A0A0C8C8C8CDBFBFE3A4A4
+FE8181FE7F7FFE7F7FFE8181E4A0A0D0BFBFD1BABAEA9898FF7F7FF68B8BDAB0B0C9C6C6D0BABA
+F98686FD8080FE7F7FFE7E7EFF7F7FFF7F7FFF8080FD8080FE8181FF7F7FFF8080DEA9A9CCC3C3
+D1BCBCEF9393FE8181FE7F7FFE7E7EFF7F7FFE8080FD8181FF7F7FFF7F7FFF7F7FFF7F7FDBADAD
+C8C5C5DFA7A7FB8383FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD0BDBDC8C8C8ED9696FF7F7FFF7F7F
+FF7F7FFD8181EF9595C9C6C6CBC2C2F58D8DD0BCBCC9C5C5E99B9BFC8181FF7F7FFF7F7FF48C8C
+D9B1B1C9C5C5D1B8B8FA8484FD8080FE7F7FFE7E7EFF7F7FFF7F7FFF8080FD8080FD8080FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48D8DD9B1B1C9C5C5D2B8B8FA8383
+FD8080FE7F7FFE7E7EFF7F7FFF7F7FFF8080FD8080FD8080FF7F7FFF7F7FFF7F7FFF7F7FEC9797
+D1BBBBCAC3C3DCACACDDABABCAC5C5D1BBBBF09494FF7F7FFF7F7FFF7F7FFF7F7FD9AEAEC8C5C5
+DEA8A8F88686FF7F7FFF7F7FFE8080FB8383DEAAAACBC5C5C8C8C8EF9393FF7F7FFF7F7FFF7F7F
+EC9898C8C8C8D1BBBBFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDDADADC8C8C8E0A7A7FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FCDC0C0C8C8C8F09393FF7F7FFF7F7FFF7F7FEB9898C8C8C8CCC3C3DFA8A8
+FD8080FF8080FE7F7FFD8080E89C9CD1BBBBD1BEBEE89E9EFF7F7FFF7F7FFA8686C8C8C8C8C8C8
+F68C8CFF7F7FFF7F7FED9797D4B8B8CBC3C3DDACACFC8181FE8080FF8080FF7F7FFE7E7EFE7F7F
+FE8080FD8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8383C9C4C4C8C8C8F38F8F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FED9898D2BABACBC2C2DEAAAA
+EF9191F58A8AFB8484FE8080FC8282FA8585F48C8CED9595F98787FF7F7FFF7F7FE99B9BC8C8C8
+D3B8B8FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48C8CEF9292F68A8AFB8484FD8181FE8181
+FA8585EC9797D0BEBECDBFBFEB9797FF7F7FFF7F7FEE9494C8C8C8CAC6C6D5B6B6EF9595F88787
+FA8585F48D8DE1A6A6CFBEBED1BBBBE99A9AFF7F7FFD8080E99C9CCDC0C0CCC1C1E3A4A4F19191
+F68989FB8383FE8181FC8383F98686F38E8EEC9797FC8383FF7F7FEF9393D6B5B5CBC2C2D9AFAF
+EF9393F68A8AFC8181FC8181F88787EF9393FA8686FF7F7FFF7F7FFF7F7FF09494CBC2C2CDC1C1
+F19191FC8383FF7F7FFF7F7FFF7F7FFF7F7FE6A0A0C8C8C8D6B4B4FF7F7FFF7F7FFF7F7FFF7F7F
+FC8282DBACACCBC3C3D9B1B1DBADADCAC3C3D8B1B1FD8484FF7F7FFF7F7FFF7F7FEF9595D4B7B7
+CBC2C2DCADADEF9292F58B8BFA8484FE8080FC8181FA8585F68D8DEE9595F88989FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF09292D7B3B3CAC2C2D8B0B0EF9494F58C8C
+FA8585FE8080FC8181FB8585F58B8BEF9494F68B8BFF7F7FFF7F7FFE8080F68989DBAFAFC9C6C6
+D6B4B4EC9696E0A8A8CEBFBFD3B9B9E99A9AFD8282FF7F7FFF7F7FFF7F7FD3B9B9C9C6C6E0A8A8
+F48D8DFC8383FB8383F68A8AEB9999D3B7B7C8C8C8C8C8C8F78A8AFF7F7FFF7F7FFF7F7FE5A0A0
+C8C8C8D7B3B3FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD8B2B2C8C8C8E5A2A2FF7F7FFF7F7FFF7F7F
+FF7F7FFD8282CAC3C3C8C8C8F29090FF7F7FFF7F7FFF7F7FEA9A9AC8C8C8CAC4C4D7B3B3F09292
+FA8787FA8585F48F8FE0A9A9CEBFBFD3B8B8EC9898FF7F7FFF7F7FFD8282CAC4C4C8C8C8F29090
+FF7F7FFF7F7FF48C8CDCACACCAC4C4D3B8B8ED9595F48D8DF98686FD8181FD8181FB8484F68989
+F19393FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF88888C8C8C8C8C8C8F68A8AFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48B8BD4B5B5CAC4C4D4B7B7E3A4A4EE9696
+F68989FD8181F98484F58B8BEA9898DEAAAAF18F8FFF7F7FFF7F7FEC9797C8C8C8D0BDBDFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEF9494E0A8A8ED9595F68989FC8383FC8181F78A8AE49F9F
+D1BDBDCCC1C1E4A0A0FF7F7FFF7F7FF78989C8C8C8C8C8C8CCC1C1DDAAAAEF9393F68B8BED9595
+DBADADCCC2C2CDC0C0ED9797FE7F7FFF7F7FF68B8BD9B2B2CAC4C4D2B9B9E2A5A5ED9797F68A8A
+FD8181FA8484F68B8BEC9797DEA8A8EF9494FF7F7FFA8585E69E9EC9C5C5CCC3C3DCACACEA9A9A
+F68989FA8484F58B8BE89D9DEA9C9CFF7F7FFF7F7FFF7F7FFF7F7FD5B5B5CAC5C5DDABABF38F8F
+FD8282FF7F7FFF7F7FFF7F7FFC8383C9C4C4C8C8C8F28F8FFF7F7FFF7F7FFF7F7FFE7F7FF38F8F
+D2BABAC9C5C5DAB0B0CBC4C4D2BBBBF09292FE7F7FFF7F7FFF7F7FFC8383ED9898C9C2C2CAC5C5
+DAAEAEE79E9EF29191F98585FC8383F98888F29090E79F9FDCABABFE8080FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7F7FF38E8ECFBCBCCAC5C5D6B3B3E5A1A1EF9393F88888
+FC8181FA8787F48D8DE99A9ADBACACF78989FF7F7FFF7F7FFB8383E89D9DCCBFBFCDC0C0E89D9D
+FB8484E4A2A2CEC0C0CEBEBEE89B9BFC8383FF7F7FFF7F7FF68989CEBDBDC8C7C7DDACACF19191
+FB8585F78A8AEC9898DBACACCCC2C2C8C8C8CDC1C1FF8080FF7F7FFF7F7FFF7F7FDEA9A9C8C8C8
+DDABABFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FD3B8B8C8C8C8E99C9CFF7F7FFF7F7FFF7F7FFF7F7F
+FA8585C8C7C7C8C8C8F48D8DFF7F7FFF7F7FFF7F7FE99B9BC8C8C8CAC7C7CFBEBEE3A4A4F58E8E
+F68B8BE99C9CD5B4B4CAC4C4D6B5B5F29191FF7F7FFF7F7FFF7F7FCDC0C0C8C8C8EF9494FF7F7F
+FF7F7FFA8585E79E9ECAC3C3CBC2C2DCAAAAE99C9CF28E8EFB8484FB8383F88888F19292E4A1A1
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF48E8EC8C8C8C8C8C8FA8787FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8585DBACACCCC2C2CEBFBFD9B2B2E2A3A3EC9797F28E8E
+F09393EC9999E1A6A6D5B8B8EC9797FF7F7FFF7F7FEF9393C8C8C8CCC1C1FE8080FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FEE9494D4B8B8E1A5A5ED9999F19191F18F8FEE9797DFAAAAD0BEBECDC0C0
+E0A4A4FF7F7FFF7F7FFF7F7FCEC0C0C8C8C8CCC2C2D4B7B7E1A5A5EC9999E79F9FD6B5B5C9C6C6
+CCC3C3ED9797FC8383FF7F7FFC8282E89C9CCFBEBECBC3C3D4B6B6DFA8A8EA9B9BF19090F19191
+EC9696E6A2A2D9B1B1DDABABFF7F7FFE7F7FF88888D4B6B6CAC5C5CFBEBEDAAEAEE79C9CF09292
+EE9595E4A2A2D4B8B8FC8282FF7F7FFF7F7FFF7F7FE89B9BCFBEBECEBEBEE2A5A5F19292F58C8C
+F58C8CFD8282FF7F7FDFA8A8C8C8C8DCADADFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE3A1A1CEBEBE
+CDC1C1CDC0C0CEBFBFE2A4A4FF7F7FFF7F7FFF7F7FFF7F7FFC8484E1A4A4CDBFBFCCC0C0D6B4B4
+E1A6A6EB9999F38F8FF09292ED9898E3A4A4D7B5B5E5A1A1FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFD8282ED9595D0BCBCC9C4C4D3B9B9DEAAAAE89D9DF09292F09090
+ED9595E79F9FDAAEAED7B4B4FF7F7FFF7F7FFF7F7FF28E8ED7B3B3CAC3C3DAADADF58C8CFB8484
+E89D9DCCC3C3CBC4C4E99C9CFA8484FF7F7FFF7F7FF09393D2BABACBC4C4D8B2B2EB9A9AF29292
+EA9999DFA8A8D4B7B7CCC3C3C8C8C8D4B6B6FF7F7FFF7F7FFF7F7FFF7F7FD8B2B2C8C8C8E4A3A3
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FCFBFBFC8C8C8ED9797FF7F7FFF7F7FFF7F7FFF7F7FF78989
+C8C8C8C8C8C8F68B8BFF7F7FFF7F7FFF7F7FE89C9CC8C8C8C9C5C5CFBEBED8B1B1EA9B9BEC9999
+DEA9A9CFBDBDCBC5C5DAAFAFF68A8AFF7F7FFF7F7FFF7F7FD0BDBDC8C8C8EB9898FF7F7FFF7F7F
+FD8181F09191D1BBBBC9C6C6D2BABADDABABE79E9EF09393F19090ED9494E89E9EDCADADCFBDBD
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FF09393C8C8C8CBC2C2FD8282FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFC8282E79F9FD2BABACCC1C1D1BCBCD7B5B5DAADADDEA9A9DDACACDBAFAF
+D6B6B6CEBEBEE99C9CFF7F7FFF7F7FF28F8FC8C8C8C9C6C6FA8585FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FF29090CDC0C0D5B6B6DAAFAFDDABABDFABABDCADADD5B6B6CDC1C1CEBFBFE4A2A2FF7F7F
+FF7F7FFF7F7FD6B4B4C8C8C8D1BEBED4B6B6D4B8B8DBAFAFDAB0B0D1BBBBCAC5C5D0BBBBEB9898
+FC8282FF7F7FFE8080F68A8ADEABABCBC4C4CDC0C0D3B9B9D8B2B2DDACACDEABABDCADADD9B1B1
+D3B9B9CCC1C1FA8585FF7F7FFC8282E99C9CD3BABAC9C3C3D0BEBED7B5B5DDACACDDACACD9B1B1
+D1BCBCEB9898FF7F7FFF7F7FFF7F7FF88585DAB0B0C9C6C6D2BABADBAFAFDFAAAAE0A9A9EC9797
+FF7F7FF58C8CC8C8C8C8C8C8F88989FF7F7FFF7F7FFF7F7FFF7F7FF68A8ADEABABC8C6C6CCC0C0
+C9C7C7DDACACF68B8BFF7F7FFF7F7FFF7F7FFE7F7FF88686DFA7A7CDC1C1CDC0C0D3BABAD8B3B3
+DDADADDEAAAADCACACDAB1B1D3B7B7CCC1C1F68B8BFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFD8181EA9898D5B6B6CCC2C2D0BDBDD6B6B6DAAFAFDEA9A9DDABABDBAEAE
+D6B4B4D0BDBDE1A6A6FF7F7FFE7E7EFB8484E1A7A7CCC2C2D1BABAEB9898FB8383FA8484E99B9B
+D0BCBCCCC2C2E2A4A4FB8383FF7F7FFF7F7FED9696D5B7B7CAC3C3D2B9B9DBAEAEDFABABD9B1B1
+D3B8B8D6B2B2CFBEBEC8C8C8DCACACFF7F7FFF7F7FFF7F7FFF7F7FD1BBBBC8C8C8EA9B9BFF7F7F
+FF7F7FFF7F7FFF7F7FFC8484CAC4C4C8C8C8F19292FF7F7FFF7F7FFF7F7FFF7F7FF58D8DC8C8C8
+C8C8C8F88888FF7F7FFF7F7FFF7F7FE79E9EC8C8C8CBC3C3D6B4B4D1BCBCD9B0B0DBAFAFD4B7B7
+CCC2C2CDC0C0E0A8A8FB8686FF7F7FFF7F7FFF7F7FD3B9B9C8C8C8E89D9DFF7F7FFF7F7FFE7F7F
+F88888DFA9A9CCC2C2CCBFBFD2B9B9D7B2B2DCACACDEAAAADDADADD9B0B0D3B8B8CCC1C1FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FEC9999C8C8C8CFBEBEFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FF19090D7B2B2CAC4C4C9C6C6C9C5C5CAC4C4CBC4C4CAC4C4CAC4C4CAC6C6C9C7C7
+E6A1A1FF7F7FFF7F7FF58C8CC8C8C8C8C8C8F78A8AFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF68A8A
+C8C6C6C9C5C5CAC5C5CBC5C5CBC4C4CBC5C5CAC5C5C9C6C6CDC1C1E99B9BFD8181FF7F7FFF7F7F
+DFA9A9C8C8C8D1BCBCDBAFAFC9C6C6CAC4C4CAC4C4C9C6C6C8C7C7D1B8B8EB9A9AFE7F7FFF7F7F
+FF7F7FFF7F7FEF9292D4B7B7CAC5C5C9C6C6CAC5C5CAC4C4CBC4C4CBC5C5CBC5C5CAC6C6C9C7C7
+EB9999FF7F7FFF7F7FF88888E1A5A5C9C6C6C8C6C6C9C5C5CAC4C4CAC4C4CAC4C4C9C5C5D8B3B3
+FF7F7FFF7F7FFF7F7FFF7F7FEA9999D3BABAC9C7C7CAC5C5CAC4C4CAC3C3CCC2C2FC8585FF7F7F
+D9B1B1C8C8C8E1A6A6FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF09393D4B8B8C8C7C7C8C7C7D4B8B8
+F09393FF7F7FFF7F7FFF7F7FFF7F7FFE7E7EF58B8BE0A9A9CBC3C3C8C6C6CAC6C6CAC5C5CBC4C4
+CAC4C4CAC4C4CAC5C5C9C6C6D8B2B2FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFE8080EF9494D1B8B8C9C4C4C9C6C6CAC5C5CAC4C4CBC4C4CBC5C5CBC5C5C9C5C5
+C9C7C7EE9696FF7F7FFF8080EF9595D0BDBDCAC4C4DDACACFA8484FF7F7FFE7F7FE99A9AD1BABA
+CDC3C3DDACACFE8181FF7F7FFF7F7FEE9494D4B8B8C9C7C7C9C5C5CAC4C4CAC4C4C9C4C4C9C6C6
+E0A7A7D0BEBEC8C8C8E4A2A2FF7F7FFF7F7FFF7F7FFC8282CBC3C3C8C8C8F09494FF7F7FFF7F7F
+FF7F7FFF7F7FF78989C8C8C8C8C8C8F58D8DFF7F7FFF7F7FFF7F7FFF7F7FF29090C8C8C8C8C6C6
+FA8686FF7F7FFF7F7FFF7F7FE69F9FC8C8C8CDC0C0DEABABC9C6C6CAC5C5CAC4C4C9C5C5C9C7C7
+D1BDBDE59F9FFF8080FF7F7FFF7F7FFF7F7FD6B6B6C8C8C8E5A1A1FF7F7FFF7F7FFF7F7FFD8080
+EE9494D1BABACAC5C5C9C6C6CAC5C5CAC4C4CBC4C4CBC5C5CAC5C5C9C5C5C8C6C6FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE79D9D
+C8C8C8D2B9B9FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+F68989E4A1A1D7B5B5CFBDBDCCC2C2C9C4C4C8C6C6CAC5C5CBC2C2CFBDBDD5B7B7EB9A9AFF7F7F
+FF7F7FF88888C8C8C8C8C8C8F38F8FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8383D8B0B0D2BBBB
+CEC1C1CAC4C4C9C5C5CBC3C3CEBEBED3BABAD6B3B3EE9494FC8383FF7F7FFF7F7FE89D9DC8C8C8
+CFBFBFEA9B9BD3B9B9CDC1C1CAC5C5CBC4C4CFBFBFDAB0B0ED9696FF7F7FFF7F7FFF7F7FFF7F7F
+F88787E79D9DD8B3B3D0BDBDCCC2C2CAC5C5C8C6C6CAC5C5CBC2C2CFBEBED4B8B8E59F9FFF7F7F
+FF7F7FFF7F7FF19090DDAAAAD2BABACCC1C1CAC5C5C9C6C6CBC4C4CFBFBFD6B6B6F88787FF7F7F
+FF7F7FFF7F7FF88888E5A0A0D0BCBCCBC4C4C9C6C6C8C7C7C8C8C8E5A0A0FF7F7FEF9595C8C8C8
+CBC2C2FD8383FF7F7FFF7F7FFF7F7FFF7F7FFA8484E89D9DC9C6C6C8C7C7C9C6C6E99C9CFB8585
+FF7F7FFF7F7FFF7F7FFF7F7FFF8080F48B8BE1A7A7D5B7B7CEBEBECBC2C2C9C5C5C9C6C6CAC4C4
+CCC2C2D0BCBCD6B5B5F19090FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFC8484EE9393DBAEAED1BBBBCDC0C0CBC4C4C9C6C6CAC6C6CBC4C4CEC0C0D2BABADAB0B0
+FD8181FF7F7FF68B8BDCACACCCC1C1D6B6B6EE9595FF7F7FFF7F7FFF7F7FEB9898D4B8B8CCC0C0
+DEABABF78A8AFF7F7FFE7F7FF18F8FDBAFAFD2BABACDC1C1CAC4C4CBC3C3CFBEBED8B4B4EE9595
+CDC2C2C8C8C8EC9898FF7F7FFF7F7FFF7F7FF68C8CC8C8C8C8C8C8F68C8CFF7F7FFF7F7FFF7F7F
+FF7F7FF28F8FC8C8C8C8C8C8F98787FF7F7FFF7F7FFF7F7FFF7F7FEF9494C8C8C8CBC3C3FC8383
+FF7F7FFF7F7FFF7F7FE5A0A0C8C8C8D0BCBCE99C9CD2BABACDC1C1C9C5C5CAC3C3D0BFBFDBAEAE
+EE9494FF7F7FFF7F7FFF7F7FFF7F7FD8B2B2C8C8C8E2A6A6FF7F7FFF7F7FFF7F7FFF7F7FF68B8B
+E1A4A4D5B5B5CFBEBECCC3C3CAC5C5C9C7C7CAC5C5CCC2C2D0BCBCD6B6B6FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE4A3A3C8C8C8D6B5B5
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFB8383F38F8F
+E5A2A2D7B2B2D0BCBCCCC2C2CAC6C6CDC3C3D0BDBDD8B2B2E3A4A4F28E8EFF7F7FFF7F7FFB8585
+CAC4C4C8C8C8F09494FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEB9898DEAAAAD4B7B7CEC0C0
+CAC2C2CDC0C0D6B7B7DDABABE69F9FF58C8CFC8181FF7F7FFF7F7FF09292C8C8C8C9C5C5F39090
+E2A4A4D4B5B5CDC0C0CCC1C1D4B7B7E1A5A5F58B8BFE7F7FFF7F7FFF7F7FFF7F7FFD8181F68989
+EB9999DBADADD2B9B9CEC0C0CAC4C4CBC3C3CDBEBED4B6B6DEAAAAEB9999FE7F7FFF7F7FFF7F7F
+FB8484F19090E2A4A4D3B6B6CEBFBFC9C5C5CCC1C1D3B9B9E0A8A8F28E8EFF7F7FFF7F7FFF7F7F
+FF7F7FF68989E1A6A6D2B8B8CCC2C2C9C6C6C8C8C8D1BCBCFF7F7FFF7F7FD3B9B9C8C8C8E79F9F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8686D9B2B2C9C6C6CAC6C6D9AFAFFA8585FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFD8181F68A8AEA9A9ADBAEAED2BABACDC0C0CAC5C5CBC3C3CEBEBED5B6B6
+DEA9A9EB9898FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FC8282F38C8CE79F9FD9B1B1D0BABACCC1C1C9C5C5CCC3C3CFBDBDD7B4B4E2A6A6EF9292FF7F7F
+FD8181E79F9FCEBDBDCDBFBFE4A0A0F98686FF7F7FFF7F7FFE8080F28F8FD2B9B9CCC3C3DCADAD
+F28E8EFF7F7FFE8181F68989E7A0A0DBAEAED1BDBDCDC1C1D1BDBDD9B0B0E89D9DF19191C8C8C8
+C8C8C8F38E8EFF7F7FFF7F7FFF7F7FEF9494C8C8C8CAC3C3FC8484FF7F7FFF7F7FFF7F7FFF7F7F
+EE9696C8C8C8CCC2C2FD8282FF7F7FFF7F7FFF7F7FFF7F7FEC9797C8C8C8CDC0C0FE8181FF7F7F
+FF7F7FFF7F7FE4A1A1C8C8C8D3B8B8F38D8DDDABABD2B9B9CBC2C2CEC0C0D7B4B4E79F9FF88989
+FF7F7FFF7F7FFF7F7FFF7F7FDBAEAEC8C8C8DEA9A9FF7F7FFF7F7FFF7F7FFF7F7FFC8484F28F8F
+E4A1A1D8B3B3D0BCBCCCC2C2C9C5C5CCC2C2D0BDBDD9B2B2E3A4A4FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE3A5A5CDC1C1DDACACFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8080F09191E1A5A5
+D7B1B1D2B9B9CEBEBED3BABAD8B4B4E1A5A5EF9494FB8686FF7F7FFF7F7FFE8080D2BABACDC1C1
+EE9696FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF88787EB9898DEAAAAD5B6B6D1BBBBD3B9B9
+DDADADE59D9DF29090FB8383FF7F7FFF7F7FFF7F7FF98888C8C7C7C8C8C8F19191F09090E0A7A7
+D4B5B5D1BABAD9B0B0E99C9CFB8282FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8282EA9A9A
+DDAAAAD5B4B4D0BABAD0BDBDD3B7B7D9B0B0E6A0A0F48D8DFE8383FF7F7FFF7F7FFF7F7FFD8080
+F58B8BDFA6A6D7B3B3D0BABAD0BABAD7B2B2E4A1A1F68B8BFF7F7FFF7F7FFF7F7FFF7F7FFE7F7F
+F38D8DE1A6A6D4B7B7CFBDBDCEC1C1CDC1C1EE9494FF7F7FEA9999CDC1C1D5B6B6FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FF19090D0BCBCCDC0C0D0BCBCF38E8EFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFD8181EE9393DFA6A6D7B3B3D1B9B9CFBEBED3BABAD8B3B3E2A4A4F19292
+FB8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FD8181EC9696E0A9A9D7B4B4D1BABACFBDBDD2B8B8D7B1B1E3A1A1F39191FC8383FF7F7FF48C8C
+DBADADCEC0C0D4B4B4F78A8AFF7F7FFF7F7FFF7F7FFE7F7FF48C8CD2B6B6CEC0C0DDACACF58B8B
+FF7F7FFF7F7FFC8383F19191E3A4A4D5B6B6D3B9B9D8AFAFE69E9EF58B8BF19292CDC1C1CFBEBE
+FB8484FF7F7FFF7F7FFF7F7FEB9A9ACDC1C1D5B6B6FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEB9898
+CDC1C1D4B7B7FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FEC9898CDC1C1D3B7B7FF7F7FFF7F7FFF7F7F
+FF7F7FE4A3A3C8C8C8D6B6B6FC8282E79C9CDAAEAED1B9B9D5B7B7DFA7A7F19191FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FE1A7A7CDC1C1DEA9A9FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8080F28F8F
+E2A4A4D8B1B1D2B8B8CEBEBED2BABAD7B4B4DFA6A6EE9696FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FED9797E2A5A5ED9696FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE8080F78A8AEE9595E89C9CE5A0A0
+E2A3A3E5A1A1E79C9CED9595F58B8BFC8383FF7F7FFF7F7FFF7F7FE79F9FE2A5A5F38E8EFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8383F48C8CED9797E79E9EE5A2A2E4A1A1EA9A9AF09292
+F68A8AFC8282FF7F7FFF7F7FFF7F7FFF7F7FD0BBBBC8C8C8E89D9DF98686EF9494E79D9DE3A2A2
+E79D9DF09292FB8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE8080F68B8BED9595E89C9C
+E5A1A1E3A4A4E5A0A0E89D9DEE9595F68A8AFD8383FF7F7FFF7F7FFF7F7FFF7F7FFC8484F29191
+E99A9AE5A0A0E3A2A2E79F9FEB9898F78A8AFE8181FF7F7FFF7F7FFF7F7FFF7F7FFC8181F19191
+E89C9CE4A1A1E2A4A4E2A5A5EB9999FF7F7FFE8080E5A1A1E2A5A5F58C8CFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFE7F7FEA9898E2A3A3E3A4A4ED9696FF8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFC8383F09191EA9999E69E9EE3A2A2E4A2A2E79F9FEA9999F19090FA8585FE7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFC8383
+F19191EA9999E69E9EE3A2A2E5A3A3E79F9FEB9A9AF29191FA8585FE7F7FFF7F7FF48C8CE79C9C
+E4A3A3EB9898FF8080FF7F7FFF7F7FFF7F7FFE7F7FF48D8DE4A0A0E4A3A3ED9595FD8181FF7F7F
+FF7F7FFC8383F68C8CED9696E59F9FE5A0A0E99999F28F8FFB8484F28F8FE2A5A5E79D9DFF7F7F
+FF7F7FFF7F7FFF7F7FF09393E2A5A5E99A9AFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF19191E2A5A5
+E99D9DFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF28F8FE2A5A5E79E9EFF7F7FFF7F7FFF7F7FFF7F7F
+E2A4A4C8C8C8D6B5B5FD8080F18F8FE99A9AE4A0A0E69F9FEC9696F68989FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FEF9494E2A5A5EA9999FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7F7FF88686EF9393
+E99B9BE59F9FE3A3A3E4A1A1E69D9DEC9797F38D8DFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FF98686F78989FA8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7E7EFD8282FB8585F98787F88888F78888F78787
+F98787FA8585FC8282FE8080FF7F7FFF7F7FFF7F7FF88686F78989FB8383FF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFE7F7FFC8282FA8585F98787F88888F88888F98686FA8484FC8282FE8080
+FF7F7FFF7F7FFF7F7FFF7F7FD9B1B1C8C8C8DFA9A9FE8080FB8484F98787F78888F88787FA8484
+FD8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8181FA8484F98686F88888F78888
+F88888F88787FA8585FC8383FD7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF8080FC8282F98585F98888
+F78888F88888F98686FC8383FE8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFD8282F98585F88888
+F78888F78989F78989FD8080FF7F7FFB8484F78989F98686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFC8181F88989F78989F78888FD8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FE7E7EFD8282FB8585F98787F88888F78888F78787F98787FA8585FC8282FE8080FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE7E7EFD8181FB8585
+F88686F88888F78888F88888F98787FA8585FC8282FE8080FF7F7FFF7F7FFB8484F88888F78787
+FC8484FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8484F78888F98888FC8484FF7F7FFF7F7FFF7F7F
+FE8080FC8383FA8686F98888F88787F98585FB8282FE7F7FFA8484F78989F98585FF7F7FFF7F7F
+FF7F7FFF7F7FFA8585F78989FB8686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFB8585F78989FA8686
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFB8383F78989F98787FF7F7FFF7F7FFF7F7FFF7F7FE1A6A6
+C8C8C8D7B4B4FE7F7FFB8383F98686F78787F88787FA8585FD8282FF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFB8484F78989F98686FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFE8181FB8484F98686
+F88787F88989F88888F88787FA8686FC8383FD8080FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FE1A6A6C8C8C8D6B4B4FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE0A7A7C8C8C8
+D7B3B3FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+EA9B9BC8C8C8CDC0C0FD8181FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FE0A9A9C8C8C8D7B3B3
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FF29090C8C8C8
+C8C8C8F48D8DFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDFAAAAC8C8C8D8B3B3FF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFA8585CBC4C4C8C8C8EB9898
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FDEABABC8C8C8D8B2B2FF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7F
+FF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFF7F7FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-perspective-example.png b/doc/img/edje-perspective-example.png
new file mode 100644 (file)
index 0000000..37b86fa
Binary files /dev/null and b/doc/img/edje-perspective-example.png differ
diff --git a/doc/img/edje-signals-messages-example.eps b/doc/img/edje-signals-messages-example.eps
new file mode 100644 (file)
index 0000000..55290de
--- /dev/null
@@ -0,0 +1,7202 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-signals-messages-example.eps)
+%%CreationDate: (2011-08-01T15:12:15-03:00)
+%%BoundingBox: -0 -0 225 225
+%%HiResBoundingBox: 0 0 224.977 225
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 225 225
+userdict begin
+DisplayImage
+0 0
+224.977 224.977
+12
+300 300
+0
+0
+FFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0808FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFF7F7FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0808FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
+0404FF0404FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF000010F6F20CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
+0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
+0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
+0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
+0CFAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF080808040404FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F99F9F9F4242422121210A0A0A202020404040848484
+D4D4D4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3373737030303010101000000000000000000010101
+020202030303FBFBFBFFFFFFFFFFFFFFFFFF080808040404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C6C6C020202101010828282BABABAECECECE0E0E0
+BFBFBF7A7A7A292929FCFCFCFFFFFFFFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2727270101018D8D8DFBFBFBFEFEFEFFFFFF
+FFFFFFFEFEFEFDFDFDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF121212000000D0D0D0FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF080808000000000000040404040404
+040404040404FBFBFBFFFFFF080808040404FBFBFBA7A7A75353531D1D1D050505FBFBFBFFFFFF
+080808040404FBFBFBFFFFFFFFFFFFFFFFFF080808040404FBFBFBAFAFAF5151511919191D1D1D
+4D4D4DD3D3D3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD8E8E8E3838381111113F3F3F8F8F8F
+FDFDFD080808040404FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFCDCDCD5858582C2C2C0D0D0D2B2B2B565656CBCBCBFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFF080808040404FBFBFBAFAFAF5151511919191D1D1D4D4D4DD3D3D3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFE4E4E46A6A6A3838381111111C1C1C414141A1A1A1FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF424242010101414141D5D5D5
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000000000000000
+000000000000000000FBFBFBFFFFFF040404000000868686050505010101000000000000FBFBFB
+FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000008A8A8A050505010101000000
+0000000101010A0A0AD6D6D6FEFEFEFFFFFFFFFFFFFFFFFF5A5A5A030303010101000000010101
+020202797979020202000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF898989070707010101010101000000010101010101050505898989FDFDFDFFFFFF
+FFFFFFFFFFFF0404040000008A8A8A0505050101010000000000000101010A0A0AD6D6D6FEFEFE
+FFFFFFFFFFFFFFFFFFA8A8A81111110202020101010000000000000101010202024A4A4AF9F9F9
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC0C0C0C010101
+0303031F1F1F535353808080C6C6C6FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB040404000000
+FBFBFBFBFBFBFBFBFBFBFBFBFFFFFFFFFFFF040404000000060606515151A8A8A8F1F1F1FBFBFB
+FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000000707075C5C5CAFAFAF
+E4E4E49D9D9D282828010101595959FCFCFCFFFFFFFFFFFFB6B6B60404040606065B5B5BC4C4C4
+C5C5C55D5D5D080808000000000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFCBCBCB0606060000004040409C9C9CE2E2E29D9D9D3F3F3F010101040404CACACA
+FEFEFEFFFFFFFFFFFF0404040000000707075C5C5CAFAFAFE4E4E49D9D9D282828010101595959
+FCFCFCFFFFFFFFFFFFDDDDDD1010100303037E7E7EB6B6B6E8E8E8D0D0D09696961D1D1D020202
+8D8D8DFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEDDDDDD
+616161151515010101010101020202030303222222B6B6B6FEFEFEFFFFFFFFFFFFFFFFFF040404
+000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000545454FAFAFAFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000005D5D5DFAFAFA
+FEFEFEFFFFFFFDFDFD9E9E9E020202232323FCFCFCFFFFFFFFFFFF4D4D4D010101616161FAFAFA
+FEFEFEFEFEFEFCFCFC616161010101000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF575757010101414141F9F9F9FDFDFDFFFFFFFDFDFDFCFCFC404040010101
+545454FCFCFCFFFFFFFFFFFF0404040000005D5D5DFAFAFAFEFEFEFFFFFFFDFDFD9E9E9E020202
+232323FCFCFCFFFFFFFFFFFF626262020202868686FBFBFBFEFEFEFFFFFFFEFEFEFDFDFDAFAFAF
+030303383838FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDF9F9F9CDCDCDA1A1A15C5C5C0F0F0F010101030303BCBCBCFEFEFEFFFFFFFFFFFF
+040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000ACACACFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404000000C6C6C6
+FEFEFEFFFFFFFFFFFFFFFFFFEDEDED040404040404FBFBFBFFFFFFFFFFFF252525010101ADADAD
+FEFEFEFFFFFFFFFFFFFFFFFFAFAFAF030303000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF2A2A2A0101019D9D9DFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E
+020202282828FCFCFCFFFFFFFFFFFF040404000000C6C6C6FEFEFEFFFFFFFFFFFFFFFFFFEDEDED
+040404040404FBFBFBFFFFFFFFFFFF313131010101040404060606050505050505040404040404
+0303030000000C0C0CFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFCFCFCF3F3F35B5B5B0101013C3C3CFCFCFCFFFFFF
+FFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000F3F3F3FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404000000
+FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF0B0B0B000000
+E6E6E6FFFFFFFFFFFFFFFFFFFFFFFFE9E9E9040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C0C0C000000E2E2E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+E5E5E5040404090909FBFBFBFFFFFFFFFFFF040404000000FAFAFAFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF040404000000FBFBFBFFFFFFFFFFFF0E0E0E000000000000000000000000000000000000
+000000000000000000000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDADADA0303030E0E0EFBFBFB
+FFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404
+000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF242424
+010101B0B0B0FEFEFEFFFFFFFFFFFFFFFFFFB1B1B1030303000000FBFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF292929010101A0A0A0FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFA2A2A2030303272727FCFCFCFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF2E2E2E010101AFAFAFFAFAFAFBFBFBFBFBFB
+FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1C1C1030303222222
+FCFCFCFFFFFFFFFFFF0C0C0C000000E8E8E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000
+FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF
+040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
+4A4A4A010101656565FDFDFDFFFFFFFFFFFFFFFFFF656565020202000000FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535353010101434343FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFF434343010101515151FCFCFCFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF6161610101012A2A2AF7F7F7FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF2B2B2B6F6F6FB4B4B4D6D6D6EFEFEFE9E9E9B7B7B7848484171717000000
+626262FDFDFDFFFFFFFFFFFF282828010101828282E3E3E3FFFFFFFFFFFFFFFFFFFFFFFF040404
+000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
+FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
+FFFFFFB3B3B3030303080808636363C9C9C9CBCBCB656565090909000000000000FBFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7C7C7040404010101454545A1A1A1
+E6E6E6A3A3A3464646020202020202C6C6C6FEFEFEFFFFFFFFFFFF040404000000FBFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFDCDCDC121212010101404040
+868686C3C3C3F3F3F3E3E3E3C6C6C68484842F2F2FFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF050505020202030303030303040404040404030303020202000000
+2F2F2FEDEDEDFFFFFFFFFFFFFFFFFF7C7C7C020202020202040404040404040404FBFBFBFFFFFF
+040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
+FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
+FFFFFFFFFFFFFEFEFE535353010101020202030303030303020202707070020202090909FBFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE828282030303010101
+020202040404030303010101020202818181FCFCFCFFFFFFFFFFFFFFFFFF040404000000FBFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFEFEFEB4B4B4161616
+010101020202030303040404040404030303020202010101FBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D68D8D8D4949492626260B0B0B0B0B0B242424454545
+A1A1A1F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFF3F3F37E7E7E2727270C0C0C000000000000FBFBFB
+FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
+FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000
+FBFBFBFFFFFFFFFFFFFFFFFFFAFAFA8888883333330D0D0D3A3A3A8B8B8BACACAC030303292929
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDC6C6C6
+525252262626080808252525505050C5C5C5FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF040404000000
+FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFEFEFE
+EEEEEE8282824141411E1E1E0606061A1A1A3838387B7B7BCECECEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFCFCFC
+FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFBFBFBFBFBFB
+FFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
+FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFCFCFCFDFDFD545454010101
+4D4D4DFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFCFCFCFCFCFCFBFBFBFCFCFCFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
+FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF404040ADADADE2E2E2EAEAEAA6A6A65B5B5B060606
+000000B8B8B8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF050505030303040404040404030303010101
+0000005F5F5FFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C35757572222220707071E1E1E
+444444A8A8A8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFCFCFCFBFBFB
+FBFBFBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
+0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
+08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FBFBFBFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
+FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
+FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
+FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
+FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
+FF0000FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
+FF0404FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
+FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
+FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-signals-messages-example.png b/doc/img/edje-signals-messages-example.png
new file mode 100644 (file)
index 0000000..808d535
Binary files /dev/null and b/doc/img/edje-signals-messages-example.png differ
diff --git a/doc/img/edje-table-example.eps b/doc/img/edje-table-example.eps
new file mode 100644 (file)
index 0000000..24c7825
--- /dev/null
@@ -0,0 +1,1241 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-table-example.eps
+%%CreationDate: Fri Aug  5 11:18:09 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 417 416
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 400.99999999999994 translate
+402 -400.99999999999994 scale
+% Image geometry
+402 401 8
+% Transformation matrix
+[ 402 0 0 401 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 402 string def
+/gstr 402 string def
+/bstr 402 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        19661 ASCII Bytes
+colorimage
+JcE:\JH31[!'bu~>
+JcE:\JH31[!).n~>
+JcC<$JcG9?!<>rH~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JcE:\JH3.ZJ,~>
+JcC<$JcG9?rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JcE:\JH3.ZJ,~>
+JH16$JH5-=J,~>
+JH34\JcE:\rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JcE:\JUk:]rr@Q~>
+JH34\JUk:]rr@Q~>
+JH16$JH5-=J,~>
+JH16$JH5-=J,~>
+JH16$JH5-=J,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-table-example.png b/doc/img/edje-table-example.png
new file mode 100644 (file)
index 0000000..c748f84
Binary files /dev/null and b/doc/img/edje-table-example.png differ
diff --git a/doc/img/edje-text.eps b/doc/img/edje-text.eps
new file mode 100644 (file)
index 0000000..fc58cbd
--- /dev/null
@@ -0,0 +1,7202 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (edje-text.eps)
+%%CreationDate: (2011-08-01T16:30:03-03:00)
+%%BoundingBox: -0 -0 225 225
+%%HiResBoundingBox: 0 0 224.977 225
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 225 225
+userdict begin
+DisplayImage
+0 0
+224.977 224.977
+12
+300 300
+0
+0
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFBEBEFF3E3EFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFBEBEFF3E3EFF0000FF0000FFFFFFFFFFFFFFFFFFFF0000FF0000FFFDFDFF
+8383FF2D2DFF1616FF5050FFC0C0FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF3E3EFFBEBEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4E4FF6464FF
+2A2AFF0A0AFF3030FF6767FFE7E7FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFBCBCFF
+5959FF1818FF2121FF5858FFD9D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECFF6D6DFF3434FF
+0B0BFF2C2CFF6262FFE3E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFBEBEFF3E3EFF0000FF0303FF5656FFC6C6FFFFFFFFFFFFFFFFFFFF0000FF0000FF
+6B6BFF0000FF0000FF0000FF0000FF0404FF9D9DFFFFFFFFFFFFFFFFFFFFC6C6FF5555FF0303FF
+0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEBEFF0D0DFF
+0000FF0000FF0000FF0000FF0000FF1616FFC0C0FFFFFFFFFFFFFFFFFFFF0000FF0000FFBABAFF
+0606FF0000FF0000FF0000FF0000FF0E0EFFCCCCFFFFFFFFFFFFFFFFFFFFC8C8FF1B1BFF0000FF
+0000FF0000FF0000FF0000FF1212FFBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFBEBEFF3E3EFF0000FF1111FF7676FFE2E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF
+0000FF0303FF7D7DFFDEDEFFE4E4FF8989FF0606FF0808FFE9E9FFFFFFFFFFFFFFFFFFFFFFFFFF
+E2E2FF7575FF1010FF0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4FF2020FF
+0000FF4141FFC9C9FFF1F1FFC9C9FF4141FF0000FF1C1CFFF4F4FFFFFFFFFFFFFF0000FF0000FF
+0B0BFF5B5BFFCBCBFFEDEDFFB0B0FF1414FF0000FF5858FFFFFFFFFFFFFFF9F9FF2323FF0000FF
+6666FFD3D3FFF4F4FFD4D4FF6F6FFF0101FF1919FFF4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+BEBEFF3E3EFF0000FF2828FF9696FFF4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0000FF0000FF9A9AFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4FF0000FF7B7BFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF4F4FF9595FF2727FF0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFF8181FF
+0000FF3333FFFCFCFFFFFFFFFFFFFFFFFFFFFCFCFF3333FF0000FF8383FFFFFFFFFFFFFF0000FF
+0000FF5B5BFFFFFFFFFFFFFFFFFFFFFFFFFFB0B0FF0000FF1111FFFFFFFFFFFFFF9090FF0000FF
+7070FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6464FF0000FF8383FFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0000FF0000FF6F6FFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0000FF1717FFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFF1919FF3E3EFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFF6E6EFF0000FF0000FFFFFFFFFFFFFFFFFFFF
+4B4BFF0000FFB0B0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0B0FF0000FF4343FFFFFFFFFFFFFF
+0000FF0000FFCACAFFFFFFFFFFFFFFFFFFFFFFFFFFE2E2FF0000FF0303FFFFFFFFFFFFFF4949FF
+0000FFDCDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCBCBFF0000FF4444FFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFBEBEFF3E3EFF0000FF2828FF9797FFF4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0000FF1414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1313FF1B1BFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4FF9696FF2828FF0000FF3E3EFFBEBEFFFFFFFFFFFFFF
+FFFFFF2424FF0000FFDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFF0000FF1E1EFFFFFFFF
+FFFFFF0000FF0000FFEBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFF0000FF0000FFFFFFFFFFFFFF
+2525FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF2020FFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEBEFF3E3EFF0000FF1111FF7777FFE2E2FFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0000FF0202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0303FF0808FF
+FFFFFFFFFFFFFFFFFFFFFFFFE2E2FF7676FF1111FF0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0707FF0000FFF6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6FF0000FF0505FF
+FFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFF
+FFFFFF0808FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0303FFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEBEFF3E3EFF0000FF0303FF5757FF
+C7C7FFFFFFFFFFFFFFFFFFFF0000FF0707FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1313FF
+2525FFFFFFFFFFFFFFC6C6FF5656FF0303FF0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF2121FF0000FFDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBDBFF0000FF
+1717FFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF
+FFFFFFFFFFFF1E1EFF0000FFE5E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEBEFF3E3EFF
+0000FF0000FFFFFFFFFFFFFFFFFFFF0000FF1515FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFF
+1616FF4646FFFFFFFFFFFFFF0000FF0000FF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF4444FF0000FFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACACFF
+0000FF3434FFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF
+0000FFFFFFFFFFFFFF4242FF0000FFAEAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFBEBEFF3E3EFFFFFFFFFFFFFFFFFFFF0000FF1717FFE4E4FFFFFFFFFFFFFFFFFFFFFFFFFF
+9898FF0000FF8989FFFFFFFFFFFFFF3E3EFFBEBEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8282FF0000FF3333FFFCFCFFFFFFFFFFFFFFFFFFFFFCFCFF
+3232FF0000FF7E7EFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0000FF0000FFFFFFFFFFFFFF8282FF0000FF2C2CFFF9F9FFFFFFFFFFFFFFFFFFFFFFFFFF8B8BFF
+0000FF4444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF1414FF9999FFE2E2FFDFDFFF
+7D7DFF0303FF1616FFF4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3FF1818FF0000FF4242FFC9C9FFF1F1FFC9C9FF
+4141FF0000FF2222FFE8E8FFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0000FF0000FFFFFFFFFFFFFFF3F3FF1919FF0000FF3737FFC0C0FFF0F0FFCFCFFF8686FF
+0101FF0000FFB5B5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF8686FF0000FF0000FF
+0000FF0000FF0A0AFFB2B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9B9FF1111FF0000FF0000FF0000FF
+0000FF0000FF1818FFDDDDFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFBCBCFF1414FF0000FF0000FF0000FF0000FF
+0000FF0000FF7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFF8989FF
+2E2EFF1616FF5050FFCECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4E4FF6464FF2E2EFF
+0808FF1F1FFF6464FFDBDBFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFE8E8FF6969FF3434FF0B0BFF
+1B1BFF4747FFBCBCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4D2D2E4D2D2E4D2D2FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF660000660000660000FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF660000660000660000FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF660000660000660000FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB787877D2626660000660000660000
+7D26269D5C5CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA7272660000660000660000
+6600006600008B3E3EFFFFFF8B3E3E660000660000B38181FFFFFFFFFFFFFCFAFA6B0909660000
+660000C29A9AFFFFFFFFFFFFE5D5D5660000660000670101F3EBEBFFFFFFFFFFFFFFFFFFEBDEDE
+AA71718B3D3D7112127214148B3E3EAA7171EBDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA7272660000660000
+6600006600006600008B3E3EFFFFFFB78787660000660000904646FFFFFFFFFFFFE1CDCD660000
+660000660000A16363FFFFFFFFFFFFC49D9D660000660000883838FFFFFFFFFFFFFFFFFFD2B4B4
+6C0A0A6600006600006600006600006600006600006C0A0AD2B4B4FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+660000660000660000FFFFFFFFFFFFFFFFFFE2D0D06600006600006E0D0DFDFCFCFFFFFFBF9595
+660000660000660000802B2BFFFFFFFFFFFFA26565660000660000B38181FFFFFFFFFFFFEBDEDE
+6C0A0A6600006600006D0C0C934B4B944C4C6E0D0D6600006600006D0B0BECE0E0FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF660000660000660000FFFFFFFFFFFFFFFFFFFDFDFD761A1A660000660000E3D1D1FFFFFF
+9E5D5D6600006C0A0A660000660000F6F0F0FFFFFF812D2D660000660000DFCBCBFFFFFFFFFFFF
+A970706600006600007C2525ECE0E0FFFFFFFFFFFFEDE1E17C2525660000660000AB7373FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF660000660000660000FFFFFFFFFFFFFFFFFFFFFFFFA16262660000660000C09797
+FFFFFF7C2525660000A66B6B660000660000D6BCBCF6F1F1670101660000731515FDFCFCFFFFFF
+FFFFFF8A3C3C660000660000CFAFAFFFFFFFFFFFFFFFFFFFFFFFFFCDADAD6600006600008C3F3F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF660000660000660000FFFFFFFFFFFFFFFFFFFFFFFFCCABAB660000660000
+9D5C5CF3EBEB660000660000D9C1C1761A1A660000B58484D7BDBD6600006600009E5D5DFFFFFF
+FFFFFFFFFFFF711212660000660000F2EAEAFFFFFFFFFFFFFFFFFFFFFFFFF1E8E8660000660000
+731616FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF660000660000660000FFFFFFFFFFFFFFFFFFFFFFFFF5EFEF670202
+6600007A2222D2B4B4660000680303F9F5F5975151660000944C4CB58484660000660000CAA7A7
+FFFFFFFFFFFFFFFFFF711212660000660000F2EAEAFFFFFFFFFFFFFFFFFFFFFFFFF2EAEA660000
+660000701111FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF660000660000660000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+8B3D3D660000660000A26565660000863535FFFFFFB78888660000731515934B4B660000670101
+F3ECECFFFFFFFFFFFFFFFFFF8A3C3C660000660000CFAFAFFFFFFFFFFFFFFFFFFFFFFFFFCEAEAE
+6600006600008B3D3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF660000660000660000F6F1F1FFFFFFFFFFFFFFFFFF
+FFFFFFB686866600006600006A0707660000A86F6FFFFFFFD9C0C06600006600006A0707660000
+883939FFFFFFFFFFFFFFFFFFFFFFFFA86F6F6600006600007C2525EDE1E1FFFFFFFFFFFFECE0E0
+7C2424660000660000AA7171FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D0C0C6600006600009B5959C8A4A4FFFFFF
+FFFFFFFFFFFFE2CFCF660000660000660000660000CBA9A9FFFFFFF7F3F3670101660000660000
+660000B48383FFFFFFFFFFFFFFFFFFFFFFFFEADDDD6B09096600006600006E0D0D944C4C944C4C
+6D0C0C6600006600006D0B0BEBDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9046466600006600006600008B3E3E
+FFFFFFFFFFFFFFFFFFFDFDFD751919660000660000660000EDE2E2FFFFFFFFFFFF822E2E660000
+660000660000E0CCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1B3B36B0909660000660000660000
+660000660000660000741717D5B9B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBDEDE9148486E0D0D701111
+A16363FFFFFFFFFFFFFFFFFFFFFFFFA06161660000660000771D1DFFFFFFFFFFFFFFFFFFA36666
+660000660000731616FDFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEADDDDA86F6F8A3C3C
+7112127113138B3D3DAD7676F4EEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/edje-text.png b/doc/img/edje-text.png
new file mode 100644 (file)
index 0000000..952246a
Binary files /dev/null and b/doc/img/edje-text.png differ
diff --git a/doc/img/signal2final.eps b/doc/img/signal2final.eps
new file mode 100644 (file)
index 0000000..ecbf967
--- /dev/null
@@ -0,0 +1,15032 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (signal2final.eps)
+%%CreationDate: (2012-04-04T11:42:24-03:00)
+%%BoundingBox: 0 0 700 274
+%%HiResBoundingBox: 0 0 700 274
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 700 274
+userdict begin
+DisplayImage
+0 0
+700 274
+12
+700 274
+0
+0
+CAC7C4C8C5C2C6C3C0C1BEBB3E3D393C3B374F4D484F4D484F4D484F4D494F4E494F4E494F4E49
+4F4E494F4E494F4E494F4E494F4E494F4E494F4E494F4E494F4E49504E49504E49504E49504E49
+504F49504F49504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A514F4A
+514F4A514F4A514F4A51504A51504A51504A51504A51504B51504B51504B51504B51504B51504B
+51504B52504B52504B52504B52504B52504B52504B52514B52514B52514B52514B52514B52514B
+52514C52514C52514C52514C53514C53514C53514C53514C53514C53514C53524C53524C53524C
+53524C53524C53524C53524C53524C53524C54524D54524D54524D54524D54524D54524D54524D
+54534D54534D54534D54534D54534D54534D54534D54534D54534D55534D55534D55534D55534E
+55534E55534E55534E55544E55544E55544E55544E55544E55544E55544E55544E55544E56544E
+56544E56544E56544E56544E56544F56544F56554F56554F56554F56554F56554F56554F56554F
+56554F57554F57554F57554F57554F57554F57554F57554F57554F57564F575650575650575650
+575650575650575650575650585650585650585650585650585650585650585650585650585750
+585750585750585750585751585751585751595751595751595751595751595751595751595751
+5957515957515958515958515958515958515958515958515958525A58525A58525A58525A5852
+5A58525A58525A58525A58525A58525A58525A59525A59525A59525A59525A59525A59525B5952
+5B59525B59535B59535B59535B59535B59535B59535B59535B59535B5A535B5A535B5A535B5A53
+5B5A535C5A535C5A535C5A535C5A535C5A535C5A535C5A545C5A545C5A545C5A545C5A545C5B54
+5C5B545C5B545C5B545C5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B54
+5D5B555D5B555D5C555D5C555D5C555D5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C55
+5E5C555E5C555E5C555E5C555E5C555E5D565E5D565E5D565E5D565F5D565F5D565F5D565F5D56
+5F5D565F5D565F5D565F5D565F5D565F5D565F5D565F5D565F5E565F5E565F5E565F5E57605E57
+605E57605E57605E57605E57605E57605E57605E57605E57605E57605E57605E57605F57605F57
+605F57615F57615F57615F57615F58615F58615F58615F58615F58615F58615F58615F58615F58
+615F58615F58616058616058626058626058626058626058626058626059626059626059626059
+626059626059626059626059626059626159636159636159636159636159636159636159636159
+63615963615963615A63615A63615A63615A63615A63615A63625A64625A64625A64625A64625A
+64625A64625A64625A64625A64625A64625A64625A64625A64625B64625B64625B64635B65635B
+65635B65635B65635B65635B64635B64625B64625B64625B64625A64625A64625A64625A64625A
+64625A64625A64625A64625A64625A64625A64625A63625A63615A63615A63615A63615A63615A
+63615A636159636159636159636159636159636159636159636159636159626159626059626059
+626059626059626059626059626059626059626059626058626058626058626058626058616058
+616058615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58615F57
+615F57615F57605F57605F57605F57605E57605E57605E57605E57605E57605E57605E57605E57
+605E57605E57605E57605E575F5E575F5E565F5E565F5E565F5D565F5D565F5D565F5D565F5D56
+5F5D565F5D565F5D565F5D565F5D565F5D565F5D565E5D565E5D565E5D565E5D565E5C555E5C55
+5E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555D5C555D5C555D5C55
+5D5C555D5B555D5B555D5B555D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545C5B54
+5C5B545C5B545C5B545C5B545C5A545C5A545C5A545C5A545C5A545C5A535C5A535C5A535C5A53
+5C5A535C5A535B5A535B5A535B5A535B5A535B5A535B59535B59535B59535B59535B59535B5953
+5B59535B59535B59525B59525A59525A59525A59525A59525A59525A59525A58525A58525A5852
+5A58525A58525A58525A58525A58525A58525A5852595852595851595851595851595851595851
+595851595751595751595751595751595751595751595751595751595751585751585751585751
+585750585750585750585750585650585650585650585650585650585650585650585650575650
+57565057565057565057565057565057565057564F57554F57554F57554F57554F57554F57554F
+57554F57554F56554F56554F56554F56554F56554F56554F56554F56554F56544F56544F56544E
+56544E56544E56544E56544E55544E55544E55544E55544E55544E55544E55544E55544E55544E
+55534E55534E55534E55534E55534E55534D55534D54534D54534D54534D54534D54534D54534D
+54534D54534D54534D54524D54524D54524D54524D54524D54524D54524D53524C53524C53524C
+53524C53524C53524C53524C53524C53524C53514C53514C53514C53514C53514C53514C52514C
+52514C52514C52514C52514B52514B52514B52514B52514B52514B52514B52504B52504B52504B
+52504B52504B51504B51504B51504B51504B51504B51504B51504B51504A51504A51504A51504A
+514F4A514F4A514F4A514F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A
+504F4A504F49504F49504E49504E49504E49504E494F4E494F4E494F4E494F4E494F4E494F4E49
+4F4E494F4E494F4E494F4E494F4E494F4E494F4E494F4D484F4D483C3B373C3B37F6F6F6F3F3F3
+ECECEC3F3E3A474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642F3F3F3EFEFEF3F3E3A474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642EEEEEEE6E6E63F3E3A474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642EAEAEA3F3E3A474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424443403C3B383A3A363B3A373C3B37
+3B3A363B3A36393834373733363632363632363632363632363632363632363632363632363632
+3636323837333938343A39353A39353A3935393834383734363632363632363632363632363632
+3636323636323636323636323636323636323837333938343A39353A39353A39353938343C3B37
+43433E474642464541474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642E6E6E63F3E3A474642474642474642474642474642474642474642474642
+4746424746424746424746424544403E3E393C3B373C3B363C3A363D3A363C39363D3A363C3A36
+3C3B363C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363B3A363B3A363A39353A3935
+3A39353938353938343938353A39353A39353A39353B3A363B3A363B3A363C3B373C3B373C3B37
+3C3B373B3A363B3A363A39353938353A39353938353938343938353A39353938353A39353D3D39
+454440464541474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642E2E1E13F3E3A474642474642474642474642474642474642474642474642474642474642
+4746424544423D3B373B3A363C39368A5E4EC0795FE0896BF79674E1896BC17A5F8D5F4F3D3A36
+3B3A363C3B373C3B373C3B373C3B373B3A363B3B363B3A3639383539383559585474736E878682
+98979287868275746F5A59553A39363938353A39353B3B363B3A363C3B373B3A363C3B363B3A36
+3A393539383554534F77767187878294938E8887827978745756513A39363938353B3936454440
+464541474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247453F43413D403F3F454642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247453F43413D403F3F454642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464143403C3E3C3B414341474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642DDDDDD
+3F3E3A4746424746424746424746424746424746424746424746424746424746424544403D3B38
+3C3A3657463DDC8364F8916BF78F68F78D66F68B64F78D66F78F68F8916BDF846559473D3C3A36
+3C3B373C3B373C3B373B3A363A393539383443433F81807C94938D91908B8E8D898C8B858E8D89
+91908B94938D82817D4444403938343B3A353B3A363C3B373B3A363A393539383442413C7B7A76
+92918C91908B8E8D898C8B858E8D8991908B94938D81807A4544403938343C3A37464541474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247453F424753
+636E74807A614C413E45453E3D39373737393F4241474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247453E3D3937
+3737393F4241474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247454044433F
+44454247464247464247464247453E3D39373737393F4241474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247453F424753636E74807A614C413E454642474642
+47464247464247464247464247464247464247464247464247464247453E3D39373737393F4241
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474641
+4340475F7079898F8674503F414341474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642DADADA3E3D3A474642
+4746424746424746424746424746424746424746424746424746423F3D393B3A365C473DEA8763
+F5875FF38156F38156F38156F38156F38156F38156F38156F5875EEC88645B463C3B3A363C3B37
+3C3B373B3A363938354544418988848D8D8688878187878086857F86857F86857F878780888781
+8D8D868A89854544413938353B3A363C3B373B3A3639383542413D8685808D8D86888781878780
+87868086857F86857F8787808887818D8D8689888443423F3938353F3E3A474642474642474642
+47464247464247464247464247464247464247464247464247464247453F3E3736363635363635
+3636353636353636353636384144414746424746424746424746424540373F68A9DCD9D1DFC687
+543C3A3B405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247453E3D405A8EB4C3D5C7A481513D
+3F4241474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464246443C3A3D434E5554504540444542
+47464247453E3D405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424540373F68A9DCD9D1DFC687543C3C434542474642474642474642
+47464247464247464247464247464247464247453E3D405A8EB4C3D5C7A481513D3F4241474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247453E393D5FABD5D0
+DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642D7D6D63E3D39474642474642474642
+4746424746424746424746424746424746424444403C3B373D3A36D77955F07D51EE7647EE7647
+ED7647EE7647EE7647EE7647ED7647EE7647EE7647F17E51D877533F3A363C3B373B3A373A3935
+3938347D7C7689888184837D83827C82817B81807A807F7981807A82817B83827C84837C898882
+7D7C753A39353A39353B3A373A393538373479797389888184837D82817B81807A807F797F7E78
+807F7981807A82817B84837D8988827D7C753A39353A3935474642474642474642474642474642
+47464247464247464247464247464247464247453F3D3A508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2
+DFDBD2DFDBB075453A4144414746424746424746424540373F68A9DCD9D1DFC687543B38394C7D
+C1D7CFDDDAD0B670433B4041474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464246433B3A4D7DC1D7CFDDDAD0B670433B4041474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464246453C39426CB5D9D0DEDBBB89513B3E424147464246433B
+3A4D7DC1D7CFDDDAD0B670433B4041474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424540373F68A9DCD9D1DFC687543C3C434542474642474642474642474642474642
+47464247464247464247464246433B3A4D7DC1D7CFDDDAD0B670433B4041474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247453E393D5FABD5D0DEDBC49B5B3D
+3C4141474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642B9997A3E3C38474642474642474642474642474642
+4746424746424746424746423E3E3A3B3A3686543FED784BEB6E39EB6E39D56334C0592FEA6D39
+EB6E39EA6E39C45B30D06133EB6E39EB6E39EF794A88553F3C3A363B3A3639383455544F85847E
+7F7E787F7E777E7D767C7B747B7A737A79737B7A737C7B747E7D767F7E777F7E7886857F555550
+3938343B3A3639383551504C85847E7F7E787F7E783F3E3A3B3A363B3A363B3A363B3A363B3A36
+3A39357E7D777F7E7886857F555550393834474642474642474642474642474642474642474642
+47464247464247464247464247453F3D3A508BC4D0DEDBD2DFDAD0DCD8D0DCD8D0DCD8D0DCD1A7
+70443B41454147453F413D39383736363635416AAADDD9D1DFC687543C3B3F3D41597382908368
+51403E444542474641423E3B3938353636363737393D4040464642474642474642474642474642
+474642474641433D38383735363635363636383A3B414341474642474640403B38383736363635
+3636363737393D403F464642474641423E4159738290836851403E444540403B38383736363635
+36363537393A3E3E3B3C39373736363737383C3E3F464642474642474641433D38383735363635
+363636383A3B41434146443C39436DB8D9D0DEDBBC8B533B37363636383C454641423E41597382
+90836851403E444542474641423F3B3A38363636363738393D3F3F464542474642474640403B38
+3837363636353636363737393D403F46464247464247464244413B3B393637363536373637393A
+414542474642474642474642474642474641433D38383735363635363636383A3B414341474642
+474640403B383837363636353636363737393D403F46464247464247464247453F413D39383736
+363635416AAADDD9D1DFC687543C3C43454247464247464247464247464244413B3B3936373635
+36373637393A414541423E4159738290836851403E444542474640423F3A3A3736373635363636
+3738383B3E3F464642474640403B383837363636353636363737393D403F464642474642474641
+433D38383735363635363636383A3B41434147453E393D5FABD5D0DEDBC49B5B3D3C4141474642
+44413B3B393637363536373637393A414542474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746425841453C3B37454440454440454440454440454440454440454440
+4544404544403C3B373A3935C36946EA6F3BE96A33E96A33BF5C32502817BB552AE76933C2582C
+522917B95A31E86A33E96A33EB6F3BC66A463C3A353B3A363938346D6D677D7C767A79737A7973
+79787178777077766F77766F77766F7877707978717A79737A79737D7C766E6E683A39353B3A36
+3938346A69637E7D767B7A737A79733F3E3A7E7D767E7D767E7D767E7D767F7E773F3E3A797872
+7B7A737E7D76706F693A3935454440454440454440454440454440454440454440454440454440
+45444045444045433D3C3A508BC4D0DEDBD2C6864F3934333333333333333333373F433F45433D
+3D3F517697ACC6CFCFDFDBCACECACFDFDBD2DFC687543B39373D5FABD5D0DEDBC49B5B3C3C403E
+3E3A435D7D98B9C5C9DEDBCED2C3A9967251403D3D43444045444045444045444045443F403B40
+6092AECBD0CFDFDBD2DFD4C4C4AF8D72503E3F403D3D3D5080A0ACC3CAC9DADAD2DFDBCDD0C3AB
+997351403E3D44433D383D5FABD5D0DEDBC49B5B3C393B5080A0ADC3CBCADDDBD2DFDBCACDB99A
+8B818AA8BCC3DADBD2D6CAB5A8835B443D3C44443F403B406092AECBD0CFDFDBD2DFD4C4C4AF8D
+72503E3E403A38436DB8D9D0DEDBD2DFDBD2DFDBD2DFBD7A4C3A39383D5FABD5D0DEDBC49B5B3C
+3C403E3D3B425C7B96B6C2C6DBDBCDD0C1AA997654413C3D43433E3D3D5080A0ACC3CAC9DADAD2
+DFDBCDD0C3AB997351403E3D444440423E3B486584AABEC5DADAD2DFD9CACDB9936A483A414340
+45444045444045443F403B406092AECBD0CFDFDBD2DFD4C4C4AF8D72503E3F403D3D3D5080A0AC
+C3CAC9DADAD2DFDBCDD0C3AB997351403E3D44444045433D3D3F517697ACC6CFCFDFDBCACECACF
+DFDBD2DFC687543C3B424340454440454440454440423E3B486584AABEC5DADAD2DFD9CACDB993
+6A4739383D5FABD5D0DEDBC49B5B3C3C403E3D3B435E7D98B6C1C5DADAD1DFDACBD0C4B2AA8756
+423D3B3C3D5080A0ACC3CAC9DADAD2DFDBCDD0C3AB997351403E3D44443F403B406092AECBD0CF
+DFDBD2DFD4C4C4AF8D72503E3F403C383D5FABD5D0DEDBC49B5B3C3C403F423E3B486584AABEC5
+DADAD2DFD9CACDB9936A483A414340454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+4544404544404F414F3C3B3742413D42413D42413D42413D42413D42413D42413D42413D42413D
+3C3B37393835E07146E96830E8662EE8662EEA713FC273534F28179C4622502717BC6F51E97241
+E8662EE8662EE96830E172463C39353A393538373379787277766F77766F76756E75746D75746D
+75746D74736C75746D75746D75746D76756E77766F77766F7978723938343A393538373475746E
+78777077766F77766F3F3E3A75746D76756E75746D76756E76756E3F3E3A76756E77766F787770
+7A797339383442413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42403B3B39508BC4D0DEDBD2C788513C3736363635363635373A3B42403C3D38436DA7C8DDDAD2
+DED9D0D9D2CDDDD9D1DFDBD2DFC687543B38363C5FABD5D0DEDBC49B5B3C3A373C578DB9DDDAD1
+DED9CFD4CECBDDD9D1DFDBC7A669443B3D3C41413D42413D42413D42413C3F383B5C9AC1DAD4C7
+D0CBC6D9D9D0DEDBD2DFC386553B38363D5FABD5D0DEDBD2DED7CBD7D6D0DDDBD2DFDBC39B5E3F
+3B3D3B373C5FABD5D0DEDBC49B5B3C373C5FABD5D0DEDBD2DED7CBD9D9D0DEDBD2DFDBD2DED9D0
+DAD7D0DDDBD2DFDBC9A767413B3E3B3F383B5C9AC1DAD4C7D0CBC6D9D9D0DEDBD2DFC386553B37
+37436DB8D9D0DEDBD2D9CCC0CBC8C0C5A76F4A3B39373C5FABD5D0DEDBC49B5B3C3A393D598EBA
+DDDAD2DEDAD0DDD8D0DDDAD1DFDBD1BD834F3D3A3A363D5FABD5D0DEDBD2DED7CBD7D6D0DDDBD2
+DFDBC39B5E3F3A3D3939436CAFD6D0DEDBD2DECDBDC7C7C5D8CC9A613E383F403D42413D42413D
+42413C3F383B5C9AC1DAD4C7D0CBC6D9D9D0DEDBD2DFC386553B38363D5FABD5D0DEDBD2DED7CB
+D7D6D0DDDBD2DFDBC39B5E3F3B3D3C3D38436DA7C8DDDAD2DED9D0D9D2CDDDD9D1DFDBD2DFC687
+543B393F403D42413D42413D41403939436CAFD6D0DEDBD2DECDBDC7C7C5D8CC9A613E38373C5F
+ABD5D0DEDBC49B5B3C3A383D5F96BFDDDAD2DED9D0D1C4BACAD5D1DFDBD2DFB46B423939373D5F
+ABD5D0DEDBD2DED7CBD7D6D0DDDBD2DFDBC39B5E3F3B3E3C3F383B5C9AC1DAD4C7D0CBC6D9D9D0
+DEDBD2DFC386553B38363C5FABD5D0DEDBC49B5B3C3B3D3939436CAFD6D0DEDBD2DECDBDC7C7C5
+D8CC9A613E383F403D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+91694C3D3C37403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B3C3B37393834
+E97140E66228E66228E66228E66228E76E39A05B4043221499583EE66E3DE66228E66228E66228
+E66329E970403C39343A393538373379797273726B73726B74736C3C3B373B3A363B3A363B3A36
+3B3A363B3A363B3A3673726B73726B72716A7979723938343A393538373376756F73726B73726B
+74736C3F3E3A74736C75746D75746D75746D75746D3F3E3A73726B73726B73726B7A7973393834
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403E393A3950
+8BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2CD94563D3837384B7ABFD9D1DFDBC6A16944373435
+436FADDDD9D1DFC687543B37363C5FABD5D0DEDBC49B5B3C394670B5D8D0DEDBB88B573E38363A
+4E7AADDBDAD1DFB872483A393E3E3B403F3B403F3B403F3B3F3F393D383737393C4247494D5A7D
+BDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3B35384C84BED0DEDBD2D19A5A3D3938373C5F
+ABD5D0DEDBC49B5B3C373C5FABD5D0DEDBC49B5B3B37446CB1D6D0DEDBD2BD774637384B80BCD0
+DEDBD2D49F5C3E3A393E3F393D383737393C4247494D5A7DBDD9D1DEDBB57D4A3737436DB8D9D0
+DEDBBB89513A3534343537383F3F39373C5FABD5D0DEDBC49B5B3C394771B6D8D0DEDBCAB18058
+44383A517EAEDADAD1DFD4A2684136373C5FABD5D0DEDBC49B5B3B35384C84BED0DEDBD2D19A5A
+3D39373A5186C6D9D1DFDBB582503C36363436373A3E3E3B3F3F3B403F3B403F3B403F3B3F3F39
+3D383737393C4247494D5A7DBDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3B35384C84BED0
+DEDBD2D19A5A3D3937384B7ABFD9D1DFDBC6A16944373435436FADDDD9D1DFC687543B383D3E3B
+403F3B403F3B403D373A5186C6D9D1DFDBB582503C36363436373A3E3E39373C5FABD5D0DEDBC4
+9B5B3C3A4976BAD9D1DEDBC8AA6F46373539538BBCDDDAD2DFB46B423938373C5FABD5D0DEDBC4
+9B5B3B35384C84BED0DEDBD2D19A5A3D39393F3F393D383737393C4247494D5A7DBDD9D1DEDBB5
+7D4A37363C5FABD5D0DEDBC49B5B3C3A3A373A5186C6D9D1DFDBB582503C36363436373A3E3E3B
+3F3F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3BCECDC63E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393C3C37393835DC6839E65F25
+E55E23E55E23E45E23BF511F5129179A593F4F2818B94E20E45D23E55E23E55E23E66025DD6738
+3C39353A3935383733706F6A706F68706F6871706A7A79737B7A737C7B747C7B747C7B747B7A73
+7A797371706A6F6F68706F68706F6A3938343A39353837336E6D68706F68706F6972716A3F3E3A
+73726B75746D75746D75746D75746D3F3E3A717069706F69706F6873726C3938343E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3C383939508BC4D0DEDBD2
+DFDACBD5D1C8D4D0C8D4D0C4BA89523C37353C5F9BD4D9D1DFD39E633E373B3A353F68A9DCD9D1
+DFC687543B37353C5FABD5D0DEDBC49B5B3C3D5C97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1
+DEC98E583C363C3D393E3D393E3D393E3D383B3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD
+8D533A353C5FABD5D0DEDBC49B5B3C39373A5A99C4DDDAD2DEB168413837353C5FABD5D0DEDBC4
+9B5B3C373C5FABD5D0DEDBC49B5B3C38384D85BFD0DEDBD2C2814C39363A5A98C4DDDAD2DEB269
+4137373A3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A37436DB8D9D0DEDBBB89513A
+393B393E3D393E3D38363C5FABD5D0DEDBC49B5B3C3D5D98D3D9D1DFD4A0643E373B3C3737436D
+B8D9D0DEDBBE8E543A363C5FABD5D0DEDBC49B5B3C39373A5A99C4DDDAD2DEB168413837383C56
+91C2CEDCDAD1DFDBC7BFA48671533E3A3B393E3D393E3D393E3D393E3D383B3943648CA8CCDAD1
+DEDAD0DDD9D1DFDBD2DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C39373A5A99C4DDDAD2DEB168
+4137353C5F9BD4D9D1DFD39E633E373B3A353F68A9DCD9D1DFC687543B373C3C393E3D393E3D39
+3E3D38393C5691C2CEDCDAD1DFDBC7BFA48671533E3A3B38363C5FABD5D0DEDBC49B5B3C3C5F9A
+D5D9D1DFD4A0643D373B3839538BBCDDDAD2DFB46B423837363C5FABD5D0DEDBC49B5B3C39373A
+5A99C4DDDAD2DEB1684138373A3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A353C5F
+ABD5D0DEDBC49B5B3C3A3A38393C5691C2CEDCDAD1DFDBC7BFA48671533E3A3B393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39CDCCCC3E3D393C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373A3935B75A32E45F23E35B1CE35B1C
+C04E1C512816BA6949E67140C26E4D502717B94D1BE25B1CE35B1CE55F23BA5B323C3A353A3935
+3938345F5E5A6D6C666C6B646E6D66706F6972716A73726B74736C73726B72716A706F686E6D66
+6C6B646D6C66605F5B3A39353A39353938345F5E5A6D6C666C6B656E6D673F3E39706F6873726B
+73726B73726B72716A3F3E396D6C666C6B656D6C6664635E3938353C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C6864F393433
+3333333333333537373B39353B5E99D4D9D1DFD6A36840373939343F68A9DCD9D1DFC687543A36
+343C5FABD5D0DEDBC49B5B3B3D5F9CD3D9D1DFDBC1AC958A908E89908E89908E898F81644A3B37
+3B3B373C3B373C3B373C39353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A353C5F
+ABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C363C5F
+ABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237353C609B
+D5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A36426CB6D9D0DEDBBE8E543A3839363C3B37
+3C3B36353C5FABD5D0DEDBC49B5B3B3C5E98D2D9D1DFD4A1663F363A3A3637446EB8D9D0DEDBBE
+90543B353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4238363C3B35363F557690A3
+C4D4CFDDDBD2DFDBB78D563C383A373C3B373C3B373C39353C609BD5D9D1DFD9B69D807173788C
+BFD8D1DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4237353B5E99
+D4D9D1DFD6A36840373939343F68A9DCD9D1DFC687543A363A3A373C3B373C3B373C3B373C3B35
+363F557690A3C4D4CFDDDBD2DFDBB78D563C353C5FABD5D0DEDBC49B5B3B3D5F9DD4D9D1DFD49F
+643E36393639538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2
+DFB46B4237353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A353C5FABD5D0DEDBC4
+9B5B3C3939373C3B35363F557690A3C4D4CFDDDBD2DFDBB78D563C383A373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B378F929D3D3C393C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373B3A367B4730E35E23E25817E25817CA5727BD6A48
+E4662FE25817E4642BC16C4BC75727E25817E25817E45E247A46313C3A363B3A363938344B4A45
+6A69636867616968626B6A646E6D666F6E67706F686F6E676E6D666B6A646968626766606B6A64
+4A49453938343B3A363938344B4A456A69636867616A69623E3D393B3A363B3A363B3A363B3A36
+3B3A363B3A366968616867616C6B654E4D483938343C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C788513C3736363635363635
+363635373A35384874B9D8D0DEDBCDB67F523F3837416AAADDD9D1DFC687543A36343C5FABD5D0
+DEDBC49B5B3C384A77BBD8D0DEDBCDB683594339363636363B454C4A3F383A3B373C3B373C3B37
+3C3B373B37364A7BB3DCDAD2DFBD7B4E3936363D5EA5D1D0DEDBBD8D533A353C5FABD5D0DEDBC4
+9B5B3C383739538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC4
+9B5B3C37374477B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237364A7BB3DCDAD2DFBD7B
+4E3936363D5EA5D1D0DEDBBD8D533A353C5EA8D3D0DEDBD1B674473A36363839393C3B36353C5F
+ABD5D0DEDBC49B5B3C38466FB5D7D0DEDBCBB2835B453B3D5480B0DBDAD1DFD4A1684137353C5F
+ABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4238363B3D4048413A373635363E5993C4D0
+DEDBD2C687503A38363C3B373C3B373B37364A7BB3DCDAD2DFBD7B4E3936363D5EA5D1D0DEDBBD
+8D533A353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B423836384774B9D8D0DEDBCD
+B67F523F3837416AAADDD9D1DFC687543A363A3A373C3B373C3B373C3B373B3D4048413A373635
+363E5993C4D0DEDBD2C68750393D60ABD5D0DEDBC49B5B3C394C7ABED8D0DFDBCAB07A53433E48
+6A9DC4DDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B423736
+4A7BB3DCDAD2DFBD7B4E3936363D5EA5D1D0DEDBBD8D533A353C5CA5D0D0DEDBCEB37046393936
+3A3D4048413A373635363E5993C4D0DEDBD2C687503A38363C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B376351473D3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3835C35626E2591AE15511E35D1FE36228E15511E15511
+E15511E36127E35E22E15511E3591AB151273C39353C3B373C3A363A39353938345E5E5966655F
+64635D65655E6867616968626A696269686268676165655E64635D66655F5959543938353A3935
+3C3A363A39353938345E5E5966655F64645E6D6C67706F6972716A72716B72716A706F696E6D67
+64645E66655F61615B3A39353A39353C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3A363838508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBC9B36F43
+37373E5D94BDDBD8D1DEDBD2DFD8CAD8DAD2DFDBD2DEC687543B36343C5FABD5D0DEDBC49B5B3C
+38373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E383A373C3B373C3B373C3B373B3935
+3C5990CCD7D0DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A353C5FABD5D0DEDBC49B5B3C383739
+538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC49B5B3C373744
+77B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237353C5990CCD7D0DEDBD2D6C7B5BAB8BB
+D8DAD1DEDABD8D533A3637436FACC9DCDAD2DFDBD2D9D2CDDCC8905A3D36363C5FABD5D0DEDBC4
+9B5B3C38373C598EBADBD8D1DEDBD2DFDBD2DFDBD1DED9D0BF84503B3836353C5FABD5D0DEDBC4
+9B5B3C383739538BBCDDDAD2DFB46B4237343B578FCCD9D1DACDBFC7C4C4DDDAD1DEDACBAC6A41
+3839373C3B373C3B373B39353C5990CCD7D0DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A353C5F
+ABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4238363A373E5D94BDDBD8D1DEDBD2DFD8CA
+D8DAD2DFDBD2DEC687543B363A3A373C3B373C3B373C39343B588FCCD9D1DACDBFC7C4C4DDDAD1
+DEDACBAC6A41363D5FABD5D0DEDBC49B5B3C38374267A0C3DBD9D1DEDAD1DEDAD1DEDBD2DFDBD2
+DFB36B423836353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4237353C5990CCD7D0
+DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A3637497DB7CEDCDAD2DFDBC7A866403E5890CCD9D1
+DACDBFC7C4C4DDDAD1DEDACBAC6A413839373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B37CDCCCC3E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373B3A36523C30D0551DE15612E0520AE0520AE0520AE0520AE0520AE0520A
+E0520AE15612D2561C4D3B323B3A363C3B373C3B373B3A363938353E3D3A605F5962615B61605A
+62615B63625C64635D63625C62615B61605A62625C5F5E5A3D3C383938353B3A363C3B373B3A36
+3938353F3E3B605F5B62625C61605A62615B63625C64635D64635D62615B61605B62625C61605C
+403F3B3938343A3A353C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3A3638394F89C2CEDBD8D0DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0B87143393937383843
+5D7D96B6C1C3D8D8CFDCD8CED4C9B6B49568473936353C61ACD5D0DEDBC49B5B3B383A35383741
+5C7C95B4BEC1D7D8CFDCD8CED1C2A99161413A3A373C3B373C3B373C3B373C3B3739383D557893
+B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F4938353C5FA9D2CEDCD8C29A5A3C3837395289BADAD7CF
+DCB26A423836353C5FA9D2CEDCD8C29A5A3C363C5FA9D2CEDCD8C29A5A3C37374476B5CDDBD8D0
+C1814C3936395289BADAD7CFDCB26A42383639383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B291
+6F49383A3A353A466189A9B7CED4CFDCD8CDD0B78D5E4036353C5FA9D2CEDCD8C29A5A3C393A37
+3838415D7E99B8C3C6DBD8CDD1C1AC9C79554138363B3B36353C5FA9D2CEDCD8C29A5A3C383739
+5289BADAD7CFDCB26A4238353E5983ADBFC4D9D8CFDCD8CFD5C8B1A3835D4438373B3B373C3B37
+3C3B373C3B3739383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F4938353C5FA9D2CEDCD8C2
+9A5A3C3837395289BADAD7CFDCB26A4238363C3B373838435D7D96B6C1C3D8D8CFDCD8CED4C9B6
+B495684839373B3B373C3B373C3B373C3A353E5983ADBFC4D9D8CFDCD8CFD5C8B1A3835D443836
+343C5FA9D2CEDCD8C29A5A3C393A36373944627E8FA4ACAEBAB1A4AEBECCDEDBD2DAAA63403736
+353C5FA9D2CEDCD8C29A5A3C3837395289BADAD7CFDCB26A42383639383D557893B5C5C9DCD8CF
+DCD8D0DAD2C2C3B2916F49383939363D4F6E98B3BFD8D7BC93583A3D5984ADBFC4D9D8CFDCD8CF
+D5C8B1A3835D4438373B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B37CDCCCC3E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373B3A36483B32AA4A1FDD540EDF5207DF5106DF5004DF5106DF5207DE540DAC4B1E
+493B323B3A363C3B373C3B373C3B373B3A373A3A353938343B3A3754534E5E5D585E5D585D5C57
+5D5C575D5C575E5D585F5E5955544F3C3B373938343B3A353C3B373C3B373B3A373A3A35393834
+3C3B3855544F5E5D585E5D585E5D575E5D575E5D575E5D585F5E595C5B56403F3B3938343B3935
+3B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3A363834333333333333333333333333333333333333333538373C3B373C3B373A3735353433
+3333333333333434343536363836353B5382C4D9D1DFDBBA874F39393A373C3B36393834353433
+3333333333333334343739373C3B373C3B373C3B373C3B373C3B373C3B373A3835353333333333
+333333333433343535393A373C3B363533333333343739373C3B373A37343333333335353C3B37
+3C3B363533333333343739373C3B363533333333343739373C3B373835333333333537373C3B37
+3A37343333333335353C3B373C3B373A3835353333333333333333333433343535393A373C3B37
+3C3B363835333433333333333435353A3B373C3B363533333333343739373C3B373C3B373A3834
+3434333333333334343737363B3B373C3B373C3B363533333333343739373C3B373A3734333333
+3335353C3B373C3A353634343333333333333434343637363B3B373C3B373C3B373C3B373C3B37
+3C3B373A3835353333333333333333333433343535393A373C3B363533333333343739373C3B37
+3A37343333333335353C3B373C3B373C3B373A37353534333333333333333434343536363B3B37
+3C3B373C3B373C3B373C3B373C3A353634343333333333333434343637363B3B373C3B36353333
+3333343739373B3A38444C4A433A37363635373C5383B9CFDEDAD1C78A523B38363B3B36353333
+3333343739373C3B373A37343333333335353C3B373C3B373A3835353333333333333333333433
+343535393A373C3B373B3A36373533333334373A373C3A35363434333333333333343434363736
+3B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37CCCBCB
+3E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373B3A363A39356E3F28AC491ACF4E0EDC5107D04E0EAE4919703F283B39353B3A363C3B37
+3C3B373C3B373C3B373B3A363B3A373A3A3539383538373345444050504A585852595954585853
+51514B4544403837333938353A39353C3B363B3A363C3B373B3A363C3A363A3A35393835383733
+48474252524C59595359585459595354544E4948433938343938343A39353B3B363B3A363C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B36383A528BBAC5DBDBD2DFDBD1DDC88F5C3D363B3A373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+39374678B8CFDDDAD2DAD2C9DADBD2DFDAD1DDD7AC7C4B38383A373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37CCCBCB3E3D393C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373B3A363A39353938353938343938353A39353B3A363C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373B3A363B3A373B3A363A3935393834393834383733383733383733393834393834
+3A39353B3A363B3A363B3A363C3B373C3B373C3B373B3A363B3A373B3A363A3935393834383734
+3837333837333837333837343938343A39353A3A363C3A363B3A363C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36363E5E
+A0C7CEDBD8CCCEBA9A7E573E3A39373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36393A4A759AAD
+C5CCCBDCD8CFDCD2C2C4B1917959403939373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37CCCBCB3E3D393C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373B3A373B3A363B39353A39353A39353A39353B39353B3A363B3B363C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363B3A363A39353A39353A3935
+3A39353A39353A3A363B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36363433333333
+3434343839373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36393634353433333333
+3333333435343939373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B37CBCBCB3E3D393C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B37CBCBCB3E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B37CBCBCB3E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+C9C8C83E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B3728081E3C3A37
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A28081E3C3A37FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E101F
+3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB871433E3C37FCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDC2903E3D38FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2D2AD3E3D39FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFCBD0B43E3D39FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFC7D0B43E3D39FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+C7D0B43E3D39FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7D0B43E3D39
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7D0B33E3D39FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0C7A33E3D39FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E0B1E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF350F1E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF8E39273D3B37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3C3A37FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E3F3C39FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081E413F3CFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081E44423FFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+474541FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E4A4743FCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E4C4A46FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E4F4D49FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081E51504CFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081E54534EFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081E575551FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E5A5854
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCFCE5E5E5C4C4C4C8C8C8
+CDCDCDD0D0D0D4D4D4D7D7D7DADADADCDCDCDFDFDFE0E0E0E1E1E1F1F1F1FDFDFDFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E5D5B57FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFBFBFBE5E5E5BABABABFBFBFC3C3C3C6C6C6C9C9C9CCCCCCCFCFCFD2D2D2
+D4D4D4D6D6D6D8D8D8DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E2E2E2E1E1E1F2F2F2FDFDFD
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E605E59FDFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F9F9F9
+E6E6E6B9B9B9BCBCBCC1C1C1C4C4C4C7C7C7CACACACDCDCDD0D0D0D3D3D3D5D5D5D7D7D7DADADA
+DCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E2E2E2F4F4F4FDFDFD
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E62605CFDFDFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEE6E6E6B5B5B5B7B7B7B8B8B8BCBCBC
+C0C0C0C4C4C4C7C7C7CACACACDCDCDD0D0D0D3D3D3D7D7D7DCDCDCE1E1E1E5E5E5E8E8E8E9E9E9
+EAEAEAEAEAEAE9E9E9E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E7E7E7E5E5E5E0E0E0F4F4F4
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081E65635FFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDF6F6F6E6E6E6B5B5B5B6B6B6B7B7B7BBBBBBBFBFBFC2C2C2C6C6C6
+C9C9C9CCCCCCD0D0D0D5D5D5DBDBDBE1E1E1E7E7E7ECECECF0F0F0F3F3F3F6F6F6F7F7F7F7F7F7
+F6F6F6F3F3F3F0F0F0ECECECEAEAEAEBEBEBEBEBEBEBEBEBEAEAEAE9E9E9E7E7E7F7F7F7FDFDFD
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081E686662FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDE6E6E6B1B1B1B3B3B3B3B3B3B5B5B5B9B9B9BDBDBDC1C1C1C4C4C4C7C7C7CACACACECECE
+D4D4D4DCDCDCE3E3E3E9E9E9EFEFEFF5F5F5F9F9F9FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFDFDFD
+FBFBFBF7F7F7F1F1F1EEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECEAEAEAEEEEEEFBFBFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+6B6864FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE5E5E5AEAEAE
+B0B0B0B1B1B1B4B4B4B8B8B8BCBCBCBFBFBFC2C2C2C5C5C5C8C8C8CCCCCCD2D2D2DADADAE1E1E1
+E8E8E8EFEFEFF5F5F5FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FAFAFAF4F4F4F0F0F0EFEFEFEFEFEFEFEFEFEEEEEEEEEEEEECECECF3F3F3FDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E6E6A67FDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE4E4E4AAAAAAACACACAEAEAEB2B2B2
+B7B7B7BDBDBDC0C0C0C3C3C3C5C5C5C6C6C6C9C9C9CECECED5D5D5DDDDDDE5E5E5ECECECF3F3F3
+F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFB
+F4F4F4F1F1F1F0F0F0F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFF8F8F8FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E716D6AFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE2E2E2A6A6A6A8A8A8ABABABB0B0B0B7B7B7BCBCBCC0C0C0
+C3C3C3C5C5C5C6C6C6C8C8C8CACACAD0D0D0D8D8D8DFDFDFE7E7E7EEEEEEF5F5F5FBFBFBFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F3F3F3
+F1F1F1F2F2F2F2F2F2F2F2F2F1F1F1F0F0F0F2F2F2FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E73706DFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDE1E1E1A2A2A2A4A4A4A8A8A8AEAEAEB5B5B5BABABABFBFBFC2C2C2C5C5C5C6C6C6
+C7C7C7C8C8C8CBCBCBD1D1D1D8D8D8E0E0E0E7E7E7EEEEEEF4F4F4FBFBFBFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF4F4F4F2F2F2F2F2F2
+F3F3F3F4F4F4F4F4F4F3F3F3F1F1F1F4F4F4FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081E76736FFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE1E1E1
+9F9F9FA0A0A0A4A4A4AAAAAAB1B1B1B7B7B7BCBCBCC0C0C0C3C3C3C5C5C5C6C6C6C7C7C7C8C8C8
+CBCBCBD0D0D0D7D7D7DFDFDFE6E6E6EDEDEDF3F3F3F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF6F6F6F3F3F3F4F4F4F7F7F7FAFAFA
+FBFBFBFAFAFAF6F6F6F2F2F2F6F6F6FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081E797572FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE1E1E19E9E9E9C9C9CA0A0A0
+A6A6A6ADADADB3B3B3B8B8B8BDBDBDC0C0C0C2C2C2C4C4C4C5C5C5C6C6C6C7C7C7CACACACFCFCF
+D6D6D6DDDDDDE3E3E3EAEAEAF0F0F0F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF5F5F5F2F2F2F5F5F5FAFAFAFDFDFDFFFFFFFFFFFF
+FDFDFDF8F8F8F2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081E7C7875FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE1E1E19E9E9E9B9B9B9C9C9CA1A1A1A7A7A7AEAEAE
+B3B3B3B8B8B8BCBCBCBFBFBFC1C1C1C3C3C3C3C3C3C4C4C4C6C6C6C9C9C9CDCDCDD3D3D3DADADA
+E0E0E0E7E7E7ECECECF2F2F2F7F7F7FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCF8F8F8F3F3F3F2F2F2F5F5F5FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFEFEFE
+F8F8F8F2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E7F7B78
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF6F6F69D9D9D9A9A9A9A9A9A9D9D9DA2A2A2A8A8A8AEAEAEB3B3B3B7B7B7
+BABABABDBDBDBFBFBFC0C0C0C1C1C1C3C3C3C6C6C6C9C9C9CCCCCCD1D1D1D6D6D6DCDCDCE2E2E2
+E8E8E8EDEDEDF2F2F2F6F6F6FAFAFAFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFC
+F8F8F8F4F4F4F1F1F1F1F1F1F4F4F4FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6
+F1F1F1F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E827E7AFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDDEDEDE9B9B9B9A9A9A9A9A9A9E9E9EA2A2A2A8A8A8ADADADB1B1B1B5B5B5B8B8B8BBBBBB
+BCBCBCBEBEBEC0C0C0C3C3C3C5C5C5C8C8C8CBCBCBCECECED2D2D2D8D8D8DDDDDDE3E3E3E7E7E7
+ECECECF0F0F0F3F3F3F6F6F6F8F8F8FAFAFAFBFBFBFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F1F1F1
+F0F0F0F1F1F1F3F3F3F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF2F2F2F1F1F1
+F9F9F9FEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E84807DFDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDDDDDDD9B9B9B
+9A9A9A9A9A9A9A9A9A9E9E9EA2A2A2A7A7A7ABABABAFAFAFB3B3B3B6B6B6B8B8B8BABABABDBDBD
+BFBFBFC2C2C2C5C5C5C7C7C7CACACACCCCCCCFCFCFD3D3D3D8D8D8DDDDDDE1E1E1E5E5E5E9E9E9
+EDEDEDEFEFEFF1F1F1F3F3F3F4F4F4F4F4F4F3F3F3F2F2F2F0F0F0EFEFEFEFEFEFEFEFEFF0F0F0
+F1F1F1F5F5F5FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF5F5F5EFEFEFF1F1F1F8F8F8
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E87837FFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F99B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9E9E9EA2A2A2A5A5A5A9A9A9ADADADB0B0B0B3B3B3B5B5B5B9B9B9BCBCBCBFBFBFC1C1C1
+C4C4C4C6C6C6C9C9C9CBCBCBCECECED1D1D1D3D3D3D7D7D7DBDBDBDFDFDFE2E2E2E6E6E6E8E8E8
+EAEAEAECECECEDEDEDEDEDEDEDEDEDECECECEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F2F2F2
+F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFDFDFDF7F7F7F0F0F0EDEDEDEFEFEFF3F3F3FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081E898682FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F99B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D
+A1A1A1A5A5A5A9A9A9ACACACAFAFAFB2B2B2B5B5B5B8B8B8BBBBBBBEBEBEC0C0C0C3C3C3C6C6C6
+C8C8C8CACACACDCDCDD0D0D0D2D2D2D4D4D4D6D6D6D9D9D9DCDCDCDFDFDFE1E1E1E3E3E3E5E5E5
+E6E6E6E7E7E7E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F2F2F2F6F6F6
+FBFBFBFDFDFDFEFEFEFEFEFEFCFCFCF6F6F6F0F0F0EDEDEDEBEBEBEDEDEDFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081E8C8984FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDDBDBDB9B9B9B9A9A9A9A9A9A9A9A9A9B9B9B9D9D9DA1A1A1A5A5A5
+A9A9A9ACACACAFAFAFB1B1B1B4B4B4B7B7B7BABABABDBDBDC0C0C0C2C2C2C5C5C5C7C7C7C9C9C9
+CCCCCCCECECED1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDDDDDDDFDFDFE1E1E1E2E2E2E4E4E4
+E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F2F2F2F5F5F5F8F8F8
+FAFAFAFAFAFAF9F9F9F5F5F5F0F0F0EDEDEDEBEBEBE7E7E7F5F5F5FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+8F8B87FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFAFAFA9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA3A3A3A7A7A7AAAAAAADADAD
+AFAFAFB1B1B1B3B3B3B6B6B6B9B9B9BCBCBCBEBEBEC1C1C1C4C4C4C6C6C6C8C8C8CBCBCBCDCDCD
+CFCFCFD2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6
+E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF1F1F1F3F3F3F5F5F5F5F5F5
+F4F4F4F1F1F1EFEFEFEDEDEDEBEBEBE8E8E8E4E4E4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E928E8AFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEDADADA
+9B9B9B9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D9F9F9FA4A4A4A8A8A8ABABABAEAEAEB0B0B0B2B2B2
+B3B3B3B5B5B5B8B8B8BBBBBBBDBDBDC0C0C0C2C2C2C5C5C5C7C7C7C9C9C9CCCCCCCECECED1D1D1
+D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7
+E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F0F0F0EFEFEF
+EEEEEEEDEDEDEBEBEBE8E8E8E4E4E4F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E94918DFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC9D9D9D9A9A9A9A9A9A
+9A9A9A9C9C9C9D9D9D9F9F9FA0A0A0A5A5A5A9A9A9ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4
+B6B6B6B9B9B9BCBCBCBFBFBFC1C1C1C4C4C4C6C6C6C8C8C8CACACACDCDCDCFCFCFD2D2D2D4D4D4
+D6D6D6D8D8D8DADADADBDBDBDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8
+EAEAEAEBEBEBEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0EFEFEFEEEEEEEDEDEDECECEC
+EAEAEAE8E8E8E4E4E4DCDCDCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E97948FFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC9D9D9D9A9A9A9A9A9A9B9B9B9D9D9D
+9F9F9FA0A0A0A1A1A1A5A5A5A9A9A9ADADADAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B8B8B8
+BBBBBBBDBDBDC0C0C0C2C2C2C5C5C5C7C7C7CACACACCCCCCCFCFCFD2D2D2D4D4D4D7D7D7D9D9D9
+DADADADBDBDBDCDCDCDDDDDDDFDFDFE1E1E1E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9
+EAEAEAEBEBEBECECECEEEEEEF0F0F0F2F2F2F3F3F3F2F2F2EFEFEFEDEDEDEBEBEBE9E9E9E7E7E7
+E4E4E4DEDEDEFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081E9A9692FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB9D9D9D9A9A9A9A9A9A9C9C9C9F9F9FA0A0A0A1A1A1
+A3A3A3A5A5A5A9A9A9ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B7B7B7B9B9B9BCBCBC
+BFBFBFC1C1C1C3C3C3C6C6C6C9C9C9CCCCCCD0D0D0D3D3D3D6D6D6D8D8D8DADADADBDBDBDCDCDC
+DDDDDDDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEA
+EDEDEDF2F2F2F5F5F5F7F7F7F8F8F8F7F7F7F4F4F4F0F0F0EBEBEBE8E8E8E6E6E6E3E3E3DEDEDE
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081E9D9995FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFED6D6D69C9C9C9A9A9A9B9B9B9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A5A5A5
+A8A8A8ACACACAFAFAFB1B1B1B2B2B2B3B3B3B3B3B3B3B3B3B5B5B5B8B8B8BABABABDBDBDC0C0C0
+C2C2C2C6C6C6C9C9C9CDCDCDD0D0D0D3D3D3D6D6D6D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDEDEDE
+DDDDDDDEDEDEDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E8E8E8ECECECF0F0F0F5F5F5
+F9F9F9FBFBFBFCFCFCFCFCFCF9F9F9F5F5F5EEEEEEE8E8E8E5E5E5E3E3E3DEDEDEEDEDEDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EA09C98FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFD9F9F9F9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A7A7A7ABABAB
+AEAEAEB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B6B6B6B9B9B9BBBBBBBEBEBEC1C1C1C6C6C6
+C9C9C9CDCDCDD0D0D0D3D3D3D6D6D6D9D9D9DBDBDBDCDCDCDEDEDEDEDEDEDEDEDEDEDEDEDDDDDD
+DDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5E8E8E8EDEDEDF3F3F3F8F8F8FCFCFCFEFEFE
+FFFFFFFEFEFEFDFDFDF9F9F9F2F2F2E9E9E9E4E4E4E2E2E2DEDEDED7D7D7FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EA39F9A
+FEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9E9E9E
+9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6AAAAAAACACACAEAEAE
+B0B0B0B1B1B1B1B1B1B1B1B1B2B2B2B5B5B5B7B7B7BABABABDBDBDC1C1C1C5C5C5C9C9C9CDCDCD
+D0D0D0D3D3D3D6D6D6D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDEDEDEDDDDDDDCDCDCDDDDDD
+DEDEDEE0E0E0E1E1E1E2E2E2E4E4E4E9E9E9EFEFEFF5F5F5FAFAFAFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFCF6F6F6ECECECE3E3E3E0E0E0DDDDDDD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EA6A19DFEFEFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9E9E9E9A9A9A9A9A9A
+9D9D9DA0A0A0A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A5A5A5A8A8A8AAAAAAADADADAEAEAEAFAFAF
+B0B0B0B0B0B0B1B1B1B3B3B3B6B6B6B9B9B9BCBCBCC0C0C0C4C4C4C8C8C8CCCCCCCFCFCFD3D3D3
+D5D5D5D7D7D7DADADADCDCDCDDDDDDDDDDDDDEDEDEDDDDDDDCDCDCDBDBDBDBDBDBDDDDDDDEDEDE
+DFDFDFE0E0E0E4E4E4EAEAEAF0F0F0F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+F8F8F8EFEFEFE4E4E4DFDFDFDCDCDCD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EA8A4A0FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9E9E9E9A9A9A9A9A9A9D9D9DA0A0A0
+A2A2A2A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A8A8A8AAAAAAACACACADADADAEAEAEAEAEAE
+AFAFAFB2B2B2B4B4B4B7B7B7BBBBBBBFBFBFC3C3C3C7C7C7CBCBCBCECECED1D1D1D4D4D4D6D6D6
+D9D9D9DADADADCDCDCDCDCDCDDDDDDDCDCDCDBDBDBDADADADADADADBDBDBDCDCDCDDDDDDDEDEDE
+E4E4E4EAEAEAF1F1F1F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0
+E5E5E5DEDEDEDADADAD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9E9E9E9A9A9A9A9A9A9D9D9DA0A0A0A2A2A2A4A4A4
+A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A6A6A6A8A8A8AAAAAAABABABACACACACACACAEAEAEB0B0B0
+B3B3B3B5B5B5B9B9B9BEBEBEC2C2C2C5C5C5C9C9C9CCCCCCCFCFCFD2D2D2D5D5D5D7D7D7D9D9D9
+DADADADBDBDBDBDBDBDBDBDBDADADAD9D9D9D8D8D8D9D9D9DADADADBDBDBDEDEDEE3E3E3EAEAEA
+F1F1F1F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF1F1F1E6E6E6DCDCDC
+D8D8D8D8D8D8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFD9E9E9E9A9A9A9A9A9A9D9D9DA0A0A0A2A2A2A3A3A3A4A4A4A4A4A4
+A4A4A4A4A4A4A3A3A3A4A4A4A6A6A6A8A8A8A9A9A9AAAAAAAAAAAAACACACAEAEAEB1B1B1B3B3B3
+B7B7B7BCBCBCC0C0C0C4C4C4C7C7C7CACACACDCDCDD0D0D0D3D3D3D5D5D5D6D6D6D7D7D7D9D9D9
+D9D9D9D9D9D9D8D8D8D7D7D7D6D6D6D7D7D7D8D8D8D9D9D9DCDCDCE2E2E2EAEAEAF0F0F0F6F6F6
+FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0E5E5E5DADADAD6D6D6D7D7D7
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFD9D9D9D9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A3A3A3A4A4A4A4A4A4A3A3A3
+A3A3A3A2A2A2A3A3A3A5A5A5A7A7A7A7A7A7A8A8A8AAAAAAADADADAFAFAFB2B2B2B5B5B5B9B9B9
+BEBEBEC1C1C1C5C5C5C8C8C8CBCBCBCECECED0D0D0D2D2D2D4D4D4D5D5D5D6D6D6D6D6D6D6D6D6
+D6D6D6D4D4D4D4D4D4D5D5D5D6D6D6D7D7D7DBDBDBE1E1E1E8E8E8EEEEEEF5F5F5FAFAFAFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EFEFEFE3E3E3D8D8D8D4D4D4D5D5D5FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
+9D9D9D9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A1A1A1
+A1A1A1A2A2A2A4A4A4A4A4A4A5A5A5A8A8A8ABABABADADADB0B0B0B3B3B3B7B7B7BBBBBBBFBFBF
+C2C2C2C6C6C6C9C9C9CBCBCBCDCDCDCFCFCFD1D1D1D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2
+D2D2D2D3D3D3D4D4D4D5D5D5D9D9D9DFDFDFE6E6E6ECECECF2F2F2F7F7F7FCFCFCFEFEFEFFFFFF
+FFFFFFFEFEFEFBFBFBF5F5F5ECECECE0E0E0D6D6D6D2D2D2D4D4D4FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9D9D9D9A9A9A
+9A9A9A9B9B9B9E9E9E9F9F9FA1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A0A0A09F9F9FA0A0A0
+A1A1A1A2A2A2A4A4A4A6A6A6A9A9A9ABABABAEAEAEB0B0B0B4B4B4B8B8B8BCBCBCC0C0C0C3C3C3
+C6C6C6C8C8C8CACACACCCCCCCECECECFCFCFD0D0D0D0D0D0D0D0D0D0D0D0CFCFCFCFCFCFD1D1D1
+D2D2D2D3D3D3D7D7D7DDDDDDE4E4E4EAEAEAEFEFEFF4F4F4F8F8F8FBFBFBFDFDFDFDFDFDFBFBFB
+F7F7F7F1F1F1E9E9E9DDDDDDD3D3D3CFCFCFD2D2D2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9D9D9D9A9A9A9A9A9A9A9A9A
+9D9D9D9E9E9EA0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A0A0A09F9F9F9E9E9E9D9D9D9E9E9E9F9F9F
+A2A2A2A4A4A4A6A6A6A9A9A9ACACACAEAEAEB2B2B2B5B5B5B9B9B9BCBCBCC0C0C0C2C2C2C5C5C5
+C7C7C7C9C9C9CBCBCBCCCCCCCDCDCDCDCDCDCDCDCDCCCCCCCCCCCCCDCDCDCECECECFCFCFD1D1D1
+D4D4D4DADADAE0E0E0E6E6E6ECECECF1F1F1F4F4F4F7F7F7F9F9F9F9F9F9F6F6F6F3F3F3ECECEC
+E4E4E4D9D9D9D1D1D1CDCDCDCFCFCFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D
+9E9E9E9F9F9FA0A0A0A0A0A0A0A0A09F9F9F9E9E9E9D9D9D9C9C9C9C9C9C9D9D9DA0A0A0A2A2A2
+A4A4A4A7A7A7A9A9A9ACACACAFAFAFB2B2B2B5B5B5B9B9B9BCBCBCBFBFBFC1C1C1C4C4C4C5C5C5
+C7C7C7C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACCCCCCCDCDCDCECECED1D1D1D7D7D7
+DDDDDDE2E2E2E7E7E7ECECECF0F0F0F3F3F3F4F4F4F4F4F4F1F1F1EDEDEDE7E7E7DEDEDED3D3D3
+CECECECBCBCBCBCBCBFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFED5D5D59B9B9B9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9F9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9B9B9B9D9D9DA0A0A0A2A2A2A5A5A5
+A7A7A7AAAAAAACACACAFAFAFB2B2B2B5B5B5B8B8B8BBBBBBBEBEBEC0C0C0C2C2C2C3C3C3C4C4C4
+C5C5C5C6C6C6C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9CBCBCBCCCCCCCECECED3D3D3D9D9D9DEDEDE
+E3E3E3E7E7E7EBEBEBEDEDEDEEEEEEEEEEEEEBEBEBE7E7E7E1E1E1D8D8D8CECECECACACAC8C8C8
+E8E8E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFC9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D
+9D9D9D9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9B9B9B9E9E9EA0A0A0A3A3A3A5A5A5A8A8A8
+AAAAAAACACACAFAFAFB2B2B2B4B4B4B7B7B7B9B9B9BBBBBBBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1
+C2C2C2C3C3C3C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CBCBCBCFCFCFD4D4D4DADADADEDEDEE2E2E2
+E5E5E5E7E7E7E8E8E8E7E7E7E5E5E5E0E0E0DADADAD2D2D2CBCBCBC7C7C7C5C5C5FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFCFCFC9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A3A3A3A5A5A5A7A7A7A9A9A9
+ACACACAEAEAEB0B0B0B3B3B3B5B5B5B7B7B7B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEC0C0C0C1C1C1
+C2C2C2C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8CBCBCBCFCFCFD4D4D4D8D8D8DCDCDCDFDFDFE0E0E0
+E1E1E1E0E0E0DDDDDDD9D9D9D3D3D3CBCBCBC7C7C7C4C4C4C2C2C2FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
+9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA1A1A1A3A3A3A5A5A5A7A7A7AAAAAAACACAC
+AEAEAEB0B0B0B2B2B2B3B3B3B5B5B5B7B7B7B9B9B9BABABABBBBBBBDBDBDBEBEBEC0C0C0C1C1C1
+C2C2C2C4C4C4C5C5C5C6C6C6C7C7C7CBCBCBCFCFCFD2D2D2D5D5D5D8D8D8D9D9D9D9D9D9D9D9D9
+D6D6D6D1D1D1CBCBCBC6C6C6C4C4C4C1C1C1BDBDBDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEDADADA9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A3A3A3A5A5A5A7A7A7A9A9A9ABABABADADAD
+AFAFAFB1B1B1B3B3B3B4B4B4B6B6B6B7B7B7B9B9B9BABABABCBCBCBDBDBDBEBEBEC0C0C0C1C1C1
+C2C2C2C3C3C3C4C4C4C6C6C6C9C9C9CCCCCCCFCFCFD1D1D1D2D2D2D2D2D2D1D1D1CECECEC9C9C9
+C5C5C5C3C3C3C0C0C0BCBCBCE5E5E5FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFA9D9D9D9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A2A2A2A4A4A4A6A6A6A9A9A9ABABABADADADAEAEAE
+B0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B8B8B8B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEC0C0C0C0C0C0
+C1C1C1C2C2C2C4C4C4C6C6C6C9C9C9CACACACBCBCBCBCBCBC9C9C9C6C6C6C3C3C3C1C1C1BFBFBF
+BCBCBCB8B8B8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDDDDDDD9B9B9B9A9A9A9A9A9A9A9A9A
+9B9B9B9C9C9C9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A2A2A2A4A4A4A6A6A6A8A8A8AAAAAAACACACAEAEAEAFAFAF
+B1B1B1B2B2B2B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBF
+C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C3C3C3C2C2C2C0C0C0BFBFBFBDBDBDBBBBBBB8B8B8E4E4E4
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F99E9E9E9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D
+9D9D9D9D9D9D9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9E9E9EA0A0A0A3A3A3A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAEAEAEB0B0B0
+B1B1B1B3B3B3B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBBBBBBB9B9B9B7B7B7B3B3B3F9F9F9FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF9F9F9A2A2A29C9C9C9A9A9A9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E
+9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9D9D9D9F9F9FA2A2A2A4A4A4A6A6A6A8A8A8AAAAAAABABABACACACADADADAEAEAEAEAEAEB0B0B0
+B1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBC
+BBBBBBBBBBBBBABABAB9B9B9B8B8B8B5B5B5B3B3B3ACACACF9F9F9FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEE2E2E2A1A1A19B9B9B9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9E9E9E9F9F9F
+A1A1A1A3A3A3A5A5A5A7A7A7A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAEAEAEB0B0B0
+B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B8B8B8B9B9B9BBBBBBBBBBBBBABABAB9B9B9B7B7B7
+B6B6B6B5B5B5B4B4B4B1B1B1AEAEAEE2E2E2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEE1E1E19F9F9F9B9B9B9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A2A2A2
+A4A4A4A6A6A6A8A8A8A9A9A9ABABABABABABACACACACACACACACACACACACADADADAEAEAEAFAFAF
+B0B0B0B1B1B1B3B3B3B5B5B5B7B7B7B8B8B8B9B9B9B9B9B9B9B9B9B7B7B7B4B4B4B3B3B3B1B1B1
+AFAFAFACACACE3E3E3FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F6F6F6A4A4A49D9D9D9B9B9B9B9B9B9C9C9C9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B
+9A9A9A9A9A9A9B9B9B9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4
+A6A6A6A7A7A7A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABACACACADADADAFAFAF
+B1B1B1B3B3B3B5B5B5B6B6B6B7B7B7B7B7B7B6B6B6B3B3B3B0B0B0AEAEAEADADADAAAAAAA9A9A9
+F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE3E3E3
+A3A3A39D9D9D9A9A9A9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9B9B9B
+9C9C9C9D9D9D9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAADADADAFAFAFB1B1B1
+B3B3B3B4B4B4B4B4B4B3B3B3B1B1B1AFAFAFACACACAAAAAAA8A8A8A8A8A8E3E3E3FDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE4E4E4A2A2A2
+9C9C9C9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9A9A9A9B9B9B9D9D9D9E9E9E
+9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A4A4A4A5A5A5
+A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5A6A6A6A7A7A7AAAAAAACACACAEAEAEAFAFAFB0B0B0
+B0B0B0AFAFAFADADADAAAAAAA7A7A7A7A7A7A7A7A7E3E3E3FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE4E4E4A2A2A29B9B9B
+9A9A9A9B9B9B9C9C9C9C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B9D9D9D9E9E9EA0A0A0A1A1A1
+A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A2A2A2A2A2A2A3A3A3A5A5A5A7A7A7A9A9A9AAAAAAABABABACACACABABABA9A9A9
+A7A7A7A4A4A4A4A4A4A5A5A5E2E2E2FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE4E4E4A1A1A19B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A2A2A2A1A1A1A0A0A09F9F9F
+9F9F9F9E9E9E9F9F9FA1A1A1A3A3A3A4A4A4A6A6A6A7A7A7A6A6A6A5A5A5A3A3A3A0A0A0A0A0A0
+A2A2A2E1E1E1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE3E3E3A0A0A09B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A1A1A1A0A0A09F9F9F9D9D9D9C9C9C9B9B9B
+9B9B9B9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A0A0A09E9E9E9C9C9C9D9D9DA1A1A1E1E1E1FDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE3E3E39F9F9F9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9F9F9FA0A0A0A1A1A1A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A1A1A19F9F9F9E9E9E9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9D9D9DA1A1A1E1E1E1FDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE3E3E39F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9C9C9C9D9D9D9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A3A3A3
+A3A3A3A2A2A2A1A1A1A0A0A09E9E9E9D9D9D9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9D9D9DA2A2A2E1E1E1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDE3E3E39E9E9E9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9C9C9C9D9D9D9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1
+9F9F9F9F9F9F9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9F9F9FA2A2A2E1E1E1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDF6F6F6E0E0E09C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9C9C9C9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9D9D9D
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9CA0A0A0DFDFDFF6F6F6
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDDFDFDF9D9D9D9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9DA1A1A1DFDFDFFDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFDF9F9F9F9F9F9DCDCDC9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9CDBDBDBF9F9F9F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDFAFAFADADADA9E9E9E9D9D9D9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9C9C9CD9D9D9
+FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFCFCFCFCFCFCD7D7D7A0A0A09F9F9F9F9F9F9F9F9F9E9E9E
+9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9C9C9CD4D4D4FBFBFBFCFCFCFCFCFCFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB787878F3F3F3
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6000000676767ECECECFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F40000001A1A1A6B6B6BEDEDEDFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DCDCDC151515747474EFEFEFFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4000000FEFEFED6D6D61212127E7E7EF0F0F0FDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F4F4F4000000FBFBFBFFFFFFD0D0D0101010878787F1F1F1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000
+F7F7F7FEFEFEFFFFFFC9C9C90E0E0E8F8F8FF2F2F2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000F4F4F4FBFBFB
+FFFFFFFFFFFFC3C3C30E0E0E979797F3F3F3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000F0F0F0F8F8F8FFFFFFFFFFFF
+FFFFFFBBBBBB0E0E0E9F9F9FF4F4F4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000EDEDEDF4F4F4FBFBFBFFFFFFFFFFFFFFFFFF
+B4B4B40F0F0FA6A6A6F4F4F4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF4F4F4000000E9E9E9F1F1F1F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFAAAAAA
+101010AEAEAEF6F6F6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF4F4F4000000E6E6E6EDEDEDF4F4F4FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFA2A2A2121212
+B4B4B4F7F7F7FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4
+000000E3E3E3EAEAEAF1F1F1F8F8F8FDFDFD2C2C2C0A0A0A0A0A0A0A0A0A010101121212C5C5C5
+FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DFDFDF
+E6E6E6D7D7D79C9C9CFCFCFC909090282828949494A3A3A3A6A6A6ACACACCECECEF7F7F7FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DCDCDCCBCBCB1E1E1E
+0E0E0EEBEBEBF5F5F5121212989898E5E5E5F0F0F0F1F1F1F6F6F6FDFDFDFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000C0C0C01A1A1A4C4C4C3636367F7F7F
+FCFCFC8080803E3E3EE4E4E4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000181818535353BABABAB1B1B1111111EDEDEDEFEFEF
+0E0E0EB2B2B2F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F40101015C5C5CBEBEBEECECECF2F2F2414141818181FCFCFC3E3E3E767676
+EDEDEDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F6F6F6818181CACACAEDEDEDFDFDFDFCFCFCBDBDBD0E0E0E434343131313919191EEEEEEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF1F1F1
+F4F4F4FDFDFDFFFFFFFFFFFFF7F7F7B3B3B36F6F6F9A9A9AD7D7D7F8F8F8FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFEFEFEFFFFFF
+FFFFFFFFFFFFFEFEFEF8F8F8EDEDEDEEEEEEF9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081E
+ABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+28081EABA6A3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/signal2final.png b/doc/img/signal2final.png
new file mode 100644 (file)
index 0000000..6d741d2
Binary files /dev/null and b/doc/img/signal2final.png differ
diff --git a/doc/img/swallow2final.eps b/doc/img/swallow2final.eps
new file mode 100644 (file)
index 0000000..7d89707
--- /dev/null
@@ -0,0 +1,7730 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (swallow2final.eps)
+%%CreationDate: (2012-04-03T13:51:00-03:00)
+%%BoundingBox: 0 0 299 324
+%%HiResBoundingBox: 0 0 299 324
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 eq
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 eq
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-none or 1-RunlengthEncoded.
+  %   hex color packets.
+  %
+  gsave
+  /buffer 512 string def
+  /byte 1 string def
+  /color_packet 3 string def
+  /pixels 768 string def
+
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Times-Roman findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 0 0 299 324
+userdict begin
+DisplayImage
+0 0
+299 324
+12
+299 324
+0
+0
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424443403C3B383A3A363B3A373C3B373B3A363B3A36393834373733363632363632363632
+3636323636323636323636323636323636323636323837333938343A39353A39353A3935393834
+383734363632363632363632363632363632363632363632363632363632363632363632383733
+3938343A39353A39353A39353938343C3B3743433E474642464541474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642454440
+3E3E393C3B373C3B363C3A363D3A363C39363D3A363C3A363C3B363C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373B3A363B3A363B3A363A39353A39353A39353938353938343938353A3935
+3A39353A39353B3A363B3A363B3A363C3B373C3B373C3B373C3B373B3A363B3A363A3935393835
+3A39353938353938343938353A39353938353A39353D3D39454440464541474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746424746424746424544423D3B37
+3B3A363C39368A5E4EC0795FE0896BF79674E1896BC17A5F8D5F4F3D3A363B3A363C3B373C3B37
+3C3B373C3B373B3A363B3B363B3A3639383539383559585474736E87868298979287868275746F
+5A59553A39363938353A39353B3B363B3A363C3B373B3A363C3B363B3A363A393539383554534F
+77767187878294938E8887827978745756513A39363938353B3936454440464541474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247453F43413D
+403F3F454642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464143403C3E3C3B414341
+47464247464143403C3E3C3B414341474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464143403C3E3C3B414341474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746424746424544403D3B383C3A36
+57463DDC8364F8916BF78F68F78D66F68B64F78D66F78F68F8916BDF846559473D3C3A363C3B37
+3C3B373C3B373B3A363A393539383443433F81807C94938D91908B8E8D898C8B858E8D8991908B
+94938D82817D4444403938343B3A353B3A363C3B373B3A363A393539383442413C7B7A7692918C
+91908B8E8D898C8B858E8D8991908B94938D81807A4544403938343C3A37464541474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247453F424753636E74
+807A614C413E45453E3D39373737393F4241474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746414340475F7079898F8674503F
+4143404340475F7079898F8674503F414341474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474641
+4340475F7079898F8674503F414341474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746424746423F3D393B3A365C473D
+EA8763F5875FF38156F38156F38156F38156F38156F38156F38156F5875EEC88645B463C3B3A36
+3C3B373C3B373B3A363938354544418988848D8D8688878187878086857F86857F86857F878780
+8887818D8D868A89854544413938353B3A363C3B373B3A3639383542413D8685808D8D86888781
+87878087868086857F86857F8787808887818D8D8689888443423F3938353F3E3A474642474642
+47464247464247464247464247464247464247464247464247464247464247453F3E3736363635
+3636353636353636353636353636384144414746424746424746424746424540373F68A9DCD9D1
+DFC687543C3A3B405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642
+47464247464247464247464247464247464247464246443F3E3C38383736363635363637393B3B
+404341474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247453E393D5FABD5D0DEDBC49B5B3D
+3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247453F3E3736363635363635363635363635363635363638
+414441474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247464247453E
+393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746424444403C3B373D3A36D77955
+F07D51EE7647EE7647ED7647EE7647EE7647EE7647ED7647EE7647EE7647F17E51D877533F3A36
+3C3B373B3A373A39353938347D7C7689888184837D83827C82817B81807A807F7981807A82817B
+83827C84837C8988827D7C753A39353A39353B3A373A393538373479797389888184837D82817B
+81807A807F797F7E78807F7981807A82817B84837D8988827D7C753A39353A3935474642474642
+47464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0DEDBD2
+DFDBD2DFDBD2DFDBD2DFDBD2DFDBB075453A4144414746424746424746424540373F68A9DCD9D1
+DFC687543B38394C7DC1D7CFDDDAD0B670433B4041474642474642474642474642474642474642
+47464247464247464247464247464247464246433C3D475F829CACC6CECDDFDBD2DACFBFBFAB8F
+775541414341474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247453E393D5FABD5D0DEDBC49B5B3D
+3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247453F3D3A508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBB0
+75453A414441474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+47464247464247464247464247464247464247464247464247464247464247464247464247453E
+393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4746424746424746424746424746424746424746424746424746423E3E3A3B3A3686543FED784B
+EB6E39EB6E39D56334C0592FEA6D39EB6E39EA6E39C45B30D06133EB6E39EB6E39EF794A88553F
+3C3A363B3A3639383455544F85847E7F7E787F7E777E7D767C7B747B7A737A79737B7A737C7B74
+7E7D767F7E777F7E7886857F5555503938343B3A3639383551504C85847E7F7E787F7E783F3E3A
+3B3A363B3A363B3A363B3A363B3A363A39357E7D777F7E7886857F555550393834474642474642
+47464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0DEDBD2
+DFDAD0DCD8D0DCD8D0DCD8D0DCD1A770443B41454147453F413D39383736363635416AAADDD9D1
+DFC687543C3B3F3D4159738290836851403E444542474641423E3B3938353636363737393D4040
+46464247464247464247464247464247453F3B3E5692C2D0DEDBD2DED9D0DCD8D0DCD9D0DDD9BD
+90543C3D4340413A36363635373C3F46464246433B38363637393E45464247453E3A3636363636
+3C4141474641433D38383735363635363636383A3B41434147453E393D5FABD5D0DEDBC49B5B3D
+3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474641423F3B3A38363636363738393D3F3F
+464542474640413A36363635373C3F46464246433B38363637393E45464247453E3A3636363636
+3C414147464247464247464247453F3D3A508BC4D0DEDBD2DFDAD0DCD8D0DCD8D0DCD8D0DCD1A7
+70443B3F3D3836363636373A424542474640403A36363635373C3E464541433D38383735363635
+363636383A3B414341474642474640403B3838373636363536363537393A3E3E3B3C3937373636
+3737383C3E3F46464247464247463F3F3C3938373536363536363638393A3D414046464247453E
+393D5FABD5D0DEDBC49B5B3D3C4141474642474641423E3B3938353636363737393D4040464642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+474642474642474642474642474642474642474642474642474642474642474642474642474642
+4544404544404544404544404544404544404544404544404544403C3B373A3935C36946EA6F3B
+E96A33E96A33BF5C32502817BB552AE76933C2582C522917B95A31E86A33E96A33EB6F3BC66A46
+3C3A353B3A363938346D6D677D7C767A79737A797379787178777077766F77766F77766F787770
+7978717A79737A79737D7C766E6E683A39353B3A363938346A69637E7D767B7A737A79733F3E3A
+7E7D767E7D767E7D767E7D767F7E773F3E3A7978727B7A737E7D76706F693A3935454440454440
+45444045444045444045444045444045444045444045444045444045433D3C3A508BC4D0DEDBD2
+C6864F3934333333333333333333373F433F45433D3D3F517697ACC6CFCFDFDBCACECACFDFDBD2
+DFC687543B39373D5FABD5D0DEDBC49B5B3C3C403E3E3A435D7D98B9C5C9DEDBCED2C3A9967251
+403D3D4344404544404544404544404541383B568CCBD9D1DFDBC29D67463935353B424C5C6459
+49413C3D394473B2CFDDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4
+995B3C3A39406092AECBD0CFDFDBD2DFD4C4C4AF8D72503E3F403C383D5FABD5D0DEDBC49B5B3C
+3C3F3D383D5FABD5D0DEDBC49B5B3C3C403F45443E3E3B425C7B96B6C2C6DBDBCDD0C1AA997654
+413C3B3E394473B2CFDDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4
+995B3C3C403F45444045444045433D3C3A508BC4D0DEDBD2C6864F393433333333333333333337
+3D3B3A5183B2DBD9D2DFC99060403A3B394675ACCBDDDAD1C892593F393F6092AECBD0CFDFDBD2
+DFD4C4C4AF8D72503E3F403D3D3D5080A0ADC3CBCADDDBD2DFDBCACDB99A8B818AA8BCC3DADBD2
+D6CAB5A8835B443D3C44443E3D3E5181A1ADC4CBCADCDBD2DFDAC8CBBBA3916E4F403D3D44433D
+383D5FABD5D0DEDBC49B5B3C3C403F45443E3E3A435D7D98B9C5C9DEDBCED2C3A9967251403D3D
+434440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+454440454440454440454440454440454440454440454440454440454440454440454440454440
+42413D42413D42413D42413D42413D42413D42413D42413D42413D3C3B37393835E07146E96830
+E8662EE8662EEA713FC273534F28179C4622502717BC6F51E97241E8662EE8662EE96830E17246
+3C39353A393538373379787277766F77766F76756E75746D75746D75746D74736C75746D75746D
+75746D76756E77766F77766F7978723938343A393538373475746E78777077766F77766F3F3E3A
+75746D76756E75746D76756E76756E3F3E3A76756E77766F7877707A797339383442413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42403B3B39508BC4D0DEDBD2
+C788513C3736363635363635373A3B42403C3D38436DA7C8DDDAD2DED9D0D9D2CDDDD9D1DFDBD2
+DFC687543B38363C5FABD5D0DEDBC49B5B3C3A373C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7
+A669443B3D3C41413D42413D42413D413F39394C7DC1D8D0DFDBD0C0936C5443383838383C3B3A
+41413D403B374B7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
+613F383D383B5C9AC1DAD4C7D0CBC6D9D9D0DEDBD2DFC386553B38363C5FABD5D0DEDBC49B5B3C
+3B3D3B373C5FABD5D0DEDBC49B5B3C3B3D3C3F3A3D598EBADDDAD2DEDAD0DDD8D0DDDAD1DFDBD1
+BD834F3D38374A7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
+613F383F403D42413D42413D42403B3B39508BC4D0DEDBD2C788513C3736363635363635373A3B
+42413B393B4F84B8CFDDDAD2C88F5A4F6FA0D4D9D1DEC1895B3E393C383B5C9AC1DAD4C7D0CBC6
+D9D9D0DEDBD2DFC386553B38363D5FABD5D0DEDBD2DED7CBD9D9D0DEDBD2DFDBD2DED9D0DAD7D0
+DDDBD2DFDBC9A767413B3D3A373D5FABD5D0DEDBD2DED7CBD7D8D0DDDAD2DFDBCEB67B4B3C3B3A
+373C5FABD5D0DEDBC49B5B3C3B3D3C3F383C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A66944
+3B3D3C41413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B3C3B37393834E97140E66228
+E66228E66228E66228E76E39A05B4043221499583EE66E3DE66228E66228E66228E66329E97040
+3C39343A393538373379797273726B73726B74736C3C3B373B3A363B3A363B3A363B3A363B3A36
+3B3A3673726B73726B72716A7979723938343A393538373376756F73726B73726B74736C3F3E3A
+74736C75746D75746D75746D75746D3F3E3A73726B73726B73726B7A7973393834403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403E393A39508BC4D0DEDBD2
+DFDBD2DFDBD2DFDBD2DFDBD2CD94563D3837384B7ABFD9D1DFDBC6A16944373435436FADDDD9D1
+DFC687543B37363C5FABD5D0DEDBC49B5B3C394670B5D8D0DEDBB88B573E38363A4E7AADDBDAD1
+DFB872483A393E3E3B403F3B403F3B403E3A3C39406190B4DAD8D0DEDAD1DFDBCAC3AA8C785942
+3B3A3A3F3D37394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D5084B8DDDAD2D8A964
+413A3A3F3F393D383737393C4247494D5A7DBDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3C
+3A3C39373C5FABD5D0DEDBC49B5B3C3A3B38384671B6D8D0DEDBCAB1805844383A517EAEDADAD1
+DFD4A2684136394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D5084B8DDDAD2D8A964
+413A3A3F3F3B403F3B403F3B403E393A39508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2CD9456
+3D393A403D36394F7DB9D6D0DEDBCBD1D9D2DEDAB88C583D393C3A3F3F393D383737393C424749
+4D5A7DBDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3B37446CB1D6D0DEDBD2BD774637384B
+80BCD0DEDBD2D49F5C3E3A39363C5FABD5D0DEDBC49B5B3B3536416291BBDDDAD2DFD09A613F37
+373C5FABD5D0DEDBC49B5B3C3A3A38384570B5D8D0DEDBB88B573E38363A4E7AADDBDAD1DFB872
+483A393E3E3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393C3C37393835DC6839E65F25
+E55E23E55E23E45E23BF511F5129179A593F4F2818B94E20E45D23E55E23E55E23E66025DD6738
+3C39353A3935383733706F6A706F68706F6871706A7A79737B7A737C7B747C7B747C7B747B7A73
+7A797371706A6F6F68706F68706F6A3938343A39353837336E6D68706F68706F6972716A3F3E3A
+73726B75746D75746D75746D75746D3F3E3A717069706F69706F6873726C3938343E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3C383939508BC4D0DEDBD2
+DFDACBD5D1C8D4D0C8D4D0C4BA89523C37353C5F9BD4D9D1DFD39E633E373B3A353F68A9DCD9D1
+DFC687543B37353C5FABD5D0DEDBC49B5B3C3D5C97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1
+DEC98E583C363C3D393E3D393E3D393E3D393E3D383A3639465B6F8C9FAECDD8CFDDDAD2DFDBC7
+AE764B3B3A373839508EC3D0DEDBC49C635F98C9D0DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43
+393A373B3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C
+3A3A38363C5FABD5D0DEDBC49B5B3C3939353C5C98D3D9D1DFD4A0643E373B3C3737436DB8D9D0
+DEDBBE8E543A3738508EC3D0DEDBC49C635F98C9D0DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43
+393A383E3D393E3D393E3D393E3C383939508BC4D0DEDBD2DFDACBD5D1C8D4D0C8D4D0C4BA8952
+3C39383E3D383C37395080B1DDDAD2DFDBD2C68B543D38383E3D383B3943648CA8CCDAD1DEDAD0
+DDD9D1DFDBD2DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C38384D85BFD0DEDBD2C2814C39363A
+5A98C4DDDAD2DEB269413737353C5FABD5D0DEDBC49B5B3C3A3936374B7BC0D9D1DFDBB7844E39
+363C5FABD5D0DEDBC49B5B3C3938353C5B97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1DEC98E
+583C363C3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373A3935B75A32E45F23
+E35B1CE35B1CC04E1C512816BA6949E67140C26E4D502717B94D1BE25B1CE35B1CE55F23BA5B32
+3C3A353A39353938345F5E5A6D6C666C6B646E6D66706F6972716A73726B74736C73726B72716A
+706F686E6D666C6B646D6C66605F5B3A39353A39353938345F5E5A6D6C666C6B656E6D673F3E39
+706F6873726B73726B73726B72716A3F3E396D6C666C6B656D6C6664635E3938353C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
+C6864F3934333333333333333537373B39353B5E99D4D9D1DFD6A36840373939343F68A9DCD9D1
+DFC687543A36343C5FABD5D0DEDBC49B5B3B3D5F9CD3D9D1DFDBC1AC958A908E89908E89908E89
+8F81644A3B373B3B373C3B373C3B373C3B373C3B363A39363A3834373633353E527EACCADDDAD2
+DFC688553B363936395591BFDDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB724538
+3A38353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C
+393936353C5FABD5D0DEDBC49B5B3C3938343B5D98D2D9D1DFD4A1663F363A3A3637446EB8D9D0
+DEDBBE90543B3836395591BFDDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB724538
+3A3A373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C6864F393433333333333333353737
+3C3B373C3B373838446DA2C5DDDAD1DEDBD2D9AF764D3A353B39353C609BD5D9D1DFD9B69D8071
+73788CBFD8D1DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
+538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C383835364874BCD9D1DEDBBB885139
+353C5FABD5D0DEDBC49B5B3C3938343C5E9CD3D9D1DFDBC1AC958A908E89908E89908E898F8164
+4A3B373B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A367B4730E35E23
+E25817E25817CA5727BD6A48E4662FE25817E4642BC16C4BC75727E25817E25817E45E247A4631
+3C3A363B3A363938344B4A456A69636867616968626B6A646E6D666F6E67706F686F6E676E6D66
+6B6A646968626766606B6A644A49453938343B3A363938344B4A456A69636867616A69623E3D39
+3B3A363B3A363B3A363B3A363B3A363B3A366968616867616C6B654E4D483938343C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
+C788513C3736363635363635363635373A35384874B9D8D0DEDBCDB67F523F3837416AAADDD9D1
+DFC687543A36343C5FABD5D0DEDBC49B5B3C384A77BBD8D0DEDBCDB683594339363636363B454C
+4A3F383A3B373C3B373C3B373C3B373C3B36393B496873685B4E443E3937373B496C9EC4DDDAD2
+DFCB925C3D363B39343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E463937
+3A37364A7BB3DCDAD2DFBD7B4E3936363D5EA5D1D0DEDBBD8D533A353C5CA5D0D0DEDBCEB37046
+393936363C5CA5D0D0DEDBCEB3704639393537466FB5D7D0DEDBCBB2835B453B3D5480B0DBDAD1
+DFD4A16841373A38343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E463937
+3B3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C788513C3736363635363635363635
+373A363B37374771A1D4D9D1DEC8A6B0C8D0DEDBD0BB83513C37364A7BB3DCDAD2DFBD7B4E3936
+363D5EA5D1D0DEDBBD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
+538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC6A1623F37363A507CAEDBDAD1DFD5A4684236
+363C5CA5D0D0DEDBCEB37046393834364977BBD8D0DEDBCDB683594339363636363B454C4A3F38
+3A3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3835C35626
+E2591AE15511E35D1FE36228E15511E15511E15511E36127E35E22E15511E3591AB151273C3935
+3C3B373C3A363A39353938345E5E5966655F64635D65655E6867616968626A6962696862686761
+65655E64635D66655F5959543938353A39353C3A363A39353938345E5E5966655F64645E6D6C67
+706F6972716A72716B72716A706F696E6D6764645E66655F61615B3A39353A39353C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
+DFDBD2DFDBD2DFDBD2DFDBD2DFDBC9B36F4337373E5D94BDDBD8D1DEDBD2DFD8CAD8DAD2DFDBD2
+DEC687543B36343C5FABD5D0DEDBC49B5B3C38373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCC
+A9643E383A373C3B373C3B373C3B373C39353A558ACAD8D0DEDBD2DFDBD2DFDBD2DFDBD1DEDAD0
+CC995E4139373B3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCEB37045393937
+3B39353C5990CCD7D0DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A3637497DB7CEDCDAD2DFDBC7
+A8664138384A7DB7CEDCDAD2DFDBC7A8664139373C598EBADBD8D1DEDBD2DFDBD2DFDBD1DED9D0
+BF84503B38373C3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCEB37045393937
+3C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBC9
+B36F4338456BA9D1D0DEDAC0965C3E3E5A8CC8D8D1DFDAB284503B3D5990CCD7D0DEDBD2D6C7B5
+BAB8BBD8DAD1DEDABD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
+538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBD2DFDBD1D8D4D1DFDBD2DEDAD0CA93583E3736
+3737497DB7CEDCDAD2DFDBC7A8664139373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E
+383A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36523C30
+D0551DE15612E0520AE0520AE0520AE0520AE0520AE0520AE0520AE15612D2561C4D3B323B3A36
+3C3B373C3B373B3A363938353E3D3A605F5962615B61605A62615B63625C64635D63625C62615B
+61605A62625C5F5E5A3D3C383938353B3A363C3B373B3A363938353F3E3B605F5B62625C61605A
+62615B63625C64635D64635D62615B61605B62625C61605C403F3B3938343A3A353C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A3638394F89C2CEDBD8D0
+DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0B871433939373838435D7D96B6C1C3D8D8CFDCD8CED4C9B6
+B49568473936353C61ACD5D0DEDBC49B5B3B383A353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9
+9161413A3A373C3B373C3B373C3B373C3A373D4D698CA2ACC4CCCBDCD8CFDCD8CBD1C4AFA38766
+4C3B373A3B373C3B363A37395086B8DAD7CFCE97583D3837364771B7D6CEDCD2A16941373A3B37
+3C3B3739383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F49383939363D4F6E98B3BFD8D7BC
+93583B3839363D4F6E98B3BFD8D7BC93583B383A373838415D7E99B8C3C6DBD8CDD1C1AC9C7955
+4138363B3B373C3B363A37395086B8DAD7CFCE97583D3837364771B7D6CEDCD2A16941373A3B37
+3C3B373C3B373C3B373C3B373C3A3638394F89C2CEDBD8D0DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0
+B8724D6399C1DAD7CFD4A66845393639374067A1C5DAD8CFD6AC6F47393E557893B5C5C9DCD8CF
+DCD8D0DAD2C2C3B2916F4938353C5FA9D2CEDCD8C29A5A3C37374476B5CDDBD8D0C1814C393639
+5289BADAD7CFDCB26A423836353C5FABD5D0DEDBD2D4C7C2D7D8CFD9CDB8B18F67493A363A3A37
+3B3A363D4F6E98B3BFD8D7BC93583B383A353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9916141
+3A3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36
+483B32AA4A1FDD540EDF5207DF5106DF5004DF5106DF5207DE540DAC4B1E493B323B3A363C3B37
+3C3B373C3B373B3A373A3A353938343B3A3754534E5E5D585E5D585D5C575D5C575D5C575E5D58
+5F5E5955544F3C3B373938343B3A353C3B373C3B373B3A373A3A353938343C3B3855544F5E5D58
+5E5D585E5D575E5D575E5D575E5D585F5E595C5B56403F3B3938343B39353B3A363C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A36383433333333
+3333333333333333333333333333333538373C3B373C3B373A3735353433333333333333343434
+3536363836353B5382C4D9D1DFDBBA874F39393A373C3B36393834353433333333333333333434
+3739373C3B373C3B373C3B373C3B373C3B373C3A36373534343333333333333333333434363736
+3B3B373C3B373C3B373C3B363A37343333333437363C3B373C3A36353333333434393B373C3B37
+3C3B373C3B373A3835353333333333333333333433343535393A373C3B373B3A36373533333334
+373A373C3B373B3A36373533333334373A373C3B373C3B373A3834343433333333333434373736
+3B3B373C3B373C3B373C3B363A37343333333437363C3B373C3A36353333333434393B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3A36383433333333333333333333333333333333333333
+3538373A36343333333435363C3B373C3B363935333333333335363B3B373A3835353333333333
+333333333433343535393A373C3B363533333333343739373C3B373835333333333537373C3B37
+3A37343333333335353C3B36353C5FABD5D0DEDBC49B5B3B3634333333333537363B3A373C3B37
+3C3B373B3A36373533333334373A373C3B373C3B36393834353433333333333333333434373937
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3B3A363A39356E3F28AC491ACF4E0EDC5107D04E0EAE4919703F283B39353B3A363C3B373C3B37
+3C3B373C3B373B3A363B3A373A3A3539383538373345444050504A58585259595458585351514B
+4544403837333938353A39353C3B363B3A363C3B373B3A363C3A363A3A35393835383733484742
+52524C59595359585459595354544E4948433938343938343A39353B3B363B3A363C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36
+383A528BBAC5DBDBD2DFDBD1DDC88F5C3D363B3A373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C3939373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373B3A363A39353938353938343938353A39353B3A363C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373B3A363B3A373B3A363A3935393834393834383733383733383733393834
+3938343A39353B3A363B3A363B3A363C3B373C3B373C3B373B3A363B3A373B3A363A3935393834
+3837343837333837333837333837343938343A39353A3A363C3A363B3A363C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36
+363E5EA0C7CEDBD8CCCEBA9A7E573E3A39373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B36353C5FA9D2CEDCD8C29A5A3C393A373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373B3A373B3A363B39353A39353A39353A39353B3935
+3B3A363B3B363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363B3A36
+3A39353A39353A39353A39353A39353A3A363B3A363C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B363634333333333434343839373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B363533333333343739373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F3F3F3EFEFEFF0F0F0F0F0F0
+F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3
+F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6
+F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+F7F7F7F7F7F7F7F7F7F7F7F7F9F9F9FBFBFBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF6F6F6EFEFEFE7E7E7E0E0E0E1E1E1E1E1E1
+E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
+E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECECECEC
+EDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F3F3F3F7F7F7FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF1F1F1E7E7E7DCDCDCD2D2D2D3D3D3D3D3D3
+D4D4D4D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDE
+DEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9E9E9E9E9E9E9EDEDEDF3F3F3F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCECECECDFDFDFD0D0D0C2C2C2C3C3C3C4C4C4
+C5C5C5C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E1E1E1E8E8E8EFEFEFF6F6F6FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
+F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F0F0F0E3E3E3D9D9D9CDCDCDC2C2C2C3C3C3C4C4C4
+C5C5C5C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
+E0E0E0E0E0E0E0E0E0E0E0E0E5E5E5ECECECF1F1F1F7F7F7F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FBFBFBFCFCFCFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFAFAFAF2F2F2EAEAEAE1E1E1DEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E1E1E1
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E3E3E3DADADAD3D3D3CCCCCCC4C4C4C4C4C4C5C5C5
+C6C6C6C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFDFDFDFDFDFDFE4E4E4E7E7E7ECECECF0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2
+F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F6F6F6F9F9F9FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF7F7F7EBEBEBDEDEDED2D2D2CCCCCCCECECECECECED0D0D0D0D0D0D1D1D1
+D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D5D5D5D1D1D1CDCDCDCACACAC5C5C5C6C6C6C7C7C7
+C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEE2E2E2E4E4E4E6E6E6E8E8E8EAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9EBEBEBF1F1F1F6F6F6FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF5F5F5E3E3E3D3D3D3C2C2C2BBBBBBBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1
+C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8
+C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFE1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E4E4E4ECECECF3F3F3FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F2F2F2F1F1F1
+F1F1F1F1F1F1F1F1F1E9E9E9DBDBDBCCCCCCBFBFBFB8B8B8BABABABBBBBBBDBDBDBEBEBEBFBFBF
+BFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0E0E0E0E3E3E3EAEAEAEFEFEFF6F6F6F9F9F9F9F9F9
+F9F9F9F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0E9E9E9E1E1E1DFDFDF
+E0E0E0E0E0E0E0E0E0DBDBDBD2D2D2C8C8C8BEBEBEBABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
+C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACA
+CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E3E3E3E8E8E8ECECECF0F0F0F2F2F2F2F2F2
+F2F2F2F2F2F2F2F2F2F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E8E8E8DCDCDCD1D1D1CFCFCF
+CFCFCFD0D0D0D0D0D0CDCDCDC8C8C8C3C3C3BEBEBEBCBCBCBDBDBDBEBEBEC0C0C0C1C1C1C2C2C2
+C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCB
+CCCCCCCDCDCDCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
+E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E2E2E2E2E2E2E3E3E3E6E6E6E8E8E8EAEAEAECECECECECEC
+EBEBEBEBEBEBEBEBEBF0F0F0F5F5F5FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E1E1E1D0D0D0C0C0C0BCBCBC
+BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
+C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCC
+CDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
+E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E4E4E4E4E4E4
+E3E3E3E3E3E3E4E4E4EBEBEBF2F2F2F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF8F8F8F5F5F5F3F3F3
+F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4E7E7E7D8D8D8C9C9C9BABABAB7B7B7
+B8B8B8B9B9B9B9B9B9BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
+CECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
+D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDC
+DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E2E2E2E2E2E2
+E1E1E1E1E1E1E2E2E2E9E9E9EFEFEFF5F5F5FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFA
+FAFAFAFAFAFAFAFAFAFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EEEEEEE6E6E6E0E0E0
+E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D9D9D9CECECEC4C4C4BBBBBBB8B8B8
+B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
+C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7
+D8D8D8D9D9D9D9D9D9DADADADBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDF
+E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E4E4E4E4E4E4
+E3E3E3E3E3E3E4E4E4E8E8E8ECECECF1F1F1F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3
+F2F2F2F2F2F2F4F4F4F8F8F8FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF0F0F0E4E4E4D8D8D8CDCDCD
+CECECECECECECFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0CBCBCBC5C5C5C0C0C0BABABAB9B9B9
+BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
+C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9
+DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
+E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6
+E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E5E5E5
+E4E4E4E4E4E4E5E5E5E8E8E8E9E9E9ECECECEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECECECECECEC
+EAEAEAEAEAEAEEEEEEF3F3F3F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBEBEBEBDBDBDBC9C9C9BABABA
+BBBBBBBCBCBCBDBDBDBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBDBDBDBCBCBCBBBBBBBABABABABABA
+BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6
+C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
+CFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8DADADADBDBDB
+DCDCDCDDDDDDDEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
+E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
+E7E7E7E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
+E6E6E6E6E6E6E5E5E5E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E5E5E5E4E4E4
+E2E2E2E2E2E2E8E8E8EFEFEFF6F6F6FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF9F9F9F6F6F6F1F1F1E1E1E1D1D1D1C1C1C1B2B2B2
+B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
+C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDD
+DEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
+E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
+E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7
+E7E7E7E7E7E7E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E2E2E2E2E2E2
+E0E0E0DFDFDFE6E6E6ECECECF3F3F3FAFAFAFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EEEEEEE7E7E7E0E0E0D5D5D5C9C9C9BEBEBEB3B3B3
+B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBC
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
+C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
+D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0
+E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
+ECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+ECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E8E8E8E8E8E8
+E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E4E4E4E4E4E4
+E2E2E2E1E1E1E6E6E6EBEBEBEFEFEFF5F5F5F8F8F8FAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF0F0F0E4E4E4D9D9D9CFCFCFC8C8C8C2C2C2BABABAB4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
+C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D2D2D2
+D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2
+E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEE
+EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEDEDEDECECECECECECECECECEBEBEBEBEBEBEAEAEAE9E9E9
+E9E9E9E8E8E8E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
+E4E4E4E4E4E4E6E6E6EAEAEAEBEBEBEFEFEFF3F3F3F6F6F6FAFAFAFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE9E9E9DADADACACACABEBEBEBBBBBBB9B9B9B7B7B7B5B5B5
+B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
+BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8
+C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3
+D5D5D5D7D7D7D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5
+E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1
+F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEDEDEDECECECECECECEBEBEB
+EAEAEAE9E9E9E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E7E7E7
+E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EEEEEEF3F3F3F8F8F8FEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBFAFAFAF7F7F7
+F7F7F7F7F7F7F7F7F7F7F7F7F2F2F2E0E0E0D0D0D0C0C0C0B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4
+D6D6D6D8D8D8D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7
+E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDED
+ECECECEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9
+E8E8E8E8E8E8E7E7E7E7E7E7E6E6E6E6E6E6EBEBEBF0F0F0F5F5F5FBFBFBFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF4F4F4EEEEEEE7E7E7
+E3E3E3E3E3E3E4E4E4E4E4E4E0E0E0D4D4D4C8C8C8BDBDBDB3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCECECECFCFCFCFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D6D6D6
+D8D8D8DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEA
+EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6
+F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F0F0F0
+EEEEEEEDEDEDECECECECECECEBEBEBEBEBEBEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEA
+E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7EBEBEBEFEFEFF2F2F2F6F6F6F8F8F8F8F8F8F9F9F9
+FAFAFAFAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8EDEDEDE1E1E1D5D5D5
+D0D0D0D0D0D0D1D1D1D1D1D1D0D0D0C7C7C7C1C1C1B9B9B9B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3D5D5D5D6D6D6D8D8D8
+DADADADCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECEC
+EDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8
+F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3
+F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDEDEDEDEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEA
+EAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8EBEBEBEDEDEDEFEFEFF1F1F1F3F3F3F3F3F3F5F5F5
+F6F6F6F7F7F7FAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E5E5E5D5D5D5C4C4C4
+BCBCBCBDBDBDBEBEBEBEBEBEBEBEBEBBBBBBB8B8B8B5B5B5B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D9D9D9
+DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEE
+EFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFA
+FBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+FDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7F6F6F6
+F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECECECECECECECECECEC
+ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEB
+EBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECEEEEEEEEEEEEF0F0F0
+F2F2F2F4F4F4F7F7F7FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBF9F9F9EEEEEEDCDCDCCBCBCBB8B8B8
+AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCDCDCDCECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D8D8D8D9D9D9DBDBDB
+DDDDDDDFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0
+F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFC
+FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8
+F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1F0F0F0EEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC
+ECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9EAEAEAEBEBEBECECEC
+EEEEEEF1F1F1F5F5F5F8F8F8FCFCFCFEFEFEFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF4F4F4EEEEEEE7E7E7DCDCDCD0D0D0C3C3C3B6B6B6
+AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCECECECFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDC
+DEDEDEE0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1
+F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFCFCFC
+FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9
+F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
+EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC
+ECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBECECEC
+EDEDEDF0F0F0F3F3F3F7F7F7FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7ECECECE1E1E1D5D5D5CCCCCCC3C3C3BBBBBBB3B3B3
+AFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5
+B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CBCBCBCCCCCCCDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDE
+E0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3
+F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFB
+FAFAFAF9F9F9F9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0F0F0F0EFEFEFEEEEEEEEEEEE
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
+EDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+ECECECEEEEEEF2F2F2F4F4F4F8F8F8FAFAFAFCFCFCFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4E4E4E4D4D4D4C4C4C4BABABAB7B7B7B3B3B3B1B1B1
+AFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B6B6B6
+B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CBCBCBCDCDCDCECECED0D0D0D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDDDDDDDFDFDF
+E1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4
+F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFC
+FCFCFCFBFBFBFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F0F0F0EFEFEFEFEFEF
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEBEBEB
+EBEBEBEDEDEDF1F1F1F2F2F2F5F5F5F9F9F9FAFAFAFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFCFCFCFCFCFCFBFBFBEEEEEEDBDBDBC8C8C8B6B6B6ACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CCCCCCCECECECFCFCFD1D1D1D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1
+E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6
+F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FEFEFEFDFDFDFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0F0F0F0
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEB
+EBEBEBECECECEFEFEFF0F0F0F3F3F3F7F7F7F9F9F9FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFAFAFAF4F4F4EEEEEEE7E7E7DCDCDCCFCFCFC0C0C0B2B2B2ACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6B8B8B8
+B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CCCCCCCECECECFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DADADADCDCDCDEDEDEE0E0E0E2E2E2
+E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7
+F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1
+F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECEC
+ECECECECECECEFEFEFF0F0F0F2F2F2F5F5F5F7F7F7FAFAFAFBFBFBFEFEFEFEFEFEFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF5F5F5EBEBEBDFDFDFD4D4D4CACACAC2C2C2B9B9B9B0B0B0ACACACACACACACACACADADAD
+AEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B6B6B6B7B7B7B9B9B9
+B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
+C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCC
+CDCDCDCFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADBDBDBDDDDDDDFDFDFE1E1E1E3E3E3
+E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
+F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2
+F1F1F1F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEFEFEFEFEFEFF1F1F1F3F3F3F6F6F6F8F8F8FAFAFAFDFDFDFEFEFEFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF2F2F2E1E1E1D2D2D2C1C1C1B8B8B8B5B5B5B1B1B1AEAEAEACACACACACACACACACACACAC
+ADADADAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B3B3B3B4B4B4B5B5B5B7B7B7B8B8B8BABABA
+BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3
+C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCC
+CECECECFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0E2E2E2E4E4E4
+E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9
+FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
+FEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3
+F2F2F2F1F1F1EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F7F7F7F9F9F9FBFBFBFEFEFEFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCECECECD8D8D8C4C4C4AFAFAFA8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
+ADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B8B8B8B9B9B9BBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4
+C4C4C4C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
+CFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDDDDDDDFDFDFE1E1E1E3E3E3E5E5E5
+E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
+FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5
+F4F4F4F2F2F2F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F2F2F2F5F5F5F8F8F8FBFBFBFCFCFCFDFDFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4EEEEEE
+E8E8E8DADADACBCBCBBDBDBDADADADA8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
+ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B9B9B9BABABABCBCBC
+BCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4
+C4C4C4C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
+CFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDDDDDDDFDFDFE1E1E1E3E3E3E5E5E5
+E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
+FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6
+F5F5F5F3F3F3F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F7F7F7F8F8F8FBFBFBFCFCFCFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6EAEAEADFDFDF
+D4D4D4C8C8C8BEBEBEB6B6B6ABABABA8A8A8A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAACACACACACAC
+ADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B6B6B6B7B7B7B8B8B8BABABABBBBBBBDBDBD
+BDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5
+C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
+D0D0D0D1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F7F7F7
+F6F6F6F4F4F4F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0
+F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFAFBFBFBFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1E0E0E0CFCFCF
+BFBFBFB6B6B6B2B2B2AFAFAFA9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACACACAC
+ADADADAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBEBEBE
+BEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
+C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
+D0D0D0D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8
+F7F7F7F5F5F5F3F3F3F3F3F3F2F2F2F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0
+F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F5F5F5F8F8F8FAFAFAFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECECD6D6D6C0C0C0
+AAAAAAA5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACADADAD
+AEAEAEB0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBFBFBF
+BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
+E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFA
+F9F9F9F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
+F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F6F6F6F9F9F9FCFCFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EEEEEEE8E8E8DADADACACACAB9B9B9
+A9A9A9A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACAEAEAE
+AFAFAFB1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBFBFBF
+BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
+E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFA
+F9F9F9F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
+F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F0F0F0F1F1F1F2F2F2F4F4F4F7F7F7FAFAFA
+FDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E8E8E8DEDEDED2D2D2C8C8C8BDBDBDB2B2B2
+A7A7A7A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABADADADAFAFAF
+B0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
+BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
+E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFB
+F9F9F9F8F8F8F6F6F6F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
+F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F0F0F0F1F1F1F1F1F1F3F3F3F6F6F6F8F8F8
+FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEDDDDDDCDCDCDBCBCBCB5B5B5B0B0B0ABABAB
+A5A5A5A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A8A8A8AAAAAAABABABACACACAEAEAEB0B0B0
+B1B1B1B3B3B3B4B4B4B6B6B6B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
+C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
+E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
+FAFAFAF9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F1F1F1F0F0F0F0F0F0F0F0F0F2F2F2F4F4F4F6F6F6
+F8F8F8FAFAFAFBFBFBFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8E8E8D2D2D2BDBDBDA5A5A5A3A3A3A3A3A3A3A3A3
+A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A8A8A8AAAAAAABABABADADADAFAFAFB1B1B1
+B2B2B2B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BABABABCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0
+C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
+E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
+FAFAFAF9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F1F1F1F0F0F0F0F0F0F0F0F0F1F1F1F3F3F3F4F4F4
+F7F7F7F8F8F8FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF9F9F9F4F4F4EFEFEFEAEAEAD8D8D8C6C6C6B5B5B5A2A2A2A0A0A0A1A1A1A2A2A2
+A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEB0B0B0B2B2B2
+B3B3B3B5B5B5B6B6B6B8B8B8B9B9B9BABABABBBBBBBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1
+C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
+D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FBFBFBFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3
+F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3
+F4F4F4F6F6F6F8F8F8FBFBFBFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEF3F3F3E8E8E8DDDDDDD3D3D3C6C6C6BABABAAEAEAEA1A1A1A0A0A0A1A1A1A2A2A2
+A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B3B3B3
+B4B4B4B5B5B5B6B6B6B8B8B8B9B9B9BABABABBBBBBBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1
+C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
+D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FBFBFBFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F0F0F0F1F1F1F2F2F2F2F2F2
+F3F3F3F5F5F5F7F7F7F9F9F9FCFCFCFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDEDEDEDDCDCDCCCCCCCBBBBBBB5B5B5AEAEAEA7A7A7A0A0A09F9F9FA0A0A0A1A1A1
+A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6A8A8A8A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B4B4B4
+B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
+D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1
+F1F1F1F3F3F3F5F5F5F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDE6E6E6D0D0D0B9B9B9A4A4A4A2A2A2A2A2A2A0A0A0A0A0A09F9F9FA0A0A0A1A1A1
+A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6A8A8A8A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B4B4B4
+B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
+D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
+E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
+FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9
+F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0
+F0F0F0F2F2F2F4F4F4F6F6F6F9F9F9F9F9F9FBFBFBFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F5F5F5
+F1F1F1EAEAEAD8D8D8C4C4C4B1B1B19E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1
+A2A2A2A3A3A3A5A5A5A6A6A6A7A7A7A9A9A9AAAAAAACACACAEAEAEAFAFAFB1B1B1B3B3B3B5B5B5
+B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5
+E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
+FBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA
+FAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1
+F0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F9F9F9FCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E8E8E8
+DEDEDED3D3D3C6C6C6B8B8B8AAAAAA9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1
+A2A2A2A3A3A3A5A5A5A6A6A6A8A8A8AAAAAAABABABADADADAFAFAFB0B0B0B1B1B1B3B3B3B5B5B5
+B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5
+E7E7E7E9E9E9EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9
+FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F3F3F3F3F3F3F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFB
+FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F5F5F5F4F4F4F2F2F2
+F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F6F6F6F8F8F8FAFAFAFDFDFDFEFEFEFEFEFEFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBECECECDCDCDC
+CCCCCCBCBCBCB5B5B5ACACACA4A4A49C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1
+A2A2A2A4A4A4A6A6A6A7A7A7A9A9A9ABABABACACACAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
+B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4
+E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
+F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFC
+FCFCFCFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F4F4F4
+F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F4F4F4F6F6F6F9F9F9FCFCFCFCFCFCFDFDFDFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE4E4E4CFCFCF
+B9B9B9A4A4A4A3A3A39F9F9F9D9D9D9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1
+A2A2A2A4A4A4A6A6A6A7A7A7A9A9A9ABABABACACACAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
+B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
+D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4
+E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
+F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFD
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5
+F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F3F3F3F5F5F5F8F8F8FBFBFBFBFBFBFCFCFCFDFDFDFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF6F6F6F2F2F2EBEBEBD7D7D7C3C3C3
+AFAFAF9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2
+A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
+C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
+D0D0D0D1D1D1D3D3D3D5D5D5D6D6D6D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3
+E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7
+F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
+FBFBFBF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBF9F9F9F8F8F8F7F7F7
+F5F5F5F4F4F4F2F2F2F1F1F1F0F0F0F3F3F3F4F4F4F6F6F6F9F9F9F9F9F9FAFAFAFCFCFCFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF2F2F2E8E8E8DFDFDFD4D4D4C6C6C6B8B8B8
+A9A9A99C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2
+A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
+C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
+CFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2
+E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6
+F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFB
+FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8
+F7F7F7F5F5F5F4F4F4F3F3F3F1F1F1F3F3F3F3F3F3F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
+FEFEFEFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAEAEAEADCDCDCCBCBCBBEBEBEB5B5B5ACACAC
+A3A3A39B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A3A3A3
+A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
+CFCFCFD0D0D0D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2
+E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5
+F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFB
+FAFAFAF8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFA
+F9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F7F7F7F9F9F9FCFCFC
+FDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E3E3E3CECECEB8B8B8A7A7A7A4A4A4A1A1A1
+9D9D9D9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A3A3A3
+A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
+CECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1
+E3E3E3E5E5E5E6E6E6E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4
+F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFA
+F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFC
+FBFBFBF9F9F9F7F7F7F5F5F5F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1F2F2F2F5F5F5F8F8F8FBFBFB
+FCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F4F4F4EBEBEBD6D6D6C2C2C2ADADAD9C9C9C9C9C9C9B9B9B
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
+A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0
+E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3
+F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9
+F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
+FCFCFCFAFAFAF8F8F8F6F6F6F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0F2F2F2F4F4F4F7F7F7F9F9F9
+FAFAFAFCFCFCFDFDFDFDFDFDFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCF2F2F2E9E9E9E0E0E0D4D4D4C6C6C6B7B7B7A7A7A79B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
+A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
+C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CDCDCDCFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDF
+E1E1E1E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDEDEFEFEFF0F0F0F2F2F2
+F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8
+F7F7F7F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
+FCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F2F2F2F3F3F3F5F5F5F7F7F7
+F8F8F8FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF8F8F8EAEAEADBDBDBCCCCCCBEBEBEB5B5B5ACACACA2A2A29B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
+A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
+BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CDCDCDCECECECFCFCFD1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDF
+E0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEFEFEFF0F0F0
+F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
+FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7
+F6F6F6F5F5F5F4F4F4F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
+FDFDFDFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4
+F6F6F6F8F8F8FAFAFAFCFCFCFEFEFEFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF6F6F6E1E1E1CCCCCCB8B8B8A8A8A8A5A5A5A1A1A19D9D9D9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
+A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
+BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CDCDCDCECECECFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDEDEDE
+DFDFDFE1E1E1E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EAEAEAEBEBEBECECECEEEEEEEFEFEF
+F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFC
+FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6
+F5F5F5F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
+FDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2F2F2F2F2F2F2F1F1F1F2F2F2
+F4F4F4F6F6F6F9F9F9FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4DCDCDCC4C4C4ACACAC9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
+A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
+B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CCCCCCCDCDCDCECECECFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDDDDDD
+DEDEDEE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBEDEDEDEEEEEE
+EFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFB
+FCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6F5F5F5
+F4F4F4F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
+F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F5F5F5F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0
+F2F2F2F5F5F5F8F8F8FAFAFAFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4DCDCDCC4C4C4ABABAB9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
+A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
+B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CCCCCCCCCCCCCDCDCDCECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDC
+DDDDDDDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECEC
+EDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9
+FAFAFAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+FDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6F5F5F5F4F4F4
+F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
+F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F0F0F0
+F1F1F1F3F3F3F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4DCDCDCC3C3C3ABABAB9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
+A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACA
+CBCBCBCCCCCCCDCDCDCECECECFCFCFD1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DBDBDB
+DCDCDCDEDEDEDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEB
+ECECECEDEDEDEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8
+F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFD
+FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+FCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F5F5F5F4F4F4F3F3F3
+F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
+F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0
+F1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF4F4F4DCDCDCC3C3C3AAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
+A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACA
+CBCBCBCBCBCBCCCCCCCDCDCDCECECED0D0D0D1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9
+DADADADCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9
+EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6
+F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFCFCFC
+FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFA
+FAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2
+F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
+F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFAFAFAF9F9F9F8F8F8F5F5F5F3F3F3F1F1F1F0F0F0
+F0F0F0F0F0F0F2F2F2F2F2F2F5F5F5F7F7F7F9F9F9FCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFC
+FAFAFAF7F7F7ECECECD7D7D7BFBFBFA9A9A99A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3
+B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBC
+BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8
+D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8
+E9E9E9EAEAEAECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5
+F6F6F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFBFBFB
+FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9
+F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1
+F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
+F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F6F6F6F4F4F4F2F2F2F0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F3F3F3F5F5F5F8F8F8FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF2F2F2
+EBEBEBE3E3E3D7D7D7C7C7C7B6B6B6A5A5A59A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3
+B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABABABABABABABBBBBB
+BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7
+D8D8D8DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7
+E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3
+F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9
+F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8
+F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1
+F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
+F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFE
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F6F6F6F4F4F4F2F2F2F0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F2F2F2F4F4F4F6F6F6F8F8F8FAFAFAFCFCFCFCFCFCFEFEFEFEFEFE
+FEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7E9E9E9
+DBDBDBCDCDCDC0C0C0B6B6B6ACACACA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABA
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4D5D5D5D6D6D6
+D7D7D7D9D9D9DADADADBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5
+E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2
+F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8
+F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6
+F6F6F6F5F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF7F7F7F5F5F5F3F3F3F1F1F1
+F0F0F0F0F0F0EFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F6F6F6F8F8F8FAFAFAFAFAFAFCFCFCFEFEFE
+FEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4DFDFDF
+CCCCCCB7B7B7ABABABA6A6A6A1A1A19D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9
+B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
+CACACACBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D5D5D5D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4
+E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0
+F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6
+F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5
+F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
+F1F1F1F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFD
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBFBFBFBF8F8F8F6F6F6F4F4F4F2F2F2
+F0F0F0F0F0F0EFEFEFEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F5F5F5F7F7F7F9F9F9FCFCFCFDFDFD
+FEFEFEFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAECECECD4D4D4
+BEBEBEA7A7A79A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
+B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
+B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2
+E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEE
+EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4
+F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3
+F3F3F3F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCF9F9F9F7F7F7F5F5F5F3F3F3
+F1F1F1F0F0F0EFEFEFEEEEEEEEEEEEEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFAFDFDFD
+FEFEFEFCFCFCFEFEFEFEFEFEFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF3F3F3EBEBEBE4E4E4D6D6D6C6C6C6
+B5B5B5A3A3A39A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
+B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
+B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1
+E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9EAEAEAEBEBEBEBEBEBECECEC
+EDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2
+F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1
+F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCF9F9F9F7F7F7F5F5F5F3F3F3
+F1F1F1F0F0F0EFEFEFEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFA
+FBFBFBFAFAFAFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7E9E9E9DBDBDBCECECEC2C2C2B7B7B7
+ABABABA0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0
+B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8
+B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEDFDFDF
+E0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEB
+ECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1
+F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0
+F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F6F6F6F4F4F4
+F2F2F2F1F1F1F0F0F0EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFF1F1F1F3F3F3F5F5F5F7F7F7
+F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3DEDEDECBCBCBB9B9B9ADADADA7A7A7
+A2A2A29D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
+B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1
+D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDE
+DFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9
+EAEAEAEAEAEAEBEBEBEBEBEBECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEEEEEE
+EEEEEEEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFC
+FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F6F6F6F5F5F5
+F3F3F3F1F1F1F0F0F0EEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEFEFEFF0F0F0F3F3F3F4F4F4
+F5F5F5F5F5F5F6F6F6F8F8F8F9F9F9FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAE
+AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDC
+DDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E5E5E5E6E6E6E6E6E6E7E7E7
+E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBECECECECECECECECECECECECEDEDED
+EDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECEC
+ECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8FAFAFAFBFBFB
+FCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
+F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEDEDEDEEEEEEF0F0F0F1F1F1
+F2F2F2F2F2F2F3F3F3F5F5F5F7F7F7FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAE
+AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDB
+DCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6
+E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECEC
+ECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEB
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFA
+FBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
+F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEDEDEDEDEDEDEFEFEFEFEFEF
+F1F1F1F1F1F1F2F2F2F4F4F4F7F7F7FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9
+DADADADBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9
+FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
+F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECECECECECECECEDEDEDEDEDED
+EFEFEFEFEFEFF1F1F1F3F3F3F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D8D8D8
+D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2
+E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8
+E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8
+F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
+F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEB
+EDEDEDEEEEEEF0F0F0F2F2F2F5F5F5F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
+D0D0D0D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D7D7D7
+D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1
+E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7
+E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F6F6F6F7F7F7
+F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
+F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
+ECECECEDEDEDEFEFEFF1F1F1F5F5F5F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
+CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
+D7D7D7D8D8D8D9D9D9D9D9D9DADADADBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDEDEDEDEDEDEDFDFDF
+E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
+E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5
+F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5
+F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
+EBEBEBEBEBEBEDEDEDEFEFEFF3F3F3F8F8F8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
+CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
+D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDDDDDDDDDDDDDEDEDE
+DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F3F3F3F4F4F4
+F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
+FDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5
+F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
+EAEAEAEAEAEAEBEBEBEDEDEDF2F2F2F7F7F7FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
+CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5
+D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDCDCDCDCDCDCDCDCDC
+DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
+E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7
+E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3
+F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFC
+FCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF8F8F8F7F7F7F6F6F6F5F5F5
+F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
+E9E9E9E9E9E9E9E9E9EBEBEBF0F0F0F6F6F6FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
+CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5
+D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDB
+DCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7
+E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
+EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2
+F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFBFBFBFB
+FCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF8F8F8F7F7F7F6F6F6F5F5F5
+F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
+E9E9E9E8E8E8E7E7E7E9E9E9EFEFEFF5F5F5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFAFAFAF5F5F5F0F0F0EBEBEBDCDCDCC9C9C9B6B6B6A2A2A29A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
+C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6
+E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
+EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1
+F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9
+FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F7F7F7F6F6F6F5F5F5F4F4F4
+F2F2F2F1F1F1EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E8E8E8EDEDEDF2F2F2F6F6F6F9F9F9FBFBFBFDFDFDFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF5F5F5EBEBEBDFDFDFD4D4D4C8C8C8BABABAADADADA0A0A09A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
+A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
+C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6
+E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
+EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0
+F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8
+F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F6F6F6F5F5F5F4F4F4F3F3F3
+F2F2F2F1F1F1EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E8E8E8EBEBEBEDEDEDF0F0F0F3F3F3F6F6F6FAFAFAFDFDFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF1F1F1E0E0E0CFCFCFBDBDBDB3B3B3ACACACA5A5A59E9E9E9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
+C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
+E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
+EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
+F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2
+F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDF3F3F3F7F7F7FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFECECECD5D5D5BFBFBFA5A5A59E9E9E9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
+A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
+C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
+CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
+E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
+EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
+F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2
+F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5E7E7E7EEEEEEF3F3F3FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
+C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
+CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
+E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4
+F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1
+F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
+C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
+CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
+E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3
+F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0
+EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5
+C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCC
+CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1
+F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0EFEFEF
+EEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5
+C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCC
+CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
+E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0
+F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEF
+EEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
+E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
+F7F7F7F4F4F4F0F0F0DEDEDECACACAB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
+BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
+CCCCCCCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3
+E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEE
+EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
+E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E5E5E5EBEBEBF0F0F0F5F5F5FAFAFAFBFBFB
+FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7
+ECECECE2E2E2D9D9D9CBCBCBBCBCBCADADAD9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
+BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
+CCCCCCCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3
+E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEE
+EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
+E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E4E4E4E7E7E7EBEBEBEEEEEEF1F1F1F4F4F4
+F8F8F8FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1
+E1E1E1D2D2D2C2C2C2B7B7B7AFAFAFA5A5A59C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
+BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
+CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
+E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
+E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEE
+EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
+E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E3E3E3E5E5E5E5E5E5E6E6E6E9E9E9EEEEEE
+F4F4F4FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECEC
+D6D6D6C0C0C0ABABABA3A3A3A1A1A19E9E9E9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
+BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
+CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
+E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
+E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
+EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
+E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E4E4E4E2E2E2E0E0E0DFDFDFE0E0E0E8E8E8
+F0F0F0F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBB
+BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3
+C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
+ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
+E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DEDEDEDCDCDCDDDDDDE5E5E5
+EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBB
+BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3
+C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEA
+EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
+ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
+E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DEDEDEDCDCDCDDDDDDE5E5E5
+EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
+BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
+C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
+ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
+E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DFDFDFDDDDDDDDDDDDE6E6E6
+EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
+BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
+C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
+ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
+F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
+ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
+E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DFDFDFDDDDDDDDDDDDE6E6E6
+EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
+C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0
+F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEEEEEEEDEDEDEDEDED
+ECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
+E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
+EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
+C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
+E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
+ECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1
+F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0EFEFEFEEEEEEEEEEEE
+EDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
+E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
+EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
+C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
+E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4
+E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+ECECECECECECEDEDEDEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2
+F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEFEFEF
+EEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
+E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
+EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
+C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
+E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4
+E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+ECECECECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4
+F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1
+EFEFEFEEEEEEEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
+E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
+EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
+B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0
+C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
+DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
+DFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3
+E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+ECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5
+F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2
+F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7
+E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
+EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
+B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0
+C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
+DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
+DFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3
+E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
+ECECECEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
+F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F3F3F3
+F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7
+E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
+EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
+B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0
+C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
+DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3
+E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECECECEC
+EDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
+F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4
+F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEECECECEBEBEBEAEAEAE9E9E9E9E9E9E8E8E8E7E7E7E6E6E6
+E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
+EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
+B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0
+C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
+DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
+DFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3
+E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6
+E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECEDEDED
+EEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8
+F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F6F6F6
+F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEDEDEDECECECEAEAEAE9E9E9E9E9E9E8E8E8E7E7E7E6E6E6
+E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
+EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFAFAFAE5E5E5
+CECECEB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBF
+BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
+E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEE
+EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9
+FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7
+F5F5F5F4F4F4F3F3F3F2F2F2F0F0F0EEEEEEEDEDEDEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6
+E5E5E5E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDFDFDFE7E7E7
+EEEEEEF6F6F6FDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8F1F1F1EAEAEAE2E2E2D2D2D2
+C1C1C1AFAFAF9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBF
+BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
+E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEE
+EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFA
+FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8F8F8F8
+F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1EFEFEFEEEEEEECECECEBEBEBE9E9E9E8E8E8E7E7E7E6E6E6
+E5E5E5E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDEDEDEE4E4E4
+E9E9E9EEEEEEF3F3F3F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E5E5E5D9D9D9CBCBCBC0C0C0
+B4B4B4A8A8A89E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBE
+BFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1
+E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEF
+F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFB
+FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F9F9F9
+F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F0F0F0EFEFEFEDEDEDECECECEAEAEAE9E9E9E7E7E7E6E6E6
+E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDEDEDEE1E1E1
+E3E3E3E6E6E6EAEAEAEFEFEFF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECECD9D9D9C7C7C7B4B4B4ADADAD
+A7A7A7A2A2A29C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
+A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBE
+BFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1
+E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
+E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
+F1F1F1F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFC
+FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAFAFAFA
+F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F1F1F1F0F0F0EEEEEEEDEDEDEBEBEBE9E9E9E7E7E7E6E6E6
+E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDEDEDE
+DDDDDDDEDEDEE0E0E0E7E7E7F0F0F0F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBD
+BEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
+DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0
+E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4
+E4E4E4E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
+F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFBFBFB
+FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F3F3F3F2F2F2F0F0F0EEEEEEECECECEAEAEAE7E7E7E6E6E6
+E5E5E5E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
+D9D9D9D7D7D7D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBD
+BEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
+DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0
+E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4
+E4E4E4E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
+F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFCFCFC
+FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1EFEFEFECECECEAEAEAE8E8E8E6E6E6
+E5E5E5E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
+D9D9D9D7D7D7D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
+DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
+E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
+E3E3E3E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
+F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFD
+FBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EDEDEDEBEBEBE9E9E9E7E7E7
+E6E6E6E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
+D9D9D9D8D8D8D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
+DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
+E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
+E3E3E3E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
+F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1EEEEEEECECECEAEAEAE8E8E8
+E6E6E6E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
+D9D9D9D8D8D8D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
+DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
+E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
+E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
+F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2EFEFEFEDEDEDEBEBEBE9E9E9
+E7E7E7E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
+DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDE
+DFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2
+E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
+F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2EFEFEFEDEDEDEBEBEBE9E9E9
+E7E7E7E5E5E5E3E3E3E1E1E1E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
+DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACACACACADADAD
+AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDE
+DFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2
+E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
+F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EEEEEEEBEBEBE9E9E9
+E7E7E7E5E5E5E3E3E3E1E1E1E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
+DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
+ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDB
+DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4
+F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
+E7E7E7E5E5E5E3E3E3E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
+DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
+ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
+BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
+CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
+DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDB
+DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDE
+DEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
+E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4
+F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFDFDFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
+E7E7E7E5E5E5E3E3E3E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
+DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABAB
+ACACACACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
+C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
+DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDD
+DDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E2E2E2
+E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFDFDFDFDFDFDFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
+E8E8E8E6E6E6E3E3E3E1E1E1E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
+D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABAB
+ACACACACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
+C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
+DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDD
+DDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E2E2E2
+E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFDFDFDFDFDFDFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
+E8E8E8E6E6E6E3E3E3E1E1E1E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
+D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
+ABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
+AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
+B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
+C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
+DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDC
+DCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE0E0E0E2E2E2
+E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
+E9E9E9E7E7E7E4E4E4E2E2E2E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
+D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
+ABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
+AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
+B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
+C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
+DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
+DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDC
+DCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE0E0E0E2E2E2
+E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
+E9E9E9E7E7E7E4E4E4E2E2E2E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
+D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAE
+AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
+B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
+BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
+C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDB
+DBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
+E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
+D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAE
+AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
+B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
+BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
+C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
+D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDB
+DBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
+E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
+D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
+BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6
+C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADA
+DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
+E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDBDBDBDBDBDBDADADAD9D9D9D8D8D8D8D8D8
+D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
+B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
+BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6
+C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
+D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDC
+DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADA
+DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
+E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDBDBDBDBDBDBDADADAD9D9D9D8D8D8D8D8D8
+D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
+B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5
+C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0
+D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7
+D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDB
+DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
+D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9
+D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
+E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
+EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDCDCDCDADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
+D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
+B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
+B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5
+C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0
+D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7
+D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDB
+DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
+D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9
+D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
+E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
+EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDCDCDCDADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
+D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABAB
+ABABABABABABABABABABABABABABABABABABABABABABABABACACACACACACADADADADADADAEAEAE
+AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8
+B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
+C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCF
+CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6
+D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADA
+DADADADADADADADADADADADADADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
+D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8
+D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
+E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
+EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDBDBDBD9D9D9D9D9D9D8D8D8D7D7D7D7D7D7D7D7D7
+D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABAB
+ABABABABABABABABABABABABABABABABABABABABABABABABACACACACACACADADADADADADAEAEAE
+AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8
+B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
+C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCF
+CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6
+D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADA
+DADADADADADADADADADADADADADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
+D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8
+D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
+E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
+F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
+EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDBDBDBD9D9D9D9D9D9D8D8D8D7D7D7D7D7D7D7D7D7
+D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
+A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7
+B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
+C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECE
+CECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5
+D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7
+D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7
+D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
+E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E2E2E2E0E0E0DDDDDDDADADAD8D8D8D8D8D8D7D7D7D6D6D6D6D6D6D6D6D6
+D6D6D6D6D6D6D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7
+B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
+C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECE
+CECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5
+D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9
+D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7
+D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7
+D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
+E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE8E8E8E5E5E5E2E2E2E0E0E0DDDDDDDADADAD8D8D8D8D8D8D7D7D7D6D6D6D6D6D6D6D6D6
+D6D6D6D6D6D6D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9
+A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
+C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCD
+CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4
+D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8
+D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6
+D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6
+D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
+E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE7E7E7E4E4E4E1E1E1DFDFDFDCDCDCD9D9D9D7D7D7D7D7D7D6D6D6D5D5D5D5D5D5D5D5D5
+D5D5D5D5D5D5D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3
+A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
+ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6
+B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
+C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCD
+CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4
+D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8
+D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6
+D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6
+D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
+E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
+F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
+EAEAEAE7E7E7E4E4E4E1E1E1DFDFDFDCDCDCD9D9D9D7D7D7D7D7D7D6D6D6D5D5D5D5D5D5D5D5D5
+D5D5D5D5D5D5D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACAC
+ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5
+B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3
+D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7
+D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5
+D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5
+D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDFDFDF
+E1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
+F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFDFDFDFDFDFDFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
+E9E9E9E6E6E6E3E3E3E0E0E0DEDEDEDBDBDBD8D8D8D6D6D6D6D6D6D5D5D5D4D4D4D4D4D4D4D4D4
+D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7
+A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACAC
+ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5
+B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2
+D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4
+D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5
+D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D8D8D8DADADADBDBDBDCDCDCDDDDDDDFDFDF
+E1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
+F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFDFDFDFDFDFDFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
+E9E9E9E6E6E6E3E3E3E0E0E0DEDEDEDBDBDBD8D8D8D6D6D6D6D6D6D5D5D5D4D4D4D4D4D4D4D4D4
+D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABAB
+ABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
+B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2
+D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6
+D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4
+D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4
+D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDEDEDE
+E0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
+F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
+E8E8E8E5E5E5E2E2E2DFDFDFDDDDDDDADADAD7D7D7D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D3D3D3
+D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
+9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6
+A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABAB
+ABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
+B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
+C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1
+D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3
+D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4
+D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDEDEDE
+E0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
+F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
+E8E8E8E5E5E5E2E2E2DFDFDFDDDDDDDADADAD7D7D7D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D3D3D3
+D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABACACACADADADADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
+B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0
+D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2
+D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3
+D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDD
+DFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
+F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
+FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
+E7E7E7E4E4E4E1E1E1DEDEDEDCDCDCD9D9D9D6D6D6D4D4D4D4D4D4D3D3D3D2D2D2D2D2D2D2D2D2
+D3D3D3D3D3D3D5D5D5DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABACACACADADADADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
+B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
+C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
+CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0
+D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2
+D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3
+D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDD
+DFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
+F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
+FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
+E7E7E7E4E4E4E1E1E1DEDEDEDCDCDCD9D9D9D6D6D6D4D4D4D4D4D4D3D3D3D2D2D2D2D2D2D2D2D2
+D3D3D3D3D3D3D5D5D5DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2
+B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
+C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCF
+D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1
+D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2
+D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDCDCDC
+DEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
+F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFCFCFCFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
+FCFCFCFBFBFBFAFAFAFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F0F0F0EEEEEEEBEBEBE9E9E9
+E6E6E6E3E3E3E0E0E0DDDDDDDBDBDBD8D8D8D5D5D5D3D3D3D3D3D3D2D2D2D1D1D1D1D1D1D1D1D1
+D2D2D2D2D2D2D4D4D4DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
+A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1
+B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
+BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8
+C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
+CFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0
+D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2
+D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDCDCDC
+DEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
+F1F1F1F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
+FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
+FCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1EFEFEFEDEDEDEAEAEAE8E8E8
+E5E5E5E2E2E2DFDFDFDCDCDCDADADAD8D8D8D5D5D5D3D3D3D3D3D3D2D2D2D1D1D1D1D1D1D1D1D1
+D2D2D2D2D2D2D4D4D4DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2
+A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8
+A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0
+B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
+BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
+C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
+CECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0CFCFCF
+CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1
+D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADBDBDB
+DDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEEEEEEEFEFEF
+F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFC
+FDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFC
+FBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EEEEEEECECECE9E9E9E7E7E7
+E4E4E4E1E1E1DEDEDEDBDBDBD9D9D9D7D7D7D4D4D4D2D2D2D2D2D2D1D1D1D0D0D0D0D0D0D0D0D0
+D1D1D1D1D1D1D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2
+A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8
+A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0
+B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
+BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
+C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
+CECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1
+D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0CFCFCF
+CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1
+D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADBDBDB
+DDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEEEEEEEFEFEF
+F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFBFBFB
+FCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFB
+FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1EFEFEFEDEDEDEBEBEBE8E8E8E6E6E6
+E3E3E3E0E0E0DDDDDDDBDBDBD9D9D9D7D7D7D4D4D4D2D2D2D2D2D2D1D1D1D0D0D0D0D0D0D0D0D0
+D1D1D1D1D1D1D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1
+A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADADAEAEAEAFAFAF
+B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBC
+BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6
+C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCC
+CDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0
+D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0CFCFCFCFCFCFCFCFCFCFCFCFCECECE
+CECECECECECECECECECECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0
+D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DADADA
+DCDCDCDDDDDDDFDFDFE1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBEDEDEDEEEEEE
+EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFAFAFA
+FBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFA
+F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0EEEEEEECECECEAEAEAE7E7E7E5E5E5
+E2E2E2DFDFDFDCDCDCDADADAD8D8D8D6D6D6D3D3D3D1D1D1D1D1D1D0D0D0CFCFCFCFCFCFCFCFCF
+D0D0D0D0D0D0D2D2D2DDDDDDE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADADAEAEAEAFAFAF
+B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBB
+BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5
+C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCB
+CCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECFCFCF
+CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCECECECECECECECECECECECECDCDCD
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0
+D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADA
+DCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDED
+EEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9
+FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9
+F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EFEFEFEDEDEDEBEBEBE9E9E9E6E6E6E4E4E4
+E1E1E1DEDEDEDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CFCFCFCECECECECECECECECE
+CFCFCFD0D0D0D2D2D2DDDDDDE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAE
+AFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABA
+BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4
+C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACA
+CBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECE
+CECECECECECECECECECECECECECECECECECECECECECECECECDCDCDCDCDCDCDCDCDCDCDCDCCCCCC
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCF
+CFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9
+DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECEC
+EDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8
+F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8
+F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F0F0F0EFEFEFEDEDEDEBEBEBE9E9E9E7E7E7E5E5E5E3E3E3
+E0E0E0DDDDDDDADADAD8D8D8D6D6D6D4D4D4D2D2D2D0D0D0CFCFCFCECECECDCDCDCDCDCDCDCDCD
+CECECECFCFCFD1D1D1DCDCDCE8E8E8F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAE
+AFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9
+BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3
+C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9
+CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCCCCCC
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCF
+CFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9
+DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEB
+ECECECEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
+F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7
+F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1EFEFEFEEEEEEECECECEAEAEAE8E8E8E6E6E6E4E4E4E2E2E2
+DFDFDFDCDCDCD9D9D9D7D7D7D5D5D5D3D3D3D2D2D2D0D0D0CFCFCFCECECECDCDCDCDCDCDCDCDCD
+CECECECFCFCFD1D1D1DCDCDCE8E8E8F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
+AEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
+B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8
+C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECE
+CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8
+DADADADBDBDBDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E9E9E9EAEAEA
+EBEBEBECECECEDEDEDEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
+F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6
+F5F5F5F4F4F4F3F3F3F2F2F2F0F0F0EEEEEEEDEDEDEBEBEBE9E9E9E7E7E7E5E5E5E3E3E3E1E1E1
+DEDEDEDBDBDBD8D8D8D6D6D6D4D4D4D2D2D2D1D1D1CFCFCFCECECECDCDCDCCCCCCCCCCCCCCCCCC
+CDCDCDCECECED0D0D0DBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
+ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
+B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
+CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7
+D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9
+EAEAEAEBEBEBECECECEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5
+F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5
+F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEDEDEDECECECEAEAEAE8E8E8E6E6E6E4E4E4E2E2E2E0E0E0
+DDDDDDDADADAD7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CECECECECECECDCDCDCCCCCCCCCCCCCCCCCC
+CDCDCDCDCDCDCFCFCFDBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
+ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
+B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
+C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
+CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7
+D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9
+EAEAEAEBEBEBECECECEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5
+F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4
+F3F3F3F2F2F2F1F1F1F0F0F0EEEEEEEDEDEDEBEBEBEAEAEAE8E8E8E6E6E6E4E4E4E1E1E1DFDFDF
+DCDCDCDADADAD7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CECECECECECECDCDCDCCCCCCCCCCCCCCCCCC
+CDCDCDCDCDCDCFCFCFDBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACAC
+ACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6
+B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6
+C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACACACA
+CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA
+CACACACACACACACACACACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
+CDCDCDCDCDCDCECECECECECECECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6
+D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8
+E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3
+F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2
+F1F1F1F0F0F0EFEFEFEEEEEEECECECEBEBEBE9E9E9E8E8E8E6E6E6E4E4E4E2E2E2DFDFDFDDDDDD
+DADADAD8D8D8D5D5D5D3D3D3D1D1D1D0D0D0CFCFCFCDCDCDCDCDCDCCCCCCCBCBCBCBCBCBCBCBCB
+CCCCCCCCCCCCCECECEDADADAE6E6E6F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABAB
+ACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
+B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
+BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5
+C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCC
+CDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5
+D7D7D7D8D8D8DADADADBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7
+E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F2F2F2
+F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1
+F0F0F0EFEFEFEEEEEEEDEDEDEBEBEBEAEAEAE8E8E8E7E7E7E5E5E5E3E3E3E1E1E1DEDEDEDCDCDC
+D9D9D9D7D7D7D4D4D4D2D2D2D0D0D0CFCFCFCECECECCCCCCCCCCCCCBCBCBCBCBCBCACACACACACA
+CBCBCBCBCBCBCDCDCDD9D9D9E6E6E6F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
+ABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
+BEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4
+C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCB
+CCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4
+D6D6D6D7D7D7D9D9D9DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E5E5E5E6E6E6
+E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1
+F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0
+EEEEEEEDEDEDECECECEBEBEBE9E9E9E8E8E8E6E6E6E5E5E5E3E3E3E1E1E1DFDFDFDCDCDCDADADA
+D7D7D7D5D5D5D2D2D2D0D0D0CFCFCFCECECECDCDCDCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9
+CACACACACACACCCCCCD8D8D8E5E5E5F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
+ABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
+B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBE
+BEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4
+C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8
+C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCB
+CCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
+D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5
+E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0
+F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEF
+EDEDEDECECECEBEBEBEAEAEAE8E8E8E7E7E7E5E5E5E4E4E4E2E2E2E0E0E0DEDEDEDBDBDBD9D9D9
+D6D6D6D4D4D4D1D1D1CFCFCFCECECECDCDCDCCCCCCCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9
+C9C9C9C9C9C9CBCBCBD8D8D8E5E5E5F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEBD8D8D8C7C7C7B3B3B3ABABAB
+A6A6A6A1A1A19B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2
+A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B3B3B3
+B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBD
+BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3
+C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACA
+CBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
+D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3
+E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEEEEEE
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
+EBEBEBEAEAEAE9E9E9E8E8E8E6E6E6E5E5E5E3E3E3E2E2E2E0E0E0DEDEDEDCDCDCD9D9D9D7D7D7
+D4D4D4D2D2D2D0D0D0CECECECDCDCDCCCCCCCBCBCBCACACACACACAC9C9C9C9C9C9C9C9C9CCCCCC
+D0D0D0D2D2D2D6D6D6E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E4E4E4D7D7D7CBCBCBBFBFBF
+B3B3B3A8A8A89D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2
+A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
+B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
+BCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2
+C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
+C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACA
+CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
+D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2
+E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECECECECEDEDEDEDEDED
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDECECECEBEBEBEBEBEB
+EAEAEAE9E9E9E8E8E8E7E7E7E5E5E5E3E3E3E2E2E2E0E0E0DEDEDEDCDCDCDADADAD8D8D8D6D6D6
+D3D3D3D1D1D1CFCFCFCDCDCDCCCCCCCBCBCBCACACAC9C9C9C9C9C9C8C8C8C8C8C8CACACACFCFCF
+D6D6D6DDDDDDE3E3E3EAEAEAF1F1F1F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7F0F0F0E9E9E9E2E2E2D3D3D3
+C0C0C0AFAFAF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
+A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
+B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
+BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1
+C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
+C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9
+C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0
+D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1
+E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
+ECECECECECECECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEA
+E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E2E2E2E0E0E0DFDFDFDDDDDDDBDBDBD9D9D9D6D6D6D4D4D4
+D2D2D2D0D0D0CECECECCCCCCCBCBCBCACACAC9C9C9C8C8C8C8C8C8C7C7C7C7C7C7C9C9C9D3D3D3
+DDDDDDE7E7E7F0F0F0F3F3F3F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFAFAFAE5E5E5
+CDCDCDB7B7B79F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
+A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
+B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
+BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0
+C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
+C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
+C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9
+C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0
+D1D1D1D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE0E0E0
+E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
+EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAE9E9E9E8E8E8E8E8E8
+E7E7E7E6E6E6E5E5E5E4E4E4E2E2E2E0E0E0DFDFDFDDDDDDDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3
+D1D1D1CFCFCFCDCDCDCBCBCBCACACACACACAC9C9C9C8C8C8C8C8C8C7C7C7C7C7C7CACACAD7D7D7
+E4E4E4F0F0F0FCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0
+B1B1B1B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
+B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBF
+C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
+C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
+C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8
+C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCECECECFCFCF
+D0D0D0D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDF
+E0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
+E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E7E7E7E6E6E6E6E6E6
+E5E5E5E4E4E4E3E3E3E2E2E2E0E0E0DEDEDEDDDDDDDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3D1D1D1
+D0D0D0CECECECCCCCCCACACAC9C9C9C9C9C9C8C8C8C7C7C7C7C7C7C6C6C6C6C6C6C9C9C9D6D6D6
+E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAF
+B0B0B0B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
+B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBE
+BFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
+C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8
+C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACBCBCBCCCCCCCDCDCDCECECE
+CFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDD
+DEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7
+E8E8E8E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5
+E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDDDDDDDBDBDBDADADAD8D8D8D6D6D6D4D4D4D1D1D1D0D0D0
+CECECECCCCCCCBCBCBC9C9C9C8C8C8C8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C5C5C5C8C8C8D6D6D6
+E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAE
+AFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
+B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBD
+BEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
+C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7
+C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9CACACACBCBCBCCCCCCCDCDCD
+CECECECFCFCFD1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDC
+DDDDDDDEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
+E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E3E3E3E3E3E3
+E2E2E2E1E1E1E0E0E0DFDFDFDDDDDDDBDBDBDADADAD8D8D8D6D6D6D4D4D4D2D2D2D0D0D0CECECE
+CDCDCDCBCBCBCACACAC8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C4C4C4C7C7C7D5D5D5
+E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F
+9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
+AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
+B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBC
+BDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+BFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
+C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7
+C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACBCBCBCCCCCC
+CDCDCDCECECED0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDB
+DCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4
+E5E5E5E5E5E5E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2
+E0E0E0DFDFDFDEDEDEDDDDDDDBDBDBDADADAD8D8D8D7D7D7D5D5D5D3D3D3D1D1D1CECECECDCDCD
+CCCCCCCACACAC9C9C9C8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C4C4C4C7C7C7D5D5D5
+E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5
+A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
+ADADADAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
+B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBB
+BCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+BEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2
+C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6
+C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9CACACACBCBCB
+CCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADA
+DBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2
+E3E3E3E3E3E3E3E3E3E3E3E3E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0E0E0E0
+DEDEDEDDDDDDDCDCDCDBDBDBD9D9D9D8D8D8D6D6D6D5D5D5D3D3D3D1D1D1CFCFCFCDCDCDCCCCCC
+CBCBCBC9C9C9C8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C3C3C3C6C6C6D4D4D4
+E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5
+A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
+ACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
+B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9
+BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+BDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
+C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5
+C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9CACACA
+CBCBCBCBCBCBCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8
+D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1
+E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDEDEDE
+DDDDDDDCDCDCDBDBDBDADADAD8D8D8D6D6D6D5D5D5D3D3D3D1D1D1D0D0D0CECECECBCBCBCACACA
+C9C9C9C8C8C8C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C2C2C2C5C5C5D4D4D4
+E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
+ACACACADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
+B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8
+B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBD
+BDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1
+C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5
+C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9
+CACACACACACACCCCCCCDCDCDCECECECFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7
+D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFDFDFDFDFDFDFDFDFDF
+E0E0E0E0E0E0E0E0E0E0E0E0DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDEDEDEDDDDDDDCDCDCDCDCDC
+DBDBDBDADADAD9D9D9D8D8D8D6D6D6D4D4D4D3D3D3D1D1D1CFCFCFCECECECCCCCCCACACAC9C9C9
+C8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C4C4C4D3D3D3
+E2E2E2F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
+ABABABACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2
+B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7
+B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBC
+BCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
+C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4
+C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8
+C9C9C9C9C9C9CBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5
+D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDDDDDDDDDDDDDDDDDD
+DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
+D9D9D9D8D8D8D7D7D7D6D6D6D4D4D4D2D2D2D1D1D1CFCFCFCDCDCDCCCCCCCACACAC8C8C8C7C7C7
+C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C0C0C0C3C3C3D3D3D3
+E2E2E2F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3
+A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1
+B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6
+B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBB
+BBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
+C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3
+C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7
+C8C8C8C8C8C8CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
+D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDCDCDCDCDCDCDCDCDC
+DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
+D7D7D7D6D6D6D5D5D5D4D4D4D2D2D2D1D1D1CFCFCFCECECECCCCCCCBCBCBC9C9C9C7C7C7C6C6C6
+C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C1C1C1C0C0C0BFBFBFC2C2C2D2D2D2
+E1E1E1F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2
+A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
+B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5
+B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
+BBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBF
+BFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3
+C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6
+C7C7C7C7C7C7C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D2D2D2
+D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
+DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
+D5D5D5D4D4D4D3D3D3D2D2D2D0D0D0CFCFCFCDCDCDCCCCCCCACACAC9C9C9C8C8C8C6C6C6C5C5C5
+C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C0C0C0C0C0C0BFBFBFBDBDBDC0C0C0D1D1D1
+E0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2
+A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAFAFAFB0B0B0
+B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5
+B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABA
+BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
+BFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2
+C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6
+C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
+D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
+D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D6D6D6D5D5D5D5D5D5
+D4D4D4D3D3D3D2D2D2D1D1D1CFCFCFCDCDCDCCCCCCCACACAC9C9C9C8C8C8C7C7C7C6C6C6C5C5C5
+C4C4C4C4C4C4C3C3C3C2C2C2C1C1C1C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBFBFBFCFCFCF
+E0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
+D0D0D0B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
+A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
+AFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4
+B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
+BABABABABABABABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBE
+BEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2
+C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5
+C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFCFCFCF
+D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6
+D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D4D4D4D3D3D3D3D3D3
+D2D2D2D1D1D1D0D0D0CFCFCFCDCDCDCBCBCBCACACAC8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4
+C3C3C3C3C3C3C2C2C2C1C1C1C0C0C0C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBABABABDBDBDCECECE
+DFDFDFF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEB
+D6D6D6C1C1C1ABABABA3A3A3A0A0A09E9E9E9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
+A8A8A8A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAE
+AEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3
+B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
+B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBD
+BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1
+C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4
+C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECE
+CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5
+D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D3D3D3D2D2D2D2D2D2
+D0D0D0CFCFCFCECECECDCDCDCBCBCBCACACAC8C8C8C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3
+C2C2C2C2C2C2C1C1C1C0C0C0BFBFBFBFBFBFBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C5C5C5D3D3D3
+E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1
+E1E1E1D2D2D2C2C2C2B7B7B7AEAEAEA5A5A59C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
+ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3
+B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
+B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
+BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0
+C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCCCCCC
+CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3
+D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2D1D1D1D0D0D0D0D0D0
+CECECECDCDCDCCCCCCCBCBCBC9C9C9C8C8C8C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2
+C1C1C1C1C1C1C0C0C0BFBFBFBEBEBEBEBEBEBDBDBDBEBEBEC4C4C4C9C9C9CECECED5D5D5DFDFDF
+EAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7
+ECECECE3E3E3D9D9D9CBCBCBBDBDBDAEAEAE9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
+A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
+ADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2
+B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
+B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBC
+BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0
+C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3
+C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCB
+CCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1
+D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0CFCFCFCECECECECECE
+CCCCCCCBCBCBCACACAC9C9C9C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1
+C1C1C1C0C0C0C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBFBFBFC9C9C9D2D2D2DCDCDCE4E4E4ECECEC
+F2F2F2F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
+F7F7F7F3F3F3EFEFEFDEDEDECACACAB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
+A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
+ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2
+B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7
+B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBC
+BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBF
+BFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9
+CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0
+D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0CFCFCFCFCFCFCFCFCFCECECECDCDCDCCCCCCCCCCCC
+CACACAC9C9C9C8C8C8C7C7C7C6C6C6C5C5C5C3C3C3C3C3C3C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0
+C0C0C0BFBFBFBFBFBFBEBEBEBDBDBDBCBCBCBABABAC0C0C0CECECEDBDBDBE9E9E9F4F4F4F7F7F7
+FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E
+9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
+ABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1
+B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6
+B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
+BBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBE
+BEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
+C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECE
+CFCFCFCFCFCFCFCFCFCFCFCFCECECECECECECDCDCDCDCDCDCDCDCDCCCCCCCBCBCBCACACACACACA
+C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0BFBFBF
+BFBFBFBEBEBEBEBEBEBDBDBDBCBCBCBBBBBBB9B9B9BFBFBFD0D0D0E0E0E0F1F1F1FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E
+9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
+ABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1
+B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6
+B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
+BBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBE
+BEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
+C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCC
+CDCDCDCDCDCDCDCDCDCDCDCDCCCCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACAC9C9C9C8C8C8C8C8C8
+C6C6C6C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0BFBFBF
+BEBEBEBEBEBEBDBDBDBCBCBCBBBBBBBABABAB8B8B8BEBEBECFCFCFE0E0E0F1F1F1FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D
+9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
+B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5
+B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
+BABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBD
+BDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
+C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCB
+CBCBCBCBCBCBCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C7C7C7C6C6C6C6C6C6
+C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBFBEBEBE
+BDBDBDBDBDBDBCBCBCBBBBBBBABABAB9B9B9B7B7B7BDBDBDCECECEDFDFDFF1F1F1FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D
+9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
+AAAAAAABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9
+B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBD
+BDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4
+C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9
+C9C9C9C9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C7C7C7C7C7C7C7C7C7C6C6C6C5C5C5C4C4C4C4C4C4
+C3C3C3C3C3C3C2C2C2C1C1C1C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBEBEBEBEBEBEBDBDBD
+BCBCBCBCBCBCBBBBBBBABABAB8B8B8B7B7B7B5B5B5BBBBBBCDCDCDDFDFDFF1F1F1FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEDEDEDD7D7D7C1C1C1A8A8A89E9E9E9E9E9E9C9C9C9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
+9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAE
+AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
+B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBC
+BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBF
+BFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
+C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
+C7C7C7C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2
+C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBC
+BBBBBBBBBBBBBABABABABABAB9B9B9BABABAB8B8B8BFBFBFD0D0D0E0E0E0F2F2F2FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF2F2F2E0E0E0D1D1D1BEBEBEB3B3B3ACACACA5A5A59E9E9E9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
+9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
+A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAE
+AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
+B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBC
+BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBF
+BFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1
+C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5
+C5C5C5C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C3C3C3C2C2C2C1C1C1C1C1C1
+C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBB
+BABABABABABAB9B9B9BCBCBCBFBFBFC3C3C3C7C7C7CFCFCFDCDCDCE9E9E9F5F5F5FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF7F7F7EBEBEBE1E1E1D5D5D5C9C9C9BBBBBBADADADA0A0A09A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
+A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACADADADADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7
+B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBB
+BBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBE
+BEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0
+C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4
+C4C4C4C4C4C4C4C4C4C4C4C4C3C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0
+BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABA
+B9B9B9B9B9B9B8B8B8BCBCBCC5C5C5CECECED7D7D7DFDFDFE8E8E8F1F1F1F9F9F9FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFBFBFBF6F6F6F0F0F0EBEBEBDDDDDDCACACAB6B6B6A2A2A29A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADAD
+AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7
+B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABA
+BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBD
+BDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2
+C2C2C2C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBF
+BEBEBEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9
+B8B8B8B8B8B8B7B7B7BDBDBDCBCBCBD8D8D8E6E6E6F1F1F1F4F4F4F8F8F8FCFCFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACAC
+ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
+B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9
+B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBC
+BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+BEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBEBEBE
+BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8
+B7B7B7B6B6B6B5B5B5BDBDBDCFCFCFE0E0E0F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACAC
+ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
+B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9
+B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBC
+BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+BEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+BDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7
+B6B6B6B5B5B5B4B4B4BCBCBCCECECEE0E0E0F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BEBEBEA6A6A69B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
+ACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
+B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8
+B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBB
+BBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+BDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+BEBEBEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+BCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6
+B5B5B5B4B4B4B3B3B3BBBBBBCDCDCDDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BEBEBEA6A6A69B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
+ACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7
+B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
+BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+BCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+BBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5
+B4B4B4B3B3B3B2B2B2BABABACCCCCCDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7BFBFBFA7A7A79C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
+A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
+A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
+ACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
+B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
+B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7
+B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
+BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+BCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+BBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5
+B4B4B4B2B2B2B1B1B1B9B9B9CCCCCCDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7BFBFBFA7A7A79C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
+AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
+B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6
+B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
+B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+BCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+BABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3
+B2B2B2B0B0B0AFAFAFB7B7B7CACACADEDEDEF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7C0C0C0A8A8A89D9D9D9C9C9C
+9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAEAEAE
+AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
+B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6
+B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBB
+BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBBBBBBBB
+BBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABABABABABABABABABABABABABABABABA
+B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2
+B0B0B0AEAEAEADADADB5B5B5C9C9C9DDDDDDF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD8D8D8C1C1C1A9A9A99E9E9E9D9D9D
+9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADAD
+ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5
+B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABA
+BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3B3B3B3B2B2B2B0B0B0
+AEAEAEACACACABABABB3B3B3C7C7C7DCDCDCF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD9D9D9C2C2C2ABABAB9F9F9F9E9E9E
+9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
+A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
+A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADAD
+ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
+B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5
+B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABA
+BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8
+B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2B2B2B2B1B1B1AFAFAF
+ADADADABABABA9A9A9B1B1B1C6C6C6DCDCDCF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E2E2E2D0D0D0BEBEBEB2B2B2ACACAC
+A6A6A6A0A0A09C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0
+B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4
+B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
+B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7
+B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B0B0B0B0B0B0AFAFAFB0B0B0
+B3B3B3B7B7B7BABABAC2C2C2D2D2D2E4E4E4F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7EBEBEBDEDEDED2D2D2C6C6C6BBBBBB
+B0B0B0A4A4A49D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
+AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3
+B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
+B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6
+B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1AFAFAFAFAFAFAEAEAEB3B3B3
+BBBBBBC3C3C3CCCCCCD5D5D5E0E0E0ECECECF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3EDEDEDE6E6E6DADADAC9C9C9
+B8B8B8A7A7A79E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAEAEAE
+AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2
+B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
+B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5
+B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0AEAEAEADADADACACACB4B4B4
+C2C2C2D0D0D0DEDEDEE8E8E8EEEEEEF4F4F4FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBEEEEEED8D8D8
+C3C3C3ADADAD9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
+A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
+ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
+ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAEAEAE
+AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2
+B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
+BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
+B8B8B8B8B8B8B7B7B7B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4
+B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFADADADACACACABABABB7B7B7
+C9C9C9DCDCDCF0F0F0FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E2E2E2
+D0D0D0BDBDBDB0B0B0AAAAAAA4A4A4A0A0A09B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
+9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9
+AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACADADAD
+ADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1
+B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
+B9B9B9BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8
+B7B7B7B7B7B7B6B6B6B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3
+B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAEB1B1B1B2B2B2B6B6B6B9B9B9C4C4C4
+D5D5D5E5E5E5F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8EAEAEA
+DEDEDED1D1D1C5C5C5B9B9B9AFAFAFA5A5A59C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
+9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9
+AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC
+ACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0
+B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
+B9B9B9BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7
+B6B6B6B6B6B6B5B5B5B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2
+B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAEADADADADADADB3B3B3BABABAC2C2C2CCCCCCD6D6D6
+E1E1E1EDEDEDF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3
+ECECECE4E4E4DADADAC9C9C9B9B9B9A9A9A99D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACABABABABABABABABABABABABABABABABABABABABABABABABABABAB
+ABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAF
+AFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3
+B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8
+B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6
+B5B5B5B5B5B5B4B4B4B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1
+B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEADADADACACACABABABB5B5B5C2C2C2D0D0D0DEDEDEE7E7E7
+EEEEEEF5F5F5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFC
+FAFAFAF9F9F9EFEFEFD8D8D8C2C2C2AEAEAE9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
+A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
+AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
+ACACACACACACACACACACACACABABABABABABABABABABABABABABABABABABABABABABABABABABAB
+ABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAF
+AFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3
+B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8
+B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6
+B5B5B5B5B5B5B4B4B4B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0
+AFAFAFAFAFAFAEAEAEAEAEAEADADADACACACABABABAAAAAAB7B7B7C9C9C9DDDDDDF1F1F1F9F9F9
+FBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF5F5F5DDDDDDC6C6C6AFAFAF9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAB
+ABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAE
+AEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2
+B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7
+B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B5B5B5
+B4B4B4B4B4B4B3B3B3B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAF
+AEAEAEAEAEAEADADADADADADACACACABABABAAAAAAA9A9A9B7B7B7CBCBCBE0E0E0F6F6F6FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF5F5F5DDDDDDC6C6C6B0B0B09F9F9F9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
+A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
+A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAB
+ABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADADADADAD
+ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2
+B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7
+B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B4B4B4
+B3B3B3B3B3B3B2B2B2B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAFAFAFAEAEAEAEAEAEAEAEAEAEAEAE
+ADADADACACACABABABABABABAAAAAAAAAAAAA9A9A9A8A8A8B6B6B6CBCBCBE0E0E0F6F6F6FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF5F5F5DEDEDEC7C7C7B0B0B0A0A0A09F9F9F9E9E9E9C9C9C9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADADADADAD
+ADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1
+B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6
+B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3
+B2B2B2B2B2B2B1B1B1B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEAEAEAEADADADADADADADADADADADAD
+ACACACABABABAAAAAAAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8B6B6B6CBCBCBE0E0E0F6F6F6FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF5F5F5DEDEDEC7C7C7B2B2B2A1A1A1A0A0A09F9F9F9D9D9D9C9C9C9C9C9C9B9B9B
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
+A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACACACACAC
+ACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1
+B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6
+B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2
+B1B1B1B1B1B1B0B0B0AFAFAFAEAEAEAEAEAEADADADADADADADADADACACACACACACACACACACACAC
+ABABABAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7B5B5B5CBCBCBE0E0E0F6F6F6FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF6F6F6E4E4E4D1D1D1BEBEBEAEAEAEA9A9A9A6A6A6A1A1A19D9D9D9D9D9D9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABAB
+ABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0
+B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5
+B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B1B1B1
+B0B0B0B0B0B0AFAFAFAEAEAEADADADADADADACACACACACACACACACABABABABABABABABABABABAB
+AAAAAAA9A9A9A8A8A8A8A8A8AAAAAAADADADAFAFAFB3B3B3BFBFBFD2D2D2E5E5E5F7F7F7FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF8F8F8EBEBEBDDDDDDD0D0D0C3C3C3B9B9B9B0B0B0A6A6A69E9E9E9E9E9E9D9D9D
+9C9C9C9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
+A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAA
+AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0
+B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B0B0B0
+AFAFAFAFAFAFAEAEAEADADADACACACACACACABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAA
+A9A9A9A8A8A8A8A8A8A8A8A8AEAEAEB7B7B7BDBDBDC6C6C6D1D1D1DFDFDFECECECF9F9F9FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFCFCF3F3F3EAEAEAE1E1E1D7D7D7C9C9C9BABABAABABAB9F9F9F9E9E9E9D9D9D
+9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
+A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAA
+AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4
+B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAE
+ADADADADADADACACACABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8
+A8A8A8A8A8A8A7A7A7A7A7A7B2B2B2BFBFBFCCCCCCDADADAE3E3E3EBEBEBF3F3F3FCFCFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFEFEFBFBFBF8F8F8F4F4F4ECECECD8D8D8C4C4C4B0B0B0A0A0A09F9F9F9E9E9E
+9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
+A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9
+A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAF
+B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEADADAD
+ACACACACACACABABABAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7
+A7A7A7A7A7A7A7A7A7A7A7A7B6B6B6C9C9C9DADADAEEEEEEF5F5F5F9F9F9FBFBFBFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E4E4E4D0D0D0BDBDBDACACACA7A7A7A4A4A4
+A1A1A19D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
+A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8
+A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADADADADADAEAEAEAEAEAEAEAEAE
+AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEADADADACACAC
+ABABABABABABAAAAAAA9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A6A6A6A6A6A6
+A9A9A9ABABABADADADB0B0B0C0C0C0D3D3D3E5E5E5F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAECECECDDDDDDCFCFCFC1C1C1B7B7B7AFAFAF
+A6A6A69E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7
+A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+B1B1B1B0B0B0B0B0B0B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEADADADADADADACACACABABAB
+AAAAAAAAAAAAA9A9A9A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6
+ADADADB5B5B5BDBDBDC4C4C4D1D1D1DFDFDFECECECFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3EAEAEAE0E0E0D6D6D6C8C8C8BABABA
+ACACAC9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADADADADADADAD
+AEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+B0B0B0AFAFAFAFAFAFAFAFAFAFAFAFAEAEAEAEAEAEADADADADADADACACACACACACABABABAAAAAA
+A9A9A9A9A9A9A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6
+B2B2B2BFBFBFCCCCCCD9D9D9E2E2E2EBEBEBF3F3F3FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F3F3F3ECECECD8D8D8C5C5C5
+B1B1B19F9F9F9E9E9E9D9D9D9C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACAC
+ADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+AFAFAFAEAEAEAEAEAEAEAEAEAEAEAEADADADACACACACACACABABABAAAAAAAAAAAAA9A9A9A8A8A8
+A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+B6B6B6C9C9C9DBDBDBEDEDEDF3F3F3F7F7F7FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE5E5E5D1D1D1
+BCBCBCA9A9A9A5A5A5A2A2A29F9F9F9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABAB
+ACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+AEAEAEADADADADADADADADADADADADACACACABABABABABABAAAAAAA9A9A9A9A9A9A8A8A8A7A7A7
+A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A8A8A8AAAAAAABABABADADAD
+BFBFBFD3D3D3E8E8E8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBECECECDDDDDD
+CECECEBFBFBFB6B6B6AEAEAEA6A6A69E9E9E9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4
+A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABAB
+ABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADADADADADADADAD
+ADADADACACACACACACACACACACACACABABABAAAAAAAAAAAAA9A9A9A8A8A8A8A8A8A7A7A7A6A6A6
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5ADADADB4B4B4BBBBBBC2C2C2
+D0D0D0DFDFDFEDEDEDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E9E9E9
+DFDFDFD5D5D5C8C8C8BABABAACACAC9F9F9F9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3
+A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACAC
+ACACACABABABABABABAAAAAAAAAAAAA9A9A9A8A8A8A8A8A8A7A7A7A6A6A6A6A6A6A5A5A5A5A5A5
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4B2B2B2BEBEBECBCBCBD7D7D7
+E1E1E1EAEAEAF4F4F4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F6F6F6
+F1F1F1EBEBEBD9D9D9C6C6C6B3B3B3A0A0A09E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3
+A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9
+A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABAAAAAAAAAAAAAAAAAA
+AAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A7A7A7A7A7A7A6A6A6A5A5A5A5A5A5A4A4A4A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4B7B7B7C9C9C9DADADAECECEC
+F2F2F2F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDE7E7E7D2D2D2BDBDBDA7A7A7A3A3A3A1A1A19E9E9E9D9D9D9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2
+A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8
+A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9
+A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7A6A6A6A5A5A5A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A4A4A4A5A5A5A7A7A7A9A9A9BFBFBFD4D4D4E7E7E7FDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFDFDEEEEEEDDDDDDCECECEBEBEBEB4B4B4ADADADA6A6A69D9D9D9C9C9C9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1
+A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7
+A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8
+A8A8A8A7A7A7A6A6A6A6A6A6A5A5A5A4A4A4A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A1A1A1A1A1A1
+A2A2A2A2A2A2A2A2A2A2A2A2A4A4A4AAAAAAB1B1B1B7B7B7BFBFBFCFCFCFDEDEDEEEEEEEFDFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEF4F4F4E9E9E9DFDFDFD5D5D5C6C6C6B9B9B9ADADAD9F9F9F9D9D9D9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6
+A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6
+A6A6A6A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0
+A1A1A1A1A1A1A1A1A1A1A1A1A4A4A4B0B0B0BCBCBCC8C8C8D5D5D5E0E0E0EAEAEAF4F4F4FEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF9F9F9F5F5F5F0F0F0EBEBEBD9D9D9C6C6C6B4B4B4A1A1A19E9E9E9D9D9D9C9C9C
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F
+A0A0A0A0A0A0A0A0A0A0A0A0A4A4A4B5B5B5C7C7C7DADADAEBEBEBF0F0F0F5F5F5F9F9F9FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7D2D2D2BDBDBDA6A6A6A1A1A19F9F9F9E9E9E
+9D9D9D9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
+A3A3A3A2A2A2A1A1A1A1A1A1A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+A0A0A0A1A1A1A1A1A1A2A2A2A7A7A7BCBCBCD2D2D2E8E8E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEDCDCDCCDCDCDBCBCBCB4B4B4ACACACA5A5A5
+9E9E9E9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
+9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2
+A2A2A2A1A1A1A0A0A0A0A0A09F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
+A1A1A1A8A8A8AEAEAEB5B5B5BDBDBDCDCDCDDDDDDDEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E8E8E8DEDEDED3D3D3C6C6C6B9B9B9ACACAC
+A0A0A09C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
+9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0
+A0A0A09F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9F9F9F9F
+A3A3A3AFAFAFBBBBBBC7C7C7D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EEEEEEE8E8E8D9D9D9C6C6C6B3B3B3
+A2A2A29D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
+9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9E9E9E
+9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9F
+A5A5A5B6B6B6C8C8C8D9D9D9E9E9E9EEEEEEF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAEAEAD4D4D4BCBCBC
+A5A5A59E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
+A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
+9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D
+9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0
+A6A6A6BDBDBDD4D4D4EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDEDEDECCCCCC
+BBBBBBB1B1B1ABABABA5A5A59E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C
+9C9C9C9B9B9B9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9CA0A0A0A7A7A7ACACACB3B3B3
+BCBCBCCDCDCDDFDFDFF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E9E9E9DCDCDC
+D1D1D1C4C4C4B9B9B9ADADADA0A0A09B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
+9B9B9B9B9B9B9C9C9C9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9DA3A3A3AFAFAFBABABAC6C6C6
+D1D1D1DDDDDDE9E9E9F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EDEDED
+E6E6E6D8D8D8C6C6C6B5B5B5A3A3A39C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9B9B9B9C9C9C9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9EA6A6A6B7B7B7C8C8C8D9D9D9
+E7E7E7EEEEEEF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
+FCFCFCEAEAEAD5D5D5BEBEBEA6A6A69C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
+A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
+A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
+A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
+A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA8A8A8BFBFBFD6D6D6ECECEC
+FCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF0F0F0DFDFDFCDCDCDBABABAAFAFAFA9A9A9A4A4A49E9E9E9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
+A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9C9C9C9C9C9C9D9D9DA2A2A2A7A7A7ACACACB2B2B2BCBCBCCECECEDFDFDFF2F2F2
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF5F5F5E9E9E9DCDCDCCFCFCFC3C3C3B8B8B8ACACACA1A1A19B9B9B9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
+A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
+A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9C9C9C9D9D9D9D9D9D9E9E9EA5A5A5AFAFAFBABABAC5C5C5D1D1D1DDDDDDE9E9E9F6F6F6
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF9F9F9F2F2F2EBEBEBE5E5E5D8D8D8C6C6C6B5B5B5A4A4A49C9C9C9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
+A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA8A8A8B8B8B8C8C8C8D9D9D9E5E5E5ECECECF3F3F3FAFAFA
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFEFEFCFCFCFCFCFCFAFAFAEBEBEBD5D5D5BFBFBFA9A9A99C9C9C9B9B9B9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
+9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
+A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0ACACACC1C1C1D5D5D5ECECECFAFAFAFCFCFCFDFDFDFEFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2DFDFDFCDCDCDBABABAAEAEAEA8A8A8A3A3A39D9D9D
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
+9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
+9D9D9DA2A2A2A7A7A7ACACACB1B1B1BCBCBCCECECEE0E0E0F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E9E9E9DBDBDBCECECEC2C2C2B7B7B7ACACACA1A1A1
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
+9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
+9F9F9FA6A6A6B0B0B0BABABAC5C5C5CFCFCFDDDDDDEAEAEAF6F6F6FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF2F2F2EBEBEBE3E3E3D7D7D7C5C5C5B5B5B5A5A5A5
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
+9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F
+A0A0A0ABABABBABABAC9C9C9D9D9D9E4E4E4ECECECF3F3F3FAFAFAFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFAFAFAF9F9F9EBEBEBD5D5D5C0C0C0AAAAAA
+9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
+9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
+A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0
+A1A1A1AFAFAFC3C3C3D7D7D7EDEDEDF9F9F9FAFAFAFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3DFDFDFCDCDCDB9B9B9
+ADADADABABABABABABAAAAAAAAAAAAA6A6A6A2A2A29D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9BA0A0A0A5A5A5A9A9A9ADADADAEAEAEAFAFAFB0B0B0
+B1B1B1BDBDBDCFCFCFE1E1E1F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E8E8E8DBDBDBCDCDCD
+C4C4C4C4C4C4C4C4C4C3C3C3C0C0C0B5B5B5ACACACA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
+9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
+A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9CA5A5A5AFAFAFB8B8B8C2C2C2C6C6C6C7C7C7C7C7C7
+C8C8C8D0D0D0DDDDDDEAEAEAF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF2F2F2EAEAEAE1E1E1
+DCDCDCDCDCDCDCDCDCDCDCDCD6D6D6C6C6C6B6B6B6A6A6A69A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9D9D9DABABABBABABAC9C9C9D8D8D8DDDDDDDEDEDEDEDEDE
+DEDEDEE3E3E3EBEBEBF3F3F3FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF8F8F8F6F6F6
+F4F4F4F4F4F4F4F4F4F4F4F4EDEDEDD7D7D7C2C2C2ACACAC9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9EB0B0B0C6C6C6D9D9D9EEEEEEF5F5F5F5F5F5F5F5F5
+F5F5F5F7F7F7F9F9F9FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E2E2E2CECECEBABABAA8A8A8A4A4A4A1A1A19D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
+9C9C9C9C9C9CA0A0A0A5A5A5A8A8A8ABABABBCBCBCD1D1D1E4E4E4F9F9F9FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFAFAFAEAEAEADBDBDBCDCDCDBFBFBFB4B4B4ACACACA2A2A29A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
+9D9D9D9D9D9DA6A6A6B0B0B0B9B9B9C1C1C1CFCFCFDEDEDEECECECFBFBFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF3F3F3E9E9E9DFDFDFD6D6D6C7C7C7B7B7B7A8A8A89A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C
+9D9D9D9E9E9EACACACBABABAC9C9C9D8D8D8E2E2E2EBEBEBF3F3F3FCFCFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7F7F7F4F4F4EDEDEDD8D8D8C3C3C3AEAEAE9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
+9E9E9E9F9F9FB2B2B2C6C6C6DADADAEDEDEDF5F5F5F8F8F8FBFBFBFEFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE4E4E4D0D0D0B9B9B9A6A6A6
+A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A2A2A2A0A0A09E9E9E9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9E9E9EA0A0A0A2A2A2A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
+A9A9A9AAAAAABDBDBDD2D2D2E7E7E7FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCEBEBEBDCDCDCCCCCCCBEBEBE
+BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB6B6B6ADADADA5A5A59C9C9C9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9C9C9CA5A5A5AEAEAEB6B6B6BDBDBDBDBDBDBEBEBEBFBFBFBFBFBFBFBFBFC0C0C0
+C1C1C1C1C1C1CFCFCFDEDEDEEDEDEDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E9E9E9E0E0E0D7D7D7
+D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6C9C9C9BBBBBBACACAC9D9D9D9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9E9E9EACACACBBBBBBC9C9C9D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D8D8D8
+D8D8D8D8D8D8E2E2E2EAEAEAF4F4F4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF7F7F7F3F3F3EFEFEF
+EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDDDDDDC8C8C8B3B3B39E9E9E9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9F9F9FB3B3B3C8C8C8DCDCDCEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+EFEFEFF0F0F0F4F4F4F7F7F7FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEBD5D5D5BFBFBFA8A8A8A2A2A2
+A2A2A2A2A2A2A2A2A2A1A1A19F9F9F9D9D9D9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9F9F9FA1A1A1A2A2A2A2A2A2
+A2A2A2A2A2A2A7A7A7BEBEBED5D5D5EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0F0DFDFDFD0D0D0BFBFBFBBBBBB
+BBBBBBBBBBBBBBBBBBB5B5B5AEAEAEA6A6A69E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9E9E9EA5A5A5ADADADB5B5B5BBBBBBBBBBBB
+BBBBBBBBBBBBBEBEBECFCFCFE0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6EBEBEBE0E0E0D7D7D7D4D4D4
+D4D4D4D4D4D4D4D4D4CBCBCBBDBDBDAFAFAFA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA0A0A0AEAEAEBCBCBCCBCBCBD4D4D4D4D4D4
+D4D4D4D4D4D4D6D6D6E0E0E0ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF7F7F7F2F2F2EDEDEDECECEC
+ECECECECECECECECECDFDFDFCCCCCCB8B8B8A5A5A59A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA3A3A3B6B6B6CBCBCBDFDFDFECECECECECEC
+ECECECECECECEDEDEDF2F2F2F7F7F7FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF0F0F0DADADAC4C4C4ADADADA1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9E9E9E9C9C9C9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9D9D9D9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAAAAAAC1C1C1D8D8D8F0F0F0FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF3F3F3E3E3E3D3D3D3C2C2C2B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B0B0B0A9A9A9A2A2A29B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9AA1A1A1A8A8A8AFAFAFB6B6B6B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8C0C0C0D1D1D1E3E3E3F3F3F3FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF7F7F7EDEDEDE2E2E2D7D7D7D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1CECECEC2C2C2B6B6B6A8A8A89C9C9C9C9C9C9C9C9C
+9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9AA6A6A6B4B4B4C0C0C0CECECED0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D6D6D6E1E1E1ECECECF7F7F7FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F1F1F1ECECECE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E6E6E6D3D3D3C1C1C1ADADAD9D9D9D9D9D9D9D9D9D
+9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+9A9A9A9A9A9A9A9A9A9A9A9AABABABBFBFBFD2D2D2E6E6E6E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EBEBEBF1F1F1F7F7F7FBFBFBFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE3E3E3CDCDCDB6B6B6A2A2A2A1A1A1A1A1A1
+A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+9D9D9D9D9D9D9D9D9D9D9D9DB2B2B2CACACAE2E2E2FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBEAEAEAD9D9D9C9C9C9B9B9B9B8B8B8B8B8B8
+B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+B5B5B5B5B5B5B5B5B5B5B5B5C6C6C6D8D8D8EAEAEAFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF1F1F1E6E6E6DBDBDBD1D1D1D0D0D0D0D0D0
+D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+D0D0D0CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+CECECECECECECECECECECECED9D9D9E5E5E5F1F1F1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8F2F2F2EDEDEDE8E8E8E8E8E8E8E8E8
+E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+E7E7E7E7E7E7E7E7E7E7E7E7ECECECF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/doc/img/swallow2final.png b/doc/img/swallow2final.png
new file mode 100644 (file)
index 0000000..d90df3e
Binary files /dev/null and b/doc/img/swallow2final.png differ
diff --git a/legacy/edje/ChangeLog b/legacy/edje/ChangeLog
deleted file mode 100644 (file)
index 689b3e7..0000000
+++ /dev/null
@@ -1,718 +0,0 @@
-2011-01-29  Carsten Haitzler (The Rasterman)
-
-        1.0.0 release
-
-2011-01-30  Tom Hacohen (TAsn)
-
-        * Added "UNDER" cursor mode.
-        * Added auto-alignment to text parts, just set text.alignment to -1 to
-          activate it. It's only relevant to TEXT parts, textblock objects
-          already have that by default.
-
-2011-02-01  Tom Hacohen (TAsn)
-
-        * Added Mirroring support to edje objects.
-
-2011-02-08  Cedric BAIL
-
-       * Fix invalid memory access by edje alias code.
-
-2011-02-10  Cedric BAIL
-
-       * Fix use of recursive alias.
-
-2011-02-21  WooHyun Jung
-
-        * Fix missing cursor changed signale on backspace
-
-2011-02-21  Mike Blumenkrantz
-
-        * Add built-in cpp (epp) to provide consistent output on all archs/OSes
-
-2011-02-10  Cedric BAIL
-
-       * Fix propagation of recursive events on existing part.
-
-2011-02-24  Cedric BAIL
-
-       * fix signal comming from box/table item to include their
-       index or name correctly.
-
-2011-02-25  Jihoon Kim
-
-       * Add edje_object_part_text_cursor_pos_{set,get} API
-
-2011-02-27  Tom Hacohen (TAsn)
-
-        * Added size_range property to TEXT parts in edje files.
-       This lets you limit the size of the font that will be used.
-       Especially useful when using fit.
-
-2011-03-10  WooHyun Jung
-
-        * Fix: Emit clicked signal on entry if still in - missing.
-
-2011-03-10  Cedric BAIL
-
-       * Correctly propagate recursive event with existing and non existing
-       part.
-
-2011-03-11  Cedric BAIL
-
-       * Add PROXY part.
-
-2011-03-19  Carsten Haitzler (The Rasterman)
-
-       * Change edje_decc to only use edje_cc as the compiler for security
-        and correctness reasons.
-
-2011-03-23  Brett Nash (nash)
-
-       * Move some of edje over to use smart clipper in evas.  This _should_
-       be transparent to users.
-
-2011-03-30  Carsten Haitzler (The Rasterman)
-
-       * text.align (only the vertical part) now works for textblock.
-
-2011-04-1  Carsten Haitzler (The Rasterman)
-
-       * Add Feature: Support explicit shadow direction with extra effect
-        param (optional). Default as before.
-
-2011-04-28  Tom Hacohen (TAsn)
-
-        * size_min_restricted_calc: Fixed textblock handling.
-
-2011-05-15  Tom Hacohen (TAsn)
-
-        * Entry - New API: added edje_object_part_text_append which appends
-          text to the end of the textblock part. This lets us do cool thing
-          like population of textblock using idler.
-
-2011-05-16  Carsten Haitzler (The Rasterman)
-
-       * Add new interpolation modes for programs to make animation
-        much easier. Added: ACCEL_FAC, DECEL_FAC, SIN_FAC, DIVIS,
-        BOUNCE, SPRING (also made short name versions of the long ones
-        possible too).
-
-2011-05-19  Tom Hacohen (TAsn)
-
-        * Entry: Don't emit "cursor,changed" when setting the text, because
-          the cursor really didn't change, it's more like a new cursor.
-          Also, when setting position, don't do anything if position is as it
-          was.
-
-2011-05-27  Carsten Haitzler (The Rasterman)
-
-       * Improve performance on create/delete of edje objects by using
-        evas freeze and thaw calls. May help in certain pathological
-        situations.
-
-2011-05-27  Cedric Bail
-
-       * Improve performance by avoiding walking eina_list for nothing
-       when deleting member_class.
-
-2011-06-09  Cedric Bail
-
-       * Fix external usage in sub group to have the proper parents.
-
-2011-06-11  Tom Hacohen (TAsn)
-
-       * Fix an issue with ellipsis not working properly with small
-         text parts.
-
-2011-06-21  Cedric Bail
-
-       * Make it possible to define part.description.max only on one axis.
-
-2011-07-24  Mike Blumenkrantz
-
-        * Add signals entry,paste,request,1 (PRIMARY) and entry,paste,request,3 (CLIPBOARD)
-          to differentiate between paste types
-        * Add entry,selection,all,request for signalling ctrl+a in an entry
-        * Add entry,selection,none,request for signalling ctrl+shift+a in an entry
-        * Fix entry,paste,request* to be emitted after cursor,changed (fixes middle mouse paste location)
-
-2011-05-27  Carsten Haitzler (The Rasterman)
-
-       * Fix edje_shutdown() being called before all evas objects created
-        by edje (edje objects) are gone. Delay internal core shutdown
-        until all references gone.
-
-2011-08-03  Tom Hacohen (TAsn)
-
-       * Entry: Added changed,user signal. This signal indicates the entry
-       has changed because of user interaction, i.e not by code.
-
-2012-08-04  Flavio Ceolin
-
-        * Added edje_codegen - tool that genereates code to working with
-          edje files.
-
-2011-08-22  Cedric Bail
-
-       * Add collection.group.limits {
-                 vertical: "name" value;
-                 horizontal: "name" value;
-             }.
-
-2011-08-25  Jihoon Kim
-
-       * Add entry input panel layout setting api's
-
-2011-08-10  Tom Hacohen (TAsn)
-
-       * Signals: Added the ability to pass extra data with edje signals.
-       Added edje_object_signal_callback_extra_data_get to support that.
-
-2011-08-29  Jaehwan Kim
-
-       * Add group's inheritance.
-       * Add insert_before, insert_after to can change the part's order.
-
-2011-10-02  Boris Faure (billiob)
-
-       * Fix edje_cc to accept -1 in description.max
-
-2011-10-03  Tom Hacohen (TAsn)
-
-       * Entry: Added change information to entry,changed,user
-
-2011-11-03  Jaehwan Kim
-
-       * Transition: Add the "CURRENT" option which causes the edje object move
-             from its current position.
-
-2011-10-04  Govindaraju SM, Prince Kumar Dubey
-
-       * Add Edje multisense that allows playback of samples and
-          vibrator control and ultimately beginsd to pave the way for
-          more complex audio etc. support.
-
-2011-11-06  David Seikel (onefang)
-
-       * Lua: Added color_class and text_class functions.
-           Still need to write a function for setting the classes of an object.
-           This works for things in OTHER groups using those classes though.
-       * Add image, text, textblock (commented out), and edje objects.
-           Very basic support.
-       * Add functions for set/get text font, size, and text.
-       * Add function for set/get image image.
-           Still needs to limit to only imagess in the current edje file.
-       * Add functions for set/get image fill and filled.
-       * Add function for set/get edje file.
-           Still needs to limit to only groups in the current edje file.
-       * Add full support for evas line object.
-       * Add full support for evas polygon object.
-       * Beefed up the example lua script to show most of the above.
-         Including some handling of size changes.
-       * White space fixes, one of the editors I use cleans those up automatically.  shrugs
-
-2011-11-06  David Seikel (onefang)
-
-       * Lua: Added half of the evas map API.
-
-2011-11-07  David Seikel (onefang)
-
-       * Lua: Added the other half of the evas map API.
-
-2011-11-19  Carsten Haitzler (The Rasterman)
-
-       * Fix message and signal propagation to be consistent in all situations
-        as well as simpler.
-
-2011-12-02 Carsten Haitzler (The Rasterman)
-
-        1.1.0 release
-
-2011-12-12 Mike Blumenkrantz (discomfitor/zmike)
-
-        * Fix potential crash from buffer overflow on copying map data.
-
-2011-12-15  Tom Hacohen (TAsn)
-
-       * Entry: Added support for various new key bindings:
-       Ctrl+Arrows, Ctrl+Del and Ctrl+Backspace.
-       * Entry: Added cursor,changed,manual signal.
-       This signal indicates the cursor has been manually changed, i.e by
-       either mouse click or arrows.
-
-2011-12-15  Cedric Bail
-
-       * Fix detections of limits by edje_cc parser.
-
-2011-12-16  Cedric Bail
-
-       * Fix wrong call to free() in edje_load.
-       * Reduce parts walk to the strict minimum.
-
-2011-12-19  Cedric Bail
-
-       * Check existence of group at compile time also.
-
-2012-01-02 Carsten Haitzler (The Rasterman)
-
-        * Fix prototype for edje_object_part_text_cursor_content_get()
-          as it returned a strduped string and not an internal one, so
-          this just formalizes its existing behavior correctly.
-
-2012-01-03  Tom Hacohen (TAsn)
-
-       * Entry: Fixed undo/redo with IMF.
-
-2012-01-04  Carsten Haitzler (The Rasterman)
-
-        * Add HEX, TERMINAL and PASSWORD layouts to edje
-        * Add "recalc" smart callback for object size changes
-
-2012-01-05  Cedric Bail
-
-       * Reduce call to stat during edje_object_file_set.
-
-2012-01-06  Cedric Bail
-
-       * Unswallow object that are about to be swallowed if necessary.
-       * Add EDJE_ASPECT_PREFER_SOURCE.
-
-2012-01-07  David Seikel (onefang)
-
-       * Lua: Calling non exstent functions no longer crashes scripts.
-          This is so that future scripts will still work with old libraries,
-          and lets us add the "host can provide Lua API" feature soon.
-
-2012-01-09  David Seikel (onefang)
-
-       * Lua: Added edje.version().
-
-2012-01-14  Carsten Haitzler (The Rasterman)
-
-        * Added minmul propery for edje to multiply minimum size during min size calc
-
-2012-01-20  Carsten Haitzler (The Rasterman)
-
-        * Fix the ability to change the edje file source of an edje object
-        inside a callback - it worked but you couldn't swallow/set text etc.
-
-2012-01-03  Tom Hacohen (TAsn)
-
-       * Entry: Added edje_object_part_text_style_user_set/get that'll use
-       the new corresponding textblock functions.
-
-2012-01-23  Cedric Bail
-
-       * Fix overridding group in edje_cc by fixing with the right index.
-
-2012-01-24  Cedric Bail
-
-       * Filter should only be valid once all program affecting there part are done.
-
-2012-01-25  Cedric Bail
-
-       * Only store the image used by active group.
-
-2012-01-26  Cedric Bail
-
-       * Add min: SOURCE, max: SOURCE.
-
-2012-02-03  Jihoon Kim
-
-       * Entry: Fix to work edje_object_part_text_input_panel_enabled_set/get well
-             even though ecore_imf doesn't exist or immodule isn't used.
-
-2012-02-07  WooHyun Jung
-
-        * Added edje_object_markup_filter_callback_{add,del,del_full}.
-        These let you append(delete) markup filter functions for filtering
-        inserted text.
-
-2012-02-08  Cedric Bail
-
-       * Fix bug when using EDJE_CALC_CACHE and using relative to x and y
-       on separate part.
-       * Fix bug with filter preventing any action to be triggered.
-
-2012-02-10  Cedric Bail
-
-       * Prevent propagation of signal, when there is a matching target with edje GROUP.
-
-2012-02-13  Jihoon Kim
-
-       * add edje_object_part_text_input_panel_show/hide.
-      These APIs can be used in input panel manual control mode.
-       * add edje_object_part_text_imf_context_reset that will use
-      for reseting the input method context.
-
-2012-02-14  Jihoon Kim
-
-       * add edje_object_part_text_prediction_allow_set/get.
-      These APIs can be used to set whether prediction feature is allowed or not.
-
-2012-02-14  Cedric Bail
-
-       * add a way to disable signal broadcasting introduced in edje 1.1.
-
-2012-02-15  Jihoon Kim
-
-       * add edje_object_part_text_input_panel_language_set/get
-          edje_object_part_text_input_panel_imdata_set/get
-          edje_object_part_text_input_panel_return_key_type_set/get
-          edje_object_part_text_input_panel_return_key_disabled_set/get
-
-2012-02-20  WooHyun Jung
-
-        * Change API names from edje_object_markup_filter_callback_{add,del,del_full}.
-        to edje_object_text_markup_filter_callback_{add,del,del_full}.
-
-2012-02-24  Jihoon Kim
-
-       * add edje_object_part_text_imf_context_get for getting Ecore_IMF_Context handle in edje text object
-
-2012-02-29  Tom Hacohen (TAsn)
-
-       * Entry: Added edje_object_part_text_user_insert.
-       This function inserts text as if the user has inserted it.
-       This means it actually registers as a change and etc.
-
-2012-03-06  Mikael Sans (XHeLL)
-
-       * Entry: Added double click and triple click.
-       Double click selects a word.
-       Triple click selects a line.
-
-2012-03-07  Tom Hacohen (TAsn)
-
-       * Entry: Replaced edje_object_part_text_style_user_set/get 
-       with edje_object_part_text_style_user_set/get to correspond to
-       textblock's recent changes.
-
-2012-03-07  Cedric Bail
-
-       * Correctly count and propagate preload signal with GROUP.
-       * Fix rotation with fixed point.
-
-2012-03-11  Cedric Bail
-
-       * Propagate scale factor to GROUP's part.
-
-2012-03-12  Cedric Bail
-
-       * Make it possible for edje to update size hint automatically.
-       * Add min: SOURCE to GROUP's part.
-
-2012-03-30  Jihoon Kim
-
-       * Fix number doesn't insert even though NUM LOCK is locked.
-
-2012-04-16  Carsten Haitzler (The Rasterman)
-
-        * Add EDJE_VERSION_12 define so edc files can #ifdef compile
-        right.
-
-2012-04-20  Carsten Haitzler (The Rasterman)
-
-        * To work through a bug in Elementary, add
-        edje_object_part_text_escaped_set() that converts escapes to
-        plain UTF8 if the part is TEXT.
-
-2012-04-26 Carsten Haitzler (The Rasterman)
-
-        1.2.0 release
-
-2012-04-30  Jérôme Pinot
-
-       * Add missing files in the tarballs.
-
-2012-05-02  Cedric Bail
-
-       * Doing less allocation and reuse Evas_Map does help.
-
-2012-05-08  Cedric Bail
-
-       * Add edje_watch tools to automatically rebuild edc.
-
-2012-05-09  Cedric Bail
-
-       * Fix bug in case of nesting edje_object_signal_emit and edje_object_signal_callback_{add,del}
-       * Check that the file changed on disk when trying to reopen it.
-       * Emit ['edje,change,file', 'edje'] when the file change on disk.
-       * Automatically reload edje file when it change in edje_player.
-
-2012-05-10  Cedric Bail
-
-       * Preserve user box and table items during call of edje_object_file_set.
-
-2012-05-12  Rajeev Ranjan (Rajeev)
-
-       * Add edje_cc optimization to remove alpha channel flag from images
-        with absolutely no alpha in them if marked as havin alpha in the
-        originals
-
-2012-05-14  Cedric Bail
-
-       * Preserve drag informations during call of edje_object_file_set.
-
-2012-05-15  Carsten Haitzler (The Rasterman)
-
-        * Optimize edje_cc to be multi-threaded and compress in parallel
-        * Remove O(n2) algorithms for O(1) in the parser in edje_cc
-        * Add options for the new compression modes in Eet. (fastcomp
-        and fastdecomp - LZ4 and LZ4HC).
-        * Overall sped up edje_cc by 4x faster (if you use fastcomp)
-        and about 4.5x faster with old zlib compression.
-
-2012-05-16  Cedric Bail
-
-       * Fix table and text when fixed point is turned on.
-       * Clamp image tween to never underflow also.
-
-2012-05-20  Cedric Bail
-
-       * Use Eina_File instead of fopen when possible in edje_cc.
-
-2012-05-21  Shilpa Onkar Singh
-
-        * Fix patch for edje draggable jump issue when external event
-        area is used for the dragable.
-
-2012-06-04  Cedric Bail
-
-       * Add SPACER part to reduce the load on the canvas (lighter and faster theme).
-
-2012-06-04  Prince Kumar Dubey
-
-       * Fix decompile of sound samples to use sound source file, not name
-       * Fix decompile of sound samples not double-free
-        * Fix alsa configure option to be alsa, not flac.
-
-2012-06-06  Leandro Pereira
-
-        * Made state index optional (defaulting to 0.0).
-
-2012-06-06  Jihoon Kim
-
-       * edje_entry: display preedit string even though there is no attribute
-
-2012-06-20  Kim Shinwoo
-
-       * Add edje_object_access_part_list_get and acess flags in edc file.
-
-2012-06-21  Carsten Haitzler (The Rasterman)
-
-        * Improve edje_cc slightly to use prefix for full path to
-        embryo_cc. this still like before requires embryo and edje to share
-        the same install prefix for edje_cc to work.
-
-2012-06-12  Michael Bouchaud (yoz)
-
-       * The aliases are now inherited from the targeted group
-       * Aliases can be usable with edje programs, if the part is in the
-       group
-
-2012-06-24  Cedric Bail
-
-       * Emit signal for flagged part when their size get to zero.
-
-2012-07-03  Tom Hacohen (TAsn)
-
-       * Entry: Update anchors from user_insert as well.
-
-2012-07-12  Tom Hacohen (TAsn)
-
-       * Textblock: Fixed issue with updating only the font size using text
-       classes.
-       * Textblock: Fixed updating textblock text_class with
-       edje_text_class_set.
-       * Text classes: Fixed edje_text_class_set to behave like
-       edje_object_text_class_set (and as expected) wrt NULL fonts.
-
-2012-07-12  Cedric Bail
-
-       * Warn at compile time about forgotten image definition.
-       * Stop compilation when clipping to a non RECT part.
-
-2012-07-14  Cedric Bail
-
-       * Fix Edje_Multisense shutdown.
-
-2012-07-24  Carsten Haitzler (The Rasterman)
-
-        * Fix edje entry to extend selection to char pos/word or line
-        when holding shift + mouse click.
-
-2012-07-29  Cedric Bail
-
-       * Reduce potential reentrant issue when using edje_object_signal_emit.
-
-2012-08-06  Cedric Bail
-
-       * Call edje_object_message_signal_process also on GROUP part Edje object.
-
-2012-08-07  Cedric Bail
-
-       * Fix memory leak when Edje file have alias defined.
-
-2012-08-09  Cedric Bail
-
-       * Improve speed of color_class lookup by using an Eina_Hash.
-
-2012-08-14  Hermet
-
-       * Fix the uv mapping correctly in case of image swallowed.
-
-2012-08-21  Guilherme Silveira
-
-       * Fix password timeout with fixed point.
-
-2012-08-24  Cedric Bail
-
-       * Properly destroy color_class and text_class on an Edje_Object.
-
-2012-08-27  Tom Hacohen (TAsn)
-
-       * Textblock: Fixed issue with textblock fit not sizing correctly. This
-       fix is not perfect.
-
-2012-08-29  Cedric Bail
-
-       * Don't leak memory on edje block error during signal emit.
-
-2012-08-30  Carsten Haitzler (The Rasterman)
-
-        1.7.0 release
-
-2012-08-30  Cedric Bail
-
-       * Check the number of parameter for image in edc.
-
-2012-09-04  Cedric Bail
-
-       * Report type of file when listing file used by an edc.
-
-2012-09-04  Jihoon Kim (jihoon)
-
-       * Add EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN.
-
-2012-09-04  Aharon Hillel
-
-       * Added nested parts support.
-       This lets us do nested parts, e.g parts "{ part { part { } } }"
-
-2012-09-05  ChunEon Park (Hermet)
-
-       * if user change image size of the image object which is swallowed and
-       it's map enabled by the edje, then edje needs to update it's uv mapping
-       info.
-
-2012-09-11  Cedric Bail
-
-       * O(1) lookup used when searching Part_Lookup in edje_cc.
-       * O(1) lookup when generating alias of group.
-       * O(1) access time for parameters in edje_cc_handler.
-       * Recycle and use less memory during load time.
-
-2012-09-11  Carsten Haitzler (The Rasterman)
-
-        * Improve memory footprint by cutting core edje real part
-        struct down by less than half its size and making some parts allocated
-        extra only if the type needs it.
-
-2012-09-12  Cedric Bail
-
-       * Small improvement in memory footprint by using an array instead of a list for
-       some callback list.
-
-2012-09-17  Cedric Bail
-
-       * Don't generate an annotate file if edje_cc failed.
-
-2012-09-17  Michael Bouchaud (yoz)
-
-        * fix group inheritance on a group who have a script with global
-        varable.
-        * fix group inheritance on a group who have some programs uses script
-
-2012-09-20  David Seikel (onefang)
-
-       * Lua: Lua 5.2 support added.
-
-2012-09-21  Flavio Ceolin
-
-       * edje_codegen: added support for externals
-
-2012-09-27  Michael Bouchaud (yoz)
-
-        * fix scale_set in sub group
-
-2012-09-27  Flavio Ceolin
-
-       * edje_codegen: adding support for draggable
-
-2012-10-10
-
-       * edje_entry: Add more tags(preedit_sub1~4) for a variety of preediting states.
-
-2012-10-21 Daniel Zaoui
-
-       * Edje: change Edje to use Eo.
-       This change adds Eo support to Edje while keeping the old API intact.
-       For more information, go to Eo.
-
-2012-10-26  Michael Bouchaud (yoz)
-
-        * fix edje_object_scale_set with edje containing boxes and/or tables
-
-2012-10-31  Carsten Haitzler (The Rasterman)
-
-        * Fix edje_cc to use max compression, not default compression.
-
-2012-10-31  ChunEon Park (Hermet)
-
-        * Fix to update the text classes when text classes are changed.
-
-2012-11-02  ChunEon Park (Hermet)
-
-        * Fix to not update map uv for proxy
-
-2012-11-15  Daniel Willmann
-
-        * Add embryo function get_image_id
-
-2012-11-23  Bruno Dilly
-
-        * Support message sending on edje player.
-
-2012-11-23  Eduardo Lima (Etrunko)
-
-        * Add embryo function get_program_id
-
-2012-12-05  Robert David
-
-       * Fix Solaris 11 build.
-
-2012-12-05  Tae-Hwan Kim (Bluezery)
-
-       * Fix inheriting gorups with programs that have after programs where
-        after programs are duplicated in the list.
-
-2012-12-12  Cedric Bail
-
-       * Use Evas to compute Ellipsis.
-
-2012-12-13  Jihoon Kim
-
-       * Return plain text in retrive surrounding text callback of entry
-
-2012-12-13  Bruno Dilly
-
-        * Support physics.
-
-2012-12-18  Jihoon Kim
-
-       * ecore_imf cursor infomation update is not necessary in focus-out event
-
-2012-12-18  WooHyun Jung
-
-       * Before cursor is moved by mouse_down, imf_context_reset should be called with current cursor position.
diff --git a/legacy/edje/NEWS b/legacy/edje/NEWS
deleted file mode 100644 (file)
index 6848d3a..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-Edje 1.8.0
-
-Changes since Edje 1.7.0:
--------------------------
-
-Additions:
-    * Report type of file when listing file used by an edc.
-    * Add nested parts support.
-    * Add EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN
-    * Add edje_codegen - A code generator to working with edje files.
-    * Add more tags(preedit_sub1~4) for a variety of preediting states.
-    * Add embryo function get_image_id
-    * edje_player slave mode supports sending messages.
-    * Add support to physics.
-
-Improvements:
-    * Change Edje to use Eo.
-    * Check the number of parameter for image in edc.
-    * Less memory used per part in an edje file (about 25% less).
-    * O(1) lookup used when searching Part_Lookup in edje_cc.
-    * O(1) lookup when generating alias of group.
-    * O(1) access time for parameters in edje_cc_handler.
-    * Recycle and use less memory during load time.
-    * Less memory used per callbacks.
-    * Don't generate an annotate file if edje_cc failed.
-    * Lua 5.2 support added, still works fine with 5.1.
-    * Evas now does compute Ellipsis.
-
-Fixes:
-    * fix scale_set with edje containing boxes and/or tables
-    * fix scale_set with edje containing groups
-    * fix edje_cc to use max, not default compression
-    * fix edje_text_class_set to update the text classes correctly.
-    * fix to not update map uv for proxy
-    * fix build on Solaris 11.
-    * fix duplicate after programs in group inheritance.
-    * fix return plain string in retrive surrounding text callback of entry
-    * Before cursor is moved by mouse_down, imf_context_reset should be called with current cursor position.
-
-Edje 1.7.0
-
-Changes since Edje 1.2.0:
--------------------------
-
-Additions:
-    * Add edje_watch to monitore change on edje source.
-    * Emit ['edje,change,file', 'edje'] when the file change on disk.
-    * edje_player will automatically reload the file when it change on disk.
-    * Add SPACER part. This part are not putting anything into the canvas. So lighter and faster to
-    process (Use it to replace RECT part that are never visible and never catch any event).
-    * Add accessibility flags and API to retrieve the relevant part.
-    * Emit signal when flagged part size get to zero.
-    * Warn at compile time about forgotten image.
-    * Stop compilation when clipping to a non RECT part.
-
-Improvements:
-    * Allocate once and reuse Evas_Map.
-    * Make edje_cc faster by improving the parser, mapping file in memory and using threads.
-    * Made state index optional in EDC files and Embryo scripts.
-    * Improve speed of color_class lookup by using an Eina_Hash.
-
-Fixes:
-    * Add missing files in the tarballs.
-    * Prevent crash when running nested edje_object_signal_emit with edje_object_signal_callback_{add,del}.
-    * Do actually verify that the file on disk is different from the file we have loaded.
-    * Preserve user drag, box and table information during call of edje_object_file_set.
-    * Fix table and text when fixed point is turned on.
-    * Clamp image tween to never underflow also.
-    * [entry] display preedit string even though there is no attribute
-    * Fix shutdown of Edje_Multisense.
-    * Reduce potential reentrant issue when using edje_object_signal_emit.
-    * Call edje_object_message_signal_process also on GROUP part Edje object.
-    * Remove memory leak when alias are present in the edj file.
-    * Properly destroy color_class and text_class on an Edje_Object.
-    * Stop leaking memory on edje block error during signal emit.
-
-Edje 1.2.0
-
-Changes since Edje 1.1.0:
--------------------------
-
-Additions:
-
-    * "recalc" smart callback for object size changes.
-    * EDJE_ASPECT_PREFER_SOURCE.
-    * edje.version() Lua function.
-    * minmul edc property.
-    * add min: SOURCE and max: SOURCE to IMAGE and GROUP parts.
-    * add broadcast_signal: bool.
-    * add edje_object_part_text_imf_context_get().
-    * add edje_object_update_hints_set() and edje_object_update_hints_get().
-    * nee keybindings in entry flr ctrl+arrows, ctrl+del and ctrl+backspace.
-    * cursor,changed,manual signal from entry.
-    * undo/redo in entry + IMF.
-    * HEX, TERMINAL, PASSOWORD vkbd types added.
-    * recalc smart callback for object size changes back to C.
-    * EDJE_ASPECT_PREFER_SOURCE.
-    * Lua: edje.version().
-    * minmul property.
-    * edje_object_part_text_style_user_set/get().
-    * min/max: SOURCE.
-    * edje_object_text_markup_filter_callback_add/del/del_full().
-    * edje_object_part_text_input_panel_show/hide().
-    * edje_object_part_text_imf_context_reset().
-    * edje_object_part_text_prediction_allow_set/get().
-    * add a way to disable signal broadcasting.
-    * edje_object_part_text_input_panel_language_set/get().
-    * edje_object_part_text_input_panel_imdata_set/get().
-    * edje_object_part_text_input_panel_return_key_type_set/get().
-    * edje_object_part_text_input_panel_return_key_disabled_set/get().
-    * edje_object_part_text_user_insert()
-    * double click in entry selects word, triple selects line.
-    * EDJE_VERSION_12 define in edc for #ifdefs handling edje 1.2 (or older)
-    * edje_object_part_text_escaped_set()
-
-Improvements:
-    * speedup load time of Edje file.
-    * check existence of group at compile time also.
-    * reduce number of call to stat during edje_object_file_set.
-    * unswallow object about to be swallowed if necessary.
-    * Lua scripts now more resilient against API changes.
-    * edje_cc only store the image actively used in an edje file.
-    * reduction in part walking.
-    * check group existence at edje_cc time.
-    * edje_object_part_text_cursor_content_get() prototype fixed.
-    * calling non-existant lua functions doesn't crash now.
-    * make it possible to update size hints automatically
-
-Fixes:
-    * Correctly count and propagate preload signal with GROUP.
-    * Fix rotation with fixed point.
-    * Correctly propagate scale factor to GROUP.
-    * Potential crash from buffer overflow copying map data.
-    * Limits detection by edje_cc.
-    * Errant free() call in loading of edje files.
-    * unswallow objects that are going to be swallowed elsewhere.
-    * ability to change edje source correctly inside edje callback.
-    * overriding group in edje_cc.
-    * filter now only valid once program affecting parts is done.
-    * edje_object_part_text_input_panel_enabled_set/get if IMF doesn't exist.
-    * EDJE_CALC_CACHE issues and when using relative to_x/y on separate parts.
-    * filter preventing any action being triggered.
-    * signal propagation when matching target GROUP exists.
-    * correctly count and propagate preload signal with GROUP
-    * rotation with fixed point
-    * propagate scale factor to GROUPS
-    * fix no number inserts even if numlock is locked
-
-Changes since Edje 1.0.0:
--------------------------
-
-Additions:
-
-    * "UNDER" entry cursor mode
-    * auto alignment of TEXT parts with text.alignment set to -1
-    * mirroring support
-    * edje_object_part_text_cursor_pos_set/get()
-    * size_range propert to TEXT parts
-    * proxy parts so part can source other parts including swallows
-    * support explicit shadow direction with added effect param
-    * edje_object_part_text_append()
-    * new interpolations: ACCEL_FAC, DECEL_FAC, SIN_FAC, DIVIS, BOUNCE, SPRING
-    * "entry,paste,request,1" signal (primary)
-    * "entry,paste,request,3" signal (clipboard)
-    * "entry,selection,all,request" signal
-    * "entry,selection,none,request" signal
-    * "entry,paste,request*" signals afte cursor change
-    * "entry,changed,user" signal
-    * collection.group.limits.horizontal/vertical
-    * input panel layout setting API's
-    * edje_object_signal_callback_extra_data_get()
-    * group inheritance and part re-ordering with inheritance
-    * add change information to "entry,changed,user"
-    * add "CURRENT" option for transitions to transition from current state
-    * lua color/text class, map, text, image, line, polygon and edje object API's
-
-Fixes:
-
-    * invalid memory access in edje alias code
-    * recusive aliases fixed
-    * cursor didn't change on backspace signal
-    * propagation of recursive events on existing part
-    * box/table signal not including name correctly
-    * clicked signal on entry
-    * propagation of recursive events between existing and non-existing parts
-    * textblock handling in size_min_restricted_calc fixed
-    * stop emitting "cursor,changed" on text set
-    * external usage in sub groups now have proper parents
-    * ellipsis fixed with small text parts
-    * edje_shutdown() fixed if called before all edje objects are gone
-    * allow -1 for description.max
-
-Improvements:
-
-    * built-in epp (from e16) to replace cpp/gcc pre-processor on all platforms
-    * edje_decc only uses edje_cc as compiler for security paranoia
-    * use smart clipper more from evas
-    * text.align now works for textblock too
-    * creation/deletion of edje objects should be faster with freeze and thaws
-    * don't walk eina_list when deleting member classes - faster
-    * part.description.max now can define just 1 axis
-    * signal and message propagation is more consistent and simpler now
diff --git a/legacy/edje/README b/legacy/edje/README
deleted file mode 100644 (file)
index 8ce2e21..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-Edje 1.7.99
-
-******************************************************************************
-
- FOR ANY ISSUES PLEASE EMAIL:
- enlightenment-devel@lists.sourceforge.net
-
-******************************************************************************
-
-Requirements:
--------------
-
-Must:
-  libc
-  eet (at least 1.5.0)
-  ecore (at least 1.1.0)
-  ecore-evas (at least 1.1.0)
-  ecore-file (at least 1.1.0)
-  embryo (at least 1.1.0)
-  evas (at least 1.1.0)
-For audio support (disabled - you have to patch to enable):
-  remix - https://github.com/kfish/remix
-  libsndfile (at least 1.0.22)
-  libvorbis
-  libogg
-  libflac
-  libasound (alsa)
-
-Edje is a graphical layout and animation library for animated resizable,
-compressed and scalable themes. It is meant to abstract UI from the
-programmer to make it possible to plug in any replacement look at feel
-that can be generated any time after an application or library has
-already been developed, thus allowing full flexibility of look and
-feel without having to involve the software developers.
-
-------------------------------------------------------------------------------
-COMPILING AND INSTALLING:
-
-  ./configure
-  make
-(as root unless you are installing in your users directories):
-  make install
diff --git a/legacy/edje/data/edc.vim b/legacy/edje/data/edc.vim
deleted file mode 100644 (file)
index 6041dcf..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-" Vim syntax file
-" Language:    EDC
-" Maintainer:  billiob <billiob@gmail.com>
-" Last Change: 05/08/2011
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-"
-" Usage:
-" 1) Copy this file to $HOME/.vim/syntax/
-" 2) Paste the following line to your $HOME/.vimrc file to load the syntax
-"    automatically:
-"
-"    au BufNewFile,BufRead *.edc set syntax=edc
-"
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
-  finish
-endif
-
-" A bunch of useful C keywords
-syn keyword    cStructure      images data fonts collections group externals
-syn keyword    cStructure      part parts dragable description rel1 rel2
-syn keyword    cStatement      text image font fill origin size tag
-syn keyword    cStructure      programs program script script_only lua_script lua_script_only styles style base
-syn keyword    cStructure      spectra spectrum box
-syn keyword    cStructure      physics movement_freedom faces face world
-syn match      cType           "+ + +;" contained
-
-syn keyword    cLabel          item name min max type effect
-syn keyword    cLabel          mouse_events repeat_events clip_to
-syn keyword    cLabel          color_class text_class x y confine
-syn keyword    cLabel          state visible align step aspect aspect_preference fixed
-syn keyword    cLabel          relative offset to to_x to_y normal tween
-syn keyword    cLabel          border color color2 color3 font size fit align
-syn keyword    cLabel          signal source action transition in target after
-syn keyword    cLabel          text smooth inherit scale middle ignore_flags
-syn keyword    cLabel          alias events entry_mode select_mode multiline
-syn keyword    cLabel          source1 source2 source3 source4 source5 source6
-syn keyword    cLabel          text_source transitions layout padding
-syn keyword    cLabel          size_w size_h size_max_w size_max_h size_min_w size_min_w
-syn keyword    cLabel          spread scale_hint elipsis ellipsis pointer_mode prefer
-syn keyword    cLabel          precise_is_inside use_alternate_font_metrics options
-syn keyword    cLabel          aspect_mode position span angle repch api
-syn keyword    cLabel          external params size_range border_scale minmul
-
-syn keyword    cLabel          mass density material restitution friction
-syn keyword    cLabel          ignore_part_pos light_on damping sleep
-syn keyword    cLabel          physics_body hardness linear angular
-syn keyword    cLabel          backface_cull gravity rate z depth
-
-syn keyword    cConditional    if else switch
-syn keyword    cRepeat         while for do
-syn keyword    cConstant       COMP RAW LOSSY USER
-syn keyword    cConstant       RECT TEXT IMAGE SWALLOW TEXTBLOCK GRADIENT SPACER
-syn keyword    cConstant       GROUP BOX TABLE EXTERNAL ITEM
-syn keyword    cConstant       SOLID AUTOGRAB NOGRAB
-syn keyword    cConstant       NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW
-syn keyword    cConstant       SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW
-syn keyword    cConstant       FAR_SOFT_SHADOW FAR_SHADOW GLOW
-syn keyword    cConstant       STATE_SET ACTION_STOP SIGNAL_EMIT
-syn keyword    cConstant       SCRIPT LUA_SCRIPT
-syn keyword    cConstant       DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE
-syn keyword    cConstant       LINEAR SINUSOIDAL ACCELERATE DECELERATE
-syn keyword    cConstant       VERTICAL HORIZONTAL ON_HOLD BOTH EDITABLE EXPLICIT
-syn keyword    cConstant       FOCUS_SET "default" NEITHER
-syn keyword    cConstant       DYNAMIC STATIC PASSWORD
-
-syn keyword    cConstant       RIGID_BOX RIGID_SPHERE SOFT_BOX SOFT_SPHERE
-syn keyword    cConstant       RIGID_CYLINDER SOFT_CYLINDER
-syn keyword    cConstant       CLOTH BOUNDARY_TOP BOUNDARY_BOTTOM BOUNDARY_LEFT
-syn keyword    cConstant       BOUNDARY_RIGHT BOUNDARY_FRONT BOUNDARY_BACK
-syn keyword    cConstant       PHYSICS_IMPULSE PHYSICS_TORQUE_IMPULSE
-syn keyword    cConstant       PHYSICS_FORCE PHYSICS_TORQUE PHYSICS_STOP
-syn keyword    cConstant       PHYSICS_FORCES_CLEAR PHYSICS_VEL_SET
-syn keyword    cConstant       PHYSICS_ANG_VEL_SET BOX_MIDDLE_FRONT
-syn keyword    cConstant       BOX_MIDDLE_BACK BOX_FRONT BOX_BACK BOX_LEFT
-syn keyword    cConstant       BOX_RIGHT BOX_TOP BOX_BOTTOM
-syn keyword    cConstant       CYLINDER_MIDDLE_FRONT CYLINDER_MIDDLE_BACK
-syn keyword    cConstant       CYLINDER_FRONT CYLINDER_BACK CYLINDER_CURVED
-syn keyword    cConstant       CLOTH_FRONT CLOTH_BACK SPHERE_FRONT SPHERE_BACK
-
-syn keyword    cTodo           contained TODO FIXME XXX
-
-" cCommentGroup allows adding matches for special things in comments
-syn cluster    cCommentGroup   contains=cTodo
-
-" String and Character constants
-" Highlight special characters (those which have a backslash) differently
-syn match      cSpecial        display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
-if !exists("c_no_utf")
-  syn match    cSpecial        display contained "\\\(u\x\{4}\|U\x\{8}\)"
-endif
-if exists("c_no_cformat")
-  syn region   cString         start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial
-  " cCppString: same as cString, but ends at end of line
-  syn region   cCppString      start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial
-else
-  syn match    cFormat         display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
-  syn match    cFormat         display "%%" contained
-  syn region   cString         start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
-  " cCppString: same as cString, but ends at end of line
-  syn region   cCppString      start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat
-endif
-
-syn match      cCharacter      "L\='[^\\]'"
-syn match      cCharacter      "L'[^']*'" contains=cSpecial
-if exists("c_gnu")
-  syn match    cSpecialError   "L\='\\[^'\"?\\abefnrtv]'"
-  syn match    cSpecialCharacter "L\='\\['\"?\\abefnrtv]'"
-else
-  syn match    cSpecialError   "L\='\\[^'\"?\\abfnrtv]'"
-  syn match    cSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
-endif
-syn match      cSpecialCharacter display "L\='\\\o\{1,3}'"
-syn match      cSpecialCharacter display "'\\x\x\{1,2}'"
-syn match      cSpecialCharacter display "L'\\x\x\+'"
-
-"when wanted, highlight trailing white space
-if exists("c_space_errors")
-  if !exists("c_no_trail_space_error")
-    syn match  cSpaceError     display excludenl "\s\+$"
-  endif
-  if !exists("c_no_tab_space_error")
-    syn match  cSpaceError     display " \+\t"me=e-1
-  endif
-endif
-
-"catch errors caused by wrong parenthesis and brackets
-syn cluster    cParenGroup     contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cCommentSkip,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
-if exists("c_no_bracket_error")
-  syn region   cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString
-  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString
-  syn match    cParenError     display ")"
-  syn match    cErrInParen     display contained "[{}]"
-else
-  syn region   cParen          transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString
-  " cCppParen: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppParen       transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString
-  syn match    cParenError     display "[\])]"
-  syn match    cErrInParen     display contained "[\]{}]"
-  syn region   cBracket        transparent start='\[' end=']' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString
-  " cCppBracket: same as cParen but ends at end-of-line; used in cDefine
-  syn region   cCppBracket     transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString
-  syn match    cErrInBracket   display contained "[);{}]"
-endif
-
-"integer number, or floating point number without a dot and with "f".
-syn case ignore
-syn match      cNumbers        display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
-" Same, but without octal error (for comments)
-syn match      cNumbersCom     display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
-syn match      cNumber         display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
-"hex number
-syn match      cNumber         display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
-" Flag the first zero of an octal number as something special
-syn match      cOctal          display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
-syn match      cOctalZero      display contained "\<0"
-syn match      cFloat          display contained "\d\+f"
-"floating point number, with dot, optional exponent
-syn match      cFloat          display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
-"floating point number, starting with a dot, optional exponent
-syn match      cFloat          display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
-"floating point number, without dot, with exponent
-syn match      cFloat          display contained "\d\+e[-+]\=\d\+[fl]\=\>"
-" flag an octal number with wrong digits
-syn match      cOctalError     display contained "0\o*[89]\d*"
-syn case match
-
-if exists("c_comment_strings")
-  " A comment can contain cString, cCharacter and cNumber.
-  " But a "*/" inside a cString in a cComment DOES end the comment!  So we
-  " need to use a special type of cString: cCommentString, which also ends on
-  " "*/", and sees a "*" at the start of the line as comment again.
-  " Unfortunately this doesn't very well work for // type of comments :-(
-  syntax match cCommentSkip    contained "^\s*\*\($\|\s\+\)"
-  syntax region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
-  syntax region cComment2String        contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
-  syntax region  cCommentL     start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError
-  syntax region cComment       matchgroup=cCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError
-else
-  syn region   cCommentL       start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError
-  syn region   cComment        matchgroup=cCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError
-endif
-" keep a // comment separately, it terminates a preproc. conditional
-syntax match   cCommentError   display "\*/"
-syntax match   cCommentStartError display "/\*"me=e-1 contained
-
-syn keyword    cOperator       sizeof
-if exists("c_gnu")
-  syn keyword  cStatement      __asm__
-  syn keyword  cOperator       typeof __real__ __imag__
-endif
-syn keyword    cType           int long short char void
-syn keyword    cType           signed unsigned float double
-if !exists("c_no_ansi") || exists("c_ansi_typedefs")
-  syn keyword   cType          size_t wchar_t ptrdiff_t sig_atomic_t fpos_t
-  syn keyword   cType          clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t
-  syn keyword   cType          mbstate_t wctrans_t wint_t wctype_t
-endif
-if !exists("c_no_c99") " ISO C99
-  syn keyword  cType           bool complex
-  syn keyword  cType           int8_t int16_t int32_t int64_t
-  syn keyword  cType           uint8_t uint16_t uint32_t uint64_t
-  syn keyword  cType           int_least8_t int_least16_t int_least32_t int_least64_t
-  syn keyword  cType           uint_least8_t uint_least16_t uint_least32_t uint_least64_t
-  syn keyword  cType           int_fast8_t int_fast16_t int_fast32_t int_fast64_t
-  syn keyword  cType           uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
-  syn keyword  cType           intptr_t uintptr_t
-  syn keyword  cType           intmax_t uintmax_t
-endif
-if exists("c_gnu")
-  syn keyword  cType           __label__ __complex__ __volatile__
-endif
-
-syn keyword    cStructure      struct union enum typedef
-syn keyword    cStorageClass   static register auto volatile extern const
-if exists("c_gnu")
-  syn keyword  cStorageClass   inline __attribute__
-endif
-
-if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
-  if exists("c_gnu")
-    syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__
-  endif
-  syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__
-  syn keyword cConstant __STDC_VERSION__
-  syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
-  syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
-  syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
-  syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX
-  syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
-  syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
-  syn keyword cConstant FLT_RADIX FLT_ROUNDS
-  syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON
-  syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON
-  syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON
-  syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP
-  syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP
-  syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP
-  syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP
-  syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
-  syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP
-  syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL
-  syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
-  syn keyword cConstant LC_NUMERIC LC_TIME
-  syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN
-  syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
-  " Add POSIX signals as well...
-  syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP
-  syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
-  syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU
-  syn keyword cConstant SIGUSR1 SIGUSR2
-  syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF
-  syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam
-  syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
-  syn keyword cConstant TMP_MAX stderr stdin stdout
-  syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
-  " Add POSIX errors as well
-  syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
-  syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
-  syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR
-  syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV
-  syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS
-  syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM
-  syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV
-  " math.h
-  syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
-  syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
-endif
-if !exists("c_no_c99") " ISO C99
-  syn keyword cConstant true false
-endif
-
-syn region     cPreCondit      start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
-syn match      cPreCondit      display "^\s*#\s*\(else\|endif\)\>"
-if !exists("c_no_if0")
-  syn region   cCppOut         start="^\s*#\s*if\s\+0\+\>" end=".\|$" contains=cCppOut2
-  syn region   cCppOut2        contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
-  syn region   cCppSkip        contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=cSpaceError,cCppSkip
-endif
-syn region     cIncluded       display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn match      cIncluded       display contained "<[^>]*>"
-syn match      cInclude        display "^\s*#\s*include\>\s*["<]" contains=cIncluded
-"syn match cLineSkip   "\\$"
-syn cluster    cPreProcGroup   contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
-syn region     cDefine         start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@cPreProcGroup
-syn region     cPreProc        start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup
-
-syn match      cUserLabel      display "\I\i*" contained
-
-
-
-if exists("c_minlines")
-  let b:c_minlines = c_minlines
-else
-  if !exists("c_no_if0")
-    let b:c_minlines = 50      " #if 0 constructs can be long
-  else
-    let b:c_minlines = 15      " mostly for () constructs
-  endif
-endif
-exec "syn sync ccomment cComment minlines=" . b:c_minlines
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_c_syn_inits")
-  if version < 508
-    let did_c_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink cFormat               cSpecial
-  HiLink cCppString            cString
-  HiLink cCommentL             cComment
-  HiLink cCommentStart         cComment
-  HiLink cLabel                        Label
-  HiLink cUserLabel            Label
-  HiLink cConditional          Conditional
-  HiLink cRepeat               Repeat
-  HiLink cCharacter            Character
-  HiLink cSpecialCharacter     cSpecial
-  HiLink cNumber               Number
-  HiLink cOctal                        Number
-  HiLink cOctalZero            PreProc  " link this to Error if you want
-  HiLink cFloat                        Float
-  HiLink cOctalError           cError
-  HiLink cParenError           cError
-  HiLink cErrInParen           cError
-  HiLink cErrInBracket         cError
-  HiLink cCommentError         cError
-  HiLink cCommentStartError    cError
-  HiLink cSpaceError           cError
-  HiLink cSpecialError         cError
-  HiLink cOperator             Operator
-  HiLink cStructure            Structure
-  HiLink cStorageClass         StorageClass
-  HiLink cInclude              Include
-  HiLink cPreProc              PreProc
-  HiLink cDefine               Macro
-  HiLink cIncluded             cString
-  HiLink cError                        Error
-  HiLink cStatement            Statement
-  HiLink cPreCondit            PreCondit
-  HiLink cType                 Type
-  HiLink cConstant             Constant
-  HiLink cCommentString                cString
-  HiLink cComment2String       cString
-  HiLink cCommentSkip          cComment
-  HiLink cString               String
-  HiLink cComment              Comment
-  HiLink cSpecial              SpecialChar
-  HiLink cTodo                 Todo
-  HiLink cCppSkip              cCppOut
-  HiLink cCppOut2              cCppOut
-  HiLink cCppOut               Comment
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "edc"
-
-" vim: ts=8
diff --git a/legacy/edje/data/edje-mode.el b/legacy/edje/data/edje-mode.el
deleted file mode 100644 (file)
index 33c6fe6..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-;;; edje-mode-el -- Major mode for editing Edje files
-
-;; Author: Gustavo Sverzut Barbieri <barbieri@gmail.com>
-;; Created: 2007-07-23
-;; Keywords: Edje major-mode
-;; Url: http://barbieri-playground.googlecode.com/svn/dot-files/edje-mode.el
-;;      (if you find this file have problems, check that Url and request update)
-
-;; Copyright (C) 2007 Gustavo Sverzut Barbieri <barbieri@gmail.com>
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of
-;; the License, or (at your option) any later version.
-
-;; This program is distributed in the hope that it will be
-;; useful, but WITHOUT ANY WARRANTY; without even the implied
-;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-;; PURPOSE.  See the GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public
-;; License along with this program; if not, write to the Free
-;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-;; MA 02111-1307 USA
-
-;;; Commentary:
-;;
-;; This mode is based on tutorial from Scott Andrew Borton:
-;; http://two-wugs.net/emacs/mode-tutorial.html
-
-
-(defvar edje-mode-hook nil)
-
-(defun number-or-nil-to-string (v &optional default)
-  (cond ((numberp v) (number-to-string v))
-        ((stringp v) (if (string= v "") (number-to-string default) v))
-        (t           (number-to-string default))))
-
-(defun non-empty-string (s)
-  (and (not (eq 'nil s))
-       (not (string= "" s))))
-
-(defun edje-new-program-action-signal-emit (source emission)
-  "Insert new program SIGNAL_EMIT"
-  (interactive "ssource: \nsemission: ")
-  (insert
-   (concat
-    "               action: SIGNAL_EMIT \"" source "\" \"" emission "\";\n"
-    )))
-
-(defun edje-new-program-action-state-set (state value target)
-  "Insert new program STATE_SET"
-  (interactive "sstate: \nsvalue (0.0): \nstarget: ")
-  (insert
-   (concat
-    "               action: STATE_SET \"" state "\" "
-       (number-or-nil-to-string value 0.0) ";\n"
-    "               target: \"" target "\";\n"
-    )))
-
-(defun edje-new-program-action (action)
-  "Insert new program action"
-  (interactive "saction: ")
-  (setq action (upcase action))
-  (cond ((string= action "STATE_SET")
-         (edje-new-program-action-state-set "" 0.0 ""))
-        ((string= action "SIGNAL_EMIT")
-         (edje-new-program-action-signal-emit "" ""))
-        ))
-
-(defun edje-new-program (name signal source action)
-  "Insert new program block"
-  (interactive "sname: \nssignal: \nssource: \nsaction: ")
-  (insert
-   (concat
-    "\n"
-    "            program {\n"
-    "               name: \"" name "\";\n"
-
-    (if (non-empty-string signal)
-        (concat "               signal: \"" signal "\";\n"))
-
-    (if (non-empty-string source)
-        (concat "               source: \"" source "\";\n"))
-    ))
-
-  (edje-new-program-action action)
-
-  (insert
-   (concat
-    "            }\n"
-    "\n"
-    )))
-
-(defun edje-new-desc-relative (x y &optional defx defy)
-  "Insert new part description 'relative' line"
-  (interactive "sx: \nsy: ")
-  (insert
-   (concat
-    "                  relative: "
-    (number-or-nil-to-string x defx) " "
-    (number-or-nil-to-string y defy) ";\n"
-    )))
-
-(defun edje-new-desc-offset (x y &optional defx defy)
-  "Insert new part description 'offset' line"
-  (interactive "sx: \nsy: ")
-  (insert
-   (concat
-    "                  offset: "
-    (number-or-nil-to-string x defx) " "
-    (number-or-nil-to-string y defy) ";\n"
-    )))
-
-(defun edje-new-desc-inherit (name val)
-  "Insert new part description 'inherit' line"
-  (interactive "sname: \nsvalue: ")
-  (insert
-   (concat
-    "               inherit: \"" name "\" "
-    (number-or-nil-to-string val 0.0) ";\n"
-    )))
-
-(defun edje-new-desc-text (font size text)
-  "Insert new part description 'text' block"
-  (interactive "sfont: \nssize: \nstext: ")
-  (insert
-   (concat
-    "               text {\n"
-    "                  font: \"" font "\";\n"
-    "                  size: " (number-or-nil-to-string size) ";\n"
-    "                  text: \"" text "\";\n"
-    "               }\n"
-    )))
-
-(defun edje-new-desc-image (name)
-  "Insert new part description 'image' block"
-  (interactive "sname: ")
-  (insert
-   (concat
-    "               image {\n"
-    "                  normal: \"" name "\";\n"
-    "               }\n"
-    )))
-
-(defun edje-new-desc-color (r g b a &optional defr defg defb defa)
-  "Insert new part description 'color' line"
-  (interactive "sred: \nsgreen: \nsblue: \nsalpha: ")
-  (insert
-   (concat
-    "               color: "
-    (number-or-nil-to-string r defr) " "
-    (number-or-nil-to-string g defg) " "
-    (number-or-nil-to-string b defb) " "
-    (number-or-nil-to-string a defa) ";\n"
-    )))
-
-(defun edje-new-desc (name val &optional
-                           r1_rx r1_ry
-                           r2_rx r2_ry
-                           r1_ox r1_oy
-                           r2_ox r2_oy
-                           part_type)
-  "Insert new part description block"
-  (interactive "sName: \nsValue: ")
-  (insert
-   (concat
-    "            description {\n"
-    "               state: \"" name "\" " (number-or-nil-to-string val 0.0) ";\n"))
-  (if (string= part_type "RECT") (edje-new-desc-color 255 255 255 255))
-  (insert "               rel1 {\n")
-  (edje-new-desc-relative r1_rx r1_ry 0.0 0.0)
-  (edje-new-desc-offset r1_ox r1_oy 0 0)
-  (insert
-   (concat
-    "               }\n"
-    "               rel2 {\n"
-    ))
-  (edje-new-desc-relative r2_rx r2_ry 1.0 1.0)
-  (edje-new-desc-offset r2_ox r2_oy -1 -1)
-  (insert "               }\n")
-  (cond ((string= part_type "IMAGE") (edje-new-desc-image ""))
-        ((string= part_type "TEXT") (edje-new-desc-text "" 10 "contents"))
-        )
-  (insert "            }\n")
-  )
-
-(defun edje-new-part (name type &optional
-                           r1_rx r1_ry
-                           r2_rx r2_ry
-                           r1_ox r1_oy
-                           r2_ox r2_oy)
-  "Insert new part"
-  (interactive "sName: \nsType: ")
-  (setq type (upcase type))
-  (insert
-   (concat
-    "\n"
-    "         part {\n"
-    "            name: \"" name "\";\n"
-    "            type: " type ";\n"
-    "            mouse_events: 0;\n"
-    ))
-  (edje-new-desc "default" 0.0 r1_rx r1_ry r2_rx r2_ry r1_ox r1_oy r2_ox r2_oy type)
-  (insert
-   (concat
-    "         }\n"
-    )))
-
-(defun edje-setup-compile ()
-  (set (make-local-variable 'compile-command)
-       (concat "edje_cc " (buffer-file-name))
-  ))
-
-(defun edje-cc ()
-  "Runs edje_cc with current buffer."
-  (interactive)
-  (compile (edje-setup-compile)))
-
-(defvar edje-mode-map
-  (let ((edje-mode-map (make-sparse-keymap)))
-    (define-key edje-mode-map "\C-j" 'newline-and-indent)
-    (define-key edje-mode-map "\C-cp" 'edje-new-part)
-    (define-key edje-mode-map "\C-cd" 'edje-new-desc)
-    (define-key edje-mode-map "\C-cr" 'edje-new-desc-relative)
-    (define-key edje-mode-map "\C-co" 'edje-new-desc-offset)
-    (define-key edje-mode-map "\C-ch" 'edje-new-desc-inherit)
-    (define-key edje-mode-map "\C-cc" 'edje-new-desc-color)
-    (define-key edje-mode-map "\C-ci" 'edje-new-desc-image)
-    (define-key edje-mode-map "\C-ct" 'edje-new-desc-text)
-    (define-key edje-mode-map "\C-cg" 'edje-new-program)
-    (define-key edje-mode-map "\C-ca" 'edje-new-program-action)
-    (define-key edje-mode-map "\C-cs" 'edje-new-program-action-state-set)
-    (define-key edje-mode-map "\C-ce" 'edje-new-program-action-signal-emit)
-    edje-mode-map)
-  "Keymap for Edje major mode")
-
-(add-hook 'c-mode-hook 'edje-setup-compile)
-(add-to-list 'auto-mode-alist '("\\.edc$" . edje-mode))
-
-(defconst edje-font-lock-keywords-1
-  (eval-when-compile
-    (list
-     (list (concat "[ \t]*\\<"
-                   (regexp-opt
-                    '(
-                      "collections"
-                      "data"
-                      "description"
-                      "dragable"
-                      "fill"
-                      "fonts"
-                      "group"
-                      "image"
-                      "images"
-                      "origin"
-                      "part"
-                      "parts"
-                      "program"
-                      "programs"
-                      "rel1"
-                      "rel2"
-                      "script"
-                      "spectra"
-                      "style"
-                      "styles"
-                      "text"
-                      ) t) "\\>\\([ \t]*{\\|\\.\\)")
-           '(1 font-lock-function-name-face))
-
-     ))
-  "Major keywords")
-
-(defconst edje-font-lock-keywords-2
-  (eval-when-compile
-    (append edje-font-lock-keywords-1
-            (list
-             (list
-              (concat "^\\([ \t]*\\|[ \t]*[a-z]+\\.\\|\\)\\<"
-                      (regexp-opt
-                       '("action"
-                         "after"
-                         "alias"
-                         "align"
-                         "angle"
-                         "aspect"
-                         "aspect_preference"
-                         "base"
-                         "border"
-                         "clip_to"
-                         "collections"
-                         "color"
-                         "color2"
-                         "color3"
-                         "color_class"
-                         "color_classes"
-                         "confine"
-                         "data"
-                         "description"
-                         "dragable"
-                         "effect"
-                         "elipsis"
-                         "events"
-                         "fill"
-                         "fit"
-                         "fixed"
-                         "font"
-                         "fonts"
-                         "gradient"
-                         "group"
-                         "ignore_flags"
-                         "image"
-                         "images"
-                         "in"
-                         "inherit"
-                         "item"
-                         "max"
-                         "middle"
-                         "min"
-                         "mouse_events"
-                         "name"
-                         "normal"
-                         "offset"
-                         "origin"
-                         "part"
-                         "parts"
-                         "pointer_mode"
-                         "precise_is_inside"
-                         "program"
-                         "programs"
-                         "rel1"
-                         "rel2"
-                         "relative"
-                         "repeat_events"
-                         "signal"
-                         "size"
-                         "smooth"
-                         "source"
-                         "spectra"
-                         "spectrum"
-                         "spread"
-                         "state"
-                         "step"
-                         "style"
-                         "styles"
-                         "tag"
-                         "target"
-                         "text"
-                         "text_class"
-                         "text_source"
-                         "to"
-                         "to_x"
-                         "to_y"
-                         "transition"
-                         "tween"
-                         "type"
-                         "use_alternate_font_metrics"
-                         "visible"
-                         "x"
-                         "y"
-                         ) t) "\\>[ \t]*[:,]")
-              '(2 font-lock-keyword-face))
-             )))
-  "Minor keywords")
-
-(defconst edje-font-lock-keywords-3
-  (eval-when-compile
-    (append edje-font-lock-keywords-2
-            (list
-             (list
-              (concat "\\<"
-                      (regexp-opt
-                       '(; image options (st_images_image)
-                         "RAW"
-                         "COMP"
-                         "LOSSY"
-                         "USER"
-                         ; part types (st_collections_group_parts_part_type)
-                         "NONE"
-                         "RECT"
-                         "TEXT"
-                         "IMAGE"
-                         "SWALLOW"
-                         "TEXTBLOCK"
-                         "GRADIENT"
-                         "GROUP"
-                         ; ignore flags (st_collections_group_parts_part_ignore_flags)
-                         ;"NONE"
-                         "ON_HOLD"
-                         ; pointer mode (st_collections_group_parts_part_pointer_mode)
-                         "AUTOGRAB"
-                         "NOGRAB"
-                         ; aspect (st_collections_group_parts_part_description_aspect_preference)
-                         "NONE"
-                         "VERTICAL"
-                         "HORIZONTAL"
-                         "BOTH"
-                         ; text effect (st_collections_group_parts_part_effect)
-                         "NONE"
-                         "PLAIN"
-                         "OUTLINE"
-                         "SOFT_OUTLINE"
-                         "SHADOW"
-                         "SOFT_SHADOW"
-                         "OUTLINE_SHADOW"
-                         "OUTLINE_SOFT_SHADOW"
-                         "FAR_SHADOW"
-                         "FAR_SOFT_SHADOW"
-                         "GLOW"
-                         ; image fill (st_collections_group_parts_part_description_fill_type)
-                         "SCALE"
-                         "TILE"
-                         ; program action (st_collections_group_programs_program_action)
-                         "STATE_SET"
-                         "ACTION_STOP"
-                         "SIGNAL_EMIT"
-                         "DRAG_VAL_SET"
-                         "DRAG_VAL_STEP"
-                         "DRAG_VAL_PAGE"
-                         "SCRIPT"
-                         ; program transition (st_collections_group_programs_program_transition)
-                         "LINEAR"
-                         "SINUSOIDAL"
-                         "ACCELERATE"
-                         "DECELERATE"
-                         ) t) "\\>")
-              '(1 font-lock-builtin-face))
-             )))
-  "Enumerate values")
-
-(defconst edje-font-lock-keywords-4
-  (eval-when-compile
-    (append edje-font-lock-keywords-3
-            (list
-             (list
-              (concat "[ \t]*#"
-                      (regexp-opt
-                       '("if"
-                         "ifdef"
-                         "ifndef"
-                         "define"
-                         "else"
-                         "endif"
-                         "include"
-                         "undef") t) "[ \t]*")
-              '(1 font-lock-builtin-face))
-             )))
-  "CPP directives")
-
-(defconst edje-font-lock-keywords-5
-  (eval-when-compile
-    (append edje-font-lock-keywords-4
-            (list
-             (list "[ \t]*#undef[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
-                   '(1 font-lock-variable-name-face))
-             (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)("
-                   '(1 font-lock-function-name-face))
-             (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
-                   '(1 font-lock-variable-name-face))
-             )))
-  "CPP directives that define constants")
-
-
-(defvar edje-font-lock-keywords edje-font-lock-keywords-5)
-
-(defvar edje-mode-syntax-table
-  (let ((edje-mode-syntax-table (make-syntax-table)))
-    ; This is added so entity names with underscores can be more easily parsed
-    (modify-syntax-entry ?_ "w" edje-mode-syntax-table)
-    (modify-syntax-entry ?/ ". 124b" edje-mode-syntax-table)
-    (modify-syntax-entry ?* ". 23" edje-mode-syntax-table)
-    (modify-syntax-entry ?\n "> b" edje-mode-syntax-table)
-
-    edje-mode-syntax-table)
-  "Syntax table for edje-mode")
-
-(c-add-style
- "edje"
- '("gnu"
-   (indent-tabs-mode . nil)
-   (tab-width . 8)
-   (c-basic-offset . 3)
-   (c-backslash-column . 72)
-   (c-hanging-braces-alist  .
-                            ((block-open after)
-                             (brace-list-open after)
-                             (substatement-open after))
-                            )
-   (c-offsets-alist         .
-                            ((statement-block-intro . +)
-                             (defun-open            . 0)
-                             (substatement-open     . 0)
-                             (defun-block-intro     . +)
-                             (block-open            . 0)
-                             (label                 . +)
-                             ))))
-
-
-(define-derived-mode edje-mode c-mode "Edje"
-  "Major mode for editing Edje files"
-  (interactive)
-  (use-local-map edje-mode-map)
-  (set-syntax-table edje-mode-syntax-table)
-  (set (make-local-variable 'font-lock-defaults) '(edje-font-lock-keywords))
-  (set (make-local-variable 'require-final-newline) t)
-  (c-set-style "edje")
-  (run-hooks 'edje-mode-hook)
-  )
-
-(provide 'edje-mode)
-
-;;; edje-mode.el ends here
diff --git a/legacy/edje/data/edje.xml b/legacy/edje/data/edje.xml
deleted file mode 100644 (file)
index eb299e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
-       <mime-type type="text/edje">
-               <comment>Edje source file</comment>
-               <glob pattern="*.edc"/>
-       </mime-type>
-       <mime-type type="application/edje">
-               <comment>Edje file</comment>
-               <glob pattern="*.edj"/>
-       </mime-type>
-</mime-info>
diff --git a/legacy/edje/data/include/edje.inc b/legacy/edje/data/include/edje.inc
deleted file mode 100644 (file)
index 5fc9ec2..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/* Edje exported calls */
-
-/************************************************/
-/* Basic data storage/retrieval (it's explicit) */
-/************************************************/
-/* Example:
- * 
- * In the "global" script section of a group:
- * 
- * script {
- *   public global_value1;
- *   public global_value2;
- *   public global_value3;
- * }
- * 
- * In the program script sections, OR in any global functions/routines:
- * ( several examples of setting/getting values)
- * 
- * set_int(global_value1, 7);
- * set_float(global_value2, 42.0);
- * set_str(global_value3, "I am a smelly fish!");
- * new value1 = get_int(global_value1);
- * new Float:value2 = get_float(global_value2);
- * new value3[100]; get_str(global_value3, value3, 100);
- * set_int(global_value1, value1);
- * set_float(global_value2, value2);
- * set_str(global_value3, value3);
- */
-native       get_int   (id);
-native       set_int   (id, val);
-native Float:get_float (id);
-native       set_float (id, Float:val);
-native       get_strlen(id);
-native       get_str   (id, dst[], maxlen);
-native       set_str   (id, str[]);
-
-/********************/
-/* Edje list calls */
-/********************/
-native       count      (id);
-native       remove     (id, n);
-native       append_int (id, v);
-native       prepend_int(id, v);
-native       insert_int (id, pos, v);
-native       replace_int (id, pos, v);
-native       fetch_int  (id, pos);
-native       append_str (id, str[]);
-native       prepend_str(id, str[]);
-native       insert_str (id, pos, str[]);
-native       replace_str(id, pos, str[]);
-native       fetch_str  (id, pos, dst[], maxlen);
-native       append_float (id, Float:v);
-native       prepend_float(id, Float:v);
-native       insert_float (id, pos, Float:v);
-native       replace_float(id, pos, Float:v);
-native Float:fetch_float  (id, pos);
-
-/********************/
-/* Edje timer calls */
-/********************/
-native       timer       (Float:in, fname[], val);
-native       cancel_timer(id);
-
-/*******************/
-/* Edje anim calls */
-/*******************/
-native       anim       (Float:len, fname[], val);
-native       cancel_anim(id);
-
-/***********************************************************/
-/* Edje utility calls for dealing with edjes/programs etc. */
-/***********************************************************/
-/* Example:
- * 
- * emit("this_thing", "clicked");
- * emit("state", "playing");
- * 
- * set_state(PART:"logo", "glowing", 0.0);
- * set_state(PART:"button", "default", 0.0);
- * 
- * set_tween_state(PART:"button", 0.5, "default", 0.0, "clicked", 0.0);
- * 
- * run_program(PROGRAM:"program_name");
- */
-native       emit             (sig[], src[]);
-native       get_part_id      (part[]);
-native       get_image_id      (image[]);
-native       get_program_id   (program[]);
-native       set_state        (part_id, state[], Float:state_val);
-native       get_state        (part_id, dst[], maxlen, &Float:val);
-native       set_tween_state  (part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val);
-native       run_program      (program_id);
-native       get_drag_dir     (part_id);
-native       get_drag         (part_id, &Float:dx, &Float:dy);
-native       set_drag         (part_id, Float:dx, Float:dy);
-native       get_drag_size    (part_id, &Float:dx, &Float:dy);
-native       set_drag_size    (part_id, Float:dx, Float:dy);
-native       get_drag_step    (part_id, &Float:dx, &Float:dy);
-native       set_drag_step    (part_id, Float:dx, Float:dy);
-native       get_drag_page    (part_id, &Float:dx, &Float:dy);
-native       set_drag_page    (part_id, Float:dx, Float:dy);
-native       set_text         (part_id, str[]);
-native       get_text         (part_id, dst[], maxlen);
-native       get_min_size     (&w, &h);
-native       get_max_size     (&w, &h);
-native       get_color_class  (class[], &r, &g, &b, &a);
-native       set_color_class  (class[], r, g, b, a);
-native       set_text_class   (class[], font[], Float:size);
-native       get_text_class   (class[], font[], &Float:size);
-native       get_geometry     (part_id, &x, &y, &w, &h);
-native       get_mouse        (&x, &y);
-native       get_mouse_buttons();
-native       stop_program     (program_id);
-native       stop_programs_on (part_id);
-native       set_min_size     (Float:w, Float:h);
-native       set_max_size     (Float:w, Float:h);
-native       part_swallow     (part_id, GROUP:str[]);
-
-native       external_param_get_int(id, param_name[]);
-native       external_param_set_int(id, param_name[], value);
-native Float:external_param_get_float(id, param_name[]);
-native       external_param_set_float(id, param_name[], Float:value);
-native       external_param_get_strlen(id, param_name[]);
-native       external_param_get_str(id, param_name[], value[], value_maxlen);
-native       external_param_set_str(id, param_name[], value[]);
-native       external_param_get_choice_len(id, param_name[]);
-native       external_param_get_choice(id, param_name[], value[], value_maxlen);
-native       external_param_set_choice(id, param_name[], value[]);
-native       external_param_get_bool(id, param_name[]);
-native       external_param_set_bool(id, param_name[], value);
-
-enum Msg_Type
-{
-   MSG_NONE = 0,
-     MSG_STRING = 2,
-     MSG_INT = 3,
-     MSG_FLOAT = 4,
-     MSG_STRING_SET = 5,
-     MSG_INT_SET = 6,
-     MSG_FLOAT_SET = 7,
-     MSG_STRING_INT = 8,
-     MSG_STRING_FLOAT = 9,
-     MSG_STRING_INT_SET = 10,
-     MSG_STRING_FLOAT_SET = 11
-};
-
-native send_message(Msg_Type:type, id, ...);
-
-/**********************/
-/* Custom state calls */
-/**********************/
-
-/* Example:
- *
- * Create the custom state for "my_part", based on the
- * default description of the same part:
- *
- * custom_state(PART:"my_part", "default", 0.0);
- *
- * Later, use set_state_val() to change the properties of the custom
- * state:
- *
- * set_state_val(PART:"my_part", STATE_ALIGNMENT, 0.5, 0.5);
- *
- * get_state_val() works the same way.
- */
-
-native custom_state(part_id, state[], Float:state_val = 0.0);
-
-enum State_Param
-{
-       STATE_ALIGNMENT = 1,
-       STATE_MIN = 2,
-       STATE_MAX = 3,
-       STATE_STEP = 4,
-       STATE_ASPECT = 5,
-       STATE_ASPECT_PREF = 6,
-       STATE_COLOR = 7,
-       STATE_COLOR2 = 8,
-       STATE_COLOR3 = 9,
-       STATE_COLOR_CLASS = 10,
-       STATE_REL1 = 11,
-       STATE_REL1_TO = 12,
-       STATE_REL1_OFFSET = 13,
-       STATE_REL2 = 14,
-       STATE_REL2_TO = 15,
-       STATE_REL2_OFFSET = 16,
-       STATE_IMAGE = 17,
-       STATE_BORDER = 18,
-       STATE_FILL_SMOOTH = 19,
-       STATE_FILL_POS = 20,
-       STATE_FILL_SIZE = 21,
-       STATE_TEXT = 22,
-       STATE_TEXT_CLASS = 23,
-       STATE_TEXT_FONT = 24,
-       STATE_TEXT_STYLE = 25,
-       STATE_TEXT_SIZE = 26,
-       STATE_TEXT_FIT = 27,
-       STATE_TEXT_MIN = 28,
-       STATE_TEXT_MAX = 29,
-       STATE_TEXT_ALIGN = 30,
-       STATE_VISIBLE = 31,
-       STATE_MAP_ON = 32,
-       STATE_MAP_PERSP = 33,
-       STATE_MAP_LIGHT = 34,
-       STATE_MAP_ROT_CENTER = 35,
-       STATE_MAP_ROT_X = 36,
-       STATE_MAP_ROT_Y = 37,
-       STATE_MAP_ROT_Z = 38,
-       STATE_MAP_BACK_CULL = 39,
-       STATE_MAP_PERSP_ON = 40,
-       STATE_PERSP_ZPLANE = 41,
-       STATE_PERSP_FOCAL = 42,
-       STATE_PHYSICS_MASS = 43,
-       STATE_PHYSICS_FRICTION = 44,
-       STATE_PHYSICS_RESTITUTION = 45,
-       STATE_PHYSICS_DAMPING = 46,
-       STATE_PHYSICS_SLEEP = 47,
-       STATE_PHYSICS_MATERIAL = 48,
-       STATE_PHYSICS_DENSITY = 49,
-       STATE_PHYSICS_IGNORE_PART_POS = 50,
-       STATE_PHYSICS_LIGHT_ON = 51,
-       STATE_PHYSICS_HARDNESS = 52,
-       STATE_PHYSICS_MOV_FREEDOM_LIN = 53,
-       STATE_PHYSICS_MOV_FREEDOM_ANG = 54,
-       STATE_PHYSICS_BACK_CULL = 55,
-       STATE_PHYSICS_Z = 56,
-       STATE_PHYSICS_DEPTH = 57
-};
-
-native set_state_val(part_id, State_Param:p, ...);
-native get_state_val(part_id, State_Param:p, ...);
-
-/* Multisense */
-native       play_sample      (sample_name[], Float:speed);
-native       play_tone        (tone_name[], Float:duration);
-
-/***********************************************************/
-/* Edje physics calls.                                     */
-/***********************************************************/
-/* Example:
- *
- * physics_impulse(PART:"logo", 0, 50.8, 0);
- * physics_torque_impulse(PART:"logo", 0, 0, 3.4);
- *
- * physics_force(PART:"logo", 0, 240, 0);
- * physics_torque(PART:"logo", 0, 0, 2.2);
- * physics_clear_forces(PART:"logo");
- *
- * physics_set_velocity(PART:"logo", 40.5, 0, 0);
- * physics_set_ang_velocity(PART:"logo", 0, 0, -3);
- * physics_stop(PART:"logo");
- *
- * physics_set_rotation(PART:"logo", 0.707, 0, 0, 0.707);
- */
-native       physics_impulse          (part_id, Float:x, Float:y, Float:z);
-native       physics_torque_impulse   (part_id, Float:x, Float:y, Float:z);
-
-native       physics_torque           (part_id, Float:x, Float:y, Float:z);
-native       physics_get_torques      (part_id, &Float:x, &Float:y, &Float:z);
-native       physics_force            (part_id, Float:x, Float:y, Float:z);
-native       physics_get_forces       (part_id, &Float:x, &Float:y, &Float:z);
-native       physics_clear_forces     (part_id);
-
-native       physics_set_velocity     (part_id, Float:x, Float:y, Float:z);
-native       physics_get_velocity     (part_id, &Float:x, &Float:y, &Float:z);
-native       physics_set_ang_velocity (part_id, Float:x, Float:y, Float:z);
-native       physics_get_ang_velocity (part_id, &Float:x, &Float:y, &Float:z);
-native       physics_stop             (part_id);
-
-native       physics_set_rotation     (part_id, Float:w, Float:x, Float:y, Float:z);
-native       physics_get_rotation     (part_id, &Float:w, &Float:x, &Float:y, &Float:z);
diff --git a/legacy/edje/data/vim/autoload/edccomplete.vim b/legacy/edje/data/vim/autoload/edccomplete.vim
deleted file mode 100644 (file)
index e2521e9..0000000
+++ /dev/null
@@ -1,892 +0,0 @@
-" Vim completion script
-" Language:    EDC
-" Maintainer:  Viktor Kojouharov
-" Last Change: 2007 02 24
-
-function! edccomplete#Complete(findstart, base)
-  if a:findstart
-    " locate the start of the word
-    let line = getline('.')
-    let start = col('.') - 1
-    let compl_begin = col('.') - 2
-    let lastword = -1
-    if line =~ ':' && line !~ '\.'
-      while start > 0 && (line[start - 1] =~ '\k' || line[start - 1] =~ '"')
-       let start -= 1
-      endwhile
-    else
-      while start > 0
-       if line[start - 1] =~ '\k'
-         let start -= 1
-       elseif line[start - 1] =~ '\.'
-         if lastword == -1
-           let lastword = start - 2
-         endif
-         let start -= 1
-       else
-         break
-       endif
-      endwhile
-    endif
-    let b:compl_context = getline('.')[0:compl_begin]
-
-    if lastword == -1
-      let ppe = searchpos('\.', 'bcn')
-      let pps = searchpos('\w\+\.', 'bcn')
-      let b:sparent = ''
-      if ppe != [0, 0] && pps[0] == ppe[0] && pps[1] <= ppe[1] && pps[0] == line('.')
-       let b:scontext = line[pps[1] -1 : ppe[1] - 2]
-        call edccomplete#FindParent(pps[0], pps[1])
-       return start
-      endif
-
-      let startpos = searchpair('{', '', '}', 'bnW')
-      let lnum = startpos
-      let line = getline(lnum)
-
-      if line !~ '\a\+'
-        let lnum = prevnonblank(lnum - 1)
-       let line = getline(lnum)
-      endif
-
-      call edccomplete#FindParent(lnum, 1)
-      let b:scontext = matchstr(line, '\w\+')
-
-      return start
-    else
-      let b:scontext = line[start : lastword]
-
-      return lastword + 2
-    endif
-  else
-    " find months matching with "a:base"
-    let res = []
-    if exists("b:compl_context")
-      let line = b:compl_context
-      unlet! b:compl_context
-    else
-      let line = a:base
-    endif
-
-    if b:scontext == 'part'
-      call edccomplete#AddLabel(res, line, a:base, s:partLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:partStatement)
-      if line =~ 'type:\s*'
-        call edccomplete#AddKeyword(res, a:base, s:partTypes)
-      elseif line =~ 'effect:\s*'
-        call edccomplete#AddKeyword(res, a:base, s:partEffects)
-      elseif line =~ 'select_mode:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:partSelectMode)
-      elseif line =~ 'ignore_flags:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:partIgnoreFlags)
-      elseif line =~ 'pointer_mode:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:partPointerMode)
-      elseif line =~ 'editable_mode:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:partEditableMode)
-      endif
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'dragable'
-      call edccomplete#AddLabel(res, line, a:base, s:dragableLabel)
-
-    elseif b:scontext == 'description'
-      call edccomplete#AddLabel(res, line, a:base, s:descriptionLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:descriptionStatement)
-      if line =~ 'aspect_preference:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:aspectPrefTypes)
-      elseif line =~ 'inherit:\s*"\?'
-       call edccomplete#FindStates(res, a:base, 1)
-      endif
-
-    elseif b:scontext == 'rel1' || b:scontext == 'rel2'
-      call edccomplete#AddLabel(res, line, a:base, s:relLabel)
-      if line =~ 'to\%(_[xy]\)\?:\s*"\?'
-        call edccomplete#FindNamesIn(res, a:base, 'parts')
-      endif
-
-    elseif b:scontext == 'map'
-      call edccomplete#AddLabel(res, line, a:base, s:mapLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:mapStatement)
-
-    elseif b:scontext == 'rotation'
-      call edccomplete#AddLabel(res, line, a:base, s:rotationLabel)
-
-    elseif b:scontext == 'perspective'
-      call edccomplete#AddLabel(res, line, a:base, s:perspectiveLabel)
-
-    elseif b:scontext == 'params'
-      call edccomplete#AddLabel(res, line, a:base, s:paramsLabel)
-
-    elseif b:scontext == 'image'
-      call edccomplete#AddLabel(res, line, a:base, s:imageLabel)
-      if line =~ 'image:\s*".\{-}"'
-        call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      elseif line =~ 'middle:\s*'
-        call edccomplete#AddKeyword(res, a:base, s:imageMiddleTypes)
-      elseif line =~ 'scale_hint:\s*'
-        call edccomplete#AddKeyword(res, a:base, s:imageScaleHint)
-      endif
-
-    elseif b:scontext == 'fill'
-      call edccomplete#AddLabel(res, line, a:base, s:fillLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:fillStatement)
-      if line =~ 'type:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:fillTypes)
-      endif
-
-    elseif b:scontext == 'origin' || b:scontext == 'size'
-      call edccomplete#AddLabel(res, line, a:base, s:fillInnerStatement)
-
-    elseif b:scontext == 'text'
-      call edccomplete#AddLabel(res, line, a:base, s:textLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:textStatement)
-
-    elseif b:scontext == 'program'
-      call edccomplete#AddLabel(res, line, a:base, s:programLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:programStatement)
-      if line =~ 'transition:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:transitionTypes)
-      elseif line =~ 'STATE_SET\s*"\?'
-       call edccomplete#FindStates(res, a:base, 0)
-      elseif line =~ 'action:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:actionTypes)
-      elseif line =~ 'target:\s*"\?'
-       call edccomplete#FindNamesIn(res, a:base, 'parts')
-      elseif line =~ 'after:\s*"\?'
-       call edccomplete#FindNamesIn(res, a:base, 'programs')
-      endif
-
-    elseif b:scontext == 'programs'
-      call edccomplete#AddLabel(res, line, a:base, s:programsLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:programsStatement)
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'box' && b:sparent == 'part'
-      call edccomplete#AddStatement(res, line, a:base, s:boxStatement)
-
-    elseif b:scontext == 'items'
-      call edccomplete#AddStatement(res, line, a:base, s:boxItemsStatement)
-
-    elseif b:scontext == 'item'
-      call edccomplete#AddLabel(res, line, a:base, s:boxItemLabel)
-      if line =~ 'type:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:boxItemTypes)
-      elseif line =~ 'aspect_mode:\s*"\?'
-       call edccomplete#AddKeyword(res, a:base, s:boxItemAspectMode)
-      endif
-
-    elseif b:scontext == 'box' && b:sparent == 'description'
-      call edccomplete#AddLabel(res, line, a:base, s:boxDescLabel)
-      if line =~ 'layout:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:boxLayout)
-      endif
-
-    elseif b:scontext == 'table' && b:sparent == 'description'
-      call edccomplete#AddLabel(res, line, a:base, s:tableDescLabel)
-      if line =~ 'homogeneous:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:tableHomogeneousMode)
-      endif
-
-    elseif b:scontext == 'group'
-      call edccomplete#AddLabel(res, line, a:base, s:groupLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:groupStatement)
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'parts'
-      call edccomplete#AddLabel(res, line, a:base, s:partsLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:partsStatement)
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'data'
-      call edccomplete#AddLabel(res, line, a:base, s:dataLabel)
-
-    elseif b:scontext == 'fonts'
-      call edccomplete#AddLabel(res, line, a:base, s:fontsLabel)
-
-    elseif b:scontext == 'spectra'
-      call edccomplete#AddStatement(res, line, a:base, s:spectraStatement)
-
-    elseif b:scontext == 'spectrum'
-      call edccomplete#AddLabel(res, line, a:base, s:spectrumLabel)
-
-    elseif b:scontext == 'gradient'
-      call edccomplete#AddLabel(res, line, a:base, s:gradientLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:gradientStatement)
-      if line =~ 'type:\s*'
-       call edccomplete#AddKeyword(res, a:base, s:gradientTypes)
-      endif
-
-    elseif b:scontext == 'styles'
-      call edccomplete#AddStatement(res, line, a:base, s:stylesStatement)
-
-    elseif b:scontext == 'style'
-      call edccomplete#AddLabel(res, line, a:base, s:styleLabel)
-
-    elseif b:scontext == 'color_classes'
-      call edccomplete#AddStatement(res, line, a:base, s:color_classesStatement)
-
-    elseif b:scontext == 'color_class'
-      call edccomplete#AddLabel(res, line, a:base, s:color_classLabel)
-
-    elseif b:scontext == 'images'
-      call edccomplete#AddLabel(res, line, a:base, s:imagesLabel)
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'collections'
-      call edccomplete#AddLabel(res, line, a:base, s:collectionsLabel)
-      call edccomplete#AddStatement(res, line, a:base, s:collectionsStatement)
-      if line =~ 'image:\s*".\{-}"'
-       call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
-      endif
-
-    elseif b:scontext == 'externals'
-      call edccomplete#AddLabel(res, line, a:base, s:externalsLabel)
-
-    elseif strlen(b:scontext) == 0
-      call edccomplete#AddStatement(res, line, a:base, s:topStatement)
-    endif
-
-    unlet! b:scontext
-
-    return res
-  endif
-endfunction
-
-function! edccomplete#AddLabel(res, line, base, label)
-  if a:line =~ ':'
-    return
-  endif
-
-  for m in sort(keys(a:label))
-    if m =~ '^' . a:base
-      call add(a:res, {'word': m . ':', 'menu': a:label[m]})
-    endif
-  endfor
-endfunction
-
-function! edccomplete#AddKeyword(res, base, label)
-  for m in sort(keys(a:label))
-    if m =~ '^' . a:base
-      call add(a:res, {'word': m, 'menu': a:label[m]})
-    endif
-  endfor
-endfunction
-
-function! edccomplete#AddStatement(res, line, base, statement)
-  if a:line =~ ':'
-    return
-  endif
-
-  for m in sort(a:statement)
-    if m =~ '^' . a:base
-      call add(a:res, m . ' {')
-    endif
-  endfor
-endfunction
-
-function! edccomplete#FindStates(res, base, in_part)
-  let curpos = getpos('.')
-  call remove(curpos, 0, 0)
-
-  let states_list = []
-  if a:in_part == 1    " in the current part only
-    let part_start = search('^[ \t}]*\<part\>[ \t{]*$', 'bnW')
-    if part_start != 0  " found it
-      let line = getline(part_start)
-      if line !~ '{'
-       let part_start = nextnonblank(part_start)
-      endif
-      call cursor(part_start, 0)
-      let part_end = searchpair('{', '', '}', 'nW')
-    endif
-  else                         " in the current parts group
-    let part_start = search('^[ \t}]*\<parts\>[ \t{]*$', 'bnW')
-    if part_start != 0  " found it
-      let line = getline(part_start)
-      if line !~ '{'
-       let part_start = nextnonblank(part_start)
-      endif
-      call cursor(part_start, 0)
-      let part_end = searchpair('{', '', '}', 'nW')
-    endif
-  endif
-
-  let state_num = search('\%(state:\s*\)"\w\+"', 'W', part_end)
-  while state_num
-    let state = matchstr(getline(state_num), '\%(state:\s*\)\@<="\w\+"')
-    call extend(states_list, [state])
-    let state_num = search('\%(state:\s*\)"\w\+"', 'W', part_end)
-  endwhile
-  call cursor(curpos)
-
-  for m in sort(states_list)
-    if m =~ '^' . a:base
-      call add(a:res, m)
-    endif
-  endfor
-endfunction
-
-function! edccomplete#FindNamesIn(res, base, str)
-  let curpos = getpos('.')
-  call remove(curpos, 0, 0)
-
-  let names_list = []
-  let part_start = search('^[ \t}]*\<' . a:str . '\>[ \t{]*$', 'bnW')
-  if part_start != 0  " found it
-    let line = getline(part_start)
-    if line !~ '{'
-      let part_start = nextnonblank(part_start)
-    endif
-    call cursor(part_start, 0)
-    let part_end = searchpair('{', '', '}', 'nW')
-  endif
-
-  let name_num = search('\%(name:\s*\)"\w\+"', 'W', part_end)
-  while name_num
-    let name = matchstr(getline(name_num), '\%(name:\s*\)\@<="\w\+"')
-    call extend(names_list, [name])
-    let name_num = search('\%(name:\s*\)"\w\+"', 'W', part_end)
-  endwhile
-  call cursor(curpos)
-
-  for m in sort(names_list)
-    if m =~ '^' . a:base
-      call add(a:res, m)
-    endif
-  endfor
-endfunction
-
-function! edccomplete#FindParent(lnum, cnum)
-  call setpos('.', [0, a:lnum, a:cnum, 0])
-  let ppe = searchpos('\.', 'bcn')
-  let pps = searchpos('\w\+\.', 'bcn')
-  if ppe != [0, 0] && pps[0] == ppe[0] && pps[1] <= ppe[1] && pps[0] == line('.')
-    let b:sparent = line[pps[1] -1 : ppe[1] - 2]
-    return
-  endif
-
-  let startpos = searchpair('{', '', '}', 'bnW')
-  let lnum = startpos
-  let line = getline(lnum)
-
-  if line !~ '\a\+'
-    let line = getline(prevnonblank(lnum - 1))
-  endif
-
-  let b:sparent = matchstr(line, '\w\+')
-endfunction
-
-" part
-let s:partLabel = {
-      \ 'name':                        '"name"',
-      \ 'type':                                'keyword',
-      \ 'effect':                      'keyword',
-      \ 'clip_to':                     '"part_name"',
-      \ 'scale':                       '0-1',
-      \ 'mouse_events':                        '0-1',
-      \ 'repeat_events':               '0-1',
-      \ 'ignore_flags':                        'keyword ...',
-      \ 'pointer_mode':                        'keyword',
-      \ 'select_mode':                 'keyword',
-      \ 'precise_is_inside':           '0-1',
-      \ 'use_alternate_font_metrics':  '0-1',
-      \ 'image':                       '"filename" keyword',
-      \ 'font':                                '"filename" "name"',
-      \ 'entry_mode':                  'keyword',
-      \ 'multiline':                   '0-1 (TEXTBLOCK only)',
-      \ 'source':                      '"group_name" (GROUP or TEXTBLOCK only)',
-      \ 'source2':                     '"group_name" (TEXTBLOCK only)',
-      \ 'source3':                     '"group_name" (TEXTBLOCK only)',
-      \ 'source4':                     '"group_name" (TEXTBLOCK only)',
-      \ 'source5':                     '"group_name" (TEXTBLOCK only)',
-      \ 'source6':                     '"group_name" (TEXTBLOCK only)',
-      \ }
-let s:partStatement = [
-      \ 'dragable',
-      \ 'images',
-      \ 'fonts',
-      \ 'description',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'program',
-      \ 'programs',
-      \ 'box',
-      \ ]
-
-" dragable
-let s:dragableLabel = {
-      \ 'x':           '0-1 int int',
-      \ 'y':           '0-1 int int',
-      \ 'confine':     '"part_name"',
-      \ 'events':      '"draggable_part_name"',
-      \ }
-
-" description
-let s:descriptionLabel = {
-      \ 'state':               '"name" index (float)',
-      \ 'inherit':             '"description" index (float)',
-      \ 'visible':             '0-1',
-      \ 'align':               'x y (float)',
-      \ 'fixed':               'width height (0-1)',
-      \ 'min':                 'width height (int)',
-      \ 'max':                 'width height (int)',
-      \ 'step':                        'width height (int)',
-      \ 'aspect':              'min max (float)',
-      \ 'aspect_preference':   'keyword',
-      \ 'color_class':         '"name"',
-      \ 'color':               '0-255 0-255 0-255 0-255',
-      \ 'color2':              '0-255 0-255 0-255 0-255',
-      \ 'color3':              '0-255 0-255 0-255 0-255',
-      \ 'font':                '"filename" "name"',
-      \ }
-let s:descriptionStatement = [
-      \ 'rel1',
-      \ 'rel2',
-      \ 'image',
-      \ 'fill',
-      \ 'text',
-      \ 'gradient',
-      \ 'images',
-      \ 'fonts',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'program',
-      \ 'programs',
-      \ 'box',
-      \ 'map',
-      \ ]
-
-" rel
-let s:relLabel = {
-      \ 'relative':    'x y (float)',
-      \ 'offset':      'x y (int)',
-      \ 'to':          '"part_name"',
-      \ 'to_x':                '"part_name"',
-      \ 'to_y':                '"part_name"',
-      \ }
-" map
-let s:mapLabel = {
-      \ 'on':          '0-1',
-      \ 'perspective': '"part_name"',
-      \ 'light':       '"part_name"',
-      \ 'smooth':      '0-1',
-      \ 'pespective_on':'0-1',
-      \ 'backface_cull':'0-1',
-      \ 'alpha':       '0-1',
-      \ }
-let s:mapStatement = [
-      \ 'rotation',
-      \ ]
-
-let s:rotationLabel = {
-      \ 'center':      '"part_name"',
-      \ 'x':           '"degrees (float)"',
-      \ 'y':           '"degrees (float)"',
-      \ 'z':           '"degrees (float)"',
-      \ }
-
-" params
-let s:paramsLabel = {
-      \ 'int':         '"name" int',
-      \ 'double':       '"name" double',
-      \ 'string':       '"name" "string"',
-      \ }
-
-" perspective
-let s:perspectiveLabel = {
-      \ 'zplane':      'int',
-      \ 'focal':        'int',
-      \ }
-
-
-" image
-let s:imageLabel = {
-      \ 'image':       '"filename" keyword',
-      \ 'normal':      '"filename"',
-      \ 'tween':       '"filename"',
-      \ 'border':      'left right top bottom (int)',
-      \ 'middle':      'keyword',
-      \ 'border_scale': '0-1',
-      \ 'scale_hint':  'keyword',
-      \ }
-
-" fill
-let s:fillLabel = {
-      \ 'smooth':      '0-1',
-      \ 'angle':       '0-360 (GRADIENT)',
-      \ 'spread':      '0-1',
-      \ 'type':                'keyword',
-      \ }
-let s:fillStatement = [
-      \ 'origin',
-      \ 'size',
-      \ ]
-" fill origin/size
-let s:fillInnerStatement = {
-      \ 'relative':    'width height (float)',
-      \ 'offset':      'x y (int)',
-      \ }
-" fill types
-let s:fillTypes = {
-      \ 'SCALE':    '',
-      \ 'TILE':            '',
-      \ }
-
-" text
-let s:textLabel = {
-      \ 'text':                '"string"',
-      \ 'font':                '"font_name"',
-      \ 'size':                'size (int)',
-      \ 'text_class':  '"class_name"',
-      \ 'fit':         'x y (0-1)',
-      \ 'min':         'x y (0-1)',
-      \ 'max':         'x y (0-1)',
-      \ 'align':       'x y (float)',
-      \ 'source':      '"part_name"',
-      \ 'text_source': '"text_part_name"',
-      \ 'style':       '"style_name"',
-      \ 'elipsis':     '0.0-1.0',
-      \ 'repch':       '"string" (PASSWORD mode)',
-      \ }
-let s:textStatement = [
-      \ 'fonts',
-      \ ]
-
-" program
-let s:programLabel = {
-      \ 'name':                '"name"',
-      \ 'signal':      '"signal_name"',
-      \ 'source':      '"part_name"',
-      \ 'action':      'keyword ...',
-      \ 'transition':  'keyword time (float)',
-      \ 'filter':      '"part_name" "state_name"',
-      \ 'in':          'from range (float)',
-      \ 'target':      '"part_name"',
-      \ 'after':       '"program_name"',
-      \ }
-let s:programStatement = [
-      \ 'script',
-      \ 'lua_script',
-      \ ]
-
-
-" programs
-let s:programsLabel = {
-      \ 'image':       '"filename" keyword',
-      \ 'font':                '"filename" "name"',
-      \ }
-let s:programsStatement = [
-      \ 'images',
-      \ 'fonts',
-      \ 'program',
-      \ ]
-
-" box and table
-let s:boxStatement = [
-      \ 'items',
-      \ ]
-let s:boxItemsStatement = [
-      \ 'item',
-      \ ]
-let s:boxItemLabel = {
-      \ 'type':                'keyword',
-      \ 'name':                '"name"',
-      \ 'source':      '"group_name"',
-      \ 'min':         'width height (int)',
-      \ 'prefer':      'width height (int)',
-      \ 'max':         'width height (int)',
-      \ 'padding':      'left right top bottom (int)',
-      \ 'align':       'x y (float)',
-      \ 'weight':      'x y (float)',
-      \ 'aspect':      'w h (float)',
-      \ 'aspect_mode':  'keyword',
-      \ 'options':      '"extra options"',
-      \ }
-let s:boxDescLabel = {
-      \ 'layout':       '"string" ["string"]',
-      \ 'align':       'float float',
-      \ 'padding':      'int int',
-      \ }
-let s:tableItemLabel = {
-      \ 'position':     'col row (int)',
-      \ 'span':                'col row (int)',
-      \ }
-let s:tableDescLabel = {
-      \ 'homogeneous': 'keyword',
-      \ 'align':       'float float',
-      \ 'padding':      'int int',
-      \ }
-
-" group
-let s:groupLabel = {
-      \ 'name':                '"name"',
-      \ 'alias':       '"alias"',
-      \ 'min':         'width height',
-      \ 'max':         'width height',
-      \ 'image':       '"filename" keyword',
-      \ 'font':                '"filename" "name"',
-      \ 'script_only': '0-1',
-      \ }
-let s:groupStatement = [
-      \ 'data',
-      \ 'script',
-      \ 'lua_script',
-      \ 'parts',
-      \ 'images',
-      \ 'fonts',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'program',
-      \ 'programs',
-      \ 'externals',
-      \ ]
-
-" parts
-let s:partsStatement = [
-      \ 'images',
-      \ 'fonts',
-      \ 'part',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'program',
-      \ 'programs',
-      \ ]
-let s:partsLabel = {
-      \ 'image':       '"filename" keyword',
-      \ 'font':                '"filename" "name"',
-      \ }
-
-" data
-let s:dataLabel = {
-      \ 'item':                '"key" "value"',
-      \ 'file':                '"key" "filename"',
-      \ }
-
-" fonts
-let s:fontsLabel = {
-      \ 'font':                '"filename" "name"',
-      \ }
-
-"images
-let s:imagesLabel = {
-      \ 'image':       '"filename" keyword',
-      \ }
-
-"collections
-let s:collectionsStatement = [
-      \ 'group',
-      \ 'images',
-      \ 'fonts',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'externals',
-      \ ]
-let s:collectionsLabel = {
-      \ 'image':       '"filename" keyword',
-      \ 'font':                '"filename" "name"',
-      \ }
-
-" externals
-let s:externalsLabel = {
-      \ 'external':            '"name"',
-      \ }
-
-" spectra
-let s:spectraStatement = [
-      \ 'spectrum',
-      \ ]
-" spectrum
-let s:spectrumLabel = {
-      \ 'name':                '"name"',
-      \ 'color':       '0-255 0-255 0-255 0-255',
-      \ }
-" gradient
-let s:gradientLabel = {
-      \ 'type':                '"keyword"',
-      \ 'spectrum':    '"spectrum_name"',
-      \ }
-let s:gradientStatement = [
-      \ 'rel1',
-      \ 'rel2',
-      \ ]
-" gradient types
-let s:gradientTypes = {
-      \ '"linear"':            '',
-      \ '"radial"':            '',
-      \ '"rectangular"':       '',
-      \ '"angular"':           '',
-      \ '"sinusoidal"':                '',
-      \ }
-
-" styles
-let s:stylesStatement = [
-      \ 'style',
-      \ ]
-" style
-let s:styleLabel = {
-      \ 'name':                '"name"',
-      \ 'base':        '".. default style properties .."',
-      \ 'tag':                 '"tagname" "style properties"',
-      \ }
-
-" color_classes
-let s:color_classesStatement = [
-      \ 'color_class',
-      \ ]
-" color_class
-let s:color_classLabel = {
-      \ 'name':                '"name"',
-      \ 'color':       '0-255 0-255 0-255 0-255',
-      \ 'color2':      '0-255 0-255 0-255 0-255',
-      \ 'color3':      '0-255 0-255 0-255 0-255',
-      \ }
-
-" toplevel
-let s:topStatement = [
-      \ 'fonts',
-      \ 'images',
-      \ 'data',
-      \ 'collections',
-      \ 'spectra',
-      \ 'styles',
-      \ 'color_classes',
-      \ 'externals',
-      \ ]
-
-" images image storage method
-let s:imageStorageMethod = {
-      \ 'COMP':                '',
-      \ 'RAW':         '',
-      \ 'USER':                '',
-      \ 'LOSSY':       '0-100',
-      \ }
-" image middle types
-let s:imageMiddleTypes = {
-      \ '0':           '',
-      \ '1':           '',
-      \ 'NONE':                '',
-      \ 'DEFAULT':     '',
-      \ 'SOLID':       '',
-      \ }
-" image scale hint
-let s:imageScaleHint = {
-      \ '0':           '',
-      \ 'NONE':                '',
-      \ 'DYNAMIC':     '',
-      \ 'STATIC':      '',
-      \ }
-
-" part types
-let s:partTypes = {
-      \ 'TEXT':                '',
-      \ 'IMAGE':       '',
-      \ 'RECT':                '',
-      \ 'TEXTBLOCK':   '',
-      \ 'SWALLOW':     '',
-      \ 'GRADIENT':    '',
-      \ 'GROUP':       '',
-      \ 'BOX':         '',
-      \ 'TABLE':        '',
-      \ 'EXTERNAL':     '',
-      \ }
-" part effects
-let s:partEffects = {
-      \ 'NONE':                        '',
-      \ 'PLAIN':               '',
-      \ 'OUTLINE':             '',
-      \ 'SOFT_OUTLINE':                '',
-      \ 'SHADOW':              '',
-      \ 'SOFT_SHADOW':         '',
-      \ 'OUTLINE_SHADOW':      '',
-      \ 'OUTLINE_SOFT_SHADOW': '',
-      \ 'FAR_SHADOW':  '',
-      \ 'FAR_SOFT_SHADOW':     '',
-      \ 'GLOW':        '',
-      \ }
-" part select_mode
-let s:partSelectMode = {
-      \ 'DEFAULT':             '',
-      \ 'EXPLICIT':            '',
-      \ }
-" part ignore flags 
-let s:partIgnoreFlags = {
-      \ 'NONE':                '',
-      \ 'ON_HOLD':     '',
-      \ }
-" part pointer mode
-let s:partPointerMode = {
-      \ 'AUTOGRAB':     '',
-      \ 'NOGRAB':      '',
-      \ }
-" part editable_mode
-let s:partEditableMode = {
-      \ 'NONE':                '',
-      \ 'PLAIN':       '',
-      \ 'EDITABLE':    '',
-      \ 'PASSWORD':    '',
-      \ }
-
-" aspect_preference types
-let s:aspectPrefTypes = {
-      \ 'VERTICAL':    '',
-      \ 'HORIZONTAL':  '',
-      \ 'BOTH':                '',
-      \        }
-
-" program transition types
-let s:transitionTypes = {
-      \ 'LINEAR':      '0.0 - 1.0',
-      \ 'SINUSOIDAL':  '0.0 - 1.0',
-      \ 'ACCELERATE':  '0.0 - 1.0',
-      \ 'DECELERATE':  '0.0 - 1.0',
-      \ }
-" program action types
-let s:actionTypes = {
-      \ 'STATE_SET':           '"string" "0.0 - 1.0"',
-      \ 'ACTION_STOP':         '',
-      \ 'SIGNAL_EMIT':         '"string" "string"',
-      \ 'DRAG_VAL_SET':                'float float',
-      \ 'DRAG_VAL_STEP':       'float float',
-      \ 'DRAG_VAL_PAGE':       'float float',
-      \ 'FOCUS_SET':           '',
-      \ }
-" box item types
-let s:boxItemTypes = {
-      \ 'GROUP':       '',
-      \ }
-" box item aspect mode
-let s:boxItemAspectMode = {
-      \ 'NONE':                '',
-      \ 'NEITHER':     '',
-      \ 'VERTICAL':    '',
-      \ 'HORIZONTAL':  '',
-      \ 'BOTH':                '',
-      \        }
-" box layout
-let s:boxLayout = {
-      \ '"horizontal"':                '',
-      \ '"horizontal_homogeneous"':    '',
-      \ '"horizontal_max"':    '',
-      \ '"horizontal_flow"':   '',
-      \ '"vertical"':          '',
-      \ '"vertical_homogeneous"':      '',
-      \ '"vertical_max"':      '',
-      \ '"vertical_flow"':     '',
-      \ '"stack"':             '',
-      \        }
-" table homogeneous mode
-let s:tableHomogeneousMode = {
-      \ 'NONE':                '',
-      \ 'TABLE':       '',
-      \ 'ITEM':                '',
-      \        }
diff --git a/legacy/edje/data/vim/ftdetect/edc.vim b/legacy/edje/data/vim/ftdetect/edc.vim
deleted file mode 100644 (file)
index d8cc228..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-au BufRead,BufNewFile *.edc    set filetype=edc
-au BufRead,BufNewFile *.sma    set filetype=embryo
-au BufRead,BufNewFile *.embryo set filetype=embryo
diff --git a/legacy/edje/data/vim/ftplugin/edc.vim b/legacy/edje/data/vim/ftplugin/edc.vim
deleted file mode 100644 (file)
index 5a90a56..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-" Vim filetype plugin file
-" Language:         EDC
-" Maintainer:       Viktor Kojouharov
-" Latest Revision:  2006-10-29
-
-if exists("b:did_ftplugin")
-  finish
-endif
-let b:did_ftplugin = 1
-
-let b:undo_ftplugin = "setl com< cms< inc< fo< efm< mp<"
-
-setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
-setlocal commentstring=/*%s*/
-setlocal formatoptions-=t formatoptions+=croql
-setlocal include=^\s*#\s*include
-setlocal efm=edje_cc:%s.\ %f:%l\ %m
-setlocal mp=edje_cc\ %
-
-if exists('&ofu')
-  setlocal ofu=edccomplete#Complete
-  setlocal cfu=edccomplete#Complete
-endif
diff --git a/legacy/edje/data/vim/indent/edc.vim b/legacy/edje/data/vim/indent/edc.vim
deleted file mode 100644 (file)
index 498be4a..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-" Vim indent file
-" Language:         EDC
-" Maintainer:       Viktor Kojouharov
-" Latest Revision:  2007 02 24
-
-if exists("b:did_indent")
-  finish
-endif
-let b:did_indent = 1
-
-setlocal indentexpr=GetEDCIndent()
-setlocal indentkeys=0{,0},!^F,o,O
-
-if exists("*GetEDCIndent")
-  finish
-endif
-
-function s:prevnonblanknoncomment(lnum)
-  let lnum = a:lnum
-  while lnum > 1
-    let lnum = prevnonblank(lnum)
-    let line = getline(lnum)
-    if line =~ '\*/'
-      while lnum > 1 && line !~ '/\*'
-       let lnum -= 1
-      endwhile
-      if line =~ '^\s*/\*'
-       let lnum -= 1
-      else
-       break
-      endif
-    elseif line =~ '^\s*//'
-      let lnum -= 1
-    else
-      break
-    endif
-  endwhile
-  return lnum
-endfunction
-
-function s:count_braces(lnum, count_open)
-  let n_open = 0
-  let n_close = 0
-  let line = getline(a:lnum)
-  let pattern = '[{}]'
-  let i = match(line, pattern)
-  while i != -1
-    if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'c\%(CommentL\|Comment\|StringQ\{1,2}\)'
-      if line[i] == '{'
-       let n_open += 1
-      elseif line[i] == '}'
-       if n_open > 0
-         let n_open -= 1
-       else
-         let n_close += 1
-       endif
-      endif
-    endif
-    let i = match(line, pattern, i + 1)
-  endwhile
-  return a:count_open ? n_open : n_close
-endfunction
-
-function GetEDCIndent()
-  let line = getline(v:lnum)
-  if line =~ '^\s*\*' || line =~ '^\s*//' || line =~ '^\s*}'
-    return cindent(v:lnum)
-  endif
-
-  let pnum = s:prevnonblanknoncomment(v:lnum - 1)
-  if pnum == 0
-    return 0
-  endif
-
-  let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
-
-  let pline = getline(pnum)
-  if pline =~ '}\s*$'
-    let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
-  endif
-
-  return ind
-endfunction
diff --git a/legacy/edje/data/vim/plugin-info.txt b/legacy/edje/data/vim/plugin-info.txt
deleted file mode 100644 (file)
index e01cb42..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "name" : "edje",
-  "version" : "dev",
-  "author" : "viktor kojouharov <vkojouharov at gmail.com>",
-  "repository" : {"type": "svn", "url": "http://svn.enlightenment.org/svn/e/trunk/edje/data/vim/"},
-  "dependencies" : {},
-  "description" : "Edje vim support addon"
-}
diff --git a/legacy/edje/data/vim/snippets/edc.snippets b/legacy/edje/data/vim/snippets/edc.snippets
deleted file mode 100644 (file)
index bb93e42..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-snippet col
-       collections {
-               ${1}
-       }
-
-snippet images
-       images {
-               ${1}
-       }
-
-snippet image
-       image: "${1:.png}" COMP;
-
-snippet group
-       group { name: "${1}";
-               ${2}
-               parts {
-                       ${3}
-               }
-       }
-
-snippet part
-       part { name: "${1}";
-               type: ${2:RECT};
-               mouse_events: 0;
-               description { state: "default" 0.0;
-                       visible: 1;
-                       color: 255 255 255 255;
-                       rel1 {
-                               to_x: "${2:bg}";
-                               to_y: "${3:bg}";
-                               relative: 0.0 0.0;
-                               offset: 0 0;
-                       }
-                       rel2 {
-                               to_x: "${4:bg}";
-                               to_y: "${5:bg}";
-                               relative: 1.0 1.0;
-                               offset: -1 -1;
-                       }
-               }
-       }
-
-snippet bg
-       part { name: "${1:bg}";
-               type: RECT;
-               mouse_events: 0;
-               description { state: "default" 0.0;
-                       visible: 1;
-                       color: 0 0 0 0;
-               }
-       }
-
-snippet event
-       part { name: "${1:event}";
-               type: RECT;
-               mouse_events: 1;
-               description { state: "default" 0.0;
-                       visible: 1;
-                       color: 0 0 0 0;
-               }
-       }
-
-snippet IMAGE
-       part { name: "${1:image}";
-               type: IMAGE;
-               mouse_events: 0;
-               description { state: "default" 0.0;
-                       visible: 1;
-                       image {
-                               normal: "${2}";
-                               border: 0 0 0 0;
-                               middle: 1;
-                       }
-               }
-       }
-
-snippet desc
-       description { state: "${1}" ${2:0.0};
-               inherit: "default" 0.0;
-               ${3}
-       }
-
-snippet programs
-       programs {
-               ${1}
-       }
-
-snippet program
-       program { name: "${1}";
-               ${2}
-       }
-
-snippet clicked
-       program { name: "${1:mouse_clicked}";
-               signal: "mouse,clicked,${2:1}";
-               source: "${2:event}";
-               action: SIGNAL_EMIT "${3}" "${4}";
-       }
diff --git a/legacy/edje/data/vim/syntax/edc.vim b/legacy/edje/data/vim/syntax/edc.vim
deleted file mode 100644 (file)
index e21c018..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-" Vim syntax file
-" Language:    EDC
-" Maintainer:  Viktor Kojouharov
-" Last Change: 2007 02 24
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
-  finish
-endif
-
-" A bunch of useful keywords
-syn keyword    edcBlock        images data fonts collections group contained
-syn keyword    edcBlock        part parts dragable description contained
-syn keyword    edcBlock        text font fill origin size image contained
-syn keyword    edcBlock        programs program styles style contained
-syn keyword    edcBlock        gradient spectra spectrum contained
-syn keyword    edcBlock        color_classes color_class rel1 rel2 contained
-syn keyword    edcBlock        items item file params externals contained
-syn keyword    edcBlock        map rotation perspective script lua_script contained
-
-syn keyword    edcLabel        item name alias min max type effect contained
-syn keyword    edcLabel        mouse_events repeat_events clip_to contained
-syn keyword    edcLabel        x y z confine events scale contained
-syn keyword    edcLabel        ignore_flags precise_is_inside contained
-syn keyword    edcLabel        use_alternate_font_metrics entry_mode contained
-syn keyword    edcLabel        source source2 source3 source4 contained
-syn keyword    edcLabel        source5 source6 multiline pointer_mode contained
-syn keyword    edcLabel        state visible step aspect fixed middle contained
-syn keyword    edcLabel        aspect_preference ellipsis elipsis image contained
-syn keyword    edcLabel        relative offset to to_x to_y contained
-syn keyword    edcLabel        border border_scale scale_hint color color2 color3 font size contained
-syn keyword    edcLabel        signal action transition in filter contained
-syn keyword    edcLabel        target after fit align contained
-syn keyword    edcLabel        text smooth inherit tag base style contained
-syn keyword    edcLabel        text_source color_class text_class contained
-syn keyword    edcLabel        spectrum angle spread normal tween contained
-syn keyword    edcLabel        padding prefer weight aspect_mode contained
-syn keyword    edcLabel        options layout position span contained
-syn keyword    edcLabel        homogeneous contained
-syn keyword    edcLabel        on perspective light perspective_on contained
-syn keyword    edcLabel        backface_cull alpha center focus zplane contained
-syn keyword    edcLabel        int double string external script_only contained
-
-syn keyword    edcConstant     COMP RAW LOSSY NONE ON_HOLD AUTOGRAB NOGRAB
-syn keyword    edcConstant     TEXT IMAGE RECT TEXTBLOCK SWALLOW GRADIENT GROUP
-syn keyword    edcConstant     NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW
-syn keyword    edcConstant     SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW
-syn keyword    edcConstant     GLOW FAR_SHADOW FAR_SOFT_SHADOW
-syn keyword    edcConstant     STATE_SET ACTION_STOP SIGNAL_EMIT FOCUS_SET
-syn keyword    edcConstant     DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE
-syn keyword    edcConstant     LINEAR SINUSOIDAL ACCELERATE DECELERATE
-syn keyword    edcConstant     VERTICAL HORIZONTAL BOTH BOX TABLE
-syn keyword    edcConstant     EDITABLE PASSWORD "default"
-
-syn keyword    edcTodo         contained TODO FIXME XXX
-
-syn match      edcLabelMatch   "\w\+:" contains=edcLabel
-syn match      edcBlockMatch   "\w\+\_s*{" contains=edcBlock
-syn match      edcBlockMatch   "\w\+\.\a"me=e-2 contains=edcBlock
-" edcCommentGroup allows adding matches for special things in comments
-syn cluster    edcCommentGroup contains=edcTodo
-
-" String and Character constants
-" Highlight special characters (those which have a backslash) differently
-syn match      edcSpecial      display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
-syn region     edcString       start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=edcSpecial
-syn match      edcFormat       display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
-syn match      edcFormat       display "%%" contained
-syn region     edcString       start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
-
-syn match      edcCharacter    "L\='[^\\]'"
-syn match      edcCharacter    "L'[^']*'" contains=edcSpecial
-syn match      edcSpecialError "L\='\\[^'\"?\\abfnrtv]'"
-syn match      edcSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
-syn match      edcSpecialCharacter display "L\='\\\o\{1,3}'"
-syn match      edcSpecialCharacter display "'\\x\x\{1,2}'"
-syn match      edcSpecialCharacter display "L'\\x\x\+'"
-
-"when wanted, highlight trailing white space
-if exists("edc_space_errors")
-  if !exists("edc_no_trail_space_error")
-    syn match  edcSpaceError   display excludenl "\s\+$"
-  endif
-  if !exists("edc_no_tab_space_error")
-    syn match  edcSpaceError   display " \+\t"me=e-1
-  endif
-endif
-
-"catch errors caused by wrong parenthesis and brackets
-syn cluster    edcParenGroup   contains=edcParenError,edcIncluded,edcSpecial,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcUserCont,edcUserLabel,edcBitField,edcCommentSkip,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom
-if exists("edc_no_bracket_error")
-  syn region   edcParen        transparent start='(' end=')' contains=ALLBUT,@edcParenGroup
-  syn match    edcParenError   display ")"
-  syn match    edcErrInParen   display contained "[{}]"
-else
-  syn region   edcParen        transparent start='(' end=')' contains=ALLBUT,@edcParenGroup,edcErrInBracket
-  syn match    edcParenError   display "[\])]"
-  syn match    edcErrInParen   display contained "[\]{}]"
-  syn region   edcBracket      transparent start='\[' end=']' contains=ALLBUT,@edcParenGroup,edcErrInParen
-  syn match    edcErrInBracket display contained "[);{}]"
-endif
-
-"integer number, or floating point number without a dot and with "f".
-syn case ignore
-syn match      edcNumbers      display transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctalError,edcOctal
-" Same, but without octal error (for comments)
-syn match      edcNumbersCom   display contained transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctal
-syn match      edcNumber       display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
-"hex number
-syn match      edcNumber       display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
-" Flag the first zero of an octal number as something special
-syn match      edcOctal        display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=edcOctalZero
-syn match      edcOctalZero    display contained "\<0"
-syn match      edcFloat        display contained "\d\+f"
-"floating point number, with dot, optional exponent
-syn match      edcFloat        display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
-"floating point number, starting with a dot, optional exponent
-syn match      edcFloat        display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
-"floating point number, without dot, with exponent
-syn match      edcFloat        display contained "\d\+e[-+]\=\d\+[fl]\=\>"
-" flag an octal number with wrong digits
-syn match      edcOctalError   display contained "0\o*[89]\d*"
-syn case match
-
-if exists("edc_comment_strings")
-  " A comment can contain edcString, edcCharacter and edcNumber.
-  " But a "*/" inside a edcString in a edcComment DOES end the comment!  So we
-  " need to use a special type of edcString: edcCommentString, which also ends
-  " on "*/", and sees a "*" at the start of the line as comment again.
-  " Unfortunately this doesn't very well work for // type of comments :-(
-  syntax match edcCommentSkip          contained "^\s*\*\($\|\s\+\)"
-  syntax region edcCommentString       contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=edcSpecial,edcCommentSkip
-  syntax region edcComment2String      contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=edcSpecial
-  syntax region edcCommentL            start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcComment2String,edcCharacter,edcNumbersCom,edcSpaceError
-  syntax region edcComment             matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcCommentString,edcCharacter,edcNumbersCom,edcSpaceError
-else
-  syn region   edcCommentL             start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcSpaceError
-  syn region   edcComment              matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcSpaceError
-endif
-" keep a // comment separately, it terminates a preproc. conditional
-syntax match   edcCommentError         display "\*/"
-syntax match   edcCommentStartError    display "/\*"me=e-1 contained
-
-syn region     edcPreCondit    start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=edcComment,edcCharacter,edcParenError,edcNumbers,edcCommentError,edcSpaceError
-syn match      edcPreCondit    display "^\s*#\s*\(else\|endif\)\>"
-syn region     edcIncluded     display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn match      edcIncluded     display contained "<[^>]*>"
-syn match      edcInclude      display "^\s*#\s*include\>\s*["<]" contains=edcIncluded
-syn cluster    edcPreProcGroup contains=edcPreCondit,edcIncluded,edcInclude,edcDefine,edcErrInParen,edcErrInBracket,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcParen,edcBracket,edcMulti,edcUserLabel
-syn cluster    edcAlphaNum     contains=edcSpecial,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom,edcString
-syn region     edcDefine       start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@edcPreProcGroup
-syn region     edcPreProc      start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@edcPreProcGroup
-
-syn match      edcUserLabel    display "\I\i*" contained
-
-syn include    @edcEmbryo      syntax/embryo.vim
-unlet b:current_syntax
-syn region     edcScript       matchgroup=edcScriptTag start="\<script\_s*{" end="}" contains=@edcEmbryo,edcScriptTag
-syn keyword     edcScriptTag    contained script
-
-syn include    @edcLua         syntax/lua.vim
-unlet b:current_syntax
-syn region     edcLuaScript    matchgroup=edcLuaScriptTag start="\<lua_script\_s*{" end="}" contains=@edcLua,edcLuaScriptTag
-syn keyword     edcLuaScriptTag contained script
-
-if exists("edc_minlines")
-  let b:edc_minlines = edc_minlines
-else
-  let b:edc_minlines = 50      " #if 0 constructs can be long
-endif
-exec "syn sync ccomment edcComment minlines=" . b:edc_minlines
-"syn sync fromstart
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_edc_syn_inits")
-  if version < 508
-    let did_edc_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink edcFormat             edcSpecial
-  HiLink edcCommentL           edcComment
-  HiLink edcCommentStart       edcComment
-  HiLink edcLabel              Label
-  HiLink edcUserLabel          Label
-  HiLink edcConditional                Conditional
-  HiLink edcRepeat             Repeat
-  HiLink edcCharacter          Character
-  HiLink edcSpecialCharacter   cSpecial
-  HiLink edcNumber             Number
-  HiLink edcOctal              Number
-  HiLink edcOctalZero          PreProc  " link this to Error if you want
-  HiLink edcFloat              Float
-  HiLink edcOctalError         edcError
-  HiLink edcParenError         edcError
-  HiLink edcErrInParen         edcError
-  HiLink edcErrInBracket       edcError
-  HiLink edcCommentError       edcError
-  HiLink edcCommentStartError  edcError
-  HiLink edcSpaceError         edcError
-  HiLink edcSpecialError       edcError
-  HiLink edcOperator           Operator
-  HiLink edcStructure          Structure
-  HiLink edcStorageClass       StorageClass
-  HiLink edcInclude            Include
-  HiLink edcPreProc            PreProc
-  HiLink edcDefine             Macro
-  HiLink edcIncluded           edcString
-  HiLink edcError              Error
-  HiLink edcBlock              Function
-  HiLink edcScriptTag          Function
-  HiLink edcLuaScriptTag       Function
-  HiLink edcPreCondit          PreCondit
-  HiLink edcConstant           Constant
-  HiLink edcCommentString      edcString
-  HiLink edcComment2String     edcString
-  HiLink edcCommentSkip                edcComment
-  HiLink edcString             String
-  HiLink edcComment            Comment
-  HiLink edcSpecial            SpecialChar
-  HiLink edcTodo               Todo
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "edc"
-
-" vim: ts=8
diff --git a/legacy/edje/data/vim/syntax/embryo.vim b/legacy/edje/data/vim/syntax/embryo.vim
deleted file mode 100644 (file)
index 11175d8..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-" Vim syntax file
-" Language:    Embryo
-" Maintainer:  Viktor Kojouharov
-" Last Change: 2006 10 06
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
-  finish
-endif
-
-" A bunch of useful keywords
-syn keyword embryoConditional  if else switch
-syn keyword embryoRepeat       while for do in
-syn keyword embryoBranch       break continue
-syn keyword embryoOperator     new
-syn keyword embryoType         Float State_Param Msg_Type enum
-syn keyword embryoStatement    return with native stock forward
-syn keyword embryoLabel                case default
-syn keyword embryoReserved     public
-syn keyword embryoEdjeKey      PART PROGRAM
-
-syn keyword    embryoTodo              contained TODO FIXME XXX
-
-" embryoCommentGroup allows adding matches for special things in comments
-syn cluster    embryoCommentGroup      contains=embryoTodo
-
-" String and Character constants
-" Highlight special characters (those which have a backslash) differently
-syn match      embryoSpecial   display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
-syn region     embryoString    start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=embryoSpecial
-syn match      embryoFormat    display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
-syn match      embryoFormat    display "%%" contained
-syn region     embryoString    start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat
-
-syn match      embryoCharacter "L\='[^\\]'"
-syn match      embryoCharacter "L'[^']*'" contains=embryoSpecial
-syn match      embryoSpecialError      "L\='\\[^'\"?\\abfnrtv]'"
-syn match      embryoSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
-syn match      embryoSpecialCharacter display "L\='\\\o\{1,3}'"
-syn match      embryoSpecialCharacter display "'\\x\x\{1,2}'"
-syn match      embryoSpecialCharacter display "L'\\x\x\+'"
-
-"when wanted, highlight trailing white space
-if exists("embryo_space_errors")
-  if !exists("embryo_no_trail_space_error")
-    syn match  embryoSpaceError        display excludenl "\s\+$"
-  endif
-  if !exists("embryo_no_tab_space_error")
-    syn match  embryoSpaceError        display " \+\t"me=e-1
-  endif
-endif
-
-"catch errors caused by wrong parenthesis and brackets
-syn cluster    embryoParenGroup        contains=embryoParenError,embryoIncluded,embryoSpecial,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoUserCont,embryoUserLabel,embryoBitField,embryoCommentSkip,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom
-if exists("embryo_no_bracket_error")
-  syn region   embryoParen     transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup
-  syn match    embryoParenError        display ")"
-  syn match    embryoErrInParen        display contained "[{}]"
-else
-  syn region   embryoParen     transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup,embryoErrInBracket
-  syn match    embryoParenError        display "[\])]"
-  syn match    embryoErrInParen        display contained "[\]{}]"
-  syn region   embryoBracket   transparent start='\[' end=']' contains=ALLBUT,@embryoParenGroup,embryoErrInParen
-  syn match    embryoErrInBracket      display contained "[);{}]"
-endif
-
-syn region embryoBrace start='{' end='}' transparent
-"integer number, or floating point number without a dot and with "f".
-syn case ignore
-syn match      embryoNumbers   display transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctalError,embryoOctal
-" Same, but without octal error (for comments)
-syn match      embryoNumbersCom        display contained transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctal
-syn match      embryoNumber    display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
-"hex number
-syn match      embryoNumber    display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
-" Flag the first zero of an octal number as something special
-syn match      embryoOctal     display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=embryoOctalZero
-syn match      embryoOctalZero display contained "\<0"
-syn match      embryoFloat     display contained "\d\+f"
-"floating point number, with dot, optional exponent
-syn match      embryoFloat     display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
-"floating point number, starting with a dot, optional exponent
-syn match      embryoFloat     display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
-"floating point number, without dot, with exponent
-syn match      embryoFloat     display contained "\d\+e[-+]\=\d\+[fl]\=\>"
-" flag an octal number with wrong digits
-syn match      embryoOctalError        display contained "0\o*[89]\d*"
-syn case match
-
-if exists("embryo_comment_strings")
-  " A comment can contain embryoString, embryoCharacter and embryoNumber.
-  " But a "*/" inside a embryoString in a embryoComment DOES end the comment!  So we
-  " need to use a special type of embryoString: embryoCommentString, which also ends
-  " on "*/", and sees a "*" at the start of the line as comment again.
-  " Unfortunately this doesn't very well work for // type of comments :-(
-  syntax match embryoCommentSkip               contained "^\s*\*\($\|\s\+\)"
-  syntax region embryoCommentString    contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=embryoSpecial,embryoCommentSkip
-  syntax region embryoComment2String   contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=embryoSpecial
-  syntax region embryoCommentL         start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoComment2String,embryoCharacter,embryoNumbersCom,embryoSpaceError
-  syntax region embryoComment          matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoCommentString,embryoCharacter,embryoNumbersCom,embryoSpaceError
-else
-  syn region   embryoCommentL          start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoSpaceError
-  syn region   embryoComment           matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoSpaceError
-endif
-" keep a // comment separately, it terminates a preproc. conditional
-syntax match   embryoCommentError              display "\*/"
-syntax match   embryoCommentStartErr   display "/\*"me=e-1 contained
-
-syn region     embryoPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=embryoComment,embryoCharacter,embryoParenError,embryoNumbers,embryoCommentError,embryoSpaceError
-syn match      embryoPreCondit display "^\s*#\s*\(else\|endif\)\>"
-syn region     embryoIncluded  display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn match      embryoIncluded  display contained "<[^>]*>"
-syn match      embryoInclude   display "^\s*#\s*include\>\s*["<]" contains=embryoIncluded
-syn cluster    embryoPreProcGroup      contains=embryoPreCondit,embryoIncluded,embryoInclude,embryoDefine,embryoErrInParen,embryoErrInBracket,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoParen,embryoBracket,embryoMulti,embryoUserLabel
-syn cluster    embryoAlphaNum  contains=embryoSpecial,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom,embryoString
-syn region     embryoDefine    start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@embryoPreProcGroup
-syn region     embryoPreProc   start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@embryoPreProcGroup
-
-syn match      embryoUserLabel display "\I\i*" contained
-
-syn match      embryoFunctionName      "\h\w*\s*\%((\@=\)"
-
-if exists("embryo_minlines")
-  let b:embryo_minlines = embryo_minlines
-else
-  let b:embryo_minlines = 50   " #if 0 constructs can be long
-endif
-exec "syn sync ccomment embryoComment minlines=" . b:embryo_minlines
-"syn sync fromstart
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_embryo_syn_inits")
-  if version < 508
-    let did_embryo_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink embryoFormat          embryoSpecial
-  HiLink embryoCommentL                embryoComment
-  HiLink embryoCommentStart    embryoComment
-  HiLink embryoLabel           Label
-  HiLink embryoUserLabel       Label
-  HiLink embryoConditional     Conditional
-  HiLink embryoRepeat          Repeat
-  HiLink embryoBranch          Conditional
-  HiLink embryoReserved                Keyword
-  HiLink embryoCharacter       Character
-  HiLink embryoSpecialCharacter        cSpecial
-  HiLink embryoNumber          Number
-  HiLink embryoOctal           Number
-  HiLink embryoOctalZero       PreProc  " link this to Error if you want
-  HiLink embryoFloat           Float
-  HiLink embryoOctalError      embryoError
-  HiLink embryoParenError      embryoError
-  HiLink embryoErrInParen      embryoError
-  HiLink embryoErrInBracket    embryoError
-  HiLink embryoCommentError    embryoError
-  HiLink embryoCommentStartErr embryoError
-  HiLink embryoSpaceError      embryoError
-  HiLink embryoSpecialError    embryoError
-  HiLink embryoOperator                Operator
-  HiLink embryoStructure       Structure
-  HiLink embryoEdjeKey         Structure
-  HiLink embryoStorageClass    StorageClass
-  HiLink embryoInclude         Include
-  HiLink embryoPreProc         PreProc
-  HiLink embryoDefine          Macro
-  HiLink embryoIncluded                embryoString
-  HiLink embryoError           Error
-  HiLink embryoStatement       Statement
-  HiLink embryoPreCondit       PreCondit
-  HiLink embryoType            Type
-  HiLink embryoConstant                Constant
-  HiLink embryoCommentString   embryoString
-  HiLink embryoComment2String  embryoString
-  HiLink embryoCommentSkip     embryoComment
-  HiLink embryoString          String
-  HiLink embryoComment         Comment
-  HiLink embryoSpecial         SpecialChar
-  HiLink embryoTodo            Todo
-  HiLink embryoFunctionName    Function
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "embryo"
-
-" vim: ts=8
diff --git a/legacy/edje/doc/examples.dox b/legacy/edje/doc/examples.dox
deleted file mode 100644 (file)
index a2afc5a..0000000
+++ /dev/null
@@ -1,1297 +0,0 @@
-/**
- * @page Examples Examples
- *
- * Here is a page with examples.
- *
- * @li @ref Example_Edje_Basics
- * @li @ref tutorial_edje_nested
- * @li @ref tutorial_edje_swallow
- * @li @ref tutorial_edje_swallow2
- * @li @ref tutorial_edje_text
- * @li @ref tutorial_edje_table
- * @li @ref tutorial_edje_color_class
- * @li @ref Example_Edje_Signals_Messages
- * @li @ref tutorial_edje_box
- * @li @ref tutorial_edje_box2
- * @li @ref tutorial_edje_drag
- * @li @ref tutorial_edje_perspective
- * @li @ref tutorial_edje_animations
- * @li @ref tutorial_edje_multisense
- * @li @ref tutorial_edje_basic2
- * @li @ref tutorial_edje_signals_2
- * @li @ref tutorial_edje_animations_2
- */
-
-/**
- * @page Example_Edje_Basics Edje basics example
- *
- * In this example, we illustrate how to start using the Edje library,
- * with the very basic one needs to instantiate an Edje object.
- *
- * We place, in the canvas, an Edje object along with a @b red border
- * image to delimit its geometry. After we instantiate the Edje
- * object, we @b have to set a file and a group, within that file, to
- * bind to it. For this example, we're using an EDC file which
- * declares two parts (blue and green rectangles) and an item data:
- * @include basic.edc
- *
- * We start by trying to access an @b unexistant group in the file, so
- * that you can see the usefulness of edje_object_load_error_get() and
- * edje_load_error_str(). Check that the error message will tell you
- * just that -- a group which didn't exist in the file was called for:
- * @dontinclude edje-basic.c
- * @skip file_path
- * @until file_path
- * @dontinclude edje-basic.c
- * @skip edje_object_add
- * @until }
- *
- * Than, we finally bind our Edje object to @c "example_group",
- * printing a message afterwards:
- * @dontinclude edje-basic.c
- * @skip file_path, "example_group"
- * @until object_show
- *
- * What follows is a series of Edje API calls which are of general
- * use. The first of them is edje_object_data_get(), which we use to
- * get the value we have put in the @c "example_data" data field, in
- * our EDC object declaration:
- * @dontinclude edje-basic.c
- * @skip data field in group
- * @until ;
- *
- * Than, we exemplify edje_object_part_exists():
- * @dontinclude edje-basic.c
- * @skip Testing if
- * @until ;
- *
- * The next call is to query @c "part_one"'s geometry, relative to the
- * whole Edje object's area. The part will be situated in the middle
- * of the Edje object's, because it has a restricted forced size (we
- * set its minimum size equal to its maximum, for that) and, by
- * default, parts are aligned to the center of their containers:
- * @dontinclude edje-basic.c
- * @skip part_geometry_get
- * @until x, y, w, h
- *
- * We can grab a direct pointer on the rectangle implementing @c
- * "part_one", by using edje_object_part_object_get(). Since we are
- * not allowed to set properties on it, we just check its color, to
- * assure its really blue, as declared in the EDC:
- * @dontinclude edje-basic.c
- * @skip color_get
- * @until x, y, w, h
- *
- * The @c "min" and @c "max" EDC properties can be queried with the
- * following calls:
- * @dontinclude edje-basic.c
- * @skip max_get
- * @until min. size is
- *
- * The next two calls are to make <b>size calculations</b> on our
- * object. Because of the minimum size declared for @c "part_one" part's
- * default state description, that will be our exact minimum
- * size calculated for the group (remember the @c "min" declaration at
- * group level is just a @b hint, not an enforcement). We then
- * exercise the edje_object_size_min_restricted_calc() function,
- * passing a minimum size of 500, in each axis. Since we have @b no
- * object bigger than that, it will be the minimum size calculated, in
- * the end:
- * @dontinclude edje-basic.c
- * @skip min_calc
- * @until size calculation is
- *
- * @c "part_two" part is there with a purpose: since it extrapolates
- * the Edje object's boundaries, the edje_object_parts_extends_calc()
- * function will report origin coordinates for the rectangle grouping
- * both parts with @b negative values, indicating it extrapolates to
- * the upper left of our group, just as we see it.
- *
- * To interact with the last features exemplified in the program,
- * there's a command line interface.  A help string can be asked for
- * with the 'h' key:
- * @dontinclude edje-basic.c
- * @skip commands
- * @until ;
- *
- * Those commands will change the scaling factors of our Edje objects.
- * The first of them, @c 's', will change Edje's @b global scaling
- * factor between @c 1.0 (no scaling) and @c 2.0 (double
- * scale). Scaling will be applied to @c "part_one", only, because
- * that's the part flagged to be scaled at EDC level:
- * @dontinclude edje-basic.c
- * @skip strcmp(ev->keyname, "s") == 0
- * @until }
- *
- * Note, finally, that the @c 's' command will depend on the 'r' one
- * to have its effects applied. The latter will change @c "part_one"'s
- * @b individual scaling factor, which @b overrides Edje's global
- * scaling factor. Only when the individual one is set to zero, will
- * the global one take effect:
- * @dontinclude edje-basic.c
- * @skip strcmp(ev->keyname, "r") == 0
- * @until }
- *
- *
- *
- * The example's window should look like this picture:
- *
- * @image html edje-basics-example.png
- * @image rtf edje-basics-example.png
- * @image latex edje-basics-example.eps width=\textwidth
- *
- * The full example follows.
- * @include edje-basic.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-basic edje-basic.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc basic.edc
- * @endverbatim
- * @example edje-basic.c
- */
-
-/**
- * @page tutorial_edje_nested Edje Nested Part (hierarchy) example
- *
- * Nested part feature represents the concept of hierarchy to edje.
- *
- * A nested part inherits it's location relatively to the parent part.
- * Thus, parent part modifications such move or map effects all nested parts.
- * To declare a nested part just start a new part declaration within
- * (before closing) the current part declaration.
- *
- * Note that nested part declaration is allowed only after
- * current part name is defined.
- *
- * Here's an example of a rect nested in other rect plus inner nested rect:
- * @include edje-nested.edc
- *
- * The example's window should look like this picture:
- *
- * @image html edje-nested.png
- * @image rtf edje-nested.png
- * @image latex edje-nested.eps width=\textwidth
- */
-
-/**
- * @page tutorial_edje_swallow Swallow example
- * @dontinclude edje-swallow.c
- *
- * This is a simple example in which we create a rect and swallow it.
- *
- * Focusing on the relevant parts of the code we go right to the creation of our
- * rectangle. It should be noted that we don't resize or show our rect, that is
- * because when an object is swallowed it's geometry and visibility is
- * controlled by the theme:
- * @skip 20
- * @skipline evas_object_rectangle_add
- * @until swallow
- *
- * The other bit of code that is relevant to us now is our check that the
- * swallow worked:
- * @until printf
- *
- * The full source code follows:
- * @include edje-swallow.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-swallow edje-swallow.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc swallow.edc
- * @endverbatim
- * @example edje-swallow.c
- */
-
-/**
- * @page tutorial_edje_text Edje Text example
- *
- *
- * This example shows how to manipulate TEXT and TEXTBLOCK parts from code.
- *
- * The very first we are going to do is register a callback to react to changes
- * in the text of our parts:
- * @dontinclude edje-text.c
- * @skipline edje_object_text_change_cb_set
- *
- *
- * @dontinclude edje-text.c
- * @skipline text_change
- * @note Since edje_obj represent a group we'll be notified whenever any part's
- * text in that group changes.
- *
- * We now set the text for two our two parts:
- * @dontinclude edje-text.c
- * @skip text_set
- * @until edje_object_part_text_set(edje_obj, "part_two"
- * @note Since the "part_two" part is a TEXTBLOCK we can use formatting such as
- * @<b@>
- *
- * And we now move on to selection issues, first thing we do is make sure the
- * user can select text:
- * @dontinclude edje-text.c
- * @skip edje_object_part_text_select_allow_set
- * @until edje_object_part_text_select_all
- *
- * We then select the entire text, and print the selected text:
- * @dontinclude edje-text.c
- * @skipline printf("selection: %s\n",
- *
- * We now unselect the entire text(set selection to none), and print the
- * selected text:
- * @dontinclude edje-text.c
- * @skip edje_object_part_text_select_none
- * @until printf
- *
- * Our example will look like this:
- *
- * @image html edje-text.png
- * @image rtf edje-text.png
- * @image latex edje-text.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-text.c
- *
- *
- * The theme used in this example is:
- * @include text.edc
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-text edje-text.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc text.edc
- * @endverbatim
- * @example edje-text.c
- */
-
-/**
- * @page tutorial_edje_table Table example
- *
- * In this example, we illustrate how to organize your objects on a table, using
- * the edje_object_part_table functions. To be easier to understand the objects
- * in this example will be four simple rects, when the user click over one
- * item with the left button its is removed from the table, if any other button
- * was used all items are removed. For each action is printed a message with
- * the current number of rows and columns.
- *
- * We started creating an EDC file with one part of the type TABLE called
- * @b "table_part", that is the part which we will refer to access the table:
- * @include table.edc
- *
- * On the other hand, in the C file we first create the rectangles and added a
- * callback for mouse down, as you can see bellow:
- * @dontinclude edje-table.c
- * @skip _rects_create
- * @until }
- * @skip }
- * @until }
- *
- * With the objects created we have to pack them into the table, to do this, we
- * just have to use the function edje_object_part_table_pack().
- * @dontinclude edje-table.c
- * @skip (!edje_object_part_table_pack
- * @until 4
- *
- * The other bit of code that is relevant to us now is our event handler for
- * when the user click over the rectangle. Here we use the function
- * edje_object_part_table_unpack() to remove the item from the table or
- * edje_object_part_table_clear() to remove all items, it depends on which mouse
- * button the user uses.
- * @dontinclude edje-table.c
- * @skip _on_mouse_down
- * @until }
- *
- * Finally, the last important thing in this example is about how to know how many
- * columns and rows are there in the table, It should be noted that this function
- * don't tell you how many items are there in the table, just the number of the
- * columns and rows of the table.
- * @dontinclude edje-table.c
- * @skip _columns_rows_
- * @until }
- *
- * The example's window should look like this picture:
- *
- * @image html edje-table-example.png
- * @image rtf edje-table-example.png
- * @image latex edje-table-example.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-table.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-table edje-table.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc table.edc
- * @endverbatim
- * @example edje-table.c
- */
-
-/**
- * @page tutorial_edje_box Box example - basic usage
- *
- * This example shows how to append, insert and remove elements from an Edje box
- * part. It will make use of the edje_object_part_box functions.
- *
- * To play with this example, use mouse left click to delete an existing
- * rectangle from the box and right mouse click to add a new rectangle just
- * before the clicked one. Use the keyboard keys "a" to append a rectangle, "i"
- * to prepend, and "c" to remove all rectangles from the box.
- *
- * We will store our example global information in the data structure defined
- * below, and also set some callbacks for resizing the canvas and exiting the
- * window:
- *
- * @dontinclude edje-box.c
- * @skip static const char
- * @until ecore_evas_geometry_get
- * @until }
- *
- * In the @c main function, we create our @c Ecore_Evas, add a background to it,
- * and finally load our @c Edje file that contains a @c Box part. This part is
- * named @c "example/box" in this case, and we use this name to append elements
- * to it.
- *
- * The code until now is the one that follows:
- *
- * @dontinclude edje-box.c
- * @skip main(int argc __UNUSED__, char *argv[])
- * @until ecore_evas_data_set(ee, "background", bg)
- *
- * Also notice that we set the callback @c _bg_key_down for @c "key down" events
- * on the background object, and that object is the one with focus.
- *
- * Now we add some small rectangles to the box part, using the
- * edje_object_part_box_append() API, and set some callbacks for @c "mouse down"
- * events on every object. These callbacks will be used to add or delete objects
- * from the box part.
- *
- * @dontinclude edje-box.c
- * @skip bg = evas_object_rectangle_add(evas)
- * @until evas_object_event
- * @until }
- *
- * Now let's take a look at the callbacks for key down and mouse down events:
- *
- * @dontinclude edje-box.c
- * @skip ecore_evas_geometry_get
- * @skip static
- * @until evas_object_event
- * @until }
- * @until }
- *
- * This callback for mouse down events will get left clicks and remove the
- * object that received that left click from the box part, and then delete it.
- * This is done with the edje_object_part_box_remove() function.
- *
- * However, on right clicks it will create a new rectangle object, and add it
- * just before the right clicked object, using
- * edje_object_part_box_insert_before().
- *
- * And this is the key down callback:
- *
- * @until remove_all
- * @until }
- *
- * It will insert elements at the beginning of the box if "i" was pressed, using
- * edje_object_part_box_insert_at(). It will also append objects to the box if
- * "a" was pressed, just exactly like we did in the @c main function. And will
- * remove all objects (deleting them) if "c" was pressed.
- *
- * As you can see, this example uses the @c "horizontal_flow" layout for the
- * box, where each item is put linearly in rows, in as many rows as necessary to
- * store all of them.
- *
- * The example's window should look like this picture:
- *
- * @image html edje-box-example.png
- * @image rtf edje-box-example.png
- * @image latex edje-box-example.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-box.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-box edje-box.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc box.edc
- * @endverbatim
- * @example edje-box.c
- */
-
-/**
- * @page tutorial_edje_box2 Box example - custom layout
- *
- * This example shows how to register a custom layout to be used by the Edje box
- * part. It will use edje_box_layout_register() for that.
- *
- * To play with this example, use the keyboard modifier keys and number keys
- * together. The Ctrl key is used for adding elements, and Shift is used for
- * removing them. For instance, Ctrl + 3 will insert a new rectangle object in
- * the 3rd position of the box, while Shift + 6 will try to remove the 6th
- * element of the box.
- *
- * This example is very similar to the other box example, has a structure with
- * global data, a callback for key down events where we create or delete
- * rectangle objects and add or remove them to/from the box part.
- *
- * But the important part is the next one:
- *
- * @dontinclude edje-box2.c
- * @skip static void
- * @until }
- *
- * This code implements our custom layout, which will position every object
- * added to the box in a diagonal through the size of the box part. Notice that
- * it just calculates the position and offset based on the size of the box and
- * number of children, and then moves each child to the respective position.
- *
- * Later on the @c main function, everything we need to do is to register this
- * custom layout function with edje:
- *
- * @dontinclude edje-box2.c
- * @skipline edje_box_layout_register
- *
- * And use it inside the box.edc file:
- *
- * @dontinclude box.edc
- * @skip example/group2
- * @skip example/title
- * @skip part
- * @until BOX
- * @until example/box
- *
- * The example's window should look like this picture:
- *
- * @image html edje-box2-example.png
- * @image rtf edje-box2-example.png
- * @image latex edje-box2-example.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-box2.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-box2 edje-box2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc box.edc
- * @endverbatim
- * @example edje-box2.c
- */
-
-/**
- * @page tutorial_edje_drag Dragable parts example
- *
- * This example shows how to manipulate a dragable part through the
- * edje_object_part_drag API.
- *
- * First, in the edc code, we are declaring a part which will be our movable
- * part, called "knob". It is a normal rectangle, which contains a block called
- * "dragable", that will define the area where this rectangle can be moved, and
- * in which axis it can be moved.
- *
- * This is our part:
- *
- * @dontinclude drag.edc
- * @skip // drag_area
- * @skip part
- * @until example/knob
- * @until example/knob
- *
- * Notice that it defines, through its @c "x:" and @c "y:' properties, that the
- * part will be only moved on the y axis (vertical). Check the edc reference
- * docs for more info about this.
- *
- * Now, in our example C code, we just do the same as on the other examples,
- * setting some global data on a structure, load the edje file and so:
- *
- * @dontinclude edje-drag.c
- * @skip static const char *PARTNAME
- * @until ;
- *
- * @skip main(int argc __UNUSED__, char *argv[])
- * @until evas_object_show
- *
- * We want to use the drag_page and drag_step functions, and in order to do so we
- * need to define the step size and page size of our dragable part. They are
- * defined as float values which represent a portion of the entire size of the
- * dragable area:
- *
- * @until drag page step
- *
- * We are going to use the keyboard to move the @c knob part, through the key
- * down callback @c _bg_key_down, but we also want to know when the user has
- * moved the knob by using the mouse (which is possible, since we defined that
- * this part will receive mouse events). Thus, we set a callback for the signal
- * "drag", which comes from the dragable part:
- *
- * @dontinclude edje-drag.c
- * @skipline evas_object_event_callback_add
- *
- * @skipline edje_object_signal_callback_add
- *
- * Now, let's take a look at our key down callback:
- *
- * @dontinclude edje-drag.c
- * @skip _on_bg_key_down
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- * @skip else
- * @until }
- *
- * On this callback we define that the user will use the "up" and "down" arrows
- * to move the dragable part, respectively, -1.0 and 1.0 times the step size.
- * And that the "Page Up" (Prior) and "Page Down" (Next) keys will move -1.0 and
- * 1.0 times the page size. Both of these will occur on the vertical axis, since
- * we pass 0.0 as value to the respective horizontal axis parameters. And our
- * dragable part also only supports being moved in the vertical axis (defined in
- * the edc).
- *
- * We also define that the "m" key will be used to explicitly position the knob
- * part in the middle of the dragable area.
- *
- * And here is the callback for the @c "drag" signal that is received from the
- * theme:
- *
- * @dontinclude edje-drag.c
- * @skip _on_knob_moved
- * @until }
- *
- * The example's window should look like this picture:
- *
- * @image html edje-drag-example.png
- * @image rtf edje-drag-example.png
- * @image latex edje-drag-example.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-drag.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-drag edje-drag.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\" -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc drag.edc
- * @endverbatim
- * @example edje-drag.c
- */
-
-/**
- * @page tutorial_edje_perspective Perspective example
- *
- * This example demonstrates how someone can set a perspective to be used by an
- * Edje object, but setting a global perspective. The API for setting a
- * perspective for just one Edje object is almost the same and it's trivial, so
- * we are not doing that on this example.
- *
- * Let's go first to the main function, where we start creating our objects and
- * loading the theme. We also set some variables that will be used globally in
- * our program:
- *
- * @dontinclude edje-perspective.c
- * @skip main(
- * @until focal =
- *
- * A boolean is used to indicate that we are animating.
- *
- * We also set the @c app.x and @c app.y to (0, 0) because the original position
- * of our text + rectangle part will be on top left. This is a convention that
- * we are using in this example, and setting x, y to 1, 1 would mean bottom
- * right.  We do this to later define the name of the signals that we are
- * sending to the theme.
- *
- * After this, some boilerplate code to load the theme:
- *
- * @until evas_object_show(app.bg)
- *
- * Now we are going to setup a callback to tell us that the animation has ended.
- * We do this just to avoid sending signals to the theme while it's animating.
- *
- * @until edje_object_signal
- *
- * Finally, let's create our perspective object, define its position, focal
- * distance and z plane position, and set it as global:
- *
- * @until global_set
- *
- * Notice that if we wanted to set it just to our edje object, instead of
- * setting the perspective as global to the entire canvas, we could just use
- * edje_object_perspective_set() instead of edje_perspective_global_set(). The
- * rest of the code would be exactly the same.
- *
- * Now, let's take a look at what we do in our callbacks.
- *
- * The callback for key_down is converting the arrow keys to a signal that
- * represents where we want our text and rectangle moved to. It does that by
- * using the following function:
- *
- * @dontinclude edje-perspective.c
- * @skip part_move(
- * @until }
- *
- * Notice that, after sending the signal to the Edje object, we set our boolean
- * to store that we are animating now. It will only be unset when we receive a
- * signal from the theme that the animation has ended.
- *
- * Now, on the key_down code, we just call this function when the arrows or
- * "PgUp" or "PgDown" keys are pressed:
- *
- * @until unhandled
- * @until }
- *
- * Notice that we also do something else when the numeric keyboard "+" and "-"
- * keys are pressed. We change the focal distance of our global perspective, and
- * that will affect the part that has a map rotation applied to it, with
- * perspective enabled. We also need to call edje_object_calc_force(), otherwise
- * the Edje object has no way to know that we changed the global perspective.
- *
- * Try playing with these keys and see what happens to the animation when the
- * value of the focal distance changes.
- *
- * Finally we add a callback for the animation ended signal:
- *
- * @skip  _animation_end_cb
- * @until }
- *
- *
- * The example's window should look like this picture:
- *
- * @image html edje-perspective-example.png
- * @image rtf edje-perspective-example.png
- * @image latex edje-perspective-example.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-perspective.c
- *
- * The full .edc file
- * @include perspective.edc
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-perspective edje-perspective.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc perspective.edc
- * @endverbatim
- * @example edje-perspective.c
- */
-
-/**
- * @page Example_Edje_Signals_Messages Edje signals and messages
- *
- * In this example, we illustrate how Edje signals and Edje messages
- * work.
- *
- * We place, in the canvas, an Edje object along with a @b red border
- * image to delimit its geometry. The object's group definition is so
- * that we have four parts:
- * - a blue rectangle, aligned to the right
- * - a white rectangle, aligned to the left
- * - a text part, aligned to the center
- * - a clipper rectangle on the blue rectangle
- *
- * The left rectangle is bound to a <b>color class</b>, so that we can
- * multiply its colors by chosen values on the go:
- * @dontinclude signals-messages.edc
- * @until visible
- * @until }
- * @until }
- * @until }
- *
- * The @c \#define's on the beginning will serve as message
- * identifiers, for our accorded message interface between the code
- * and the this theme file.
- *
- * Let's move to the code, then. After instantiating the Edje object,
- * we register two <b>signal callbacks</b> on it. The first one uses
- * @b globbing, making all of the wheel mouse actions over the left
- * rectangle to trigger @c _mouse_wheel. Note that those kind of
- * signals are generated @b internally (and automatically) in Edje. The
- * second is a direct signal match, to a (custom) signal we defined in
- * the EDC, ourselves:
- * @dontinclude edje-signals-messages.c
- * @skip edje_object_add
- * @until _mouse_over
- * @dontinclude edje-signals-messages.c
- * @skip print signals coming from theme
- * @until }
- * @until }
- *
- * That second callback is on a signal we emit on the theme, where we
- * just translate Edje @c "mouse,move" internal events to the custom @c
- * "mouse,over" one. When that signals reaches the code, we are,
- * besides printing the signals' strings, sending a @b message back to
- * the theme. We generate random values of color components and send
- * them as an #EDJE_MESSAGE_INT_SET message type:
- * @dontinclude signals-messages.edc
- * @skip custom signal
- * @until }
- * @dontinclude edje-signals-messages.c
- * @skip mouse over signals
- * @until }
- *
- * In our theme we'll be changing the @c "cc" color class' values with
- * those integer values of the message, so that moving the mouse over
- * the right rectangle will change the left one's colors:
- * @dontinclude signals-messages.edc
- * @skip public message
- * @until }
- * @until }
- *
- * Now we're also sending messages <b>from the Edje object</b>,
- * besides signals.  We do so when one clicks with the left button
- * over the left rectangle.  With that, we change the text part's
- * text, cycling between 3 pre-set strings declared in the EDC. With
- * each new text string attribution, we send a string message to our
- * code, with the current string as argument:
- * @dontinclude signals-messages.edc
- * @skip program
- * @until }
- * @until }
- * @skip change text
- * @until }
- * @until }
- * @dontinclude signals-messages.edc
- * @skip set_text_string
- * @until }
- *
- * To get the message in code, we have to register a message handler, as
- * follows:
- * @dontinclude edje-signals-messages.c
- * @skip message_handler_set
- * @until message_handler_set
- * @dontinclude edje-signals-messages.c
- * @skip print out
- * @until }
- *
- * To interact with the last missing feature -- emitting signals
- * <b>from code</b> -- there's a command line interface to exercise
- * it.  A help string can be asked for with the 'h' key:
- * @dontinclude edje-signals-messages.c
- * @skip commands
- * @until ;
- *
- * The @c 't' command will send either @c "part_right,show" or @c
- * "part_right,hide" signals to the Edje object (those being the
- * emission part of the signal), which was set to react on them as the
- * names indicate. We'll set the right rectangle's visibility on/off,
- * respectively, for those two signals:
- * @dontinclude signals-messages.edc
- * @skip hide right rectangle
- * @until }
- * @until }
- * @dontinclude edje-signals-messages.c
- * @skip keyname, "t"
- * @until }
- *
- * The example's window should look like this picture:
- *
- * @image html edje-signals-messages-example.png
- * @image rtf edje-signals-messages-example.png
- * @image latex edje-signals-messages-example.eps width=\textwidth
- *
- * The full example follows, along with its EDC file.
- *
- * @include signals-messages.edc
- * @include edje-signals-messages.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-signals-messages edje-signals-messages.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc signals-messages.edc
- * @endverbatim
- * @example edje-signals-messages.c
- */
-
-/**
- * @page tutorial_edje_color_class Edje Color Class example
- * @dontinclude edje-color-class.c
- *
- * This example shows how to manipulate and change Color classes. In this example
- * we will create two surfaces to show what happens when you change the color
- * class at the process and object level.
- *
- * It's a very simple example, there are two surfaces created from the same EDC,
- * but just in one of them we will set a specific color class, although both will be
- * affected by color class set at the process level as you will see.
- *
- * It's important you know that all colors has the format R G B A. Just to be easier
- * to understand this example, we will create a small set of colors that will be used
- * along of the example. This piece of code is shown below:
- * @skip static color colors_init_data
- * @until return EINA_FALSE
- * @until }
- *
- * Focusing on the relevant parts of the code we go right to the part where we set
- * the new color class. For that we will use the functions edje_color_class_set (
- * which will affect all edjes) and edje_object_color_class_set (which affects just
- * the specific object).
- * @skip edje_color_class_set
- * @until Text shadow
- * @until Text shadow
- * @note
- *       - argv[1] is the name of a color class used in the EDC.
- *       - The second and third colors only apply to text part.
- *       - The color class set for the object overrides the color previously set.
- *
- * After we have set the color class we will check the color classes, for that
- * we created a function which prints all color classes and tries to get theirs
- * values and print too.
- * @dontinclude edje-color-class.c
- * @skip _color_classes_print(void)
- * @until free
- * @until }
- * @until }
- *
- * There are two other things that are worth mentioning, we added two callbacks for the
- * objects, one for mouse down (that we use to delete the color class) and another
- * for the signal emmited when a color class is deleted.
- * @skip  evas_object_event
- * @until NULL
- * @skip  edje_object_si
- * @until process
- *
- * And then we delete the color class:
- * @dontinclude edje-color-class.c
- * @skip _on_mouse_down
- * @until }
- *
- * Our example will look like this, if you run with the parameters "green_class gray pink yellow":
- *
- * @image html edje-color-class-example.png
- * @image rtf edje-color-class-example.png
- * @image latex edje-color-class-example.eps width=\textwidth
- * @n
- * @image html edje-color-class-example2.png
- * @image rtf edje-color-class-example2.png
- * @image latex edje-color-class-example2.eps width=\textwidth
- *
- * The full source code follows:
- * @include edje-color-class.c
- *
- *
- * The theme used in this example is:
- * @include color-class.edc
- *
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-color-class edje-color-class.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc color-class.edc
- * @endverbatim
- * @example edje-color-class.c
- */
-
-/**
- * @page tutorial_edje_animations Edje Animations example
- *
- * In this example we will figure out how to manipulate the animations on
- * an Edje object. After reading this document you will be able to manipulate
- * the frametime, freeze, pause and stop, all animations on an Edje object.
- *
- * To play with this example you will use the keyboard. Below are listed the
- * keys and what each does.
- *
- * - '+' Increase the frametime;
- * - '-' Decrease the frametime;
- * - '=' Prints the actual frametime and says if the animations is playing;
- * - 'f' Freezes the animations in the Edje object;
- * - 'F' Freezes the animations in all objects in the running program;
- * - 't' Thaws the animations in the Edje object;
- * - 'T' Thaws the animations in all objects in the running program;
- * - 's' Pauses the animations;
- * - 'p' Plays the animations previously stopped;
- * - 'a' Starts the animation in the Edje object;
- * - 'A' Stops the animations in the Edje object;
- *
- * Now that we've explained how to use our example, we will see how it is made.
- * Let's start by looking at the piece of code responsible to the actions commented
- * above.
- * @dontinclude edje-animations.c
- * @skip _on_key_down
- * @until Stopping
- * @until }
- * @until }
- * @note The actions for the keys 'f' and 'F' will have the same effect in
- *       our example, just because there is only one object in the running
- *       program, The same happens with the keys 't' and 'T'.
- *
- * As you may have seen these set of functions are pretty easy to handle. The other
- * important part of this example is the EDC file. The animations used in the
- * code were created there
- * @dontinclude animations.edc
- * @skip program
- * @until after: "animation,state1"
- * @until }
- * @skip program
- * @until }
- * @skip program
- * @until }
- * @until }
- *
- * The example's window should look like this picture:
- *
- * @image html edje-animations.png
- * @image rtf edje-animations.png
- * @image latex edje-animations.eps width=\textwidth
- * @n
- * @image html edje-animations2.png
- * @image rtf edje-animations2.png
- * @image latex edje-animations2.eps width=\textwidth
- *
- * The full example follows.
- *
- * @include edje-animations.c
- * @include animations.edc
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-animations edje-animations.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc animations.edc
- * @endverbatim
- */
-
- /**
- * @page tutorial_edje_multisense Multisense example
- * @dontinclude edje-multisense.c
- *
- * This is a simple example in which a rect is created and sound and tone
- * are played on mouse down event.
- *
- * Focusing on the creation of sample and tone. It should be noted that
- * creation of sample sound is from any supported (sndfile lib) audio file,
- * tone from of specific audible frequency range are controlled by the theme:
- *
- * The full source code follows:
- * @include edje-multisense.c
- * @include multisense.edc
- */
-
-/**
- * @page tutorial_edje_basic2 Edje basics example 2
- *
- * In this example we will show how to load an image and move it across the window.
- *
- * To load the image to our program, it needs to be declared in the .edc using the images block:
- * @dontinclude basic2.edc
- * @skip images
- * @until }
- *
- * @note COMP means that we are using a lossless compression
- *
- * Then to be able to use it in our window we must declare a part for this image:
- *
- * @skip part{
- * @until }
- * @until }
- * @until }
- *
- * Now we move to our .c file, you will notice this define:
- * @dontinclude edje-basic2.c
- * @skipline #define WALK
- *
- * This means how fast we want to move the image across the screen
- *
- * To load our edje file we will use this command, we do just like the last example (Basic example):
- *
- * @skip if(!edje_object
- * @until evas_object_show
- *
- * If we want to move our image, we need to add a callback to be able to do this, so we define:
- *
- * @skipline evas_object_event_callback
- *
- * To get the position of the image we use this:
- * @dontinclude edje-basic2.c
- * @skipline evas_object_geometry
- *
- * Now we use the if's to check in what direction the user wants to move the image then we move it:
- *
- * @skip if(strcmp
- * @until evas_object_move
- *
- * The example's window should look like this picture:
- *
- * @image html basic2final.png
- * @image rtf basic2final.png
- * @image latex basic2final.eps width=\textwidth
- *
- * The complete .edc file:
- * @include basic2.edc
- *
- * And the source code:
- * @include edje-basic2.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-basic2 edje-basic2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc -id /path/to/the/image basic2.edc
- * @endverbatim
- *
- */
-
-/**
- * @page tutorial_edje_swallow2 Swallow example 2
- *
- * This example will show you how to load an image using evas and fill a swallow with it.
- * It's basically almost like the last example, but with a minor change.
- *
- * This variables are used to store the name of the image that is going to be used,
- * the path to it and a variable that will store the error cause if something goes wrong.
- *
- * Here it is:
- * @dontinclude edje-swallow2.c
- * @skipline char         edje_file
- * @skipline const char  *img
- * @skipline Evas_Load
- *
- *
- * Then we load the image with this command:
- *
- * @skip img =
- * @until evas_object_image_file_set(img,
- *
- * To check if we had some problem we use:
- *
- * @skip err = evas
- * @until }
- *
- * Now we are going to swallow it and check if worked. If you notice we are
- * using "part_one" as argument. We do this because we must explicit what part of our
- * .edc file we want to swallow:
- *
- * @skip edje_object_part
- * @until printf
- *
- * The example's window should look like this picture:
- *
- * @image html swallow2final.png
- * @image rtf swallow2final.png
- * @image latex swallow2final.eps width=\textwidth
- *
- * The complete .edc file:
- * @include swallow.edc
- *
- * And the source code:
- * @include edje-swallow2.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o edje-swallow2 edje-swallow2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc swallow.edc
- * @endverbatim
- */
-
-/**
- * @page tutorial_edje_signals_2 Edje Signals example 2
- *
- * In this example we will make use of signals to help to move an image away from the mouse pointer.
- *
- * Signals are software interruption, this means that when it happens and if the program is sensitive to it
- * the program will stop whatever it is doing and handle the signal.
- *
- * In this example we are only sensitive to the "mouse,move" signal so we need to register a callback to it.
- * To do this we will add a signal callback to our edje object that will detect "mouse,move" signal
- * coming from the part "part_image" and when this happens we will call the function _on_mouse_over passing
- * the evas pointer as a parameter. The evas pointer is passed as a parameter because we need to know
- * where is the mouse pointer in the screen.
- *
- * We can see bellow how we can listen to the signal:
- *
- * @dontinclude signals2.c
- * @skip edje_object_signal
- * @until );
- *
- *
- * Now, let's pass to the callback function. If we want to keep the ball away from the mouse pointer
- * we need to now where is the ball and where is the mouse and we can easily discovery these things using
- * this:
- *
- * For the object position in the canvas:
- * @dontinclude signals2.c
- * @skipline evas_object_geometry
- *
- * For the mouse position relative to the screen:
- * @skipline evas_pointer_output
- *
- * Now that we have the position of the mouse and the object we just need
- * to set the new location and move the object. To set the new location we do this:
- * @skip if
- * @until y -= (
- *
- * You can change the formula above if you like. Because we are changing the object's position
- * we need to do something if the new position is beyond the canvas size. So here it is:
- *
- * @skip if
- * @until y = 0
- *
- * Then now what we need to do is move the object:
- * @skipline  evas_object
- *
- * Here is the complete callback function:
- *
- * @dontinclude signals2.c
- * @skip _on_mouse_over
- * @until }
- *
- *
- * When you compile and run it you should see this:
- * @image html signal2final.png
- * @image rtf signal2final.png
- * @image latex signal2final.eps width=\textwidth
- *
- * The .edc file:
- * @include signalsBubble.edc
- *
- * The source code:
- * @include signals2.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o signals2 signals2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc -id /path/to/the/image signalsBubble.edc
- * @endverbatim
- */
-
-/**
- * @page tutorial_edje_animations_2 Edje animations example 2
- *
- * In this example we will make an animation of a bouncing ball.
- *
- * Our focus now will be in the .edc file, because in the C source code we just load the edje object and do
- * nothing else.
- *
- * We want to give the freedom to the object to use the whole canvas of our program, so lets define
- * the min, max of our group:
- *
- * @dontinclude animations2.edc
- * @skipline max
- * @skipline min
- *
- * You will notice that in our .c file the canvas will have this size
- *
- * Now we will define our part that's going to be our image, the ball:
- * @skip part{
- * @until type:
- *
- *
- * At the description block bellow we are saying that this part has an image, defining
- * the max and min size and it's position on the edje_object. The default state is the first
- * state of the part, this means that when the edje object is loaded this one is going to be showed to you.
- *
- * Here it is:
- * @dontinclude animations2.edc
- * @skip description
- * @until }
- * @until }
- *
- * Now in the next description block we are saying where the ball is going to stop.
- * Note that we have the "inherit" property. This means we are inheriting everything from default,
- * except rel1 and rel2, because we are redefining it.
- *
- * Check the code:
- *
- * @skip description
- * @until }
- *
- * We defined how our object will look like and it's position during the animation,
- * now we need to define how it's going to act during the time. To do this we will
- * use the programs block
- *
- * The first program block will start the animation, it will wait for the 'load' signal. This signal
- * is generated when the edje object is loaded. The 'after' property is saying to this program block exactly this:
- * "When you finish, call the program 'animation,state1' ". The 'in' property is saying, wait 0.5 seconds until you execute this program block.
- *
- * Here is the code:
- *
- * @skip program {
- * @until }
- *
- * Now lets make the ball move and bounce it. In the second program block we are defining what we need to do
- * with the action property. So we are saying change to the state "down-state" using the transition BOUNCE
- * and apply this to the part "part_bubble". You can notice that BOUNCE has three parameters, the first one
- * is saying how much time the transition will last, the second one is the factor of curviness
- * and the last one is saying how many times and object will bounce.
- *
- * The code is very easy:
- *
- * @skip program {
- * @until }
- *
- * Now all you have to do is compile the code and run it!
- *
- * When you compile and run it you should see this:
- * @image html signal2final.png
- * @image rtf signal2final.png
- * @image latex signal2final.eps width=\textwidth
- *
- * The .edc file:
- * @include animations2.edc
- *
- * The source code:
- * @include animations2.c
- *
- * To compile use this command:
- * @verbatim
- * gcc -o animations2 animations2.c -DPACKAGE_BIN_DIR=\"/Where/enlightenment/is/installed/bin\"
- * -DPACKAGE_LIB_DIR=\"/Where/enlightenment/is/installed/lib\"
- * -DPACKAGE_DATA_DIR=\"/Where/enlightenment/is/installed/share\"
- * `pkg-config --cflags --libs evas ecore ecore-evas edje`
- *
- * edje_cc  animations2.edc
- * @endverbatim
- */
diff --git a/legacy/edje/doc/img/basic2final.eps b/legacy/edje/doc/img/basic2final.eps
deleted file mode 100644 (file)
index ef47a8c..0000000
+++ /dev/null
@@ -1,7715 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (ImageMagick)
-%%Title: (basic2final.eps)
-%%CreationDate: (2012-04-03T11:58:25-03:00)
-%%BoundingBox: 0 0 393 246
-%%HiResBoundingBox: 0 0 393 246
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 1
-%%Pages: 1
-%%EndComments
-
-%%BeginDefaults
-%%EndDefaults
-
-%%BeginProlog
-%
-% Display a color image.  The image is displayed in color on
-% Postscript viewers or printers that support color, otherwise
-% it is displayed as grayscale.
-%
-/DirectClassPacket
-{
-  %
-  % Get a DirectClass packet.
-  %
-  % Parameters:
-  %   red.
-  %   green.
-  %   blue.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/DirectClassImage
-{
-  %
-  % Display a DirectClass image.
-  %
-  systemdict /colorimage known
-  {
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { DirectClassPacket } false 3 colorimage
-  }
-  {
-    %
-    % No colorimage operator;  convert to grayscale.
-    %
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { GrayDirectClassPacket } image
-  } ifelse
-} bind def
-
-/GrayDirectClassPacket
-{
-  %
-  % Get a DirectClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   red
-  %   green
-  %   blue
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/GrayPseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassImage
-{
-  %
-  % Display a PseudoClass image.
-  %
-  % Parameters:
-  %   class: 0-PseudoClass or 1-Grayscale.
-  %
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  class 0 gt
-  {
-    currentfile buffer readline pop
-    token pop /depth exch def pop
-    /grays columns 8 add depth sub depth mul 8 idiv string def
-    columns rows depth
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { currentfile grays readhexstring pop } image
-  }
-  {
-    %
-    % Parameters:
-    %   colors: number of colors in the colormap.
-    %   colormap: red, green, blue color packets.
-    %
-    currentfile buffer readline pop
-    token pop /colors exch def pop
-    /colors colors 3 mul def
-    /colormap colors string def
-    currentfile colormap readhexstring pop pop
-    systemdict /colorimage known
-    {
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { PseudoClassPacket } false 3 colorimage
-    }
-    {
-      %
-      % No colorimage operator;  convert to grayscale.
-      %
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { GrayPseudoClassPacket } image
-    } ifelse
-  } ifelse
-} bind def
-
-/DisplayImage
-{
-  %
-  % Display a DirectClass or PseudoClass image.
-  %
-  % Parameters:
-  %   x & y translation.
-  %   x & y scale.
-  %   label pointsize.
-  %   image label.
-  %   image columns & rows.
-  %   class: 0-DirectClass or 1-PseudoClass.
-  %   compression: 0-none or 1-RunlengthEncoded.
-  %   hex color packets.
-  %
-  gsave
-  /buffer 512 string def
-  /byte 1 string def
-  /color_packet 3 string def
-  /pixels 768 string def
-
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  x y translate
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  currentfile buffer readline pop
-  token pop /pointsize exch def pop
-  /Times-Roman findfont pointsize scalefont setfont
-  x y scale
-  currentfile buffer readline pop
-  token pop /columns exch def
-  token pop /rows exch def pop
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  currentfile buffer readline pop
-  token pop /compression exch def pop
-  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
-} bind def
-%%EndProlog
-%%Page:  1 1
-%%PageBoundingBox: 0 0 393 246
-userdict begin
-DisplayImage
-0 0
-393 246
-12
-393 246
-0
-0
-C6C3C0C1BEBB3E3D393C3B374F4D484F4D484F4D484F4D494F4E494F4E494F4E494F4E494F4E49
-4F4E494F4E494F4E494F4E494F4E494F4E494F4E49504E49504E49504E49504E49504F49504F49
-504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A504F4A514F4A514F4A514F4A
-514F4A51504A51504A51504A51504A51504B51504B51504B51504B51504B51504B51504B52504B
-52504B52504B52504B52504B52504B52514B52514B52514B52514B52514B52514B52514C52514C
-52514C52514C53514C53514C53514C53514C53514C53514C53524C53524C53524C53524C53524C
-53524C53524C53524C53524C54524D54524D54524D54524D54524D54524D54524D54534D54534D
-54534D54534D54534D54534D54534D54534D54534D55534D55534D55534D55534E55534E55534E
-55534E55544E55544E55544E55544E55544E55544E55544E55544E55544E56544E56544E56544E
-56544E56544E56544F56544F56554F56554F56554F56554F56554F56554F56554F56554F57554F
-57554F57554F57554F57554F57554F57554F57554F57564F575650575650575650575650575650
-575650575650585650585650585650585650585650585650585650585650585750585750585750
-585750585751585751585751595751595751595751595751595751595751595751595751595751
-5958515958515958515958515958515958515958525A58525A58525A58525A58525A58525A5852
-5A58525A58525A58525A58525A59525A59525A59525A59525A59525A59525B59525B59525B5953
-5B59535B59535B59535B59535B59535B59535B59535B5A535B5A535B5A535B5A535B5A535C5A53
-5C5A535C5A535C5A535C5A535C5A535C5A545C5A545C5A545C5A545C5A545C5B545C5B545C5B54
-5C5B545C5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B545D5B555D5B55
-5D5C555D5C555D5C555D5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C555E5C55
-5E5C555E5C555E5C555E5D565E5D565E5D565E5D565F5D565F5D565F5D565F5D565F5D565F5D56
-5F5D565F5D565F5D565F5D565F5D565F5D565F5E565F5E565F5E565F5E57605E57605E57605E57
-605E57605E57605E57605E57605E57605E57605E57605E57605E57605F57605F57605F57615F57
-615F57615F57615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58615F58
-616058616058626058626058626058626058626058626059626059626059626059626059626059
-626059626059626059626159636159636159636159636159636159636159636159636159636159
-63615A63615A63615A63615A63615A63615A63625A64625A64625A64625A64625A64625A64625A
-64625A64625A64625A64625A64625A64625A64625B64625B64625B64635B65635B65635B65635B
-65635B65635B64635B64625B64625B64625B64625A64625A64625A64625A64625A64625A64625A
-64625A64625A64625A64625A64625A63625A63615A63615A63615A63615A63615A63615A636159
-636159636159636159636159636159636159636159636159626159626059626059626059626059
-626059626059626059ECECEC3F3E3A474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746423F3E3A474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746423F3E3A474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4443403C3B383A3A363B3A373C3B373B3A363B3A36393834373733363632363632363632363632
-3636323636323636323636323636323636323837333938343A39353A39353A3935393834383734
-363632363632363632363632363632363632363632363632363632363632363632383733393834
-3A39353A39353A39353938343C3B3743433E474642464541474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424544403E3E393C3B373C3B363C3A363D3A363C39363D3A363C3A363C3B363C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373B3A363B3A363B3A363A39353A39353A3935393835393834
-3938353A39353A39353A39353B3A363B3A363B3A363C3B373C3B373C3B373C3B373B3A363B3A36
-3A39353938353A39353938353938343938353A39353938353A39353D3D39454440464541474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424544423D3B373B3A363C39368A5E4EC0795FE0896BF79674E1896BC17A5F
-8D5F4F3D3A363B3A363C3B373C3B373C3B373C3B373B3A363B3B363B3A36393835393835595854
-74736E87868298979287868275746F5A59553A39363938353A39353B3B363B3A363C3B373B3A36
-3C3B363B3A363A393539383554534F77767187878294938E8887827978745756513A3936393835
-3B3936454440464541474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247453F43413D403F3F454642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247454144423E403F3D434442474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424544403D3B383C3A3657463DDC8364F8916BF78F68F78D66
-F68B64F78D66F78F68F8916BDF846559473D3C3A363C3B373C3B373C3B373B3A363A3935393834
-43433F81807C94938D91908B8E8D898C8B858E8D8991908B94938D82817D4444403938343B3A35
-3B3A363C3B373B3A363A393539383442413C7B7A7692918C91908B8E8D898C8B858E8D8991908B
-94938D81807A4544403938343C3A37464541474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247453F424753636E74807A614C413E45453E3D3937373739
-3F4241474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474541444243525E67757B76694E3F424442
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247453E3D39373737393F4241474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746423F3D393B3A365C473DEA8763F5875F
-F38156F38156F38156F38156F38156F38156F38156F5875EEC88645B463C3B3A363C3B373C3B37
-3B3A363938354544418988848D8D8688878187878086857F86857F86857F8787808887818D8D86
-8A89854544413938353B3A363C3B373B3A3639383542413D8685808D8D86888781878780878680
-86857F86857F8787808887818D8D8689888443423F3938353F3E3A474642474642474642474642
-47464247464247464247464247464247464247464247464247453F3E3736363635363635363635
-3636353636353636384144414746424746424746424746424540373F68A9DCD9D1DFC687543C3A
-3B405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464247453E393D5FABD5D0
-DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247453E3D405A8EB4C3D5C7A481513D3F4241474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746424746424444403C3B373D3A36
-D77955F07D51EE7647EE7647ED7647EE7647EE7647EE7647ED7647EE7647EE7647F17E51D87753
-3F3A363C3B373B3A373A39353938347D7C7689888184837D83827C82817B81807A807F7981807A
-82817B83827C84837C8988827D7C753A39353A39353B3A373A393538373479797389888184837D
-82817B81807A807F797F7E78807F7981807A82817B84837D8988827D7C753A39353A3935474642
-47464247464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0
-DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBB075453A4144414746424746424746424540373F68A9
-DCD9D1DFC687543B38394C7DC1D7CFDDDAD0B670433B4041474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47453E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464246433B3A4D7DC1D7CFDDDAD0B67043
-3B4041474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-3E3E3A3B3A3686543FED784BEB6E39EB6E39D56334C0592FEA6D39EB6E39EA6E39C45B30D06133
-EB6E39EB6E39EF794A88553F3C3A363B3A3639383455544F85847E7F7E787F7E777E7D767C7B74
-7B7A737A79737B7A737C7B747E7D767F7E777F7E7886857F5555503938343B3A3639383551504C
-85847E7F7E787F7E783F3E3A3B3A363B3A363B3A363B3A363B3A363A39357E7D777F7E7886857F
-555550393834474642474642474642474642474642474642474642474642474642474642474642
-47453F3D3A508BC4D0DEDBD2DFDAD0DCD8D0DCD8D0DCD8D0DCD1A770443B41454147453F413D39
-383736363635416AAADDD9D1DFC687543C3B3F3D4159738290836851403E444542474641423E3B
-3938353636363737393D404046464247464247464247464247464247464247464244413B3B3936
-37363536373637393A41443E393D5FABD5D0DEDBC49C5D3D3736363638383C403F464642474642
-474642474641423F3B3A38363636363738393D3F3F464542474640413A36363635373C3F464642
-46433B38363637393E45464247453E3A36363636363C4141474642474642474642474641423E41
-59738290836851403E444540403B3838373636363536363537393A3E3E3B3C3937373636373738
-3C3E3F464642474642474641433D38383735363635363636383A3B414341474642474642474640
-423F3A3A37363736353636363738383B3E3F464642474642474641423E3B393835363636373739
-3D4040464642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642454440454440454440454440454440454440
-4544404544404544403C3B373A3935C36946EA6F3BE96A33E96A33BF5C32502817BB552AE76933
-C2582C522917B95A31E86A33E96A33EB6F3BC66A463C3A353B3A363938346D6D677D7C767A7973
-7A797379787178777077766F77766F77766F7877707978717A79737A79737D7C766E6E683A3935
-3B3A363938346A69637E7D767B7A737A79733F3E3A7E7D767E7D767E7D767E7D767F7E773F3E3A
-7978727B7A737E7D76706F693A3935454440454440454440454440454440454440454440454440
-45444045444045444045433D3C3A508BC4D0DEDBD2C6864F3934333333333333333333373F433F
-45433D3D3F517697ACC6CFCFDFDBCACECACFDFDBD2DFC687543B39373D5FABD5D0DEDBC49B5B3C
-3C403E3E3A435D7D98B9C5C9DEDBCED2C3A9967251403D3D434440454440454440454440454440
-423E3B486584AABEC5DADAD2DFD9CACDB9936A4739383D5FABD5D0DEDBD2DED6D0DFDBD1D3C5AE
-9E7753413D3D44444045443E3E3B425C7B96B6C2C6DBDBCDD0C1AA997654413C3B3E394473B2CF
-DDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4995B3C3C403F454440
-45444045433D383D5FABD5D0DEDBC49B5B3C393B5080A0ADC3CBCADDDBD2DFDBCACDB99A8B818A
-A8BCC3DADBD2D6CAB5A8835B443D3C44443F403B406092AECBD0CFDFDBD2DFD4C4C4AF8D72503E
-3F403F45443E3E3B435E7D98B6C1C5DADAD1DFDACBD0C4B2AA8756423D3D44443E3E3A435D7D98
-B9C5C9DEDBCED2C3A9967251403D3D434440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-45444045444045444045444045444045444045444045444045444045444042413D42413D42413D
-42413D42413D42413D42413D42413D42413D3C3B37393835E07146E96830E8662EE8662EEA713F
-C273534F28179C4622502717BC6F51E97241E8662EE8662EE96830E172463C39353A3935383733
-79787277766F77766F76756E75746D75746D75746D74736C75746D75746D75746D76756E77766F
-77766F7978723938343A393538373475746E78777077766F77766F3F3E3A75746D76756E75746D
-76756E76756E3F3E3A76756E77766F7877707A797339383442413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42403B3B39508BC4D0DEDBD2C788513C3736363635
-363635373A3B42403C3D38436DA7C8DDDAD2DED9D0D9D2CDDDD9D1DFDBD2DFC687543B38363C5F
-ABD5D0DEDBC49B5B3C3A373C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A669443B3D3C41413D
-42413D42413D41403939436CAFD6D0DEDBD2DECDBDC7C7C5D8CC9A613E38373C5FABD5D0DEDBD2
-DED9CDD7D7D0DDDBD2DFDBC49E5F403A3E3C3F3A3D598EBADDDAD2DEDAD0DDD8D0DDDAD1DFDBD1
-BD834F3D38374A7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
-613F383F403D42413D42413D42403B373C5FABD5D0DEDBC49B5B3C373C5FABD5D0DEDBD2DED7CB
-D9D9D0DEDBD2DFDBD2DED9D0DAD7D0DDDBD2DFDBC9A767413B3E3B3F383B5C9AC1DAD4C7D0CBC6
-D9D9D0DEDBD2DFC386553B383C383D5F96BFDDDAD2DED9D0D1C4BACAD5D1DFDBD2DFB46B42393A
-3E383C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A669443B3D3C41413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B3C3B37393834E97140E66228
-E66228E66228E66228E76E39A05B4043221499583EE66E3DE66228E66228E66228E66329E97040
-3C39343A393538373379797273726B73726B74736C3C3B373B3A363B3A363B3A363B3A363B3A36
-3B3A3673726B73726B72716A7979723938343A393538373376756F73726B73726B74736C3F3E3A
-74736C75746D75746D75746D75746D3F3E3A73726B73726B73726B7A7973393834403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403E393A39508BC4D0DEDBD2
-DFDBD2DFDBD2DFDBD2DFDBD2CD94563D3837384B7ABFD9D1DFDBC6A16944373435436FADDDD9D1
-DFC687543B37363C5FABD5D0DEDBC49B5B3C394670B5D8D0DEDBB88B573E38363A4E7AADDBDAD1
-DFB872483A393E3E3B403F3B403F3B403D373A5186C6D9D1DFDBB582503C36363436373A3E3E39
-373C5FABD5D0DEDBC49B5B3B35384D83BDD0DEDBD2D29C5A3E3A37384671B6D8D0DEDBCAB18058
-44383A517EAEDADAD1DFD4A2684136394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D
-5084B8DDDAD2D8A964413A3A3F3F3B403F3B403F3B403F39373C5FABD5D0DEDBC49B5B3C373C5F
-ABD5D0DEDBC49B5B3B37446CB1D6D0DEDBD2BD774637384B80BCD0DEDBD2D49F5C3E3A393E3F39
-3D383737393C4247494D5A7DBDD9D1DEDBB57D4A37394876BAD9D1DEDBC8AA6F46373539538BBC
-DDDAD2DFB46B423837384570B5D8D0DEDBB88B573E38363A4E7AADDBDAD1DFB872483A393E3E3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393C3C37
-393835DC6839E65F25E55E23E55E23E45E23BF511F5129179A593F4F2818B94E20E45D23E55E23
-E55E23E66025DD67383C39353A3935383733706F6A706F68706F6871706A7A79737B7A737C7B74
-7C7B747C7B747B7A737A797371706A6F6F68706F68706F6A3938343A39353837336E6D68706F68
-706F6972716A3F3E3A73726B75746D75746D75746D75746D3F3E3A717069706F69706F6873726C
-3938343E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3C38
-3939508BC4D0DEDBD2DFDACBD5D1C8D4D0C8D4D0C4BA89523C37353C5F9BD4D9D1DFD39E633E37
-3B3A353F68A9DCD9D1DFC687543B37353C5FABD5D0DEDBC49B5B3C3D5C97D1D9D1DFDBD2DEDAD1
-DEDAD1DEDAD1DEDAD1DEC98E583C363C3D393E3D393E3D393E3D38393C5691C2CEDCDAD1DFDBC7
-BFA48671533E3A3B38363C5FABD5D0DEDBC49B5B3C39363A5A99C4DDDAD2DEB1684137353C5C98
-D3D9D1DFD4A0643E373B3C3737436DB8D9D0DEDBBE8E543A3738508EC3D0DEDBC49C635F98C9D0
-DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43393A383E3D393E3D393E3D393E3D38363C5FABD5D0
-DEDBC49B5B3C373C5FABD5D0DEDBC49B5B3C38384D85BFD0DEDBD2C2814C39363A5A98C4DDDAD2
-DEB2694137373A3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A3C5F9AD5D9D1DFD4A0
-643D373B3839538BBCDDDAD2DFB46B4238353C5B97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1
-DEC98E583C363C3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373A3935B75A32E45F23E35B1CE35B1CC04E1C512816BA6949E67140C26E4D
-502717B94D1BE25B1CE35B1CE55F23BA5B323C3A353A39353938345F5E5A6D6C666C6B646E6D66
-706F6972716A73726B74736C73726B72716A706F686E6D666C6B646D6C66605F5B3A39353A3935
-3938345F5E5A6D6C666C6B656E6D673F3E39706F6873726B73726B73726B72716A3F3E396D6C66
-6C6B656D6C6664635E3938353C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3A363838508BC4D0DEDBD2C6864F3934333333333333333537373B39353B5E99
-D4D9D1DFD6A36840373939343F68A9DCD9D1DFC687543A36343C5FABD5D0DEDBC49B5B3B3D5F9C
-D3D9D1DFDBC1AC958A908E89908E89908E898F81644A3B373B3B373C3B373C3B373C3B373C3B35
-363F557690A3C4D4CFDDDBD2DFDBB78D563C353C5FABD5D0DEDBC49B5B3C383739538BBCDDDAD2
-DFB46B4237343B5D98D2D9D1DFD4A1663F363A3A3637446EB8D9D0DEDBBE90543B3836395591BF
-DDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB7245383A3A373C3B373C3B373C3B37
-3C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C
-393639538BBCDDDAD2DFB46B4237353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A
-3C5E9DD4D9D1DFD49F643E36393639538BBCDDDAD2DFB46B4237343C5E9CD3D9D1DFDBC1AC958A
-908E89908E89908E898F81644A3B373B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373B3A363B3A363B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373B3A367B4730E35E23E25817E25817CA5727BD6A48
-E4662FE25817E4642BC16C4BC75727E25817E25817E45E247A46313C3A363B3A363938344B4A45
-6A69636867616968626B6A646E6D666F6E67706F686F6E676E6D666B6A646968626766606B6A64
-4A49453938343B3A363938344B4A456A69636867616A69623E3D393B3A363B3A363B3A363B3A36
-3B3A363B3A366968616867616C6B654E4D483938343C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C788513C3736363635363635
-363635373A35384874B9D8D0DEDBCDB67F523F3837416AAADDD9D1DFC687543A36343C5FABD5D0
-DEDBC49B5B3C384A77BBD8D0DEDBCDB683594339363636363B454C4A3F383A3B373C3B373C3B37
-3C3B373C3B373B3D4048413A373635363E5993C4D0DEDBD2C68750393D60ABD5D0DEDBC49B5B3C
-383739538BBCDDDAD2DFB46B42383537466FB5D7D0DEDBCBB2835B453B3D5480B0DBDAD1DFD4A1
-6841373A38343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E4639373B3B37
-3C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0DEDBC49B5B3C373744
-77B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237364A7BB3DCDAD2DFBD7B4E3936363D5E
-A5D1D0DEDBBD8D533A374C7ABED8D0DFDBCAB07A53433E486A9DC4DDDAD2DFB46B423835364977
-BBD8D0DEDBCDB683594339363636363B454C4A3F383A3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373B3A361C1B193938343B3A363C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3835C35626E2591A
-E15511E35D1FE36228E15511E15511E15511E36127E35E22E15511E3591AB151273C39353C3B37
-3C3A363A39353938345E5E5966655F64635D65655E6867616968626A696269686268676165655E
-64635D66655F5959543938353A39353C3A363A39353938345E5E5966655F64645E6D6C67706F69
-72716A72716B72716A706F696E6D6764645E66655F61615B3A39353A39353C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2DFDBD2
-DFDBD2DFDBD2DFDBD2DFDBC9B36F4337373E5D94BDDBD8D1DEDBD2DFD8CAD8DAD2DFDBD2DEC687
-543B36343C5FABD5D0DEDBC49B5B3C38373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E
-383A373C3B373C3B373C3B373C39343B588FCCD9D1DACDBFC7C4C4DDDAD1DEDACBAC6A41363D5F
-ABD5D0DEDBC49B5B3C383739538BBCDDDAD2DFB46B4238363A373C598EBADBD8D1DEDBD2DFDBD2
-DFDBD1DED9D0BF84503B38373C3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCE
-B370453939373C3B373C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C363C5FABD5D0
-DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639538BBCDDDAD2DFB46B4237353C5990CCD7D0
-DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A36374267A0C3DBD9D1DEDAD1DEDAD1DEDBD2DFDBD2
-DFB36B4238363A373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E383A373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393835000000191917373632
-3B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3B3A36523C30D0551DE15612E0520AE0520AE0520AE0520AE0520AE0520AE0520AE15612D2561C
-4D3B323B3A363C3B373C3B373B3A363938353E3D3A605F5962615B61605A62615B63625C64635D
-63625C62615B61605A62625C5F5E5A3D3C383938353B3A363C3B373B3A363938353F3E3B605F5B
-62625C61605A62615B63625C64635D64635D62615B61605B62625C61605C403F3B3938343A3A35
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A3638394F
-89C2CEDBD8D0DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0B871433939373838435D7D96B6C1C3D8D8CF
-DCD8CED4C9B6B49568473936353C61ACD5D0DEDBC49B5B3B383A353837415C7C95B4BEC1D7D8CF
-DCD8CED1C2A99161413A3A373C3B373C3B373C3B373C3A353E5983ADBFC4D9D8CFDCD8CFD5C8B1
-A3835D443836343C5FA9D2CEDCD8C29A5A3C3837395289BADAD7CFDCB26A4238363C3B37383841
-5D7E99B8C3C6DBD8CDD1C1AC9C79554138363B3B373C3B363A37395086B8DAD7CFCE97583D3837
-364771B7D6CEDCD2A16941373A3B373C3B373C3B373C3B373C3B373C3B36353C5FA9D2CEDCD8C2
-9A5A3C363C5FA9D2CEDCD8C29A5A3C37374476B5CDDBD8D0C1814C3936395289BADAD7CFDCB26A
-42383639383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F49383A3A36373944627E8FA4ACAE
-BAB1A4AEBECCDEDBD2DAAA634037373B3B353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9916141
-3A3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834
-0000001515151A19183736333B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373B3A36483B32AA4A1FDD540EDF5207DF5106DF5004DF5106DF5207
-DE540DAC4B1E493B323B3A363C3B373C3B373C3B373B3A373A3A353938343B3A3754534E5E5D58
-5E5D585D5C575D5C575D5C575E5D585F5E5955544F3C3B373938343B3A353C3B373C3B373B3A37
-3A3A353938343C3B3855544F5E5D585E5D585E5D575E5D575E5D575E5D585F5E595C5B56403F3B
-3938343B39353B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3A363834333333333333333333333333333333333333333538373C3B373C3B37
-3A37353534333333333333333434343536363836353B5382C4D9D1DFDBBA874F39393A373C3B36
-3938343534333333333333333334343739373C3B373C3B373C3B373C3B373C3B373C3A35363434
-3333333333333434343637363B3B373C3B363533333333343739373C3B373A3734333333333535
-3C3B373C3B373C3B373A38343434333333333334343737363B3B373C3B373C3B373C3B363A3734
-3333333437363C3B373C3A36353333333434393B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B363533333333343739373C3B363533333333343739373C3B373835333333333537373C3B37
-3A37343333333335353C3B373C3B373A3835353333333333333333333433343535393A373B3A38
-444C4A433A37363635373C5383B9CFDEDAD1C78A523B38363B3B373C3B36393834353433333333
-3333333334343739373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B37393834000000DCDCDC1111111B1B193837333B3A363C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363A39356E3F28AC491ACF4E0E
-DC5107D04E0EAE4919703F283B39353B3A363C3B373C3B373C3B373C3B373B3A363B3A373A3A35
-39383538373345444050504A58585259595458585351514B4544403837333938353A39353C3B36
-3B3A363C3B373B3A363C3A363A3A3539383538373348474252524C59595359585459595354544E
-4948433938343938343A39353B3B363B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36383A528BBAC5DBDBD2DFDBD1DDC88F
-5C3D363B3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B3739374678B8CFDDDAD2DAD2C9DADBD2DFDAD1DDD7AC7C4B38383A373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B37393834000000FEFEFED6D6D60E0E0E1E1D1B3837333B3A36
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3B3A363A39353938353938343938353A39353B3A363C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373B3A363B3A373B3A363A39353938343938343837333837333837333938343938343A3935
-3B3A363B3A363B3A363C3B373C3B373C3B373B3A363B3A373B3A363A3935393834383734383733
-3837333837333837343938343A39353A3A363C3A363B3A363C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36363E5EA0C7CE
-DBD8CCCEBA9A7E573E3A39373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B36393A4A759AADC5CCCBDCD8CFDCD2C2C4B191795940393937
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000FBFBFBFFFFFFD0D0D0
-0C0C0C1F1F1D3837333B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A373B3A363B39353A39353A39353A3935
-3B39353B3A363B3B363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36
-3B3A363A39353A39353A39353A39353A39353A3A363B3A363C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B363634333333333434343839373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36393634353433333333333333
-3435343939373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000
-F7F7F7FEFEFEFFFFFFC9C9C90A0A0A21211E3837343B3A363C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B37393834000000F4F4F4FBFBFBFFFFFFFFFFFFC3C3C30A0A0A2322203938343B3A363C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B37393834000000F0F0F0F8F8F8FFFFFFFFFFFFFFFFFFBBBBBB0A0A0A
-2524223938343B3A363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000EDEDEDF4F4F4FBFBFBFFFFFF
-FFFFFFFFFFFFB4B4B40A0A0A2726233938343B3A363C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37393834000000E9E9E9
-F1F1F1F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFAAAAAA0A0A0A2828253938353B3A363C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3C3B37000000E6E6E6EDEDEDF4F4F4FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFA1A1A10B0B0A2C2B28
-3D3C383E3D393F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3AFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF4F4F4000000E3E3E3EAEAEAF1F1F1F8F8F8FDFDFD2C2C2C0A0A0A0A0A0A
-0A0A0A010101121212C5C5C5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DFDFDFE6E6E6D7D7D79C9C9CFCFCFC
-909090282828949494A3A3A3A6A6A6ACACACCECECEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4000000DCDCDCCBCBCB
-1E1E1E0E0E0EEBEBEBF5F5F5121212989898E5E5E5F0F0F0F1F1F1F6F6F6FDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4
-000000C0C0C01A1A1A4C4C4C3636367F7F7FFCFCFC8080803E3E3EE4E4E4FDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF4F4F4000000181818535353BABABAB1B1B1111111EDEDEDEFEFEF0E0E0EB2B2B2
-F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F40101015C5C5CBEBEBEECECECF2F2F2414141818181
-FCFCFC3E3E3E767676EDEDEDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6818181CACACAEDEDEDFDFDFD
-FCFCFCBDBDBD0E0E0E434343131313919191EEEEEEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF1F1F1
-F4F4F4FDFDFDFFFFFFFFFFFFF7F7F7B3B3B36F6F6F9A9A9AD7D7D7F8F8F8FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8EDEDEDEEEEEEF9F9F9FEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFE
-FEFEFEC2C2C2C6C6C6CBCBCBCFCFCFD2D2D2D6D6D6D9D9D9DBDBDBDEDEDEE0E0E0E1E1E1E1E1E1
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
-B8B8B8BDBDBDC1C1C1C5C5C5C8C8C8CBCBCBCECECED1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDB
-DCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E2E2E2E0E0E0FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE
-FEFEFEB8B8B8BABABABFBFBFC3C3C3C6C6C6C9C9C9CCCCCCCFCFCFD2D2D2D4D4D4D6D6D6D8D8D8
-DADADADCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E3E3E3E1E1E1FEFEFE
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEB3B3B3B7B7B7B7B7B7BBBBBBBFBFBFC2C2C2C6C6C6C9C9C9CCCCCCCFCFCFD1D1D1D4D4D4
-D9D9D9DEDEDEE2E2E2E6E6E6E8E8E8E9E9E9EAEAEAE9E9E9E7E7E7E6E6E6E6E6E6E7E7E7E8E8E8
-E8E8E8E7E7E7E6E6E6E4E4E4DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFEFEFEB5B5B5B6B6B6B6B6B6BABABABEBEBEC1C1C1C5C5C5C8C8C8CBCBCBCECECE
-D1D1D1D8D8D8DEDEDEE4E4E4E9E9E9EEEEEEF1F1F1F4F4F4F6F6F6F6F6F6F6F6F6F4F4F4F1F1F1
-EDEDEDE9E9E9EAEAEAEBEBEBEBEBEBEBEBEBEAEAEAE8E8E8E6E6E6FEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEB0B0B0B3B3B3B3B3B3B4B4B4B8B8B8BCBCBCC0C0C0C3C3C3C6C6C6
-C9C9C9CCCCCCD1D1D1D8D8D8DFDFDFE6E6E6ECECECF2F2F2F6F6F6FAFAFAFDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCF9F9F9F4F4F4EEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECEBEBEBE9E9E9
-F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEAEAEAEB0B0B0B0B0B0B2B2B2B7B7B7BABABABEBEBE
-C1C1C1C4C4C4C7C7C7CACACACFCFCFD6D6D6DEDEDEE5E5E5ECECECF2F2F2F8F8F8FDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF7F7F7F1F1F1EFEFEFEFEFEFEFEFEF
-EFEFEFEEEEEEEDEDEDEBEBEBF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEAAAAAAACACACADADADB0B0B0B5B5B5
-BBBBBBBFBFBFC2C2C2C4C4C4C5C5C5C8C8C8CBCBCBD2D2D2DADADAE1E1E1E9E9E9F0F0F0F6F6F6
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8
-F1F1F1F0F0F0F0F0F0F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFFBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEA6A6A6A8A8A8A9A9A9
-AEAEAEB5B5B5BABABABFBFBFC2C2C2C5C5C5C6C6C6C7C7C7C9C9C9CDCDCDD5D5D5DCDCDCE4E4E4
-EBEBEBF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFDFDFDF6F6F6F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F1F1F1F0F0F0F3F3F3FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEA2A2A2
-A4A4A4A6A6A6ACACACB3B3B3B9B9B9BEBEBEC1C1C1C4C4C4C6C6C6C7C7C7C7C7C7C9C9C9CECECE
-D5D5D5DDDDDDE4E4E4EBEBEBF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F2F2F2
-F2F2F2F0F0F0F6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEA0A0A09F9F9FA3A3A3A8A8A8AFAFAFB6B6B6BBBBBBBFBFBFC3C3C3C5C5C5C6C6C6C7C7C7
-C7C7C7C9C9C9CECECED5D5D5DCDCDCE3E3E3EAEAEAF1F1F1F7F7F7FDFDFDFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4F2F2F2F4F4F4
-F7F7F7FAFAFAFAFAFAF8F8F8F3F3F3F0F0F0F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFE9F9F9F9B9B9B9F9F9FA4A4A4ABABABB2B2B2B7B7B7BCBCBCC0C0C0C2C2C2
-C4C4C4C5C5C5C6C6C6C6C6C6C9C9C9CDCDCDD4D4D4DBDBDBE1E1E1E8E8E8EEEEEEF4F4F4FAFAFA
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFA
-F4F4F4F2F2F2F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFCFCFCF5F5F5F0F0F0FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9F9F9F9B9B9B9B9B9BA0A0A0A6A6A6ADADADB2B2B2B7B7B7
-BCBCBCBFBFBFC1C1C1C3C3C3C4C4C4C4C4C4C6C6C6C8C8C8CBCBCBD1D1D1D8D8D8DEDEDEE5E5E5
-EBEBEBF0F0F0F6F6F6FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFCFCFCF8F8F8F2F2F2F2F2F2F6F6F6FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF5F5F5
-F0F0F0FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9CA1A1A1A7A7A7
-ADADADB2B2B2B7B7B7BABABABDBDBDBFBFBFC1C1C1C1C1C1C2C2C2C5C5C5C8C8C8CBCBCBCFCFCF
-D5D5D5DBDBDBE1E1E1E7E7E7ECECECF1F1F1F5F5F5F9F9F9FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F4F4F4F1F1F1F2F2F2F6F6F6FCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCF3F3F3F1F1F1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C9A9A9A9A9A9A
-9D9D9DA1A1A1A7A7A7ACACACB1B1B1B5B5B5B8B8B8BBBBBBBDBDBDBEBEBEBFBFBFC2C2C2C5C5C5
-C7C7C7CACACACCCCCCD1D1D1D7D7D7DCDCDCE2E2E2E7E7E7EBEBEBF0F0F0F3F3F3F7F7F7F9F9F9
-FBFBFBFCFCFCFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F4F4F4F0F0F0F0F0F0F1F1F1F4F4F4FAFAFA
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0F2F2F2FDFDFDFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C
-9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A6A6A6ABABABAFAFAFB3B3B3B6B6B6B8B8B8B9B9B9BCBCBC
-BFBFBFC1C1C1C4C4C4C7C7C7C9C9C9CCCCCCCECECED2D2D2D7D7D7DCDCDCE1E1E1E5E5E5E9E9E9
-EDEDEDF0F0F0F2F2F2F4F4F4F5F5F5F6F6F6F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFEFEFEFF0F0F0
-F1F1F1F2F2F2F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF3F3F3EEEEEEF3F3F3
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A5A5A5A9A9A9ADADADB0B0B0B3B3B3
-B5B5B5B8B8B8BBBBBBBEBEBEC1C1C1C3C3C3C6C6C6C8C8C8CBCBCBCDCDCDD0D0D0D2D2D2D7D7D7
-DBDBDBDFDFDFE3E3E3E6E6E6E9E9E9EBEBEBEDEDEDEEEEEEEFEFEFEFEFEFEEEEEEEDEDEDEBEBEB
-EDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F3F3F3F9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
-F6F6F6EFEFEFECECECF2F2F2F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1A4A4A4A8A8A8
-ABABABAEAEAEB1B1B1B4B4B4B7B7B7BABABABDBDBDC0C0C0C2C2C2C5C5C5C8C8C8CACACACCCCCC
-CFCFCFD1D1D1D3D3D3D5D5D5D9D9D9DCDCDCDFDFDFE2E2E2E4E4E4E6E6E6E7E7E7E8E8E8E8E8E8
-E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F4F4F4F9F9F9FDFDFDFFFFFF
-FFFFFFFFFFFFFCFCFCF6F6F6EFEFEFEDEDEDEAEAEAF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C
-A0A0A0A4A4A4A8A8A8ABABABAEAEAEB1B1B1B4B4B4B7B7B7B9B9B9BCBCBCBFBFBFC2C2C2C4C4C4
-C7C7C7C9C9C9CBCBCBCECECED0D0D0D2D2D2D4D4D4D6D6D6D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0
-E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0
-F4F4F4F8F8F8FBFBFBFCFCFCFCFCFCFAFAFAF5F5F5EFEFEFEDEDEDEBEBEBE7E7E7FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9D9D9DA2A2A2A6A6A6A9A9A9ACACACAEAEAEB0B0B0B3B3B3B6B6B6B8B8B8BBBBBB
-BEBEBEC0C0C0C3C3C3C6C6C6C8C8C8CACACACDCDCDCFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9
-DBDBDBDDDDDDDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDED
-EEEEEEEFEFEFEFEFEFF0F0F0F2F2F2F5F5F5F7F7F7F7F7F7F6F6F6F2F2F2EFEFEFEDEDEDEBEBEB
-E7E7E7E4E4E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD9C9C9C
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9E9E9EA3A3A3A7A7A7ABABABADADADB0B0B0B1B1B1B2B2B2
-B5B5B5B7B7B7BABABABDBDBDBFBFBFC2C2C2C4C4C4C7C7C7C9C9C9CBCBCBCECECED0D0D0D2D2D2
-D4D4D4D6D6D6D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8
-EAEAEAEBEBEBECECECEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F1F1F1EFEFEF
-EEEEEEEDEDEDEBEBEBE8E8E8E3E3E3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF9E9E9E9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9E9E9E9F9F9FA4A4A4A8A8A8ABABABAEAEAE
-B0B0B0B2B2B2B3B3B3B4B4B4B6B6B6B9B9B9BCBCBCBEBEBEC1C1C1C3C3C3C6C6C6C8C8C8CACACA
-CCCCCCCFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0E1E1E1E3E3E3
-E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EBEBEBEBEBEBECECECEDEDEDEEEEEEEEEEEEEFEFEFEFEFEF
-EFEFEFEEEEEEEEEEEEEDEDEDECECECEAEAEAE8E8E8E4E4E4DBDBDBFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9C9C9C9E9E9EA0A0A0A0A0A0A4A4A4
-A8A8A8ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B8B8B8BABABABDBDBDBFBFBFC2C2C2
-C4C4C4C7C7C7C9C9C9CBCBCBCDCDCDD0D0D0D3D3D3D5D5D5D7D7D7D9D9D9DADADADBDBDBDDDDDD
-DEDEDEE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECECECEC
-EDEDEDEFEFEFF1F1F1F1F1F1F0F0F0EDEDEDECECECEBEBEBE9E9E9E7E7E7E4E4E4DDDDDDFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9B9B9B9E9E9EA0A0A0
-A1A1A1A2A2A2A4A4A4A8A8A8ACACACAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B7B7B7B9B9B9
-BCBCBCBEBEBEC1C1C1C3C3C3C5C5C5C8C8C8CBCBCBCECECED1D1D1D4D4D4D7D7D7D9D9D9DADADA
-DBDBDBDCDCDCDDDDDDDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9
-EAEAEAEAEAEAEDEDEDF1F1F1F4F4F4F6F6F6F6F6F6F5F5F5F2F2F2EDEDEDEAEAEAE9E9E9E6E6E6
-E3E3E3DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE9D9D9D9A9A9A9A9A9A
-9D9D9D9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A8A8A8ABABABAEAEAEB1B1B1B2B2B2B3B3B3B3B3B3
-B3B3B3B5B5B5B8B8B8BABABABDBDBDBFBFBFC2C2C2C4C4C4C8C8C8CBCBCBCFCFCFD2D2D2D5D5D5
-D7D7D7DADADADBDBDBDCDCDCDDDDDDDEDEDEDDDDDDDDDDDDDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4
-E5E5E5E6E6E6E7E7E7E8E8E8ECECECF0F0F0F5F5F5F8F8F8FAFAFAFBFBFBFAFAFAF7F7F7F2F2F2
-EBEBEBE7E7E7E6E6E6E3E3E3DEDEDEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0A0A0
-9B9B9B9A9A9A9B9B9B9E9E9EA0A0A0A2A2A2A3A3A3A4A4A4A4A4A4A7A7A7ABABABAEAEAEB0B0B0
-B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B6B6B6B9B9B9BBBBBBBEBEBEC0C0C0C4C4C4C8C8C8CCCCCC
-CFCFCFD2D2D2D5D5D5D8D8D8DADADADCDCDCDDDDDDDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDEDEDE
-E0E0E0E1E1E1E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8EEEEEEF3F3F3F8F8F8FBFBFBFEFEFEFFFFFF
-FEFEFEFBFBFBF7F7F7F0F0F0E7E7E7E4E4E4E2E2E2DEDEDED6D6D6FEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4A4A4A4A4A4A4A6A6A6
-AAAAAAACACACAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B5B5B5B7B7B7BABABABCBCBCBFBFBF
-C4C4C4C8C8C8CBCBCBCFCFCFD2D2D2D5D5D5D8D8D8DADADADCDCDCDDDDDDDEDEDEDEDEDEDEDEDE
-DEDEDEDDDDDDDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E4E4E4EAEAEAF0F0F0F6F6F6FAFAFA
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4EAEAEAE3E3E3E1E1E1DDDDDDD8D8D8FEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4
-A5A5A5A5A5A5A5A5A5A8A8A8ABABABADADADAFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B3B3B3B6B6B6
-B8B8B8BBBBBBBFBFBFC3C3C3C7C7C7CBCBCBCECECED2D2D2D5D5D5D7D7D7D9D9D9DBDBDBDDDDDD
-DDDDDDDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E5E5E5EBEBEB
-F2F2F2F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EDEDEDE2E2E2DFDFDF
-DCDCDCD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9D9D9DA0A0A0
-A2A2A2A3A3A3A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A9A9A9ABABABADADADAEAEAEAFAFAFAFAFAF
-AFAFAFB2B2B2B4B4B4B7B7B7BABABABEBEBEC2C2C2C6C6C6CACACACDCDCDD1D1D1D4D4D4D6D6D6
-D8D8D8DADADADCDCDCDDDDDDDDDDDDDDDDDDDCDCDCDBDBDBDADADADBDBDBDCDCDCDDDDDDDEDEDE
-DFDFDFE6E6E6ECECECF2F2F2F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8
-EFEFEFE4E4E4DEDEDEDBDBDBD9D9D9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A
-9A9A9A9D9D9DA0A0A0A2A2A2A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A7A7A7A9A9A9ABABAB
-ACACACADADADADADADAEAEAEB0B0B0B3B3B3B5B5B5B8B8B8BDBDBDC1C1C1C5C5C5C8C8C8CCCCCC
-CFCFCFD2D2D2D5D5D5D7D7D7D9D9D9DADADADBDBDBDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
-DADADADBDBDBDCDCDCDFDFDFE6E6E6ECECECF3F3F3F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF9F9F9F0F0F0E5E5E5DCDCDCD9D9D9D8D8D8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF9E9E9E9A9A9A9A9A9A9D9D9DA0A0A0A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A5A5A5A4A4A4
-A5A5A5A7A7A7A9A9A9AAAAAAABABABABABABACACACAEAEAEB1B1B1B3B3B3B7B7B7BBBBBBBFBFBF
-C3C3C3C7C7C7CACACACDCDCDD0D0D0D3D3D3D5D5D5D7D7D7D8D8D8D9D9D9DADADADADADADADADA
-D9D9D9D7D7D7D7D7D7D8D8D8D9D9D9DBDBDBDEDEDEE5E5E5ECECECF2F2F2F8F8F8FDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0E5E5E5DADADAD7D7D7D8D8D8FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A4A4A4A4A4A4
-A4A4A4A4A4A4A3A3A3A2A2A2A4A4A4A6A6A6A8A8A8A8A8A8A9A9A9AAAAAAADADADAFAFAFB1B1B1
-B5B5B5B9B9B9BDBDBDC1C1C1C5C5C5C8C8C8CBCBCBCECECED1D1D1D3D3D3D5D5D5D6D6D6D7D7D7
-D8D8D8D8D8D8D7D7D7D7D7D7D5D5D5D5D5D5D6D6D6D7D7D7D9D9D9DDDDDDE4E4E4EBEBEBF1F1F1
-F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8EFEFEFE3E3E3D8D8D8D5D5D5
-D6D6D6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1
-A2A2A2A3A3A3A4A4A4A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A3A3A3A5A5A5A6A6A6A6A6A6A8A8A8
-ABABABADADADB0B0B0B3B3B3B7B7B7BBBBBBBFBFBFC2C2C2C6C6C6C9C9C9CCCCCCCECECED0D0D0
-D2D2D2D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6DCDCDC
-E2E2E2E9E9E9EFEFEFF5F5F5FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF6F6F6EDEDED
-E1E1E1D6D6D6D3D3D3D5D5D5FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A
-9B9B9B9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A2A2A2A1A1A1A0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A6A6A6A9A9A9ABABABAEAEAEB0B0B0B4B4B4B8B8B8BCBCBCC0C0C0C3C3C3C6C6C6
-C9C9C9CBCBCBCDCDCDCFCFCFD1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D0D0D0D1D1D1D2D2D2
-D3D3D3D4D4D4DADADAE0E0E0E7E7E7EDEDEDF2F2F2F7F7F7FBFBFBFEFEFEFFFFFFFFFFFFFDFDFD
-F9F9F9F3F3F3EAEAEADEDEDED4D4D4D1D1D1D3D3D3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-9D9D9D9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A1A1A1A0A0A0
-9F9F9F9E9E9E9F9F9FA0A0A0A2A2A2A5A5A5A7A7A7A9A9A9ACACACAEAEAEB2B2B2B5B5B5B9B9B9
-BDBDBDC0C0C0C3C3C3C6C6C6C8C8C8CACACACCCCCCCDCDCDCECECECFCFCFCFCFCFCFCFCFCECECE
-CDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D7D7D7DEDEDEE4E4E4EAEAEAEFEFEFF4F4F4F8F8F8FAFAFA
-FCFCFCFBFBFBF9F9F9F5F5F5EEEEEEE6E6E6DADADAD2D2D2CECECED1D1D1FEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1
-A1A1A1A0A0A09F9F9F9E9E9E9D9D9D9C9C9C9E9E9EA0A0A0A3A3A3A5A5A5A7A7A7AAAAAAACACAC
-AFAFAFB3B3B3B6B6B6B9B9B9BDBDBDC0C0C0C2C2C2C5C5C5C7C7C7C8C8C8CACACACBCBCBCBCBCB
-CCCCCCCBCBCBCBCBCBCBCBCBCCCCCCCECECECFCFCFD0D0D0D4D4D4DBDBDBE0E0E0E6E6E6EBEBEB
-F0F0F0F3F3F3F6F6F6F7F7F7F7F7F7F4F4F4F0F0F0EAEAEAE1E1E1D6D6D6CFCFCFCCCCCCCECECE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
-9F9F9F9F9F9FA0A0A09F9F9F9F9F9F9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9E9E9EA1A1A1A3A3A3
-A5A5A5A8A8A8AAAAAAACACACAFAFAFB3B3B3B6B6B6B9B9B9BCBCBCBFBFBFC1C1C1C3C3C3C5C5C5
-C6C6C6C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9CACACACBCBCBCDCDCDCECECED1D1D1D7D7D7
-DDDDDDE2E2E2E7E7E7EBEBEBEFEFEFF1F1F1F2F2F2F1F1F1EFEFEFEAEAEAE4E4E4DBDBDBD0D0D0
-CCCCCCCACACACACACAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A
-9C9C9C9E9E9EA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAFAFAFB3B3B3B5B5B5B8B8B8BBBBBB
-BDBDBDBFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C7C7C7C8C8C8C9C9C9CACACA
-CBCBCBCECECED3D3D3D8D8D8DEDEDEE2E2E2E6E6E6E9E9E9EBEBEBECECECEBEBEBE8E8E8E4E4E4
-DDDDDDD5D5D5CCCCCCC9C9C9C7C7C7FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAFAFAF
-B2B2B2B4B4B4B7B7B7B9B9B9BBBBBBBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C2C2C2C3C3C3C4C4C4
-C6C6C6C7C7C7C8C8C8C9C9C9CACACACFCFCFD4D4D4D9D9D9DDDDDDE0E0E0E3E3E3E5E5E5E5E5E5
-E4E4E4E2E2E2DDDDDDD7D7D7CECECEC9C9C9C6C6C6C4C4C4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A4A4A4A6A6A6
-A8A8A8AAAAAAACACACAEAEAEB0B0B0B3B3B3B5B5B5B7B7B7B8B8B8BABABABBBBBBBCBCBCBEBEBE
-BFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C6C6C6C7C7C7C8C8C8CACACACFCFCFD3D3D3D7D7D7DADADA
-DDDDDDDEDEDEDEDEDEDDDDDDDADADAD6D6D6CFCFCFC8C8C8C6C6C6C3C3C3C0C0C0FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D
-9F9F9FA1A1A1A3A3A3A6A6A6A8A8A8AAAAAAACACACAEAEAEB0B0B0B1B1B1B3B3B3B5B5B5B7B7B7
-B8B8B8BABABABBBBBBBDBDBDBEBEBEBFBFBFC1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6CACACA
-CECECED1D1D1D4D4D4D6D6D6D7D7D7D7D7D7D6D6D6D3D3D3CECECEC8C8C8C5C5C5C2C2C2BFBFBF
-BBBBBBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A3A3A3A5A5A5A7A7A7A9A9A9ABABABADADADAFAFAF
-B1B1B1B3B3B3B4B4B4B6B6B6B7B7B7B9B9B9BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C2C2C2
-C2C2C2C3C3C3C5C5C5C8C8C8CBCBCBCECECECFCFCFD0D0D0D0D0D0CECECECBCBCBC6C6C6C3C3C3
-C1C1C1BFBFBFBABABAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9D9F9F9FA1A1A1A3A3A3A5A5A5A7A7A7
-A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B8B8B8B9B9B9BABABABCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C5C5C5C7C7C7C8C8C8C9C9C9C8C8C8C6C6C6
-C3C3C3C1C1C1C0C0C0BEBEBEBBBBBBB6B6B6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF9C9C9C9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9C9C9C
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
-A1A1A1A3A3A3A5A5A5A6A6A6A8A8A8AAAAAAACACACAEAEAEAFAFAFB1B1B1B2B2B2B4B4B4B5B5B5
-B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C1C1C1C0C0C0BFBFBFBEBEBEBCBCBCBABABAB6B6B6FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D
-9D9D9D9E9E9E9D9D9D9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9C9C9C9F9F9FA1A1A1A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACADADADAEAEAE
-B0B0B0B1B1B1B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBCBCBC
-BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBABABAB8B8B8B6B6B6B1B1B1FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A49D9D9D9A9A9A
-9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9E9E9EA1A1A1A3A3A3A5A5A5A7A7A7A9A9A9AAAAAA
-ABABABACACACADADADADADADAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7
-B8B8B8B9B9B9BABABABBBBBBBCBCBCBBBBBBBABABABABABAB9B9B9B8B8B8B7B7B7B4B4B4B1B1B1
-A9A9A9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFA3A3A39C9C9C9A9A9A9B9B9B9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA2A2A2A4A4A4
-A6A6A6A8A8A8AAAAAAABABABACACACACACACADADADADADADADADADAEAEAEB0B0B0B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B6B6B6B8B8B8BABABABBBBBBBBBBBBBABABAB9B9B9B6B6B6B5B5B5B4B4B4
-B2B2B2B0B0B0ACACACFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19B9B9B9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0
-A0A0A0A0A0A0A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAABABABABABABACACACACACACABABABABABAB
-ADADADAEAEAEAFAFAFB0B0B0B1B1B1B3B3B3B5B5B5B7B7B7B8B8B8B9B9B9B9B9B9B8B8B8B6B6B6
-B3B3B3B2B2B2B0B0B0AEAEAEAAAAAAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6A6A69E9E9E9B9B9B9B9B9B9C9C9C
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9F
-A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAAAAAAA
-AAAAAAAAAAAAA9A9A9AAAAAAABABABACACACADADADAFAFAFB1B1B1B3B3B3B5B5B5B6B6B6B7B7B7
-B6B6B6B5B5B5B2B2B2AFAFAFADADADACACACA9A9A9A8A8A8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5A5A5
-9E9E9E9A9A9A9B9B9B9D9D9D9D9D9D9E9E9E9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9C9C9C
-9D9D9D9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A6A6A6
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAADADADAFAFAFB1B1B1
-B3B3B3B3B3B3B3B3B3B2B2B2B0B0B0ADADADAAAAAAA9A9A9A7A7A7A8A8A8FEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFA4A4A49D9D9D9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
-9A9A9A9B9B9B9C9C9C9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A5A5A5A5A5A5A4A4A4A5A5A5A5A5A5A8A8A8
-AAAAAAACACACAEAEAEAFAFAFAFAFAFAFAFAFAEAEAEABABABA8A8A8A6A6A6A6A6A6A7A7A7FEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4A4A49C9C9C9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9B9B9B9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9FA1A1A1A2A2A2A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1
-A1A1A1A3A3A3A5A5A5A7A7A7A9A9A9AAAAAAABABABABABABAAAAAAA8A8A8A5A5A5A3A3A3A3A3A3
-A5A5A5FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3A3A39C9C9C
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E9F9F9FA1A1A1A2A2A2
-A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A1A1A1A0A0A0
-9F9F9F9E9E9E9E9E9E9E9E9E9F9F9FA1A1A1A3A3A3A4A4A4A5A5A5A6A6A6A5A5A5A4A4A4A1A1A1
-9F9F9FA0A0A0A2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFA2A2A29B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9D9D9D
-9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3
-A2A2A2A1A1A19F9F9F9E9E9E9C9C9C9B9B9B9A9A9A9B9B9B9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0
-9F9F9F9D9D9D9B9B9B9D9D9DA2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A4A4A4
-A4A4A4A3A3A3A2A2A2A1A1A1A0A0A09F9F9F9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9B9B9B9B9B9B9A9A9A9B9B9B9E9E9EA2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1A1A19A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2A3A3A3A3A3A3
-A3A3A3A4A4A4A3A3A3A3A3A3A2A2A2A1A1A1A0A0A09F9F9F9E9E9E9C9C9C9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9E9E9EA3A3A3FEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFA0A0A09C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9E9E9E9F9F9F
-A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A0A0A09F9F9F9E9E9E9C9C9C9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9CA0A0A0A4A4A4FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9D9D9D
-9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9D9D9DA1A1A1FEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D9D9D9C9C9C9C9C9C
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9C9C9C
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9E9E9E
-A2A2A2FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C
-9D9D9DFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F9D9D9D9D9D9D9D9D9D9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9C9C9C
-9C9C9C9C9C9CFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFA1A1A1A0A0A09F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D
-9C9C9CFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-
-end
-%%PageTrailer
-%%Trailer
-%%EOF
diff --git a/legacy/edje/doc/img/basic2final.png b/legacy/edje/doc/img/basic2final.png
deleted file mode 100644 (file)
index b7a2ebd..0000000
Binary files a/legacy/edje/doc/img/basic2final.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-animations.eps b/legacy/edje/doc/img/edje-animations.eps
deleted file mode 100644 (file)
index 0bb7b4a..0000000
+++ /dev/null
@@ -1,952 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
-%%Title: edje-animations.eps
-%%CreationDate: Thu Aug  4 20:04:30 2011
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 418 319
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228346456694 14.173228346456694 translate
-% Translate to begin of first scanline
-0 304 translate
-403 -304 scale
-% Image geometry
-403 304 8
-% Transformation matrix
-[ 403 0 0 304 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 403 string def
-/gstr 403 string def
-/bstr 403 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData:        19425 ASCII Bytes
-colorimage
-QmN1@2apVREIWq5Tqe:[!!<YS,`pd]&knCFL&bq1I]reP':o1(9TY0eqZ&icT>6Ng!/bLk!'?^>
-+ohV#C&e6pQ^/*]O-c.B!0<J4%KHKdC&e6!QBt#?>bAfn!0<J4%KJb[QULm>QBt&;!"ipfI]rfU
-OH_s0(Rp;9!!%mkrW!:GM/<H]F`Y.p)OUI'&W1<'#K)Ib9E`ImLNF$KQ^<T*!.Y~>
-QmN1@6W.E;M41HQ_o0@i!!=-f=s\_"JH4s8J,~>
-QmN1@79!c>LR4mF_8O:k!!@*m_%;.tJH4s8J,~>
-!%*6sJH16$mf7k~>
-!%*6sJH16$mf7k~>
-!%*6sJH16$mf7k~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%*6sJH3=_[Jp4,J,~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%,,SJcC<$]Dhj2J,~>
-!%*6sJH16$nGiUi!.Y~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!%-G#JcC<$QN$pbJ,~>
-!%-G#h#Dp*JH3=_!WN.M~>
-!%*6sJH16$nGiUi!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!G2=_s+13$s7-*h!.Y~>
-!G2>@s+(0$!5&:4rr@Q~>
-!G2>es+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!DNQFs+13$s7-*h!.Y~>
-!DNR's+(0$!5&:4rr@Q~>
-!DNRLs+(0$!1*Zdrr@Q~>
-!G2=_s+13$s7-*h!.Y~>
-!G2>@s+(0$!5&:4rr@Q~>
-!G2>es+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@fUs+(0$!5&:4rr@Q~>
-!@@g%s+(0$!1*Zdrr@Q~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@g%s+(0$!5/Bdrr<%L~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!@@ets+13$s7-*h!.Y~>
-!%*6sJH16$mf7k~>
-!%*6sJH16$mf7k~>
-!%*6sJH16$mf7k~>
-QmN1@&JZ<1,pjui/hAT*!.b.1!.Y~>
-QmN1@'cJ;G/MAh:3&W^H!.b.1!.Y~>
-QmN1@',_rA/1rY72`<OE!.b.1!.Y~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/legacy/edje/doc/img/edje-animations.png b/legacy/edje/doc/img/edje-animations.png
deleted file mode 100644 (file)
index f54518f..0000000
Binary files a/legacy/edje/doc/img/edje-animations.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-animations2.eps b/legacy/edje/doc/img/edje-animations2.eps
deleted file mode 100644 (file)
index 02b7111..0000000
+++ /dev/null
@@ -1,944 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
-%%Title: edje-animations2.eps
-%%CreationDate: Thu Aug  4 20:03:58 2011
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 413 317
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228346456694 14.173228346456694 translate
-% Translate to begin of first scanline
-0 302 translate
-398 -302 scale
-% Image geometry
-398 302 8
-% Transformation matrix
-[ 398 0 0 302 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 398 string def
-/gstr 398 string def
-/bstr 398 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData:        15701 ASCII Bytes
-colorimage
-JH16$JH59AJ,~>
-JH16$JH59AJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH5WKJcC<$p]#a~>
-JH5WKJcG]KJH5QIJ,~>
-JH16$JH59AJ,~>
-JH16$JH59AJ,~>
-JH16$JH59AJ,~>
-JH16$JH59AJ,~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/legacy/edje/doc/img/edje-animations2.png b/legacy/edje/doc/img/edje-animations2.png
deleted file mode 100644 (file)
index c1482b5..0000000
Binary files a/legacy/edje/doc/img/edje-animations2.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-basics-example.png b/legacy/edje/doc/img/edje-basics-example.png
deleted file mode 100644 (file)
index 33de01f..0000000
Binary files a/legacy/edje/doc/img/edje-basics-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-box-example.eps b/legacy/edje/doc/img/edje-box-example.eps
deleted file mode 100644 (file)
index aeccebc..0000000
+++ /dev/null
@@ -1,7202 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (ImageMagick)
-%%Title: (edje-box-example.eps)
-%%CreationDate: (2011-08-02T16:56:18-03:00)
-%%BoundingBox: -0 -0 300 300
-%%HiResBoundingBox: 0 0 300.083 300
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 1
-%%Pages: 1
-%%EndComments
-
-%%BeginDefaults
-%%EndDefaults
-
-%%BeginProlog
-%
-% Display a color image.  The image is displayed in color on
-% Postscript viewers or printers that support color, otherwise
-% it is displayed as grayscale.
-%
-/DirectClassPacket
-{
-  %
-  % Get a DirectClass packet.
-  %
-  % Parameters:
-  %   red.
-  %   green.
-  %   blue.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/DirectClassImage
-{
-  %
-  % Display a DirectClass image.
-  %
-  systemdict /colorimage known
-  {
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { DirectClassPacket } false 3 colorimage
-  }
-  {
-    %
-    % No colorimage operator;  convert to grayscale.
-    %
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { GrayDirectClassPacket } image
-  } ifelse
-} bind def
-
-/GrayDirectClassPacket
-{
-  %
-  % Get a DirectClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   red
-  %   green
-  %   blue
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/GrayPseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassImage
-{
-  %
-  % Display a PseudoClass image.
-  %
-  % Parameters:
-  %   class: 0-PseudoClass or 1-Grayscale.
-  %
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  class 0 gt
-  {
-    currentfile buffer readline pop
-    token pop /depth exch def pop
-    /grays columns 8 add depth sub depth mul 8 idiv string def
-    columns rows depth
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { currentfile grays readhexstring pop } image
-  }
-  {
-    %
-    % Parameters:
-    %   colors: number of colors in the colormap.
-    %   colormap: red, green, blue color packets.
-    %
-    currentfile buffer readline pop
-    token pop /colors exch def pop
-    /colors colors 3 mul def
-    /colormap colors string def
-    currentfile colormap readhexstring pop pop
-    systemdict /colorimage known
-    {
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { PseudoClassPacket } false 3 colorimage
-    }
-    {
-      %
-      % No colorimage operator;  convert to grayscale.
-      %
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { GrayPseudoClassPacket } image
-    } ifelse
-  } ifelse
-} bind def
-
-/DisplayImage
-{
-  %
-  % Display a DirectClass or PseudoClass image.
-  %
-  % Parameters:
-  %   x & y translation.
-  %   x & y scale.
-  %   label pointsize.
-  %   image label.
-  %   image columns & rows.
-  %   class: 0-DirectClass or 1-PseudoClass.
-  %   compression: 0-none or 1-RunlengthEncoded.
-  %   hex color packets.
-  %
-  gsave
-  /buffer 512 string def
-  /byte 1 string def
-  /color_packet 3 string def
-  /pixels 768 string def
-
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  x y translate
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  currentfile buffer readline pop
-  token pop /pointsize exch def pop
-  /Times-Roman findfont pointsize scalefont setfont
-  x y scale
-  currentfile buffer readline pop
-  token pop /columns exch def
-  token pop /rows exch def pop
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  currentfile buffer readline pop
-  token pop /compression exch def pop
-  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
-} bind def
-%%EndProlog
-%%Page:  1 1
-%%PageBoundingBox: 0 0 300 300
-userdict begin
-DisplayImage
-0 0
-300.083 300.083
-12
-300 300
-0
-0
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080000000000000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080000000000000000000000000000000050505131313303030
-6B6B6B808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-000000000000000000000000000000000000000000000000000000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000000000000000000000000000000000
-000000040404656565808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-000000000000000000000000000000000000000000000000000000000000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080727272
-5555551919190000001F1F1F808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080000000000000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080000000000000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080000000000000808080808080808080
-808080808080606060000000080808808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080000000000000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-8080808080808080806060600000001E1E1E8080808080808080808080808080806666662A2A2A
-1414140505051414142A2A2A6666668080808080808080803333330000000F0F0F747474808080
-8080808080807474740F0F0F000000333333808080808080808080808080808080808080808080
-808080808080808080000000000000808080808080808080808080808080808080808080808080
-8080808080803333330000000F0F0F7474748080808080808080807474740F0F0F000000333333
-8080808080808080806868683939391818180707070909091B1B1B4040407B7B7B808080808080
-8080808080808080800000000000008080804747471D1D1D0808082828285E5E5E8080807F7F7F
-4747472121210707071A1A1A5B5B5B808080808080808080808080808080000000000000808080
-4646461E1E1E0707071A1A1A474747808080808080808080808080808080000000000000808080
-8080808080808080808080807272723333331A1A1A0707070D0D0D2020205151517F7F7F808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-8080808080807373735757571A1A1A000000454545808080808080808080808080434343010101
-0000000000000000000000000000000101014545458080808080807D7D7D1E1E1E0000001E1E1E
-7D7D7D8080807D7D7D1E1E1E0000001E1E1E7D7D7D808080808080808080808080808080808080
-808080808080808080808080000000000000808080808080808080808080808080808080808080
-8080808080808080807D7D7D1E1E1E0000001E1E1E7D7D7D8080807D7D7D1E1E1E0000001E1E1E
-7D7D7D8080808080808080800000000000000000000000000000000000000000001414147B7B7B
-8080808080808080808080800000000000003D3D3D000000000000000000000000070707707070
-3A3A3A0000000000000000000000000101016C6C6C808080808080808080808080000000000000
-3C3C3C0000000000000000000000000000002D2D2D808080808080808080808080000000000000
-808080808080808080808080535353060606000000000000000000000000000000000000242424
-7E7E7E808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080000000000000
-0000000000000000000000000000000E0E0E5454547F7F7F808080808080808080656565010101
-0000002121215050507474744F4F4F1F1F1F0000000101016666668080808080807474740E0E0E
-0000003333338080803333330000000E0E0E747474808080808080808080808080808080808080
-808080808080808080808080808080000000000000000000000000000000000000000000000000
-0000008080808080808080808080807474740E0E0E0000003333338080803333330000000E0E0E
-7474748080808080808080808080801A1A1A4F4F4F6B6B6B7A7A7A6B6B6B505050121212000000
-3E3E3E8080808080808080808080800000000000000707073C3C3C6D6D6D5E5E5E1D1D1D000000
-0F0F0F0707073C3C3C6C6C6C5E5E5E1C1C1C000000484848808080808080808080808080000000
-0000000202022E2E2E6464646464642E2E2E0202020000005C5C5C808080808080808080000000
-0000008080808080808080806E6E6E0505050202024141415D5D5D7676766A6A6A4C4C4C0E0E0E
-000000474747808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-000000000000000000000000000000000000020202333333727272808080808080808080292929
-0000002222228080808080808080808080808080801F1F1F0000002A2A2A808080808080808080
-666666040404000000262626000000040404656565808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000000000000000000000000000000000
-000000000000808080808080808080808080808080666666040404000000262626000000040404
-6565658080808080808080808080808080808080808080808080808080808080808080805F5F5F
-0000001A1A1A8080808080808080808080800000000000003D3D3D808080808080808080595959
-0000000000003D3D3D808080808080808080585858000000252525808080808080808080808080
-0000000000003030308080808080808080808080802F2F2F000000252525808080808080808080
-0000000000008080808080808080802F2F2F000000454545808080808080808080808080808080
-5858580000001C1C1C808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-0000000000008080808080808080807878785D5D5D4141410808080404046A6A6A808080808080
-1313130000005151518080808080808080808080808080804F4F4F000000141414808080808080
-808080808080535353000000000000000000515151808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080808080
-808080808080808080808080808080808080808080808080808080535353000000000000000000
-5151518080808080808080808080808080808080806D6D6D3737371717170A0A0A000000000000
-0000000000000808088080808080808080808080800000000000006A6A6A808080808080808080
-7979790000000000006A6A6A808080808080808080797979000000050505808080808080808080
-808080000000000000585858808080808080808080808080575757000000111111808080808080
-808080000000000000808080808080808080171717000000010101010101010101010101000000
-000000000000000000060606808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080800000000000008080808080808080808080808080808080804141410000003B3B3B808080
-808080040404000000747474808080808080808080808080808080737373000000050505808080
-8080808080808080807878780B0B0B0000001111117D7D7D808080808080808080808080808080
-808080808080808080808080808080808080808080808080000000000000808080808080808080
-8080808080808080808080808080808080808080808080808080808080807878780B0B0B000000
-1111117D7D7D808080808080808080808080808080636363040404000000000000000000000000
-000000000000000000000000808080808080808080808080000000000000808080808080808080
-808080808080000000000000808080808080808080808080808080000000000000808080808080
-808080808080000000000000767676808080808080808080808080757575000000040404808080
-808080808080000000000000808080808080808080050505000000000000000000000000000000
-000000000000000000000000000000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080800000000000008080808080808080808080808080808080807070700000000E0E0E
-808080808080131313000000515151808080808080808080808080808080505050000000141414
-8080808080808080808080802B2B2B0000000000000000003A3A3A808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-8080808080808080808080808080808080808080808080808080808080808080802B2B2B000000
-0000000000003A3A3A8080808080808080808080808080801E1E1E0000001C1C1C626262767676
-7C7C7C808080707070000000000000808080808080808080808080000000000000808080808080
-808080808080808080000000000000808080808080808080808080808080000000000000808080
-808080808080808080000000000000585858808080808080808080808080585858000000111111
-8080808080808080800000000000008080808080808080801616160000005B5B5B808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080000000000000808080808080808080808080808080808080414141000000
-131313808080808080292929000000222222808080808080808080808080808080202020000000
-2A2A2A8080808080808080804B4B4B000000060606505050020202000000575757808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-8080808080808080808080808080808080808080808080808080808080808080804B4B4B000000
-060606505050020202000000575757808080808080808080808080060606000000696969808080
-808080808080808080343434000000000000808080808080808080808080000000000000808080
-808080808080808080808080000000000000808080808080808080808080808080000000000000
-808080808080808080808080000000000000313131808080808080808080808080303030000000
-2525258080808080808080800000000000008080808080808080803030300000001414147D7D7D
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080800000000000008080808080808080807878785E5E5E424242080808
-000000343434808080808080646464010101000000222222515151747474505050212121000000
-0101016666668080808080806868680404040000005454548080804747470000000707076E6E6E
-808080808080808080808080808080808080808080808080808080808080808080000000000000
-808080808080808080808080808080808080808080808080808080808080808080686868040404
-0000005454548080804747470000000707076E6E6E8080808080808080801515150000002A2A2A
-6565657777775A5A5A353535030303000000000000808080808080808080808080000000000000
-808080808080808080808080808080000000000000808080808080808080808080808080000000
-0000008080808080808080808080800000000000000303032F2F2F6565656565652F2F2F030303
-0000005C5C5C8080808080808080800000000000008080808080808080806F6F6F080808000000
-1F1F1F4343436262627A7A7A717171636363414141151515808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080000000000000000000000000000000000000000000000000
-000000171717797979808080808080808080414141010101000000000000000000000000000000
-0101014343438080808080807A7A7A131313000000333333808080808080808080292929000000
-1717177B7B7B808080808080808080808080808080808080808080808080808080808080000000
-0000000000000000000000000000000000000000000000000000008080808080807A7A7A131313
-0000003333338080808080808080802929290000001717177B7B7B8080808080804F4F4F000000
-000000000000000000000000000000454545000000000000808080808080808080808080000000
-000000808080808080808080808080808080000000000000808080808080808080808080808080
-0000000000008080808080808080808080800000000000003B3B3B000000000000000000000000
-0000002D2D2D8080808080808080808080800000000000008080808080808080808080805B5B5B
-0A0A0A000000000000000000000000000000000000000000000000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080808080808080800000000000000000000000000000000202020F0F0F
-2020204E4E4E7C7C7C808080808080808080808080808080646464292929131313040404131313
-2929296565658080808080808080802F2F2F0000001616167B7B7B808080808080808080787878
-121212000000313131808080808080808080808080808080808080808080808080808080808080
-0000000000000000000000000000000000000000000000000000000000008080808080802F2F2F
-0000001616167B7B7B808080808080808080787878121212000000313131808080808080808080
-6262623939391111110E0E0E272727555555808080000000000000808080808080808080808080
-000000000000808080808080808080808080808080000000000000808080808080808080808080
-8080800000000000008080808080808080808080800000000000008080804444441D1D1D060606
-1A1A1A474747808080808080808080808080808080000000000000808080808080808080808080
-8080807979794141412121210F0F0F0303030E0E0E1D1D1D3F3F3F6A6A6A808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080000000000000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080000000000000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080808080
-808080000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000808080808080320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-808080808080000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
-808080140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000808080808080320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080808080808080000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-808080808080140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
-808080280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000808080808080320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080808080808080000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A0000808080808080140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-808080808080280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000808080808080320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080808080808080000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000008080808080800A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A0000808080808080140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400008080808080801E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E0000808080808080280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000808080808080320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080808080808080000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000008080808080800A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A0000808080808080140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400001400008080808080801E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E0000808080808080280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000808080808080320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080808080808080000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000808080808080
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A0000808080808080140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400001400001400008080808080801E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E0000808080808080280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000808080808080320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080808080808080000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000808080
-8080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A0000808080808080140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000808080808080
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E0000808080808080280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000808080808080320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080808080808080000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-8080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000808080
-8080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E0000808080808080280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000808080808080
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080808080808080000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-8080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000808080
-808080320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080808080808080000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-808080808080320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080808080808080000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000808080808080320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080808080808080
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000008080808080800A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000808080808080320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080808080
-808080000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000808080808080320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-808080808080000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
-808080140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000808080808080320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080808080808080000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-808080808080140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
-808080280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000808080808080320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080808080808080000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A0000808080808080140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-808080808080280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000808080808080320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080808080808080000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000008080808080800A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A0000808080808080140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400008080808080801E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E0000808080808080280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000808080808080320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080808080808080000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000008080808080800A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A0000808080808080140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400001400008080808080801E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E0000808080808080280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000808080808080320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080808080808080000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000808080808080
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A0000808080808080140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400001400001400001400008080808080801E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E0000808080808080280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000808080808080320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080808080808080000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000808080
-8080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A0000808080808080140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000808080808080
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E0000808080808080280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000808080808080320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080808080808080000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-8080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000808080
-8080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E0000808080808080280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000808080808080
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080808080808080000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-8080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000808080
-808080320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080808080808080000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-808080808080320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080808080808080000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000008080808080800A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000808080808080320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080808080808080
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000008080808080800A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400008080808080801E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000808080808080320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080808080
-808080000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000008080808080800A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080808080
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400008080808080801E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000808080808080320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-808080808080000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000008080808080800A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000808080
-808080140000140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400008080808080801E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080808080
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000808080808080320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080808080808080000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000008080808080800A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-808080808080140000140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400008080808080801E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000808080
-808080280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000808080808080320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080000080000080000080000080000080000080000080000080000080000080000080
-000080000080808080808080000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000008080808080800A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A0000
-0A0000808080808080140000140000140000140000140000140000140000140000140000140000
-140000140000140000140000140000140000140000140000140000140000140000140000140000
-1400001400001400001400001400001400001400008080808080801E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-1E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0000
-808080808080280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000280000280000280000280000280000280000280000
-280000280000280000280000280000280000808080808080320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000320000
-320000320000320000320000320000320000320000320000320000320000320000320000808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
-808080460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000808080808080500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000808080808080
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-808080808080820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-808080808080460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000808080808080500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000808080
-8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000808080808080820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C0000808080808080460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000808080808080500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000808080808080820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000808080808080500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000808080808080820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-8080808080808080808080808080808080808080808080808080808080808080808080803C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C0000808080808080460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000808080808080500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000808080808080820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C0000808080808080460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000808080808080500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
-808080640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000808080808080820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-8080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C0000808080808080460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000808080808080
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000008080808080805A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-808080808080640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000808080808080820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-8080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000808080
-808080500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000008080808080805A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080808080
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF808080808080640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000808080808080820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-8080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-808080808080500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000008080808080805A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080
-8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF808080808080640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000808080808080820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-8080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000808080808080500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000008080808080805A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000808080808080820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-8080808080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000808080808080500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000008080808080805A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000808080808080820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-8080808080808080808080808080808080803C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000808080808080500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000005000008080808080805A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000808080808080
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-8080808080808080808080808080808080808080803C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000808080808080500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000005000005000008080808080805A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000808080
-808080820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
-808080460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000808080808080500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000808080808080
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-808080808080820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-808080808080460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000808080808080500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000808080
-8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000808080808080820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C0000808080808080460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000808080808080500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000808080808080820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000808080808080500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000808080808080820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-8080808080808080808080808080808080808080808080808080808080808080808080803C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C0000808080808080460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000808080808080500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000808080808080820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C0000808080808080460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000808080808080500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000008080808080805A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
-808080640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000808080808080820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-8080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C0000808080808080460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000808080808080
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000008080808080805A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00008080808080800000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-808080808080640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000808080808080820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-8080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000808080
-808080500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000008080808080805A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080808080
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF808080808080640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000808080808080820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-8080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-808080808080500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000008080808080805A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000808080
-8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF808080808080640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000808080808080820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-8080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000808080808080500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000008080808080805A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000808080808080820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-8080808080808080808080808080803C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000808080808080500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000008080808080805A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000808080808080820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-8080808080808080808080808080808080803C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000808080808080500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000005000008080808080805A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000808080808080
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-8080808080808080808080808080808080808080803C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080808080
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000808080808080500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000005000005000005000005000005000005000005000005000005000008080808080805A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000808080
-808080820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-8080808080808080808080808080808080808080808080803C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000808080
-808080460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000808080808080500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000808080808080
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-808080808080820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-8080808080808080808080808080808080808080808080808080803C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-808080808080460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000808080808080500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000808080
-8080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000808080808080820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-8080808080808080808080808080808080808080808080808080808080803C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C0000808080808080460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000808080808080500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-8080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000808080808080820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-8080808080808080808080808080808080808080808080808080808080808080803C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0000
-3C00003C0000808080808080460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000460000460000460000460000460000
-460000460000460000460000460000460000460000460000808080808080500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-500000500000500000500000500000500000500000500000500000500000500000500000500000
-5000008080808080805A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A00005A0000
-5A00005A00005A00005A00005A00005A00005A00008080808080800000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000640000640000640000640000640000640000640000640000640000640000
-640000640000640000808080808080820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000820000820000820000820000
-820000820000820000820000820000820000820000820000820000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
-808080960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-8080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-808080808080960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000808080808080A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080
-808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-8080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C0000808080808080960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000808080808080A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080
-808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-8080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C0000808080808080960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000808080808080A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-8080808080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C0000808080808080960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000808080808080A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-8080808080808080808080808080808080808080808080808080808080800000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C0000808080808080960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000808080808080A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-8080808080808080808080808080808080808080808080808080808080808080800000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
-8080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C0000808080808080960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000808080808080
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-8080808080808080808080808080808080808080808080808080808080808080808080800000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000808080
-808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080
-808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
-808080960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-8080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-808080808080960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000808080808080A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080
-808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-8080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C0000808080808080960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000808080808080A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080
-808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-8080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C0000808080808080960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000808080808080A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-8080808080808080808080808080808080808080808080808080800000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C0000808080808080960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000808080808080A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-8080808080808080808080808080808080808080808080808080808080800000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080808080
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C0000808080808080960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000808080808080A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-8080808080808080808080808080808080808080808080808080808080808080800000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF808080
-8080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C0000808080808080960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000808080808080
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-8080808080808080808080808080808080808080808080808080808080808080808080800000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000808080
-808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080808080
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000808080
-808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-8080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-8080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-8080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-8080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080808080
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-8080808080808080808080808080800000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF8080808080808C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000
-8C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C00008C0000808080
-808080960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000960000960000960000960000960000960000960000960000
-960000960000960000960000960000808080808080A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000
-A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000A00000808080808080
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000AA0000
-AA0000AA0000AA0000AA0000808080808080B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000
-B40000B40000B40000B40000B40000B40000B40000B40000B40000B40000808080808080BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000BE0000
-BE0000BE0000BE0000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-008000008000008000008000008000008000008000008000008000008000008000008000008000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF
-
-end
-%%PageTrailer
-%%Trailer
-%%EOF
diff --git a/legacy/edje/doc/img/edje-box-example.png b/legacy/edje/doc/img/edje-box-example.png
deleted file mode 100644 (file)
index 75153b7..0000000
Binary files a/legacy/edje/doc/img/edje-box-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-box2-example.eps b/legacy/edje/doc/img/edje-box2-example.eps
deleted file mode 100644 (file)
index c7af68c..0000000
+++ /dev/null
@@ -1,23909 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (ImageMagick)
-%%Title: (edje-box2-example.eps)
-%%CreationDate: (2011-08-02T16:56:25-03:00)
-%%BoundingBox: -0 -0 640 480
-%%HiResBoundingBox: 0 0 640.178 480
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 1
-%%Pages: 1
-%%EndComments
-
-%%BeginDefaults
-%%EndDefaults
-
-%%BeginProlog
-%
-% Display a color image.  The image is displayed in color on
-% Postscript viewers or printers that support color, otherwise
-% it is displayed as grayscale.
-%
-/DirectClassPacket
-{
-  %
-  % Get a DirectClass packet.
-  %
-  % Parameters:
-  %   red.
-  %   green.
-  %   blue.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/DirectClassImage
-{
-  %
-  % Display a DirectClass image.
-  %
-  systemdict /colorimage known
-  {
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { DirectClassPacket } false 3 colorimage
-  }
-  {
-    %
-    % No colorimage operator;  convert to grayscale.
-    %
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { GrayDirectClassPacket } image
-  } ifelse
-} bind def
-
-/GrayDirectClassPacket
-{
-  %
-  % Get a DirectClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   red
-  %   green
-  %   blue
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/GrayPseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassImage
-{
-  %
-  % Display a PseudoClass image.
-  %
-  % Parameters:
-  %   class: 0-PseudoClass or 1-Grayscale.
-  %
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  class 0 gt
-  {
-    currentfile buffer readline pop
-    token pop /depth exch def pop
-    /grays columns 8 add depth sub depth mul 8 idiv string def
-    columns rows depth
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { currentfile grays readhexstring pop } image
-  }
-  {
-    %
-    % Parameters:
-    %   colors: number of colors in the colormap.
-    %   colormap: red, green, blue color packets.
-    %
-    currentfile buffer readline pop
-    token pop /colors exch def pop
-    /colors colors 3 mul def
-    /colormap colors string def
-    currentfile colormap readhexstring pop pop
-    systemdict /colorimage known
-    {
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { PseudoClassPacket } false 3 colorimage
-    }
-    {
-      %
-      % No colorimage operator;  convert to grayscale.
-      %
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { GrayPseudoClassPacket } image
-    } ifelse
-  } ifelse
-} bind def
-
-/DisplayImage
-{
-  %
-  % Display a DirectClass or PseudoClass image.
-  %
-  % Parameters:
-  %   x & y translation.
-  %   x & y scale.
-  %   label pointsize.
-  %   image label.
-  %   image columns & rows.
-  %   class: 0-DirectClass or 1-PseudoClass.
-  %   compression: 0-none or 1-RunlengthEncoded.
-  %   hex color packets.
-  %
-  gsave
-  /buffer 512 string def
-  /byte 1 string def
-  /color_packet 3 string def
-  /pixels 768 string def
-
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  x y translate
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  currentfile buffer readline pop
-  token pop /pointsize exch def pop
-  /Times-Roman findfont pointsize scalefont setfont
-  x y scale
-  currentfile buffer readline pop
-  token pop /columns exch def
-  token pop /rows exch def pop
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  currentfile buffer readline pop
-  token pop /compression exch def pop
-  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
-} bind def
-%%EndProlog
-%%Page:  1 1
-%%PageBoundingBox: 0 0 640 480
-userdict begin
-DisplayImage
-0 0
-640.178 480.133
-12
-640 480
-0
-0
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000000000000000
-0000000505051313133030306B6B6B808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080000000000000000000000000000000000000000000000000000000000000
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080808080808080808080808080808080806C6C6C454545212121101010
-0404040F0F0F2020205050507D7D7D808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-000000000000000000000000000000000000000000040404656565808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000000000000000000000000000000000
-000000000000000000808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-000000000000808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-0000000000000000000000000000000000000000001B1B1B7A7A7A808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080800000000000008080808080808080807272725555551919190000001F1F1F808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080000000000000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080801313133939395D5D5D6E6E6E7A7A7A6161613B3B3B050505000000343434808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080000000000000808080808080808080808080808080606060
-000000080808808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-000000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080808080808080808080808080808080808080808080808080803D3D3D
-000000111111808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080000000000000808080808080808080
-8080808080806060600000001E1E1E8080808080808080808080808080806666662A2A2A141414
-0505051414142A2A2A6666668080808080808080803333330000000F0F0F747474808080808080
-8080807474740F0F0F000000333333808080808080808080808080808080808080808080808080
-808080808080000000000000808080808080808080808080808080808080808080808080808080
-8080803333330000000F0F0F7474748080808080808080807474740F0F0F000000333333808080
-8080808080806868683939391818180707070909091B1B1B4040407B7B7B808080808080808080
-8080808080800000000000008080804747471D1D1D0808082828285E5E5E8080807F7F7F474747
-2121210707071A1A1A5B5B5B808080808080808080808080808080000000000000808080464646
-1E1E1E0707071A1A1A474747808080808080808080808080808080000000000000808080808080
-8080808080808080807272723333331A1A1A0707070D0D0D2020205151517F7F7F808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080727272000000090909808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080000000000000
-8080808080808080807373735757571A1A1A000000454545808080808080808080808080434343
-0101010000000000000000000000000000000101014545458080808080807D7D7D1E1E1E000000
-1E1E1E7D7D7D8080807D7D7D1E1E1E0000001E1E1E7D7D7D808080808080808080808080808080
-808080808080808080808080808080000000000000808080808080808080808080808080808080
-8080808080808080808080807D7D7D1E1E1E0000001E1E1E7D7D7D8080807D7D7D1E1E1E000000
-1E1E1E7D7D7D808080808080808080000000000000000000000000000000000000000000141414
-7B7B7B8080808080808080808080800000000000003D3D3D000000000000000000000000070707
-7070703A3A3A0000000000000000000000000101016C6C6C808080808080808080808080000000
-0000003C3C3C0000000000000000000000000000002D2D2D808080808080808080808080000000
-000000808080808080808080808080535353060606000000000000000000000000000000000000
-2424247E7E7E808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080585858000000222222808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080800000000000000000000000000000000000000000000E0E0E5454547F7F7F808080808080
-8080806565650101010000002121215050507474744F4F4F1F1F1F000000010101666666808080
-8080807474740E0E0E0000003333338080803333330000000E0E0E747474808080808080808080
-808080808080808080808080808080808080808080808080000000000000000000000000000000
-0000000000000000000000008080808080808080808080807474740E0E0E000000333333808080
-3333330000000E0E0E7474748080808080808080808080801A1A1A4F4F4F6B6B6B7A7A7A6B6B6B
-5050501212120000003E3E3E8080808080808080808080800000000000000707073C3C3C6D6D6D
-5E5E5E1D1D1D0000000F0F0F0707073C3C3C6C6C6C5E5E5E1C1C1C000000484848808080808080
-8080808080800000000000000202022E2E2E6464646464642E2E2E0202020000005C5C5C808080
-8080808080800000000000008080808080808080806E6E6E0505050202024141415D5D5D767676
-6A6A6A4C4C4C0E0E0E000000474747808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080757575111111000000606060808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080000000000000000000000000000000000000000000020202333333
-7272728080808080808080802929290000002222228080808080808080808080808080801F1F1F
-0000002A2A2A808080808080808080666666040404000000262626000000040404656565808080
-808080808080808080808080808080808080808080808080808080808080808080000000000000
-000000000000000000000000000000000000000000808080808080808080808080808080666666
-040404000000262626000000040404656565808080808080808080808080808080808080808080
-8080808080808080808080805F5F5F0000001A1A1A808080808080808080808080000000000000
-3D3D3D8080808080808080805959590000000000003D3D3D808080808080808080585858000000
-2525258080808080808080808080800000000000003030308080808080808080808080802F2F2F
-0000002525258080808080808080800000000000008080808080808080802F2F2F000000454545
-8080808080808080808080808080805858580000001C1C1C808080808080808080808080808080
-8080808080808080808080808080808080808080808080808080807A7A7A1D1D1D000000333333
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080787878
-5D5D5D4141410808080404046A6A6A808080808080131313000000515151808080808080808080
-8080808080804F4F4F000000141414808080808080808080808080535353000000000000000000
-515151808080808080808080808080808080808080808080808080808080808080808080808080
-808080000000000000808080808080808080808080808080808080808080808080808080808080
-808080808080808080535353000000000000000000515151808080808080808080808080808080
-8080806D6D6D3737371717170A0A0A000000000000000000000000080808808080808080808080
-8080800000000000006A6A6A8080808080808080807979790000000000006A6A6A808080808080
-808080797979000000050505808080808080808080808080000000000000585858808080808080
-808080808080575757000000111111808080808080808080000000000000808080808080808080
-171717000000010101010101010101010101000000000000000000000000060606808080808080
-8080808080808080808080808080808080808080808080808080808080808080807676761B1B1B
-0000002525257D7D7D808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-8080808080808080808080808080804141410000003B3B3B808080808080040404000000747474
-808080808080808080808080808080737373000000050505808080808080808080808080787878
-0B0B0B0000001111117D7D7D808080808080808080808080808080808080808080808080808080
-808080808080808080808080000000000000808080808080808080808080808080808080808080
-8080808080808080808080808080808080807878780B0B0B0000001111117D7D7D808080808080
-808080808080808080636363040404000000000000000000000000000000000000000000000000
-808080808080808080808080000000000000808080808080808080808080808080000000000000
-808080808080808080808080808080000000000000808080808080808080808080000000000000
-767676808080808080808080808080757575000000040404808080808080808080000000000000
-808080808080808080050505000000000000000000000000000000000000000000000000000000
-000000808080808080808080808080808080808080808080808080808080808080808080808080
-6E6E6E1212120000002323237B7B7B808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-0000000000008080808080808080808080808080808080807070700000000E0E0E808080808080
-131313000000515151808080808080808080808080808080505050000000141414808080808080
-8080808080802B2B2B0000000000000000003A3A3A808080808080808080808080808080808080
-808080808080808080808080808080808080808080000000000000808080808080808080808080
-8080808080808080808080808080808080808080808080808080802B2B2B000000000000000000
-3A3A3A8080808080808080808080808080801E1E1E0000001C1C1C6262627676767C7C7C808080
-707070000000000000808080808080808080808080000000000000808080808080808080808080
-808080000000000000808080808080808080808080808080000000000000808080808080808080
-808080000000000000585858808080808080808080808080585858000000111111808080808080
-8080800000000000008080808080808080801616160000005B5B5B808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080806464640A0A0A0000002525257C7C7C808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080000000000000808080808080808080808080808080808080414141000000
-131313808080808080292929000000222222808080808080808080808080808080202020000000
-2A2A2A8080808080808080804B4B4B000000060606505050020202000000575757808080808080
-808080808080808080808080808080808080808080808080808080808080000000000000808080
-8080808080808080808080808080808080808080808080808080808080808080804B4B4B000000
-060606505050020202000000575757808080808080808080808080060606000000696969808080
-808080808080808080343434000000000000808080808080808080808080000000000000808080
-808080808080808080808080000000000000808080808080808080808080808080000000000000
-808080808080808080808080000000000000313131808080808080808080808080303030000000
-2525258080808080808080800000000000008080808080808080803030300000001414147D7D7D
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080805757570404040000002D2D2D7D7D7D808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-8080808080808080808080808080808080800000000000008080808080808080807878785E5E5E
-424242080808000000343434808080808080646464010101000000222222515151747474505050
-212121000000010101666666808080808080686868040404000000545454808080474747000000
-0707076E6E6E808080808080808080808080808080808080808080808080808080808080808080
-000000000000808080808080808080808080808080808080808080808080808080808080808080
-6868680404040000005454548080804747470000000707076E6E6E808080808080808080151515
-0000002A2A2A6565657777775A5A5A353535030303000000000000808080808080808080808080
-000000000000808080808080808080808080808080000000000000808080808080808080808080
-8080800000000000008080808080808080808080800000000000000303032F2F2F656565656565
-2F2F2F0303030000005C5C5C8080808080808080800000000000008080808080808080806F6F6F
-0808080000001F1F1F4343436262627A7A7A717171636363414141151515808080808080808080
-8080808080808080808080808080808080804848480101010000003838387F7F7F808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000000000000000
-000000000000000000000000000000171717797979808080808080808080414141010101000000
-0000000000000000000000000101014343438080808080807A7A7A131313000000333333808080
-8080808080802929290000001717177B7B7B808080808080808080808080808080808080808080
-808080808080808080000000000000000000000000000000000000000000000000000000000000
-8080808080807A7A7A1313130000003333338080808080808080802929290000001717177B7B7B
-8080808080804F4F4F000000000000000000000000000000000000454545000000000000808080
-808080808080808080000000000000808080808080808080808080808080000000000000808080
-8080808080808080808080800000000000008080808080808080808080800000000000003B3B3B
-0000000000000000000000000000002D2D2D808080808080808080808080000000000000808080
-8080808080808080805B5B5B0A0A0A000000000000000000000000000000000000000000000000
-808080808080808080808080808080808080808080808080808080000000000000000000000000
-000000000000000000000000000000000000757575808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-0000000000000000000000000202020F0F0F2020204E4E4E7C7C7C808080808080808080808080
-8080806464642929291313130404041313132929296565658080808080808080802F2F2F000000
-1616167B7B7B808080808080808080787878121212000000313131808080808080808080808080
-808080808080808080808080808080808080000000000000000000000000000000000000000000
-0000000000000000008080808080802F2F2F0000001616167B7B7B808080808080808080787878
-1212120000003131318080808080808080806262623939391111110E0E0E272727555555808080
-000000000000808080808080808080808080000000000000808080808080808080808080808080
-000000000000808080808080808080808080808080000000000000808080808080808080808080
-0000000000008080804444441D1D1D0606061A1A1A474747808080808080808080808080808080
-0000000000008080808080808080808080808080807979794141412121210F0F0F0303030E0E0E
-1D1D1D3F3F3F6A6A6A808080808080808080808080808080808080808080808080808080000000
-000000000000000000000000000000000000000000000000000000757575808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080000000000000808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080000000000000808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080000000000000808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080000000
-000000808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF00808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808080808080808000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808080808000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF00808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF00808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808080808080808000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF00808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808080808000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00
-00FF00808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808000FF0000FF0000FF0000FF0000FF0000FF00
-00FF0000FF0000FF0000FF00808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-80808080808080808080808080808080808080808080808080808080808000FF0000FF0000FF00
-00FF0000FF0000FF0000FF0000FF0000FF0000FF00808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040FF4040
-FF4040FF4040808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080808080808080808080808080808080
-808080808080808080808080808080808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-
-end
-%%PageTrailer
-%%Trailer
-%%EOF
diff --git a/legacy/edje/doc/img/edje-box2-example.png b/legacy/edje/doc/img/edje-box2-example.png
deleted file mode 100644 (file)
index 3182c9e..0000000
Binary files a/legacy/edje/doc/img/edje-box2-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-color-class-example.eps b/legacy/edje/doc/img/edje-color-class-example.eps
deleted file mode 100644 (file)
index 6dc65de..0000000
+++ /dev/null
@@ -1,1330 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
-%%Title: edje-color-class-example.eps
-%%CreationDate: Fri Aug  5 11:38:26 2011
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 416 415
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228346456694 14.173228346456694 translate
-% Translate to begin of first scanline
-0 399.98900386828211 translate
-400.98897637795284 -399.98900386828211 scale
-% Image geometry
-401 400 8
-% Transformation matrix
-[ 401 0 0 400 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 401 string def
-/gstr 401 string def
-/bstr 401 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData:        28884 ASCII Bytes
-colorimage
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JH34\JUk:]!!%N~>
-JcE:\JUk:]!!%N~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-p&Omfnc/q#&/cZR?\H,ji;`ZSp]'4QkPsNAqu6XtqZ$VVmf*8uqZ$UtnG`OO"8i-""6T"Np](:V
-m/I&mp]1*hnGigt$PFF;;gc@To)JRek5Y/UJ,~>
-JH16$JH50>J,~>
-pAamfo)B!imcE6AT6`d)huNZSpAj4Qk5aNAqZ$Voqu6Y8mJm6Tqu6Yon,NJ+qu$Hpq\\]#q#:?2
-li7$Xq#C*hnc&mkoBbJXX+EP?nc8RejoG2V!!%N~>
-o`4jgkl:buF4K=Nq#L6jhuN$AhuN`U!*Asr!-[l3!(Zhb!*Aak!9X%V!9WbMp&G(Omf*8mp&Osh
-kPtYhA)m7^q#KXYp&KU~>
-JH16$JH50>J,~>
-p&Fjgl2LhMM^dZdq>^6ji;`$Ai;``U!2oYm!/U+E!4M_'!2oAf!>tb2rrN$7mf<(]!64F,!20&c
-q>faZ!qr'%o`4gfkQ(AW!!%N~>
-o`4jgjo>EppuVPO!;ZZQ!9sOA!<)oum0EFe!7169!2]Jk!=/#_rr@TE!!%Q<s7H?lmI:,Vr!rE#
-qZ#[X!<RN>s7lZYs7QGC~>
-JH16$JH50>J,~>
-p&FjgkPkV^QNlOOq>^6ji;`$Ai;``U!>5#$rrN'Nnc/Ylq>UKg&b5o%IJEgBII@10rrN'1n,NIj
-me6\W!9X:^qh=_Dq>]XYp\t3nJ,~>
-oDndgjT#;qbi\s#!;c`Q!:'UA!<)otXSDhs$i0Gp!U9m`!!$*mrrN$2pAb3RnGi.]!%.48!6"L0
-qu>^W!BU2Ss7cTYs7QGC~>
-JH16$JH50>J,~>
-o`+dgjo5AG1$/K2s7u`Qs69UAs8;ou;?$Fl!V$?c!!*f.p\t5koDemnlM1A[rYk8+p&>$Dn,NGL
-o`+dgjSo8!!VcZis60OXrr<%L~>
-oDndgj8]2_[cd\c!;c`Q!:'UA!;uis:\atj9_A>b1A:bL)X[1s!4):u!*\mloDemYnc&T5oDndg
-irB*<rV?Kg!9sOW!.Y~>
-JH16$JH50>J,~>
-o`+dgjSo8W8EU!Js7u`Qs69UAs82isY5/(tZ1J"rbP2#;j:V"a!)3+d!2K#`p&>'k&b,i$L\1WD
-!9=([`W>l8q#BRYp\t3nJ,~>
-oDndgirB)]b38m#!;c`Q!:'UA!;uitp(7$"!4DP#!/pON!4h_$!($;Y!=/Pms7?9kT^i$^,kM*6
-s5F"YDYa>-!9sOW!.Y~>
-JH16$JH50>J,~>
-o`+dgj8T/W1["i6s7u`Qs69UAs82it#jqKg!WGU_!!%'6rrN*fo)Jd(pAY0f!q?9_rr??p!!(^E
-s8)fUrrA,U!;QTY!;HKn!.Y~>
-oDndgiW&u_hs(19!;c`Q!:'UA!;lcr`;'B6"S2?f!SmhO!!$g+rrD!L!!&PZs7?9k6Lt-Vh"(OC
-s5<qXf)#FA!9sOW!.Y~>
-JH16$JH50>J,~>
-o`+dgir9&S*pE\"s7u`Qs69UAs8)cs3WAmT!Vd)u!!+5>p\t5Wo)Je4rq69k@IX?irrB_&!!"57
-s8)fUrrN'Gq>g<jklCJX!!%N~>
-oDndgi;`lno]lJO!;c`Q!:'UA!;c]qB__W.1\q%Or#te7!@IL2rr@98!!"55s7?9l#Q"&l!0?^O
-qu>UT!$V4=p]0RYp&KU~>
-JH16$JH50>J,~>
-o`+dgiVrrB$L.Wds7u`Qs69UAs7u]qQ21F[anYo;!o3PM!S@_M!!%cGrrCdC!;-9lpB:'f!,qK/
-qZ,UT!8RDNq#BRYp\t3nJ,~>
-mf3%^q#:Nmo&@ok4no!WBBoNl!;c`j!7CiA!9*qYq],D3!13Q^!-7f6!<^I8rrMs,o)JdFo)J:]
-!5J.*!'ToRqu?Ekp\tEqp$L_F'_q_/_YaB.!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^p](L&$lh!'_#F00!1)mMq#C0jq#A_Aq#B:Q!<_<Vrr?X,!!%rOrrN!So)Jdome$M[rZ^n5
-oD\eTo)Jd+oDe[fq#C'g"T\oA*D#DjrrN*]qZ-EkklCMYrr@Q~>
-mf3%^o)Aa?"o/,ui9UF<!;c`j!7CiA!9!kXf)b^J!<ME^rrC::!!%N>rrB(i!!#mes763j@eB[$
-mfE"[qu?Eko)Aa["o83!./X&>!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^nc/\=q"k!kr>k2(q#C0jq#A_Aq#B7P!@Ia@rrN$5qu?aPrV-<lJ+<R><:^%hXRZA_rrAP\
-!!*W-oDe[fq#Bmb!=ei#rrCXI!;QTY!;QTo!.Y~>
-mf3%^nc&U4q#CCMli6_[qZ$<jdJrtAhu<\/q#CC;rVlon'__S.2#?eC!''cS!#,50!<r>ks763j
-(%hM+Vt'ibs7cTarr@0:!!)-Ys7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^nGiSFrVHNobNf0's7u`js3UiAs5*eVHMRR@hYdET#3bg]!QkQ9!!("6rrD?]rrMouo)SC^
-!9s+U!*AakqZ-EknGiQGqYpTq)>jL0s60OYs8N(L~>
-mf3%^nG`KIq#CEFm/Qh\qZ$<jdJrtAhZ!R-q#CDArr2t&pAb4#fCJqAg%YOIIej$EORrMC!!(dH
-rr?0l!;lfk!:g'h_"ds1Nr8qP!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^n,NH.qYpTq.-ps/s7u`js3UiAs5!_Ud/!\AK)P`MU\FchodB;1!@@a@rr@QFrr?p-!:p-i
-,P;$:V=OZ`!;QTa!!#4Yrr@$9!;QTY!;QTo!.Y~>
-mf3%^n,EA3q>^L\m/Qh\qZ$<jdJrtAhZ!W?"o/-"huC7\!!&5Qrr?s4!!5+J"8`&u*:s4$!!%`H
-rrMs(nc8Rep]0ja!9*_R!(m+gp]0RYp](?p!.Y~>
-JH16$JH50>J,~>
-mK!%^mf3@BqYpQ/li?h\q>g<jd/`tAh>dQlq"k!nr>u#-rqHEmC[hB)O88eW`t/"CrrD!K!:p-i
-GkM+<"S)'_qZ-EknGiP0q>UH&quHNlklCMYrr@Q~>
-mf3%^n,EBfq>^NskjAEF!;c`j!7CiA!8[YTTD8Hg)"J+0!!,Oeo)Aab$MaZ'R/^.^!!(I>s7--i
-/,&uC^[V=$s7cTarrDZd!!"VKs7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^mf3>eqYpTo(@;+ss7u`js3UiAs4mYT?MXU&jUC\RrrKY2nc/[qo(i:eAcSh-rrN*LoDnI^
-!7UWA!'g#RqZ-EknGiOsq>UHBquHNlklCMYrr@Q~>
-mf3%^n,EF^"Sr)uMXCH=!;c`j!7CiA!8RSS6MUT],kh9>&EE<\!2B8h!t"Js]_VU.8G)rP!!)N_
-rr@*0!;lfk!:g'hbkV5=')_e)!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^mf3@oq"k!jF6ru&s7u`js3UiAs4dSS]D;I,g%YLImMkZr!*o@""8*-(6Mg]^[IaIirrN'.
-pAb2Pnc/Idq#Bja!&FBM!:9U`q#BRYq#C?oJ,~>
-mf3%^mf*8Rq>^LTmJlq]qZ$<jdJrtAh#@EF$h"&qVXXTc0DPSN>lXj&(&It3"8DKgnGiQep\t48
-nGrIdp]0ja!292g!!`B$p]0RYp](?p!.Y~>
-JH16$JH50>J,~>
-mK!%^mJm7!qYpQ7m/Zq]q>g<jd/`tAg].?ao'cSY=RZ:jcM@JCU&Y/okPP8[q?QZnnc&SipAb3M
-nc/Idq#Bja!+#F#!;QHlq#BRYq#C?oJ,~>
-mf3%^mf*9<q>^O#qX4CY!;c`j!7CiA!8IMR\F9Iu=7H4ideEeB^Ae-4Iej$EL%YK@!!!c2!!#Oa
-rrC[?!;lfk!:g'h<qu^q)Z9X1!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^mJm68qYpTk"RZ9bs7u`js3UiAs4[MS7K2iW!2o;d!%dpF!'pM`!.aqG!-n/:q#:?Yqu6Z)
-p](:AnGi@cq#Bja!2oYm!9F%Xq#BRYq#C?oJ,~>
-mf3%^mf*9aq#CE5mf3%^qZ$<jdJrtAgA_.Wnc/\/mI:,UAbc<,+oVE?!8mVQ!#G8-p](;*qZ$X&
-r;$?mMXUWCs7cTbrrC.8!!"_Ns7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^mJm5hq>UFUmK!%^q>g<jd/`tAg&M,Jo)AaO&b#c#RJHj`h#[KT!?_=<rrD6T!;QQoRJ[!b
-o`Fph!-I`1qZ-Eknc/\JrqZQocMR\;s60OYs8N(L~>
-p]1'gp]0a^!6b0<!.jS<p]10jirJ6AirJQJ!VdE$!!'S!rrM]rq#CDGr;QaWq>^N:pAamf!3uA#
-!6"^5!&s`S!%%C?qu?EkoD\j=#l"B"B)M](!9sOW!.Y~>
-JH16$JH50>J,~>
-q#C'gq#Ba^!&OHN!.F88q#C0jj8\6Aj8\QJ!=%c[rrN*fn,NIsp%eUfIJa'F`;9K62>.%Frr>di
-rr>+U!!(%8rrCaIs8)fks763k/G/`;!1<Zaq#BRYp\t3nJ,~>
-pAk!gp]0a^!9*_R!+#$mp]10jiW/0AiW/HI!6t-9!,M''!1N]`!<M-VrrAhj!!#:Xs7cQpoE4sj
-!,;<0!:9L]!-.c6qu?Ekq>UWsn`.EH3VEFQWVlek!9sOW!.Y~>
-JH16$JH50>J,~>
-p](!gq#Ba^!$1n8!28f\q#C0jirA0AirAHI!AOKFrrA8O!!$R*rrN'>qu?_$qYpQ0p&Omf!=JZ"
-rrA>\!!*`2qYpPTq#C3kq#C-i"p#/P5&S@=p\t4nquHNlklCJX!!%N~>
-pAk!gp]0a^!:9L]!(lVYp]10jiW/0AiW/EH!-Io7!@IL.rr=GB!!#FarrMctqZ$WtoCr:[!!3*g
-qZ$U5qYpPiq#CE/p]13khuEcgnGN=]!9sOW!.Y~>
-JH16$JH50>J,~>
-p](!gq#Ba^!##,-!4D4pq#C0jirA0AirAEH!/^FL!S@_I!!(UGrrBY-!!*E!qu6]p$hjYrrrE,0
-qu6ZXq>^M#q>UF[q#C3ki;WiH%f?>%s60OXrr<%L~>
-p&Opgp]0a^!;H9h!&a3Ep]10ji;i*Ai;i?H!-S#9!<^I4rrC4:!!&klrr?O)!!%?>s7cQps-3?[
-!8m\R!)iXn!>#&%!;lfS!!%EDs7cTYs7QGC~>
-JH16$JH50>J,~>
-pAapgq#Ba^!!i?"!6OX/q#C0jiW&*AiW&?H!/UCL!W+bC!!"kNrr?3u!!&Mbrr@`H!;QQp!,DB1
-!$D(<!3>tr!Ug0ds8)fSrr@ZJ!;QTY!;HKn!.Y~>
-p&Opgp]0a^!;ZEj!$Ue1p]10ji;i*Ai;iBI!71?=!-%B+!*o="!>"o#rrC.:!!!W*s7cQps5<_R
-!0$jU!Vm#t!!-4%p]13ki;`lqm/-hX!9sOW!.Y~>
-JH16$JH50>J,~>
-pAapgq#Ba^!!W2u!8[&Cq#C0jiW&*AiW&BI!A=?FrrA&H!!&_grrMQoq>^LRqYpQ^pAk!g!<=2;
-rr@':!!*8qqYpSn!;QTk!9*qYjq@Okq#BRYp\t3nJ,~>
-p&Opgp]0a^!9s:Z!"SGsp]10ji;i*Ai;iEJ!VmN)!!*o7nG`OY"Si#tB__T-+Sl'<^A.a'!<<'!
--MmcC0DthM\bQ4+V#U2iqu>XU!<U%4s7cTYs7QGC~>
-JH16$JH50>J,~>
-pAapgq#Ba^!#>>0!:]CVq#C0jiW&*AiW&EJ!<qWZrrM6_n,NJ!q"apiQM:F[h>7-O5PP6Rs8N'!
-fDGRJcMRYB7JZra=oe?tqZ,XU!W51Y!;QTY!;HKn!.Y~>
-p&Opgp]0a^!8@5K!!M`ip]10ji;i*Ai;iEJ!+,9t!,D$'!0[*W!6Y*:!/p[R!''cRp]1?o!-nA@
-!<Mfjrr?m3!!38is7cTks5O(["Io5ep]0RYp&KU~>
-JH16$JH50>J,~>
-pAapgq#Ba^!$qC?!;c*`q#C0jiW&*AiW&EJ!2&o`!0cmP!,VH1!&XHN!-A#:!64d6q#C?o!/CCN
-!W3?(!!&2YrrW'0!;QTk!9=([qIB=$q#BRYp\t3nJ,~>
-p&Opgp]0a^!6Y*;!#"`"p]10ji;i*Ai;iHK!5.k&!7(-7!$LA'!:]gap]1?o!6"^6!3H/!!#bV5
-!^?Yap]13kj8]2r_>+'*!9sOW!.Y~>
-JH16$JH50>J,~>
-pAapgq#Ba^!&XNO!:9+Rq#C0jiW&*AiW&HK!C?_WrrN*OnGiRFk5PJ\%f$,"s8N'!3r8jV;>gIp
-jSJlX^]4B0s8)fWrrM=Hp]1*hklCJX!!%N~>
-mf3%^mf*9tq#CC=mf3%^qZ$<jdJrtAh#@EH%IsK"$i0Do!5dds!,q]5p]1?o!W3B'!!#amrrCIB
-!!8&Xs7cTks5j:_.@9]$s7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^mJm5Uq>UHMmK!%^q>g<jd/`tAg].?_nFHS[nHJLa!'K?B!0?pUq#C?o!<VcfrrB;&!!"VH
-rrR9B!;QTk!9X:_eRo6`!;QTY!;QTo!.Y~>
-mf3%^mf*9Gq#CCLmf3%^qZ$<jdJrtAh#@@Gn,NG_oD\egj8]/hq>^3irr2t$qZ$a,rVunNq#CKJ
-s8Vioqu?$`"q2D!4)(;9o`+[dl2UMY!WN.M~>
-JH16$JH50>J,~>
-mK!%^mJm6-q>UH>mK!%^q>g<jd/`tAg].>]nG`Kmo)JckjSo5Lq#L3irVuqoqu6fj!<<+Gq>ULD
-!!)foqZ-'a#QF;Te\dY[.eE`9s60OYs8N(L~>
-mf3%^mf*8dq#CC\mf3%^qZ$<jdJrtAh>[JRmJm6pp&>'Y!oj7\ZMOUr!<2uuVtpAqaoDArq>^L@
-rr;`nqu?EkirAcRl2UMY!WN.M~>
-JH16$JH50>J,~>
-mK!%^mJm6eq>UH.mK!%^q>g<jd/`tAh#IFTn,EFf8+ci_'Dphi!)*.gq#C<n!*B$s"#U&Ybkh>>
-gAV*Is8)fks5F%Rs60OYs8N(L~>
-mf3%^mf*8)q#CD.mf3%^qZ$<jdJrtAhZ!WC#58)t6MUT^"nMBe!/TV7!&+3Kp]1<n!:K[`!cS,&
-q#CD7rr;`nqu?EkirAcRl2UMY!WN.M~>
-JH16$JH50>J,~>
-mK!%^mJm7Jq>UG\mK!%^q>g<jd/`tAh>dQhp@nRf])MR+!Vd)s!!%0$rrC=?!;QTn!!*Z/qu6bY
-!#GP0rrA&X!;QTk!;QTR!;QTY!;QTo!.Y~>
-mf3%^n,ECGp](;brr32$M/#[8%ef\tp]10jp]/_Ap]01N!&aKN!ZCB:q#CCNp\t9m);tPql21MU
-!<)ot3VrdX*<2Q)!!'_3s7cTks7cTRs7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^mf3>/q#:>&rW!.'Fd05[n-Jdhq#C0jq#A_Aq#B1N!6Fp7!p(#]q>UH:pAb3pj5U(>r=o,/
-q#C9m!6"d7!oX,gq>UF\rW)`nqZ-EkiW/cRklCMYrr@Q~>
-mf3%^n,EB3p](HFs8T"uqu?a*pA4dhp\4abs7cTAs7cTOrrA/S!!B_1q\o81!13K\!4q(g!+c!,
-p]19m!/gUQ!TZrN!!*W,rr;`nqu?EkirAcRl2UMY!WN.M~>
-JH16$JH50>J,~>
-mK!%^mf3?Bq#:IJ!!$'tr;Qff#l4N$#Pe>q!;QTA!;QTO!!$m0rrYak"694W!+kp*!(>cF!1E]a
-q#C9m!-J);!?/6>rrMQkrW)`nqZ-EkiW/cRklCMYrr@Q~>
-mf3%^nG`Oa%/Bl+$N'l'#5S<"jneuWmeHh_!W)ik!7CiA!9!kXhu`WQ!,;H4!S%5I!!*,aq>UFd
-huEcarVZ]j!<)otf(o@INX#=[!*B.!p]13kp]0=Rp]0RYp](?p!.Y~>
-JH16$JH50>J,~>
-mK!%^n,NInnG3(eoE,'nq"k!j)>X=5&Gc>+rV?Nhs3UiAs53kX*W#O1!1!N`!@[mBrrN$5q#CE%
-i;WiM!W2rms8;ot./NrEDYEr,!2obqq#C3kq#B=Rq#BRYq#C?oJ,~>
-mf3%^nG`KHp](:mrr2s0q>^O(pA=jijS8cU&GlG%!7CiA!9*qYr?V+;!@7=9rr@TF!!"/<rrD3V
-!!#+NrrMTlq>^Mnr;ZNlr;Qa:qZ$UCq#CDjrVuWmqu?EkirAcRl2UMY!WN.M~>
-JH16$JH50>J,~>
-mK!%^n,NH/q#:>prVurdqYpTe#l=T%)YsC5meQqYs3UiAs5<qY!SI/H!SRnZ!!%HCrrCpP!!*r7
-q>UH4nGiS"q>1*k<r;sms82isiVWWTf(o=G>5\Hrs8)fks5F%Rs60OYs8N(L~>
-mf3%^nc&XG!r)`qZMsk(*;KR7jno&Xc1q>>+o;66!7CiA!9*qXGkV1=!lt3<!%[jF!-nD@!.ahE
-!1iWZ!*8pr!%@dFp]16l!,hZ6!!2or!<VZes7cTks7cTRs7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^nGiS4qY:'j9`>"liq`TS)>aC61&:hLh>.-Hs3UiAs5<qXL%kTJr&=KQ!7L]C!/14L!.FYB
-!+G?s!2o\n!7^oHq#C6l!0I*X!;u]n!W3Q.!;QTk!;QTR!;QTY!;QTo!.Y~>
-mf3%^o)AaT&,6,*(&Iq0!'g8Z!71QB!292g!&FENp]/_Ap]0=R!7CK?!.=YC!TsU]!!([MrrN$2
-q#CF'oC2b[^A.a/j8K#Q!;uis\aoe$4oG?T!;lfk!94%R!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^nc/\)mJ-\^klgtc!5J@0!&+3L!+#F#!6k9>q#A_Aq#B=R!A+3Drr@ZI!!*o3qYpTq-2dfE
-!p]U]!V6]g!!#:\rrN*;r;cWmqu?^coD\g,quHNlqZ-EkiW/cRklCMYrr@Q~>
-mf3%^o`#!eNX,:Y!."PC!-%`6!2o_o!*]0u!(6V_p]/_Ap]0@S!W!Z-!!+kNq>UGbq#CF-qu6Tq
-ZM4D"@.4*rr>>A2!*]@$p]16l!Vcol!!%oSs7cTks7cTRs7cTYs7cQprr@Q~>
-JH16$JH50>J,~>
-mK!%^oDeptDt`r*!/:@O!06mT!*B$t!2KAi!5&(-q#A_Aq#B@S!<hNYrrL=Iq#CD'q>UK^"9&9#
-9_eVfT'lX[!Ta+W!2KJmq#C6l!=&5hrr@0=!;QTk!;QTR!;QTY!;QTo!.Y~>
-mf3%^qYpcmkLme8<Xe[%!>Y,&rrAtm!!#RfrrC^H!!$I(s7cTAs7cTSrr?O&!!*>Tp\t4Yq#CD!
-rr2sap](<2mf*9;q>^O$r;Q`k!;lcr:@nMdfDP[D!;lfk!94%R!9sOY!!3*"J,~>
-JH16$JH50>J,~>
-mK!%^q>^^+(F;+[Vt'K\!U1*m!!$*rrrBJ)!!+DEq>UGcq>g<jd/`tAirB(Lp\t9g.JEfB^%q[.
-UAb,m^%hU-4RN1LIJWsEpB(<oq#C3k!3c%p!%7[Eq#C3kq#B=Rq#BRYq#C?oJ,~>
-o`4jghZ*YEr;Qfj#l+H(F34(.NWo1X!2KDjhuN$AhuN]T!5J4-!0?jR!V$Nm!!:":i:m9P,jkU3
-iV<HRSGrQ`!;lcrSb2s_,Q%N9!;lfk!94%@!;lfi!.Y~>
-JH16$JH50>J,~>
-p&Fjghu<[fqu?a(p%n[mreiW@,]EJQrr?:"!9!nA!9!nT!!,:_p\t53p&G+&oD8Iir]:*$rqZQo
-g?ek@*W>j7!+Gj,q#C3k!+GR#!8IANq#C3kq#B=Rk5Y;Yp\t3nJ,~>
-oDndghuEdFr;6KoAa06qkPG59!:'UA!<3!!oFCTq!C?\WrrBP(!!3H"GPD.<L$\g>4Sf$X,6%W;
-!;lcrkOefTE;T\1!;lfk!94%?!;ulj!.Y~>
-JH16$JH50>J,~>
-o`+dgi;Whi!rDrtR-XbQrYPD2huDsAhuEZU!=J;irrKe6o`,"^rqcWroa$<Irr@?2!!'k3rrCdP
-!;QTk!!*o8pAY,QqZ-EkqZ-EkiW/*?quHKk!!%N~>
-oDndgi;`m*meZqal3HYU!%n$HhZ2sAhZ3ZU!)3+e!=n)[rr?3t!!,:pq#CEsj6ZdGVtg;og].<K
-!;c]q0D5AG^&.j)!;lfk!94%?!;ulj!.Y~>
-JH16$JH50>J,~>
-o`+dgiVrr2&GcA-'_Uhm!7CTBhuDsAhuEZU!3u:u!Uq-$!!&hjrrKk%q>UKn)sdP)=8Mq!rZV=B
-q#C0j!7(<<!($J^q#C3kq#B=Rjo>5Yp\t3nJ,~>
-o)S^giW'!$gA([JU[.s\W;6JM!:0[A!!3,#p&G)eo)Aac'^u)&8F-9VpBp`s!`B!tp]10j!.aeD
-!>#&(s7cTks7cTRs5X1Ys7QGC~>
-JH16$JH50>J,~>
-oDe^gir9&:,kq??>5mph!*8mqhZ)mAhZ!WW;uZOk!*o'p!=%carrE&nrrBLn!!*>rqYpVu!!)fo
-q>^MEp\t9_"T&2os8)fks5F%>s8;rlrr<%L~>
-o)S^girB*@l1Y,WHgUk68,3,@!:0[A!!2HlpAb1lnG`L5n,NHflMgisq>^R#qZ$<jqYpQ>pAb1o
-qZ$<jqu?EkirA'>rVuQkJ,~>
-JH16$JH50>J,~>
-oDe^gj8T.u(%qV.KDt?>!4V_'hZ)mAhZ!Tgp%SIdX7-)i0`CPA!*/:a!1*K]!r2s!q#C0j!&F<K
-!3#_oq#C3kq#B=RjT#/Yp\t3nJ,~>
-o)S^gjT#>oMtlrE!0ZgO!?0his5!bAs5!_U=8)[q([LPi!-Ic3!>>1mrrC=>!!/2]p]1-i!#52.
-!2KDjp]13kp]0=Rj8f/Yp&KU~>
-JH16$JH50>J,~>
-oDe^gjo5DLEsD7:!GhZ(rrM1'p]01NlN#fA!2oSk!Tt-b!!%lHrrMHjl2Uf=q>UJ4!;QTi!!)<Z
-rr?:"!;QTk!;QTR!9F1Y!;HKn!.Y~>
-o)S[fkPtZ>M!sm6!RrXk!!,.CpAa"MlMo`A!WQ6r!!'CnrrA&M!!$j!rrC=?!!5Les7lZirr<r5
-!!*/fq>^6jqZ$?kiW&!>r;ZKkJ,~>
-JH16$JH50>J,~>
-oDe[fkl1_.Fq=*C!@lRirrL%Tp&O"Ml2]`A!<B%mrr>[Y!!%$1rrA5G!!"bMrrTh5!;ZZi!!)-W
-rrN$1q#L6jq>g?ki;i!>quHNl!!%N~>
-o)SUdnc/mr%N?fdFJ.LWrrK5LpAb74J,&X8i;i*Ai;ilW!*B$t!+tNr!0-XO!7'a,!6tB@!87AO
-qZ-?i!#b\7!'KuTqZ-EkqZ,ORk5bAYq#Gp~>
-JH16$JH50>J,~>
-oDeUdo)AsmnDi*/MI%Fl!!,sJp\t<VIg5KEiW&*AiW&lW!2o_o!1<$O!-.o9!<2or!&3O8!&=EO
-!WFDE!;lfi!!)-YrrBq0!;lfk!;lfR!9aCY!;c]q!.Y~>
-^&JGdKg?jk#9lB>Z29+PJcEOc!!%N~>
-JH16$JH50>J,~>
-]`8BlH+i&(pY<NU9`oqHJH3FbJ,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JcC<$JcG9?!!%N~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/legacy/edje/doc/img/edje-color-class-example.png b/legacy/edje/doc/img/edje-color-class-example.png
deleted file mode 100644 (file)
index 8197a15..0000000
Binary files a/legacy/edje/doc/img/edje-color-class-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-color-class-example2.eps b/legacy/edje/doc/img/edje-color-class-example2.eps
deleted file mode 100644 (file)
index 48fc1cc..0000000
+++ /dev/null
@@ -1,1334 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
-%%Title: edje-color-class-example2.eps
-%%CreationDate: Fri Aug  5 11:31:46 2011
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 416 415
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228346456694 14.173228346456694 translate
-% Translate to begin of first scanline
-0 399.98900386828211 translate
-400.98897637795284 -399.98900386828211 scale
-% Image geometry
-401 400 8
-% Transformation matrix
-[ 401 0 0 400 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 401 string def
-/gstr 401 string def
-/bstr 401 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData:        28308 ASCII Bytes
-colorimage
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-JH31[JUk:]J,~>
-JH31[J[DtpJ,~>
-!!%TM\c74T\P7S~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!(mU%,mLV6nK/W%N[H9Q.1Bbo)B-gVL`/A+U/H#2eo/MJcEF`J,~>
-JH16$JH50>J,~>
-h#Ij(BVW/dkkaf,b+*/qJH56@$k6<eS\<kSn(l$K=rDkk]`<Q~>
-!!)!X!pP%ZoDeq=L$e=.nGib#*ABiiW9rUEqZ-BjiW/HI!mk?\p&G-p9#'uthZ2sAiW/lU!*B$t
-!06LI!+l$-!*A[i!TjL^!!*2amJm(aJ,~>
-JH16$JH50>J,~>
-huEfnK@fbq!nhi2mJueW#5$m"]:;n6iW/lUpAj4Qmf3DASG)[V!rTDio)R\Jl2]iDqZ$Voqu6Y8
-mJm6Tqu6Yon,NJ+qu$Hpq\\]#r;V9~>
-!!)'Z!q^^@n,NLoG4G,&kl:`E`9%$p!;ZZQ!:p-jY:oAF!BoT=s4m\As53nUrr?-r!!%33rr>Rb
-!!$*krrD3V!!)0Ms8)eH~>
-JH16$JH50>J,~>
-iW'#eLA:9<!r%K[nGqkS!r^)!jT,,Vq#K@Qnc/\dcg^r8_&2kGh>cgAi;``U!2oYm!/U+E!4M_'
-!2oAf!>tb2rrN$7mf<7bJ,~>
-!!)*[!NZ^r!!*\Uo)IkQ!Dr7Js7lZjs53nLrrN!km/R.iV"aoF!:9aD!<)oum0EFe!7169!2]Jk
-!=/#_rr@TE!!%Q<s8)eH~>
-JH16$JH50>J,~>
-irB*Wna-8VlnS&2kl1_`Xq0[qq>^6ji;`EL!<]RnrrMpupAj%Lli>uDr;Zj1p%n[hr@[X@!*K's
-!VI&q!!%HBrr@K9!;leH~>
-!!)-\!,:Zt!<J\]s5j:^'^"WZp]10jhZ3BM!TkBe!!%9=s4dVAs5*hTrrB.r!!*K'o`"sW#58)t
-=7lLnr"Jf)!9<SKqZ)-~>
-JH16$JH50>J,~>
-j8]4Frp'Lar+#<uk5PJH([(kos7u`Qs7QEn(ZF][!WIfJ!8RVA!8mhT!!,srqYpTd"nVcq'_hA%
-!2oGh!<VQ]rrN*;n,W@cJ,~>
-!!)3^!W>FK!!$R%s5a4]')(Sip]10jhZ3EN!PJ^$!!%9>s4dVAs5*hSrr>jj!!#^brr=hK!!+#*
-o`"osp&G(rnGi@cJ,~>
-JH16$JH50>J,~>
-jo>D_]''(orgEBYjo5AI#jD?as7u`Qs7ZKo5kjOC!WIiL!8RVA!8mhS!!'1trrB=r!!(4:rrM0m
-oDekbpAY,fn,W@cJ,~>
-!!)6_!W=h8!!#@Ys5X.[1$S`5!;c`Q!;QQp^]NWu!202gg]6aAhZ3TS!VR*#!!'G#rr@uN!!'S$
-rr>@Y!!*?&nc/IdJ,~>
-JH16$JH50>J,~>
-k5YM`alNI%]_)9crrC:-!;QTj!8mhO!!,7[kPkS^?2=QVs6TgDs82it#jqKg!WGU_!!%'6rrN*f
-o)Jd(pAY0f!q?9fs*t~>
-!!)6_!)VYT!*o6tirB(AlMpVZqZ#FQq>UK`#iu$e!oj(Vh#QjBhZ3QR!6"[5!<hugrrLpWpAb2/
-oD\gKoDel]nc/IdJ,~>
-JH16$JH50>J,~>
-k5YLair9"Pp&O.Q!,Up#q#C0jhuEKP!>+qcrrN!:q>f@Om/Z&DqZ$XWrqcWqp^Hot!?h:6rrA8S
-!!+/?p&>##nGrIdJ,~>
-!!)9`!1i`^#oI-PcK4fV\rSuJ!!'\+s5O([#Q3ofp]10jhZ3KP!'g,V#Tn/U]\rG0W)<<i!$M(:
-hZ3'DhZ3NQ!,20.!&OHN!W4,8!!+G>oD\f7oDek8nc/IdJ,~>
-JH16$JH50>J,~>
-kPtWkrq69uk+#@()$_<QDSc;IrrN*bpAj7R!VQT\!;QTj!8mhP!!'e,rs@S?AjROG/QJnNq>UHN
-p]04Om/Z&Dq>^M\q>UH:q#CEsh"UgLfEq-L!/C.G!8?rCqu;0~>
-!!)<a!T=.S!!4RMrV6Bnmje,5!=&5ls7cTirrr8fjk@.2q#CD+li6_[qZ$<jiVrnOp&G.3Pkb(S
-!T4+V!!&_\s7cTOs7cTQrrN!:q#CD]qYpP9pAb3ran,N5q@E/t!8I)EqZ)-~>
-JH16$JH50>J,~>
-kl:`)qY'pjekuPD!!*SYq>UKi$2=Mqs7lX!":l@q8@\ZqrrAGP!;QTj!;QTQ!!$9trrV:s#5J6"
-*;TF1!*nplq#B4Oq#B:Q!<_<Vrr?X,!!%rOrrN!So)Jdome$M[rZ^n5qu;0~>
-!!)<a!&"!G!X4bao`"o.q#CC\q#C*hoD\eJq>^O(r9XIY!;c`j!94"ZlNm4b!HRo-rrL.@q>^L%
-mf3%^huEHOi;Wi0!Vucs!U0I]!6k-:!.XS>!35Si!)`=eqZ)-~>
-JH16$JH50>J,~>
-kl:_0p\t<jC]j;0!Kd<WrrB_,!;QTc!!(+:rrMZlli?h\q>g<jiW&ump%SIeN!T+W!B9rQrrD]Z
-!;QTO!;QTP!!+GEqYpTo(An.51&^kH!.XP>!*&Oh!3G_kqu;0~>
-!!)?b!5\C0!>`TCrr?F%!!'Y,s7cTcrrB;!!!'%cs7cTjs7cTRrr?a,!!$p.rr?s4!!&#Is7cTO
-s7cTOrr@]I!!"/?rrMm/pAb4NqXXXd3;EOS'Dhb1"o@ijqZ)-~>
-JH16$JH50>J,~>
-l2UfIp\t9X47N:NT)/Hfr^-D\q#Bpc!)E@i!*&:bq#C0jq#B=R!1!<Y!0HdP!0?sU!-%B,q#B4O
-q#B4O!.+J@!8dYS!=%c^rrL7Fnc/[/q>UH[qu6]m"S2Wjs*t~>
-!!)?b!'p;Z!>4,VrrMp0q>^L:q>^3ioD\gGq#CCtm/Qh\qZ$<jj8T/W%/9f'@/]]s!U'R\!!!`%
-s7cTOs7cTNrr=YH!!%BFrr?9t!!*DXo)A^Cp](;Cq>^MWoDe[fJ,~>
-JH16$JH50>J,~>
-l2Uguq#:B^,4GR5"mGg_!8mSPq#Bpc!$_7=!2]#^q#C0jq#B@S!<_idrrJ\lo)Je,qtg<ml0eWI
-s5*hOs5!_Ud/!\AK)P`MU\FchodB;1!@@a@rr@QFrr?p-!;leH~>
-!!)Bc!8$rF!4;1o!4qt+!4D\'p]0pc!;?3g!&X'Bp]10jp]0@S!4hk)!A+-<rr>pl!!(%.s7cTO
-s7cTNrrM<eq#CKRs1.h'!0csQ!,hT4!]TQMqZ$U9oDe[fJ,~>
-JH16$JH50>J,~>
-lMpr5rqZQpr^uSY!(6V_!WGXd!;QTc!!!<#rrC4.!;QTj!;QTS!!#I_rrLOMnGiQkq>UFSn,W7`
-hZ3HOh>dQlq"k!nr>u#-rqHEmC[hB)O88eW`t/"CrrD!K!;leH~>
-!!)Bc!,hQ3!-[`/!''fT!%n'Ip]0pc!9*_R!"\Grp]10jp]0@S!+GX&!2T,a!Q,$9!!$j)s7cTO
-s7cTMrrA\e!!4#.%/0`&7K)fW!VZrs!!8Pf<;HRpde*S:!.Y~>
-JH16$JH50>J,~>
-lMppHq#:>Mli7%*qYpQBq>g<jo)Jb2q>UH`li?h\q>g<jirB(Lq#:=tn,NJNqYL3lP4/JHs5*hO
-s4mYT?MXU&jUC\RrrKY2nc/[qo(i:eAcSh-rrN*LoDndgJ,~>
-!!)Bc!%@XC!=8#XrrASb!!)E`s7cTcrrB_-!!!`"s7cTjs7cTTrrMs(q#CF=qsXOd_%.C]!!**d
-nGi7`huEHOh#@@@q#CC?pAb4*j73-LUA4ck$1Ru-q>^Ldo`+dgJ,~>
-JH16$JH50>J,~>
-lMpq8q>UKh'C5]!@f$**r=So,q#Bpc!(-M]!:&nNq#C0jq#BCT!<hrgrrLpXmf3DOmcFEI!WB_$
-!;QTO!;QTL!!'Y,rrCaHrrMO,nGiPoq>UQi%KJilrrBJ!!;leH~>
-!!)Ed!:BO]!+P9o!9j4Y!06sVp]0pc!(6P^!'BQIp]10jp]0CT!4_e(!1*$P#5uFN7tA,<n,N._
-huEHOh#@EF$h"&qVXXTc0DPSN>lXj&(&It3"8DKgqZ)-~>
-JH16$JH50>J,~>
-li7%urqZQoSEg.U(B++0!,q`7q#Bpc!5&(,!5n.'q#C0jq#BCT!(Qb`!,1a""p$gR[sgdWmf<._
-hZ3HOg].?ao'cSY=RZ:jcM@JCU&Y/okPP8[q?QZnqu;0~>
-!!)Ed!4)A"!6sg/!&OHO!%[sHp]0sd!/C7K!,1a!p]10jp]0CT!/pUP!9WVI!<)6`p]04Op]0(K
-!4_Lu!*A[i!7LWB!5AI4!.ObE!/:+GqZ)-~>
-JH16$JH50>J,~>
-li7#Zq#:=Kl2Uh,qYpQEqZ-EkoDeo9rqZQoQL"VHs7u`js5X.[F85b8)!_/%!UBa\s5*hOs4[MS
-7K2iW!2o;d!%dpF!'pM`!.aqG!-n/:qu;0~>
-!!)Ed!-S);!#4\t!/(+J!<MH_s7cTjrrr/aikLO!pAb3Am/Qh\qZ$<jjSo4#q#CC<e,T1ChuEHO
-gA_.Wnc/\/mI:,UAbc<,+oVE?!8mVQ!#G8-qZ)-~>
-JH16$JH50>J,~>
-li7$Bq>UH[kl:^1qYpTp(&S(,s7u^!#8%q?Dqb!d!WFY:!;QTj!;QTT!!%uRrrCm(!;QTO!;QTJ
-!!&ebrrM0mn,NHVq>UKO!WE'"+9)0;!9a"Tqu;0~>
-!!)Ed!)NCj!(lGT!2K>i!29>jiW&sRli6_[qZ#RUq>UFtq#CD!e,T1ChuD^:n,EF`(%VD*\a]V"
-o*>'k!.k(J!'0lU!6Fm6qZ)-~>
-JH16$JH50>J,~>
-li7$hq>UH&kl:]fq>UG#quGaV!3kbhq#C0jj8\oT!2]Mk!2J!Cq#B4Oj8\QJ!=%c[rrN*fn,NIs
-p%eUfIJa'F`;9K62>.%Is*t~>
-!!)Ed!'U,X!.X85!4hn*!.t.KirB)rh<Y+9!;c`T!;c]q5ktB[QIGm/!8mh9!:Tpfc1Cu9C[_9'
-ReZpa!T<nU!2KAj!'p8XqZ)-~>
-JH16$JH50>J,~>
-li7%%q>UGEkl:]Pq>UGBquGdW!TtWl!;QTj!94%T!!'b/rr?`]!;QTO!94%I!!+ePp&>#Umf3>u
-q>UKo*rH!<>Pe@"^@hR(s*t~>
-!!)Ed!%[jF!4(kh!7:NA!,2<1j8]2jd-CZ+!;c`T!;c]q-i!`B]$p]S!8mh9!:KjeFS5\8-M?j-
-!%7RB!(?_a!VH]p!!*,lp](*jJ,~>
-JH16$JH50>J,~>
-li7%7q>UFgkl:]9q>UG\quGgX!Uq`,!;QTj!94%T!!(XHrr>I9!;QTO!94%H!!%lLrrLaYmf3@=
-q>UH+qZ$X'p&"air!W6!qu;0~>
-!!)Ed!#kY5!6FF)!9X(W!)EIljT#<+b3As$!;c`S!;lcr&,?2*c-u^f!8mh8!:TpfFnYk:"3L$3
-!6Y':!2]Pl!+Pd)!.+D>qZ)-~>
-JH16$JH50>J,~>
-li7%Hq>UFQkl:]#q>UH!quGjY!STBp!;QTj!9*tT!!)K`rr=e&!;QTO!9*tH!!%iLrrN!Smf3>E
-q#:=sq>^MbqYpPKpAk*jJ,~>
-!!)Ed!!rB#!8$K8!;ZEj!&XWRjT#;^Om2o@!;c`S!;lcr#Pe?"i7%`$!8mh8!:^!gch7>=E:3`+
->kn@#&,,l"!6G!:!"nu*qZ)-~>
-JH16$JH50>J,~>
-li7%Zq>UFBkl:\eq>UH;quGjY!W6cu!;QTj!9*tT!!)chrr=+h!;QTO!9*tI!!+_Np\t5QmJm6\
-q>UKa#l4N$2Z!FRm.UMWs*t~>
-!!)Ed!"/N%!9WPG!:KX_!#ke8irB(!lMpVZqZ#LSqu6X:q#CEde,T1ChuDX8nc&Xc(A7_/(]Ek'
-!Up6f!!$^-rr=2<!!'b.s8)eH~>
-JH16$JH50>J,~>
-li7%Xq>UF3kl:\pq>UHUquGgX!WJ&C!;QTj!9*tT!!)!Rrr<GU!;QTO!9*tJ!!*8cpAY0U!Up'i%
-f#l"!1*B[!8[MO!'g5Yqu;0~>
-!!)Ed!%.LA!;5UV!8[GN!!W<#iW&t5li6_[qZ#LSqu6XQq#CEie,T1ChuDX8nc&SqoDel+nG`KO
-p](<:q#:>Pq>^LTq#C3kJ,~>
-JH16$JH50>J,~>
-li7%<q>UF$kl:],q>UHjquGdW!WI?0!;QTj!9*tT!!(1;rr<8P!;QTO!9*tJ!!&Y`rrA8P!!$j1
-rr=nN!!%*:rrC(6!;leH~>
-!!)Ed!(-J]!;PgY!6k6=!#YY6i;`l0m/Qh\qZ#LSqu6Xiq#CEWe,T1ChuDX8o)A^&nc/[8nc&S3
-jT#;Mq>^<lJ,~>
-JH16$JH50>J,~>
-li7$uq>UF!kl:]=q>UHWquGaV!WFJ5!;QTj!9*tT!!'>#rr<nb!;QTO!9*tK!!,Cbo`"sk0(AoA
-h<+_<r=8W'qu;0~>
-!!)Ed!+,I$!9`VH!4M\'!&OQQp]1*h"oRfHd\Jku!!"A4s7cTjs7cTTrr?R)!!(Kss7cTOs7cTL
-rrM^#nc/[uq=FUd_W1[sDu'G1!.Y~>
-JH16$JH50>J,~>
-li7$Yq>UF2kl:]Sq>UH<quHNlp](L"&0<B*`;]W5!7pK:q#C0jq#BCT!1Wfa!%ZLuq#B4Oq#B+L
-!=SDfrrMWno)JbQjSo4@q#L<lJ,~>
-!!)Ed!.+G@!7g?6!.t"H!)EIlp]0mb!292g!2o5ap]10jp]0CT!.+G@!5[.ap]04Op]0+L!(lY[
-!)<(b!)hkX!"Jc(qZ)-~>
-JH16$JH50>J,~>
-li7$=q>UFDkl:^2q>UH!quHNlnc/Yoq>UFrm/Zq]q>g<jj8]15q>UFXdfB1ChZ3HOg].>]nG`Km
-o)JckjSo5Lq#L<lJ,~>
-!!)Ed!1Wca!5n($!(ltd!,;B2p]0ja!''fT!%%%4p]10jp]0CT!2B8h!3Y\g"kaYjP0j0qs7cTO
-s7cTMrrB"c!!'G"rrMEeirB(bqZ$EmJ,~>
-JH16$JH50>J,~>
-li7#qq>UFVkl:^kq>UG[quHNlnGiR.qYpQKm/Zq]q>g<jj8]0bq>UFkli728kc/GO!U]s_s5*hO
-s4mYT<U]qgr^ZV]!>G@jrr>^g!;leH~>
-!!)Ed!9EqU!1)mL!"J`(!/1:Mp]0ja!3u>"!64I,p]10jp]0CT!9s:Z!0?OI!SIhY!!*L2n,N._
-huEHOhZ!WC#58)t6MUT^"nMBe!/TV7!&+3KqZ)-~>
-JH16$JH50>J,~>
-li7&)rVHNoB^#KsnbN1bHMdd<s7$'h:&4eh3:6eAs7u`js5X.\(&e"/!,h0(!@@@9rrMYcmf<._
-hZ3HOh>dQhp@nRf])MR+!Vd)s!!%0$rrC=?!;leH~>
-!!)Bc!'0lU!(lJU!5&"+!2'2hp]0ja!87/J!-J5?#,mAn9.^YIq#C*hqZ$<jj8T*7q>^L`mJd0O
-qZ$Wt>4DRe!8mhO!8d_U2>7(P)=;#2!!"hLrrN'9i;`lBqu?NnJ,~>
-JH16$JH50>J,~>
-lMpq'qYpQ'l2UfOq#:>$quHNlnGiP8q>UGPrW!.'Fd05[n-Jdhq#C0jq#B@S!6b6=!4hIs!,;?1
-!W8b_!;QTO!;QTN!!(+7rrV9oR/-a^anGc9!TW2>!W<`0!;leH~>
-!!)Bc!1EZ`!"%rj!(-G\!93qVp]0ja!;?3g"AJjqVucer!=SVtrrDfg!;c`j!9=(ZK),HJ$N9Dm
-!(H_a!*&Ifp]04Op]04O!0HmS"1S=-)Yj@5Qh^R\]&3PgAGcE(!.Y~>
-JH16$JH50>J,~>
-lMporqYpQfl2Ugrq>UKp*;fg3s7$'h#l4K'Z2al*r;?QqnHesk!!i<!q>g<jirB(,qYpTf!U]pf
-\GH4*WUKo_s5*hOs5*eVD>*u37fWYOq>UG+p](:^i;WeFqZ-NnJ,~>
-!!)Bc!UKj`!!'RrrrCmM!!#7\s7cTarrD*T!!=PIrs&<"!9O(W!:KX_!!2rrp]0@S!6t<>!6t!4
-!9EqU!=E$#s7cTOs7cTPrrM$ZpAb2-rr3#L!Vucs!U0@Z!(l)K!=A`&s8)eH~>
-JH16$JH50>J,~>
-lMpquqtg<m7-jmS+o_<;!5JC2q#Bja!#tb6"5*YSq"k!j)>X=5&Gc>+rV?Nhs5O(Z1&:hL0^euB
-)ZBO4!V<,W!;QTO!;QTP!!+,:p\t5YrVusIr;-Eor"f).!4:\a!V?Ej!;leH~>
-!!)?b!(H_a!#"Yu!%RaD!1Nfbp]0ja!5SC1!sel+&GcA-$hjJt!9EqU!"f#,p]0=R!#580!)W.a
-!,M?0!*/Rhp]04Op]0:Q!W=;<!!+A;rVlkJq#CC;qYpQXp](:Unc&XZ"Sr)uVu6Sl!.Y~>
-JH16$JH50>J,~>
-l2UgoqYpQ]li7%7q#:>)qZ-EknGiPQq>UQk!!)H`rrMZrqZ$U7q>UH_q>g<jiW&uCqYpPtmf3?N
-q#:>nnGr@ahZ3HOi;`lZf_>CHg'[cY!.F\C!8dPP!>tb1rrBt,!!*T*qYpOrquHWoJ,~>
-!!)?b!6k6=!,V*'!-7i7!=%uhs7cTarr?I&!!=2?ruCh7!9O+X!6t<>!$V4=p]0=R!0R'W!:TIX
-!Sd_N!!&kcs7cTOs7cTQrr@<<!!*/Aqu6XHq#CD>qu6YHp](;bnG`Jhq>^LDr;ZWoJ,~>
-JH16$JH50>J,~>
-l2Ui?rVHNoOmW2LMtm;Qp^m<&q#Bja!1irc"60@]iq`TS)>aC61&:hLh>.-Hs5F"YD>O85r=8>t
-!?q@8rr?3l!;QTO!;QTQ!!%`IrrN$VqZ$WEq>UGJqZ$VEq#:>&n,NHdqYpQFquHWoJ,~>
-!!)<a!+G['!06RK!0-^Q!)WOlp]0mb!T4(U!!>1[s$-;Z!71QB!292g!&FENp]0=R!W!Q-!!*r7
-oD\jh*;BL7"n2!]p]04Op]0=R!7CK?!.=YC!TsU]!!([MrrN$2q#CF'oC2b[^A.a/j8K#T!.Y~>
-JH16$JH50>J,~>
-kl:^RqYpTqDt!`-E;oY4!3Z.uq#Bmb!?M%4rr^:A!5J@0!&+3L!+#F#!6k9>q#B=R!<hT^rrM6`
-o)JdmiV<ERq%)uqq#B4Oq#B=R!A+3Drr@ZI!!*o3qYpTq-2dfE!p]U]!V6]g!!#:\rrN*;r;c`p
-J,~>
-!!)<a!Vd?(!!-[-o`"sgAG-!']))I%!;$3kck?*R"()$-E;9J6Vu-Jo>58-u6i-iX!9*qXZ2"A#
-*qf4+!VIl8!!$Nus7cTOs7cTSrrMs5pAb4Lq>($jSG<-c&c;S-!4)A"!+>9q!W<l3!!$4$s8)eH~>
-JH16$JH50>J,~>
-kl:_glMCM^rg3i\!!3:krqHEm7/?oYs763k0'`63"/#VoNqr\T=8MstU\Xoi]D;O&s5<qX9_n\h
-h[&lT!=@<NrrAPX!;QTO!;QTS!!*5ap\t9<"o/,u@JTp(li[4e!)31f!1rWZ!<M9XrrAhm!;leH~>
-!!)9`!5nR3!Z&'>q#:EoYncs4!+l!+p]1-i"o\2af9S#^!!BS-s/5Ym!(d%f!8.&H!+Ga(p]07P
-!&=9L!XXeVq#:B!&GH/*!o!/Dp]04Op]0@S!+P[&!=.0Lrr>=[!!$7&rr>@[!!'n(rr@TG!!*?&
-rr;iqJ,~>
-JH16$JH50>J,~>
-kPtWErqZQqk=bpO!!30pkk>#VRJ?jXs7lWu!=',_B[QPR"%rUo=8Djr[JU"*-2mZ>!1irdq#B7P
-!6k9=!q^L@p](=imJ$V]r$:b3q#B4Oq#B@S!1`f`!V\&;!!'_.rrAem!!'_-rr>1L!!%HDrrMiq
-rW)iqJ,~>
-!!)6_!,2*,$5.!Vcfb,dcELmmo`,":o(i=D!!O#2s8V`tq#CS>an4;I"o&&tU\b#K!;QQpeH5LG
-#mb@?`9I!T_LWs)!!$3ks7cTOs53nTrrBh-!!&)RrrMWsq#CK4s5<YP!$pt3!9*_R!1a&gqZ)-~>
-JH16$JH50>J,~>
-k5YLIp\tTdQ;'"K"W/pgQgFDF!Se+Z!9!k\lid@h$2+/p#6'N<$7'Qbq#:=uq>fIRp](=DqtU0t
-oo`WB'aPdAIG=Gp!2T&`q#B4Oi;`]T!C$MWrr@!2!!*Q#qYp]t3rg?$q>UHKm/R/-rVHNo@K$9(
-s*t~>
-!!)3^!)heV!<U47s53kWJGoKJAa06qkPG59!;QQoV;hOV($P,dp]04OhZ3ZU!V?lr!!,Cap&>$$
-q#CI%p3693!/9e>!'L)X!$_FBqZ)-~>
-JH16$JH50>J,~>
-jo>C^ir9&W3qr^5rr@NH!!&DPrrN*8q>fFQp](=sroF([kn`^fq#B4OhuEZU!=J;irrKe6o`,"^
-rqcWroa$<Irr@?2!!'k3rrCdP!;leH~>
-!!)0]!-dH'!.">=i;`m'p\k*ml3HYU!%n$HhZ3EN!28HR!3ttlp]04OhZ3ZU!)3+e!=n)[rr?3t
-!!,:pq#CEsj6ZdGVtg;og].<N!.Y~>
-JH16$JH50>J,~>
-jT#=9roF(ZL%bT+rrLjZr;Zj4p$D\YdJ3e"s7ZKo>lEda!);k]q#B4OhuEZU!3u:u!Uq-$!!&hj
-rrKk%q>UKn)sdP)=8Mq!rZV=Bqu;0~>
-!!)-\!2eiX!I4M9s5F"Z#/C'8!2Jl\!3#_nh>m<M!O2[g!!%K8s7cTOs5!_Vs/Yhn!2B&a!VdAu
-!!#RUrrMj$q>^Ros8VrrJ,~>
-JH16$JH50>J,~>
-j8]3^r9+(]re:OL!94"ZpcnWU!F#Kirr?*q!8dbM!!,glkPkO4m/Zq]hZ2O5!WZ0up\t4unc/[p
-kkb;ZrqQKn[d*no#P7fl!iuA%qu;0~>
-!!)*[!R_MC!!*V8p&F%P!=#t-rr@E6!!#Oas5!bLrrL%Dkl:^4m/Qh\huDO5!UU-d!!#serrC=5
-!!'"`rr?^.!!3?#s8)eH~>
-JH16$JH50>J,~>
-irB*1mcj`PmnNHTj8T/T8bi>eKDt?>!4V_'hZ*9L!BKi;rr@T9!;QTO!8d_V&bYnu!3>Sh!AOKB
-rr?'a!!&>]rrW!!!;leH~>
-!!)'Z!VC3o!!+_,o`*tP!AV[irrA5O!!+"pq#B1Np&>'U7dL*U$'acUp]04Oh>dOWpAb41lgOiR
-FRfD4'):bl!6t<>!Kd?Y!.Y~>
-JH16$JH50>J,~>
-iW'#eOo=YH!RN(`!9F.\br5:r!GhZ(rrM1'p]01No`,%0\,Pdp!VL3n!;QTO!8d_UVt^2lk7d:a
-!/^:H!UL$U!!"bLrrHs:qu;0~>
-!!)!X!olfQn,NM$IJ*12kPt\c5+_]FrrLV"o)JePk4\i4!;$3k^aJRN!B8Zqs7lZOs5*eWs&\sq
-!4;.n!0-RM!,Um!!6t??!^cqequD6~>
-JH16$JH50>J,~>
-huEfs[f#Xp!q(UGnc7nR"9$#C!qcNo.b""h!Q5iK!8mhJ!!5=7rp]pga!U$Nq>]:Ohu<]WVtg8l
-9'lTYEV'21P3;lG1&CnO]Dqs0s*t~>
-!!(pV!q(+KoDeqIN:H?9nGidr%N?fdFJ7aarrK5LpAb74J,&X8i;iEJ!maOIoDen^\E3bf!8RV5
-!<2uu=8MstB'TBrNV*8OcK>-,c2.J@g&D$N!.Y~>
-JH16$JH50>J,~>
-h>dTgMrXI0!mP`pmJueW#Q+#Nf!gNB)t3h.;:bLA!p+n9o)RbLnGiVCZLdbh!rfYujT,2Xg]6=5
-rVuqrqu6Y`l2Ug(qu6Zqr;QaNjo>B9r;Qfs-2moDs*t~>
-!!(gS%+^_S1E?o+%37B>QefIW$IFJm+UnZ#5@:\m^]+c>]SBTA*"E&[+>dT&idq-Es*t~>
-JH16$JH50>J,~>
-gAhX1BUd3(nbhq9a-^K_^]4]oH+i&(pY<NU9`r-1%0T"AVU4>lqsiOcRp6qa!5AMa~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-!!%TMJcC<$nc++~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-JH16$JH50>J,~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/legacy/edje/doc/img/edje-color-class-example2.png b/legacy/edje/doc/img/edje-color-class-example2.png
deleted file mode 100644 (file)
index 3fd61e0..0000000
Binary files a/legacy/edje/doc/img/edje-color-class-example2.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-drag-example.png b/legacy/edje/doc/img/edje-drag-example.png
deleted file mode 100644 (file)
index d7e92c5..0000000
Binary files a/legacy/edje/doc/img/edje-drag-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-perspective-example.png b/legacy/edje/doc/img/edje-perspective-example.png
deleted file mode 100644 (file)
index 37b86fa..0000000
Binary files a/legacy/edje/doc/img/edje-perspective-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-signals-messages-example.eps b/legacy/edje/doc/img/edje-signals-messages-example.eps
deleted file mode 100644 (file)
index 55290de..0000000
+++ /dev/null
@@ -1,7202 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (ImageMagick)
-%%Title: (edje-signals-messages-example.eps)
-%%CreationDate: (2011-08-01T15:12:15-03:00)
-%%BoundingBox: -0 -0 225 225
-%%HiResBoundingBox: 0 0 224.977 225
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 1
-%%Pages: 1
-%%EndComments
-
-%%BeginDefaults
-%%EndDefaults
-
-%%BeginProlog
-%
-% Display a color image.  The image is displayed in color on
-% Postscript viewers or printers that support color, otherwise
-% it is displayed as grayscale.
-%
-/DirectClassPacket
-{
-  %
-  % Get a DirectClass packet.
-  %
-  % Parameters:
-  %   red.
-  %   green.
-  %   blue.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/DirectClassImage
-{
-  %
-  % Display a DirectClass image.
-  %
-  systemdict /colorimage known
-  {
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { DirectClassPacket } false 3 colorimage
-  }
-  {
-    %
-    % No colorimage operator;  convert to grayscale.
-    %
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { GrayDirectClassPacket } image
-  } ifelse
-} bind def
-
-/GrayDirectClassPacket
-{
-  %
-  % Get a DirectClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   red
-  %   green
-  %   blue
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/GrayPseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassImage
-{
-  %
-  % Display a PseudoClass image.
-  %
-  % Parameters:
-  %   class: 0-PseudoClass or 1-Grayscale.
-  %
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  class 0 gt
-  {
-    currentfile buffer readline pop
-    token pop /depth exch def pop
-    /grays columns 8 add depth sub depth mul 8 idiv string def
-    columns rows depth
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { currentfile grays readhexstring pop } image
-  }
-  {
-    %
-    % Parameters:
-    %   colors: number of colors in the colormap.
-    %   colormap: red, green, blue color packets.
-    %
-    currentfile buffer readline pop
-    token pop /colors exch def pop
-    /colors colors 3 mul def
-    /colormap colors string def
-    currentfile colormap readhexstring pop pop
-    systemdict /colorimage known
-    {
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { PseudoClassPacket } false 3 colorimage
-    }
-    {
-      %
-      % No colorimage operator;  convert to grayscale.
-      %
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { GrayPseudoClassPacket } image
-    } ifelse
-  } ifelse
-} bind def
-
-/DisplayImage
-{
-  %
-  % Display a DirectClass or PseudoClass image.
-  %
-  % Parameters:
-  %   x & y translation.
-  %   x & y scale.
-  %   label pointsize.
-  %   image label.
-  %   image columns & rows.
-  %   class: 0-DirectClass or 1-PseudoClass.
-  %   compression: 0-none or 1-RunlengthEncoded.
-  %   hex color packets.
-  %
-  gsave
-  /buffer 512 string def
-  /byte 1 string def
-  /color_packet 3 string def
-  /pixels 768 string def
-
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  x y translate
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  currentfile buffer readline pop
-  token pop /pointsize exch def pop
-  /Times-Roman findfont pointsize scalefont setfont
-  x y scale
-  currentfile buffer readline pop
-  token pop /columns exch def
-  token pop /rows exch def pop
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  currentfile buffer readline pop
-  token pop /compression exch def pop
-  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
-} bind def
-%%EndProlog
-%%Page:  1 1
-%%PageBoundingBox: 0 0 225 225
-userdict begin
-DisplayImage
-0 0
-224.977 224.977
-12
-300 300
-0
-0
-FFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0808FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFF7F7FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0808FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
-0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
-0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
-0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF
-0404FF0404FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF000010F6F20CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
-0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
-0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
-0CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF60CFAF6
-0CFAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF080808040404FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F99F9F9F4242422121210A0A0A202020404040848484
-D4D4D4FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3373737030303010101000000000000000000010101
-020202030303FBFBFBFFFFFFFFFFFFFFFFFF080808040404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C6C6C020202101010828282BABABAECECECE0E0E0
-BFBFBF7A7A7A292929FCFCFCFFFFFFFFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2727270101018D8D8DFBFBFBFEFEFEFFFFFF
-FFFFFFFEFEFEFDFDFDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF121212000000D0D0D0FEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF080808000000000000040404040404
-040404040404FBFBFBFFFFFF080808040404FBFBFBA7A7A75353531D1D1D050505FBFBFBFFFFFF
-080808040404FBFBFBFFFFFFFFFFFFFFFFFF080808040404FBFBFBAFAFAF5151511919191D1D1D
-4D4D4DD3D3D3FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD8E8E8E3838381111113F3F3F8F8F8F
-FDFDFD080808040404FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFCDCDCD5858582C2C2C0D0D0D2B2B2B565656CBCBCBFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFF080808040404FBFBFBAFAFAF5151511919191D1D1D4D4D4DD3D3D3FEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFE4E4E46A6A6A3838381111111C1C1C414141A1A1A1FCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF424242010101414141D5D5D5
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000000000000000
-000000000000000000FBFBFBFFFFFF040404000000868686050505010101000000000000FBFBFB
-FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000008A8A8A050505010101000000
-0000000101010A0A0AD6D6D6FEFEFEFFFFFFFFFFFFFFFFFF5A5A5A030303010101000000010101
-020202797979020202000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF898989070707010101010101000000010101010101050505898989FDFDFDFFFFFF
-FFFFFFFFFFFF0404040000008A8A8A0505050101010000000000000101010A0A0AD6D6D6FEFEFE
-FFFFFFFFFFFFFFFFFFA8A8A81111110202020101010000000000000101010202024A4A4AF9F9F9
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC0C0C0C010101
-0303031F1F1F535353808080C6C6C6FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB040404000000
-FBFBFBFBFBFBFBFBFBFBFBFBFFFFFFFFFFFF040404000000060606515151A8A8A8F1F1F1FBFBFB
-FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000000707075C5C5CAFAFAF
-E4E4E49D9D9D282828010101595959FCFCFCFFFFFFFFFFFFB6B6B60404040606065B5B5BC4C4C4
-C5C5C55D5D5D080808000000000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFCBCBCB0606060000004040409C9C9CE2E2E29D9D9D3F3F3F010101040404CACACA
-FEFEFEFFFFFFFFFFFF0404040000000707075C5C5CAFAFAFE4E4E49D9D9D282828010101595959
-FCFCFCFFFFFFFFFFFFDDDDDD1010100303037E7E7EB6B6B6E8E8E8D0D0D09696961D1D1D020202
-8D8D8DFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEDDDDDD
-616161151515010101010101020202030303222222B6B6B6FEFEFEFFFFFFFFFFFFFFFFFF040404
-000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000545454FAFAFAFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF0404040000005D5D5DFAFAFA
-FEFEFEFFFFFFFDFDFD9E9E9E020202232323FCFCFCFFFFFFFFFFFF4D4D4D010101616161FAFAFA
-FEFEFEFEFEFEFCFCFC616161010101000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF575757010101414141F9F9F9FDFDFDFFFFFFFDFDFDFCFCFC404040010101
-545454FCFCFCFFFFFFFFFFFF0404040000005D5D5DFAFAFAFEFEFEFFFFFFFDFDFD9E9E9E020202
-232323FCFCFCFFFFFFFFFFFF626262020202868686FBFBFBFEFEFEFFFFFFFEFEFEFDFDFDAFAFAF
-030303383838FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDF9F9F9CDCDCDA1A1A15C5C5C0F0F0F010101030303BCBCBCFEFEFEFFFFFFFFFFFF
-040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000ACACACFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404000000C6C6C6
-FEFEFEFFFFFFFFFFFFFFFFFFEDEDED040404040404FBFBFBFFFFFFFFFFFF252525010101ADADAD
-FEFEFEFFFFFFFFFFFFFFFFFFAFAFAF030303000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF2A2A2A0101019D9D9DFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF9E9E9E
-020202282828FCFCFCFFFFFFFFFFFF040404000000C6C6C6FEFEFEFFFFFFFFFFFFFFFFFFEDEDED
-040404040404FBFBFBFFFFFFFFFFFF313131010101040404060606050505050505040404040404
-0303030000000C0C0CFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFCFCFCF3F3F35B5B5B0101013C3C3CFCFCFCFFFFFF
-FFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000F3F3F3FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404000000
-FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF0B0B0B000000
-E6E6E6FFFFFFFFFFFFFFFFFFFFFFFFE9E9E9040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C0C0C000000E2E2E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-E5E5E5040404090909FBFBFBFFFFFFFFFFFF040404000000FAFAFAFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF040404000000FBFBFBFFFFFFFFFFFF0E0E0E000000000000000000000000000000000000
-000000000000000000000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDADADA0303030E0E0EFBFBFB
-FFFFFFFFFFFF040404000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF040404
-000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF242424
-010101B0B0B0FEFEFEFFFFFFFFFFFFFFFFFFB1B1B1030303000000FBFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF292929010101A0A0A0FEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFA2A2A2030303272727FCFCFCFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF2E2E2E010101AFAFAFFAFAFAFBFBFBFBFBFB
-FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1C1C1030303222222
-FCFCFCFFFFFFFFFFFF0C0C0C000000E8E8E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000
-FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFF
-040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
-4A4A4A010101656565FDFDFDFFFFFFFFFFFFFFFFFF656565020202000000FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535353010101434343FCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFF434343010101515151FCFCFCFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF6161610101012A2A2AF7F7F7FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF2B2B2B6F6F6FB4B4B4D6D6D6EFEFEFE9E9E9B7B7B7848484171717000000
-626262FDFDFDFFFFFFFFFFFF282828010101828282E3E3E3FFFFFFFFFFFFFFFFFFFFFFFF040404
-000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFF
-FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
-FFFFFFB3B3B3030303080808636363C9C9C9CBCBCB656565090909000000000000FBFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7C7C7040404010101454545A1A1A1
-E6E6E6A3A3A3464646020202020202C6C6C6FEFEFEFFFFFFFFFFFF040404000000FBFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFDCDCDC121212010101404040
-868686C3C3C3F3F3F3E3E3E3C6C6C68484842F2F2FFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF050505020202030303030303040404040404030303020202000000
-2F2F2FEDEDEDFFFFFFFFFFFFFFFFFF7C7C7C020202020202040404040404040404FBFBFBFFFFFF
-040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFF
-FFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
-FFFFFFFFFFFFFEFEFE535353010101020202030303030303020202707070020202090909FBFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE828282030303010101
-020202040404030303010101020202818181FCFCFCFFFFFFFFFFFFFFFFFF040404000000FBFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFEFEFEB4B4B4161616
-010101020202030303040404040404030303020202010101FBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D68D8D8D4949492626260B0B0B0B0B0B242424454545
-A1A1A1F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFF3F3F37E7E7E2727270C0C0C000000000000FBFBFB
-FFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFB
-FFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000
-FBFBFBFFFFFFFFFFFFFFFFFFFAFAFA8888883333330D0D0D3A3A3A8B8B8BACACAC030303292929
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDC6C6C6
-525252262626080808252525505050C5C5C5FCFCFCFFFFFFFFFFFFFFFFFFFFFFFF040404000000
-FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF040404000000FBFBFBFFFFFFFFFFFFFFFFFFFEFEFE
-EEEEEE8282824141411E1E1E0606061A1A1A3838387B7B7BCECECEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFCFCFC
-FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFBFBFBFBFBFB
-FFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
-FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFCFCFCFDFDFD545454010101
-4D4D4DFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFCFCFCFCFCFCFBFBFBFCFCFCFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
-FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBFBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFDFDFDFCFCFCFBFBFBFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF404040ADADADE2E2E2EAEAEAA6A6A65B5B5B060606
-000000B8B8B8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF050505030303040404040404030303010101
-0000005F5F5FFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3C3C35757572222220707071E1E1E
-444444A8A8A8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFCFCFCFBFBFB
-FBFBFBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-FB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F208FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF00000CF6F2
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
-0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFFB0004
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-0CF6F208FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6
-08FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF608FAF6FBFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
-FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
-FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
-FBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FBFBFBFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
-FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
-FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFF
-FBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFBFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFBFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000FFFBFB
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404FF0000
-FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0404
-FF0000FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404FF0404
-FF0404FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FF0404FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFBFB
-FFFBFBFFFBFBFFFBFBFFFBFBFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF
-
-end
-%%PageTrailer
-%%Trailer
-%%EOF
diff --git a/legacy/edje/doc/img/edje-signals-messages-example.png b/legacy/edje/doc/img/edje-signals-messages-example.png
deleted file mode 100644 (file)
index 808d535..0000000
Binary files a/legacy/edje/doc/img/edje-signals-messages-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-table-example.eps b/legacy/edje/doc/img/edje-table-example.eps
deleted file mode 100644 (file)
index 24c7825..0000000
+++ /dev/null
@@ -1,1241 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
-%%Title: edje-table-example.eps
-%%CreationDate: Fri Aug  5 11:18:09 2011
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 417 416
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228346456694 14.173228346456694 translate
-% Translate to begin of first scanline
-0 400.99999999999994 translate
-402 -400.99999999999994 scale
-% Image geometry
-402 401 8
-% Transformation matrix
-[ 402 0 0 401 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 402 string def
-/gstr 402 string def
-/bstr 402 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData:        19661 ASCII Bytes
-colorimage
-JcE:\JH31[!'bu~>
-JcE:\JH31[!).n~>
-JcC<$JcG9?!<>rH~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JcE:\JH3.ZJ,~>
-JcC<$JcG9?rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JcE:\JH3.ZJ,~>
-JH16$JH5-=J,~>
-JH34\JcE:\rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JcE:\JUk:]rr@Q~>
-JH34\JUk:]rr@Q~>
-JH16$JH5-=J,~>
-JH16$JH5-=J,~>
-JH16$JH5-=J,~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/legacy/edje/doc/img/edje-table-example.png b/legacy/edje/doc/img/edje-table-example.png
deleted file mode 100644 (file)
index c748f84..0000000
Binary files a/legacy/edje/doc/img/edje-table-example.png and /dev/null differ
diff --git a/legacy/edje/doc/img/edje-text.png b/legacy/edje/doc/img/edje-text.png
deleted file mode 100644 (file)
index 952246a..0000000
Binary files a/legacy/edje/doc/img/edje-text.png and /dev/null differ
diff --git a/legacy/edje/doc/img/signal2final.png b/legacy/edje/doc/img/signal2final.png
deleted file mode 100644 (file)
index 6d741d2..0000000
Binary files a/legacy/edje/doc/img/signal2final.png and /dev/null differ
diff --git a/legacy/edje/doc/img/swallow2final.eps b/legacy/edje/doc/img/swallow2final.eps
deleted file mode 100644 (file)
index 7d89707..0000000
+++ /dev/null
@@ -1,7730 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (ImageMagick)
-%%Title: (swallow2final.eps)
-%%CreationDate: (2012-04-03T13:51:00-03:00)
-%%BoundingBox: 0 0 299 324
-%%HiResBoundingBox: 0 0 299 324
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 1
-%%Pages: 1
-%%EndComments
-
-%%BeginDefaults
-%%EndDefaults
-
-%%BeginProlog
-%
-% Display a color image.  The image is displayed in color on
-% Postscript viewers or printers that support color, otherwise
-% it is displayed as grayscale.
-%
-/DirectClassPacket
-{
-  %
-  % Get a DirectClass packet.
-  %
-  % Parameters:
-  %   red.
-  %   green.
-  %   blue.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/DirectClassImage
-{
-  %
-  % Display a DirectClass image.
-  %
-  systemdict /colorimage known
-  {
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { DirectClassPacket } false 3 colorimage
-  }
-  {
-    %
-    % No colorimage operator;  convert to grayscale.
-    %
-    columns rows 8
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { GrayDirectClassPacket } image
-  } ifelse
-} bind def
-
-/GrayDirectClassPacket
-{
-  %
-  % Get a DirectClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   red
-  %   green
-  %   blue
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile color_packet readhexstring pop pop
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/GrayPseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet;  convert to grayscale.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  color_packet 0 get 0.299 mul
-  color_packet 1 get 0.587 mul add
-  color_packet 2 get 0.114 mul add
-  cvi
-  /gray_packet exch def
-  compression 0 eq
-  {
-    /number_pixels 1 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add def
-  } ifelse
-  0 1 number_pixels 1 sub
-  {
-    pixels exch gray_packet put
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassPacket
-{
-  %
-  % Get a PseudoClass packet.
-  %
-  % Parameters:
-  %   index: index into the colormap.
-  %   length: number of pixels minus one of this color (optional).
-  %
-  currentfile byte readhexstring pop 0 get
-  /offset exch 3 mul def
-  /color_packet colormap offset 3 getinterval def
-  compression 0 eq
-  {
-    /number_pixels 3 def
-  }
-  {
-    currentfile byte readhexstring pop 0 get
-    /number_pixels exch 1 add 3 mul def
-  } ifelse
-  0 3 number_pixels 1 sub
-  {
-    pixels exch color_packet putinterval
-  } for
-  pixels 0 number_pixels getinterval
-} bind def
-
-/PseudoClassImage
-{
-  %
-  % Display a PseudoClass image.
-  %
-  % Parameters:
-  %   class: 0-PseudoClass or 1-Grayscale.
-  %
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  class 0 gt
-  {
-    currentfile buffer readline pop
-    token pop /depth exch def pop
-    /grays columns 8 add depth sub depth mul 8 idiv string def
-    columns rows depth
-    [
-      columns 0 0
-      rows neg 0 rows
-    ]
-    { currentfile grays readhexstring pop } image
-  }
-  {
-    %
-    % Parameters:
-    %   colors: number of colors in the colormap.
-    %   colormap: red, green, blue color packets.
-    %
-    currentfile buffer readline pop
-    token pop /colors exch def pop
-    /colors colors 3 mul def
-    /colormap colors string def
-    currentfile colormap readhexstring pop pop
-    systemdict /colorimage known
-    {
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { PseudoClassPacket } false 3 colorimage
-    }
-    {
-      %
-      % No colorimage operator;  convert to grayscale.
-      %
-      columns rows 8
-      [
-        columns 0 0
-        rows neg 0 rows
-      ]
-      { GrayPseudoClassPacket } image
-    } ifelse
-  } ifelse
-} bind def
-
-/DisplayImage
-{
-  %
-  % Display a DirectClass or PseudoClass image.
-  %
-  % Parameters:
-  %   x & y translation.
-  %   x & y scale.
-  %   label pointsize.
-  %   image label.
-  %   image columns & rows.
-  %   class: 0-DirectClass or 1-PseudoClass.
-  %   compression: 0-none or 1-RunlengthEncoded.
-  %   hex color packets.
-  %
-  gsave
-  /buffer 512 string def
-  /byte 1 string def
-  /color_packet 3 string def
-  /pixels 768 string def
-
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  x y translate
-  currentfile buffer readline pop
-  token pop /x exch def
-  token pop /y exch def pop
-  currentfile buffer readline pop
-  token pop /pointsize exch def pop
-  /Times-Roman findfont pointsize scalefont setfont
-  x y scale
-  currentfile buffer readline pop
-  token pop /columns exch def
-  token pop /rows exch def pop
-  currentfile buffer readline pop
-  token pop /class exch def pop
-  currentfile buffer readline pop
-  token pop /compression exch def pop
-  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
-} bind def
-%%EndProlog
-%%Page:  1 1
-%%PageBoundingBox: 0 0 299 324
-userdict begin
-DisplayImage
-0 0
-299 324
-12
-299 324
-0
-0
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424443403C3B383A3A363B3A373C3B373B3A363B3A36393834373733363632363632363632
-3636323636323636323636323636323636323636323837333938343A39353A39353A3935393834
-383734363632363632363632363632363632363632363632363632363632363632363632383733
-3938343A39353A39353A39353938343C3B3743433E474642464541474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642454440
-3E3E393C3B373C3B363C3A363D3A363C39363D3A363C3A363C3B363C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373B3A363B3A363B3A363A39353A39353A39353938353938343938353A3935
-3A39353A39353B3A363B3A363B3A363C3B373C3B373C3B373C3B373B3A363B3A363A3935393835
-3A39353938353938343938353A39353938353A39353D3D39454440464541474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746424746424746424544423D3B37
-3B3A363C39368A5E4EC0795FE0896BF79674E1896BC17A5F8D5F4F3D3A363B3A363C3B373C3B37
-3C3B373C3B373B3A363B3B363B3A3639383539383559585474736E87868298979287868275746F
-5A59553A39363938353A39353B3B363B3A363C3B373B3A363C3B363B3A363A393539383554534F
-77767187878294938E8887827978745756513A39363938353B3936454440464541474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464247464247453F43413D
-403F3F454642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464143403C3E3C3B414341
-47464247464143403C3E3C3B414341474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464143403C3E3C3B414341474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746424746424544403D3B383C3A36
-57463DDC8364F8916BF78F68F78D66F68B64F78D66F78F68F8916BDF846559473D3C3A363C3B37
-3C3B373C3B373B3A363A393539383443433F81807C94938D91908B8E8D898C8B858E8D8991908B
-94938D82817D4444403938343B3A353B3A363C3B373B3A363A393539383442413C7B7A7692918C
-91908B8E8D898C8B858E8D8991908B94938D81807A4544403938343C3A37464541474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464247453F424753636E74
-807A614C413E45453E3D39373737393F4241474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746414340475F7079898F8674503F
-4143404340475F7079898F8674503F414341474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474641
-4340475F7079898F8674503F414341474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746424746423F3D393B3A365C473D
-EA8763F5875FF38156F38156F38156F38156F38156F38156F38156F5875EEC88645B463C3B3A36
-3C3B373C3B373B3A363938354544418988848D8D8688878187878086857F86857F86857F878780
-8887818D8D868A89854544413938353B3A363C3B373B3A3639383542413D8685808D8D86888781
-87878087868086857F86857F8787808887818D8D8689888443423F3938353F3E3A474642474642
-47464247464247464247464247464247464247464247464247464247464247453F3E3736363635
-3636353636353636353636353636384144414746424746424746424746424540373F68A9DCD9D1
-DFC687543C3A3B405A8EB4C3D5C7A481513D3F4241474642474642474642474642474642474642
-47464247464247464247464247464247464247464246443F3E3C38383736363635363637393B3B
-404341474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247453E393D5FABD5D0DEDBC49B5B3D
-3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247453F3E3736363635363635363635363635363635363638
-414441474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464247464247464247453E
-393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746424444403C3B373D3A36D77955
-F07D51EE7647EE7647ED7647EE7647EE7647EE7647ED7647EE7647EE7647F17E51D877533F3A36
-3C3B373B3A373A39353938347D7C7689888184837D83827C82817B81807A807F7981807A82817B
-83827C84837C8988827D7C753A39353A39353B3A373A393538373479797389888184837D82817B
-81807A807F797F7E78807F7981807A82817B84837D8988827D7C753A39353A3935474642474642
-47464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0DEDBD2
-DFDBD2DFDBD2DFDBD2DFDBD2DFDBB075453A4144414746424746424746424540373F68A9DCD9D1
-DFC687543B38394C7DC1D7CFDDDAD0B670433B4041474642474642474642474642474642474642
-47464247464247464247464247464247464246433C3D475F829CACC6CECDDFDBD2DACFBFBFAB8F
-775541414341474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247453E393D5FABD5D0DEDBC49B5B3D
-3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247453F3D3A508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBB0
-75453A414441474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-47464247464247464247464247464247464247464247464247464247464247464247464247453E
-393D5FABD5D0DEDBC49B5B3D3C4141474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4746424746424746424746424746424746424746424746424746423E3E3A3B3A3686543FED784B
-EB6E39EB6E39D56334C0592FEA6D39EB6E39EA6E39C45B30D06133EB6E39EB6E39EF794A88553F
-3C3A363B3A3639383455544F85847E7F7E787F7E777E7D767C7B747B7A737A79737B7A737C7B74
-7E7D767F7E777F7E7886857F5555503938343B3A3639383551504C85847E7F7E787F7E783F3E3A
-3B3A363B3A363B3A363B3A363B3A363A39357E7D777F7E7886857F555550393834474642474642
-47464247464247464247464247464247464247464247464247464247453F3D3A508BC4D0DEDBD2
-DFDAD0DCD8D0DCD8D0DCD8D0DCD1A770443B41454147453F413D39383736363635416AAADDD9D1
-DFC687543C3B3F3D4159738290836851403E444542474641423E3B3938353636363737393D4040
-46464247464247464247464247464247453F3B3E5692C2D0DEDBD2DED9D0DCD8D0DCD9D0DDD9BD
-90543C3D4340413A36363635373C3F46464246433B38363637393E45464247453E3A3636363636
-3C4141474641433D38383735363635363636383A3B41434147453E393D5FABD5D0DEDBC49B5B3D
-3C413E393D5FABD5D0DEDBC49B5B3D3C4141474642474641423F3B3A38363636363738393D3F3F
-464542474640413A36363635373C3F46464246433B38363637393E45464247453E3A3636363636
-3C414147464247464247464247453F3D3A508BC4D0DEDBD2DFDAD0DCD8D0DCD8D0DCD8D0DCD1A7
-70443B3F3D3836363636373A424542474640403A36363635373C3E464541433D38383735363635
-363636383A3B414341474642474640403B3838373636363536363537393A3E3E3B3C3937373636
-3737383C3E3F46464247464247463F3F3C3938373536363536363638393A3D414046464247453E
-393D5FABD5D0DEDBC49B5B3D3C4141474642474641423E3B3938353636363737393D4040464642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-474642474642474642474642474642474642474642474642474642474642474642474642474642
-4544404544404544404544404544404544404544404544404544403C3B373A3935C36946EA6F3B
-E96A33E96A33BF5C32502817BB552AE76933C2582C522917B95A31E86A33E96A33EB6F3BC66A46
-3C3A353B3A363938346D6D677D7C767A79737A797379787178777077766F77766F77766F787770
-7978717A79737A79737D7C766E6E683A39353B3A363938346A69637E7D767B7A737A79733F3E3A
-7E7D767E7D767E7D767E7D767F7E773F3E3A7978727B7A737E7D76706F693A3935454440454440
-45444045444045444045444045444045444045444045444045444045433D3C3A508BC4D0DEDBD2
-C6864F3934333333333333333333373F433F45433D3D3F517697ACC6CFCFDFDBCACECACFDFDBD2
-DFC687543B39373D5FABD5D0DEDBC49B5B3C3C403E3E3A435D7D98B9C5C9DEDBCED2C3A9967251
-403D3D4344404544404544404544404541383B568CCBD9D1DFDBC29D67463935353B424C5C6459
-49413C3D394473B2CFDDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4
-995B3C3A39406092AECBD0CFDFDBD2DFD4C4C4AF8D72503E3F403C383D5FABD5D0DEDBC49B5B3C
-3C3F3D383D5FABD5D0DEDBC49B5B3C3C403F45443E3E3B425C7B96B6C2C6DBDBCDD0C1AA997654
-413C3B3E394473B2CFDDDAD2D19A593E3A383A4D7FC2D9D1DDB36B46393A37426BB4D8D0DEDBC4
-995B3C3C403F45444045444045433D3C3A508BC4D0DEDBD2C6864F393433333333333333333337
-3D3B3A5183B2DBD9D2DFC99060403A3B394675ACCBDDDAD1C892593F393F6092AECBD0CFDFDBD2
-DFD4C4C4AF8D72503E3F403D3D3D5080A0ADC3CBCADDDBD2DFDBCACDB99A8B818AA8BCC3DADBD2
-D6CAB5A8835B443D3C44443E3D3E5181A1ADC4CBCADCDBD2DFDAC8CBBBA3916E4F403D3D44433D
-383D5FABD5D0DEDBC49B5B3C3C403F45443E3E3A435D7D98B9C5C9DEDBCED2C3A9967251403D3D
-434440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-454440454440454440454440454440454440454440454440454440454440454440454440454440
-42413D42413D42413D42413D42413D42413D42413D42413D42413D3C3B37393835E07146E96830
-E8662EE8662EEA713FC273534F28179C4622502717BC6F51E97241E8662EE8662EE96830E17246
-3C39353A393538373379787277766F77766F76756E75746D75746D75746D74736C75746D75746D
-75746D76756E77766F77766F7978723938343A393538373475746E78777077766F77766F3F3E3A
-75746D76756E75746D76756E76756E3F3E3A76756E77766F7877707A797339383442413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42403B3B39508BC4D0DEDBD2
-C788513C3736363635363635373A3B42403C3D38436DA7C8DDDAD2DED9D0D9D2CDDDD9D1DFDBD2
-DFC687543B38363C5FABD5D0DEDBC49B5B3C3A373C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7
-A669443B3D3C41413D42413D42413D413F39394C7DC1D8D0DFDBD0C0936C5443383838383C3B3A
-41413D403B374B7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
-613F383D383B5C9AC1DAD4C7D0CBC6D9D9D0DEDBD2DFC386553B38363C5FABD5D0DEDBC49B5B3C
-3B3D3B373C5FABD5D0DEDBC49B5B3C3B3D3C3F3A3D598EBADDDAD2DEDAD0DDD8D0DDDAD1DFDBD1
-BD834F3D38374A7BB3DCDAD2DFBE7B4E3838436FAADBD9D1DFD098603D363C5B95D0D9D1DFD19C
-613F383F403D42413D42413D42403B3B39508BC4D0DEDBD2C788513C3736363635363635373A3B
-42413B393B4F84B8CFDDDAD2C88F5A4F6FA0D4D9D1DEC1895B3E393C383B5C9AC1DAD4C7D0CBC6
-D9D9D0DEDBD2DFC386553B38363D5FABD5D0DEDBD2DED7CBD9D9D0DEDBD2DFDBD2DED9D0DAD7D0
-DDDBD2DFDBC9A767413B3D3A373D5FABD5D0DEDBD2DED7CBD7D8D0DDDAD2DFDBCEB67B4B3C3B3A
-373C5FABD5D0DEDBC49B5B3C3B3D3C3F383C578DB9DDDAD1DED9CFD4CECBDDD9D1DFDBC7A66944
-3B3D3C41413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D42413D
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B3C3B37393834E97140E66228
-E66228E66228E66228E76E39A05B4043221499583EE66E3DE66228E66228E66228E66329E97040
-3C39343A393538373379797273726B73726B74736C3C3B373B3A363B3A363B3A363B3A363B3A36
-3B3A3673726B73726B72716A7979723938343A393538373376756F73726B73726B74736C3F3E3A
-74736C75746D75746D75746D75746D3F3E3A73726B73726B73726B7A7973393834403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403E393A39508BC4D0DEDBD2
-DFDBD2DFDBD2DFDBD2DFDBD2CD94563D3837384B7ABFD9D1DFDBC6A16944373435436FADDDD9D1
-DFC687543B37363C5FABD5D0DEDBC49B5B3C394670B5D8D0DEDBB88B573E38363A4E7AADDBDAD1
-DFB872483A393E3E3B403F3B403F3B403E3A3C39406190B4DAD8D0DEDAD1DFDBCAC3AA8C785942
-3B3A3A3F3D37394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D5084B8DDDAD2D8A964
-413A3A3F3F393D383737393C4247494D5A7DBDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3C
-3A3C39373C5FABD5D0DEDBC49B5B3C3A3B38384671B6D8D0DEDBCAB1805844383A517EAEDADAD1
-DFD4A2684136394E81C3D8D1DFD8A76E423F63A3C8DDDAD2DFDBBC8C533D5084B8DDDAD2D8A964
-413A3A3F3F3B403F3B403F3B403E393A39508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2CD9456
-3D393A403D36394F7DB9D6D0DEDBCBD1D9D2DEDAB88C583D393C3A3F3F393D383737393C424749
-4D5A7DBDD9D1DEDBB57D4A37363C5FABD5D0DEDBC49B5B3B37446CB1D6D0DEDBD2BD774637384B
-80BCD0DEDBD2D49F5C3E3A39363C5FABD5D0DEDBC49B5B3B3536416291BBDDDAD2DFD09A613F37
-373C5FABD5D0DEDBC49B5B3C3A3A38384570B5D8D0DEDBB88B573E38363A4E7AADDBDAD1DFB872
-483A393E3E3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B403F3B
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393C3C37393835DC6839E65F25
-E55E23E55E23E45E23BF511F5129179A593F4F2818B94E20E45D23E55E23E55E23E66025DD6738
-3C39353A3935383733706F6A706F68706F6871706A7A79737B7A737C7B747C7B747C7B747B7A73
-7A797371706A6F6F68706F68706F6A3938343A39353837336E6D68706F68706F6972716A3F3E3A
-73726B75746D75746D75746D75746D3F3E3A717069706F69706F6873726C3938343E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3C383939508BC4D0DEDBD2
-DFDACBD5D1C8D4D0C8D4D0C4BA89523C37353C5F9BD4D9D1DFD39E633E373B3A353F68A9DCD9D1
-DFC687543B37353C5FABD5D0DEDBC49B5B3C3D5C97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1
-DEC98E583C363C3D393E3D393E3D393E3D393E3D383A3639465B6F8C9FAECDD8CFDDDAD2DFDBC7
-AE764B3B3A373839508EC3D0DEDBC49C635F98C9D0DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43
-393A373B3943648CA8CCDAD1DEDAD0DDD9D1DFDBD2DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C
-3A3A38363C5FABD5D0DEDBC49B5B3C3939353C5C98D3D9D1DFD4A0643E373B3C3737436DB8D9D0
-DEDBBE8E543A3738508EC3D0DEDBC49C635F98C9D0DDD6C8DEDBD2BC7A5775B3CFDDDACEB26D43
-393A383E3D393E3D393E3D393E3C383939508BC4D0DEDBD2DFDACBD5D1C8D4D0C8D4D0C4BA8952
-3C39383E3D383C37395080B1DDDAD2DFDBD2C68B543D38383E3D383B3943648CA8CCDAD1DEDAD0
-DDD9D1DFDBD2DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C38384D85BFD0DEDBD2C2814C39363A
-5A98C4DDDAD2DEB269413737353C5FABD5D0DEDBC49B5B3C3A3936374B7BC0D9D1DFDBB7844E39
-363C5FABD5D0DEDBC49B5B3C3938353C5B97D1D9D1DFDBD2DEDAD1DEDAD1DEDAD1DEDAD1DEC98E
-583C363C3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D393E3D39
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373A3935B75A32E45F23
-E35B1CE35B1CC04E1C512816BA6949E67140C26E4D502717B94D1BE25B1CE35B1CE55F23BA5B32
-3C3A353A39353938345F5E5A6D6C666C6B646E6D66706F6972716A73726B74736C73726B72716A
-706F686E6D666C6B646D6C66605F5B3A39353A39353938345F5E5A6D6C666C6B656E6D673F3E39
-706F6873726B73726B73726B72716A3F3E396D6C666C6B656D6C6664635E3938353C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
-C6864F3934333333333333333537373B39353B5E99D4D9D1DFD6A36840373939343F68A9DCD9D1
-DFC687543A36343C5FABD5D0DEDBC49B5B3B3D5F9CD3D9D1DFDBC1AC958A908E89908E89908E89
-8F81644A3B373B3B373C3B373C3B373C3B373C3B363A39363A3834373633353E527EACCADDDAD2
-DFC688553B363936395591BFDDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB724538
-3A38353C609BD5D9D1DFD9B69D807173788CBFD8D1DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C
-393936353C5FABD5D0DEDBC49B5B3C3938343B5D98D2D9D1DFD4A1663F363A3A3637446EB8D9D0
-DEDBBE90543B3836395591BFDDDAD2CBA39DC9DAD1BE8779ADD3D1D9B694B6D4D1DED8AB724538
-3A3A373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C6864F393433333333333333353737
-3C3B373C3B373838446DA2C5DDDAD1DEDBD2D9AF764D3A353B39353C609BD5D9D1DFD9B69D8071
-73788CBFD8D1DFDBBD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
-538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC49B5B3C383835364874BCD9D1DEDBBB885139
-353C5FABD5D0DEDBC49B5B3C3938343C5E9CD3D9D1DFDBC1AC958A908E89908E89908E898F8164
-4A3B373B3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A367B4730E35E23
-E25817E25817CA5727BD6A48E4662FE25817E4642BC16C4BC75727E25817E25817E45E247A4631
-3C3A363B3A363938344B4A456A69636867616968626B6A646E6D666F6E67706F686F6E676E6D66
-6B6A646968626766606B6A644A49453938343B3A363938344B4A456A69636867616A69623E3D39
-3B3A363B3A363B3A363B3A363B3A363B3A366968616867616C6B654E4D483938343C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
-C788513C3736363635363635363635373A35384874B9D8D0DEDBCDB67F523F3837416AAADDD9D1
-DFC687543A36343C5FABD5D0DEDBC49B5B3C384A77BBD8D0DEDBCDB683594339363636363B454C
-4A3F383A3B373C3B373C3B373C3B373C3B36393B496873685B4E443E3937373B496C9EC4DDDAD2
-DFCB925C3D363B39343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E463937
-3A37364A7BB3DCDAD2DFBD7B4E3936363D5EA5D1D0DEDBBD8D533A353C5CA5D0D0DEDBCEB37046
-393936363C5CA5D0D0DEDBCEB3704639393537466FB5D7D0DEDBCBB2835B453B3D5480B0DBDAD1
-DFD4A16841373A38343A558DCAD9D1DFDBD2DFDBBB8B534971B0CEDDDAD2DFDBD2DCB26E463937
-3B3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2C788513C3736363635363635363635
-373A363B37374771A1D4D9D1DEC8A6B0C8D0DEDBD0BB83513C37364A7BB3DCDAD2DFBD7B4E3936
-363D5EA5D1D0DEDBBD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
-538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBC6A1623F37363A507CAEDBDAD1DFD5A4684236
-363C5CA5D0D0DEDBCEB37046393834364977BBD8D0DEDBCDB683594339363636363B454C4A3F38
-3A3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3835C35626
-E2591AE15511E35D1FE36228E15511E15511E15511E36127E35E22E15511E3591AB151273C3935
-3C3B373C3A363A39353938345E5E5966655F64635D65655E6867616968626A6962696862686761
-65655E64635D66655F5959543938353A39353C3A363A39353938345E5E5966655F64645E6D6C67
-706F6972716A72716B72716A706F696E6D6764645E66655F61615B3A39353A39353C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2
-DFDBD2DFDBD2DFDBD2DFDBD2DFDBC9B36F4337373E5D94BDDBD8D1DEDBD2DFD8CAD8DAD2DFDBD2
-DEC687543B36343C5FABD5D0DEDBC49B5B3C38373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCC
-A9643E383A373C3B373C3B373C3B373C39353A558ACAD8D0DEDBD2DFDBD2DFDBD2DFDBD1DEDAD0
-CC995E4139373B3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCEB37045393937
-3B39353C5990CCD7D0DEDBD2D6C7B5BAB8BBD8DAD1DEDABD8D533A3637497DB7CEDCDAD2DFDBC7
-A8664138384A7DB7CEDCDAD2DFDBC7A8664139373C598EBADBD8D1DEDBD2DFDBD2DFDBD1DED9D0
-BF84503B38373C3B37373A5392C6D0DEDBD2DFC98C583B354571ABDBD9D1DFDBCEB37045393937
-3C3B373C3B373C3B373C3B373C3A363838508BC4D0DEDBD2DFDBD2DFDBD2DFDBD2DFDBD2DFDBC9
-B36F4338456BA9D1D0DEDAC0965C3E3E5A8CC8D8D1DFDAB284503B3D5990CCD7D0DEDBD2D6C7B5
-BAB8BBD8DAD1DEDABD8D533A353C5FABD5D0DEDBC49B5B3C37374477B7D0DDDAD2C3824C393639
-538BBCDDDAD2DFB46B423836353C5FABD5D0DEDBD2DFDBD1D8D4D1DFDBD2DEDAD0CA93583E3736
-3737497DB7CEDCDAD2DFDBC7A8664139373E5F96BEDBD9D1DEDBD2DFDBD0DBD9D2DFDBCCA9643E
-383A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36523C30
-D0551DE15612E0520AE0520AE0520AE0520AE0520AE0520AE0520AE15612D2561C4D3B323B3A36
-3C3B373C3B373B3A363938353E3D3A605F5962615B61605A62615B63625C64635D63625C62615B
-61605A62625C5F5E5A3D3C383938353B3A363C3B373B3A363938353F3E3B605F5B62625C61605A
-62615B63625C64635D64635D62615B61605B62625C61605C403F3B3938343A3A353C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A3638394F89C2CEDBD8D0
-DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0B871433939373838435D7D96B6C1C3D8D8CFDCD8CED4C9B6
-B49568473936353C61ACD5D0DEDBC49B5B3B383A353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9
-9161413A3A373C3B373C3B373C3B373C3A373D4D698CA2ACC4CCCBDCD8CFDCD8CBD1C4AFA38766
-4C3B373A3B373C3B363A37395086B8DAD7CFCE97583D3837364771B7D6CEDCD2A16941373A3B37
-3C3B3739383D557893B5C5C9DCD8CFDCD8D0DAD2C2C3B2916F49383939363D4F6E98B3BFD8D7BC
-93583B3839363D4F6E98B3BFD8D7BC93583B383A373838415D7E99B8C3C6DBD8CDD1C1AC9C7955
-4138363B3B373C3B363A37395086B8DAD7CFCE97583D3837364771B7D6CEDCD2A16941373A3B37
-3C3B373C3B373C3B373C3B373C3A3638394F89C2CEDBD8D0DCD8D0DCD8D0DCD8D0DCD8D0DCD8D0
-B8724D6399C1DAD7CFD4A66845393639374067A1C5DAD8CFD6AC6F47393E557893B5C5C9DCD8CF
-DCD8D0DAD2C2C3B2916F4938353C5FA9D2CEDCD8C29A5A3C37374476B5CDDBD8D0C1814C393639
-5289BADAD7CFDCB26A423836353C5FABD5D0DEDBD2D4C7C2D7D8CFD9CDB8B18F67493A363A3A37
-3B3A363D4F6E98B3BFD8D7BC93583B383A353837415C7C95B4BEC1D7D8CFDCD8CED1C2A9916141
-3A3A373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A36
-483B32AA4A1FDD540EDF5207DF5106DF5004DF5106DF5207DE540DAC4B1E493B323B3A363C3B37
-3C3B373C3B373B3A373A3A353938343B3A3754534E5E5D585E5D585D5C575D5C575D5C575E5D58
-5F5E5955544F3C3B373938343B3A353C3B373C3B373B3A373A3A353938343C3B3855544F5E5D58
-5E5D585E5D575E5D575E5D575E5D585F5E595C5B56403F3B3938343B39353B3A363C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3A36383433333333
-3333333333333333333333333333333538373C3B373C3B373A3735353433333333333333343434
-3536363836353B5382C4D9D1DFDBBA874F39393A373C3B36393834353433333333333333333434
-3739373C3B373C3B373C3B373C3B373C3B373C3A36373534343333333333333333333434363736
-3B3B373C3B373C3B373C3B363A37343333333437363C3B373C3A36353333333434393B373C3B37
-3C3B373C3B373A3835353333333333333333333433343535393A373C3B373B3A36373533333334
-373A373C3B373B3A36373533333334373A373C3B373C3B373A3834343433333333333434373736
-3B3B373C3B373C3B373C3B363A37343333333437363C3B373C3A36353333333434393B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3A36383433333333333333333333333333333333333333
-3538373A36343333333435363C3B373C3B363935333333333335363B3B373A3835353333333333
-333333333433343535393A373C3B363533333333343739373C3B373835333333333537373C3B37
-3A37343333333335353C3B36353C5FABD5D0DEDBC49B5B3B3634333333333537363B3A373C3B37
-3C3B373B3A36373533333334373A373C3B373C3B36393834353433333333333333333434373937
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3B3A363A39356E3F28AC491ACF4E0EDC5107D04E0EAE4919703F283B39353B3A363C3B373C3B37
-3C3B373C3B373B3A363B3A373A3A3539383538373345444050504A58585259595458585351514B
-4544403837333938353A39353C3B363B3A363C3B373B3A363C3A363A3A35393835383733484742
-52524C59595359585459595354544E4948433938343938343A39353B3B363B3A363C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36
-383A528BBAC5DBDBD2DFDBD1DDC88F5C3D363B3A373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B36353C5FABD5D0DEDBC49B5B3C3939373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373B3A363A39353938353938343938353A39353B3A363C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373B3A363B3A373B3A363A3935393834393834383733383733383733393834
-3938343A39353B3A363B3A363B3A363C3B373C3B373C3B373B3A363B3A373B3A363A3935393834
-3837343837333837333837333837343938343A39353A3A363C3A363B3A363C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B36
-363E5EA0C7CEDBD8CCCEBA9A7E573E3A39373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B36353C5FA9D2CEDCD8C29A5A3C393A373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373B3A373B3A363B39353A39353A39353A39353B3935
-3B3A363B3B363C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373B3A363B3A36
-3A39353A39353A39353A39353A39353A3A363B3A363C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B363634333333333434343839373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B363533333333343739373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B373C3B37
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A3F3E3A
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F3F3F3EFEFEFF0F0F0F0F0F0
-F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3
-F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6
-F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
-F7F7F7F7F7F7F7F7F7F7F7F7F9F9F9FBFBFBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF6F6F6EFEFEFE7E7E7E0E0E0E1E1E1E1E1E1
-E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
-E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECECECEC
-EDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F3F3F3F7F7F7FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF1F1F1E7E7E7DCDCDCD2D2D2D3D3D3D3D3D3
-D4D4D4D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDE
-DEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9E9E9E9E9E9E9EDEDEDF3F3F3F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCECECECDFDFDFD0D0D0C2C2C2C3C3C3C4C4C4
-C5C5C5C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E1E1E1E8E8E8EFEFEFF6F6F6FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
-F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F0F0F0E3E3E3D9D9D9CDCDCDC2C2C2C3C3C3C4C4C4
-C5C5C5C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
-E0E0E0E0E0E0E0E0E0E0E0E0E5E5E5ECECECF1F1F1F7F7F7F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
-F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FBFBFBFCFCFCFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFAFAFAF2F2F2EAEAEAE1E1E1DEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E1E1E1
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E3E3E3DADADAD3D3D3CCCCCCC4C4C4C4C4C4C5C5C5
-C6C6C6C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFDFDFDFDFDFDFE4E4E4E7E7E7ECECECF0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2
-F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F6F6F6F9F9F9FCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF7F7F7EBEBEBDEDEDED2D2D2CCCCCCCECECECECECED0D0D0D0D0D0D1D1D1
-D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D5D5D5D1D1D1CDCDCDCACACAC5C5C5C6C6C6C7C7C7
-C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEE2E2E2E4E4E4E6E6E6E8E8E8EAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9EBEBEBF1F1F1F6F6F6FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF5F5F5E3E3E3D3D3D3C2C2C2BBBBBBBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1
-C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8
-C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFE1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E4E4E4ECECECF3F3F3FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F2F2F2F1F1F1
-F1F1F1F1F1F1F1F1F1E9E9E9DBDBDBCCCCCCBFBFBFB8B8B8BABABABBBBBBBDBDBDBEBEBEBFBFBF
-BFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0E0E0E0E3E3E3EAEAEAEFEFEFF6F6F6F9F9F9F9F9F9
-F9F9F9F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F0F0F0E9E9E9E1E1E1DFDFDF
-E0E0E0E0E0E0E0E0E0DBDBDBD2D2D2C8C8C8BEBEBEBABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
-C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACA
-CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E3E3E3E8E8E8ECECECF0F0F0F2F2F2F2F2F2
-F2F2F2F2F2F2F2F2F2F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E8E8E8DCDCDCD1D1D1CFCFCF
-CFCFCFD0D0D0D0D0D0CDCDCDC8C8C8C3C3C3BEBEBEBCBCBCBDBDBDBEBEBEC0C0C0C1C1C1C2C2C2
-C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCB
-CCCCCCCDCDCDCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
-E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E2E2E2E2E2E2E3E3E3E6E6E6E8E8E8EAEAEAECECECECECEC
-EBEBEBEBEBEBEBEBEBF0F0F0F5F5F5FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E1E1E1D0D0D0C0C0C0BCBCBC
-BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
-C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCC
-CDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
-E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E4E4E4E4E4E4
-E3E3E3E3E3E3E4E4E4EBEBEBF2F2F2F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF8F8F8F5F5F5F3F3F3
-F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4E7E7E7D8D8D8C9C9C9BABABAB7B7B7
-B8B8B8B9B9B9B9B9B9BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
-CECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
-D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDC
-DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
-E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E2E2E2E2E2E2
-E1E1E1E1E1E1E2E2E2E9E9E9EFEFEFF5F5F5FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFA
-FAFAFAFAFAFAFAFAFAFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EEEEEEE6E6E6E0E0E0
-E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D9D9D9CECECEC4C4C4BBBBBBB8B8B8
-B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
-C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7
-D8D8D8D9D9D9D9D9D9DADADADBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDF
-E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
-E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E4E4E4E4E4E4
-E3E3E3E3E3E3E4E4E4E8E8E8ECECECF1F1F1F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3
-F2F2F2F2F2F2F4F4F4F8F8F8FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF0F0F0E4E4E4D8D8D8CDCDCD
-CECECECECECECFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0CBCBCBC5C5C5C0C0C0BABABAB9B9B9
-BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
-C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9
-DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
-E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6
-E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
-E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E5E5E5
-E4E4E4E4E4E4E5E5E5E8E8E8E9E9E9ECECECEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECECECECECEC
-EAEAEAEAEAEAEEEEEEF3F3F3F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBEBEBEBDBDBDBC9C9C9BABABA
-BBBBBBBCBCBCBDBDBDBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBDBDBDBCBCBCBBBBBBBABABABABABA
-BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6
-C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
-CFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8DADADADBDBDB
-DCDCDCDDDDDDDEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
-E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
-E7E7E7E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
-E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
-E6E6E6E6E6E6E5E5E5E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E5E5E5E4E4E4
-E2E2E2E2E2E2E8E8E8EFEFEFF6F6F6FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF9F9F9F6F6F6F1F1F1E1E1E1D1D1D1C1C1C1B2B2B2
-B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
-C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDD
-DEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
-E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
-E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
-E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7
-E7E7E7E7E7E7E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E2E2E2E2E2E2
-E0E0E0DFDFDFE6E6E6ECECECF3F3F3FAFAFAFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF6F6F6EEEEEEE7E7E7E0E0E0D5D5D5C9C9C9BEBEBEB3B3B3
-B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBC
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
-C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
-D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0
-E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
-ECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
-ECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E8E8E8E8E8E8
-E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E4E4E4E4E4E4
-E2E2E2E1E1E1E6E6E6EBEBEBEFEFEFF5F5F5F8F8F8FAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF0F0F0E4E4E4D9D9D9CFCFCFC8C8C8C2C2C2BABABAB4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
-C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D2D2D2
-D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2
-E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEE
-EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEDEDEDECECECECECECECECECEBEBEBEBEBEBEAEAEAE9E9E9
-E9E9E9E8E8E8E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6
-E4E4E4E4E4E4E6E6E6EAEAEAEBEBEBEFEFEFF3F3F3F6F6F6FAFAFAFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE9E9E9DADADACACACABEBEBEBBBBBBB9B9B9B7B7B7B5B5B5
-B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
-BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8
-C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3
-D5D5D5D7D7D7D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5
-E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1
-F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
-F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEDEDEDECECECECECECEBEBEB
-EAEAEAE9E9E9E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E7E7E7
-E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EEEEEEF3F3F3F8F8F8FEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBFAFAFAF7F7F7
-F7F7F7F7F7F7F7F7F7F7F7F7F2F2F2E0E0E0D0D0D0C0C0C0B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4
-D6D6D6D8D8D8D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7
-E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
-F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDED
-ECECECEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9
-E8E8E8E8E8E8E7E7E7E7E7E7E6E6E6E6E6E6EBEBEBF0F0F0F5F5F5FBFBFBFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF4F4F4EEEEEEE7E7E7
-E3E3E3E3E3E3E4E4E4E4E4E4E0E0E0D4D4D4C8C8C8BDBDBDB3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCECECECFCFCFCFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D6D6D6
-D8D8D8DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEA
-EBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6
-F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
-F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F0F0F0
-EEEEEEEDEDEDECECECECECECEBEBEBEBEBEBEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEA
-E9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E7EBEBEBEFEFEFF2F2F2F6F6F6F8F8F8F8F8F8F9F9F9
-FAFAFAFAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8EDEDEDE1E1E1D5D5D5
-D0D0D0D0D0D0D1D1D1D1D1D1D0D0D0C7C7C7C1C1C1B9B9B9B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3D5D5D5D6D6D6D8D8D8
-DADADADCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECEC
-EDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8
-F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
-FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3
-F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDEDEDEDEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEA
-EAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8EBEBEBEDEDEDEFEFEFF1F1F1F3F3F3F3F3F3F5F5F5
-F6F6F6F7F7F7FAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E5E5E5D5D5D5C4C4C4
-BCBCBCBDBDBDBEBEBEBEBEBEBEBEBEBBBBBBB8B8B8B5B5B5B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D9D9D9
-DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEE
-EFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFA
-FBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
-FDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7F6F6F6
-F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECECECECECECECECECEC
-ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEB
-EBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECEEEEEEEEEEEEF0F0F0
-F2F2F2F4F4F4F7F7F7FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBF9F9F9EEEEEEDCDCDCCBCBCBB8B8B8
-AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCDCDCDCECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D8D8D8D9D9D9DBDBDB
-DDDDDDDFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0
-F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFC
-FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8
-F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1F0F0F0EEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC
-ECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9EAEAEAEBEBEBECECEC
-EEEEEEF1F1F1F5F5F5F8F8F8FCFCFCFEFEFEFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF4F4F4EEEEEEE7E7E7DCDCDCD0D0D0C3C3C3B6B6B6
-AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCECECECFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDC
-DEDEDEE0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1
-F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFCFCFC
-FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9
-F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
-EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC
-ECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBECECEC
-EDEDEDF0F0F0F3F3F3F7F7F7FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7ECECECE1E1E1D5D5D5CCCCCCC3C3C3BBBBBBB3B3B3
-AFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5
-B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CBCBCBCCCCCCCDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDE
-E0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3
-F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFB
-FAFAFAF9F9F9F9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0F0F0F0EFEFEFEEEEEEEEEEEE
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
-EDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
-ECECECEEEEEEF2F2F2F4F4F4F8F8F8FAFAFAFCFCFCFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4E4E4E4D4D4D4C4C4C4BABABAB7B7B7B3B3B3B1B1B1
-AFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B6B6B6
-B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CBCBCBCDCDCDCECECED0D0D0D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDDDDDDDFDFDF
-E1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4
-F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFC
-FCFCFCFBFBFBFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F0F0F0EFEFEFEFEFEF
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEBEBEB
-EBEBEBEDEDEDF1F1F1F2F2F2F5F5F5F9F9F9FAFAFAFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFCFCFCFCFCFCFBFBFBEEEEEEDBDBDBC8C8C8B6B6B6ACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CCCCCCCECECECFCFCFD1D1D1D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1
-E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6
-F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FEFEFEFDFDFDFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0F0F0F0
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEB
-EBEBEBECECECEFEFEFF0F0F0F3F3F3F7F7F7F9F9F9FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFAFAFAF4F4F4EEEEEEE7E7E7DCDCDCCFCFCFC0C0C0B2B2B2ACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6B8B8B8
-B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CCCCCCCECECECFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DADADADCDCDCDEDEDEE0E0E0E2E2E2
-E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7
-F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1
-F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECEC
-ECECECECECECEFEFEFF0F0F0F2F2F2F5F5F5F7F7F7FAFAFAFBFBFBFEFEFEFEFEFEFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF5F5F5EBEBEBDFDFDFD4D4D4CACACAC2C2C2B9B9B9B0B0B0ACACACACACACACACACADADAD
-AEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B6B6B6B7B7B7B9B9B9
-B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
-C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCC
-CDCDCDCFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADBDBDBDDDDDDDFDFDFE1E1E1E3E3E3
-E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
-F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2
-F1F1F1F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEFEFEFEFEFEFF1F1F1F3F3F3F6F6F6F8F8F8FAFAFAFDFDFDFEFEFEFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF2F2F2E1E1E1D2D2D2C1C1C1B8B8B8B5B5B5B1B1B1AEAEAEACACACACACACACACACACACAC
-ADADADAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B3B3B3B4B4B4B5B5B5B7B7B7B8B8B8BABABA
-BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3
-C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCC
-CECECECFCFCFD1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEE0E0E0E2E2E2E4E4E4
-E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9
-FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
-FEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3
-F2F2F2F1F1F1EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F7F7F7F9F9F9FBFBFBFEFEFEFDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCECECECD8D8D8C4C4C4AFAFAFA8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
-ADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B8B8B8B9B9B9BBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4
-C4C4C4C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
-CFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDDDDDDDFDFDFE1E1E1E3E3E3E5E5E5
-E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
-FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5
-F4F4F4F2F2F2F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F2F2F2F5F5F5F8F8F8FBFBFBFCFCFCFDFDFDFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF4F4F4EEEEEE
-E8E8E8DADADACBCBCBBDBDBDADADADA8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
-ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B9B9B9BABABABCBCBC
-BCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4
-C4C4C4C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
-CFCFCFD0D0D0D2D2D2D4D4D4D6D6D6D8D8D8DADADADCDCDCDDDDDDDFDFDFE1E1E1E3E3E3E5E5E5
-E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
-FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6
-F5F5F5F3F3F3F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F7F7F7F8F8F8FBFBFBFCFCFCFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6EAEAEADFDFDF
-D4D4D4C8C8C8BEBEBEB6B6B6ABABABA8A8A8A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAACACACACACAC
-ADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B6B6B6B7B7B7B8B8B8BABABABBBBBBBDBDBD
-BDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5
-C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
-D0D0D0D1D1D1D3D3D3D5D5D5D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F7F7F7
-F6F6F6F4F4F4F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0
-F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFAFBFBFBFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1E0E0E0CFCFCF
-BFBFBFB6B6B6B2B2B2AFAFAFA9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACACACAC
-ADADADAFAFAFB1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBEBEBE
-BEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
-C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
-D0D0D0D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8
-F7F7F7F5F5F5F3F3F3F3F3F3F2F2F2F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0
-F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F5F5F5F8F8F8FAFAFAFDFDFD
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECECD6D6D6C0C0C0
-AAAAAAA5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACADADAD
-AEAEAEB0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBFBFBF
-BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
-E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFA
-F9F9F9F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
-F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F6F6F6F9F9F9FCFCFC
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EEEEEEE8E8E8DADADACACACAB9B9B9
-A9A9A9A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAACACACAEAEAE
-AFAFAFB1B1B1B2B2B2B4B4B4B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBFBFBF
-BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
-E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFA
-F9F9F9F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
-F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F0F0F0F1F1F1F2F2F2F4F4F4F7F7F7FAFAFA
-FDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E8E8E8DEDEDED2D2D2C8C8C8BDBDBDB2B2B2
-A7A7A7A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABADADADAFAFAF
-B0B0B0B2B2B2B3B3B3B5B5B5B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBF
-BFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
-E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFB
-F9F9F9F8F8F8F6F6F6F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
-F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F0F0F0F1F1F1F1F1F1F3F3F3F6F6F6F8F8F8
-FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEDDDDDDCDCDCDBCBCBCB5B5B5B0B0B0ABABAB
-A5A5A5A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A8A8A8AAAAAAABABABACACACAEAEAEB0B0B0
-B1B1B1B3B3B3B4B4B4B6B6B6B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0
-C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
-E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
-FAFAFAF9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F1F1F1F0F0F0F0F0F0F0F0F0F2F2F2F4F4F4F6F6F6
-F8F8F8FAFAFAFBFBFBFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8E8E8D2D2D2BDBDBDA5A5A5A3A3A3A3A3A3A3A3A3
-A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A8A8A8AAAAAAABABABADADADAFAFAFB1B1B1
-B2B2B2B4B4B4B5B5B5B7B7B7B8B8B8B9B9B9BABABABCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0
-C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7
-E9E9E9EBEBEBECECECEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
-FAFAFAF9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F1F1F1F0F0F0F0F0F0F0F0F0F1F1F1F3F3F3F4F4F4
-F7F7F7F8F8F8FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF9F9F9F4F4F4EFEFEFEAEAEAD8D8D8C6C6C6B5B5B5A2A2A2A0A0A0A1A1A1A2A2A2
-A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEB0B0B0B2B2B2
-B3B3B3B5B5B5B6B6B6B8B8B8B9B9B9BABABABBBBBBBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1
-C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
-D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FBFBFBFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3
-F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3
-F4F4F4F6F6F6F8F8F8FBFBFBFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEF3F3F3E8E8E8DDDDDDD3D3D3C6C6C6BABABAAEAEAEA1A1A1A0A0A0A1A1A1A2A2A2
-A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B3B3B3
-B4B4B4B5B5B5B6B6B6B8B8B8B9B9B9BABABABBBBBBBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1
-C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
-D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FBFBFBFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
-F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F0F0F0F1F1F1F2F2F2F2F2F2
-F3F3F3F5F5F5F7F7F7F9F9F9FCFCFCFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDEDEDEDDCDCDCCCCCCCBBBBBBB5B5B5AEAEAEA7A7A7A0A0A09F9F9FA0A0A0A1A1A1
-A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6A8A8A8A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B4B4B4
-B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
-D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
-F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1
-F1F1F1F3F3F3F5F5F5F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDE6E6E6D0D0D0B9B9B9A4A4A4A2A2A2A2A2A2A0A0A0A0A0A09F9F9FA0A0A0A1A1A1
-A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6A8A8A8A9A9A9ABABABADADADAEAEAEB0B0B0B2B2B2B4B4B4
-B5B5B5B6B6B6B7B7B7B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACACCCCCCCDCDCDCECECED0D0D0
-D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADCDCDCDEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6
-E8E8E8EAEAEAEBEBEBEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FBFBFB
-FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9
-F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0
-F0F0F0F2F2F2F4F4F4F6F6F6F9F9F9F9F9F9FBFBFBFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F5F5F5
-F1F1F1EAEAEAD8D8D8C4C4C4B1B1B19E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1
-A2A2A2A3A3A3A5A5A5A6A6A6A7A7A7A9A9A9AAAAAAACACACAEAEAEAFAFAFB1B1B1B3B3B3B5B5B5
-B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5
-E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FAFAFA
-FBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA
-FAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1
-F0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F9F9F9FCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E8E8E8
-DEDEDED3D3D3C6C6C6B8B8B8AAAAAA9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1
-A2A2A2A3A3A3A5A5A5A6A6A6A8A8A8AAAAAAABABABADADADAFAFAFB0B0B0B1B1B1B3B3B3B5B5B5
-B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5
-E7E7E7E9E9E9EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9
-FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F3F3F3F3F3F3F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFB
-FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F5F5F5F4F4F4F2F2F2
-F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F6F6F6F8F8F8FAFAFAFDFDFDFEFEFEFEFEFEFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBECECECDCDCDC
-CCCCCCBCBCBCB5B5B5ACACACA4A4A49C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1
-A2A2A2A4A4A4A6A6A6A7A7A7A9A9A9ABABABACACACAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
-B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4
-E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
-F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFC
-FCFCFCFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F4F4F4
-F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F4F4F4F6F6F6F9F9F9FCFCFCFCFCFCFDFDFDFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE4E4E4CFCFCF
-B9B9B9A4A4A4A3A3A39F9F9F9D9D9D9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1
-A2A2A2A4A4A4A6A6A6A7A7A7A9A9A9ABABABACACACAEAEAEB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
-B6B6B6B7B7B7B8B8B8BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCFCFCF
-D1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4
-E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDEDEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5F6F6F6F8F8F8
-F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
-F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFD
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5
-F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F3F3F3F5F5F5F8F8F8FBFBFBFBFBFBFCFCFCFDFDFDFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF6F6F6F2F2F2EBEBEBD7D7D7C3C3C3
-AFAFAF9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2
-A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
-C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
-D0D0D0D1D1D1D3D3D3D5D5D5D6D6D6D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3
-E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5F7F7F7
-F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFC
-FBFBFBF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBF9F9F9F8F8F8F7F7F7
-F5F5F5F4F4F4F2F2F2F1F1F1F0F0F0F3F3F3F4F4F4F6F6F6F9F9F9F9F9F9FAFAFAFCFCFCFDFDFD
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF2F2F2E8E8E8DFDFDFD4D4D4C6C6C6B8B8B8
-A9A9A99C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A2A2A2
-A3A3A3A5A5A5A7A7A7A8A8A8AAAAAAACACACADADADAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
-C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCECECE
-CFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2
-E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4F6F6F6
-F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFB
-FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8
-F7F7F7F5F5F5F4F4F4F3F3F3F1F1F1F3F3F3F3F3F3F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFCFCFC
-FEFEFEFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAEAEAEADCDCDCCBCBCBBEBEBEB5B5B5ACACAC
-A3A3A39B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A3A3A3
-A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
-C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
-CFCFCFD0D0D0D2D2D2D4D4D4D5D5D5D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E2E2E2
-E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F5F5F5
-F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFB
-FAFAFAF8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFA
-F9F9F9F7F7F7F5F5F5F4F4F4F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F7F7F7F9F9F9FCFCFC
-FDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E3E3E3CECECEB8B8B8A7A7A7A4A4A4A1A1A1
-9D9D9D9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9EA0A0A0A1A1A1A3A3A3
-A4A4A4A6A6A6A8A8A8A9A9A9ABABABACACACAEAEAEAFAFAFB1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
-C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCDCDCD
-CECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1
-E3E3E3E5E5E5E6E6E6E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4
-F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFA
-F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFC
-FBFBFBF9F9F9F7F7F7F5F5F5F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1F2F2F2F5F5F5F8F8F8FBFBFB
-FCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F4F4F4EBEBEBD6D6D6C2C2C2ADADAD9C9C9C9C9C9C9B9B9B
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
-A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
-C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CDCDCDCFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEE0E0E0
-E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3
-F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9
-F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
-FCFCFCFAFAFAF8F8F8F6F6F6F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0F2F2F2F4F4F4F7F7F7F9F9F9
-FAFAFAFCFCFCFDFDFDFDFDFDFFFFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCF2F2F2E9E9E9E0E0E0D4D4D4C6C6C6B7B7B7A7A7A79B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
-A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
-C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CDCDCDCFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDF
-E1E1E1E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEDEDEDEFEFEFF0F0F0F2F2F2
-F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8
-F7F7F7F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
-FCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F2F2F2F3F3F3F5F5F5F7F7F7
-F8F8F8FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF8F8F8EAEAEADBDBDBCCCCCCBEBEBEB5B5B5ACACACA2A2A29B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
-A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
-BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CDCDCDCECECECFCFCFD1D1D1D2D2D2D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDFDFDF
-E0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEFEFEFF0F0F0
-F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
-FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7
-F6F6F6F5F5F5F4F4F4F4F4F4F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
-FDFDFDFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4
-F6F6F6F8F8F8FAFAFAFCFCFCFEFEFEFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF6F6F6E1E1E1CCCCCCB8B8B8A8A8A8A5A5A5A1A1A19D9D9D9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA1A1A1A2A2A2A4A4A4
-A5A5A5A7A7A7A9A9A9AAAAAAACACACADADADAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
-BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CDCDCDCECECECFCFCFD0D0D0D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDEDEDE
-DFDFDFE1E1E1E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EAEAEAEBEBEBECECECEEEEEEEFEFEF
-F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFC
-FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6
-F5F5F5F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F5F5F5F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
-FDFDFDFDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2F2F2F2F2F2F2F1F1F1F2F2F2
-F4F4F4F6F6F6F9F9F9FCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF4F4F4DCDCDCC4C4C4ACACAC9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
-A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
-B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
-BEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CCCCCCCDCDCDCECECECFCFCFD1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDDDDDD
-DEDEDEE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBEDEDEDEEEEEE
-EFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFB
-FCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6F5F5F5
-F4F4F4F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
-F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F5F5F5F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0
-F2F2F2F5F5F5F8F8F8FAFAFAFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF4F4F4DCDCDCC4C4C4ABABAB9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
-A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B4B4B4B5B5B5
-B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
-BEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CCCCCCCCCCCCCDCDCDCECECED0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADCDCDC
-DDDDDDDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECEC
-EDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9
-FAFAFAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
-FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
-FDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F6F6F6F5F5F5F4F4F4
-F3F3F3F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
-F3F3F3F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFAFAFAF8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F1F1F1F0F0F0
-F1F1F1F3F3F3F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF4F4F4DCDCDCC3C3C3ABABAB9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
-A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACA
-CBCBCBCCCCCCCDCDCDCECECECFCFCFD1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DBDBDB
-DCDCDCDEDEDEDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEB
-ECECECEDEDEDEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8
-F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFD
-FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
-FCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F5F5F5F4F4F4F3F3F3
-F2F2F2F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
-F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0
-F1F1F1F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF4F4F4DCDCDCC3C3C3AAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A5A5A5
-A6A6A6A7A7A7A9A9A9AAAAAAABABABACACACAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACA
-CBCBCBCBCBCBCCCCCCCDCDCDCECECED0D0D0D1D1D1D2D2D2D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9
-DADADADCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9
-EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6
-F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFCFCFC
-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFA
-FAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2
-F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2
-F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFAFAFAF9F9F9F8F8F8F5F5F5F3F3F3F1F1F1F0F0F0
-F0F0F0F0F0F0F2F2F2F2F2F2F5F5F5F7F7F7F9F9F9FCFCFCFDFDFDFEFEFEFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFC
-FAFAFAF7F7F7ECECECD7D7D7BFBFBFA9A9A99A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3
-B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBC
-BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8
-D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8
-E9E9E9EAEAEAECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5
-F6F6F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFBFBFB
-FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9
-F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1
-F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
-F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F6F6F6F4F4F4F2F2F2F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F3F3F3F5F5F5F8F8F8FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF2F2F2
-EBEBEBE3E3E3D7D7D7C7C7C7B6B6B6A5A5A59A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3
-B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABABABABABABABBBBBB
-BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7
-D8D8D8DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7
-E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3
-F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9
-F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8
-F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F3F3F3F3F3F3F2F2F2F1F1F1F1F1F1
-F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
-F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFE
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAF9F9F9F6F6F6F4F4F4F2F2F2F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F2F2F2F4F4F4F6F6F6F8F8F8FAFAFAFCFCFCFCFCFCFEFEFEFEFEFE
-FEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7E9E9E9
-DBDBDBCDCDCDC0C0C0B6B6B6ACACACA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABA
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4D5D5D5D6D6D6
-D7D7D7D9D9D9DADADADBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5
-E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2
-F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8
-F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6
-F6F6F6F5F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFD
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF7F7F7F5F5F5F3F3F3F1F1F1
-F0F0F0F0F0F0EFEFEFEFEFEFF0F0F0F2F2F2F4F4F4F6F6F6F8F8F8FAFAFAFAFAFAFCFCFCFEFEFE
-FEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4DFDFDF
-CCCCCCB7B7B7ABABABA6A6A6A1A1A19D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9
-B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9CACACA
-CACACACBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D5D5D5D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4
-E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0
-F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6
-F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5
-F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1
-F1F1F1F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFD
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBFBFBFBF8F8F8F6F6F6F4F4F4F2F2F2
-F0F0F0F0F0F0EFEFEFEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F5F5F5F7F7F7F9F9F9FCFCFCFDFDFD
-FEFEFEFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFAFAFAECECECD4D4D4
-BEBEBEA7A7A79A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
-B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
-B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2
-E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEE
-EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4
-F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3
-F3F3F3F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCF9F9F9F7F7F7F5F5F5F3F3F3
-F1F1F1F0F0F0EFEFEFEEEEEEEEEEEEEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFAFDFDFD
-FEFEFEFCFCFCFEFEFEFEFEFEFFFFFFFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF3F3F3EBEBEBE4E4E4D6D6D6C6C6C6
-B5B5B5A3A3A39A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
-B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
-B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1
-E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9EAEAEAEBEBEBEBEBEBECECEC
-EDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2
-F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1
-F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F4F4F4F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCF9F9F9F7F7F7F5F5F5F3F3F3
-F1F1F1F0F0F0EFEFEFEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F1F1F1F3F3F3F5F5F5F7F7F7FAFAFA
-FBFBFBFAFAFAFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7E9E9E9DBDBDBCECECEC2C2C2B7B7B7
-ABABABA0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAFAFAFB0B0B0
-B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B7B7B7B8B8B8
-B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEDFDFDF
-E0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEB
-ECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1
-F1F1F1F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0
-F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F6F6F6F4F4F4
-F2F2F2F1F1F1F0F0F0EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFF1F1F1F3F3F3F5F5F5F7F7F7
-F8F8F8F8F8F8F9F9F9FAFAFAFBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3DEDEDECBCBCBB9B9B9ADADADA7A7A7
-A2A2A29D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
-B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1
-D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDE
-DFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9
-EAEAEAEAEAEAEBEBEBEBEBEBECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEEEEEE
-EEEEEEEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FBFBFBFCFCFC
-FDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F6F6F6F5F5F5
-F3F3F3F1F1F1F0F0F0EEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEFEFEFF0F0F0F3F3F3F4F4F4
-F5F5F5F5F5F5F6F6F6F8F8F8F9F9F9FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAE
-AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDC
-DDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E5E5E5E6E6E6E6E6E6E7E7E7
-E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBECECECECECECECECECECECECEDEDED
-EDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECEC
-ECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8FAFAFAFBFBFB
-FCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
-F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEDEDEDEEEEEEF0F0F0F1F1F1
-F2F2F2F2F2F2F3F3F3F5F5F5F7F7F7FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAE
-AFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDB
-DCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6
-E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECEC
-ECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEB
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F9F9F9FAFAFA
-FBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
-F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEDEDEDEDEDEDEFEFEFEFEFEF
-F1F1F1F1F1F1F2F2F2F4F4F4F7F7F7FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9
-DADADADBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9
-FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
-F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECECECECECECECEDEDEDEDEDED
-EFEFEFEFEFEFF1F1F1F3F3F3F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D8D8D8
-D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2
-E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8
-E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8
-F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
-F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEDEDEDECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEB
-EDEDEDEEEEEEF0F0F0F2F2F2F5F5F5F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0
-D0D0D0D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D7D7D7
-D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1
-E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7
-E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F6F6F6F7F7F7
-F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6
-F4F4F4F2F2F2F1F1F1EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
-ECECECEDEDEDEFEFEFF1F1F1F5F5F5F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
-CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
-D7D7D7D8D8D8D9D9D9D9D9D9DADADADBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDEDEDEDEDEDEDFDFDF
-E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
-E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5
-F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5
-F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
-EBEBEBEBEBEBEDEDEDEFEFEFF3F3F3F8F8F8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
-CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D6D6D6
-D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDDDDDDDDDDDDDEDEDE
-DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F3F3F3F4F4F4
-F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
-FDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5
-F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
-EAEAEAEAEAEAEBEBEBEDEDEDF2F2F2F7F7F7FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
-CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5
-D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDCDCDCDCDCDCDCDCDC
-DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
-E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7
-E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2F3F3F3
-F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFC
-FCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF8F8F8F7F7F7F6F6F6F5F5F5
-F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
-E9E9E9E9E9E9E9E9E9EBEBEBF0F0F0F6F6F6FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECECECECFCFCF
-CFCFCFD0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5
-D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDB
-DCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7
-E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEE
-EEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F2F2F2
-F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFBFBFBFB
-FCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF8F8F8F7F7F7F6F6F6F5F5F5
-F3F3F3F2F2F2F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEA
-E9E9E9E8E8E8E7E7E7E9E9E9EFEFEFF5F5F5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFAFAFAF5F5F5F0F0F0EBEBEBDCDCDCC9C9C9B6B6B6A2A2A29A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
-C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6
-E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
-EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F1F1F1
-F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9
-FAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F7F7F7F6F6F6F5F5F5F4F4F4
-F2F2F2F1F1F1EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E8E8E8EDEDEDF2F2F2F6F6F6F9F9F9FBFBFBFDFDFDFDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF5F5F5EBEBEBDFDFDFD4D4D4C8C8C8BABABAADADADA0A0A09A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2
-A3A3A3A4A4A4A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
-C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6
-E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
-EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0
-F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8
-F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F6F6F6F5F5F5F4F4F4F3F3F3
-F2F2F2F1F1F1EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E8E8E8EBEBEBEDEDEDF0F0F0F3F3F3F6F6F6FAFAFAFDFDFDFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF1F1F1E0E0E0CFCFCFBDBDBDB3B3B3ACACACA5A5A59E9E9E9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
-BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
-C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
-E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
-EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
-F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F5F5F5F4F4F4F3F3F3F2F2F2
-F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDF3F3F3F7F7F7FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFECECECD5D5D5BFBFBFA5A5A59E9E9E9D9D9D9C9C9C9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3
-A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
-BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6
-C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCDCDCDCECECE
-CECECECFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5
-E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
-EAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
-F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F2F2F2
-F1F1F1F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5E7E7E7EEEEEEF3F3F3FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
-C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
-CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
-E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4
-F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F1F1F1
-F0F0F0EFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
-C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCD
-CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0
-E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3
-F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0
-EFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5
-C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCC
-CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1
-F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0EFEFEF
-EEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5
-C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCC
-CDCDCDCECECECECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4
-E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0
-F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEF
-EEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEA
-E9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E5E5E5E3E3E3E5E5E5ECECECF3F3F3FAFAFAFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
-F7F7F7F4F4F4F0F0F0DEDEDECACACAB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
-BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
-CCCCCCCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3
-E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
-EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEE
-EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
-E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E5E5E5EBEBEBF0F0F0F5F5F5FAFAFAFBFBFB
-FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7
-ECECECE2E2E2D9D9D9CBCBCBBCBCBCADADAD9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
-BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
-CCCCCCCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3
-E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-EBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
-EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEE
-EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
-E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E4E4E4E7E7E7EBEBEBEEEEEEF1F1F1F4F4F4
-F8F8F8FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1
-E1E1E1D2D2D2C2C2C2B7B7B7AFAFAFA5A5A59C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
-BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
-CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
-E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
-E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEE
-EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
-E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E3E3E3E5E5E5E5E5E5E6E6E6E9E9E9EEEEEE
-F4F4F4FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECEC
-D6D6D6C0C0C0ABABABA3A3A3A1A1A19E9E9E9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBC
-BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCB
-CBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3
-E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7
-E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECEDEDEDEDEDEDEDEDED
-EDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-EDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9
-E9E9E9E8E8E8E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E4E4E4E2E2E2E0E0E0DFDFDFE0E0E0E8E8E8
-F0F0F0F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBB
-BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3
-C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
-ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
-E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DEDEDEDCDCDCDDDDDDE5E5E5
-EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBB
-BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3
-C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEA
-EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDED
-ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
-E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DEDEDEDCDCDCDDDDDDE5E5E5
-EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
-BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
-C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
-ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
-E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DFDFDFDDDDDDDDDDDDE6E6E6
-EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
-BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
-C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACA
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECEC
-ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEF
-F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
-ECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8
-E8E8E8E7E7E7E7E7E7E6E6E6E5E5E5E5E5E5E4E4E4E3E3E3E1E1E1DFDFDFDDDDDDDDDDDDE6E6E6
-EEEEEEF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
-C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-ECECECECECECECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0
-F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEEEEEEEDEDEDEDEDED
-ECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
-E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
-EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
-C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1
-E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBEB
-ECECECECECECECECECEDEDEDEDEDEDEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1
-F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0EFEFEFEEEEEEEEEEEE
-EDEDEDEDEDEDECECECECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
-E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
-EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
-C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
-E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4
-E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-ECECECECECECEDEDEDEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1F2F2F2F2F2F2
-F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F0F0F0EFEFEFEFEFEF
-EEEEEEEDEDEDEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
-E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
-EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1
-C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0
-E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4
-E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-ECECECECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4
-F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1
-EFEFEFEEEEEEEDEDEDECECECEBEBEBEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E8E8E8
-E7E7E7E7E7E7E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDEDEDEE7E7E7
-EFEFEFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
-B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0
-C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
-DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
-DFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3
-E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-ECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5
-F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2
-F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7
-E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
-EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
-B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0
-C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
-DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDF
-DFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3
-E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEBEBEBEBEBEB
-ECECECEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
-F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F4F4F4F3F3F3F3F3F3
-F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDEBEBEBEAEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7
-E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
-EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
-B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0
-C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
-DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3
-E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECECECEC
-EDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
-F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4
-F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEECECECEBEBEBEAEAEAE9E9E9E9E9E9E8E8E8E7E7E7E6E6E6
-E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
-EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D1D1D1B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
-B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0
-C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9
-DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDF
-DFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3
-E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6
-E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBECECECEDEDED
-EEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8
-F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F7F7F7F6F6F6F6F6F6
-F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEDEDEDECECECEAEAEAE9E9E9E9E9E9E8E8E8E7E7E7E6E6E6
-E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDFDFDFE8E8E8
-EFEFEFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFAFAFAE5E5E5
-CECECEB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBF
-BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
-E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEE
-EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9
-FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F8F8F8F7F7F7F7F7F7
-F5F5F5F4F4F4F3F3F3F2F2F2F0F0F0EEEEEEEDEDEDEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6
-E5E5E5E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDFDFDFE7E7E7
-EEEEEEF6F6F6FDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8F1F1F1EAEAEAE2E2E2D2D2D2
-C1C1C1AFAFAF9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBFBFBF
-BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E2
-E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEE
-EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFA
-FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAF9F9F9F8F8F8F8F8F8
-F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1EFEFEFEEEEEEECECECEBEBEBE9E9E9E8E8E8E7E7E7E6E6E6
-E5E5E5E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDEDEDEE4E4E4
-E9E9E9EEEEEEF3F3F3F6F6F6F9F9F9FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E5E5E5D9D9D9CBCBCBC0C0C0
-B4B4B4A8A8A89E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBE
-BFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1
-E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEEEEEEEFEFEF
-F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFB
-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAFAF9F9F9F9F9F9
-F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F0F0F0EFEFEFEDEDEDECECECEAEAEAE9E9E9E7E7E7E6E6E6
-E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDEDEDEE1E1E1
-E3E3E3E6E6E6EAEAEAEFEFEFF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECECD9D9D9C7C7C7B4B4B4ADADAD
-A7A7A7A2A2A29C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6
-A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBE
-BFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1
-E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5
-E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
-F1F1F1F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFC
-FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFBFBFBFAFAFAFAFAFA
-F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F1F1F1F0F0F0EEEEEEEDEDEDEBEBEBE9E9E9E7E7E7E6E6E6
-E5E5E5E5E5E5E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDEDEDE
-DDDDDDDEDEDEE0E0E0E7E7E7F0F0F0F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBD
-BEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
-DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0
-E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4
-E4E4E4E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
-F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFBFBFB
-FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F3F3F3F2F2F2F0F0F0EEEEEEECECECEAEAEAE7E7E7E6E6E6
-E5E5E5E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
-D9D9D9D7D7D7D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBDBDBD
-BEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
-DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0
-E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4
-E4E4E4E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
-F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFCFCFCFCFC
-FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1EFEFEFECECECEAEAEAE8E8E8E6E6E6
-E5E5E5E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
-D9D9D9D7D7D7D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
-DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
-E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
-E3E3E3E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
-F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFD
-FBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EDEDEDEBEBEBE9E9E9E7E7E7
-E6E6E6E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
-D9D9D9D8D8D8D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
-DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
-E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
-E3E3E3E3E3E3E5E5E5E6E6E6E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
-F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1EEEEEEECECECEAEAEAE8E8E8
-E6E6E6E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
-D9D9D9D8D8D8D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B8A0A0A09D9D9D
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADADADADAEAEAE
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBDBDBD
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDB
-DCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDF
-E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3
-E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
-F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2EFEFEFEDEDEDEBEBEBE9E9E9
-E7E7E7E5E5E5E3E3E3E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDB
-DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDE
-DFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2
-E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
-F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFCFCFCFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2EFEFEFEDEDEDEBEBEBE9E9E9
-E7E7E7E5E5E5E3E3E3E1E1E1E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
-DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACACACACADADAD
-AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDE
-DFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2
-E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
-F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EEEEEEEBEBEBE9E9E9
-E7E7E7E5E5E5E3E3E3E1E1E1E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
-DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
-ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
-B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDB
-DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4
-F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
-E7E7E7E5E5E5E3E3E3E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
-DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACAC
-ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
-B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
-BDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9
-CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADA
-DBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDE
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDB
-DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDDDEDEDEDEDEDE
-DEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2
-E3E3E3E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F3F3F3F4F4F4
-F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FDFDFDFDFDFDFCFCFCFCFCFCFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
-E7E7E7E5E5E5E3E3E3E1E1E1E0E0E0E0E0E0DFDFDFDEDEDEDEDEDEDDDDDDDCDCDCDBDBDBDBDBDB
-DADADAD9D9D9D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABAB
-ACACACACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
-AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
-C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
-DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDD
-DDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E2E2E2
-E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFDFDFDFDFDFDFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
-E8E8E8E6E6E6E3E3E3E1E1E1E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
-D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABAB
-ACACACACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
-AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
-C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
-DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDDDDDD
-DDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E2E2E2
-E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFDFDFDFDFDFDFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
-E8E8E8E6E6E6E3E3E3E1E1E1E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
-D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
-ABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
-AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
-B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
-C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
-DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDC
-DCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE0E0E0E2E2E2
-E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
-E9E9E9E7E7E7E4E4E4E2E2E2E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
-D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
-ABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
-AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
-B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8
-C9C9C9CACACACACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9
-DADADADADADADBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADA
-DADADADADADADADADADADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDC
-DCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE0E0E0E2E2E2
-E3E3E3E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAECECECEEEEEEEFEFEFF1F1F1F2F2F2F4F4F4F5F5F5
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
-E9E9E9E7E7E7E4E4E4E2E2E2E0E0E0E0E0E0DEDEDEDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
-D9D9D9D9D9D9DADADAE3E3E3EDEDEDF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAE
-AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
-B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
-BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
-C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDB
-DBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
-E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
-D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAE
-AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
-B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
-BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7
-C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
-D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDB
-DBDBDBDBDBDBDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
-E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
-D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
-BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6
-C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADA
-DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
-E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDBDBDBDBDBDBDADADAD9D9D9D8D8D8D8D8D8
-D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7CFCFCFB8B8B89F9F9F9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
-B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
-BABABABCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6
-C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1
-D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDC
-DCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADA
-DADADADADADADBDBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2
-E4E4E4E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFAFAFAF8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E3E3E3E1E1E1DFDFDFDDDDDDDBDBDBDBDBDBDADADAD9D9D9D8D8D8D8D8D8
-D8D8D8D8D8D8D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
-B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5
-C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0
-D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7
-D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDB
-DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
-D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9
-D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
-E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
-EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDCDCDCDADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
-D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
-B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
-B9B9B9BBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5
-C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0
-D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7
-D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADADADADADADBDBDB
-DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
-D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9
-D9D9D9D9D9D9DADADADADADADADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
-E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
-EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDCDCDCDADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
-D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABAB
-ABABABABABABABABABABABABABABABABABABABABABABABABACACACACACACADADADADADADAEAEAE
-AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8
-B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
-C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCF
-CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6
-D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADA
-DADADADADADADADADADADADADADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
-D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8
-D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
-E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
-EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDBDBDBD9D9D9D9D9D9D8D8D8D7D7D7D7D7D7D7D7D7
-D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABAB
-ABABABABABABABABABABABABABABABABABABABABABABABABACACACACACACADADADADADADAEAEAE
-AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8
-B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5
-C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCF
-CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6
-D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9D9D9D9D9D9D9DADADA
-DADADADADADADADADADADADADADADADADADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D8D8D8
-D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8
-D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDFDFDFE1E1E1
-E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F4F4F4F5F5F5
-F7F7F7F8F8F8F9F9F9FBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFAFAFAF9F9F9F7F7F7F5F5F5F3F3F3F0F0F0EEEEEE
-EBEBEBE9E9E9E6E6E6E3E3E3E1E1E1DEDEDEDBDBDBD9D9D9D9D9D9D8D8D8D7D7D7D7D7D7D7D7D7
-D7D7D7D7D7D7D9D9D9E2E2E2ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
-A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7
-B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
-C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECE
-CECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5
-D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7
-D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7
-D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
-E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E2E2E2E0E0E0DDDDDDDADADAD8D8D8D8D8D8D7D7D7D6D6D6D6D6D6D6D6D6
-D6D6D6D6D6D6D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
-A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7
-B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3C4C4C4
-C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCECECE
-CECECECFCFCFD0D0D0D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5
-D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8D9D9D9
-D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7
-D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7
-D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
-E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE8E8E8E5E5E5E2E2E2E0E0E0DDDDDDDADADAD8D8D8D8D8D8D7D7D7D6D6D6D6D6D6D6D6D6
-D6D6D6D6D6D6D8D8D8E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9
-A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
-C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCD
-CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4
-D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8
-D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6
-D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6
-D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
-E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE7E7E7E4E4E4E1E1E1DFDFDFDCDCDCD9D9D9D7D7D7D7D7D7D6D6D6D5D5D5D5D5D5D5D5D5
-D5D5D5D5D5D5D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3
-A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAABABABACACACACACACADADAD
-ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6
-B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2C3C3C3
-C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCDCDCD
-CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4
-D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8
-D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6
-D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6
-D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDEDEDEE0E0E0
-E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAECECECEDEDEDEFEFEFF0F0F0F1F1F1F3F3F3F4F4F4
-F6F6F6F7F7F7F8F8F8FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFBFBFBF9F9F9F8F8F8F6F6F6F4F4F4F2F2F2EFEFEFEDEDED
-EAEAEAE7E7E7E4E4E4E1E1E1DFDFDFDCDCDCD9D9D9D7D7D7D7D7D7D6D6D6D5D5D5D5D5D5D5D5D5
-D5D5D5D5D5D5D7D7D7E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
-A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACAC
-ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5
-B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3
-D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7
-D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5
-D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5
-D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDDDFDFDF
-E1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
-F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFDFDFDFDFDFDFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
-E9E9E9E6E6E6E3E3E3E0E0E0DEDEDEDBDBDBD8D8D8D6D6D6D6D6D6D5D5D5D4D4D4D4D4D4D4D4D4
-D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7
-A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACAC
-ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5
-B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2
-D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
-D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4
-D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5
-D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D8D8D8DADADADBDBDBDCDCDCDDDDDDDFDFDF
-E1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EBEBEBECECECEEEEEEEFEFEFF0F0F0F2F2F2F3F3F3
-F5F5F5F6F6F6F7F7F7F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFDFDFDFDFDFDFDFDFDFBFBFBFAFAFAF8F8F8F7F7F7F5F5F5F3F3F3F1F1F1EEEEEEECECEC
-E9E9E9E6E6E6E3E3E3E0E0E0DEDEDEDBDBDBD8D8D8D6D6D6D6D6D6D5D5D5D4D4D4D4D4D4D4D4D4
-D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABAB
-ABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
-B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CBCBCBCCCCCCCDCDCDCDCDCDCECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2
-D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6
-D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4
-D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4
-D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDEDEDE
-E0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
-F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
-E8E8E8E5E5E5E2E2E2DFDFDFDDDDDDDADADAD7D7D7D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D3D3D3
-D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB7B7B79E9E9E9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D
-9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6
-A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9AAAAAAAAAAAAABABAB
-ABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
-B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0
-C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1
-D2D2D2D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
-D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3
-D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4
-D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDEDEDE
-E0E0E0E1E1E1E3E3E3E5E5E5E6E6E6E8E8E8EAEAEAEBEBEBEDEDEDEEEEEEEFEFEFF1F1F1F2F2F2
-F4F4F4F5F5F5F6F6F6F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFDFDFDFCFCFCFCFCFCFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F2F2F2F0F0F0EDEDEDEBEBEB
-E8E8E8E5E5E5E2E2E2DFDFDFDDDDDDDADADAD7D7D7D5D5D5D5D5D5D4D4D4D3D3D3D3D3D3D3D3D3
-D4D4D4D4D4D4D6D6D6E0E0E0EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABACACACADADADADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
-B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0
-D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
-D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2
-D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3
-D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDD
-DFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
-F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
-FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
-E7E7E7E4E4E4E1E1E1DEDEDEDCDCDCD9D9D9D6D6D6D4D4D4D4D4D4D3D3D3D2D2D2D2D2D2D2D2D2
-D3D3D3D3D3D3D5D5D5DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABACACACADADADADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
-B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBF
-C0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9CACACA
-CACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0
-D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
-D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2
-D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3
-D3D3D3D3D3D3D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDD
-DFDFDFE0E0E0E2E2E2E4E4E4E5E5E5E7E7E7E9E9E9EAEAEAECECECEDEDEDEEEEEEF0F0F0F1F1F1
-F3F3F3F4F4F4F5F5F5F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFDFDFDFDFDFDFDFDFDFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFE
-FDFDFDFCFCFCFBFBFBFBFBFBF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F1F1F1EFEFEFECECECEAEAEA
-E7E7E7E4E4E4E1E1E1DEDEDEDCDCDCD9D9D9D6D6D6D4D4D4D4D4D4D3D3D3D2D2D2D2D2D2D2D2D2
-D3D3D3D3D3D3D5D5D5DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2
-B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9
-C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECFCFCFCFCFCF
-D0D0D0D0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
-D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1
-D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2
-D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDCDCDC
-DEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
-F2F2F2F3F3F3F4F4F4F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFCFCFCFCFCFCFCFCFCFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
-FCFCFCFBFBFBFAFAFAFAFAFAF8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F0F0F0EEEEEEEBEBEBE9E9E9
-E6E6E6E3E3E3E0E0E0DDDDDDDBDBDBD8D8D8D5D5D5D3D3D3D3D3D3D2D2D2D1D1D1D1D1D1D1D1D1
-D2D2D2D2D2D2D4D4D4DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
-A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1
-B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBE
-BFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8
-C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
-CFCFCFCFCFCFD0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
-D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0
-D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D2D2D2
-D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADADBDBDBDCDCDC
-DEDEDEDFDFDFE1E1E1E3E3E3E4E4E4E6E6E6E8E8E8E9E9E9EBEBEBECECECEDEDEDEFEFEFF0F0F0
-F1F1F1F2F2F2F3F3F3F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFDFDFD
-FEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFD
-FCFCFCFBFBFBFAFAFAF9F9F9F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1EFEFEFEDEDEDEAEAEAE8E8E8
-E5E5E5E2E2E2DFDFDFDCDCDCDADADAD8D8D8D5D5D5D3D3D3D3D3D3D2D2D2D1D1D1D1D1D1D1D1D1
-D2D2D2D2D2D2D4D4D4DFDFDFEAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2
-A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8
-A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0
-B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
-BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
-C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
-CECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
-D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0CFCFCF
-CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1
-D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADBDBDB
-DDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEEEEEEEFEFEF
-F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFCFCFC
-FDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFC
-FBFBFBFAFAFAF9F9F9F8F8F8F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EEEEEEECECECE9E9E9E7E7E7
-E4E4E4E1E1E1DEDEDEDBDBDBD9D9D9D7D7D7D4D4D4D2D2D2D2D2D2D1D1D1D0D0D0D0D0D0D0D0D0
-D1D1D1D1D1D1D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2
-A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8
-A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0
-B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBD
-BEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7
-C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
-CECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1
-D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0CFCFCF
-CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1
-D1D1D1D1D1D1D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9DADADADBDBDB
-DDDDDDDEDEDEE0E0E0E2E2E2E3E3E3E5E5E5E7E7E7E8E8E8EAEAEAEBEBEBECECECEEEEEEEFEFEF
-F0F0F0F1F1F1F2F2F2F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAFBFBFBFBFBFB
-FCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFB
-FAFAFAF9F9F9F8F8F8F7F7F7F5F5F5F4F4F4F2F2F2F1F1F1EFEFEFEDEDEDEBEBEBE8E8E8E6E6E6
-E3E3E3E0E0E0DDDDDDDBDBDBD9D9D9D7D7D7D4D4D4D2D2D2D2D2D2D1D1D1D0D0D0D0D0D0D0D0D0
-D1D1D1D1D1D1D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1
-A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADADAEAEAEAFAFAF
-B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBC
-BDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6
-C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCCCCCCCCCCCC
-CDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0
-D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0CFCFCFCFCFCFCFCFCFCFCFCFCECECE
-CECECECECECECECECECECECECECECECECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0
-D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8D9D9D9DADADA
-DCDCDCDDDDDDDFDFDFE1E1E1E2E2E2E4E4E4E6E6E6E7E7E7E9E9E9EAEAEAEBEBEBEDEDEDEEEEEE
-EFEFEFF0F0F0F1F1F1F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F9F9F9F9F9F9FAFAFAFAFAFA
-FBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFA
-F9F9F9F8F8F8F7F7F7F6F6F6F4F4F4F3F3F3F1F1F1F0F0F0EEEEEEECECECEAEAEAE7E7E7E5E5E5
-E2E2E2DFDFDFDCDCDCDADADAD8D8D8D6D6D6D3D3D3D1D1D1D1D1D1D0D0D0CFCFCFCFCFCFCFCFCF
-D0D0D0D0D0D0D2D2D2DDDDDDE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABACACACACACACADADADADADADAEAEAEAFAFAF
-B0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBB
-BCBCBCBDBDBDBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C5C5C5
-C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCB
-CCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECFCFCF
-CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCECECECECECECECECECECECECDCDCD
-CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0
-D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8DADADA
-DCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E8E8E8E9E9E9EAEAEAECECECEDEDED
-EEEEEEEFEFEFF0F0F0F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9
-FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9
-F8F8F8F7F7F7F6F6F6F5F5F5F3F3F3F2F2F2F0F0F0EFEFEFEDEDEDEBEBEBE9E9E9E6E6E6E4E4E4
-E1E1E1DEDEDEDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CFCFCFCECECECECECECECECE
-CFCFCFD0D0D0D2D2D2DDDDDDE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAE
-AFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BABABA
-BBBBBBBCBCBCBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C4C4C4
-C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACA
-CBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECE
-CECECECECECECECECECECECECECECECECECECECECECECECECDCDCDCDCDCDCDCDCDCDCDCDCCCCCC
-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCF
-CFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9
-DBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E7E7E7E8E8E8E9E9E9EBEBEBECECEC
-EDEDEDEEEEEEEFEFEFF1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8
-F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8
-F7F7F7F6F6F6F5F5F5F4F4F4F2F2F2F0F0F0EFEFEFEDEDEDEBEBEBE9E9E9E7E7E7E5E5E5E3E3E3
-E0E0E0DDDDDDDADADAD8D8D8D6D6D6D4D4D4D2D2D2D0D0D0CFCFCFCECECECDCDCDCDCDCDCDCDCD
-CECECECFCFCFD1D1D1DCDCDCE8E8E8F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAABABABABABABACACACACACACADADADAEAEAE
-AFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9
-BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3
-C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9
-CACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
-CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCCCCCC
-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCF
-CFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D9D9D9
-DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E3E3E3E4E4E4E6E6E6E7E7E7E8E8E8EAEAEAEBEBEB
-ECECECEDEDEDEEEEEEF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F6F6F6F6F7F7F7F7F7F7
-F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7
-F6F6F6F5F5F5F4F4F4F3F3F3F1F1F1EFEFEFEEEEEEECECECEAEAEAE8E8E8E6E6E6E4E4E4E2E2E2
-DFDFDFDCDCDCD9D9D9D7D7D7D5D5D5D3D3D3D2D2D2D0D0D0CFCFCFCECECECDCDCDCDCDCDCDCDCD
-CECECECFCFCFD1D1D1DCDCDCE8E8E8F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
-AEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8
-B9B9B9BABABABABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8
-C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECE
-CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D8D8D8
-DADADADBDBDBDDDDDDDEDEDEDFDFDFE0E0E0E2E2E2E3E3E3E5E5E5E6E6E6E7E7E7E9E9E9EAEAEA
-EBEBEBECECECEDEDEDEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F5F5F5F6F6F6F6F6F6
-F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6
-F5F5F5F4F4F4F3F3F3F2F2F2F0F0F0EEEEEEEDEDEDEBEBEBE9E9E9E7E7E7E5E5E5E3E3E3E1E1E1
-DEDEDEDBDBDBD8D8D8D6D6D6D4D4D4D2D2D2D1D1D1CFCFCFCECECECDCDCDCCCCCCCCCCCCCCCCCC
-CDCDCDCECECED0D0D0DBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
-ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
-B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
-CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7
-D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9
-EAEAEAEBEBEBECECECEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5
-F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5
-F4F4F4F3F3F3F2F2F2F1F1F1EFEFEFEDEDEDECECECEAEAEAE8E8E8E6E6E6E4E4E4E2E2E2E0E0E0
-DDDDDDDADADAD7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CECECECECECECDCDCDCCCCCCCCCCCCCCCCCC
-CDCDCDCDCDCDCFCFCFDBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAAAAAAAABABABABABABACACACADADAD
-ADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7
-B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
-C8C8C8C8C8C8C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCDCECECECECECE
-CECECECECECECFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7
-D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE1E1E1E2E2E2E4E4E4E5E5E5E6E6E6E8E8E8E9E9E9
-EAEAEAEBEBEBECECECEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F3F3F3F3F3F3F4F4F4F5F5F5
-F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F5F5F5F4F4F4F4F4F4
-F3F3F3F2F2F2F1F1F1F0F0F0EEEEEEEDEDEDEBEBEBEAEAEAE8E8E8E6E6E6E4E4E4E1E1E1DFDFDF
-DCDCDCDADADAD7D7D7D5D5D5D3D3D3D1D1D1D0D0D0CECECECECECECDCDCDCCCCCCCCCCCCCCCCCC
-CDCDCDCDCDCDCFCFCFDBDBDBE7E7E7F3F3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABACACAC
-ACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6
-B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6
-C7C7C7C7C7C7C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACACACA
-CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA
-CACACACACACACACACACACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCDCDCD
-CDCDCDCDCDCDCECECECECECECECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6
-D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEE0E0E0E1E1E1E3E3E3E4E4E4E5E5E5E7E7E7E8E8E8
-E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F3F3F3
-F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F3F3F3F2F2F2F2F2F2
-F1F1F1F0F0F0EFEFEFEEEEEEECECECEBEBEBE9E9E9E8E8E8E6E6E6E4E4E4E2E2E2DFDFDFDDDDDD
-DADADAD8D8D8D5D5D5D3D3D3D1D1D1D0D0D0CFCFCFCDCDCDCDCDCDCCCCCCCBCBCBCBCBCBCBCBCB
-CCCCCCCCCCCCCECECEDADADAE6E6E6F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABAB
-ACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5
-B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
-BFBFBFC0C0C0C1C1C1C1C1C1C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5
-C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
-C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
-C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCC
-CDCDCDCDCDCDCECECECECECECECECECECECECFCFCFCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5
-D7D7D7D8D8D8DADADADBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E2E2E2E3E3E3E4E4E4E6E6E6E7E7E7
-E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F1F1F1F1F1F1F2F2F2F2F2F2
-F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F2F2F2F1F1F1F1F1F1
-F0F0F0EFEFEFEEEEEEEDEDEDEBEBEBEAEAEAE8E8E8E7E7E7E5E5E5E3E3E3E1E1E1DEDEDEDCDCDC
-D9D9D9D7D7D7D4D4D4D2D2D2D0D0D0CFCFCFCECECECCCCCCCCCCCCCBCBCBCBCBCBCACACACACACA
-CBCBCBCBCBCBCDCDCDD9D9D9E6E6E6F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CDCDCDB5B5B59C9C9C9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
-ABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9BABABABBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBE
-BEBEBEBFBFBFC0C0C0C0C0C0C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4
-C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
-C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
-C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCB
-CCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D4D4D4
-D6D6D6D7D7D7D9D9D9DADADADBDBDBDCDCDCDEDEDEDFDFDFE1E1E1E2E2E2E3E3E3E5E5E5E6E6E6
-E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFF0F0F0F0F0F0F1F1F1F1F1F1
-F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F0F0F0F0F0F0
-EEEEEEEDEDEDECECECEBEBEBE9E9E9E8E8E8E6E6E6E5E5E5E3E3E3E1E1E1DFDFDFDCDCDCDADADA
-D7D7D7D5D5D5D2D2D2D0D0D0CFCFCFCECECECDCDCDCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9
-CACACACACACACCCCCCD8D8D8E5E5E5F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6CECECEB6B6B69D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAA
-ABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B3B3B3B3B3B3B4B4B4
-B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBBBBBBBBBCBCBCBDBDBDBEBEBE
-BEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4
-C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8
-C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
-C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCB
-CCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3
-D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E4E4E4E5E5E5
-E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0
-F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEF
-EDEDEDECECECEBEBEBEAEAEAE8E8E8E7E7E7E5E5E5E4E4E4E2E2E2E0E0E0DEDEDEDBDBDBD9D9D9
-D6D6D6D4D4D4D1D1D1CFCFCFCECECECDCDCDCCCCCCCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9
-C9C9C9C9C9C9CBCBCBD8D8D8E5E5E5F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEBD8D8D8C7C7C7B3B3B3ABABAB
-A6A6A6A1A1A19B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2
-A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B2B2B2B2B2B2B3B3B3
-B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABABABABABBBBBBBCBCBCBDBDBD
-BDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3
-C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
-C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACA
-CBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2
-D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9DADADADCDCDCDDDDDDDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3
-E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECEDEDEDEDEDEDEEEEEEEEEEEE
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEDEDEDEDEDED
-EBEBEBEAEAEAE9E9E9E8E8E8E6E6E6E5E5E5E3E3E3E2E2E2E0E0E0DEDEDEDCDCDCD9D9D9D7D7D7
-D4D4D4D2D2D2D0D0D0CECECECDCDCDCCCCCCCBCBCBCACACACACACAC9C9C9C9C9C9C9C9C9CCCCCC
-D0D0D0D2D2D2D6D6D6E1E1E1EBEBEBF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2E4E4E4D7D7D7CBCBCBBFBFBF
-B3B3B3A8A8A89D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2
-A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2
-B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9B9B9B9BABABABBBBBBBCBCBC
-BCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2
-C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6
-C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
-C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACA
-CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
-D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DBDBDBDCDCDCDEDEDEDFDFDFE0E0E0E1E1E1E2E2E2
-E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEBEBECECECECECECEDEDEDEDEDED
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDECECECEBEBEBEBEBEB
-EAEAEAE9E9E9E8E8E8E7E7E7E5E5E5E3E3E3E2E2E2E0E0E0DEDEDEDCDCDCDADADAD8D8D8D6D6D6
-D3D3D3D1D1D1CFCFCFCDCDCDCCCCCCCBCBCBCACACAC9C9C9C9C9C9C8C8C8C8C8C8CACACACFCFCF
-D6D6D6DDDDDDE3E3E3EAEAEAF1F1F1F8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7F0F0F0E9E9E9E2E2E2D3D3D3
-C0C0C0AFAFAF9D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
-A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1
-B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8B8B8B8B9B9B9BABABABBBBBB
-BBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1
-C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
-C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
-C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9
-C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0
-D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8DADADADBDBDBDDDDDDDEDEDEDFDFDFE0E0E0E1E1E1
-E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E8E8E8E8E9E9E9EAEAEAEAEAEAEBEBEBEBEBEB
-ECECECECECECECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEAEAEAEAEAEA
-E8E8E8E7E7E7E6E6E6E5E5E5E3E3E3E2E2E2E0E0E0DFDFDFDDDDDDDBDBDBD9D9D9D6D6D6D4D4D4
-D2D2D2D0D0D0CECECECCCCCCCBCBCBCACACAC9C9C9C8C8C8C8C8C8C7C7C7C7C7C7C9C9C9D3D3D3
-DDDDDDE7E7E7F0F0F0F3F3F3F7F7F7FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFAFAFAE5E5E5
-CDCDCDB7B7B79F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
-A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAFB0B0B0B1B1B1
-B2B2B2B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7B7B7B7B8B8B8B9B9B9BABABA
-BABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0
-C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
-C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5
-C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9
-C9C9C9C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0
-D1D1D1D2D2D2D4D4D4D5D5D5D6D6D6D7D7D7D9D9D9DADADADCDCDCDDDDDDDEDEDEDFDFDFE0E0E0
-E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E9E9E9E9E9E9EAEAEAEAEAEA
-EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEAEAEAE9E9E9E8E8E8E8E8E8
-E7E7E7E6E6E6E5E5E5E4E4E4E2E2E2E0E0E0DFDFDFDDDDDDDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3
-D1D1D1CFCFCFCDCDCDCBCBCBCACACACACACAC9C9C9C8C8C8C8C8C8C7C7C7C7C7C7CACACAD7D7D7
-E4E4E4F0F0F0FCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAFAFAFB0B0B0
-B1B1B1B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6B6B6B6B7B7B7B8B8B8B9B9B9
-B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBF
-C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
-C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
-C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8
-C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACBCBCBCCCCCCCDCDCDCECECECFCFCF
-D0D0D0D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DBDBDBDCDCDCDDDDDDDEDEDEDFDFDF
-E0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E5E5E5E5E5E5E6E6E6E7E7E7E7E7E7E8E8E8E8E8E8
-E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E8E8E8E7E7E7E6E6E6E6E6E6
-E5E5E5E4E4E4E3E3E3E2E2E2E0E0E0DEDEDEDDDDDDDBDBDBD9D9D9D7D7D7D5D5D5D3D3D3D1D1D1
-D0D0D0CECECECCCCCCCACACAC9C9C9C9C9C9C8C8C8C7C7C7C7C7C7C6C6C6C6C6C6C9C9C9D6D6D6
-E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADAEAEAEAFAFAF
-B0B0B0B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5B5B5B5B6B6B6B7B7B7B8B8B8
-B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBE
-BFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
-C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4
-C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8
-C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACBCBCBCCCCCCCDCDCDCECECE
-CFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D8D8D8D9D9D9DADADADBDBDBDCDCDCDDDDDD
-DEDEDEDFDFDFE0E0E0E1E1E1E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E6E6E6E6E6E6E7E7E7E7E7E7
-E8E8E8E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5
-E3E3E3E2E2E2E1E1E1E0E0E0DEDEDEDDDDDDDBDBDBDADADAD8D8D8D6D6D6D4D4D4D1D1D1D0D0D0
-CECECECCCCCCCBCBCBC9C9C9C8C8C8C8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C5C5C5C8C8C8D6D6D6
-E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACADADADAEAEAE
-AFAFAFB0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4B4B4B4B5B5B5B6B6B6B7B7B7
-B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBD
-BEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
-C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
-C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7
-C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9CACACACBCBCBCCCCCCCDCDCD
-CECECECFCFCFD1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D7D7D7D8D8D8D9D9D9DADADADBDBDBDCDCDC
-DDDDDDDEDEDEDFDFDFDFDFDFE0E0E0E1E1E1E2E2E2E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E5E5E5
-E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E4E4E4E3E3E3E3E3E3
-E2E2E2E1E1E1E0E0E0DFDFDFDDDDDDDBDBDBDADADAD8D8D8D6D6D6D4D4D4D2D2D2D0D0D0CECECE
-CDCDCDCBCBCBCACACAC8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C4C4C4C7C7C7D5D5D5
-E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F
-9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
-AEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B5B5B5B6B6B6
-B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBC
-BDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
-BFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3
-C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7
-C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACBCBCBCCCCCC
-CDCDCDCECECED0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D6D6D6D7D7D7D8D8D8D9D9D9DADADADBDBDB
-DCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E1E1E1E1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4
-E5E5E5E5E5E5E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2
-E0E0E0DFDFDFDEDEDEDDDDDDDBDBDBDADADAD8D8D8D7D7D7D5D5D5D3D3D3D1D1D1CECECECDCDCD
-CCCCCCCACACAC9C9C9C8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C4C4C4C7C7C7D5D5D5
-E4E4E4F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5
-A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
-ADADADAEAEAEAEAEAEAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B4B4B4B5B5B5
-B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBB
-BCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
-BEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2
-C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6
-C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9CACACACBCBCB
-CCCCCCCDCDCDCFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D5D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADADA
-DBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E2E2E2E2E2E2E2E2E2E2E2E2
-E3E3E3E3E3E3E3E3E3E3E3E3E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E0E0E0E0E0E0
-DEDEDEDDDDDDDCDCDCDBDBDBD9D9D9D8D8D8D6D6D6D5D5D5D3D3D3D1D1D1CFCFCFCDCDCDCCCCCC
-CBCBCBC9C9C9C8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C3C3C3C6C6C6D4D4D4
-E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A5A5A5
-A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
-ACACACADADADADADADAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B3B3B3B4B4B4
-B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9
-BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
-BDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2
-C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5
-C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9CACACA
-CBCBCBCBCBCBCDCDCDCECECECFCFCFD0D0D0D1D1D1D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7D8D8D8
-D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDEDEDEDEDEDEDFDFDFE0E0E0E0E0E0E1E1E1E1E1E1
-E2E2E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E0E0E0DFDFDFDEDEDEDEDEDE
-DDDDDDDCDCDCDBDBDBDADADAD8D8D8D6D6D6D5D5D5D3D3D3D1D1D1D0D0D0CECECECBCBCBCACACA
-C9C9C9C8C8C8C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C2C2C2C5C5C5D4D4D4
-E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
-ACACACADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B2B2B2B3B3B3
-B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8
-B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBD
-BDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1
-C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5
-C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9
-CACACACACACACCCCCCCDCDCDCECECECFCFCFD0D0D0D2D2D2D3D3D3D4D4D4D5D5D5D6D6D6D7D7D7
-D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDDDDDDDDDDDDDEDEDEDFDFDFDFDFDFDFDFDFDFDFDF
-E0E0E0E0E0E0E0E0E0E0E0E0DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDEDEDEDDDDDDDCDCDCDCDCDC
-DBDBDBDADADAD9D9D9D8D8D8D6D6D6D4D4D4D3D3D3D1D1D1CFCFCFCECECECCCCCCCACACAC9C9C9
-C8C8C8C7C7C7C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C4C4C4D3D3D3
-E2E2E2F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
-ABABABACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B1B1B1B2B2B2
-B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7
-B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBC
-BCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1
-C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4
-C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8
-C9C9C9C9C9C9CBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5
-D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADBDBDBDBDBDBDCDCDCDDDDDDDDDDDDDDDDDDDDDDDD
-DEDEDEDEDEDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDBDBDBDADADADADADA
-D9D9D9D8D8D8D7D7D7D6D6D6D4D4D4D2D2D2D1D1D1CFCFCFCDCDCDCCCCCCCACACAC8C8C8C7C7C7
-C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C0C0C0C3C3C3D3D3D3
-E2E2E2F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3
-A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFB0B0B0B1B1B1
-B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6
-B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBB
-BBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0
-C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3
-C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7
-C8C8C8C8C8C8CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D3D3D3D4D4D4
-D5D5D5D6D6D6D7D7D7D7D7D7D8D8D8D9D9D9DADADADADADADBDBDBDCDCDCDCDCDCDCDCDCDCDCDC
-DDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDBDBDBDADADAD9D9D9D9D9D9
-D7D7D7D6D6D6D5D5D5D4D4D4D2D2D2D1D1D1CFCFCFCECECECCCCCCCBCBCBC9C9C9C7C7C7C6C6C6
-C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C1C1C1C0C0C0BFBFBFC2C2C2D2D2D2
-E1E1E1F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2
-A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
-B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5
-B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
-BBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBF
-BFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3
-C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6
-C7C7C7C7C7C7C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1D2D2D2D2D2D2
-D3D3D3D4D4D4D5D5D5D5D5D5D6D6D6D7D7D7D8D8D8D8D8D8D9D9D9DADADADADADADADADADADADA
-DBDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADADADADADADADADAD9D9D9D8D8D8D7D7D7D7D7D7
-D5D5D5D4D4D4D3D3D3D2D2D2D0D0D0CFCFCFCDCDCDCCCCCCCACACAC9C9C9C8C8C8C6C6C6C5C5C5
-C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C0C0C0C0C0C0BFBFBFBDBDBDC0C0C0D1D1D1
-E0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B89F9F9F9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1A2A2A2A2A2A2
-A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAFAFAFB0B0B0
-B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5
-B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABA
-BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBF
-BFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2
-C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6
-C6C6C6C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFD0D0D0D1D1D1
-D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D8
-D9D9D9D9D9D9D9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D7D7D7D6D6D6D5D5D5D5D5D5
-D4D4D4D3D3D3D2D2D2D1D1D1CFCFCFCDCDCDCCCCCCCACACAC9C9C9C8C8C8C7C7C7C6C6C6C5C5C5
-C4C4C4C4C4C4C3C3C3C2C2C2C1C1C1C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBFBFBFCFCFCF
-E0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E9E9
-D0D0D0B8B8B8A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
-A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
-AFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4
-B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
-BABABABABABABABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBE
-BEBEBEBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2
-C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5
-C5C5C5C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECFCFCFCFCFCF
-D0D0D0D1D1D1D2D2D2D2D2D2D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D6D6D6D6D6D6
-D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D4D4D4D3D3D3D3D3D3
-D2D2D2D1D1D1D0D0D0CFCFCFCDCDCDCBCBCBCACACAC8C8C8C7C7C7C6C6C6C6C6C6C5C5C5C4C4C4
-C3C3C3C3C3C3C2C2C2C1C1C1C0C0C0C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBABABABDBDBDCECECE
-DFDFDFF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEB
-D6D6D6C1C1C1ABABABA3A3A3A0A0A09E9E9E9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
-A8A8A8A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAE
-AEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3
-B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9
-B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBD
-BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1
-C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4
-C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACBCBCBCCCCCCCDCDCDCECECECECECE
-CFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D3D3D3D3D3D3D4D4D4D4D4D4D5D5D5D5D5D5D5D5D5D5D5D5
-D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D3D3D3D2D2D2D2D2D2
-D0D0D0CFCFCFCECECECDCDCDCBCBCBCACACAC8C8C8C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3
-C2C2C2C2C2C2C1C1C1C0C0C0BFBFBFBFBFBFBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C5C5C5D3D3D3
-E3E3E3F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F1F1
-E1E1E1D2D2D2C2C2C2B7B7B7AEAEAEA5A5A59C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
-ADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3
-B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
-B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBDBDBD
-BDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0
-C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
-C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9CACACACACACACBCBCBCCCCCCCCCCCC
-CDCDCDCECECECFCFCFCFCFCFD0D0D0D1D1D1D1D1D1D2D2D2D2D2D2D3D3D3D3D3D3D3D3D3D3D3D3
-D4D4D4D4D4D4D4D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D2D2D2D1D1D1D0D0D0D0D0D0
-CECECECDCDCDCCCCCCCBCBCBC9C9C9C8C8C8C6C6C6C6C6C6C5C5C5C4C4C4C4C4C4C3C3C3C2C2C2
-C1C1C1C1C1C1C0C0C0BFBFBFBEBEBEBEBEBEBDBDBDBEBEBEC4C4C4C9C9C9CECECED5D5D5DFDFDF
-EAEAEAF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7
-ECECECE3E3E3D9D9D9CBCBCBBDBDBDAEAEAE9E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
-A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADAD
-ADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2
-B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8
-B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBC
-BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0
-C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3
-C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C8C8C8C9C9C9C9C9C9CACACACBCBCBCBCBCB
-CCCCCCCDCDCDCECECECECECECFCFCFD0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D1D1D1D1D1D1D1D1D1
-D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0CFCFCFCECECECECECE
-CCCCCCCBCBCBCACACAC9C9C9C7C7C7C6C6C6C5C5C5C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1
-C1C1C1C0C0C0C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBFBFBFC9C9C9D2D2D2DCDCDCE4E4E4ECECEC
-F2F2F2F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFB
-F7F7F7F3F3F3EFEFEFDEDEDECACACAB6B6B6A0A0A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
-A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACAC
-ACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2
-B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7
-B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBC
-BCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBF
-BFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
-C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C5C5C5C6C6C6C7C7C7C7C7C7C8C8C8C9C9C9C9C9C9
-CACACACBCBCBCCCCCCCCCCCCCDCDCDCECECECECECECFCFCFCFCFCFD0D0D0D0D0D0D0D0D0D0D0D0
-D1D1D1D1D1D1D1D1D1D1D1D1D0D0D0D0D0D0CFCFCFCFCFCFCFCFCFCECECECDCDCDCCCCCCCCCCCC
-CACACAC9C9C9C8C8C8C7C7C7C6C6C6C5C5C5C3C3C3C3C3C3C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0
-C0C0C0BFBFBFBFBFBFBEBEBEBDBDBDBCBCBCBABABAC0C0C0CECECEDBDBDBE9E9E9F4F4F4F7F7F7
-FAFAFAFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E
-9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
-ABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1
-B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6
-B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
-BBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBE
-BEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
-C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C4C4C4C5C5C5C6C6C6C6C6C6C7C7C7C8C8C8C8C8C8
-C9C9C9CACACACBCBCBCBCBCBCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECE
-CFCFCFCFCFCFCFCFCFCFCFCFCECECECECECECDCDCDCDCDCDCDCDCDCCCCCCCBCBCBCACACACACACA
-C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0BFBFBF
-BFBFBFBEBEBEBEBEBEBDBDBDBCBCBCBBBBBBB9B9B9BFBFBFD0D0D0E0E0E0F1F1F1FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E
-9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABAB
-ABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1
-B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6
-B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBB
-BBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBE
-BEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
-C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5C6C6C6C7C7C7C7C7C7
-C8C8C8C9C9C9C9C9C9CACACACACACACBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCC
-CDCDCDCDCDCDCDCDCDCDCDCDCCCCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACAC9C9C9C8C8C8C8C8C8
-C6C6C6C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0BFBFBF
-BEBEBEBEBEBEBDBDBDBCBCBCBBBBBBBABABAB8B8B8BEBEBECFCFCFE0E0E0F1F1F1FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D
-9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0
-B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5
-B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABA
-BABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBD
-BDBDBDBDBDBDBEBEBEBEBEBEBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
-C0C0C0C0C0C0C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C4C4C4C5C5C5C5C5C5
-C6C6C6C7C7C7C8C8C8C8C8C8C9C9C9CACACACACACACACACACACACACBCBCBCBCBCBCBCBCBCBCBCB
-CBCBCBCBCBCBCBCBCBCBCBCBCACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C7C7C7C6C6C6C6C6C6
-C5C5C5C4C4C4C3C3C3C3C3C3C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBFBEBEBE
-BDBDBDBDBDBDBCBCBCBBBBBBBABABAB9B9B9B7B7B7BDBDBDCECECEDFDFDFF1F1F1FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEBEBEBD3D3D3BBBBBBA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9D9D9D9D9D9D
-9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAA
-AAAAAAABABABABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9
-B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBD
-BDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0
-C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C3C3C3C4C4C4C4C4C4
-C5C5C5C6C6C6C6C6C6C7C7C7C7C7C7C8C8C8C8C8C8C8C8C8C8C8C8C9C9C9C9C9C9C9C9C9C9C9C9
-C9C9C9C9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C7C7C7C7C7C7C7C7C7C6C6C6C5C5C5C4C4C4C4C4C4
-C3C3C3C3C3C3C2C2C2C1C1C1C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBEBEBEBEBEBEBDBDBD
-BCBCBCBCBCBCBBBBBBBABABAB8B8B8B7B7B7B5B5B5BBBBBBCDCDCDDFDFDFF1F1F1FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFEDEDEDD7D7D7C1C1C1A8A8A89E9E9E9E9E9E9C9C9C9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
-9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAE
-AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
-B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBC
-BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBF
-BFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C2C2C2C2C2C2
-C3C3C3C4C4C4C4C4C4C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C7C7C7
-C7C7C7C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C3C3C3C2C2C2C2C2C2
-C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBC
-BBBBBBBBBBBBBABABABABABAB9B9B9BABABAB8B8B8BFBFBFD0D0D0E0E0E0F2F2F2FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF2F2F2E0E0E0D1D1D1BEBEBEB3B3B3ACACACA5A5A59E9E9E9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
-9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9
-A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAE
-AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8
-B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBC
-BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBF
-BFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C1
-C2C2C2C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5
-C5C5C5C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C3C3C3C2C2C2C1C1C1C1C1C1
-C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBB
-BABABABABABAB9B9B9BCBCBCBFBFBFC3C3C3C7C7C7CFCFCFDCDCDCE9E9E9F5F5F5FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF7F7F7EBEBEBE1E1E1D5D5D5C9C9C9BBBBBBADADADA0A0A09A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
-A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACADADADADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7
-B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBB
-BBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBE
-BEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0
-C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C4C4
-C4C4C4C4C4C4C4C4C4C4C4C4C3C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C0C0C0C0C0C0
-BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABA
-B9B9B9B9B9B9B8B8B8BCBCBCC5C5C5CECECED7D7D7DFDFDFE8E8E8F1F1F1F9F9F9FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFBFBFBF6F6F6F0F0F0EBEBEBDDDDDDCACACAB6B6B6A2A2A29A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADAD
-AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7
-B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABA
-BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBD
-BDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
-C0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C2C2C2C2C2
-C2C2C2C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0BFBFBFBFBFBF
-BEBEBEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9
-B8B8B8B8B8B8B7B7B7BDBDBDCBCBCBD8D8D8E6E6E6F1F1F1F4F4F4F8F8F8FCFCFCFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACAC
-ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
-B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9
-B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBC
-BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
-BEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFC0C0C0C0C0C0C0C0C0C0C0C0
-C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBEBEBE
-BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8
-B7B7B7B6B6B6B5B5B5BDBDBDCFCFCFE0E0E0F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BDBDBDA5A5A59A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0A0A0A0A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACAC
-ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6
-B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9
-B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBC
-BCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
-BEBEBEBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
-BFBFBFBFBFBFBFBFBFBFBFBFBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
-BDBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7
-B6B6B6B5B5B5B4B4B4BCBCBCCECECEE0E0E0F2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BEBEBEA6A6A69B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
-ACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5
-B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8
-B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBB
-BBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
-BDBDBDBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
-BEBEBEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
-BCBCBCBCBCBCBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6
-B5B5B5B4B4B4B3B3B3BBBBBBCDCDCDDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD6D6D6BEBEBEA6A6A69B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
-ACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7
-B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
-BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
-BCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
-BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
-BBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5
-B4B4B4B3B3B3B2B2B2BABABACCCCCCDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7BFBFBFA7A7A79C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9FA0A0A0
-A0A0A0A1A1A1A1A1A1A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7
-A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABABABABAB
-ACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0
-B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4
-B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7
-B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
-BABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
-BCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
-BDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
-BBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5
-B4B4B4B2B2B2B1B1B1B9B9B9CCCCCCDFDFDFF2F2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7BFBFBFA7A7A79C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAFAFAF
-AFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3
-B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6
-B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
-B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
-BCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-BABABABABABAB9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3
-B2B2B2B0B0B0AFAFAFB7B7B7CACACADEDEDEF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD7D7D7C0C0C0A8A8A89D9D9D9C9C9C
-9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADAEAEAEAEAEAEAEAEAE
-AEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2
-B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6
-B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
-B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABABABABABBBBBBBBBBBBBBBBBB
-BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBBBBBBBB
-BBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABABABABABABABABABABABABABABABABA
-B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2
-B0B0B0AEAEAEADADADB5B5B5C9C9C9DDDDDDF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD8D8D8C1C1C1A9A9A99E9E9E9D9D9D
-9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADAD
-ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5
-B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
-B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABA
-BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
-B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3B3B3B3B2B2B2B0B0B0
-AEAEAEACACACABABABB3B3B3C7C7C7DCDCDCF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFD9D9D9C2C2C2ABABAB9F9F9F9E9E9E
-9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F
-A0A0A0A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6
-A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADAD
-ADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1
-B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5
-B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
-B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABA
-BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8
-B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2B2B2B2B1B1B1AFAFAF
-ADADADABABABA9A9A9B1B1B1C6C6C6DCDCDCF1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E2E2E2D0D0D0BEBEBEB2B2B2ACACAC
-A6A6A6A0A0A09C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0
-B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4
-B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
-B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
-B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7
-B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B0B0B0B0B0B0AFAFAFB0B0B0
-B3B3B3B7B7B7BABABAC2C2C2D2D2D2E4E4E4F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7EBEBEBDEDEDED2D2D2C6C6C6BBBBBB
-B0B0B0A4A4A49D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFAFAF
-AFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3
-B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
-B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
-B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6
-B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1AFAFAFAFAFAFAEAEAEB3B3B3
-BBBBBBC3C3C3CCCCCCD5D5D5E0E0E0ECECECF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3EDEDEDE6E6E6DADADAC9C9C9
-B8B8B8A7A7A79E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAEAEAE
-AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2
-B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
-B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
-B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5
-B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0AEAEAEADADADACACACB4B4B4
-C2C2C2D0D0D0DEDEDEE8E8E8EEEEEEF4F4F4FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBEEEEEED8D8D8
-C3C3C3ADADAD9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5
-A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAA
-ABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACACACACACADADAD
-ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAEAEAE
-AEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2
-B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
-B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9BABABABABABABABABA
-BABABABBBBBBBBBBBBBBBBBBBBBBBBBABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9
-B8B8B8B8B8B8B7B7B7B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4
-B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFADADADACACACABABABB7B7B7
-C9C9C9DCDCDCF0F0F0FBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E2E2E2
-D0D0D0BDBDBDB0B0B0AAAAAAA4A4A4A0A0A09B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
-9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9
-AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACADADAD
-ADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1
-B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
-B9B9B9BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8
-B7B7B7B7B7B7B6B6B6B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3
-B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAEB1B1B1B2B2B2B6B6B6B9B9B9C4C4C4
-D5D5D5E5E5E5F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8EAEAEA
-DEDEDED1D1D1C5C5C5B9B9B9AFAFAFA5A5A59C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
-9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9
-AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC
-ACACACADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0
-B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B8B8B8B8B8B8B9B9B9B9B9B9B9B9B9
-B9B9B9BABABABABABABABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B7B7B7B7B7B7
-B6B6B6B6B6B6B5B5B5B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2
-B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAEADADADADADADB3B3B3BABABAC2C2C2CCCCCCD6D6D6
-E1E1E1EDEDEDF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3
-ECECECE4E4E4DADADAC9C9C9B9B9B9A9A9A99D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACABABABABABABABABABABABABABABABABABABABABABABABABABABAB
-ABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAF
-AFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3
-B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8
-B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6
-B5B5B5B5B5B5B4B4B4B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1
-B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEADADADACACACABABABB5B5B5C2C2C2D0D0D0DEDEDEE7E7E7
-EEEEEEF5F5F5FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFC
-FAFAFAF9F9F9EFEFEFD8D8D8C2C2C2AEAEAE9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4
-A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9
-AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABABABABABABABABABABABABABACACAC
-ACACACACACACACACACACACACABABABABABABABABABABABABABABABABABABABABABABABABABABAB
-ABABABACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAF
-AFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3
-B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B8B8
-B8B8B8B9B9B9B9B9B9B9B9B9B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B6B6B6B6B6B6
-B5B5B5B5B5B5B4B4B4B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0
-AFAFAFAFAFAFAEAEAEAEAEAEADADADACACACABABABAAAAAAB7B7B7C9C9C9DDDDDDF1F1F1F9F9F9
-FBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF5F5F5DDDDDDC6C6C6AFAFAF9E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAB
-ABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADAEAEAEAEAEAE
-AEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2
-B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7
-B7B7B7B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B5B5B5B5B5B5
-B4B4B4B4B4B4B3B3B3B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAF
-AEAEAEAEAEAEADADADADADADACACACABABABAAAAAAA9A9A9B7B7B7CBCBCBE0E0E0F6F6F6FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF5F5F5DDDDDDC6C6C6B0B0B09F9F9F9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3
-A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8
-A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAB
-ABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADADADADAD
-ADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2
-B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7
-B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B4B4B4
-B3B3B3B3B3B3B2B2B2B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAFAFAFAEAEAEAEAEAEAEAEAEAEAEAE
-ADADADACACACABABABABABABAAAAAAAAAAAAA9A9A9A8A8A8B6B6B6CBCBCBE0E0E0F6F6F6FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF5F5F5DEDEDEC7C7C7B0B0B0A0A0A09F9F9F9E9E9E9C9C9C9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
-A9A9A9AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACADADADADADAD
-ADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1
-B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6
-B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B4B4B4B3B3B3
-B2B2B2B2B2B2B1B1B1B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEAEAEAEADADADADADADADADADADADAD
-ACACACABABABAAAAAAAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8B6B6B6CBCBCBE0E0E0F6F6F6FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF5F5F5DEDEDEC7C7C7B2B2B2A1A1A1A0A0A09F9F9F9D9D9D9C9C9C9C9C9C9B9B9B
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7
-A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
-A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABACACACACACAC
-ACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1
-B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B6B6B6B6B6B6B6B6B6
-B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B3B3B3B2B2B2
-B1B1B1B1B1B1B0B0B0AFAFAFAEAEAEAEAEAEADADADADADADADADADACACACACACACACACACACACAC
-ABABABAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7B5B5B5CBCBCBE0E0E0F6F6F6FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF6F6F6E4E4E4D1D1D1BEBEBEAEAEAEA9A9A9A6A6A6A1A1A19D9D9D9D9D9D9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
-A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABAB
-ABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0
-B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B5
-B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B2B2B2B1B1B1
-B0B0B0B0B0B0AFAFAFAEAEAEADADADADADADACACACACACACACACACABABABABABABABABABABABAB
-AAAAAAA9A9A9A8A8A8A8A8A8AAAAAAADADADAFAFAFB3B3B3BFBFBFD2D2D2E5E5E5F7F7F7FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF8F8F8EBEBEBDDDDDDD0D0D0C3C3C3B9B9B9B0B0B0A6A6A69E9E9E9E9E9E9D9D9D
-9C9C9C9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6
-A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
-A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAA
-AAAAAAAAAAAAABABABABABABACACACADADADAEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0
-B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
-B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B0B0B0
-AFAFAFAFAFAFAEAEAEADADADACACACACACACABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAA
-A9A9A9A8A8A8A8A8A8A8A8A8AEAEAEB7B7B7BDBDBDC6C6C6D1D1D1DFDFDFECECECF9F9F9FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFCFCFCF3F3F3EAEAEAE1E1E1D7D7D7C9C9C9BABABAABABAB9F9F9F9E9E9E9D9D9D
-9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
-A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
-A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAA
-AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4
-B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAEAEAE
-ADADADADADADACACACABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A8A8A8A8A8A8
-A8A8A8A8A8A8A7A7A7A7A7A7B2B2B2BFBFBFCCCCCCDADADAE3E3E3EBEBEBF3F3F3FCFCFCFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFEFEFEFBFBFBF8F8F8F4F4F4ECECECD8D8D8C4C4C4B0B0B0A0A0A09F9F9F9E9E9E
-9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5
-A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
-A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9
-A9A9A9A9A9A9AAAAAAAAAAAAABABABACACACADADADADADADAEAEAEAEAEAEAFAFAFAFAFAFAFAFAF
-B0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
-B3B3B3B2B2B2B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEADADAD
-ACACACACACACABABABAAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7
-A7A7A7A7A7A7A7A7A7A7A7A7B6B6B6C9C9C9DADADAEEEEEEF5F5F5F9F9F9FBFBFBFEFEFEFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E4E4E4D0D0D0BDBDBDACACACA7A7A7A4A4A4
-A1A1A19D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
-A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
-A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8
-A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAABABABACACACACACACADADADADADADAEAEAEAEAEAEAEAEAE
-AFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
-B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEADADADACACAC
-ABABABABABABAAAAAAA9A9A9A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A6A6A6A6A6A6
-A9A9A9ABABABADADADB0B0B0C0C0C0D3D3D3E5E5E5F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAECECECDDDDDDCFCFCFC1C1C1B7B7B7AFAFAF
-A6A6A69E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A7A7A7
-A7A7A7A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACADADADADADADADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFB0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
-B1B1B1B0B0B0B0B0B0B0B0B0B0B0B0AFAFAFAFAFAFAEAEAEAEAEAEADADADADADADACACACABABAB
-AAAAAAAAAAAAA9A9A9A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6
-ADADADB5B5B5BDBDBDC4C4C4D1D1D1DFDFDFECECECFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF3F3F3EAEAEAE0E0E0D6D6D6C8C8C8BABABA
-ACACAC9E9E9E9D9D9D9C9C9C9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9AAAAAAABABABABABABACACACACACACADADADADADADADADAD
-AEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
-B0B0B0AFAFAFAFAFAFAFAFAFAFAFAFAEAEAEAEAEAEADADADADADADACACACACACACABABABAAAAAA
-A9A9A9A9A9A9A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6
-B2B2B2BFBFBFCCCCCCD9D9D9E2E2E2EBEBEBF3F3F3FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF7F7F7F3F3F3ECECECD8D8D8C5C5C5
-B1B1B19F9F9F9E9E9E9D9D9D9C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A6A6A6A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABACACACACACACACACAC
-ADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
-AFAFAFAEAEAEAEAEAEAEAEAEAEAEAEADADADACACACACACACABABABAAAAAAAAAAAAA9A9A9A8A8A8
-A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
-B6B6B6C9C9C9DBDBDBEDEDEDF3F3F3F7F7F7FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE5E5E5D1D1D1
-BCBCBCA9A9A9A5A5A5A2A2A29F9F9F9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABAB
-ACACACACACACADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
-AEAEAEADADADADADADADADADADADADACACACABABABABABABAAAAAAA9A9A9A9A9A9A8A8A8A7A7A7
-A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A8A8A8AAAAAAABABABADADAD
-BFBFBFD3D3D3E8E8E8FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBECECECDDDDDD
-CECECEBFBFBFB6B6B6AEAEAEA6A6A69E9E9E9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4
-A5A5A5A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAABABABABABABABABAB
-ABABABABABABACACACACACACACACACACACACADADADADADADADADADADADADADADADADADADADADAD
-ADADADACACACACACACACACACACACACABABABAAAAAAAAAAAAA9A9A9A8A8A8A8A8A8A7A7A7A6A6A6
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5ADADADB4B4B4BBBBBBC2C2C2
-D0D0D0DFDFDFEDEDEDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E9E9E9
-DFDFDFD5D5D5C8C8C8BABABAACACAC9F9F9F9D9D9D9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3
-A4A4A4A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9AAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAABABABABABABABABABABABABACACACACACACACACACACACACACACACACACACACACAC
-ACACACABABABABABABAAAAAAAAAAAAA9A9A9A8A8A8A8A8A8A7A7A7A6A6A6A6A6A6A5A5A5A5A5A5
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4B2B2B2BEBEBECBCBCBD7D7D7
-E1E1E1EAEAEAF4F4F4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F6F6F6
-F1F1F1EBEBEBD9D9D9C6C6C6B3B3B3A0A0A09E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3
-A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9
-A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABABABABAAAAAAAAAAAAAAAAAA
-AAAAAAA9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A7A7A7A7A7A7A6A6A6A5A5A5A5A5A5A4A4A4A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4B7B7B7C9C9C9DADADAECECEC
-F2F2F2F6F6F6FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDE7E7E7D2D2D2BDBDBDA7A7A7A3A3A3A1A1A19E9E9E9D9D9D9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2
-A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8
-A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9AAAAAAAAAAAAAAAAAAAAAAAAA9A9A9A9A9A9A9A9A9
-A9A9A9A8A8A8A8A8A8A7A7A7A7A7A7A6A6A6A5A5A5A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A4A4A4A5A5A5A7A7A7A9A9A9BFBFBFD4D4D4E7E7E7FDFDFD
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFDFDFDEEEEEEDDDDDDCECECEBEBEBEB4B4B4ADADADA6A6A69D9D9D9C9C9C9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1
-A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7
-A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8
-A8A8A8A7A7A7A6A6A6A6A6A6A5A5A5A4A4A4A4A4A4A3A3A3A3A3A3A2A2A2A2A2A2A1A1A1A1A1A1
-A2A2A2A2A2A2A2A2A2A2A2A2A4A4A4AAAAAAB1B1B1B7B7B7BFBFBFCFCFCFDEDEDEEEEEEEFDFDFD
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEF4F4F4E9E9E9DFDFDFD5D5D5C6C6C6B9B9B9ADADAD9F9F9F9D9D9D9C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6
-A6A6A6A6A6A6A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6
-A6A6A6A5A5A5A5A5A5A4A4A4A4A4A4A3A3A3A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0
-A1A1A1A1A1A1A1A1A1A1A1A1A4A4A4B0B0B0BCBCBCC8C8C8D5D5D5E0E0E0EAEAEAF4F4F4FEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFF9F9F9F5F5F5F0F0F0EBEBEBD9D9D9C6C6C6B4B4B4A1A1A19E9E9E9D9D9D9C9C9C
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-A0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A3A3A3A3A3A3A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A3A3A3A3A3A3A2A2A2A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F
-A0A0A0A0A0A0A0A0A0A0A0A0A4A4A4B5B5B5C7C7C7DADADAEBEBEBF0F0F0F5F5F5F9F9F9FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7D2D2D2BDBDBDA6A6A6A1A1A19F9F9F9E9E9E
-9D9D9D9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3
-A3A3A3A2A2A2A1A1A1A1A1A1A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-A0A0A0A1A1A1A1A1A1A2A2A2A7A7A7BCBCBCD2D2D2E8E8E8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEDCDCDCCDCDCDBCBCBCB4B4B4ACACACA5A5A5
-9E9E9E9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
-9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2
-A2A2A2A1A1A1A0A0A0A0A0A09F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F
-A1A1A1A8A8A8AEAEAEB5B5B5BDBDBDCDCDCDDDDDDDEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3E8E8E8DEDEDED3D3D3C6C6C6B9B9B9ACACAC
-A0A0A09C9C9C9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
-9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0
-A0A0A09F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9F9F9F9F9F9F
-A3A3A3AFAFAFBBBBBBC7C7C7D3D3D3DEDEDEE9E9E9F4F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EEEEEEE8E8E8D9D9D9C6C6C6B3B3B3
-A2A2A29D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
-9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9E9E9E
-9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F9F9F9F
-A5A5A5B6B6B6C8C8C8D9D9D9E9E9E9EEEEEEF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAEAEAD4D4D4BCBCBC
-A5A5A59E9E9E9D9D9D9C9C9C9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0
-A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
-A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A09F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B
-9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D
-9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0
-A6A6A6BDBDBDD4D4D4EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDEDEDECCCCCC
-BBBBBBB1B1B1ABABABA5A5A59E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C
-9C9C9C9B9B9B9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9CA0A0A0A7A7A7ACACACB3B3B3
-BCBCBCCDCDCDDFDFDFF0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5E9E9E9DCDCDC
-D1D1D1C4C4C4B9B9B9ADADADA0A0A09B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
-9B9B9B9B9B9B9C9C9C9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9DA3A3A3AFAFAFBABABAC6C6C6
-D1D1D1DDDDDDE9E9E9F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9F3F3F3EDEDED
-E6E6E6D8D8D8C6C6C6B5B5B5A3A3A39C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9B9B9B9C9C9C9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9E9E9EA6A6A6B7B7B7C8C8C8D9D9D9
-E7E7E7EEEEEEF4F4F4F9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
-FCFCFCEAEAEAD5D5D5BEBEBEA6A6A69C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9FA0A0A0A0A0A0
-A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3
-A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5
-A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3
-A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9B9B9B9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA8A8A8BFBFBFD6D6D6ECECEC
-FCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF0F0F0DFDFDFCDCDCDBABABAAFAFAFA9A9A9A4A4A49E9E9E9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
-A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9C9C9C9C9C9C9D9D9DA2A2A2A7A7A7ACACACB2B2B2BCBCBCCECECEDFDFDFF2F2F2
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF5F5F5E9E9E9DCDCDCCFCFCFC3C3C3B8B8B8ACACACA1A1A19B9B9B9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9F9F9F9F9F9F
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4
-A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
-A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9C9C9C9D9D9D9D9D9D9E9E9EA5A5A5AFAFAFBABABAC5C5C5D1D1D1DDDDDDE9E9E9F6F6F6
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF9F9F9F2F2F2EBEBEBE5E5E5D8D8D8C6C6C6B5B5B5A4A4A49C9C9C9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
-A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9D9D9D9E9E9E9E9E9E9F9F9FA8A8A8B8B8B8C8C8C8D9D9D9E5E5E5ECECECF3F3F3FAFAFA
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFEFEFEFCFCFCFCFCFCFAFAFAEBEBEBD5D5D5BFBFBFA9A9A99C9C9C9B9B9B9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E
-9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
-A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A2A2A2A2A2A2A2A2A2A2A2A2
-A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0ACACACC1C1C1D5D5D5ECECECFAFAFAFCFCFCFDFDFDFEFEFE
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2DFDFDFCDCDCDBABABAAEAEAEA8A8A8A3A3A39D9D9D
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
-9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C
-9D9D9DA2A2A2A7A7A7ACACACB1B1B1BCBCBCCECECEE0E0E0F3F3F3FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E9E9E9DBDBDBCECECEC2C2C2B7B7B7ACACACA1A1A1
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D
-9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E
-9F9F9FA6A6A6B0B0B0BABABAC5C5C5CFCFCFDDDDDDEAEAEAF6F6F6FFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF2F2F2EBEBEBE3E3E3D7D7D7C5C5C5B5B5B5A5A5A5
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
-9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9C9C9C9D9D9D9E9E9E9F9F9F
-A0A0A0ABABABBABABAC9C9C9D9D9D9E4E4E4ECECECF3F3F3FAFAFAFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFAFAFAF9F9F9EBEBEBD5D5D5C0C0C0AAAAAA
-9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C
-9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2
-A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
-A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9D9D9D9D9D9D9E9E9E9F9F9FA0A0A0
-A1A1A1AFAFAFC3C3C3D7D7D7EDEDEDF9F9F9FAFAFAFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F3F3DFDFDFCDCDCDB9B9B9
-ADADADABABABABABABAAAAAAAAAAAAA6A6A6A2A2A29D9D9D9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9BA0A0A0A5A5A5A9A9A9ADADADAEAEAEAFAFAFB0B0B0
-B1B1B1BDBDBDCFCFCFE1E1E1F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6E8E8E8DBDBDBCDCDCD
-C4C4C4C4C4C4C4C4C4C3C3C3C0C0C0B5B5B5ACACACA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B
-9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9FA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1A1A1A1A1A1A1A1A1
-A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9CA5A5A5AFAFAFB8B8B8C2C2C2C6C6C6C7C7C7C7C7C7
-C8C8C8D0D0D0DDDDDDEAEAEAF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBF2F2F2EAEAEAE1E1E1
-DCDCDCDCDCDCDCDCDCDCDCDCD6D6D6C6C6C6B6B6B6A6A6A69A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9B9B9B9C9C9C9D9D9D9D9D9DABABABBABABAC9C9C9D8D8D8DDDDDDDEDEDEDEDEDE
-DEDEDEE3E3E3EBEBEBF3F3F3FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF8F8F8F6F6F6
-F4F4F4F4F4F4F4F4F4F4F4F4EDEDEDD7D7D7C2C2C2ACACAC9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9B9B9B9B9B9B9C9C9C9D9D9D9E9E9E9E9E9EB0B0B0C6C6C6D9D9D9EEEEEEF5F5F5F5F5F5F5F5F5
-F5F5F5F7F7F7F9F9F9FBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFF8F8F8E2E2E2CECECEBABABAA8A8A8A4A4A4A1A1A19D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B
-9C9C9C9C9C9CA0A0A0A5A5A5A8A8A8ABABABBCBCBCD1D1D1E4E4E4F9F9F9FFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFAFAFAEAEAEADBDBDBCDCDCDBFBFBFB4B4B4ACACACA2A2A29A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9C9C9C
-9D9D9D9D9D9DA6A6A6B0B0B0B9B9B9C1C1C1CFCFCFDEDEDEECECECFBFBFBFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF3F3F3E9E9E9DFDFDFD6D6D6C7C7C7B7B7B7A8A8A89A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9E9E9E9E9E9E9E9E9E
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
-9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B9C9C9C
-9D9D9D9E9E9EACACACBABABAC9C9C9D8D8D8E2E2E2EBEBEBF3F3F3FCFCFCFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7F7F7F4F4F4EDEDEDD8D8D8C3C3C3AEAEAE9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
-9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9C9C9C9C9C9C9D9D9D
-9E9E9E9F9F9FB2B2B2C6C6C6DADADAEDEDEDF5F5F5F8F8F8FBFBFBFEFEFEFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE4E4E4D0D0D0B9B9B9A6A6A6
-A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A2A2A2A0A0A09E9E9E9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9E9E9EA0A0A0A2A2A2A5A5A5A5A5A5A6A6A6A6A6A6A7A7A7A7A7A7A8A8A8
-A9A9A9AAAAAABDBDBDD2D2D2E7E7E7FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCEBEBEBDCDCDCCCCCCCBEBEBE
-BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB6B6B6ADADADA5A5A59C9C9C9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9C9C9CA5A5A5AEAEAEB6B6B6BDBDBDBDBDBDBEBEBEBFBFBFBFBFBFBFBFBFC0C0C0
-C1C1C1C1C1C1CFCFCFDEDEDEEDEDEDFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF2F2F2E9E9E9E0E0E0D7D7D7
-D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6C9C9C9BBBBBBACACAC9D9D9D9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9E9E9EACACACBBBBBBC9C9C9D6D6D6D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D8D8D8
-D8D8D8D8D8D8E2E2E2EAEAEAF4F4F4FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF7F7F7F3F3F3EFEFEF
-EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDDDDDDC8C8C8B3B3B39E9E9E9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9F9F9FB3B3B3C8C8C8DCDCDCEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
-EFEFEFF0F0F0F4F4F4F7F7F7FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEBD5D5D5BFBFBFA8A8A8A2A2A2
-A2A2A2A2A2A2A2A2A2A1A1A19F9F9F9D9D9D9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9F9F9FA1A1A1A2A2A2A2A2A2
-A2A2A2A2A2A2A7A7A7BEBEBED5D5D5EBEBEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0F0DFDFDFD0D0D0BFBFBFBBBBBB
-BBBBBBBBBBBBBBBBBBB5B5B5AEAEAEA6A6A69E9E9E9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9E9E9EA5A5A5ADADADB5B5B5BBBBBBBBBBBB
-BBBBBBBBBBBBBEBEBECFCFCFE0E0E0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6EBEBEBE0E0E0D7D7D7D4D4D4
-D4D4D4D4D4D4D4D4D4CBCBCBBDBDBDAFAFAFA1A1A19A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA0A0A0AEAEAEBCBCBCCBCBCBD4D4D4D4D4D4
-D4D4D4D4D4D4D6D6D6E0E0E0ECECECF6F6F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF7F7F7F2F2F2EDEDEDECECEC
-ECECECECECECECECECDFDFDFCCCCCCB8B8B8A5A5A59A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9AA3A3A3B6B6B6CBCBCBDFDFDFECECECECECEC
-ECECECECECECEDEDEDF2F2F2F7F7F7FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF0F0F0DADADAC4C4C4ADADADA1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09F9F9F9E9E9E9C9C9C9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9B9B9B9D9D9D9D9D9D9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAAAAAAC1C1C1D8D8D8F0F0F0FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF3F3F3E3E3E3D3D3D3C2C2C2B9B9B9B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
-B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B7B7B7B0B0B0A9A9A9A2A2A29B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9AA1A1A1A8A8A8AFAFAFB6B6B6B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
-B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8C0C0C0D1D1D1E3E3E3F3F3F3FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFF7F7F7EDEDEDE2E2E2D7D7D7D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
-D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1CECECEC2C2C2B6B6B6A8A8A89C9C9C9C9C9C9C9C9C
-9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9AA6A6A6B4B4B4C0C0C0CECECED0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
-D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D6D6D6E1E1E1ECECECF7F7F7FFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F1F1F1ECECECE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E6E6E6D3D3D3C1C1C1ADADAD9D9D9D9D9D9D9D9D9D
-9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
-9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
-9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
-9A9A9A9A9A9A9A9A9A9A9A9AABABABBFBFBFD2D2D2E6E6E6E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
-E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EBEBEBF1F1F1F7F7F7FBFBFBFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAE3E3E3CDCDCDB6B6B6A2A2A2A1A1A1A1A1A1
-A1A1A1A1A1A1A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
-A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
-9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
-9D9D9D9D9D9D9D9D9D9D9D9DB2B2B2CACACAE2E2E2FAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFBEAEAEAD9D9D9C9C9C9B9B9B9B8B8B8B8B8B8
-B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
-B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
-B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
-B5B5B5B5B5B5B5B5B5B5B5B5C6C6C6D8D8D8EAEAEAFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF1F1F1E6E6E6DBDBDBD1D1D1D0D0D0D0D0D0
-D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
-D0D0D0CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
-CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
-CECECECECECECECECECECECED9D9D9E5E5E5F1F1F1FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF8F8F8F2F2F2EDEDEDE8E8E8E8E8E8E8E8E8
-E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
-E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
-E7E7E7E7E7E7E7E7E7E7E7E7ECECECF2F2F2F8F8F8FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-
-end
-%%PageTrailer
-%%Trailer
-%%EOF
diff --git a/legacy/edje/doc/img/swallow2final.png b/legacy/edje/doc/img/swallow2final.png
deleted file mode 100644 (file)
index d90df3e..0000000
Binary files a/legacy/edje/doc/img/swallow2final.png and /dev/null differ
diff --git a/legacy/edje/edje.pc.in b/legacy/edje/edje.pc.in
deleted file mode 100644 (file)
index 88110e9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-modules=@libdir@/@PACKAGE@/modules
-includedir=@includedir@
-datarootdir=@datarootdir@
-datadir=@datadir@/edje
-vmaj=@VMAJ@
-multisense=@want_multisense@
-
-Name: edje
-Description: Enlightened graphical design and layout engine.
-@pkgconfig_requires_private@: @requirement_edje@
-Version: @VERSION@
-Libs: -L${libdir} -ledje
-Libs.private: @lua_libs@
-Cflags: -I${includedir}/edje-@VMAJ@
diff --git a/legacy/edje/src/bin/edje_cc.c b/legacy/edje/src/bin/edje_cc.c
deleted file mode 100644 (file)
index c00f627..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <locale.h>
-#include <limits.h>
-#include <sys/stat.h>
-
-#include "edje_cc.h"
-int _edje_cc_log_dom = -1;
-static void main_help(void);
-
-Eina_Prefix  *pfx = NULL;
-Eina_List *snd_dirs = NULL;
-Eina_List *img_dirs = NULL;
-Eina_List *fnt_dirs = NULL;
-Eina_List *defines = NULL;
-char      *file_in = NULL;
-char      *tmp_dir = NULL;
-char      *file_out = NULL;
-char      *watchfile = NULL;
-
-static const char *progname = NULL;
-
-int        no_lossy = 0;
-int        no_comp = 0;
-int        no_raw = 0;
-int        no_save = 0;
-int        min_quality = 0;
-int        max_quality = 100;
-int        compress_mode = EET_COMPRESSION_HI;
-int        threads = 0;
-int       anotate = 0;
-
-static void
-_edje_cc_log_cb(const Eina_Log_Domain *d,
-                Eina_Log_Level level,
-                const char *file,
-                const char *fnc,
-                int fline,
-                const char *fmt,
-                __UNUSED__ void *data,
-                va_list args)
-{
-   if ((d->name) && (d->namelen == sizeof("edje_cc") - 1) &&
-       (memcmp(d->name, "edje_cc", sizeof("edje_cc") - 1) == 0))
-     {
-        const char *prefix;
-
-        eina_log_console_color_set(stderr, eina_log_level_color_get(level));
-        switch (level)
-          {
-           case EINA_LOG_LEVEL_CRITICAL:
-              prefix = "Critical. ";
-              break;
-           case EINA_LOG_LEVEL_ERR:
-              prefix = "Error. ";
-              break;
-           case EINA_LOG_LEVEL_WARN:
-              prefix = "Warning. ";
-              break;
-           default:
-              prefix = "";
-          }
-        fprintf(stderr, "%s: %s", progname, prefix);
-        eina_log_console_color_set(stderr, EINA_COLOR_RESET);
-
-        vfprintf(stderr, fmt, args);
-        putc('\n', stderr);
-     }
-   else
-     eina_log_print_cb_stderr(d, level, file, fnc, fline, fmt, NULL, args);
-}
-
-static void
-main_help(void)
-{
-   printf
-     ("Usage:\n"
-      "\t%s [OPTIONS] input_file.edc [output_file.edj]\n"
-      "\n"
-      "Where OPTIONS is one or more of:\n"
-      "\n"
-      "-w files.txt             Dump all sources files path into files.txt\n"
-      "-anotate                 Anotate the dumped files.\n"
-      "-id image/directory      Add a directory to look in for relative path images\n"
-      "-fd font/directory       Add a directory to look in for relative path fonts\n"
-      "-sd sound/directory      Add a directory to look in for relative path sounds samples\n"
-      "-td temp/directory       Directory to store temporary files\n"
-      "-v                       Verbose output\n"
-      "-no-lossy                Do NOT allow images to be lossy\n"
-      "-no-comp                 Do NOT allow images to be stored with lossless compression\n"
-      "-no-raw                  Do NOT allow images to be stored with zero compression (raw)\n"
-      "-no-save                 Do NOT store the input EDC file in the EDJ file\n"
-      "-min-quality VAL         Do NOT allow lossy images with quality < VAL (0-100)\n"
-      "-max-quality VAL         Do NOT allow lossy images with quality > VAL (0-100)\n"
-      "-Ddefine_val=to          CPP style define to define input macro definitions to the .edc source\n"
-      "-fastcomp                Use a faster compression algorithm (LZ4) (mutually exclusive with -fastdecomp)\n"
-      "-fastdecomp              Use a faster decompression algorithm (LZ4HC) (mutually exclusive with -fastcomp)\n"
-      "-threads                 Compile the edje file using multiple parallel threads (by default)\n"
-      "-nothreads               Compile the edje file using only the main loop\n"
-      ,progname);
-}
-
-int
-main(int argc, char **argv)
-{
-   int i;
-   struct stat st;
-   char rpath[PATH_MAX], rpath2[PATH_MAX];
-
-   setlocale(LC_NUMERIC, "C");
-
-   if (!eina_init())
-     return -1;
-
-   _edje_cc_log_dom = eina_log_domain_register
-     ("edje_cc", EDJE_CC_DEFAULT_LOG_COLOR);
-   if (_edje_cc_log_dom < 0)
-     {
-       EINA_LOG_ERR("Enable to create a log domain.");
-       exit(-1);
-     }
-   if (!eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_WARN))
-     eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_WARN);
-
-   progname = ecore_file_file_get(argv[0]);
-   eina_log_print_cb_set(_edje_cc_log_cb, NULL);
-
-   tmp_dir = getenv("TMPDIR");
-
-   img_dirs = eina_list_append(img_dirs, ".");
-   
-   /* add defines to epp so edc files can detect edje_cc version */
-   defines = eina_list_append(defines, mem_strdup("-DEDJE_VERSION_12=12"));
-
-   for (i = 1; i < argc; i++)
-     {
-       if (!strcmp(argv[i], "-h"))
-         {
-            main_help();
-            exit(0);
-         }
-       else if (!strcmp(argv[i], "-v"))
-         {
-            eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_INFO);
-         }
-       else if (!strcmp(argv[i], "-no-lossy"))
-         {
-            no_lossy = 1;
-         }
-       else if (!strcmp(argv[i], "-no-comp"))
-         {
-            no_comp = 1;
-         }
-       else if (!strcmp(argv[i], "-no-raw"))
-         {
-            no_raw = 1;
-         }
-       else if (!strcmp(argv[i], "-no-save"))
-         {
-            no_save = 1;
-         }
-       else if ((!strcmp(argv[i], "-id") || !strcmp(argv[i], "--image_dir")) && (i < (argc - 1)))
-         {
-            i++;
-            img_dirs = eina_list_append(img_dirs, argv[i]);
-         }
-       else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1)))
-         {
-            i++;
-            fnt_dirs = eina_list_append(fnt_dirs, argv[i]);
-         }
-        else if ((!strcmp(argv[i], "-sd") || !strcmp(argv[i], "--sound_dir")) && (i < (argc - 1)))
-          {
-             i++;
-             snd_dirs = eina_list_append(snd_dirs, argv[i]);
-          }
-       else if ((!strcmp(argv[i], "-td") || !strcmp(argv[i], "--tmp_dir")) && (i < (argc - 1)))
-         {
-            i++;
-             if (!tmp_dir)
-               tmp_dir = argv[i];
-         }
-       else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1)))
-         {
-            i++;
-            min_quality = atoi(argv[i]);
-            if (min_quality < 0) min_quality = 0;
-            if (min_quality > 100) min_quality = 100;
-         }
-       else if ((!strcmp(argv[i], "-max-quality")) && (i < (argc - 1)))
-         {
-            i++;
-            max_quality = atoi(argv[i]);
-            if (max_quality < 0) max_quality = 0;
-            if (max_quality > 100) max_quality = 100;
-         }
-       else if (!strcmp(argv[i], "-fastcomp"))
-         {
-             compress_mode = EET_COMPRESSION_SUPERFAST;
-         }
-       else if (!strcmp(argv[i], "-fastdecomp"))
-         {
-             compress_mode = EET_COMPRESSION_VERYFAST;
-         }
-       else if (!strcmp(argv[i], "-threads"))
-         {
-             threads = 1;
-         }
-       else if (!strcmp(argv[i], "-nothreads"))
-         {
-             threads = 0;
-         }
-       else if (!strncmp(argv[i], "-D", 2))
-         {
-            defines = eina_list_append(defines, mem_strdup(argv[i]));
-         }
-       else if ((!strcmp(argv[i], "-o")) && (i < (argc - 1)))
-         {
-            i++;
-            file_out = argv[i];
-         }
-       else if ((!strcmp(argv[i], "-w")) && (i < (argc - 1)))
-         {
-             i++;
-             watchfile = argv[i];
-             unlink(watchfile);
-         }
-       else if (!strcmp(argv[i], "-anotate"))
-         {
-             anotate = 1;
-          }
-       else if (!file_in)
-         file_in = argv[i];
-       else if (!file_out)
-         file_out = argv[i];
-     }
-
-   if (!file_in)
-     {
-       ERR("no input file specified.");
-       main_help();
-       exit(-1);
-     }
-
-   
-
-   pfx = eina_prefix_new(argv[0],            /* argv[0] value (optional) */
-                         main,               /* an optional symbol to check path of */
-                         "EDJE",             /* env var prefix to use (XXX_PREFIX, XXX_BIN_DIR etc. */
-                         "edje",             /* dir to add after "share" (PREFIX/share/DIRNAME) */
-                         "include/edje.inc", /* a magic file to check for in PREFIX/share/DIRNAME for success */
-                         PACKAGE_BIN_DIR,    /* package bin dir @ compile time */
-                         PACKAGE_LIB_DIR,    /* package lib dir @ compile time */
-                         PACKAGE_DATA_DIR,   /* package data dir @ compile time */
-                         PACKAGE_DATA_DIR    /* if locale needed  use LOCALE_DIR */
-                        );
-
-   /* check whether file_in exists */
-#ifdef HAVE_REALPATH
-   if (!realpath(file_in, rpath) || stat(rpath, &st) || !S_ISREG(st.st_mode))
-#else
-   if (stat(file_in, &st) || !S_ISREG(st.st_mode))
-#endif
-     {
-       ERR("file not found: %s.", file_in);
-       main_help();
-       exit(-1);
-     }
-
-   if (!file_out)
-      {
-         char *suffix;
-
-         if ((suffix = strstr(file_in,".edc")) && (suffix[4] == 0))
-            {
-               file_out = strdup(file_in);
-               if (file_out)
-                  {
-                     suffix = strstr(file_out,".edc");
-                     strcpy(suffix,".edj");
-                  }
-            }
-      }
-   if (!file_out)
-     {
-       ERR("no output file specified.");
-       main_help();
-       exit(-1);
-     }
-
-#ifdef HAVE_REALPATH
-   if (realpath(file_out, rpath2) && !strcmp (rpath, rpath2))
-#else
-   if (!strcmp (file_in, file_out))
-#endif
-     {
-       ERR("input file equals output file.");
-       main_help();
-       exit(-1);
-     }
-
-   using_file(file_in, 'E');
-   if (anotate) using_file(file_out, 'O');
-
-   if (!edje_init())
-     exit(-1);
-
-   edje_file = mem_alloc(SZ(Edje_File));
-   edje_file->compiler = strdup("edje_cc");
-   edje_file->version = EDJE_FILE_VERSION;
-   edje_file->minor = EDJE_FILE_MINOR;
-   edje_file->feature_ver = 1; /* increment this every time we add a field
-                               * or feature to the edje file format that
-                               * does not load nicely as a NULL or 0 value
-                               * and needs a special fallback initialization
-                               */
-
-   source_edd();
-   source_fetch();
-
-   data_setup();
-   compile();
-   reorder_parts();
-   data_process_scripts();
-   data_process_lookups();
-   data_process_script_lookups();
-   data_write();
-
-   eina_prefix_free(pfx);
-   pfx = NULL;
-   
-   edje_shutdown();
-   eina_log_domain_unregister(_edje_cc_log_dom);
-   eina_shutdown();
-
-   return 0;
-}
diff --git a/legacy/edje/src/bin/edje_cc.h b/legacy/edje/src/bin/edje_cc.h
deleted file mode 100644 (file)
index 49c0bc4..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-#ifndef EDJE_CC_H
-#define EDJE_CC_H
-
-#include <edje_private.h>
-
-extern Eina_Prefix *pfx;
-
-/*
- * On Windows, if the file is not opened in binary mode,
- * read does not return the correct size, because of
- * CR / LF translation.
- */
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-/* logging variables */
-extern int _edje_cc_log_dom ;
-#define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
-
-#ifdef ERR
-# undef ERR
-#endif
-#define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef INF
-# undef INF
-#endif
-#define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef WRN
-# undef WRN
-#endif
-#define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef CRIT
-# undef CRIT
-#endif
-#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef DBG
-# undef DBG
-#endif
-#define DBG(...) EINA_LOG_DOM_DBG(_edje_cc_log_dom, __VA_ARGS__)
-
-/* types */
-typedef struct _New_Object_Handler    New_Object_Handler;
-typedef struct _New_Statement_Handler New_Statement_Handler;
-typedef struct _New_Nested_Handler    New_Nested_Handler;
-typedef struct _External_List         External_List;
-typedef struct _External              External;
-typedef struct _Code                  Code;
-typedef struct _Code_Program          Code_Program;
-typedef struct _SrcFile               SrcFile;
-typedef struct _SrcFile_List          SrcFile_List;
-
-typedef struct _Edje_Program_Parser                  Edje_Program_Parser;
-typedef struct _Edje_Pack_Element_Parser             Edje_Pack_Element_Parser;
-typedef struct _Edje_Part_Parser                     Edje_Part_Parser;
-
-struct _New_Object_Handler
-{
-   const char *type;
-   void (*func)(void);
-};
-
-struct _New_Statement_Handler
-{
-   const char *type;
-   void (*func)(void);
-};
-
-struct _New_Nested_Handler
-{
-   const char *type;
-   const char *token;
-   void (*func_push)(void);
-   void (*func_pop)(void);
-};
-
-struct _External_List
-{
-   Eina_List *list;
-};
-
-struct _External
-{
-    char *name;
-};
-
-struct _Code
-{
-   int       l1, l2;
-   char      *shared;
-   char      *original;
-   Eina_List *programs;
-   int         is_lua;
-};
-
-struct _Code_Program
-{
-   int        l1, l2;
-   int        id;
-   char      *script;
-   char      *original;
-};
-
-struct _SrcFile
-{
-   char *name;
-   char *file;
-};
-
-struct _SrcFile_List
-{
-   Eina_List *list;
-};
-
-struct _Edje_Program_Parser
-{
-   Edje_Program common;
-   Eina_Bool can_override;
-};
-
-struct _Edje_Pack_Element_Parser
-{
-   Edje_Pack_Element common;
-   Eina_Bool can_override;
-};
-
-struct _Edje_Part_Parser
-{
-   Edje_Part common;
-   struct {
-      Eina_Bool           done;
-      const char         *insert_before; /* the part name for insertion in front of */
-      const char         *insert_after; /* the part name for insertion behind of */
-      Edje_Part_Parser   *before;
-      Edje_Part_Parser   *after;
-      int                 linked_prev; /* the number linked previous part for reorder */
-      int                 linked_next; /* the number linked next part for reorder */
-   } reorder;
-   Eina_Bool can_override;
-};
-
-/* global fn calls */
-void    data_setup(void);
-void    data_write(void);
-void    data_queue_face_group_lookup(const char *name);
-void    data_queue_group_lookup(const char *name, Edje_Part *part);
-void    data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
-void    data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest);
-void    data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
-void    data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
-void    data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
-void    data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
-void    data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
-void    data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
-void    data_queue_image_remove(int *dest, Eina_Bool *set);
-void    data_queue_part_slave_lookup(int *master, int *slave);
-void    data_queue_image_slave_lookup(int *master, int *slave);
-void    data_queue_spectrum_lookup(char *name, int *dest);
-void    data_queue_spectrum_slave_lookup(int *master, int *slave);
-void    data_process_lookups(void);
-void    data_process_scripts(void);
-void    data_process_script_lookups(void);
-
-void    part_description_image_cleanup(Edje_Part *ep);
-
-int     is_verbatim(void);
-void    track_verbatim(int on);
-void    set_verbatim(char *s, int l1, int l2);
-char   *get_verbatim(void);
-int     get_verbatim_line1(void);
-int     get_verbatim_line2(void);
-void    compile(void);
-int     is_param(int n);
-int     is_num(int n);
-char   *parse_str(int n);
-int     parse_enum(int n, ...);
-int     parse_flags(int n, ...);
-int     parse_int(int n);
-int     parse_int_range(int n, int f, int t);
-int     parse_bool(int n);
-double  parse_float(int n);
-double  parse_float_range(int n, double f, double t);
-int     get_arg_count(void);
-void    check_arg_count(int n);
-void    check_min_arg_count(int n);
-
-int     object_handler_num(void);
-int     statement_handler_num(void);
-int     nested_handler_num(void);
-
-void    reorder_parts(void);
-void    source_edd(void);
-void    source_fetch(void);
-int     source_append(Eet_File *ef);
-SrcFile_List *source_load(Eet_File *ef);
-int     source_fontmap_save(Eet_File *ef, Eina_List *fonts);
-Edje_Font_List *source_fontmap_load(Eet_File *ef);
-
-void   *mem_alloc(size_t size);
-char   *mem_strdup(const char *s);
-#define SZ sizeof
-
-void    using_file(const char *filename, const char type);
-
-void    error_and_abort(Eet_File *ef, const char *fmt, ...);
-
-
-void edje_cc_handlers_hierarchy_alloc(void);
-void edje_cc_handlers_hierarchy_free(void);
-
-/* global vars */
-extern Eina_List             *ext_dirs;
-extern Eina_List             *img_dirs;
-extern Eina_List             *fnt_dirs;
-extern Eina_List             *snd_dirs;
-extern char                  *file_in;
-extern char                  *tmp_dir;
-extern char                  *file_out;
-extern char                  *watchfile;
-extern int                    no_lossy;
-extern int                    no_comp;
-extern int                    no_raw;
-extern int                    no_save;
-extern int                    min_quality;
-extern int                    max_quality;
-extern int                    line;
-extern Eina_List             *stack;
-extern Edje_File             *edje_file;
-extern Eina_List             *edje_collections;
-extern Eina_Hash             *edje_collections_lookup;
-extern Eina_List             *externals;
-extern Eina_List             *fonts;
-extern Eina_List             *codes;
-extern Eina_List             *defines;
-extern Eina_List             *aliases;
-extern New_Object_Handler     object_handlers[];
-extern New_Statement_Handler  statement_handlers[];
-extern New_Nested_Handler     nested_handlers[];
-extern int                    compress_mode;
-extern int                    threads;
-extern int                   anotate;
-
-#endif
diff --git a/legacy/edje/src/bin/edje_cc_handlers.c b/legacy/edje/src/bin/edje_cc_handlers.c
deleted file mode 100644 (file)
index 54bb41e..0000000
+++ /dev/null
@@ -1,9393 +0,0 @@
-/*
-    Concerning the EDC reference:
-
-    The formatting for blocks and properties has been implemented as a table
-    which is filled using ALIASES.
-    For maximum flexibility I implemented them in the \@code/\@encode style,
-    this means that missing one or changing the order most certainly cause
-    formatting errors.
-
-    \@block
-        block name
-    \@context
-        code sample of the block
-    \@description
-        the block's description
-    \@endblock
-
-    \@property
-        property name
-    \@parameters
-        property's parameter list
-    \@effect
-        the property description (lol)
-    \@endproperty
-*/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#include "edje_cc.h"
-
-/**
- * @page edcref Edje Data Collection reference
- * An Edje Data Collection, it's a plain text file (normally identified with the
- * .edc extension), consisting of instructions for the Edje Compiler.
- *
- * The syntax for the edje data collection files follows a simple structure of
- * "blocks { .. }" that can contain "properties: ..", more blocks, or both.
- *
- * @anchor sec_quickaccess Quick access to block descriptions:
- * <ul>
- *    <li>@ref sec_toplevel "Top-Level"</li>
- *    <ul>
- *      <li>@ref sec_toplevel_externals "Externals"</li>
- *      <li>@ref sec_toplevel_images "Images"</li>
- *      <ul>
- *        <li>@ref sec_toplevel_images_set "Set"</li>
- *        <ul>
- *          <li>@ref sec_toplevel_images_image "Image"</li>
- *        </ul>
- *      </ul>
- *      <li>@ref sec_toplevel_fonts "Fonts"</li>
- *      <li>@ref sec_toplevel_data "Data"</li>
- *      <li>@ref sec_toplevel_color_classes "Color Classes"</li>
- *      <li>@ref sec_toplevel_styles "Styles"</li>
- *    </ul>
- *    <li>@ref sec_collections "Collections"</li>
- *    <ul>
- *      <li>@ref sec_collections_sounds "Sounds"</li>
- *      <ul>
- *        <li>@ref sec_collections_sounds_sample "Sample"</li>
- *      </ul>
- *      <li>@ref sec_collections_group "Group"</li>
- *      <ul>
- *        <li>@ref sec_collections_group_script "Script"</li>
- *        <li>@ref sec_collections_group_limits "Limits"</li>
- *        <li>@ref sec_toplevel_data "Data"</li>
- *        <li>@ref sec_collections_group_parts "Parts"</li>
- *        <ul>
- *          <li>@ref sec_collections_group_parts_part "Part"</li>
- *          <ul>
- *            <li>@ref sec_collections_group_parts_dragable "Dragable"</li>
- *            <li>@ref sec_collections_group_parts_items "Items"</li>
- *            <li>@ref sec_collections_group_parts_description "Description"</li>
- *            <ul>
- *              <li>@ref sec_collections_group_parts_description_relatives "Relatives (rel1/rel2)"</li>
- *              <li>@ref sec_collections_group_parts_description_image "Image"</li>
- *              <ul>
- *                <li>@ref sec_collections_group_parts_description_image_fill "Fill"</li>
- *                <ul>
- *                  <li>@ref sec_collections_group_parts_description_image_fill_origin "Origin"</li>
- *                  <li>@ref sec_collections_group_parts_description_image_fill_size "Size"</li>
- *                </ul>
- *              </ul>
- *              <li>@ref sec_collections_group_parts_description_text "Text"</li>
- *              <li>@ref sec_collections_group_parts_description_box "Box"</li>
- *              <ul>
- *                <li>@ref sec_collections_group_parts_items "Items"</li>
- *              </ul>
- *              <li>@ref sec_collections_group_parts_description_table "Table"</li>
- *              <li>@ref sec_collections_group_parts_description_physics "Physics"</li>
- *              <ul>
- *                  <li>@ref sec_collections_group_parts_description_physics_movement_freedom "Movement Freedom"</li>
- *                  <li>@ref sec_collections_group_parts_description_physics_faces "Faces"</li>
- *              </ul>
- *              <li>@ref sec_collections_group_parts_description_map "Map (3d/transformations)"</li>
- *              <ul>
- *                <li>@ref sec_collections_group_parts_description_map_rotation "Rotation"</li>
- *              </ul>
- *              <li>@ref sec_collections_group_parts_description_perspective "Perspective"</li>
- *              <li>@ref sec_collections_group_parts_descriptions_params "Params"</li>
- *            </ul>
- *          </ul>
- *        </ul>
- *        <li>@ref sec_collections_group_programs "Programs"</li>
- *        <ul>
- *          <li>@ref sec_collections_group_script "Script"</li>
- *        </ul>
- *        <li>@ref sec_collections_group_physics "Physics"</li>
- *        <ul>
- *          <li>@ref sec_collections_group_physics_world "World"</li>
- *        </ul>
- *      </ul>
- *    </ul>
- * </ul>
- *
- * @author Andres Blanc (dresb) andresblanc@gmail.com
- *
- * <table class="edcref" border="0">
- */
-
-static Edje_Part_Collection_Directory_Entry *current_de = NULL;
-static Edje_Part *current_part = NULL;
-static Edje_Pack_Element *current_item = NULL;
-static Edje_Part_Description_Common *current_desc = NULL;
-static Edje_Part_Description_Common *parent_desc = NULL;
-static Edje_Program *current_program = NULL;
-
-struct _Edje_Cc_Handlers_Hierarchy_Info
-{  /* Struct that keeps globals value to impl hierarchy */
-   Edje_Part_Collection_Directory_Entry *current_de;
-   Edje_Part *current_part;
-   Edje_Pack_Element *current_item;
-   Edje_Part_Description_Common *current_desc;
-   Edje_Part_Description_Common *parent_desc;
-   Edje_Program *current_program;
-   Edje_Part *ep;
-};
-typedef struct _Edje_Cc_Handlers_Hierarchy_Info Edje_Cc_Handlers_Hierarchy_Info;
-
-static Eina_Array *part_hierarchy = NULL; /* stack parts,support nested parts */
-static void edje_cc_handlers_hierarchy_set(Edje_Part *src);
-static Edje_Part *edje_cc_handlers_hierarchy_parent_get(void);
-static void edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp);
-static void edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new);
-static void edje_cc_handlers_hierarchy_pop(void);
-
-static void st_externals_external(void);
-
-static void st_images_image(void);
-static void ob_images_set(void);
-static void st_images_set_name(void);
-static void ob_images_set_image(void);
-static void st_images_set_image_image(void);
-static void st_images_set_image_size(void);
-
-static void st_fonts_font(void);
-
-static void st_data_item(void);
-static void st_data_file(void);
-
-static void ob_styles_style(void);
-static void st_styles_style_name(void);
-static void st_styles_style_base(void);
-static void st_styles_style_tag(void);
-
-static void ob_color_class(void);
-static void st_color_class_name(void);
-static void st_color_class_color(void);
-static void st_color_class_color2(void);
-static void st_color_class_color3(void);
-
-static void ob_collections(void);
-
-static void ob_collections_group(void);
-static void st_collections_group_name(void);
-static void st_collections_group_inherit(void);
-static void st_collections_group_script_only(void);
-static void st_collections_group_alias(void);
-static void st_collections_group_min(void);
-static void st_collections_group_max(void);
-static void st_collections_group_broadcast_signal(void);
-static void st_collections_group_data_item(void);
-static void st_collections_group_orientation(void);
-
-static void st_collections_group_limits_vertical(void);
-static void st_collections_group_limits_horizontal(void);
-
-static void ob_collections_group_script(void);
-static void ob_collections_group_lua_script(void);
-
-static void st_collections_group_parts_alias(void);
-
-static Edje_Part *edje_cc_handlers_part_make(void);
-static void ob_collections_group_parts_part(void);
-static void st_collections_group_parts_part_name(void);
-static void st_collections_group_parts_part_type(void);
-#ifdef HAVE_EPHYSICS
-static void st_collections_group_parts_part_physics_body(void);
-#endif
-static void st_collections_group_parts_part_insert_before(void);
-static void st_collections_group_parts_part_insert_after(void);
-static void st_collections_group_parts_part_effect(void);
-static void st_collections_group_parts_part_mouse_events(void);
-static void st_collections_group_parts_part_repeat_events(void);
-static void st_collections_group_parts_part_ignore_flags(void);
-static void st_collections_group_parts_part_scale(void);
-static void st_collections_group_parts_part_pointer_mode(void);
-static void st_collections_group_parts_part_precise_is_inside(void);
-static void st_collections_group_parts_part_use_alternate_font_metrics(void);
-static void st_collections_group_parts_part_clip_to_id(void);
-static void st_collections_group_parts_part_source(void);
-static void st_collections_group_parts_part_source2(void);
-static void st_collections_group_parts_part_source3(void);
-static void st_collections_group_parts_part_source4(void);
-static void st_collections_group_parts_part_source5(void);
-static void st_collections_group_parts_part_source6(void);
-static void st_collections_group_parts_part_entry_mode(void);
-static void st_collections_group_parts_part_select_mode(void);
-static void st_collections_group_parts_part_cursor_mode(void);
-static void st_collections_group_parts_part_multiline(void);
-static void st_collections_group_parts_part_access(void);
-static void st_collections_group_parts_part_dragable_x(void);
-static void st_collections_group_parts_part_dragable_y(void);
-static void st_collections_group_parts_part_dragable_confine(void);
-static void st_collections_group_parts_part_dragable_events(void);
-
-/* box and table items share these */
-static void ob_collections_group_parts_part_box_items_item(void);
-static void st_collections_group_parts_part_box_items_item_type(void);
-static void st_collections_group_parts_part_box_items_item_name(void);
-static void st_collections_group_parts_part_box_items_item_source(void);
-static void st_collections_group_parts_part_box_items_item_min(void);
-static void st_collections_group_parts_part_box_items_item_prefer(void);
-static void st_collections_group_parts_part_box_items_item_max(void);
-static void st_collections_group_parts_part_box_items_item_padding(void);
-static void st_collections_group_parts_part_box_items_item_align(void);
-static void st_collections_group_parts_part_box_items_item_weight(void);
-static void st_collections_group_parts_part_box_items_item_aspect(void);
-static void st_collections_group_parts_part_box_items_item_aspect_mode(void);
-static void st_collections_group_parts_part_box_items_item_options(void);
-/* but these are only for table */
-static void st_collections_group_parts_part_table_items_item_position(void);
-static void st_collections_group_parts_part_table_items_item_span(void);
-
-static void ob_collections_group_parts_part_description(void);
-static void st_collections_group_parts_part_description_inherit(void);
-static void st_collections_group_parts_part_description_source(void);
-static void st_collections_group_parts_part_description_state(void);
-static void st_collections_group_parts_part_description_visible(void);
-static void st_collections_group_parts_part_description_limit(void);
-static void st_collections_group_parts_part_description_align(void);
-static void st_collections_group_parts_part_description_fixed(void);
-static void st_collections_group_parts_part_description_min(void);
-static void st_collections_group_parts_part_description_minmul(void);
-static void st_collections_group_parts_part_description_max(void);
-static void st_collections_group_parts_part_description_step(void);
-static void st_collections_group_parts_part_description_aspect(void);
-static void st_collections_group_parts_part_description_aspect_preference(void);
-static void st_collections_group_parts_part_description_rel1_relative(void);
-static void st_collections_group_parts_part_description_rel1_offset(void);
-static void st_collections_group_parts_part_description_rel1_to_set(const char *name);
-static void st_collections_group_parts_part_description_rel1_to(void);
-static void st_collections_group_parts_part_description_rel1_to_x(void);
-static void st_collections_group_parts_part_description_rel1_to_y(void);
-static void st_collections_group_parts_part_description_rel2_relative(void);
-static void st_collections_group_parts_part_description_rel2_offset(void);
-static void st_collections_group_parts_part_description_rel2_to_set(const char *name);
-static void st_collections_group_parts_part_description_rel2_to(void);
-static void st_collections_group_parts_part_description_rel2_to_x(void);
-static void st_collections_group_parts_part_description_rel2_to_y(void);
-static void st_collections_group_parts_part_description_image_normal(void);
-static void st_collections_group_parts_part_description_image_tween(void);
-static void st_collections_group_parts_part_description_image_border(void);
-static void st_collections_group_parts_part_description_image_middle(void);
-static void st_collections_group_parts_part_description_image_border_scale(void);
-static void st_collections_group_parts_part_description_image_border_scale_by(void);
-static void st_collections_group_parts_part_description_image_scale_hint(void);
-static void st_collections_group_parts_part_description_fill_smooth(void);
-static void st_collections_group_parts_part_description_fill_origin_relative(void);
-static void st_collections_group_parts_part_description_fill_origin_offset(void);
-static void st_collections_group_parts_part_description_fill_size_relative(void);
-static void st_collections_group_parts_part_description_fill_size_offset(void);
-static void st_collections_group_parts_part_description_fill_spread(void);
-static void st_collections_group_parts_part_description_fill_type(void);
-static void st_collections_group_parts_part_description_color_class(void);
-static void st_collections_group_parts_part_description_color(void);
-static void st_collections_group_parts_part_description_color2(void);
-static void st_collections_group_parts_part_description_color3(void);
-static void st_collections_group_parts_part_description_text_text(void);
-static void st_collections_group_parts_part_description_text_text_class(void);
-static void st_collections_group_parts_part_description_text_font(void);
-static void st_collections_group_parts_part_description_text_style(void);
-static void st_collections_group_parts_part_description_text_repch(void);
-static void st_collections_group_parts_part_description_text_size(void);
-static void st_collections_group_parts_part_description_text_size_range(void);
-static void st_collections_group_parts_part_description_text_fit(void);
-static void st_collections_group_parts_part_description_text_min(void);
-static void st_collections_group_parts_part_description_text_max(void);
-static void st_collections_group_parts_part_description_text_align(void);
-static void st_collections_group_parts_part_description_text_source(void);
-static void st_collections_group_parts_part_description_text_text_source(void);
-static void st_collections_group_parts_part_description_text_elipsis(void);
-static void st_collections_group_parts_part_description_box_layout(void);
-static void st_collections_group_parts_part_description_box_align(void);
-static void st_collections_group_parts_part_description_box_padding(void);
-static void st_collections_group_parts_part_description_box_min(void);
-static void st_collections_group_parts_part_description_table_homogeneous(void);
-static void st_collections_group_parts_part_description_table_align(void);
-static void st_collections_group_parts_part_description_table_padding(void);
-static void st_collections_group_parts_part_description_table_min(void);
-#ifdef HAVE_EPHYSICS
-static void st_collections_group_parts_part_description_physics_mass(void);
-static void st_collections_group_parts_part_description_physics_restitution(void);
-static void st_collections_group_parts_part_description_physics_friction(void);
-static void st_collections_group_parts_part_description_physics_damping(void);
-static void st_collections_group_parts_part_description_physics_sleep(void);
-static void st_collections_group_parts_part_description_physics_material(void);
-static void st_collections_group_parts_part_description_physics_density(void);
-static void st_collections_group_parts_part_description_physics_hardness(void);
-static void st_collections_group_parts_part_description_physics_ignore_part_pos(void);
-static void st_collections_group_parts_part_description_physics_light_on(void);
-static void st_collections_group_parts_part_description_physics_z(void);
-static void st_collections_group_parts_part_description_physics_depth(void);
-static void st_collections_group_parts_part_description_physics_movement_freedom_linear(void);
-static void st_collections_group_parts_part_description_physics_movement_freedom_angular(void);
-static void st_collections_group_parts_part_description_physics_backface_cull(void);
-static void st_collections_group_parts_part_description_physics_face(void);
-static void st_collections_group_parts_part_description_physics_face_type(void);
-static void st_collections_group_parts_part_description_physics_face_source(void);
-#endif
-static void st_collections_group_parts_part_description_map_perspective(void);
-static void st_collections_group_parts_part_description_map_light(void);
-static void st_collections_group_parts_part_description_map_rotation_center(void);
-static void st_collections_group_parts_part_description_map_rotation_x(void);
-static void st_collections_group_parts_part_description_map_rotation_y(void);
-static void st_collections_group_parts_part_description_map_rotation_z(void);
-static void st_collections_group_parts_part_description_map_on(void);
-static void st_collections_group_parts_part_description_map_smooth(void);
-static void st_collections_group_parts_part_description_map_alpha(void);
-static void st_collections_group_parts_part_description_map_backface_cull(void);
-static void st_collections_group_parts_part_description_map_perspective_on(void);
-static void st_collections_group_parts_part_description_perspective_zplane(void);
-static void st_collections_group_parts_part_description_perspective_focal(void);
-static void st_collections_group_parts_part_api(void);
-
-/* external part parameters */
-static void st_collections_group_parts_part_description_params_int(void);
-static void ob_collections_group_programs_program(void);
-static void st_collections_group_parts_part_description_params_double(void);
-
-static void st_collections_group_programs_program_name(void);
-static void st_collections_group_parts_part_description_params_string(void);
-static void st_collections_group_parts_part_description_params_bool(void);
-static void st_collections_group_parts_part_description_params_choice(void);
-static void st_collections_group_programs_program_signal(void);
-static void st_collections_group_programs_program_source(void);
-static void st_collections_group_programs_program_filter(void);
-static void st_collections_group_programs_program_in(void);
-static void st_collections_group_programs_program_action(void);
-static void st_collections_group_programs_program_transition(void);
-static void st_collections_group_programs_program_target(void);
-static void st_collections_group_programs_program_after(void);
-static void st_collections_group_programs_program_api(void);
-
-static void ob_collections_group_programs_program_script(void);
-static void st_collections_group_sound_sample_name(void);
-static void st_collections_group_sound_sample_source(void);
-static void st_collections_group_sound_tone(void);
-
-#ifdef HAVE_EPHYSICS
-static void st_collections_group_physics_world_gravity(void);
-static void st_collections_group_physics_world_rate(void);
-static void st_collections_group_physics_world_z(void);
-static void st_collections_group_physics_world_depth(void);
-#endif
-
-/*****/
-
-New_Statement_Handler statement_handlers[] =
-{
-     {"externals.external", st_externals_external},
-     {"images.image", st_images_image},
-     {"images.set.name", st_images_set_name},
-     {"images.set.image.image", st_images_set_image_image},
-     {"images.set.image.size", st_images_set_image_size},
-     {"fonts.font", st_fonts_font},
-     {"data.item", st_data_item},
-     {"data.file", st_data_file},
-     {"styles.style.name", st_styles_style_name},
-     {"styles.style.base", st_styles_style_base},
-     {"styles.style.tag", st_styles_style_tag},
-     {"color_classes.color_class.name", st_color_class_name},
-     {"color_classes.color_class.color", st_color_class_color},
-     {"color_classes.color_class.color2", st_color_class_color2},
-     {"color_classes.color_class.color3", st_color_class_color3},
-     {"collections.externals.external", st_externals_external}, /* dup */
-     {"collections.image", st_images_image}, /* dup */
-     {"collections.set.name", st_images_set_name}, /* dup */
-     {"collections.set.image.image", st_images_set_image_image}, /* dup */
-     {"collections.set.image.size", st_images_set_image_size}, /* dup */
-     {"collections.images.image", st_images_image}, /* dup */
-     {"collections.images.set.name", st_images_set_name}, /* dup */
-     {"collections.images.set.image.image", st_images_set_image_image}, /* dup */
-     {"collections.images.set.image.size", st_images_set_image_size}, /* dup */
-     {"collections.font", st_fonts_font}, /* dup */
-     {"collections.fonts.font", st_fonts_font}, /* dup */
-     {"collections.styles.style.name", st_styles_style_name}, /* dup */
-     {"collections.styles.style.base", st_styles_style_base}, /* dup */
-     {"collections.styles.style.tag", st_styles_style_tag}, /* dup */
-     {"collections.color_classes.color_class.name", st_color_class_name}, /* dup */
-     {"collections.color_classes.color_class.color", st_color_class_color}, /* dup */
-     {"collections.color_classes.color_class.color2", st_color_class_color2}, /* dup */
-     {"collections.color_classes.color_class.color3", st_color_class_color3}, /* dup */
-
-     {"collections.sounds.sample.name", st_collections_group_sound_sample_name},
-     {"collections.sounds.sample.source", st_collections_group_sound_sample_source},
-     {"collections.group.sounds.sample.name", st_collections_group_sound_sample_name}, /* dup */
-     {"collections.group.sounds.sample.source", st_collections_group_sound_sample_source}, /* dup */
-     {"collections.sounds.tone", st_collections_group_sound_tone},
-     {"collections.group.sounds.tone", st_collections_group_sound_tone}, /* dup */
-     {"collections.group.name", st_collections_group_name},
-     {"collections.group.inherit", st_collections_group_inherit},
-     {"collections.group.script_only", st_collections_group_script_only},
-     {"collections.group.lua_script_only", st_collections_group_script_only},
-     {"collections.group.alias", st_collections_group_alias},
-     {"collections.group.min", st_collections_group_min},
-     {"collections.group.max", st_collections_group_max},
-     {"collections.group.broadcast_signal", st_collections_group_broadcast_signal},
-     {"collections.group.orientation", st_collections_group_orientation},
-     {"collections.group.data.item", st_collections_group_data_item},
-     {"collections.group.limits.horizontal", st_collections_group_limits_horizontal},
-     {"collections.group.limits.vertical", st_collections_group_limits_vertical},
-     {"collections.group.externals.external", st_externals_external}, /* dup */
-     {"collections.group.image", st_images_image}, /* dup */
-     {"collections.group.set.name", st_images_set_name},
-     {"collections.group.set.image.image", st_images_set_image_image},
-     {"collections.group.set.image.size", st_images_set_image_size},
-     {"collections.group.images.image", st_images_image}, /* dup */
-     {"collections.group.images.set.name", st_images_set_name},
-     {"collections.group.images.set.image.image", st_images_set_image_image},
-     {"collections.group.images.set.image.size", st_images_set_image_size},
-     {"collections.group.font", st_fonts_font}, /* dup */
-     {"collections.group.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.styles.style.name", st_styles_style_name}, /* dup */
-     {"collections.group.styles.style.base", st_styles_style_base}, /* dup */
-     {"collections.group.styles.style.tag", st_styles_style_tag}, /* dup */
-     {"collections.group.color_classes.color_class.name", st_color_class_name}, /* dup */
-     {"collections.group.color_classes.color_class.color", st_color_class_color}, /* dup */
-     {"collections.group.color_classes.color_class.color2", st_color_class_color2}, /* dup */
-     {"collections.group.color_classes.color_class.color3", st_color_class_color3}, /* dup */
-     {"collections.group.parts.alias", st_collections_group_parts_alias },
-     {"collections.group.parts.image", st_images_image}, /* dup */
-     {"collections.group.parts.set.name", st_images_set_name},
-     {"collections.group.parts.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.images.set.name", st_images_set_name},
-     {"collections.group.parts.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.styles.style.name", st_styles_style_name}, /* dup */
-     {"collections.group.parts.styles.style.base", st_styles_style_base}, /* dup */
-     {"collections.group.parts.styles.style.tag", st_styles_style_tag}, /* dup */
-     {"collections.group.parts.color_classes.color_class.name", st_color_class_name}, /* dup */
-     {"collections.group.parts.color_classes.color_class.color", st_color_class_color}, /* dup */
-     {"collections.group.parts.color_classes.color_class.color2", st_color_class_color2}, /* dup */
-     {"collections.group.parts.color_classes.color_class.color3", st_color_class_color3}, /* dup */
-     {"collections.group.parts.part.name", st_collections_group_parts_part_name},
-     {"collections.group.parts.part.api", st_collections_group_parts_part_api},
-     {"collections.group.parts.part.type", st_collections_group_parts_part_type},
-#ifdef HAVE_EPHYSICS
-     {"collections.group.parts.part.physics_body", st_collections_group_parts_part_physics_body},
-#endif
-     {"collections.group.parts.part.insert_before", st_collections_group_parts_part_insert_before},
-     {"collections.group.parts.part.insert_after", st_collections_group_parts_part_insert_after},
-     {"collections.group.parts.part.effect", st_collections_group_parts_part_effect},
-     {"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events},
-     {"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events},
-     {"collections.group.parts.part.ignore_flags", st_collections_group_parts_part_ignore_flags},
-     {"collections.group.parts.part.scale", st_collections_group_parts_part_scale},
-     {"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode},
-     {"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside},
-     {"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics},
-     {"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id},
-     {"collections.group.parts.part.source", st_collections_group_parts_part_source},
-     {"collections.group.parts.part.source2", st_collections_group_parts_part_source2},
-     {"collections.group.parts.part.source3", st_collections_group_parts_part_source3},
-     {"collections.group.parts.part.source4", st_collections_group_parts_part_source4},
-     {"collections.group.parts.part.source5", st_collections_group_parts_part_source5},
-     {"collections.group.parts.part.source6", st_collections_group_parts_part_source6},
-     {"collections.group.parts.part.dragable.x", st_collections_group_parts_part_dragable_x},
-     {"collections.group.parts.part.dragable.y", st_collections_group_parts_part_dragable_y},
-     {"collections.group.parts.part.dragable.confine", st_collections_group_parts_part_dragable_confine},
-     {"collections.group.parts.part.dragable.events", st_collections_group_parts_part_dragable_events},
-     {"collections.group.parts.part.entry_mode", st_collections_group_parts_part_entry_mode},
-     {"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode},
-     {"collections.group.parts.part.cursor_mode", st_collections_group_parts_part_cursor_mode},
-     {"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline},
-     {"collections.group.parts.part.access", st_collections_group_parts_part_access},
-     {"collections.group.parts.part.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.set.name", st_images_set_name},
-     {"collections.group.parts.part.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.images.set.name", st_images_set_name},
-     {"collections.group.parts.part.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.styles.style.name", st_styles_style_name}, /* dup */
-     {"collections.group.parts.part.styles.style.base", st_styles_style_base}, /* dup */
-     {"collections.group.parts.part.styles.style.tag", st_styles_style_tag}, /* dup */
-     {"collections.group.parts.part.color_classes.color_class.name", st_color_class_name}, /* dup */
-     {"collections.group.parts.part.color_classes.color_class.color", st_color_class_color}, /* dup */
-     {"collections.group.parts.part.color_classes.color_class.color2", st_color_class_color2}, /* dup */
-     {"collections.group.parts.part.color_classes.color_class.color3", st_color_class_color3}, /* dup */
-     {"collections.group.parts.part.box.items.item.type", st_collections_group_parts_part_box_items_item_type},
-     {"collections.group.parts.part.box.items.item.name", st_collections_group_parts_part_box_items_item_name},
-     {"collections.group.parts.part.box.items.item.source", st_collections_group_parts_part_box_items_item_source},
-     {"collections.group.parts.part.box.items.item.min", st_collections_group_parts_part_box_items_item_min},
-     {"collections.group.parts.part.box.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer},
-     {"collections.group.parts.part.box.items.item.max", st_collections_group_parts_part_box_items_item_max},
-     {"collections.group.parts.part.box.items.item.padding", st_collections_group_parts_part_box_items_item_padding},
-     {"collections.group.parts.part.box.items.item.align", st_collections_group_parts_part_box_items_item_align},
-     {"collections.group.parts.part.box.items.item.weight", st_collections_group_parts_part_box_items_item_weight},
-     {"collections.group.parts.part.box.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect},
-     {"collections.group.parts.part.box.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode},
-     {"collections.group.parts.part.box.items.item.options", st_collections_group_parts_part_box_items_item_options},
-     {"collections.group.parts.part.table.items.item.type", st_collections_group_parts_part_box_items_item_type}, /* dup */
-     {"collections.group.parts.part.table.items.item.name", st_collections_group_parts_part_box_items_item_name}, /* dup */
-     {"collections.group.parts.part.table.items.item.source", st_collections_group_parts_part_box_items_item_source}, /* dup */
-     {"collections.group.parts.part.table.items.item.min", st_collections_group_parts_part_box_items_item_min}, /* dup */
-     {"collections.group.parts.part.table.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, /* dup */
-     {"collections.group.parts.part.table.items.item.max", st_collections_group_parts_part_box_items_item_max}, /* dup */
-     {"collections.group.parts.part.table.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, /* dup */
-     {"collections.group.parts.part.table.items.item.align", st_collections_group_parts_part_box_items_item_align}, /* dup */
-     {"collections.group.parts.part.table.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, /* dup */
-     {"collections.group.parts.part.table.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, /* dup */
-     {"collections.group.parts.part.table.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, /* dup */
-     {"collections.group.parts.part.table.items.item.options", st_collections_group_parts_part_box_items_item_options}, /* dup */
-     {"collections.group.parts.part.table.items.item.position", st_collections_group_parts_part_table_items_item_position},
-     {"collections.group.parts.part.table.items.item.span", st_collections_group_parts_part_table_items_item_span},
-     {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit},
-     {"collections.group.parts.part.description.source", st_collections_group_parts_part_description_source},
-     {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state},
-     {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible},
-     {"collections.group.parts.part.description.limit", st_collections_group_parts_part_description_limit},
-     {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align},
-     {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed},
-     {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min},
-     {"collections.group.parts.part.description.minmul", st_collections_group_parts_part_description_minmul},
-     {"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max},
-     {"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step},
-     {"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect},
-     {"collections.group.parts.part.description.aspect_preference", st_collections_group_parts_part_description_aspect_preference},
-     {"collections.group.parts.part.description.rel1.relative", st_collections_group_parts_part_description_rel1_relative},
-     {"collections.group.parts.part.description.rel1.offset", st_collections_group_parts_part_description_rel1_offset},
-     {"collections.group.parts.part.description.rel1.to", st_collections_group_parts_part_description_rel1_to},
-     {"collections.group.parts.part.description.rel1.to_x", st_collections_group_parts_part_description_rel1_to_x},
-     {"collections.group.parts.part.description.rel1.to_y", st_collections_group_parts_part_description_rel1_to_y},
-     {"collections.group.parts.part.description.rel2.relative", st_collections_group_parts_part_description_rel2_relative},
-     {"collections.group.parts.part.description.rel2.offset", st_collections_group_parts_part_description_rel2_offset},
-     {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to},
-     {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x},
-     {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y},
-     {"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal},
-     {"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween},
-     {"collections.group.parts.part.description.image.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.description.image.set.name", st_images_set_name},
-     {"collections.group.parts.part.description.image.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.description.image.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.description.image.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.description.image.images.set.name", st_images_set_name},
-     {"collections.group.parts.part.description.image.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.description.image.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border},
-     {"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle},
-     {"collections.group.parts.part.description.image.border_scale", st_collections_group_parts_part_description_image_border_scale},
-     {"collections.group.parts.part.description.image.border_scale_by", st_collections_group_parts_part_description_image_border_scale_by},
-     {"collections.group.parts.part.description.image.scale_hint", st_collections_group_parts_part_description_image_scale_hint},
-     {"collections.group.parts.part.description.fill.smooth", st_collections_group_parts_part_description_fill_smooth},
-     {"collections.group.parts.part.description.fill.origin.relative", st_collections_group_parts_part_description_fill_origin_relative},
-     {"collections.group.parts.part.description.fill.origin.offset", st_collections_group_parts_part_description_fill_origin_offset},
-     {"collections.group.parts.part.description.fill.size.relative", st_collections_group_parts_part_description_fill_size_relative},
-     {"collections.group.parts.part.description.fill.size.offset", st_collections_group_parts_part_description_fill_size_offset},
-     {"collections.group.parts.part.description.fill.spread", st_collections_group_parts_part_description_fill_spread},
-     {"collections.group.parts.part.description.fill.type", st_collections_group_parts_part_description_fill_type},
-     {"collections.group.parts.part.description.color_class", st_collections_group_parts_part_description_color_class},
-     {"collections.group.parts.part.description.color", st_collections_group_parts_part_description_color},
-     {"collections.group.parts.part.description.color2", st_collections_group_parts_part_description_color2},
-     {"collections.group.parts.part.description.color3", st_collections_group_parts_part_description_color3},
-     {"collections.group.parts.part.description.text.text", st_collections_group_parts_part_description_text_text},
-     {"collections.group.parts.part.description.text.text_class", st_collections_group_parts_part_description_text_text_class},
-     {"collections.group.parts.part.description.text.font", st_collections_group_parts_part_description_text_font},
-     {"collections.group.parts.part.description.text.style", st_collections_group_parts_part_description_text_style},
-     {"collections.group.parts.part.description.text.repch", st_collections_group_parts_part_description_text_repch},
-     {"collections.group.parts.part.description.text.size", st_collections_group_parts_part_description_text_size},
-     {"collections.group.parts.part.description.text.size_range", st_collections_group_parts_part_description_text_size_range},
-     {"collections.group.parts.part.description.text.fit", st_collections_group_parts_part_description_text_fit},
-     {"collections.group.parts.part.description.text.min", st_collections_group_parts_part_description_text_min},
-     {"collections.group.parts.part.description.text.max", st_collections_group_parts_part_description_text_max},
-     {"collections.group.parts.part.description.text.align", st_collections_group_parts_part_description_text_align},
-     {"collections.group.parts.part.description.text.source", st_collections_group_parts_part_description_text_source},
-     {"collections.group.parts.part.description.text.text_source", st_collections_group_parts_part_description_text_text_source},
-     {"collections.group.parts.part.description.text.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.text.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.text.elipsis", st_collections_group_parts_part_description_text_elipsis},
-     {"collections.group.parts.part.description.text.ellipsis", st_collections_group_parts_part_description_text_elipsis},
-     {"collections.group.parts.part.description.box.layout", st_collections_group_parts_part_description_box_layout},
-     {"collections.group.parts.part.description.box.align", st_collections_group_parts_part_description_box_align},
-     {"collections.group.parts.part.description.box.padding", st_collections_group_parts_part_description_box_padding},
-     {"collections.group.parts.part.description.box.min", st_collections_group_parts_part_description_box_min},
-     {"collections.group.parts.part.description.table.homogeneous", st_collections_group_parts_part_description_table_homogeneous},
-     {"collections.group.parts.part.description.table.align", st_collections_group_parts_part_description_table_align},
-     {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding},
-     {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min},
-#ifdef HAVE_EPHYSICS
-     {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass},
-     {"collections.group.parts.part.description.physics.restitution", st_collections_group_parts_part_description_physics_restitution},
-     {"collections.group.parts.part.description.physics.friction", st_collections_group_parts_part_description_physics_friction},
-     {"collections.group.parts.part.description.physics.damping", st_collections_group_parts_part_description_physics_damping},
-     {"collections.group.parts.part.description.physics.sleep", st_collections_group_parts_part_description_physics_sleep},
-     {"collections.group.parts.part.description.physics.material", st_collections_group_parts_part_description_physics_material},
-     {"collections.group.parts.part.description.physics.density", st_collections_group_parts_part_description_physics_density},
-     {"collections.group.parts.part.description.physics.hardness", st_collections_group_parts_part_description_physics_hardness},
-     {"collections.group.parts.part.description.physics.movement_freedom.linear", st_collections_group_parts_part_description_physics_movement_freedom_linear},
-     {"collections.group.parts.part.description.physics.movement_freedom.angular", st_collections_group_parts_part_description_physics_movement_freedom_angular},
-     {"collections.group.parts.part.description.physics.ignore_part_pos", st_collections_group_parts_part_description_physics_ignore_part_pos},
-     {"collections.group.parts.part.description.physics.light_on", st_collections_group_parts_part_description_physics_light_on},
-     {"collections.group.parts.part.description.physics.z", st_collections_group_parts_part_description_physics_z},
-     {"collections.group.parts.part.description.physics.depth", st_collections_group_parts_part_description_physics_depth},
-     {"collections.group.parts.part.description.physics.backface_cull", st_collections_group_parts_part_description_physics_backface_cull},
-     {"collections.group.parts.part.description.physics.faces.face.type", st_collections_group_parts_part_description_physics_face_type},
-     {"collections.group.parts.part.description.physics.faces.face.source", st_collections_group_parts_part_description_physics_face_source},
-#endif
-     {"collections.group.parts.part.description.map.perspective", st_collections_group_parts_part_description_map_perspective},
-     {"collections.group.parts.part.description.map.light", st_collections_group_parts_part_description_map_light},
-     {"collections.group.parts.part.description.map.rotation.center", st_collections_group_parts_part_description_map_rotation_center},
-     {"collections.group.parts.part.description.map.rotation.x", st_collections_group_parts_part_description_map_rotation_x},
-     {"collections.group.parts.part.description.map.rotation.y", st_collections_group_parts_part_description_map_rotation_y},
-     {"collections.group.parts.part.description.map.rotation.z", st_collections_group_parts_part_description_map_rotation_z},
-     {"collections.group.parts.part.description.map.on", st_collections_group_parts_part_description_map_on},
-     {"collections.group.parts.part.description.map.smooth", st_collections_group_parts_part_description_map_smooth},
-     {"collections.group.parts.part.description.map.alpha", st_collections_group_parts_part_description_map_alpha},
-     {"collections.group.parts.part.description.map.backface_cull", st_collections_group_parts_part_description_map_backface_cull},
-     {"collections.group.parts.part.description.map.perspective_on", st_collections_group_parts_part_description_map_perspective_on},
-     {"collections.group.parts.part.description.perspective.zplane", st_collections_group_parts_part_description_perspective_zplane},
-     {"collections.group.parts.part.description.perspective.focal", st_collections_group_parts_part_description_perspective_focal},
-     {"collections.group.parts.part.description.params.int", st_collections_group_parts_part_description_params_int},
-     {"collections.group.parts.part.description.params.double", st_collections_group_parts_part_description_params_double},
-     {"collections.group.parts.part.description.params.string", st_collections_group_parts_part_description_params_string},
-     {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool},
-     {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice},
-     {"collections.group.parts.part.description.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.description.images.set.name", st_images_set_name},
-     {"collections.group.parts.part.description.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.description.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.description.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.styles.style.name", st_styles_style_name}, /* dup */
-     {"collections.group.parts.part.description.styles.style.base", st_styles_style_base}, /* dup */
-     {"collections.group.parts.part.description.styles.style.tag", st_styles_style_tag}, /* dup */
-     {"collections.group.parts.part.description.color_classes.color_class.name", st_color_class_name}, /* dup */
-     {"collections.group.parts.part.description.color_classes.color_class.color", st_color_class_color}, /* dup */
-     {"collections.group.parts.part.description.color_classes.color_class.color2", st_color_class_color2}, /* dup */
-     {"collections.group.parts.part.description.color_classes.color_class.color3", st_color_class_color3}, /* dup */
-     {"collections.group.parts.part.description.programs.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.description.programs.set.name", st_images_set_name},
-     {"collections.group.parts.part.description.programs.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.description.programs.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.description.programs.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.description.programs.images.set.name", st_images_set_name},
-     {"collections.group.parts.part.description.programs.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.description.programs.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.description.programs.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.programs.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.description.programs.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.part.description.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.part.description.programs.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.part.description.programs.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.part.description.programs.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.part.description.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.part.description.programs.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.part.description.programs.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.parts.part.description.programs.program.api", st_collections_group_programs_program_api}, /* dup */
-     {"collections.group.parts.part.description.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.part.description.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.part.description.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.part.description.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.part.description.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.part.description.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.part.description.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.part.description.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.parts.part.description.program.api", st_collections_group_programs_program_api}, /* dup */
-     {"collections.group.parts.part.programs.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.programs.set.name", st_images_set_name},
-     {"collections.group.parts.part.programs.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.programs.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.programs.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.part.programs.images.set.name", st_images_set_name},
-     {"collections.group.parts.part.programs.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.part.programs.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.part.programs.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.programs.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.part.programs.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.part.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.part.programs.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.part.programs.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.part.programs.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.part.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.part.programs.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.part.programs.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.parts.part.programs.program.api", st_collections_group_programs_program_api}, /* dup */
-     {"collections.group.parts.part.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.part.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.part.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.part.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.part.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.part.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.part.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.part.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.parts.part.program.api", st_collections_group_programs_program_api}, /* dup */
-     {"collections.group.parts.programs.image", st_images_image}, /* dup */
-     {"collections.group.parts.programs.set.name", st_images_set_name},
-     {"collections.group.parts.programs.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.programs.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.programs.images.image", st_images_image}, /* dup */
-     {"collections.group.parts.programs.images.set.name", st_images_set_name},
-     {"collections.group.parts.programs.images.set.image.image", st_images_set_image_image},
-     {"collections.group.parts.programs.images.set.image.size", st_images_set_image_size},
-     {"collections.group.parts.programs.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.programs.fonts.font", st_fonts_font}, /* dup */
-     {"collections.group.parts.programs.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.programs.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.programs.program.filter", st_collections_group_programs_program_filter}, /* dup */
-     {"collections.group.parts.programs.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.programs.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.programs.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.programs.program.after", st_collections_group_programs_program_after},
-     {"collections.group.parts.programs.program.api", st_collections_group_programs_program_api},
-     {"collections.group.parts.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.parts.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.parts.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.parts.program.filter", st_collections_group_programs_program_filter}, /* dup */
-     {"collections.group.parts.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.parts.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.parts.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.parts.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.parts.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.parts.program.api", st_collections_group_programs_program_api}, /* dup */
-#ifdef HAVE_EPHYSICS
-     {"collections.group.physics.world.gravity", st_collections_group_physics_world_gravity},
-     {"collections.group.physics.world.rate", st_collections_group_physics_world_rate},
-     {"collections.group.physics.world.z", st_collections_group_physics_world_z},
-     {"collections.group.physics.world.depth", st_collections_group_physics_world_depth},
-#endif
-     {"collections.group.program.name", st_collections_group_programs_program_name}, /* dup */
-     {"collections.group.program.signal", st_collections_group_programs_program_signal}, /* dup */
-     {"collections.group.program.source", st_collections_group_programs_program_source}, /* dup */
-     {"collections.group.program.filter", st_collections_group_programs_program_filter}, /* dup */
-     {"collections.group.program.in", st_collections_group_programs_program_in}, /* dup */
-     {"collections.group.program.action", st_collections_group_programs_program_action}, /* dup */
-     {"collections.group.program.transition", st_collections_group_programs_program_transition}, /* dup */
-     {"collections.group.program.target", st_collections_group_programs_program_target}, /* dup */
-     {"collections.group.program.after", st_collections_group_programs_program_after}, /* dup */
-     {"collections.group.program.api", st_collections_group_programs_program_api}, /* dup */
-     {"collections.group.programs.program.name", st_collections_group_programs_program_name},
-     {"collections.group.programs.program.signal", st_collections_group_programs_program_signal},
-     {"collections.group.programs.program.source", st_collections_group_programs_program_source},
-     {"collections.group.programs.program.filter", st_collections_group_programs_program_filter}, /* dup */
-     {"collections.group.programs.program.in", st_collections_group_programs_program_in},
-     {"collections.group.programs.program.action", st_collections_group_programs_program_action},
-     {"collections.group.programs.program.transition", st_collections_group_programs_program_transition},
-     {"collections.group.programs.program.target", st_collections_group_programs_program_target},
-     {"collections.group.programs.program.after", st_collections_group_programs_program_after},
-     {"collections.group.programs.program.api", st_collections_group_programs_program_api},
-     {"collections.group.programs.image", st_images_image}, /* dup */
-     {"collections.group.programs.set.name", st_images_set_name},
-     {"collections.group.programs.set.image.image", st_images_set_image_image},
-     {"collections.group.programs.set.image.size", st_images_set_image_size},
-     {"collections.group.programs.images.image", st_images_image}, /* dup */
-     {"collections.group.programs.images.set.name", st_images_set_name},
-     {"collections.group.programs.images.set.image.image", st_images_set_image_image},
-     {"collections.group.programs.images.set.image.size", st_images_set_image_size},
-     {"collections.group.programs.font", st_fonts_font}, /* dup */
-     {"collections.group.programs.fonts.font", st_fonts_font} /* dup */
-};
-
-New_Object_Handler object_handlers[] =
-{
-     {"externals", NULL},
-     {"images", NULL},
-     {"images.set", ob_images_set},
-     {"images.set.image", ob_images_set_image},
-     {"fonts", NULL},
-     {"data", NULL},
-     {"styles", NULL},
-     {"styles.style", ob_styles_style},
-     {"color_classes", NULL},
-     {"color_classes.color_class", ob_color_class},
-     {"spectra", NULL},
-     {"collections", ob_collections},
-     {"collections.externals", NULL}, /* dup */
-     {"collections.set", ob_images_set}, /* dup */
-     {"collections.set.image", ob_images_set_image}, /* dup */
-     {"collections.images", NULL}, /* dup */
-     {"collections.images.set", ob_images_set}, /* dup */
-     {"collections.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.fonts", NULL}, /* dup */
-     {"collections.styles", NULL}, /* dup */
-     {"collections.styles.style", ob_styles_style}, /* dup */
-     {"collections.color_classes", NULL}, /* dup */
-     {"collections.color_classes.color_class", ob_color_class}, /* dup */
-     {"collections.sounds", NULL},
-     {"collections.group.sounds", NULL}, /* dup */
-     {"collections.sounds.sample", NULL},
-     {"collections.group.sounds.sample", NULL}, /* dup */
-     {"collections.group", ob_collections_group},
-     {"collections.group.data", NULL},
-     {"collections.group.limits", NULL},
-     {"collections.group.script", ob_collections_group_script},
-     {"collections.group.lua_script", ob_collections_group_lua_script},
-     {"collections.group.externals", NULL}, /* dup */
-     {"collections.group.set", ob_images_set}, /* dup */
-     {"collections.group.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.images", NULL}, /* dup */
-     {"collections.group.images.set", ob_images_set}, /* dup */
-     {"collections.group.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.fonts", NULL}, /* dup */
-     {"collections.group.styles", NULL}, /* dup */
-     {"collections.group.styles.style", ob_styles_style}, /* dup */
-     {"collections.group.color_classes", NULL}, /* dup */
-     {"collections.group.color_classes.color_class", ob_color_class}, /* dup */
-     {"collections.group.parts", NULL},
-     {"collections.group.parts.set", ob_images_set}, /* dup */
-     {"collections.group.parts.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.images", NULL}, /* dup */
-     {"collections.group.parts.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.fonts", NULL}, /* dup */
-     {"collections.group.parts.styles", NULL}, /* dup */
-     {"collections.group.parts.styles.style", ob_styles_style}, /* dup */
-     {"collections.group.parts.color_classes", NULL}, /* dup */
-     {"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */
-     {"collections.group.parts.part", ob_collections_group_parts_part},
-     {"collections.group.parts.part.dragable", NULL},
-     {"collections.group.parts.part.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.images", NULL}, /* dup */
-     {"collections.group.parts.part.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.fonts", NULL}, /* dup */
-     {"collections.group.parts.part.styles", NULL}, /* dup */
-     {"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */
-     {"collections.group.parts.part.color_classes", NULL}, /* dup */
-     {"collections.group.parts.part.color_classes.color_class", ob_color_class}, /* dup */
-     {"collections.group.parts.part.box", NULL},
-     {"collections.group.parts.part.box.items", NULL},
-     {"collections.group.parts.part.box.items.item", ob_collections_group_parts_part_box_items_item},
-     {"collections.group.parts.part.table", NULL},
-     {"collections.group.parts.part.table.items", NULL},
-     {"collections.group.parts.part.table.items.item", ob_collections_group_parts_part_box_items_item}, /* dup */
-     {"collections.group.parts.part.description", ob_collections_group_parts_part_description},
-     {"collections.group.parts.part.description.rel1", NULL},
-     {"collections.group.parts.part.description.rel2", NULL},
-     {"collections.group.parts.part.description.image", NULL}, /* dup */
-     {"collections.group.parts.part.description.image.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.description.image.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.description.image.images", NULL}, /* dup */
-     {"collections.group.parts.part.description.image.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.description.image.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.description.fill", NULL},
-     {"collections.group.parts.part.description.fill.origin", NULL},
-     {"collections.group.parts.part.description.fill.size", NULL},
-     {"collections.group.parts.part.description.text", NULL},
-     {"collections.group.parts.part.description.text.fonts", NULL}, /* dup */
-     {"collections.group.parts.part.description.images", NULL}, /* dup */
-     {"collections.group.parts.part.description.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.description.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.description.fonts", NULL}, /* dup */
-     {"collections.group.parts.part.description.styles", NULL}, /* dup */
-     {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */
-     {"collections.group.parts.part.description.box", NULL},
-     {"collections.group.parts.part.description.table", NULL},
-#ifdef HAVE_EPHYSICS
-     {"collections.group.parts.part.description.physics", NULL},
-     {"collections.group.parts.part.description.physics.movement_freedom", NULL},
-     {"collections.group.parts.part.description.physics.faces", NULL},
-     {"collections.group.parts.part.description.physics.faces.face", st_collections_group_parts_part_description_physics_face},
-#endif
-     {"collections.group.parts.part.description.map", NULL},
-     {"collections.group.parts.part.description.map.rotation", NULL},
-     {"collections.group.parts.part.description.perspective", NULL},
-     {"collections.group.parts.part.description.params", NULL},
-     {"collections.group.parts.part.description.color_classes", NULL}, /* dup */
-     {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */
-     {"collections.group.parts.part.description.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.part.description.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.part.description.programs", NULL}, /* dup */
-     {"collections.group.parts.part.description.programs.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.description.programs.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.description.programs.images", NULL}, /* dup */
-     {"collections.group.parts.part.description.programs.images.set", ob_images_set},
-     {"collections.group.parts.part.description.programs.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.description.programs.fonts", NULL}, /* dup */
-     {"collections.group.parts.part.description.programs.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.part.description.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.part.description.script", ob_collections_group_script}, /* dup */
-     {"collections.group.parts.part.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.part.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.part.programs", NULL}, /* dup */
-     {"collections.group.parts.part.programs.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.programs.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.programs.images", NULL}, /* dup */
-     {"collections.group.parts.part.programs.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.part.programs.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.part.programs.fonts", NULL}, /* dup */
-     {"collections.group.parts.part.programs.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.part.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.part.script", ob_collections_group_script}, /* dup */
-     {"collections.group.parts.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.programs", NULL}, /* dup */
-     {"collections.group.parts.programs.set", ob_images_set}, /* dup */
-     {"collections.group.parts.programs.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.programs.images", NULL}, /* dup */
-     {"collections.group.parts.programs.images.set", ob_images_set}, /* dup */
-     {"collections.group.parts.programs.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.parts.programs.fonts", NULL}, /* dup */
-     {"collections.group.parts.programs.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.parts.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.parts.script", ob_collections_group_script}, /* dup */
-#ifdef HAVE_EPHYSICS
-     {"collections.group.physics", NULL},
-     {"collections.group.physics.world", NULL},
-#endif
-     {"collections.group.program", ob_collections_group_programs_program}, /* dup */
-     {"collections.group.program.script", ob_collections_group_programs_program_script}, /* dup */
-     {"collections.group.programs", NULL},
-     {"collections.group.programs.set", ob_images_set}, /* dup */
-     {"collections.group.programs.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.programs.images", NULL}, /* dup */
-     {"collections.group.programs.images.set", ob_images_set}, /* dup */
-     {"collections.group.programs.images.set.image", ob_images_set_image}, /* dup */
-     {"collections.group.programs.fonts", NULL}, /* dup */
-     {"collections.group.programs.program", ob_collections_group_programs_program},
-     {"collections.group.programs.program.script", ob_collections_group_programs_program_script},
-     {"collections.group.programs.script", ob_collections_group_script} /* dup */
-};
-
-New_Nested_Handler nested_handlers[] = {
-     {"collections.group.parts", "part", NULL, edje_cc_handlers_hierarchy_pop }
-};
-
-/*****/
-
-int
-object_handler_num(void)
-{
-   return sizeof(object_handlers) / sizeof (New_Object_Handler);
-}
-
-int
-statement_handler_num(void)
-{
-   return sizeof(statement_handlers) / sizeof (New_Object_Handler);
-}
-
-int
-nested_handler_num(void)
-{
-   return sizeof(nested_handlers) / sizeof (New_Nested_Handler);
-}
-
-static void
-_edje_part_description_fill(Edje_Part_Description_Spec_Fill *fill)
-{
-   fill->smooth = 1;
-   fill->pos_rel_x = FROM_DOUBLE(0.0);
-   fill->pos_abs_x = 0;
-   fill->rel_x = FROM_DOUBLE(1.0);
-   fill->abs_x = 0;
-   fill->pos_rel_y = FROM_DOUBLE(0.0);
-   fill->pos_abs_y = 0;
-   fill->rel_y = FROM_DOUBLE(1.0);
-   fill->abs_y = 0;
-   fill->angle = 0;
-   fill->spread = 0;
-   fill->type = EDJE_FILL_TYPE_SCALE;
-}
-
-static void
-_edje_part_description_image_remove(Edje_Part_Description_Image *ed)
-{
-   unsigned int j;
-
-   if (!ed) return;
-
-   data_queue_image_remove(&(ed->image.id), &(ed->image.set));
-
-   for (j = 0; j < ed->image.tweens_count; ++j)
-     data_queue_image_remove(&(ed->image.tweens[j]->id),
-                             &(ed->image.tweens[j]->set));
-}
-
-void
-part_description_image_cleanup(Edje_Part *ep)
-{
-   Edje_Part_Description_Image *ed;
-   unsigned int j;
-
-   if (ep->type != EDJE_PART_TYPE_IMAGE)
-     return ;
-
-   ed = (Edje_Part_Description_Image*) ep->default_desc;
-   _edje_part_description_image_remove(ed);
-
-   for (j = 0; j < ep->other.desc_count; j++)
-     {
-        ed = (Edje_Part_Description_Image*) ep->other.desc[j];
-        _edje_part_description_image_remove(ed);
-     }
-}
-
-static Edje_Part_Description_Common *
-_edje_part_description_alloc(unsigned char type, const char *collection, const char *part)
-{
-   Edje_Part_Description_Common *result = NULL;
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_SPACER:
-      case EDJE_PART_TYPE_RECTANGLE:
-      case EDJE_PART_TYPE_SWALLOW:
-      case EDJE_PART_TYPE_GROUP:
-        result = mem_alloc(SZ(Edje_Part_Description_Common));
-        break;
-      case EDJE_PART_TYPE_TEXT:
-      case EDJE_PART_TYPE_TEXTBLOCK:
-       {
-          Edje_Part_Description_Text *ed;
-
-          ed = mem_alloc(SZ(Edje_Part_Description_Text));
-
-          ed->text.color3.r = 0;
-          ed->text.color3.g = 0;
-          ed->text.color3.b = 0;
-          ed->text.color3.a = 128;
-          ed->text.align.x = FROM_DOUBLE(0.5);
-          ed->text.align.y = FROM_DOUBLE(0.5);
-          ed->text.id_source = -1;
-          ed->text.id_text_source = -1;
-
-          result = &ed->common;
-          break;
-       }
-      case EDJE_PART_TYPE_IMAGE:
-       {
-          Edje_Part_Description_Image *ed;
-
-          ed = mem_alloc(SZ(Edje_Part_Description_Image));
-
-          ed->image.id = -1;
-
-           _edje_part_description_fill(&ed->image.fill);
-
-          result = &ed->common;
-          break;
-       }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = mem_alloc(SZ(Edje_Part_Description_Proxy));
-
-           ed->proxy.id = -1;
-
-           _edje_part_description_fill(&ed->proxy.fill);
-
-           result = &ed->common;
-           break;
-        }
-      case EDJE_PART_TYPE_BOX:
-       {
-          Edje_Part_Description_Box *ed;
-
-          ed = mem_alloc(SZ(Edje_Part_Description_Box));
-
-          ed->box.layout = NULL;
-          ed->box.alt_layout = NULL;
-          ed->box.align.x = FROM_DOUBLE(0.5);
-          ed->box.align.y = FROM_DOUBLE(0.5);
-          ed->box.padding.x = 0;
-          ed->box.padding.y = 0;
-
-          result = &ed->common;
-          break;
-       }
-      case EDJE_PART_TYPE_TABLE:
-       {
-          Edje_Part_Description_Table *ed;
-
-          ed = mem_alloc(SZ(Edje_Part_Description_Table));
-
-          ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE;
-          ed->table.align.x = FROM_DOUBLE(0.5);
-          ed->table.align.y = FROM_DOUBLE(0.5);
-          ed->table.padding.x = 0;
-          ed->table.padding.y = 0;
-
-          result = &ed->common;
-          break;
-       }
-      case EDJE_PART_TYPE_EXTERNAL:
-       {
-          Edje_Part_Description_External *ed;
-
-          ed = mem_alloc(SZ(Edje_Part_Description_External));
-
-          ed->external_params = NULL;
-
-          result = &ed->common;
-          break;
-       }
-     }
-
-   if (!result)
-     {
-        ERR("Unknown type %i of part %s in collection %s.",
-            type, part, collection);
-        exit(-1);
-     }
-
-#ifdef HAVE_EPHYSICS
-   result->physics.mass = FROM_DOUBLE(1.0);
-   result->physics.friction = FROM_DOUBLE(0.5);
-   result->physics.sleep.linear = FROM_DOUBLE(24);
-   result->physics.sleep.angular = FROM_DOUBLE(57.29);
-   result->physics.hardness = FROM_DOUBLE(1.0);
-   result->physics.ignore_part_pos = 1;
-   result->physics.mov_freedom.lin.x = 1;
-   result->physics.mov_freedom.lin.y = 1;
-   result->physics.mov_freedom.ang.z = 1;
-   result->physics.z = -15;
-   result->physics.depth = 30;
-#endif
-
-   return result;
-}
-
-static void
-_edje_program_check(const char *name, Edje_Program *me, Edje_Program **pgrms, unsigned int count)
-{
-   Edje_Part_Collection *pc;
-   unsigned int i;
-   Edje_Program_Parser *epp;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   for (i = 0; i < count; ++i)
-     if (pgrms[i]->name)
-       if (pgrms[i] != me && (!strcmp(name, pgrms[i]->name)))
-        {
-            epp = (Edje_Program_Parser *)pgrms[i];
-            if (!epp->can_override)
-              {
-                 ERR("parse error %s:%i. There is already a program of the name %s",
-                     file_in, line - 1, name);
-                 exit(-1);
-              }
-            else
-              {
-                 _edje_program_remove(pc, me);
-                 current_program = pgrms[i];
-                 epp->can_override = EINA_FALSE;
-                 return;
-              }
-        }
-}
-
-static void
-_edje_program_copy(Edje_Program *ep, Edje_Program *ep2)
-{
-   Edje_Part_Collection *pc;
-   Edje_Program_Target *et, *et2;
-   Edje_Program_After *pa, *pa2;
-   Edje_Program_Parser *epp;
-   Eina_List *l;
-   char *name;
-   char *copy;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   #define STRDUP(x) x ? strdup(x) : NULL
-   ep->name = STRDUP(ep2->name);
-
-   _edje_program_remove(pc, current_program);
-   ep->signal = STRDUP(ep2->signal);
-   ep->source = STRDUP(ep2->source);
-   _edje_program_insert(pc, current_program);
-
-   ep->filter.part = STRDUP(ep2->filter.part);
-   ep->filter.state = STRDUP(ep2->filter.state);
-   ep->in.from = ep2->in.from;
-   ep->in.range = ep2->in.range;
-   ep->action = ep2->action;
-   ep->state = STRDUP(ep2->state);
-   ep->state2 = STRDUP(ep2->state2);
-   ep->value = ep2->value;
-   ep->value2 = ep2->value2;
-   ep->tween.mode = ep2->tween.mode;
-   ep->tween.time = ep2->tween.time;
-   ep->tween.v1 = ep2->tween.v1;
-   ep->tween.v2 = ep2->tween.v2;
-   ep->sample_name = STRDUP(ep2->sample_name);
-   ep->tone_name = STRDUP(ep2->tone_name);
-   ep->duration = ep2->duration;
-   ep->speed = ep2->speed;
-
-   EINA_LIST_FOREACH(ep2->targets, l, et2)
-     {
-        name = (char*) (et2 + 1);
-        et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1);
-        ep->targets = eina_list_append(ep->targets, et);
-        copy = (char*) (et + 1);
-
-        memcpy(copy, name, strlen(name) + 1);
-
-        if (ep2->action == EDJE_ACTION_TYPE_STATE_SET)
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_ACTION_STOP)
-          data_queue_copied_program_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_SCRIPT)
-          data_queue_copied_program_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_SET)
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP)
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE)
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_FOCUS_SET)
-
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else if (ep2->action == EDJE_ACTION_TYPE_FOCUS_OBJECT)
-          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
-        else
-          {
-             ERR("parse error %s:%i. target may only be used after action",
-                 file_in, line - 1);
-             exit(-1);
-          }
-     }
-
-   EINA_LIST_FOREACH(ep2->after, l, pa2)
-     {
-        name = (char*) (pa2 + 1);
-        pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
-        ep->after = eina_list_append(ep->after, pa);
-        copy = (char*) (pa + 1);
-        memcpy(copy, name, strlen(name) + 1);
-        data_queue_copied_program_lookup(pc, &(pa2->id), &(pa->id));
-     }
-
-   ep->api.name = STRDUP(ep2->api.name);
-   ep->api.description = STRDUP(ep2->api.description);
-   data_queue_copied_part_lookup(pc, &(ep2->param.src), &(ep->param.src));
-   data_queue_copied_part_lookup(pc, &(ep2->param.dst), &(ep->param.dst));
-
-   epp = (Edje_Program_Parser *)ep;
-   epp->can_override = EINA_TRUE;
-
-   #undef STRDUP
-}
-
-/*****/
-
-/**
-   @edcsection{toplevel,Top-Level blocks}
- */
-
-/**
-   @edcsubsection{toplevel_externals,Externals}
- */
-
-/**
-    @page edcref
-
-    @block
-        externals
-    @context
-        externals {
-           external: "name";
-        }
-    @description
-        The "externals" block is used to list each external module file that will be used in others
-       programs.
-    @endblock
-
-    @property
-        external
-    @parameters
-        [external filename]
-    @effect
-        Used to add a file to the externals list.
-    @endproperty
- */
-static void
-st_externals_external(void)
-{
-   External *ex;
-
-   check_arg_count(1);
-
-   if (!edje_file->external_dir)
-     edje_file->external_dir = mem_alloc(SZ(Edje_External_Directory));
-
-   ex = mem_alloc(SZ(External));
-   ex->name = parse_str(0);
-     {
-       Eina_List *l;
-       External *lex;
-
-       EINA_LIST_FOREACH(externals, l, lex)
-         {
-            if (!strcmp(lex->name, ex->name))
-              {
-                 free(ex->name);
-                 free(ex);
-                 return;
-              }
-         }
-     }
-   externals = eina_list_append(externals, ex);
-
-   if (edje_file->external_dir)
-     {
-       edje_file->external_dir->entries_count++;
-       edje_file->external_dir->entries = realloc(edje_file->external_dir->entries,
-                                                  sizeof (Edje_External_Directory) * edje_file->external_dir->entries_count);
-       memset(edje_file->external_dir->entries + edje_file->external_dir->entries_count - 1,
-              0, sizeof (Edje_External_Directory));
-       if (!edje_file->external_dir->entries)
-         {
-            ERR("not enough memory");
-            exit(-1);
-         }
-
-       edje_file->external_dir->entries[edje_file->external_dir->entries_count - 1].entry = mem_strdup(ex->name);
-     }
-}
-
-/**
-   @edcsubsection{toplevel_images,Images}
- */
-
-/**
-    @page edcref
-
-    @block
-        images
-    @context
-        images {
-            image: "filename1.ext" COMP;
-            image: "filename2.ext" LOSSY 99;
-           set {
-              name: "image_name_used";
-               image {
-                  image: "filename3.ext" LOSSY 90;
-                  size: 201 201 500 500;
-               }
-               image {
-                  image: "filename4.ext" COMP;
-                  size: 51 51 200 200;
-               }
-               image {
-                  image: "filename5.ext" COMP;
-                  size: 11 11 50 50;
-               }
-               image {
-                  image: "filename6.ext" RAW;
-                  size: 0 0 10 10;
-               }
-            }
-            ..
-        }
-    @description
-        The "images" block is used to list each image file that will be used in
-        the theme along with its compression method (if any).
-        Besides the document's root, additional "images" blocks can be
-        included inside other blocks, normally "collections", "group" and
-        "part", easing maintenance of the file list when the theme is split
-        among multiple files.
-    @endblock
-
-    @property
-        image
-    @parameters
-        [image file] [compression method] (compression level)
-    @effect
-        Used to include each image file. The full path to the directory holding
-        the images can be defined later with edje_cc's "-id" option.
-        Compression methods:
-        @li RAW: Uncompressed.
-        @li COMP: Lossless compression.
-        @li LOSSY [0-100]: Lossy compression with quality from 0 to 100.
-        @li USER: Do not embed the file, refer to the external file instead.
-    @endproperty
- */
-static void
-st_images_image(void)
-{
-   Edje_Image_Directory_Entry *img;
-   const char *tmp;
-   unsigned int i;
-   int v;
-
-   check_min_arg_count(2);
-
-   if (!edje_file->image_dir)
-     edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
-
-   tmp = parse_str(0);
-
-   for (i = 0; i < edje_file->image_dir->entries_count; ++i)
-     if (!strcmp(edje_file->image_dir->entries[i].entry, tmp))
-       {
-         free((char*) tmp);
-         return;
-       }
-
-   edje_file->image_dir->entries_count++;
-   edje_file->image_dir->entries = realloc(edje_file->image_dir->entries,
-                                          sizeof (Edje_Image_Directory_Entry) * edje_file->image_dir->entries_count);
-   memset(edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1,
-         0, sizeof (Edje_Image_Directory_Entry));
-   if (!edje_file->image_dir->entries)
-     {
-        ERR("No enough memory.");
-        exit(-1);
-     }
-
-   img = edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1;
-
-   img->entry = tmp;
-   img->id = edje_file->image_dir->entries_count - 1;
-   v = parse_enum(1,
-                 "RAW", 0,
-                 "COMP", 1,
-                 "LOSSY", 2,
-                 "USER", 3,
-                 NULL);
-   if (v == 0)
-     {
-       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT;
-       img->source_param = 0;
-     }
-   else if (v == 1)
-     {
-       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT;
-       img->source_param = 1;
-     }
-   else if (v == 2)
-     {
-       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY;
-       img->source_param = 0;
-     }
-   else if (v == 3)
-     {
-       img->source_type = EDJE_IMAGE_SOURCE_TYPE_EXTERNAL;
-       img->source_param = 0;
-     }
-   if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY)
-       check_arg_count(2);
-   else
-     {
-       img->source_param = parse_int_range(2, 0, 100);
-       check_arg_count(3);
-     }
-}
-
-/**
-   @edcsubsection{toplevel_images_set,Set}
- */
-
-/**
-    @page edcref
-
-    @block
-        set
-    @context
-    set {
-       name: "image_name_used";
-       image {
-          image: "filename3.ext" LOSSY 90;
-          size: 201 201 500 500;
-       }
-       image {
-          image: "filename4.ext" COMP;
-          size: 51 51 200 200;
-       }
-       image {
-          image: "filename5.ext" COMP;
-          size: 11 11 50 50;
-       }
-       image {
-          image: "filename6.ext" RAW;
-          size: 0 0 10 10;
-       }
-    }
-    @description
-        The "set" block is used to define an image with different content depending on their size.
-        Besides the document's root, additional "set" blocks can be
-        included inside other blocks, normally "collections", "group" and
-        "part", easing maintenance of the file list when the theme is split
-        among multiple files.
-    @endblock
- */
-static void
-ob_images_set(void)
-{
-   if (!edje_file->image_dir)
-     edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
-
-   edje_file->image_dir->sets_count++;
-   edje_file->image_dir->sets = realloc(edje_file->image_dir->sets,
-                                       sizeof (Edje_Image_Directory_Set) * edje_file->image_dir->sets_count);
-   memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1,
-         0, sizeof (Edje_Image_Directory_Set));
-   if (!edje_file->image_dir->sets)
-     {
-        ERR("Not enough memory.");
-        exit(-1);
-     }
-   edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].id = edje_file->image_dir->sets_count - 1;
-}
-
-/**
-    @page edcref
-
-    @property
-        name
-    @parameters
-        [image name]
-    @effect
-        Define the name that refer to this image description.
-    @endproperty
-*/
-static void
-st_images_set_name(void)
-{
-   check_arg_count(1);
-
-   edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].name = parse_str(0);
-}
-
-/**
-   @edcsubsection{toplevel_images_image,Image}
- */
-
-/**
-    @page edcref
-
-    @block
-        image
-    @description
-        The "image" block inside a "set" block define the characteristic of an image.
-       Every block will describe one image and the size rule to use it.
-    @endblock
-**/
-static void
-ob_images_set_image(void)
-{
-   Edje_Image_Directory_Set_Entry *entry;
-   Edje_Image_Directory_Set *set;
-
-   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
-
-   entry = mem_alloc(SZ(Edje_Image_Directory_Set_Entry));
-
-   set->entries = eina_list_append(set->entries, entry);
-}
-
-/**
-    @page edcref
-
-    @property
-        image
-    @parameters
-        [image file] [compression method] (compression level)
-    @effect
-        Used to include each image file. The full path to the directory holding
-        the images can be defined later with edje_cc's "-id" option.
-        Compression methods:
-        @li RAW: Uncompressed.
-        @li COMP: Lossless compression.
-        @li LOSSY [0-100]: Lossy compression with quality from 0 to 100.
-        @li USER: Do not embed the file, refer to the external file instead.
-    @endproperty
-**/
-static void
-st_images_set_image_image(void)
-{
-   Edje_Image_Directory_Set_Entry *entry;
-   Edje_Image_Directory_Set *set;
-   unsigned int i;
-
-   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
-   entry = eina_list_data_get(eina_list_last(set->entries));
-
-   /* Add the image to the global pool with the same syntax. */
-   st_images_image();
-
-   entry->name = parse_str(0);
-
-   for (i = 0; i < edje_file->image_dir->entries_count; ++i)
-     if (!strcmp(edje_file->image_dir->entries[i].entry, entry->name))
-       {
-        entry->id = i;
-        return;
-       }
-}
-
-/**
-    @page edcref
-
-    @property
-        size
-    @parameters
-        [minw minh maxw mawh]
-    @effect
-        Define the minimal and maximal size that will select the specified image.
-    @endproperty
-*/
-static void
-st_images_set_image_size(void)
-{
-   Edje_Image_Directory_Set_Entry *entry;
-   Edje_Image_Directory_Set *set;
-
-   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
-   entry = eina_list_data_get(eina_list_last(set->entries));
-
-   entry->size.min.w = parse_int(0);
-   entry->size.min.h = parse_int(1);
-   entry->size.max.w = parse_int(2);
-   entry->size.max.h = parse_int(3);
-
-   if (entry->size.min.w > entry->size.max.w
-       || entry->size.min.h > entry->size.max.h)
-     {
-       ERR("parse error %s:%i. Image min and max size are not in the right order ([%i, %i] < [%i, %i])",
-          file_in, line - 1,
-          entry->size.min.w, entry->size.min.h,
-          entry->size.max.w, entry->size.max.h);
-       exit(-1);
-     }
-}
-
-/**
-   @edcsubsection{toplevel_fonts,Fonts}
- */
-
-/**
-    @page edcref
-
-    @block
-        fonts
-    @context
-        fonts {
-            font: "filename1.ext" "fontname";
-            font: "filename2.ext" "otherfontname";
-            ..
-        }
-    @description
-        The "fonts" block is used to list each font file with an alias used later
-        in the theme. As with the "images" block, additional "fonts" blocks can
-        be included inside other blocks.
-    @endblock
-
-    @property
-        font
-    @parameters
-        [font filename] [font alias]
-    @effect
-        Defines each font "file" and "alias", the full path to the directory
-        holding the font files can be defined with edje_cc's "-fd" option.
-    @endproperty
- */
-static void
-st_fonts_font(void)
-{
-   Edje_Font *fn;
-
-   check_arg_count(2);
-
-   if (!edje_file->fonts)
-     edje_file->fonts = eina_hash_string_small_new(free);
-
-   fn = mem_alloc(SZ(Edje_Font));
-   fn->file = parse_str(0);
-   fn->name = parse_str(1);
-
-   if (eina_hash_find(edje_file->fonts, fn->name))
-     {
-       free(fn->file);
-       free(fn->name);
-       free(fn);
-       return;
-     }
-
-   eina_hash_direct_add(edje_file->fonts, fn->name, fn);
-}
-
-/**
-   @edcsubsection{toplevel_data,Data}
- */
-
-/**
-    @page edcref
-    @block
-        data
-    @context
-        data {
-            item: "key" "value";
-            file: "otherkey" "filename.ext";
-            ..
-        }
-    @description
-        The "data" block is used to pass arbitrary parameters from the theme to
-        the application. Unlike the "images" and "fonts" blocks, additional
-        "data" blocks can only be included inside the "group" block.
-    @endblock
-
-    @property
-        item
-    @parameters
-        [parameter name] [parameter value]
-    @effect
-        Defines a new parameter, the value will be the string specified next to
-        it.
-    @endproperty
- */
-static void
-st_data_item(void)
-{
-   Edje_String *es;
-   char *key;
-
-   check_arg_count(2);
-
-   key = parse_str(0);
-
-   es = mem_alloc(SZ(Edje_String));
-   es->str = parse_str(1);
-
-   if (!edje_file->data)
-     edje_file->data = eina_hash_string_small_new(free);
-
-   /* FIXME: check if data already exist */
-   eina_hash_direct_add(edje_file->data, key, es);
-}
-
-/**
-    @page edcref
-    @property
-        file
-    @parameters
-        [parameter name] [parameter filename]
-    @effect
-        Defines a new parameter, the value will be the contents of the
-        specified file formated as a single string of text. This property only
-        works with plain text files.
-    @endproperty
- */
-static void
-st_data_file(void)
-{
-   const char *data;
-   const char *over;
-   Edje_String *es;
-   char *filename;
-   char *value;
-   char *key;
-   int fd;
-   int i;
-   struct stat buf;
-
-   check_arg_count(2);
-
-   key = parse_str(0);
-
-   es = mem_alloc(SZ(Edje_String));
-   filename = parse_str(1);
-
-   fd = open(filename, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR);
-   if (fd < 0)
-     {
-        ERR("%s:%i when opening file \"%s\": \"%s\"",
-           file_in, line, filename, strerror(errno));
-        exit(-1);
-     }
-
-   if (fstat(fd, &buf))
-     {
-        ERR("%s:%i when stating file \"%s\": \"%s\"",
-           file_in, line, filename, strerror(errno));
-        exit(-1);
-     }
-
-   data = mmap(NULL, buf.st_size, PROT_READ, MAP_SHARED, fd, 0);
-   if (data == MAP_FAILED)
-     {
-        ERR("%s:%i when mapping file \"%s\": \"%s\"",
-           file_in, line, filename, strerror(errno));
-        exit(-1);
-     }
-
-   over = data;
-   for (i = 0; i < buf.st_size; ++i, ++over)
-     if (*over == '\0')
-       {
-          ERR("%s:%i file \"%s\" is a binary file.", file_in, line, filename);
-          exit(-1);
-       }
-
-   value = malloc(sizeof (char) * buf.st_size + 1);
-   snprintf(value, buf.st_size + 1, "%s", data);
-
-   munmap((void*)data, buf.st_size);
-   close(fd);
-
-   es->str = value;
-
-   eina_hash_direct_add(edje_file->data, key, es);
-
-   free(filename);
-}
-
-/**
-   @edcsubsection{toplevel_color_classes,Color Classes}
- */
-
-/**
-    @page edcref
-    @block
-        color_classes
-    @context
-        color_classes {
-            color_class {
-                name:  "colorclassname";
-                color:  [0-255] [0-255] [0-255] [0-255];
-                color2: [0-255] [0-255] [0-255] [0-255];
-                color3: [0-255] [0-255] [0-255] [0-255]
-            }
-            ..
-        }
-    @description
-        The "color_classes" block contains a list of one or more "color_class"
-        blocks. Each "color_class" allows the designer to name an arbitrary
-        group of colors to be used in the theme, the application can use that
-        name to alter the color values at runtime.
-    @endblock
-*/
-static void
-ob_color_class(void)
-{
-   Edje_Color_Class *cc;
-
-   cc = mem_alloc(SZ(Edje_Color_Class));
-   edje_file->color_classes = eina_list_append(edje_file->color_classes, cc);
-
-   cc->r = 0;
-   cc->g = 0;
-   cc->b = 0;
-   cc->a = 0;
-   cc->r2 = 0;
-   cc->g2 = 0;
-   cc->b2 = 0;
-   cc->a2 = 0;
-   cc->r3 = 0;
-   cc->g3 = 0;
-   cc->b3 = 0;
-   cc->a3 = 0;
-}
-
-/**
-    @page edcref
-
-    @property
-        name
-    @parameters
-        [color class name]
-    @effect
-        Sets the name for the color class, used as reference by both the theme
-        and the application.
-    @endproperty
-*/
-static void
-st_color_class_name(void)
-{
-   Edje_Color_Class *cc, *tcc;
-   Eina_List *l;
-
-   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
-   cc->name = parse_str(0);
-   EINA_LIST_FOREACH(edje_file->color_classes, l, tcc)
-     {
-       if ((cc != tcc) && (!strcmp(cc->name, tcc->name)))
-         {
-            ERR("parse error %s:%i. There is already a color class named \"%s\"",
-                file_in, line - 1, cc->name);
-            exit(-1);
-         }
-     }
-}
-
-/**
-    @page edcref
-    @property
-        color
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        The main color.
-    @endproperty
-*/
-static void
-st_color_class_color(void)
-{
-   Edje_Color_Class *cc;
-
-   check_arg_count(4);
-
-   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
-   cc->r = parse_int_range(0, 0, 255);
-   cc->g = parse_int_range(1, 0, 255);
-   cc->b = parse_int_range(2, 0, 255);
-   cc->a = parse_int_range(3, 0, 255);
-}
-
-/**
-    @page edcref
-    @property
-        color2
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        Used as outline in text and textblock parts.
-    @endproperty
-*/
-static void
-st_color_class_color2(void)
-{
-   Edje_Color_Class *cc;
-
-   check_arg_count(4);
-
-   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
-   cc->r2 = parse_int_range(0, 0, 255);
-   cc->g2 = parse_int_range(1, 0, 255);
-   cc->b2 = parse_int_range(2, 0, 255);
-   cc->a2 = parse_int_range(3, 0, 255);
-}
-
-/**
-    @page edcref
-    @property
-        color3
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        Used as shadow in text and textblock parts.
-    @endproperty
-*/
-static void
-st_color_class_color3(void)
-{
-   Edje_Color_Class *cc;
-
-   check_arg_count(4);
-
-   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
-   cc->r3 = parse_int_range(0, 0, 255);
-   cc->g3 = parse_int_range(1, 0, 255);
-   cc->b3 = parse_int_range(2, 0, 255);
-   cc->a3 = parse_int_range(3, 0, 255);
-}
-
-/**
-   @edcsubsection{toplevel_styles,Styles}
- */
-
-/**
-    @page edcref
-    @block
-        styles
-    @context
-        styles {
-            style {
-                name: "stylename";
-                base: "..default style properties..";
-
-                tag:  "tagname" "..style properties..";
-                ..
-            }
-            ..
-        }
-    @description
-        The "styles" block contains a list of one or more "style" blocks. A
-        "style" block is used to create style \<tags\> for advanced TEXTBLOCK
-        formatting.
-    @endblock
-*/
-static void
-ob_styles_style(void)
-{
-   Edje_Style *stl;
-
-   stl = mem_alloc(SZ(Edje_Style));
-   edje_file->styles = eina_list_append(edje_file->styles, stl);
-}
-
-/**
-    @page edcref
-    @property
-        name
-    @parameters
-        [style name]
-    @effect
-        The name of  the style to be used as reference later in the theme.
-    @endproperty
-*/
-static void
-st_styles_style_name(void)
-{
-   Edje_Style *stl, *tstl;
-   Eina_List *l;
-
-   stl = eina_list_data_get(eina_list_last(edje_file->styles));
-   stl->name = parse_str(0);
-   EINA_LIST_FOREACH(edje_file->styles, l, tstl)
-     {
-       if (stl->name && tstl->name && (stl != tstl) && (!strcmp(stl->name, tstl->name)))
-         {
-            ERR("parse error %s:%i. There is already a style named \"%s\"",
-                file_in, line - 1, stl->name);
-            exit(-1);
-         }
-     }
-}
-
-/**
-    @page edcref
-    @property
-        base
-    @parameters
-        [style properties string]
-    @effect
-        The default style properties that will be applied to the complete
-        text.
-    @endproperty
-*/
-static void
-st_styles_style_base(void)
-{
-   Edje_Style *stl;
-   Edje_Style_Tag *tag;
-
-   stl = eina_list_data_get(eina_list_last(edje_file->styles));
-   if (stl->tags)
-     {
-        ERR("parse error %s:%i. There is already a basic format for the style",
-            file_in, line - 1);
-        exit(-1);
-     }
-   tag = mem_alloc(SZ(Edje_Style_Tag));
-   tag->key = mem_strdup("DEFAULT");
-   tag->value = parse_str(0);
-   stl->tags = eina_list_append(stl->tags, tag);
-}
-
-/**
-    @page edcref
-    @property
-        tag
-    @parameters
-        [tag name] [style properties string]
-    @effect
-        Style to be applied only to text between style \<tags\>..\</tags\>.
-        When creating "paired" tags, like \<bold\>\</bold\>, A '+' should be added at the start of the style properties of the first part (\<bold\>).
-        If the second part (\</bold\>) is also defined, a '-' should be prepended to it's style properties.
-        This only applies to paired tags; Single tags, like \<tab\>, must not include a starting '+'.
-    @endproperty
-*/
-static void
-st_styles_style_tag(void)
-{
-   Edje_Style *stl;
-   Edje_Style_Tag *tag;
-
-   stl = eina_list_data_get(eina_list_last(edje_file->styles));
-   tag = mem_alloc(SZ(Edje_Style_Tag));
-   tag->key = parse_str(0);
-   tag->value = parse_str(1);
-   stl->tags = eina_list_append(stl->tags, tag);
-}
-
-/**
-   @edcsection{collections,Collections Blocks}
- */
-
-/**
-    @page edcref
-    @block
-        collections
-    @context
-        collections {
-            ..
-            sounds { }
-            group { }
-            group { }
-            ..
-        }
-    @description
-        The "collections" block is used to list the groups that compose the
-        theme. Additional "collections" blocks do not prevent overriding group
-        names. The "sounds" block comprises of all sound definitions.
-    @endblock
-*/
-static void
-ob_collections(void)
-{
-   if (!edje_file->collection)
-     {
-        edje_file->collection = eina_hash_string_small_new(NULL);
-        edje_collections_lookup = eina_hash_int32_new(NULL);
-     }
-}
-
-/**
-   @edcsubsection{collections_sounds,Sounds}
- */
-
-/**
-    @page edcref
-    @block
-        sounds
-    @context
-        sounds {
-           sample {
-              name: "sound_file1" COMP;
-              source: "sound_file1.wav";
-           }
-           sample {
-              name: "sound_file2" LOSSY 0.4;
-              source: "sound_file2.wav";
-           }
-           tone: "tone-1"  2300;
-        }
-
-    @description
-        The "sounds" block contains a list of one or more sound sample and tones items.
-    @endblock
-*/
-
-/**
-   @edcsubsection{collections_sounds_sample,Sample}
- */
-
-/**
-    @page edcref
-    @block
-        sample
-    @context
-       sample {
-          name: "sound_file1" RAW;
-          source: "sound_file1.wav";
-       }
-       sample {
-          name: "sound_file2" LOSSY 0.5;
-          source: "sound_file2.wav";
-       }
-       sample {
-          name: "sound_file3" COMP;
-          source: "sound_file3.wav";
-       }
-       sample {
-          name: "sound_file4" AS_IS;
-          source: "sound_file1.wav";
-       }
-    @description
-        The sample block defines the sound sample.
-    @endblock
-    @property
-        name
-    @parameters
-        [sample name] [compression type] [if lossy, then quality]
-    @effect
-        Used to include each sound file. The full path to the directory holding
-        the sounds can be defined later with edje_cc's "-sd" option.
-        @li RAW: Uncompressed.
-        @li COMP: Lossless compression.
-        @li LOSSY [-0.1  - 1.0]: Lossy compression with quality from 0 to 1.0.
-        @li AS_IS: Check for re-encoding, no compression/encoding, just write the file information as it is.
-    @endproperty
-    @since 1.1.0
- */
-static void
-st_collections_group_sound_sample_name(void)
-{
-   Edje_Sound_Sample *sample;
-   const char *tmp;
-   unsigned int i;
-   
-   if (!edje_file->sound_dir)
-     edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory));
-   
-   tmp = parse_str(0);
-   
-   for (i = 0; i < edje_file->sound_dir->samples_count; i++)
-     {
-        if (!strcmp(edje_file->sound_dir->samples[i].name, tmp))
-          {
-             free((char *)tmp);
-             return;
-          }
-     }
-   
-   edje_file->sound_dir->samples_count++;
-   edje_file->sound_dir->samples = 
-     realloc(edje_file->sound_dir->samples,
-             sizeof(Edje_Sound_Sample) * 
-             edje_file->sound_dir->samples_count);
-
-   if (!edje_file->sound_dir->samples)
-     {
-        ERR("No enough memory.");
-        exit(-1);
-     }
-   
-   sample =
-     edje_file->sound_dir->samples +
-     edje_file->sound_dir->samples_count - 1;
-   memset(sample, 0, sizeof (Edje_Sound_Sample));
-   
-   sample->name = tmp;
-   sample->id = edje_file->sound_dir->samples_count - 1;
-   sample->compression = parse_enum(1,
-                                    "RAW", EDJE_SOUND_SOURCE_TYPE_INLINE_RAW,
-                                    "COMP", EDJE_SOUND_SOURCE_TYPE_INLINE_COMP,
-                                    "LOSSY", EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY,
-                                    "AS_IS", EDJE_SOUND_SOURCE_TYPE_INLINE_AS_IS,
-                                    NULL);
-   
-   if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY)
-     {
-        sample->quality = parse_float_range(2, 45.0, 1000.0);
-        check_arg_count(3);
-     }
-   else
-     check_arg_count(2);
-
-}
-
-/**
-    @page edcref
-    @property
-        source
-    @parameters
-        [sound file name]
-    @effect
-        The Sound source file name (Source can be mono/stereo WAV file.
-        Only files with 44.1 KHz sample rate supported now)
-    @endproperty
-    @since 1.1.0
- */
-static void
-st_collections_group_sound_sample_source(void)
-{
-   Edje_Sound_Sample *sample;
-
-   if (!edje_file->sound_dir->samples)
-     {
-        ERR("Invalid sound sample source definition.");
-        exit(-1);
-     }
-   
-   sample = 
-     edje_file->sound_dir->samples +
-     edje_file->sound_dir->samples_count - 1;
-   
-   if (!sample)
-     {
-        ERR("Invalid sound sample source definition.");
-        exit(-1);
-     }
-   sample->snd_src = parse_str(0);
-   check_arg_count(1);
-}
-
-/**
-    @page edcref
-    @property
-        tone
-    @parameters
-        [tone name] [frequency]
-    @effect
-        sound of specific frequency
-    @endproperty
-    @since 1.1.0
- */
-static void
-st_collections_group_sound_tone(void)
-{
-   Edje_Sound_Tone *tone;
-   const char *tmp;
-   unsigned int i;
-   int value;
-
-   check_arg_count(2);
-   
-   if (!edje_file->sound_dir)
-     edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory));
-   
-   tmp = parse_str(0);
-   /* Audible range 20 to 20KHz */
-   value = parse_int_range(1, 20, 20000);
-   
-   /* Check for Tone duplication */
-   for (i = 0; i < edje_file->sound_dir->tones_count; i++)
-     {
-        if (!strcmp(edje_file->sound_dir->tones[i].name, tmp))
-          {
-             ERR("Tone name: %s already exist.", tmp);
-             free((char *)tmp);
-             exit(-1);
-          }
-        if (edje_file->sound_dir->tones[i].value == value)
-          {
-             ERR("Tone name %s with same frequency %d exist.",
-                 edje_file->sound_dir->tones[i].name, value);
-             exit(-1);
-          }
-     }
-   edje_file->sound_dir->tones_count++;
-   edje_file->sound_dir->tones = 
-     realloc(edje_file->sound_dir->tones,
-             sizeof (Edje_Sound_Tone) * 
-             edje_file->sound_dir->tones_count);
-   
-   if (!edje_file->sound_dir->tones)
-     {
-        ERR("No enough memory.");
-        exit(-1);
-     }
-   
-   tone = edje_file->sound_dir->tones + edje_file->sound_dir->tones_count - 1;
-   memset(tone, 0, sizeof (Edje_Sound_Tone));
-   
-   tone->name = tmp;
-   tone->value = value;
-   tone->id = edje_file->sound_dir->tones_count - 1;
-}
-
-/**
-   @edcsubsection{collections_group,Group}
- */
-
-/**
-    @page edcref
-    @block
-        group
-    @context
-        collections {
-            ..
-            group {
-                name: "nameusedbytheapplication";
-                alias: "anothername";
-                min: width height;
-                max: width height;
-
-                script { }
-                limits { }
-                data { }
-                parts { }
-                programs { }
-            }
-            ..
-        }
-    @description
-        A "group" block contains the list of parts and programs that compose a
-        given Edje Object.
-    @endblock
-*/
-static void
-ob_collections_group(void)
-{
-   Edje_Part_Collection *pc;
-   Code *cd;
-
-   if (current_de && !current_de->entry)
-     {
-        ERR("A collection without a name was detected, that's not allowed.");
-        exit(-1);
-     }
-
-   current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
-   current_de->id = eina_list_count(edje_collections);
-
-   eina_hash_add(edje_collections_lookup, &current_de->id, current_de);
-
-   pc = mem_alloc(SZ(Edje_Part_Collection));
-   edje_collections = eina_list_append(edje_collections, pc);
-   pc->id = current_de->id;
-   pc->broadcast_signal = EINA_TRUE; /* This was the behaviour by default in Edje 1.1 */
-
-   cd = mem_alloc(SZ(Code));
-   codes = eina_list_append(codes, cd);
-
-#ifdef HAVE_EPHYSICS
-   pc->physics.world.gravity.x = 0;
-   pc->physics.world.gravity.y = 294;
-   pc->physics.world.gravity.z = 0;
-   pc->physics.world.depth = 100;
-   pc->physics.world.z = -50;
-   pc->physics.world.rate = FROM_DOUBLE(30);
-#endif
-}
-
-/**
-    @page edcref
-    @property
-        name
-    @parameters
-        [group name]
-    @effect
-        The name that will be used by the application to load the resulting
-        Edje object and to identify the group to swallow in a GROUP part. If a
-        group with the same name exists already it will be completely overriden
-        by the new group.
-    @endproperty
-*/
-static void
-st_collections_group_name(void)
-{
-   Edje_Part_Collection_Directory_Entry *alias;
-   Edje_Part_Collection_Directory_Entry *older;
-   Edje_Part_Collection *current_pc;
-   Eina_List *l = NULL;
-
-   check_arg_count(1);
-
-   current_pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if (current_de->entry)
-     goto double_named_group;
-
-   current_de->entry = parse_str(0);
-   current_pc->part = current_de->entry;
-
-   older = eina_hash_find(edje_file->collection, current_de->entry);
-   if (older) eina_hash_del(edje_file->collection, current_de->entry, older);
-   eina_hash_direct_add(edje_file->collection, current_de->entry, current_de);
-   if (!older) return;
-
-   EINA_LIST_FOREACH(aliases, l, alias)
-     if (strcmp(alias->entry, current_de->entry) == 0)
-       {
-          Edje_Part_Collection *pc;
-
-          pc = eina_list_nth(edje_collections, older->id);
-          INF("overriding alias ('%s' => '%s') by group '%s'",
-              alias->entry, pc->part,
-              current_de->entry);
-          aliases = eina_list_remove_list(aliases, l);
-          free(alias);
-          break;
-       }
-
-double_named_group:
-   ERR("Invalid group, only a single name statement is valid for group, use "
-       "alias instead.");
-   exit(-1);
-}
-
-typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data;
-struct _Edje_List_Foreach_Data
-{
-   Eina_List *list;
-};
-
-static Eina_Bool
-_edje_data_item_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key, void *data __UNUSED__, void *fdata)
-{
-   Edje_List_Foreach_Data *fd;
-
-   fd = fdata;
-   fd->list = eina_list_append(fd->list, strdup(key));
-
-   return EINA_TRUE;
-}
-
-/**
-    @page edcref
-    @property
-        inherit
-    @parameters
-        [parent group name]
-    @effect
-        Parent group name for inheritance.
-        Group "inherit" is used to inherit any predefined group and change
-        some property which belongs to "part", "description", "items" or "program".
-        The child group has the same property as parent group. If you specify the
-        type again in an inherited part, it will cause an error (unless you plan
-        to fix that).
-    @endproperty
-    @since 1.1.0
-*/
-static void
-st_collections_group_inherit(void)
-{
-   Edje_Part_Collection *pc, *pc2;
-   Edje_Part *ep, *ep2;
-   Edje_Part_Parser *epp, *epp2;
-   Edje_Pack_Element *item, *item2;
-   Edje_Pack_Element_Parser *pitem;
-   Edje_Part_Description_Common *ed, *ed2;
-   Edje_List_Foreach_Data fdata;
-   Eina_List *l;
-   char *parent_name;
-   unsigned int i, j;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   parent_name = parse_str(0);
-
-   EINA_LIST_FOREACH(edje_collections, l, pc2)
-     {
-        if (!strcmp(parent_name, pc2->part))
-          break;
-     }
-   if (!pc2)
-     {
-        ERR("parse error %s:%i. There isn't a group with the name %s",
-            file_in, line - 1, parent_name);
-        exit(-1);
-     }
-   if (pc2 == pc)
-     {
-        ERR("parse error %s:%i. You are trying to inherit '%s' from itself. That's not possible."
-            "If there is another group of the same name, you want to inherit from that group and have the"
-            "same name as that group, there is a trick ! Just put the inherit before the directive that set"
-            "the name !", file_in, line - 1, parent_name);
-        exit(-1);
-     }
-
-   if (pc2->data)
-     {
-        char *key, *data;
-
-        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-        eina_hash_foreach(pc2->data,
-                     _edje_data_item_list_foreach, &fdata);
-
-        if (!pc->data) pc->data = eina_hash_string_small_new(free);
-        EINA_LIST_FREE(fdata.list, key)
-          {
-             data = eina_hash_find(pc2->data, key);
-             eina_hash_direct_add(pc->data, key, data);
-          }
-     }
-
-   if (pc2->alias)
-     {
-        char *key, *alias;
-
-        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-        eina_hash_foreach(pc2->alias,
-                     _edje_data_item_list_foreach, &fdata);
-        if (!pc->alias) pc->alias = eina_hash_string_small_new(free);
-        EINA_LIST_FREE(fdata.list, key)
-          {
-             alias = eina_hash_find(pc2->alias, key);
-             eina_hash_direct_add(pc->alias, key, alias);
-          }
-     }
-   if (pc2->aliased)
-     {
-        char *key, *aliased;
-
-        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-        eina_hash_foreach(pc2->aliased,
-                          _edje_data_item_list_foreach, &fdata);
-        if (!pc->aliased) pc->aliased = eina_hash_string_small_new(free);
-        EINA_LIST_FREE(fdata.list, key)
-          {
-             aliased = eina_hash_find(pc2->aliased, key);
-             eina_hash_direct_add(pc->aliased, key, aliased);
-          }
-     }
-
-#ifdef HAVE_EPHYSICS
-   pc->physics.world.gravity.x = pc2->physics.world.gravity.x;
-   pc->physics.world.gravity.y = pc2->physics.world.gravity.y;
-   pc->physics.world.gravity.z = pc2->physics.world.gravity.z;
-   pc->physics.world.depth = pc2->physics.world.depth;
-   pc->physics.world.z = pc2->physics.world.z;
-   pc->physics.world.rate = pc2->physics.world.rate;
-#endif
-
-   pc->prop.min.w = pc2->prop.min.w;
-   pc->prop.min.h = pc2->prop.min.h;
-   pc->prop.orientation = pc2->prop.orientation;
-
-   pc->lua_script_only = pc2->lua_script_only;
-
-   #define STRDUP(x) x ? strdup(x) : NULL
-   for (i = 0 ; i < pc2->parts_count ; i++)
-     {
-        // copy the part
-        edje_cc_handlers_part_make();
-        ep = pc->parts[i];
-        ep2 = pc2->parts[i];
-        ep->name = STRDUP(ep2->name);
-        ep->source = STRDUP(ep2->source);
-        ep->source2 = STRDUP(ep2->source2);
-        ep->source3 = STRDUP(ep2->source3);
-        ep->source4 = STRDUP(ep2->source4);
-        ep->source5 = STRDUP(ep2->source5);
-        ep->source6 = STRDUP(ep2->source6);
-
-        data_queue_copied_part_lookup(pc, &(ep2->clip_to_id), &(ep->clip_to_id));
-
-        ep->type = ep2->type;
-        ep->mouse_events = ep2->mouse_events;
-        ep->repeat_events = ep2->repeat_events;
-        ep->ignore_flags = ep2->ignore_flags;
-        ep->scale = ep2->scale;
-        ep->pointer_mode = ep2->pointer_mode;
-        ep->precise_is_inside = ep2->precise_is_inside;
-        ep->use_alternate_font_metrics = ep2->use_alternate_font_metrics;
-        ep->effect = ep2->effect;
-        ep->entry_mode = ep2->entry_mode;
-        ep->select_mode = ep2->select_mode;
-        ep->cursor_mode = ep2->cursor_mode;
-        ep->multiline = ep2->multiline;
-        ep->access = ep2->access;
-        ep->dragable.x = ep2->dragable.x;
-        ep->dragable.step_x = ep2->dragable.step_x;
-        ep->dragable.count_x = ep2->dragable.count_x;
-        ep->dragable.y = ep2->dragable.y;
-        ep->dragable.step_y = ep2->dragable.step_y;
-        ep->dragable.count_y = ep2->dragable.count_y;
-        ep->nested_children_count = ep2->nested_children_count;
-
-        data_queue_copied_part_lookup(pc, &(ep2->dragable.confine_id), &(ep->dragable.confine_id));
-        data_queue_copied_part_lookup(pc, &(ep2->dragable.event_id), &(ep->dragable.event_id));
-
-        epp = (Edje_Part_Parser *)ep;
-        epp2 = (Edje_Part_Parser *)ep2;
-        epp->reorder.insert_before = STRDUP(epp2->reorder.insert_before);
-        epp->reorder.insert_after = STRDUP(epp2->reorder.insert_after);
-        epp->can_override = EINA_TRUE;
-
-        for (j = 0 ; j < ep2->items_count ; j++)
-          {
-             ob_collections_group_parts_part_box_items_item();
-             item = ep->items[j];
-             item2 = ep2->items[j];
-             item->type = item2->type;
-             item->name = STRDUP(item2->name);
-             item->source = STRDUP(item2->source);
-             item->min.w = item2->min.w;
-             item->min.h = item2->min.h;
-             item->prefer.w = item2->prefer.w;
-             item->prefer.h = item2->prefer.h;
-             item->max.w = item2->max.w;
-             item->max.h = item2->max.h;
-             item->padding.l = item2->padding.l;
-             item->padding.r = item2->padding.r;
-             item->padding.t = item2->padding.t;
-             item->padding.b = item2->padding.b;
-             item->align.x = item2->align.x;
-             item->align.y = item2->align.y;
-             item->weight.x = item2->weight.x;
-             item->weight.y = item2->weight.y;
-             item->aspect.w = item2->aspect.w;
-             item->aspect.h = item2->aspect.h;
-             item->aspect.mode = item2->aspect.mode;
-             item->options = STRDUP(item2->options);
-             item->col = item2->col;
-             item->row = item2->row;
-             item->colspan = item2->colspan;
-             item->rowspan = item2->rowspan;
-
-             pitem = (Edje_Pack_Element_Parser *)item;
-             pitem->can_override = EINA_TRUE;
-          }
-
-        ep->api.name = STRDUP(ep2->api.name);
-        if (ep2->api.description) ep->api.description = STRDUP(ep2->api.description);
-
-        // copy default description
-        ob_collections_group_parts_part_description();
-        ed = ep->default_desc;
-        parent_desc = ed2 = ep2->default_desc;
-        ed->state.name = STRDUP(ed2->state.name);
-        ed->state.value = ed2->state.value;
-        st_collections_group_parts_part_description_inherit();
-        parent_desc = NULL;
-
-        // copy other description
-        for (j = 0 ; j < ep2->other.desc_count ; j++)
-          {
-             ob_collections_group_parts_part_description();
-             ed = ep->other.desc[j];
-             parent_desc = ed2 = ep2->other.desc[j];
-             ed->state.name = STRDUP(ed2->state.name);
-             ed->state.value = ed2->state.value;
-             st_collections_group_parts_part_description_inherit();
-             parent_desc = NULL;
-          }
-     }
-
-   //copy programs
-   for (j = 0 ; j < pc2->programs.fnmatch_count ; j++)
-     {
-        ob_collections_group_programs_program();
-        _edje_program_copy(current_program, pc2->programs.fnmatch[j]);
-     }
-   for (j = 0 ; j < pc2->programs.strcmp_count ; j++)
-     {
-        ob_collections_group_programs_program();
-        _edje_program_copy(current_program, pc2->programs.strcmp[j]);
-     }
-   for (j = 0 ; j < pc2->programs.strncmp_count ; j++)
-     {
-        ob_collections_group_programs_program();
-        _edje_program_copy(current_program, pc2->programs.strncmp[j]);
-     }
-   for (j = 0 ; j < pc2->programs.strrncmp_count ; j++)
-     {
-        ob_collections_group_programs_program();
-        _edje_program_copy(current_program, pc2->programs.strrncmp[j]);
-     }
-   for (j = 0 ; j < pc2->programs.nocmp_count ; j++)
-     {
-        ob_collections_group_programs_program();
-        _edje_program_copy(current_program, pc2->programs.nocmp[j]);
-     }
-
-   Code *cd, *cd2;
-   Code_Program *cp, *cp2;
-   Edje_Part_Collection_Directory_Entry *de;
-
-   de = eina_hash_find(edje_file->collection, pc2->part);
-   cd2 = eina_list_nth(codes, de->id);
-   cd = eina_list_data_get(eina_list_last(codes));
-
-   EINA_LIST_FOREACH(cd2->programs, l, cp2)
-     {
-        cp = mem_alloc(SZ(Code_Program));
-
-        cp->l1 = cp2->l1;
-        cp->l2 = cp2->l2;
-        cp->script = STRDUP(cp2->script);
-        cd->is_lua = cd2->is_lua;
-        cd->shared = cd2->shared;
-        cd->programs = eina_list_append(cd->programs, cp);
-        data_queue_copied_anonymous_lookup(pc, &(cp2->id), &(cp->id));
-     }
-
-   free(parent_name);
-   #undef STRDUP
-}
-
-/**
-    @page edcref
-    @property
-        script_only
-    @parameters
-        [on/off]
-    @effect
-        The flag (on/off) as to if this group is defined ONLY by script
-        callbacks such as init(), resize() and shutdown()
-    @endproperty
-*/
-static void
-st_collections_group_script_only(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->lua_script_only = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        alias
-    @parameters
-        [aditional group name]
-    @effect
-        Additional name to serve as identifier. Defining multiple aliases is
-        supported.
-    @endproperty
-*/
-static void
-st_collections_group_alias(void)
-{
-   Edje_Part_Collection_Directory_Entry *alias;
-   Edje_Part_Collection_Directory_Entry *tmp;
-   Eina_List *l;
-
-   check_arg_count(1);
-
-   alias = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
-   alias->id = current_de->id;
-   alias->entry = parse_str(0);
-
-   EINA_LIST_FOREACH(aliases, l, tmp)
-     if (strcmp(alias->entry, tmp->entry) == 0)
-       {
-          Edje_Part_Collection *pc;
-
-          pc = eina_list_nth(edje_collections, tmp->id);
-          INF("overriding alias ('%s' => '%s') to ('%s' => '%s')",
-              tmp->entry, pc->part,
-              alias->entry, current_de->entry);
-          aliases = eina_list_remove_list(aliases, l);
-          free(tmp);
-          break;
-       }
-
-   aliases = eina_list_append(aliases, alias);
-}
-
-/**
-    @page edcref
-    @property
-        min
-    @parameters
-        [width] [height]
-    @effect
-        The minimum size for the container defined by the composition of the
-        parts. It is not enforced.
-    @endproperty
-*/
-static void
-st_collections_group_min(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(2);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->prop.min.w = parse_int_range(0, 0, 0x7fffffff);
-   pc->prop.min.h = parse_int_range(1, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        max
-    @parameters
-        [width] [height]
-    @effect
-        The maximum size for the container defined by the totality of the
-        parts. It is not enforced.
-    @endproperty
-*/
-static void
-st_collections_group_max(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(2);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->prop.max.w = parse_int_range(0, 0, 0x7fffffff);
-   pc->prop.max.h = parse_int_range(1, 0, 0x7fffffff);
-}
-
-/**
-   @page edcref
-   @property
-       broadcast_signal
-   @parameters
-       [broadcast]
-   @effect
-       Signal got automatically broadcasted to all sub group part. Default to
-       true since 1.1.
-   @endproperty
-*/
-static void
-st_collections_group_broadcast_signal(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->broadcast_signal = parse_bool(0);
-}
-
-/**
-   @edcsubsection{collections_group_script,Script}
- */
-
-/**
-    @page edcref
-    @block
-        script
-    @context
-        ..
-        group {
-            script {
-                //embryo script
-            }
-            ..
-            program {
-                script {
-                    //embryo script
-                }
-            }
-            ..
-        }
-        ..
-    @description
-        This block is used to "inject" embryo scripts to a given Edje theme and
-        it functions in two modalities. When it's included inside a "program"
-        block, the script will be executed every time the program is run, on
-        the other hand, when included directly into a "group", "part" or
-        "description" block, it will be executed once at load time, in the
-        load order.
-    @endblock
-*/
-static void
-ob_collections_group_script(void)
-{
-   Code *cd;
-
-   cd = eina_list_data_get(eina_list_last(codes));
-
-   if (!is_verbatim()) track_verbatim(1);
-   else
-     {
-       char *s;
-
-       s = get_verbatim();
-       if (s)
-         {
-            cd->l1 = get_verbatim_line1();
-            cd->l2 = get_verbatim_line2();
-            if (cd->shared)
-              {
-                 ERR("parse error %s:%i. There is already an existing script section for the group",
-                     file_in, line - 1);
-                 exit(-1);
-              }
-            cd->shared = s;
-             cd->original = strdup(s);
-            cd->is_lua = 0;
-            set_verbatim(NULL, 0, 0);
-         }
-     }
-}
-
-static void
-ob_collections_group_lua_script(void)
-{
-   Code *cd;
-
-   cd = eina_list_data_get(eina_list_last(codes));
-
-   if (!is_verbatim()) track_verbatim(1);
-   else
-     {
-       char *s;
-
-       s = get_verbatim();
-       if (s)
-         {
-            cd->l1 = get_verbatim_line1();
-            cd->l2 = get_verbatim_line2();
-            if (cd->shared)
-              {
-                 ERR("parse error %s:%i. There is already an existing script section for the group",
-                     file_in, line - 1);
-                 exit(-1);
-              }
-            cd->shared = s;
-            cd->is_lua = 1;
-            set_verbatim(NULL, 0, 0);
-         }
-     }
-}
-
-static void
-st_collections_group_data_item(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_String *es;
-   char *key;
-
-   check_arg_count(2);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if (!pc->data)
-     pc->data = eina_hash_string_small_new(free);
-
-   key = parse_str(0);
-
-   es = mem_alloc(SZ(Edje_String));
-   es->str = parse_str(1);
-
-   if (eina_hash_find(pc->data, key))
-     eina_hash_modify(pc->data, key, es);
-   else
-     eina_hash_direct_add(pc->data, key, es);
-}
-
-/**
-    @page edcref
-    @property
-        orientation
-    @parameters
-    enum AUTO, LTR, RTL
-    @effect
-        This defines GROUP orientation.
-        This is useful if you want match interface orientation with language.
-        AUTO  - Follow system defs.
-        LTR  - suitable for Left To Right Languages (latin)
-        RTL - suitable for Right To Left Languages (Hebrew, Arabic interface)
-    @endproperty
-*/
-static void
-st_collections_group_orientation(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->prop.orientation = parse_enum(0,
-         "AUTO", EDJE_ORIENTATION_AUTO,
-         "LTR", EDJE_ORIENTATION_LTR,
-         "RTL", EDJE_ORIENTATION_RTL,
-         NULL);
-}
-
-/**
-   @edcsubsection{collections_group_limits,Limits}
- */
-
-/**
-    @page edcref
-    @block
-        limits
-    @context
-        group {
-            limits {
-                vertical: "limit_name" height_barrier;
-                horizontal: "limit_name" width_barrier;
-                ..
-            }
-            ..
-        }
-        ..
-    @description
-        This block is used to trigger some signal when the Edje object is resized.
-    @endblock
-
-    @page edcref
-    @property
-        vertical
-    @parameters
-        [name] [height barrier]
-    @effect
-        It will send a signal: "limit,name,over" when the object is resized and pass
-        the limit by growing over it. And it will send: "limit,name,below" when
-        it pass below that limit.
-        This limit will be applied on the y absis and is expressed in pixels.
-    @endproperty
-*/
-static void
-st_collections_group_limits_vertical(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Limit *el;
-
-   check_arg_count(2);
-
-   el = mem_alloc(SZ(Edje_Limit));
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->limits.vertical_count++;
-   pc->limits.vertical = realloc(pc->limits.vertical, pc->limits.vertical_count * sizeof (Edje_Limit *));
-   if (!pc->limits.vertical || !el)
-     {
-        ERR("Not enough memory.");
-        exit(-1);
-     }
-
-   pc->limits.vertical[pc->limits.vertical_count - 1] = el;
-
-   el->name = parse_str(0);
-   el->value = parse_int_range(1, 1, 0xffff);
-}
-
-/**
-    @page edcref
-    @property
-        horizontal
-    @parameters
-        [name] [width barrier]
-    @effect
-        It will send a signal: "limit,name,over" when the object is resized and pass
-        the limit by growing over it. And it will send: "limit,name,below" when
-        it pass below that limit.
-        This limit will be applied on the x absis and is expressed in pixels.
-    @endproperty
-*/
-static void
-st_collections_group_limits_horizontal(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Limit *el;
-
-   check_arg_count(2);
-
-   el = mem_alloc(SZ(Edje_Limit));
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->limits.horizontal_count++;
-   pc->limits.horizontal = realloc(pc->limits.horizontal, pc->limits.horizontal_count * sizeof (Edje_Limit *));
-   if (!pc->limits.horizontal || !el)
-     {
-        ERR("Not enough memory.");
-        exit(-1);
-     }
-
-   pc->limits.horizontal[pc->limits.horizontal_count - 1] = el;
-
-   el->name = parse_str(0);
-   el->value = parse_int_range(1, 1, 0xffff);
-}
-
-/**
-   @edcsubsection{collections_group_parts,Parts}
- */
-
-/**
-    @page edcref
-    @block
-        parts
-    @context
-        group {
-            parts {
-                alias: "theme_part_path" "real_part_path";
-                ..
-            }
-        }
-    @description
-        Alias of part give a chance to let the designer put the real one
-       in a box or reuse one from a GROUP or inside a BOX.
-    @endblock
-*/
-static void
-st_collections_group_parts_alias(void)
-{
-   Edje_Part_Collection *pc;
-   const char *alias;
-   const char *aliased;
-
-   check_arg_count(2);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   alias = parse_str(0);
-   aliased = parse_str(1);
-
-   if (!pc->alias) pc->alias = eina_hash_string_small_new(NULL);
-   eina_hash_add(pc->alias, alias, aliased);
-
-   if (!pc->aliased) pc->aliased = eina_hash_string_small_new(NULL);
-   eina_hash_add(pc->aliased, aliased, alias);
-}
-
-/**
-   @edcsubsection{collections_group_parts_part,Part}
- */
-
-/**
-    @page edcref
-    @block
-        part
-    @context
-        group {
-            parts {
-                ..
-                part {
-                    name: "partname";
-                    type: IMAGE;
-                    mouse_events:  1;
-                    repeat_events: 0;
-                    ignore_flags: NONE;
-                    clip_to: "anotherpart";
-                    source:  "groupname";
-                    pointer_mode: AUTOGRAB;
-                    use_alternate_font_metrics: 0;
-
-                    dragable { }
-                    items { }
-                    description { }
-                }
-                ..
-            }
-        }
-    @description
-        Parts are used to represent the most basic design elements of the
-        theme, for example, a part can represent a line in a border or a label
-        on a button.
-    @endblock
-*/
-static Edje_Part *
-edje_cc_handlers_part_make(void)
-{  /* Doing ob_collections_group_parts_part() job, without hierarchy */
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   Edje_Part_Parser *epp;
-
-   ep = mem_alloc(SZ(Edje_Part_Parser));
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   pc->parts_count++;
-   pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
-   if (!pc->parts)
-     {
-        ERR("Not enough memory.");
-        exit(-1);
-     }
-   current_part = pc->parts[pc->parts_count - 1] = ep;
-
-   ep->id = pc->parts_count - 1;
-   ep->type = EDJE_PART_TYPE_IMAGE;
-   ep->mouse_events = 1;
-   ep->repeat_events = 0;
-   ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
-   ep->scale = 0;
-   ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
-   ep->precise_is_inside = 0;
-   ep->use_alternate_font_metrics = 0;
-   ep->access = 0;
-   ep->clip_to_id = -1;
-   ep->dragable.confine_id = -1;
-   ep->dragable.event_id = -1;
-   ep->items = NULL;
-   ep->nested_children_count = 0;
-
-   epp = (Edje_Part_Parser *)ep;
-   epp->reorder.insert_before = NULL;
-   epp->reorder.insert_after = NULL;
-   epp->reorder.before = NULL;
-   epp->reorder.after = NULL;
-   epp->reorder.linked_prev = 0;
-   epp->reorder.linked_next = 0;
-   epp->reorder.done = EINA_FALSE;
-   epp->can_override = EINA_FALSE;
-
-   return ep;
-}
-
-static void
-ob_collections_group_parts_part(void)
-{
-   Edje_Part *cp = current_part;  /* Save to restore on pop    */
-   Edje_Part *ep = edje_cc_handlers_part_make(); /* This changes current_part */
-   Edje_Part *prnt;
-
-   /* Add this new part to hierarchy stack (removed part finished parse) */
-   edje_cc_handlers_hierarchy_push(ep, cp);
-
-   prnt = edje_cc_handlers_hierarchy_parent_get();
-   if (prnt)  /* This is the child of parent in stack */
-     prnt->nested_children_count++;
-}
-
-/**
-    @page edcref
-    @property
-        name
-    @parameters
-        [part name]
-    @effect
-        The part's name will be used as reference in the theme's relative
-        positioning system, by programs and in some cases by the application.
-        It must be unique within the group.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_name(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   Edje_Part_Parser *epp;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_part;
-   ep->name = parse_str(0);
-
-   if (ep->name)
-     {
-        unsigned int i;
-
-        for (i = 0; i < (pc->parts_count - 1); i++)
-          {  /* Compare name only if did NOT updated ep from hircy pop */
-             if ((ep != pc->parts[i]) &&
-                   (pc->parts[i]->name &&
-                    (!strcmp(pc->parts[i]->name, ep->name))))
-               {
-                  epp = (Edje_Part_Parser *)pc->parts[i];
-                  if (!epp->can_override)
-                    {
-                       ERR("parse error %s:%i. There is already a part of the name %s",
-                           file_in, line - 1, ep->name);
-                       exit(-1);
-                    }
-                  else
-                    {
-                       free(ep);
-                       pc->parts_count--;
-                       pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
-                       current_part = pc->parts[i];
-                       edje_cc_handlers_hierarchy_rename(ep, current_part);
-                       epp->can_override = EINA_FALSE;
-                       break;
-                    }
-               }
-          }
-     }
-}
-
-/**
-    @page edcref
-    @property
-        type
-    @parameters
-        [TYPE]
-    @effect
-        Set the type (all caps) from among the available types, it's set to
-        IMAGE by default. Valid types:
-            @li RECT
-            @li TEXT
-            @li IMAGE
-            @li SWALLOW
-            @li TEXTBLOCK
-            @li GROUP
-            @li BOX
-            @li TABLE
-            @li EXTERNAL
-           @li PROXY
-           @li SPACER
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_type(void)
-{
-   unsigned int type;
-
-   check_arg_count(1);
-
-   type = parse_enum(0,
-                     "NONE", EDJE_PART_TYPE_NONE,
-                     "RECT", EDJE_PART_TYPE_RECTANGLE,
-                     "TEXT", EDJE_PART_TYPE_TEXT,
-                     "IMAGE", EDJE_PART_TYPE_IMAGE,
-                     "SWALLOW", EDJE_PART_TYPE_SWALLOW,
-                     "TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK,
-                     "GROUP", EDJE_PART_TYPE_GROUP,
-                     "BOX", EDJE_PART_TYPE_BOX,
-                     "TABLE", EDJE_PART_TYPE_TABLE,
-                     "EXTERNAL", EDJE_PART_TYPE_EXTERNAL,
-                     "PROXY", EDJE_PART_TYPE_PROXY,
-                    "SPACER", EDJE_PART_TYPE_SPACER,
-                     NULL);
-
-   /* handle type change of inherited part */
-   if (type != current_part->type)
-     {
-        Edje_Part_Description_Common *new, *previous;
-        Edje_Part_Collection *pc;
-        Edje_Part *ep;
-        unsigned int i;
-
-        /* we don't free old part as we don't remove all reference to them */
-        part_description_image_cleanup(current_part);
-
-        pc = eina_list_data_get(eina_list_last(edje_collections));
-        ep = current_part;
-
-        previous = ep->default_desc;
-        if (previous)
-          {
-             new = _edje_part_description_alloc(type, pc->part, ep->name);
-             memcpy(new, previous, sizeof (Edje_Part_Description_Common));
-
-             ep->default_desc = new;
-          }
-
-        for (i = 0; i < ep->other.desc_count; i++)
-          {
-             previous = ep->other.desc[i];
-             new = _edje_part_description_alloc(type, pc->part, ep->name);
-             memcpy(new, previous, sizeof (Edje_Part_Description_Common));
-             ep->other.desc[i] = new;
-          }
-     }
-
-   current_part->type = type;
-}
-
-/**
-    @page edcref
-    @property
-        physics_body
-    @parameters
-        [TYPE]
-    @effect
-        Set the type (all caps) from among the available types of physics
-        body, it's set to NONE by default. If type is NONE no physics
-        will be applied and physics block inside part will be discarded.
-        Valid types:
-            @li NONE
-            @li RIGID_BOX
-            @li RIGID_SPHERE
-            @li RIGID_CYLINDER
-            @li SOFT_BOX
-            @li SOFT_SPHERE
-            @li SOFT_CYLINDER
-            @li CLOTH
-            @li BOUNDARY_TOP
-            @li BOUNDARY_BOTTOM
-            @li BOUNDARY_RIGHT
-            @li BOUNDARY_LEFT
-            @li BOUNDARY_FRONT
-            @li BOUNDARY_BACK
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_physics_body(void)
-{
-   unsigned int body;
-
-   check_arg_count(1);
-
-   body = parse_enum(0,
-                     "NONE", EDJE_PART_PHYSICS_BODY_NONE,
-                     "RIGID_BOX", EDJE_PART_PHYSICS_BODY_RIGID_BOX,
-                     "RIGID_SPHERE", EDJE_PART_PHYSICS_BODY_RIGID_SPHERE,
-                     "RIGID_CYLINDER", EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER,
-                     "SOFT_BOX", EDJE_PART_PHYSICS_BODY_SOFT_BOX,
-                     "SOFT_SPHERE", EDJE_PART_PHYSICS_BODY_SOFT_SPHERE,
-                     "SOFT_CYLINDER", EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER,
-                     "CLOTH", EDJE_PART_PHYSICS_BODY_CLOTH,
-                     "BOUNDARY_TOP", EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP,
-                     "BOUNDARY_BOTTOM", EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM,
-                     "BOUNDARY_RIGHT", EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT,
-                     "BOUNDARY_LEFT", EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT,
-                     "BOUNDARY_FRONT", EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT,
-                     "BOUNDARY_BACK", EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK,
-                     NULL);
-
-   current_part->physics_body = body;
-
-   if (body)
-     {
-        Edje_Part_Collection *pc;
-        pc = eina_list_data_get(eina_list_last(edje_collections));
-        pc->physics_enabled = 1;
-     }
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        part
-    @parameters
-        [part declaration]
-    @effect
-    @code
-        group {
-            parts {
-                part {
-                    name: "parent_rect";
-                    type: RECT;
-                    description { }
-                    part {
-                        name: "nested_rect";
-                        type: RECT;
-                        description { }
-                    }
-                }
-                ..
-            }
-        }
-    @endcode
-        Nested parts adds hierarchy to edje.
-        Nested part inherits it's location relatively to the parent part.
-        To declare a nested part just start a new part within current part decl.
-        You must define parent part name before adding nested parts.
-    @endproperty
-    @since 1.7.0
-*/
-
-/**
-    @page edcref
-    @property
-        insert_before
-    @parameters
-        [another part's name]
-    @effect
-        The part's name which this part is inserted before. One part cannot
-        have both insert_before and insert_after. One part cannot refer
-        more than one by insert_before.
-    @endproperty
-    @since 1.1.0
-*/
-static void
-st_collections_group_parts_part_insert_before(void)
-{
-   Edje_Part_Parser *epp;
-   check_arg_count(1);
-
-   epp = (Edje_Part_Parser *)current_part;
-   epp->reorder.insert_before = parse_str(0);
-}
-
-/**
-    @page edcref
-    @property
-        insert_after
-    @parameters
-        [another part's name]
-    @effect
-        The part's name which this part is inserted after. One part cannot
-        have both insert_before and insert_after. One part cannot refer
-        more than one by insert_after.
-    @endproperty
-    @since 1.1.0
-*/
-static void
-st_collections_group_parts_part_insert_after(void)
-{
-   Edje_Part_Parser *epp;
-   check_arg_count(1);
-
-   epp = (Edje_Part_Parser *)current_part;
-   epp->reorder.insert_after = parse_str(0);
-}
-
-/**
-    @page edcref
-    @property
-        mouse_events
-    @parameters
-        [1 or 0]
-    @effect
-        Specifies whether the part will emit signals, although it is named
-        "mouse_events", disabling it (0) will prevent the part from emitting
-        any type of signal at all. It's set to 1 by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_mouse_events(void)
-{
-   check_arg_count(1);
-
-   current_part->mouse_events = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        repeat_events
-    @parameters
-        [1 or 0]
-    @effect
-        Specifies whether a part echoes a mouse event to other parts below the
-        pointer (1), or not (0). It's set to 0 by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_repeat_events(void)
-{
-   check_arg_count(1);
-
-   current_part->repeat_events = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        ignore_flags
-    @parameters
-        [FLAG] ...
-    @effect
-        Specifies whether events with the given flags should be ignored,
-       i.e., will not have the signals emitted to the parts. Multiple flags
-       must be separated by spaces, the effect will be ignoring all events
-       with one of the flags specified. Possible flags:
-            @li NONE (default value, no event will be ignored)
-            @li ON_HOLD
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_ignore_flags(void)
-{
-   check_min_arg_count(1);
-
-   current_part->ignore_flags = parse_flags(0,
-                                 "NONE", EVAS_EVENT_FLAG_NONE,
-                                 "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD,
-                                 NULL);
-}
-
-/**
-    @page edcref
-    @property
-        scale
-    @parameters
-        [1 or 0]
-    @effect
-        Specifies whether the part will scale its size with an edje scaling
-        factor. By default scale is off (0) and the default scale factor is
-        1.0 - that means no scaling. This would be used to scale properties
-        such as font size, min/max size of the part, and possibly can be used
-        to scale based on DPI of the target device. The reason to be selective
-        is that some things work well being scaled, others do not, so the
-        designer gets to choose what works best.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_scale(void)
-{
-   check_arg_count(1);
-
-   current_part->scale = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        pointer_mode
-    @parameters
-        [MODE]
-    @effect
-        Sets the mouse pointer behavior for a given part. The default value is
-        AUTOGRAB. Aviable modes:
-            @li AUTOGRAB, when the part is clicked and the button remains
-                pressed, the part will be the source of all future mouse
-                signals emitted, even outside the object, until the button is
-                released.
-            @li NOGRAB, the effect will be limited to the part's container.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_pointer_mode(void)
-{
-   check_arg_count(1);
-
-   current_part->pointer_mode = parse_enum(0,
-                                "AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB,
-                                "NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB,
-                                NULL);
-}
-
-/**
-    @page edcref
-    @property
-        precise_is_inside
-    @parameters
-        [1 or 0]
-    @effect
-        Enables precise point collision detection for the part, which is more
-        resource intensive. Disabled by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_precise_is_inside(void)
-{
-   check_arg_count(1);
-
-   current_part->precise_is_inside = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        use_alternate_font_metrics
-    @parameters
-        [1 or 0]
-    @effect
-        Only affects text and textblock parts, when enabled Edje will use
-        different size measurement functions. Disabled by default. (note from
-        the author: I don't know what this is exactly useful for?)
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_use_alternate_font_metrics(void)
-{
-   check_arg_count(1);
-
-   current_part->use_alternate_font_metrics = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        clip_to
-    @parameters
-        [another part's name]
-    @effect
-        Only renders the area of part that coincides with another part's
-        container. Overflowing content will not be displayed. Note that
-        the part being clipped to can only be a rectangle part.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_clip_to_id(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-     {
-       char *name;
-
-       name = parse_str(0);
-       data_queue_part_lookup(pc, name, &(current_part->clip_to_id));
-       free(name);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        source
-    @parameters
-        [another group's name]
-    @effect
-        Only available to GROUP or TEXTBLOCK parts. Swallows the specified 
-        group into the part's container if a GROUP. If TEXTBLOCK it is used
-        for the group to be loaded and used for selection display UNDER the
-        selected text. source2 is used for on top of the selected text, if
-        source2 is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source = parse_str(0);
-   data_queue_group_lookup(current_part->source, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        source2
-    @parameters
-        [another group's name]
-    @effect
-        Only available to TEXTBLOCK parts. It is used for the group to be 
-        loaded and used for selection display OVER the selected text. source
-        is used for under of the selected text, if source is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source2(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source2 = parse_str(0);
-   data_queue_group_lookup(current_part->source2, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        source3
-    @parameters
-        [another group's name]
-    @effect
-        Only available to TEXTBLOCK parts. It is used for the group to be 
-        loaded and used for cursor display UNDER the cursor position. source4
-        is used for over the cursor text, if source4 is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source3(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source3 = parse_str(0);
-   data_queue_group_lookup(current_part->source3, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        source4
-    @parameters
-        [another group's name]
-    @effect
-        Only available to TEXTBLOCK parts. It is used for the group to be 
-        loaded and used for cursor display OVER the cursor position. source3
-        is used for under the cursor text, if source4 is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source4(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source4 = parse_str(0);
-   data_queue_group_lookup(current_part->source4, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        source5
-    @parameters
-        [another group's name]
-    @effect
-        Only available to TEXTBLOCK parts. It is used for the group to be 
-        loaded and used for anchors display UNDER the anchor position. source6
-        is used for over the anchors text, if source6 is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source5(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source5 = parse_str(0);
-   data_queue_group_lookup(current_part->source5, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        source6
-    @parameters
-        [another group's name]
-    @effect
-        Only available to TEXTBLOCK parts. It is used for the group to be 
-        loaded and used for anchor display OVER the anchor position. source5
-        is used for under the anchor text, if source6 is specified.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_source6(void)
-{
-   check_arg_count(1);
-
-   //FIXME: validate this somehow (need to decide on the format also)
-   current_part->source6 = parse_str(0);
-   data_queue_group_lookup(current_part->source6, current_part);
-}
-
-/**
-    @page edcref
-
-    @property
-        effect
-    @parameters
-        [EFFECT]
-        (optional) [SHADOW DIRECTION]
-    @effect
-        Causes Edje to draw the selected effect among:
-        @li PLAIN
-        @li OUTLINE
-        @li SOFT_OUTLINE
-        @li SHADOW
-        @li SOFT_SHADOW
-        @li OUTLINE_SHADOW
-        @li OUTLINE_SOFT_SHADOW
-        @li FAR_SHADOW
-        @li FAR_SOFT_SHADOW
-        @li GLOW
-
-        Shadow directions (default if not given is BOTTOM_RIGHT):
-        @li BOTTOM_RIGHT
-        @li BOTTOM
-        @li BOTTOM_LEFT
-        @li LEFT
-        @li TOP_LEFT
-        @li TOP
-        @li TOP_RIGHT
-        @li RIGHT
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_effect(void)
-{
-   check_min_arg_count(1);
-
-   current_part->effect = parse_enum(0,
-               "NONE", EDJE_TEXT_EFFECT_NONE,
-               "PLAIN", EDJE_TEXT_EFFECT_PLAIN,
-               "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE,
-               "SOFT_OUTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE,
-               "SHADOW", EDJE_TEXT_EFFECT_SHADOW,
-               "SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW,
-               "OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW,
-               "OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW,
-               "FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW,
-               "FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW,
-               "GLOW", EDJE_TEXT_EFFECT_GLOW,
-               NULL);
-   if (get_arg_count() >= 2)
-     {
-        unsigned char shadow;
-        
-        shadow = parse_enum(1,
-               "BOTTOM_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT,
-               "BOTTOM", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM,
-               "BOTTOM_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT,
-               "LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT,
-               "TOP_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT,
-               "TOP", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP,
-               "TOP_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT,
-               "RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT,
-               NULL);
-        EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(current_part->effect, shadow);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        entry_mode
-    @parameters
-        [MODE]
-    @effect
-        Sets the edit mode for a textblock part to one of:
-        @li NONE
-        @li PLAIN
-        @li EDITABLE
-        @li PASSWORD
-        It causes the part be editable if the edje object has the keyboard
-        focus AND the part has the edje focus (or selectable always
-        regardless of focus) and in the event of password mode, not
-        selectable and all text chars replaced with *'s but editable and
-        pastable.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_entry_mode(void)
-{
-   check_arg_count(1);
-
-   current_part->entry_mode = parse_enum(0,
-                              "NONE", EDJE_ENTRY_EDIT_MODE_NONE,
-                              "PLAIN", EDJE_ENTRY_EDIT_MODE_SELECTABLE,
-                              "EDITABLE", EDJE_ENTRY_EDIT_MODE_EDITABLE,
-                              "PASSWORD", EDJE_ENTRY_EDIT_MODE_PASSWORD,
-                              NULL);
-}
-
-/**
-    @page edcref
-    @property
-        select_mode
-    @parameters
-        [MODE]
-    @effect
-        Sets the selection mode for a textblock part to one of:
-        @li DEFAULT selection mode is what you would expect on any desktop. Press
-        mouse, drag and release to end.
-        @li EXPLICIT mode requires the application
-        controlling the edje object has to explicitly begin and end selection
-        modes, and the selection itself is dragable at both ends.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_select_mode(void)
-{
-   check_arg_count(1);
-
-   current_part->select_mode = parse_enum(0,
-                                "DEFAULT", EDJE_ENTRY_SELECTION_MODE_DEFAULT,
-                                "EXPLICIT", EDJE_ENTRY_SELECTION_MODE_EXPLICIT,
-                                "BLOCK_HANDLE", EDJE_ENTRY_SELECTION_MODE_DEFAULT,
-                                NULL);
-}
-
-/**
-    @page edcref
-    @property
-        cursor_mode
-    @parameters
-        [MODE]
-    @effect
-        Sets the cursor mode for a textblock part to one of:
-        @li UNDER cursor mode means the cursor will draw below the character pointed
-        at. That's the default.
-        @li BEFORE cursor mode means the cursor is drawn as a vertical line before
-        the current character, just like many other GUI toolkits handle it.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_cursor_mode(void)
-{
-   check_arg_count(1);
-
-   current_part->cursor_mode = parse_enum(0,
-                                "UNDER", EDJE_ENTRY_CURSOR_MODE_UNDER,
-                                "BEFORE", EDJE_ENTRY_CURSOR_MODE_BEFORE,
-                                NULL);
-}
-
-/**
-    @page edcref
-    @property
-        multiline
-    @parameters
-        [1 or 0]
-    @effect
-        It causes a textblock that is editable to allow multiple lines for
-        editing.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_multiline(void)
-{
-   check_arg_count(1);
-
-   current_part->multiline = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        access 
-    @parameters
-        [1 or 0]
-    @effect
-        Specifies whether the part will use accessibility feature (1),
-        or not (0). It's set to 0 by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_access(void)
-{
-   check_arg_count(1);
-
-   current_part->access = parse_bool(0);
-}
-
-/**
-   @edcsubsection{collections_group_parts_dragable,Dragable}
- */
-
-/**
-    @page edcref
-    @block
-        dragable
-    @context
-        part {
-            ..
-            dragable {
-                confine: "another part";
-                events:  "another dragable part";
-                x: 0 0 0;
-                y: 0 0 0;
-            }
-            ..
-        }
-    @description
-        When this block is used the resulting part can be dragged around the
-        interface, do not confuse with external drag & drop. By default Edje
-        (and most applications) will attempt to use the minimal size possible
-        for a dragable part. If the min property is not set in the description
-        the part will be (most likely) set to 0px width and 0px height, thus
-        invisible.
-    @endblock
-
-    @property
-        x
-    @parameters
-        [enable/disable] [step] [count]
-    @effect
-        Used to setup dragging events for the X axis. The first parameter is
-        used to enable (1 or -1) and disable (0) dragging along the axis. When
-        enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second
-        parameter takes any integer and will limit movement to values
-        divisible by it, causing the part to jump from position to position.
-        The third parameter, (question from the author: What is count for?).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_dragable_x(void)
-{
-   check_arg_count(3);
-
-   current_part->dragable.x = parse_int_range(0, -1, 1);
-   current_part->dragable.step_x = parse_int_range(1, 0, 0x7fffffff);
-   current_part->dragable.count_x = parse_int_range(2, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        y
-    @parameters
-        [enable/disable] [step] [count]
-    @effect
-        Used to setup dragging events for the Y axis. The first parameter is
-        used to enable (1 or -1) and disable (0) dragging along the axis. When
-        enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second
-        parameter takes any integer and will limit movement to values
-        divisibles by it, causing the part to jump from position to position.
-        The third parameter, (question from the author: What is count for?).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_dragable_y(void)
-{
-   check_arg_count(3);
-
-   current_part->dragable.y = parse_int_range(0, -1, 1);
-   current_part->dragable.step_y = parse_int_range(1, 0, 0x7fffffff);
-   current_part->dragable.count_y = parse_int_range(2, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        confine
-    @parameters
-        [another part's name]
-    @effect
-        When set, limits the movement of the dragged part to another part's
-        container. When you use confine don't forget to set a min size for the
-        part, or the draggie will not show up.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_dragable_confine(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-     {
-       char *name;
-
-       name = parse_str(0);
-       data_queue_part_lookup(pc, name, &(current_part->dragable.confine_id));
-       free(name);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        events
-    @parameters
-        [another dragable part's name]
-    @effect
-        It causes the part to forward the drag events to another part, thus
-        ignoring them for itself.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_dragable_events(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-     {
-       char *name;
-
-       name = parse_str(0);
-       data_queue_part_lookup(pc, name, &(current_part->dragable.event_id));
-       free(name);
-     }
-}
-
-/**
-   @edcsubsection{collections_group_parts_items,Items}
- */
-
-/**
-    @page edcref
-    @block
-        items
-    @context
-        part {
-            ..
-           box {
-                items {
-                    item {
-                        type: TYPE;
-                        source: "some source";
-                        min: 1 1;
-                        max: 100 100;
-                        padding: 1 1 2 2;
-                    }
-                    item {
-                        type: TYPE;
-                        source: "some other source";
-                        name: "some name";
-                        align: 1.0 0.5;
-                    }
-                    ..
-                }
-           }
-            ..
-        }
-    @description
-        On a part of type BOX, this block can be used to set other groups
-       as elements of the box. These can be mixed with external objects set
-       by the application through the edje_object_part_box_* API.
-    @endblock
-*/
-static void ob_collections_group_parts_part_box_items_item(void)
-{
-   Edje_Part *ep;
-   Edje_Pack_Element *item;
-   Edje_Pack_Element_Parser *pitem;
-
-   ep = current_part;
-
-   if ((ep->type != EDJE_PART_TYPE_BOX) && (ep->type != EDJE_PART_TYPE_TABLE))
-     {
-        ERR("parse error %s:%i. box attributes in non-BOX or TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ep->items_count++;
-   ep->items = realloc(ep->items, sizeof (Edje_Pack_Element*) * ep->items_count);
-   if (!ep->items)
-     {
-        ERR("Not enough memory.");
-        exit(-1);
-     }
-
-   item = mem_alloc(SZ(Edje_Pack_Element_Parser));
-   current_item = ep->items[ep->items_count - 1] = item;
-   item->type = EDJE_PART_TYPE_GROUP;
-   item->name = NULL;
-   item->source = NULL;
-   item->min.w = 0;
-   item->min.h = 0;
-   item->prefer.w = 0;
-   item->prefer.h = 0;
-   item->max.w = -1;
-   item->max.h = -1;
-   item->padding.l = 0;
-   item->padding.r = 0;
-   item->padding.t = 0;
-   item->padding.b = 0;
-   item->align.x = FROM_DOUBLE(0.5);
-   item->align.y = FROM_DOUBLE(0.5);
-   item->weight.x = FROM_DOUBLE(0.0);
-   item->weight.y = FROM_DOUBLE(0.0);
-   item->aspect.w = 0;
-   item->aspect.h = 0;
-   item->aspect.mode = EDJE_ASPECT_CONTROL_NONE;
-   item->options = NULL;
-   item->col = -1;
-   item->row = -1;
-   item->colspan = 1;
-   item->rowspan = 1;
-   pitem = (Edje_Pack_Element_Parser *)item;
-   pitem->can_override = EINA_FALSE;
-}
-
-/**
-    @page edcref
-    @property
-        type
-    @parameters
-        Only GROUP for now (defaults to it)
-    @effect
-        Sets the type of the object this item will hold.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_type(void)
-{
-   check_arg_count(1);
-
-     {
-       char *s;
-
-       s = parse_str(0);
-       if (strcmp(s, "GROUP"))
-         {
-            ERR("parse error %s:%i. token %s not one of: GROUP.",
-                file_in, line - 1, s);
-            exit(-1);
-         }
-       /* FIXME: handle the enum, once everything else is supported */
-       current_item->type = EDJE_PART_TYPE_GROUP;
-     }
-}
-
-/**
-    @page edcref
-    @property
-        name
-    @parameters
-        [name for the object]
-    @effect
-        Sets the name of the object via evas_object_name_set().
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_name(void)
-{
-   Edje_Part *ep;
-   Edje_Pack_Element *item;
-   Edje_Pack_Element_Parser *pitem;
-
-   check_arg_count(1);
-
-   ep = current_part;
-   item = ep->items[ep->items_count - 1];
-
-   item->name = parse_str(0);
-
-     {
-        unsigned int i;
-
-        for (i = 0; i < ep->items_count - 1; ++i)
-          {
-             if (ep->items[i]->name && (!strcmp(ep->items[i]->name, item->name)))
-               {
-                  pitem = (Edje_Pack_Element_Parser *)ep->items[i];
-                  if (!pitem->can_override)
-                    {
-                       ERR("parse error %s:%i. There is already a item of the name %s",
-                           file_in, line - 1, item->name);
-                       exit(-1);
-                    }
-                  else
-                    {
-                       free(item);
-                       ep->items_count--;
-                       ep->items = realloc(ep->items, ep->items_count * sizeof (Edje_Pack_Element *));
-                       current_item = ep->items[i];
-                       pitem->can_override = EINA_FALSE;
-                    }
-               }
-          }
-     }
-}
-
-/**
-    @page edcref
-    @property
-        source
-    @parameters
-        [another group's name]
-    @effect
-        Sets the group this object will be made from.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_source(void)
-{
-   check_arg_count(1);
-
-   current_item->source = parse_str(0);
-   data_queue_group_lookup(current_item->source, current_part);
-}
-
-/**
-    @page edcref
-    @property
-        min
-    @parameters
-        [width] [height]
-    @effect
-        Sets the minimum size hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_min(void)
-{
-   check_arg_count(2);
-
-   current_item->min.w = parse_int_range(0, 0, 0x7ffffff);
-   current_item->min.h = parse_int_range(1, 0, 0x7ffffff);
-}
-
-/**
-    @page edcref
-    @property
-        prefer
-    @parameters
-        [width] [height]
-    @effect
-        Sets the preferred size hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_prefer(void)
-{
-   check_arg_count(2);
-
-   current_item->prefer.w = parse_int_range(0, 0, 0x7ffffff);
-   current_item->prefer.h = parse_int_range(1, 0, 0x7ffffff);
-}
-/**
-    @page edcref
-    @property
-        max
-    @parameters
-        [width] [height]
-    @effect
-        Sets the maximum size hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_max(void)
-{
-   check_arg_count(2);
-
-   current_item->max.w = parse_int_range(0, 0, 0x7ffffff);
-   current_item->max.h = parse_int_range(1, 0, 0x7ffffff);
-}
-
-/**
-    @page edcref
-    @property
-        padding
-    @parameters
-        [left] [right] [top] [bottom]
-    @effect
-        Sets the padding hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_padding(void)
-{
-   check_arg_count(4);
-
-   current_item->padding.l = parse_int_range(0, 0, 0x7ffffff);
-   current_item->padding.r = parse_int_range(1, 0, 0x7ffffff);
-   current_item->padding.t = parse_int_range(2, 0, 0x7ffffff);
-   current_item->padding.b = parse_int_range(3, 0, 0x7ffffff);
-}
-
-/**
-    @page edcref
-    @property
-        align
-    @parameters
-        [x] [y]
-    @effect
-        Sets the alignment hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_align(void)
-{
-   check_arg_count(2);
-
-   current_item->align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
-   current_item->align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
-}
-
-/**
-    @page edcref
-    @property
-        weight
-    @parameters
-        [x] [y]
-    @effect
-        Sets the weight hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_weight(void)
-{
-   check_arg_count(2);
-
-   current_item->weight.x = FROM_DOUBLE(parse_float_range(0, 0.0, 99999.99));
-   current_item->weight.y = FROM_DOUBLE(parse_float_range(1, 0.0, 99999.99));
-}
-
-/**
-    @page edcref
-    @property
-        aspect
-    @parameters
-        [w] [h]
-    @effect
-        Sets the aspect width and height hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_aspect(void)
-{
-   check_arg_count(2);
-
-   current_item->aspect.w = parse_int_range(0, 0, 0x7fffffff);
-   current_item->aspect.h = parse_int_range(1, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        aspect_mode
-    @parameters
-        NONE, NEITHER, HORIZONTAL, VERTICAL, BOTH
-    @effect
-        Sets the aspect control hints for this object.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_aspect_mode(void)
-{
-   check_arg_count(1);
-
-   current_item->aspect.mode = parse_enum(0,
-                                 "NONE", EDJE_ASPECT_CONTROL_NONE,
-                                 "NEITHER", EDJE_ASPECT_CONTROL_NEITHER,
-                                 "HORIZONTAL", EDJE_ASPECT_CONTROL_HORIZONTAL,
-                                 "VERTICAL", EDJE_ASPECT_CONTROL_VERTICAL,
-                                 "BOTH", EDJE_ASPECT_CONTROL_BOTH,
-                                 NULL);
-}
-
-/**
-    @page edcref
-    @property
-        options
-    @parameters
-        [extra options]
-    @effect
-        Sets extra options for the object. Unused for now.
-    @endproperty
-*/
-static void st_collections_group_parts_part_box_items_item_options(void)
-{
-   check_arg_count(1);
-
-   current_item->options = parse_str(0);
-}
-
-/**
-    @page edcref
-    @property
-        position
-    @parameters
-        [col] [row]
-    @effect
-        Sets the position this item will have in the table.
-        This is required for parts of type TABLE.
-    @endproperty
-*/
-static void st_collections_group_parts_part_table_items_item_position(void)
-{
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. table attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   current_item->col = parse_int_range(0, 0, 0xffff);
-   current_item->row = parse_int_range(1, 0, 0xffff);
-}
-
-/**
-    @page edcref
-    @property
-        span
-    @parameters
-        [col] [row]
-    @effect
-        Sets how many columns/rows this item will use.
-        Defaults to 1 1.
-    @endproperty
-*/
-static void st_collections_group_parts_part_table_items_item_span(void)
-{
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. table attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   current_item->colspan = parse_int_range(0, 1, 0xffff);
-   current_item->rowspan = parse_int_range(1, 1, 0xffff);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description,Description}
- */
-
-/**
-    @page edcref
-    @block
-        description
-    @context
-        description {
-            inherit: "another_description" INDEX;
-            state: "description_name" INDEX;
-            visible: 1;
-            min: 0 0;
-            max: -1 -1;
-            align: 0.5 0.5;
-            fixed: 0 0;
-            step: 0 0;
-            aspect: 1 1;
-
-            rel1 {
-                ..
-            }
-
-            rel2 {
-                ..
-            }
-        }
-    @description
-        Every part can have one or more description blocks. Each description is
-        used to define style and layout properties of a part in a given
-        "state".
-    @endblock
-*/
-static void
-ob_collections_group_parts_part_description(void)
-{  /* Allocate and set desc, set relative part hierarchy if needed */
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   Edje_Part_Description_Common *ed;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_part;
-
-   ed = _edje_part_description_alloc(ep->type, pc->part, ep->name);
-
-   ed->rel1.id_x = -1;
-   ed->rel1.id_y = -1;
-   ed->rel2.id_x = -1;
-   ed->rel2.id_y = -1;
-
-   if (!ep->default_desc)
-     {
-        current_desc = ep->default_desc = ed;
-
-          {  /* Get the ptr of the part above current part in hierarchy */
-             Edje_Part *node = edje_cc_handlers_hierarchy_parent_get();
-             if (node)  /* Make relative according to part hierarchy */
-               edje_cc_handlers_hierarchy_set(node);
-          }
-     }
-   else
-     {
-        ep->other.desc_count++;
-        ep->other.desc = realloc(ep->other.desc,
-                                 sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
-        current_desc = ep->other.desc[ep->other.desc_count - 1] = ed;
-     }
-
-   ed->visible = 1;
-   ed->limit = 0;
-   ed->align.x = FROM_DOUBLE(0.5);
-   ed->align.y = FROM_DOUBLE(0.5);
-   ed->min.w = 0;
-   ed->min.h = 0;
-   ed->fixed.w = 0;
-   ed->fixed.h = 0;
-   ed->max.w = -1;
-   ed->max.h = -1;
-   ed->rel1.relative_x = FROM_DOUBLE(0.0);
-   ed->rel1.relative_y = FROM_DOUBLE(0.0);
-   ed->rel1.offset_x = 0;
-   ed->rel1.offset_y = 0;
-   ed->rel2.relative_x = FROM_DOUBLE(1.0);
-   ed->rel2.relative_y = FROM_DOUBLE(1.0);
-   ed->rel2.offset_x = -1;
-   ed->rel2.offset_y = -1;
-   ed->color_class = NULL;
-   ed->color.r = 255;
-   ed->color.g = 255;
-   ed->color.b = 255;
-   ed->color.a = 255;
-   ed->color2.r = 0;
-   ed->color2.g = 0;
-   ed->color2.b = 0;
-   ed->color2.a = 255;
-   ed->map.id_persp = -1;
-   ed->map.id_light = -1;
-   ed->map.rot.id_center = -1;
-   ed->map.rot.x = FROM_DOUBLE(0.0);
-   ed->map.rot.y = FROM_DOUBLE(0.0);
-   ed->map.rot.z = FROM_DOUBLE(0.0);
-   ed->map.on = 0;
-   ed->map.smooth = 1;
-   ed->map.alpha = 1;
-   ed->map.backcull = 0;
-   ed->map.persp_on = 0;
-   ed->persp.zplane = 0;
-   ed->persp.focal = 1000;
-   ed->minmul.have = 1;
-   ed->minmul.w = FROM_INT(1);
-   ed->minmul.h = FROM_INT(1);
-}
-
-/**
-    @page edcref
-    @property
-        inherit
-    @parameters
-        [another description's name] [another description's index]
-    @effect
-        When set, the description will inherit all the properties from the
-        named description. The properties defined in this part will override
-        the inherited properties, reducing the amount of necessary code for
-        simple state changes. Note: inheritance in Edje is single level only.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_inherit(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   Edje_Part_Description_Common *ed, *parent = NULL;
-   Edje_Part_Image_Id *iid;
-   char *parent_name;
-   const char *state_name;
-   double parent_val, state_val;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_part;
-   ed = current_desc;
-
-   if (!ed->state.name)
-     {
-        ERR("parse error %s:%i. inherit may only be used after state",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   parent = parent_desc;
-   if (!parent)
-     {
-        check_min_arg_count(1);
-
-        /* inherit may not be used in the default description */
-        if (!ep->other.desc_count)
-          {
-             ERR("parse error %s:%i. "
-                 "inherit may not be used in the default description",
-                 file_in, line - 1);
-             exit(-1);
-          }
-
-        /* find the description that we inherit from */
-        parent_name = parse_str(0);
-        if (get_arg_count() == 2)
-          parent_val = parse_float_range(1, 0.0, 1.0);
-        else
-          parent_val = 0.0;
-
-        if (!strcmp (parent_name, "default") && parent_val == 0.0)
-          parent = ep->default_desc;
-        else
-          {
-             Edje_Part_Description_Common *d;
-             double min_dst = 999.0;
-             unsigned int i;
-
-             if (!strcmp(parent_name, "default"))
-               {
-                  parent = ep->default_desc;
-                  min_dst = ABS(ep->default_desc->state.value - parent_val);
-               }
-
-             for (i = 0; i < ep->other.desc_count; ++i)
-               {
-                  d = ep->other.desc[i];
-
-                  if (!strcmp (d->state.name, parent_name))
-                    {
-
-                       double dst;
-
-                       dst = ABS(d->state.value - parent_val);
-                       if (dst < min_dst)
-                         {
-                            parent = d;
-                            min_dst = dst;
-                         }
-                    }
-               }
-          }
-
-        if (!parent)
-          {
-             ERR("parse error %s:%i. "
-                 "cannot find referenced part %s state %s %lf",
-                 file_in, line - 1, ep->name, parent_name, parent_val);
-             exit(-1);
-          }
-
-        free(parent_name);
-     }
-   /* now do a full copy, only state info will be kept */
-   state_name = ed->state.name;
-   state_val = ed->state.value;
-
-   *ed = *parent;
-
-   ed->state.name = state_name;
-   ed->state.value = state_val;
-
-   data_queue_copied_part_lookup(pc, &parent->rel1.id_x, &ed->rel1.id_x);
-   data_queue_copied_part_lookup(pc, &parent->rel1.id_y, &ed->rel1.id_y);
-   data_queue_copied_part_lookup(pc, &parent->rel2.id_x, &ed->rel2.id_x);
-   data_queue_copied_part_lookup(pc, &parent->rel2.id_y, &ed->rel2.id_y);
-
-   data_queue_copied_part_lookup(pc, &parent->map.id_persp, &ed->map.id_persp);
-   data_queue_copied_part_lookup(pc, &parent->map.id_light, &ed->map.id_light);
-   data_queue_copied_part_lookup(pc, &parent->map.rot.id_center, &ed->map.rot.id_center);
-
-   /* make sure all the allocated memory is getting copied, not just
-    * referenced
-    */
-#define STRDUP(x) x ? strdup(x) : NULL
-
-   ed->color_class = STRDUP(ed->color_class);
-   switch (ep->type)
-     {
-      case EDJE_PART_TYPE_SPACER:
-      case EDJE_PART_TYPE_RECTANGLE:
-      case EDJE_PART_TYPE_SWALLOW:
-      case EDJE_PART_TYPE_GROUP:
-         /* Nothing todo, this part only have a common description. */
-         break;
-      case EDJE_PART_TYPE_TEXT:
-      case EDJE_PART_TYPE_TEXTBLOCK:
-           {
-              Edje_Part_Description_Text *ted = (Edje_Part_Description_Text*) ed;
-              Edje_Part_Description_Text *tparent = (Edje_Part_Description_Text*) parent;
-
-              ted->text = tparent->text;
-
-              ted->text.text.str = STRDUP(ted->text.text.str);
-              ted->text.text_class = STRDUP(ted->text.text_class);
-              ted->text.font.str = STRDUP(ted->text.font.str);
-
-              data_queue_copied_part_lookup(pc, &(tparent->text.id_source), &(ted->text.id_source));
-              data_queue_copied_part_lookup(pc, &(tparent->text.id_text_source), &(ted->text.id_text_source));
-
-              break;
-           }
-      case EDJE_PART_TYPE_IMAGE:
-           {
-              Edje_Part_Description_Image *ied = (Edje_Part_Description_Image *) ed;
-              Edje_Part_Description_Image *iparent = (Edje_Part_Description_Image *) parent;
-              unsigned int i;
-
-              ied->image = iparent->image;
-
-              data_queue_image_remove(&ied->image.id, &ied->image.set);
-              data_queue_copied_image_lookup(&iparent->image.id, &ied->image.id, &ied->image.set);
-
-              ied->image.tweens = calloc(iparent->image.tweens_count,
-                                         sizeof (Edje_Part_Image_Id*));
-              for (i = 0; i < iparent->image.tweens_count; i++)
-                {
-                   Edje_Part_Image_Id *iid_new;
-
-                   iid = iparent->image.tweens[i];
-
-                   iid_new = mem_alloc(SZ(Edje_Part_Image_Id));
-                   data_queue_image_remove(&ied->image.id, &ied->image.set);
-                   data_queue_copied_image_lookup(&(iid->id), &(iid_new->id), &(iid_new->set));
-                   ied->image.tweens[i] = iid_new;
-                }
-
-              break;
-           }
-      case EDJE_PART_TYPE_PROXY:
-           {
-              Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy*) ed;
-              Edje_Part_Description_Proxy *pparent = (Edje_Part_Description_Proxy*) parent;
-
-              data_queue_copied_part_lookup(pc, &(pparent->proxy.id), &(ped->proxy.id));
-
-              break;
-           }
-      case EDJE_PART_TYPE_BOX:
-           {
-              Edje_Part_Description_Box *bed = (Edje_Part_Description_Box *) ed;
-              Edje_Part_Description_Box *bparent = (Edje_Part_Description_Box *) parent;
-
-              bed->box = bparent->box;
-
-              break;
-           }
-      case EDJE_PART_TYPE_TABLE:
-           {
-              Edje_Part_Description_Table *ted = (Edje_Part_Description_Table *) ed;
-              Edje_Part_Description_Table *tparent = (Edje_Part_Description_Table *) parent;
-
-              ted->table = tparent->table;
-
-              break;
-           }
-      case EDJE_PART_TYPE_EXTERNAL:
-           {
-              Edje_Part_Description_External *eed = (Edje_Part_Description_External *) ed;
-              Edje_Part_Description_External *eparent = (Edje_Part_Description_External *) parent;
-
-              if (eparent->external_params)
-                {
-                   Eina_List *l;
-                   Edje_External_Param *param, *new_param;
-
-                   eed->external_params = NULL;
-                   EINA_LIST_FOREACH(eparent->external_params, l, param)
-                     {
-                        new_param = mem_alloc(SZ(Edje_External_Param));
-                        *new_param = *param;
-                        eed->external_params = eina_list_append(eed->external_params, new_param);
-                     }
-                }
-              break;
-           }
-     }
-
-#undef STRDUP
-}
-
-/**
-    @page edcref
-
-    @property
-        source
-    @parameters
-        [another part's name]
-    @effect
-        Causes the part to use another part content as the content of this part.
-        Only work with PROXY part.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_source(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part_Description_Proxy *ed;
-   char *name;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if (current_part->type != EDJE_PART_TYPE_PROXY)
-     {
-        ERR("parse error %s:%i. source attributes in non-PROXY part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Proxy*) current_desc;
-
-   name = parse_str(0);
-
-   data_queue_part_lookup(pc, name, &(ed->proxy.id));
-   free(name);
-}
-
-/**
-    @page edcref
-    @property
-        state
-    @parameters
-        [a name for the description] [an index]
-    @effect
-        Sets a name used to identify a description inside a given part.
-        Multiple descriptions are used to declare different states of the same
-        part, like "clicked" or "invisible". All states declarations are also
-        coupled with an index number between 0.0 and 1.0. All parts must have
-        at least one description named "default 0.0".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_state(void)
-{
-   Edje_Part *ep;
-   Edje_Part_Description_Common *ed;
-   char *s;
-
-   check_min_arg_count(1);
-
-   ep = current_part;
-
-   ed = ep->default_desc;
-   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
-
-   s = parse_str(0);
-   if (!strcmp (s, "custom"))
-     {
-        ERR("parse error %s:%i. invalid state name: '%s'.",
-            file_in, line - 1, s);
-        exit(-1);
-     }
-
-   ed->state.name = s;
-   if (get_arg_count() == 1)
-     ed->state.value = 0.0;
-   else
-     ed->state.value = parse_float_range(1, 0.0, 1.0);
-
-   if (ed != ep->default_desc)
-     {
-        if ((ep->default_desc->state.name && !strcmp(s, ep->default_desc->state.name) && ed->state.value == ep->default_desc->state.value) ||
-            (!ep->default_desc->state.name && !strcmp(s, "default") && ed->state.value == ep->default_desc->state.value))
-          {
-             if (ep->type == EDJE_PART_TYPE_IMAGE)
-               _edje_part_description_image_remove((Edje_Part_Description_Image*) ed);
-
-             free(ed);
-             ep->other.desc_count--;
-             ep->other.desc = realloc(ep->other.desc,
-                                      sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
-             current_desc = ep->default_desc;
-          }
-        else if (ep->other.desc_count)
-          {
-             unsigned int i;
-             for (i = 0; i < ep->other.desc_count - 1; ++i)
-               {
-                  if (!strcmp(s, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value)
-                    {
-                       if (ep->type == EDJE_PART_TYPE_IMAGE)
-                         _edje_part_description_image_remove((Edje_Part_Description_Image*) ed);
-
-                       free(ed);
-                       ep->other.desc_count--;
-                       ep->other.desc = realloc(ep->other.desc,
-                                                sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
-                       current_desc = ep->other.desc[i];
-                       break;
-                    }
-               }
-          }
-     }
-}
-
-/**
-    @page edcref
-    @property
-        visible
-    @parameters
-        [0 or 1]
-    @effect
-        Takes a boolean value specifying whether part is visible (1) or not
-        (0). Non-visible parts do not emit signals. The default value is 1.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_visible(void)
-{
-   check_arg_count(1);
-
-   if (current_part->type == EDJE_PART_TYPE_SPACER)
-     {
-       ERR("parse error %s:%i. SPACER part can't have a visibility defined",
-          file_in, line - 1);
-       exit(-1);
-     }
-
-   current_desc->visible = parse_bool(0);
-}
-/**
-    @page edcref
-    @property
-        limit
-    @parameters
-        [NONE, WIDTH, HEIGHT or BOTH]
-    @effect
-       Emit a signal when the part size change from zero or to a zero size
-       ('limit,width,over', 'limit,width,zero'). By default no signal are
-       emitted.
-    @endproperty
-    @since 1.7.0
-*/
-static void
-st_collections_group_parts_part_description_limit(void)
-{
-   check_arg_count(1);
-
-   current_desc->limit = parse_enum(0,
-                                   "NONE", 0,
-                                   "WIDTH", 1,
-                                   "HEIGHT", 2,
-                                   "BOTH", 3);
-
-   if (current_desc->limit)
-     {
-        Edje_Part_Collection *pc;
-        int count;
-
-        pc = eina_list_data_get(eina_list_last(edje_collections));
-        count = pc->limits.parts_count++;
-        pc->limits.parts = realloc(pc->limits.parts,
-                                   pc->limits.parts_count * sizeof (Edje_Part_Limit));
-        data_queue_part_lookup(pc, current_part->name,
-                               &(pc->limits.parts[count].part));
-     }
-}
-
-/**
-    @page edcref
-    @property
-        align
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        When the displayed object's size is smaller than its container, this
-        property moves it relatively along both axis inside its container. The
-        default value is "0.5 0.5".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_align(void)
-{
-   check_arg_count(2);
-
-   current_desc->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
-   current_desc->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
-}
-
-/**
-    @page edcref
-    @property
-        fixed
-    @parameters
-        [width, 0 or 1] [height, 0 or 1]
-    @effect
-        This affects the minimum size calculation. See
-        edje_object_size_min_calc() and edje_object_size_min_restricted_calc().
-        This tells the min size calculation routine that this part does not
-        change size in width or height (1 for it doesn't, 0 for it does), so
-        the routine should not try and expand or contract the part.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fixed(void)
-{
-   check_arg_count(2);
-
-   current_desc->fixed.w = parse_float_range(0, 0, 1);
-   current_desc->fixed.h = parse_float_range(1, 0, 1);
-}
-
-/**
-    @page edcref
-    @property
-        min
-    @parameters
-        [width] [height] or SOURCE
-    @effect
-        The minimum size of the state.
-
-        When min is defined to SOURCE, it will look at the original
-        image size and enforce it minimal size to match at least the
-        original one. The part must be an IMAGE or a GROUP part.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_min(void)
-{
-   check_min_arg_count(1);
-
-   if (is_param(1)) {
-      current_desc->min.w = parse_float_range(0, 0, 0x7fffffff);
-      current_desc->min.h = parse_float_range(1, 0, 0x7fffffff);
-   } else {
-      char *tmp;
-
-      tmp = parse_str(0);
-      if ((current_part->type != EDJE_PART_TYPE_IMAGE && current_part->type != EDJE_PART_TYPE_GROUP) ||
-          !tmp || strcmp(tmp, "SOURCE") != 0)
-        {
-           ERR("parse error %s:%i. "
-               "Only IMAGE and GROUP part can have a min: SOURCE; defined",
-               file_in, line - 1);
-           exit(-1);
-        }
-
-      current_desc->min.limit = EINA_TRUE;
-   }
-}
-
-/**
-    @page edcref
-    @property
-        minmul
-    @parameters
-        [width multipler] [height multiplier]
-    @effect
-        A multiplier FORCIBLY applied to whatever minimum size is only during
-        minimum size calculation.
-    @endproperty
-    @since 1.2
-*/
-static void
-st_collections_group_parts_part_description_minmul(void)
-{
-   check_arg_count(2);
-
-   current_desc->minmul.w = FROM_DOUBLE(parse_float_range(0, 0, 999999));
-   current_desc->minmul.h = FROM_DOUBLE(parse_float_range(1, 0, 999999));
-}
-
-/**
-    @page edcref
-    @property
-        max
-    @parameters
-        [width] [height] or SOURCE
-    @effect
-        The maximum size of the state. A size of -1.0 means that it will be ignored in one direction.
-
-        When max is set to SOURCE, edje will enforce the part to be
-        not more than the original image size. The part must be an
-        IMAGE part.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_max(void)
-{
-   check_min_arg_count(1);
-
-   if (is_param(1)) {
-      current_desc->max.w = parse_float_range(0, -1.0, 0x7fffffff);
-      current_desc->max.h = parse_float_range(1, -1.0, 0x7fffffff);
-   } else {
-      char *tmp;
-
-      tmp = parse_str(0);
-      if (current_part->type != EDJE_PART_TYPE_IMAGE ||
-          !tmp || strcmp(tmp, "SOURCE") != 0)
-        {
-           ERR("parse error %s:%i. "
-               "Only IMAGE part can have a max: SOURCE; defined",
-               file_in, line - 1);
-           exit(-1);
-        }
-
-      current_desc->max.limit = EINA_TRUE;
-   }
-}
-
-/**
-    @page edcref
-    @property
-        step
-    @parameters
-        [width] [height]
-    @effect
-        Restricts resizing of each dimension to values divisibles by its value.
-        This causes the part to jump from value to value while resizing. The
-        default value is "0 0" disabling stepping.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_step(void)
-{
-   check_arg_count(2);
-
-   current_desc->step.x = parse_float_range(0, 0, 0x7fffffff);
-   current_desc->step.y = parse_float_range(1, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        aspect
-    @parameters
-        [min] [max]
-    @effect
-        Normally width and height can be resized to any values independently.
-        The aspect property forces the width to height ratio to be kept between
-        the minimum and maximum set. For example, "1.0 1.0" will increase the
-        width a pixel for every pixel added to height. The default value is
-        "0.0 0.0" disabling aspect.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_aspect(void)
-{
-   check_arg_count(2);
-
-   current_desc->aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
-   current_desc->aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
-}
-
-/**
-    @page edcref
-    @property
-        aspect_preference
-    @parameters
-        [DIMENSION]
-    @effect
-        Sets the scope of the "aspect" property to a given dimension. Available
-        options are BOTH, VERTICAL, HORIZONTAL, SOURCE and NONE
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_aspect_preference(void)
-{
-   check_arg_count(1);
-
-   current_desc->aspect.prefer =  parse_enum(0,
-                                  "NONE", EDJE_ASPECT_PREFER_NONE,
-                                  "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
-                                  "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
-                                  "BOTH", EDJE_ASPECT_PREFER_BOTH,
-                                  "SOURCE", EDJE_ASPECT_PREFER_SOURCE,
-                                  NULL);
-}
-
-/**
-    @page edcref
-    @property
-        color_class
-    @parameters
-        [color class name]
-    @effect
-        The part will use the color values of the named color_class, these
-        values can be overrided by the "color", "color2" and "color3"
-        properties set below.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_color_class(void)
-{
-   check_arg_count(1);
-
-   if (current_part->type == EDJE_PART_TYPE_SPACER)
-     {
-       ERR("parse error %s:%i. SPACER part can't have a color defined",
-          file_in, line - 1);
-       exit(-1);
-     }
-
-   current_desc->color_class = parse_str(0);
-}
-
-/**
-    @page edcref
-    @property
-        color
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        Sets the main color to the specified values (between 0 and 255).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_color(void)
-{
-   check_arg_count(4);
-
-   if (current_part->type == EDJE_PART_TYPE_SPACER)
-     {
-       ERR("parse error %s:%i. SPACER part can't have a color defined",
-          file_in, line - 1);
-       exit(-1);
-     }
-
-   current_desc->color.r = parse_int_range(0, 0, 255);
-   current_desc->color.g = parse_int_range(1, 0, 255);
-   current_desc->color.b = parse_int_range(2, 0, 255);
-   current_desc->color.a = parse_int_range(3, 0, 255);
-}
-
-/**
-    @page edcref
-    @property
-        color2
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        Sets the text shadow color to the specified values (0 to 255).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_color2(void)
-{
-   check_arg_count(4);
-
-   if (current_part->type == EDJE_PART_TYPE_SPACER)
-     {
-       ERR("parse error %s:%i. SPACER part can't have a color defined",
-          file_in, line - 1);
-       exit(-1);
-     }
-
-   current_desc->color2.r = parse_int_range(0, 0, 255);
-   current_desc->color2.g = parse_int_range(1, 0, 255);
-   current_desc->color2.b = parse_int_range(2, 0, 255);
-   current_desc->color2.a = parse_int_range(3, 0, 255);
-}
-
-/**
-    @page edcref
-    @property
-        color3
-    @parameters
-        [red] [green] [blue] [alpha]
-    @effect
-        Sets the text outline color to the specified values (0 to 255).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_color3(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(4);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if (current_part->type != EDJE_PART_TYPE_TEXT
-       && current_part->type != EDJE_PART_TYPE_TEXTBLOCK)
-     {
-        ERR("Setting color3 in part %s from %s not of type TEXT or TEXTBLOCK.",
-            current_part->name, pc->part);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*)current_desc;
-
-   ed->text.color3.r = parse_int_range(0, 0, 255);
-   ed->text.color3.g = parse_int_range(1, 0, 255);
-   ed->text.color3.b = parse_int_range(2, 0, 255);
-   ed->text.color3.a = parse_int_range(3, 0, 255);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_relatives,Relatives (rel1/rel2)}
- */
-
-/**
-    @page edcref
-    @block
-        rel1/rel2
-    @context
-        description {
-            ..
-            rel1 {
-                relative: 0.0 0.0;
-                offset:     0   0;
-            }
-            ..
-            rel2 {
-                relative: 1.0 1.0;
-                offset:    -1  -1;
-            }
-            ..
-        }
-    @description
-        The rel1 and rel2 blocks are used to define the position of each corner
-        of the part's container. With rel1 being the left-up corner and rel2
-        being the right-down corner.
-    @endblock
-
-    @property
-        relative
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        Moves a corner to a relative position inside the container of the
-        relative "to" part. Values from 0.0 (0%, beginning) to 1.0 (100%, end)
-        of each axis.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_rel1_relative(void)
-{
-   check_arg_count(2);
-
-   current_desc->rel1.relative_x = FROM_DOUBLE(parse_float(0));
-   current_desc->rel1.relative_y = FROM_DOUBLE(parse_float(1));
-}
-
-/**
-    @page edcref
-    @property
-        offset
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        Affects the corner position a fixed number of pixels along each axis.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_rel1_offset(void)
-{
-   check_arg_count(2);
-
-   current_desc->rel1.offset_x = parse_int(0);
-   current_desc->rel1.offset_y = parse_int(1);
-}
-
-/**
-    @page edcref
-    @property
-        to
-    @parameters
-        [another part's name]
-    @effect
-        Causes a corner to be positioned relatively to another part's
-        container. Setting to "" will un-set this value for inherited
-        parts.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_rel1_to_set(const char *name)
-{
-   Edje_Part_Collection *pc;
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x));
-   data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y));
-}
-
-static void
-st_collections_group_parts_part_description_rel1_to(void)
-{
-   check_arg_count(1);
-
-   {
-      char *name;
-      name = parse_str(0);
-      st_collections_group_parts_part_description_rel1_to_set(name);
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        to_x
-    @parameters
-        [another part's name]
-    @effect
-        Causes a corner to be positioned relatively to the X axis of another
-        part's container. Simply put affects the first parameter of "relative".
-        Setting to "" will un-set this value for inherited parts.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_rel1_to_x(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        to_y
-    @parameters
-        [another part's name]
-    @effect
-        Causes a corner to be positioned relatively to the Y axis of another
-        part's container. Simply put, affects the second parameter of
-        "relative". Setting to "" will un-set this value for inherited parts.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_rel1_to_y(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y));
-      free(name);
-   }
-}
-
-static void
-st_collections_group_parts_part_description_rel2_relative(void)
-{
-   check_arg_count(2);
-
-   current_desc->rel2.relative_x = FROM_DOUBLE(parse_float(0));
-   current_desc->rel2.relative_y = FROM_DOUBLE(parse_float(1));
-}
-
-static void
-st_collections_group_parts_part_description_rel2_offset(void)
-{
-   check_arg_count(2);
-
-   current_desc->rel2.offset_x = parse_int(0);
-   current_desc->rel2.offset_y = parse_int(1);
-}
-
-static void
-st_collections_group_parts_part_description_rel2_to_set(const char *name)
-{
-   Edje_Part_Collection *pc;
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x));
-   data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y));
-}
-
-static void
-st_collections_group_parts_part_description_rel2_to(void)
-{
-   check_arg_count(1);
-
-   {
-      char *name;
-      name = parse_str(0);
-      st_collections_group_parts_part_description_rel2_to_set(name);
-      free(name);
-   }
-}
-
-static void
-st_collections_group_parts_part_description_rel2_to_x(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x));
-      free(name);
-   }
-}
-
-static void
-st_collections_group_parts_part_description_rel2_to_y(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y));
-      free(name);
-   }
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_image,Image}
- */
-
-/**
-    @page edcref
-    @block
-        image
-    @context
-        description {
-            ..
-            image {
-                normal: "filename.ext";
-                tween:  "filename2.ext";
-                ..
-                tween:  "filenameN.ext";
-                border:  left right top bottom;
-                middle:  0/1/NONE/DEFAULT/SOLID;
-                fill { }
-            }
-            ..
-        }
-    @description
-    @endblock
-
-    @property
-        normal
-    @parameters
-        [image's filename]
-    @effect
-        Name of image to be used as previously declared in the  images block.
-        In an animation, this is the first and last image displayed. It's
-        required in any image part
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_normal(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. "
-            "image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_image_remove(&(ed->image.id), &(ed->image.set));
-      data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        tween
-    @parameters
-        [image's filename]
-    @effect
-        Name of an image to be used in an animation loop, an image block can
-        have none, one or multiple tween declarations. Images are displayed in
-        the order they are listed, during the transition to the state they are
-        declared in; the "normal" image is the final state.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_tween(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   {
-      char *name;
-      Edje_Part_Image_Id *iid;
-
-      iid = mem_alloc(SZ(Edje_Part_Image_Id));
-      ed->image.tweens_count++;
-      ed->image.tweens = realloc(ed->image.tweens,
-                                sizeof (Edje_Part_Image_Id*) * ed->image.tweens_count);
-      ed->image.tweens[ed->image.tweens_count - 1] = iid;
-      name = parse_str(0);
-      data_queue_image_remove(&(iid->id), &(iid->set));
-      data_queue_image_lookup(name, &(iid->id), &(iid->set));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        border
-    @parameters
-        [left] [right] [top] [bottom]
-    @effect
-        If set, the area (in pixels) of each side of the image will be
-        displayed as a fixed size border, from the side -> inwards, preventing
-        the corners from being changed on a resize.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_border(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(4);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   ed->image.border.l = parse_int_range(0, 0, 0x7fffffff);
-   ed->image.border.r = parse_int_range(1, 0, 0x7fffffff);
-   ed->image.border.t = parse_int_range(2, 0, 0x7fffffff);
-   ed->image.border.b = parse_int_range(3, 0, 0x7fffffff);
-}
-
-/**
-    @page edcref
-    @property
-        middle
-    @parameters
-        0, 1, NONE, DEFAULT, SOLID
-    @effect
-        If border is set, this value tells Edje if the rest of the
-        image (not covered by the defined border) will be displayed or not
-        or be assumed to be solid (without alpha). The default is 1/DEFAULT.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_middle(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   ed->image.border.no_fill =  parse_enum(0,
-                                         "1", 0,
-                                         "DEFAULT", 0,
-                                         "0", 1,
-                                         "NONE", 1,
-                                         "SOLID", 2,
-                                         NULL);
-}
-
-/**
-    @page edcref
-    @property
-        border_scale_by
-    @parameters
-        0.0 or bigger (0.0 or 1.0 to turn it off)
-    @effect
-        If border scaling is enabled then normally the OUTPUT border sizes
-        (e.g. if 3 pixels on the left edge are set as a border, then normally
-        at scale 1.0, those 3 columns will always be the exact 3 columns of
-        output, or at scale 2.0 they will be 6 columns, or 0.33 they will merge
-        into a single column). This property multiplies the input scale
-        factor by this multiplier, allowing the creation of "supersampled"
-        borders to make much higher resolution outputs possible by always using
-        the highest resolution artwork and then runtime scaling it down.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_border_scale_by(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   ed->image.border.scale_by = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
-}
-
-/**
-    @page edcref
-    @property
-        border_scale
-    @parameters
-        0, 1
-    @effect
-        If border is set, this value tells Edje if the border should be scaled
-        by the object/global edje scale factors
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_border_scale(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   ed->image.border.scale =  parse_enum(0,
-                                       "0", 0,
-                                       "1", 1,
-                                       NULL);
-}
-
-/**
-    @page edcref
-    @property
-        scale_hint
-    @parameters
-        0, NONE, DYNAMIC, STATIC
-    @effect
-        Sets the evas image scale hint letting the engine more effectively save
-        cached copies of the scaled image if it makes sense
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_image_scale_hint(void)
-{
-   Edje_Part_Description_Image *ed;
-
-   check_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) current_desc;
-
-   ed->image.scale_hint =  parse_enum(0,
-                                     "NONE", EVAS_IMAGE_SCALE_HINT_NONE,
-                                     "DYNAMIC", EVAS_IMAGE_SCALE_HINT_DYNAMIC,
-                                     "STATIC", EVAS_IMAGE_SCALE_HINT_STATIC,
-                                     "0", EVAS_IMAGE_SCALE_HINT_NONE,
-                                     NULL);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_image_fill,Fill}
- */
-
-/**
-    @page edcref
-    @block
-        fill
-    @context
-        description {
-            ..
-            fill {
-                smooth: 0-1;
-                origin {
-                    relative: X-axis Y-axis;
-                    offset:   X-axis Y-axis;
-                }
-                size {
-                    relative: width  height;
-                    offset:   width  height;
-                }
-            }
-            ..
-        }
-    @description
-        The fill method is an optional block that defines the way an IMAGE part
-        is going to be displayed inside its container.
-        It can be used for tiling (repeating the image) or displaying only
-        part of an image. See @ref evas_object_image_fill_set() documentation
-        for more details.
-    @endblock
-
-    @property
-        smooth
-    @parameters
-        [0 or 1]
-    @effect
-        The smooth property takes a boolean value to decide if the image will
-        be smoothed on scaling (1) or not (0). The default value is 1.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_smooth(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(1);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY `%s` part (%i).",
-               file_in, line - 1, current_part->name, current_part->type);
-           exit(-1);
-        }
-     }
-
-   fill->smooth = parse_bool(0);
-}
-
-/**
-    @page edcref
-
-    @property
-        spread
-    @parameters
-        TODO
-    @effect
-        TODO
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_spread(void)
-{
-#if 0
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   Edje_Part_Description_Image *ed;
-#endif
-
-   check_arg_count(1);
-
-   /* XXX this will need to include IMAGES when spread support is added to evas images */
-   {
-      ERR("parse error %s:%i. fill.spread not supported yet.",
-         file_in, line - 1);
-      exit(-1);
-   }
-
-#if 0
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   ep = pc->parts[pc->parts_count - 1];
-
-   if (ep->type != EDJE_PART_TYPE_IMAGE)
-     {
-        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Image*) ep->default_desc;
-   if (ep->other.desc_count) ed = (Edje_Part_Description_Image*)  ep->other.desc[ep->other.desc_count - 1];
-
-   ed->image.fill.spread = parse_int_range(0, 0, 1);
-#endif
-}
-
-/**
-    @page edcref
-
-    @property
-        type
-    @parameters
-        TODO
-    @effect
-        TODO
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_type(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(1);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY part.",
-               file_in, line - 1);
-           exit(-1);
-        }
-     }
-
-   fill->type = parse_enum(0,
-                           "SCALE", EDJE_FILL_TYPE_SCALE,
-                           "TILE", EDJE_FILL_TYPE_TILE,
-                           NULL);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_image_fill_origin,Origin}
- */
-
-/**
-    @page edcref
-    @block
-        origin
-    @context
-        description {
-            ..
-            fill {
-                ..
-                origin {
-                    relative: 0.0 0.0;
-                    offset:   0   0;
-                }
-                ..
-            }
-            ..
-        }
-    @description
-        The origin block is used to place the starting point, inside the
-        displayed element, that will be used to render the tile. By default,
-        the origin is set at the element's left-up corner.
-    @endblock
-
-    @property
-        relative
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        Sets the starting point relatively to displayed element's content.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_origin_relative(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(2);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY part.",
-               file_in, line - 1);
-           exit(-1);
-        }
-     }
-
-   fill->pos_rel_x = FROM_DOUBLE(parse_float_range(0, -999999999.0, 999999999.0));
-   fill->pos_rel_y = FROM_DOUBLE(parse_float_range(1, -999999999.0, 999999999.0));
-}
-
-/**
-    @page edcref
-    @property
-        offset
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        Affects the starting point a fixed number of pixels along each axis.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_origin_offset(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(2);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY part.",
-               file_in, line - 1);
-           exit(-1);
-        }
-     }
-
-   fill->pos_abs_x = parse_int(0);
-   fill->pos_abs_y = parse_int(1);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_image_fill_size,Size}
- */
-
-/**
-    @page edcref
-    @block
-        size
-    @context
-        description {
-            ..
-            fill {
-                ..
-                size {
-                    relative: 1.0 1.0;
-                    offset:  -1  -1;
-                }
-                ..
-            }
-            ..
-        }
-    @description
-        The size block defines the tile size of the content that will be
-        displayed.
-    @endblock
-
-    @property
-        relative
-    @parameters
-        [width] [height]
-    @effect
-        Takes a pair of decimal values that represent the percentual value
-        of the original size of the element. For example, "0.5 0.5" represents
-        half the size, while "2.0 2.0" represents the double. The default
-        value is "1.0 1.0".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_size_relative(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(2);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY part.",
-               file_in, line - 1);
-           exit(-1);
-        }
-     }
-
-   fill->rel_x = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
-   fill->rel_y = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
-}
-
-/**
-    @page edcref
-    @property
-        offset
-    @parameters
-        [X axis] [Y axis]
-    @effect
-        Affects the size of the tile a fixed number of pixels along each axis.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_fill_size_offset(void)
-{
-   Edje_Part_Description_Spec_Fill *fill;
-
-   check_arg_count(2);
-
-   switch (current_part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-        {
-           Edje_Part_Description_Image *ed;
-
-           ed = (Edje_Part_Description_Image*) current_desc;
-
-           fill = &ed->image.fill;
-          break;
-        }
-      case EDJE_PART_TYPE_PROXY:
-        {
-           Edje_Part_Description_Proxy *ed;
-
-           ed = (Edje_Part_Description_Proxy*) current_desc;
-
-           fill = &ed->proxy.fill;
-          break;
-        }
-      default:
-        {
-           ERR("parse error %s:%i. "
-               "image and proxy attributes in non-IMAGE, non-PROXY part.",
-               file_in, line - 1);
-           exit(-1);
-        }
-     }
-
-   fill->abs_x = parse_int(0);
-   fill->abs_y = parse_int(1);
-}
-
-
-/**
-   @edcsubsection{collections_group_parts_description_text,Text}
- */
-
-/**
-    @page edcref
-
-    @block
-        text
-    @context
-        part {
-            description {
-                ..
-                text {
-                    text:        "some string of text to display";
-                    font:        "font_name";
-                    size:         SIZE;
-                    text_class:  "class_name";
-                    fit:          horizontal vertical;
-                    min:          horizontal vertical;
-                    max:          horizontal vertical;
-                    align:        X-axis     Y-axis;
-                    source:      "part_name";
-                    text_source: "text_part_name";
-                    ellipsis:     0.0-1.0;
-                    style:       "stylename";
-                }
-                ..
-            }
-        }
-    @description
-    @endblock
-
-    @property
-        text
-    @parameters
-        [a string of text, or nothing]
-    @effect
-        Sets the default content of a text part, normally the application is
-        the one changing its value.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_text(void)
-{
-   Edje_Part_Description_Text *ed;
-   char *str = NULL;
-   int i;
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   for (i = 0; ;i++)
-     {
-       char *s;
-
-       if (!is_param(i)) break;
-       s = parse_str(i);
-       if (!str) str = s;
-       else
-         {
-            str = realloc(str, strlen(str) + strlen(s) + 1);
-            strcat(str, s);
-            free(s);
-         }
-     }
-   ed->text.text.str = str;
-}
-
-/**
-    @page edcref
-
-    @property
-        text_class
-    @parameters
-        [text class name]
-    @effect
-        Similar to color_class, this is the name used by the application
-        to alter the font family and size at runtime.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_text_class(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.text_class = parse_str(0);
-}
-
-/**
-    @page edcref
-
-    @property
-        font
-    @parameters
-        [font alias]
-    @effect
-        This sets the font family to one of the aliases set up in the "fonts"
-        block. Can be overrided by the application.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_font(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.font.str = parse_str(0);
-}
-
-/**
-    @page edcref
-
-    @property
-        style
-    @parameters
-        [the style name]
-    @effect
-        Causes the part to use the default style and tags defined in the
-        "style" block with the specified name.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_style(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.style.str = parse_str(0);
-}
-
-/**
-    @page edcref
-
-    @property
-        repch
-    @parameters
-        [the replacement character string]
-    @effect
-        If this is a textblock and is in PASSWORD mode this string is used
-        to replace every character to hide the details of the entry. Normally
-        you would use a "*", but you can use anything you like.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_repch(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.repch.str = parse_str(0);
-}
-
-/**
-    @page edcref
-
-    @property
-        size
-    @parameters
-        [font size in points (pt)]
-    @effect
-        Sets the default font size for the text part. Can be overrided by the
-        application.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_size(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*)current_desc;
-
-   ed->text.size = parse_int_range(0, 0, 255);
-}
-
-/**
-    @page edcref
-
-    @property
-        size_range
-    @parameters
-        [font min size in points (pt)] [font max size in points (pt)]
-    @effect
-        Sets the allowed font size for the text part. Setting min and max to 0
-        means we won't restrict the sizing (default).
-    @endproperty
-    @since 1.1.0
-*/
-static void
-st_collections_group_parts_part_description_text_size_range(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(2);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.size_range_min = parse_int_range(0, 0, 255);
-   ed->text.size_range_max = parse_int_range(1, 0, 255);
-   if (ed->text.size_range_min > ed->text.size_range_max)
-     {
-        ERR("parse error %s:%i. min size is bigger than max size.",
-            file_in, line - 1);
-        exit(-1);
-     }
-}
-
-/**
-    @page edcref
-
-    @property
-        fit
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        When any of the parameters is set to 1 edje will resize the text for it
-        to fit in it's container. Both are disabled by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_fit(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(2);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.fit_x = parse_bool(0);
-   ed->text.fit_y = parse_bool(1);
-}
-
-/**
-    @page edcref
-
-    @property
-        min
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        When any of the parameters is enabled (1) it forces the minimum size of
-        the container to be equal to the minimum size of the text. The default
-        value is "0 0".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_min(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(2);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*)current_desc;
-
-   ed->text.min_x = parse_bool(0);
-   ed->text.min_y = parse_bool(1);
-}
-
-/**
-    @page edcref
-
-    @property
-        max
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        When any of the parameters is enabled (1) it forces the maximum size of
-        the container to be equal to the maximum size of the text. The default
-        value is "0 0".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_max(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(2);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.max_x = parse_bool(0);
-   ed->text.max_y = parse_bool(1);
-}
-
-/**
-    @page edcref
-
-    @property
-        align
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        Change the position of the point of balance inside the container. The
-        default value is 0.5 0.5.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_align(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(2);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
-   ed->text.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
-}
-
-/**
-    @page edcref
-
-    @property
-        source
-    @parameters
-        [another TEXT part's name]
-    @effect
-        Causes the part to use the text properties (like font and size) of
-        another part and update them as they change.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_source(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(ed->text.id_source));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-
-    @property
-        text_source
-    @parameters
-        [another TEXT part's name]
-    @effect
-        Causes the part to display the text content of another part and update
-        them as they change.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_text_source(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(ed->text.id_text_source));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-
-    @property
-        ellipsis
-    @parameters
-        [point of balance]
-    @effect
-        Used to balance the text in a relative point from 0.0 to 1.0, this
-        point is the last section of the string to be cut out in case of a
-        resize that is smaller than the text itself. The default value is 0.0.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_text_elipsis(void)
-{
-   Edje_Part_Description_Text *ed;
-
-   check_arg_count(1);
-
-   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
-       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        ERR("parse error %s:%i. text attributes in non-TEXT part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Text*) current_desc;
-
-   ed->text.elipsis = parse_float_range(0, 0.0, 1.0);
-}
-
-
-/**
-   @edcsubsection{collections_group_parts_description_box,Box}
- */
-
-/**
-    @page edcref
-
-    @block
-        box
-    @context
-        part {
-            description {
-                ..
-                box {
-                    layout: "vertical";
-                    padding: 0 2;
-                    align: 0.5 0.5;
-                   min: 0 0;
-                }
-                ..
-            }
-        }
-    @description
-        A box block can contain other objects and display them in different
-       layouts, any of the predefined set, or a custom one, set by the
-       application.
-    @endblock
-
-    @property
-        layout
-    @parameters
-        [primary layout] [fallback layout]
-    @effect
-        Sets the layout for the box:
-            @li horizontal (default)
-            @li vertical
-            @li horizontal_homogeneous
-            @li vertical_homogeneous
-            @li horizontal_max (homogeneous to the max sized child)
-            @li vertical_max
-            @li horizontal_flow
-            @li vertical_flow
-            @li stack
-            @li some_other_custom_layout_set_by_the_application
-        You could set a custom layout as fallback, it makes very
-        very little sense though, and if that one fails, it will
-        default to horizontal.
-    @endproperty
-
-    @property
-        align
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        Change the position of the point of balance inside the container. The
-        default value is 0.5 0.5.
-    @endproperty
-
-    @property
-        padding
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        Sets the space between cells in pixels. Defaults to 0 0.
-    @endproperty
-
-    @property
-        min
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        When any of the parameters is enabled (1) it forces the minimum size of
-        the box to be equal to the minimum size of the items. The default
-        value is "0 0".
-    @endproperty
-*/
-static void st_collections_group_parts_part_description_box_layout(void)
-{
-   Edje_Part_Description_Box *ed;
-
-   check_min_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_BOX)
-     {
-        ERR("parse error %s:%i. box attributes in non-BOX part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Box*) current_desc;
-
-   ed->box.layout = parse_str(0);
-   if (is_param(1))
-     ed->box.alt_layout = parse_str(1);
-}
-
-static void st_collections_group_parts_part_description_box_align(void)
-{
-   Edje_Part_Description_Box *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_BOX)
-     {
-        ERR("parse error %s:%i. box attributes in non-BOX part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Box*) current_desc;
-
-   ed->box.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
-   ed->box.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
-}
-
-static void st_collections_group_parts_part_description_box_padding(void)
-{
-   Edje_Part_Description_Box *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_BOX)
-     {
-        ERR("parse error %s:%i. box attributes in non-BOX part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Box*) current_desc;
-
-   ed->box.padding.x = parse_int_range(0, 0, 0x7fffffff);
-   ed->box.padding.y = parse_int_range(1, 0, 0x7fffffff);
-}
-
-static void
-st_collections_group_parts_part_description_box_min(void)
-{
-   Edje_Part_Description_Box *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_BOX)
-     {
-        ERR("parse error %s:%i. box attributes in non-BOX part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Box*) current_desc;
-
-   ed->box.min.h = parse_bool(0);
-   ed->box.min.v = parse_bool(1);
-}
-
-
-/**
-   @edcsubsection{collections_group_parts_description_table,Table}
- */
-
-/**
-    @page edcref
-
-    @block
-        table
-    @context
-        part {
-            description {
-                ..
-                table {
-                    homogeneous: TABLE;
-                    padding: 0 2;
-                    align: 0.5 0.5;
-                    min: 0 0;
-                }
-                ..
-            }
-        }
-    @description
-        A table block can contain other objects packed in multiple columns
-        and rows, and each item can span across more than one column and/or
-        row.
-    @endblock
-
-    @property
-        homogeneous
-    @parameters
-        [homogeneous mode]
-    @effect
-        Sets the homogeneous mode for the table:
-            @li NONE (default)
-            @li TABLE
-            @li ITEM
-    @endproperty
-
-    @property
-        align
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        Change the position of the point of balance inside the container. The
-        default value is 0.5 0.5.
-    @endproperty
-
-    @property
-        padding
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        Sets the space between cells in pixels. Defaults to 0 0.
-    @endproperty
-
-    @property
-        min
-    @parameters
-        [horizontal] [vertical]
-    @effect
-        When any of the parameters is enabled (1) it forces the minimum size of
-        the table to be equal to the minimum size of the items. The default
-        value is "0 0".
-    @endproperty
-*/
-static void st_collections_group_parts_part_description_table_homogeneous(void)
-{
-   Edje_Part_Description_Table *ed;
-
-   check_min_arg_count(1);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. table attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Table*) current_desc;
-
-   ed->table.homogeneous = parse_enum(0,
-                                    "NONE", EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE,
-                                    "TABLE", EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE,
-                                    "ITEM", EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM,
-                                    NULL);
-}
-
-static void st_collections_group_parts_part_description_table_align(void)
-{
-   Edje_Part_Description_Table *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. table attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Table*) current_desc;
-
-   ed->table.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
-   ed->table.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
-}
-
-static void st_collections_group_parts_part_description_table_padding(void)
-{
-   Edje_Part_Description_Table *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. table attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Table*) current_desc;
-
-   ed->table.padding.x = parse_int_range(0, 0, 0x7fffffff);
-   ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff);
-}
-
-static void
-st_collections_group_parts_part_description_table_min(void)
-{
-   Edje_Part_Description_Table *ed;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_TABLE)
-     {
-        ERR("parse error %s:%i. box attributes in non-TABLE part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_Table*) current_desc;
-
-   ed->table.min.h = parse_bool(0);
-   ed->table.min.v = parse_bool(1);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_physics,Physics}
- */
-
-/**
-    @page edcref
-    @block
-        physics
-    @context
-    description {
-        ..
-        physics {
-            ignore_part_pos: 1;
-            mass: 5.31;
-            friction: 0.5;
-            restitution: 0.82;
-            damping: 0.4 0.24;
-            sleep: 32 18.9;
-            material: IRON;
-            density: 3.2;
-            hardness: 0.42;
-            light_on: 1;
-            z: -15;
-            depth: 30;
-            movement_freedom {
-                ..
-            }
-            faces {
-                ..
-            }
-        }
-        ..
-    }
-
-    @description
-        Physics block should be used to configure the body associated to the
-        part. The part's property physics_body needs to be set to something
-        different from NONE, otherwise the properties inside physics block
-        won't have any effect.
-        It's possible to set body's material, mass, restitution, friction,
-        allow / disallow movement in specific axes, etc.
-    @endblock
-
-    @property
-        mass
-    @parameters
-        [body's mass in kilograms]
-    @effect
-        Double value used to set inertial mass of the body.
-        It is a quantitative measure of an object's resistance to the change of
-        its speed. If mass is set to 0 the body will have infinite mass,
-        so it will be immovable, static.
-    @endproperty
-    @since 1.8.0
-*/
-
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_mass(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.mass = parse_float(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        restitution
-    @parameters
-        [body's restitution]
-    @effect
-        The coefficient of restitution is proporcion between speed after and
-        before a collision. It's 0 by default.
-
-        COR = relative speed after collision / relative speed before collision
-
-        @li elastically collide for COR == 1;
-        @li inelastically collide for 0 < COR < 1;
-        @li completelly stop (no bouncing at all) for COR == 0.
-
-    @endproperty
-    @since 1.8.0
-*/
-
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_restitution(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.restitution = parse_float(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        friction
-    @parameters
-        [body's friction]
-    @effect
-        Friction is used to make objects slide along each ot
-
-        The friction parameter is usually set between 0 and 1, but can be any
-        non-negative value. A friction value of 0 turns off friction and a value
-        of 1 makes the friction strong.
-
-        By default friction value is 0.5 and simulation resulsts will be better
-        when friction in non-zero.
-
-    @endproperty
-    @since 1.8.0
-*/
-
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_friction(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.friction = parse_float(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        ignore_part_pos
-    @parameters
-        [1 or 0]
-    @effect
-        If enabled, the body won't be positioned following rel1/rel2.
-        It will keep its position updated only by physics calculations.
-        If disabled, when the state is set, the body will be moved to
-        the position described by the blocks rel1/rel2.
-        Default is 1 (enabled).
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_ignore_part_pos(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.ignore_part_pos = parse_bool(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        damping
-    @parameters
-        [linear damping] [angular damping]
-    @effect
-        Damping(linear and angular) values are applied to body's linear and
-        angular velocity.
-        By applying a bodies damping factor the user will face a velocity
-        reduction, with a force applied to it - "like" air resistance.
-        The force is applied to slow it down.
-        Values should be between 0.0 and 1.0, and are set to 0 by default.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_damping(void)
-{
-   check_arg_count(2);
-
-   current_desc->physics.damping.linear = parse_float_range(0, 0, 1.0);
-   current_desc->physics.damping.angular = parse_float_range(1, 0, 1.0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        sleep
-    @parameters
-        [linear sleeping threshold] [angular sleeping threshold]
-    @effect
-        Sleeping threshold factors are used to determine whenever a rigid body
-        is supposed to increment the sleeping time. Linear threshold is
-        measured in Evas coordinates per second and angular threshold is
-        measured in degrees per second.
-        After every tick the sleeping time is incremented, if the body's
-        linear and angular speed is less than the respective thresholds
-        the sleeping time is incremented by the current time step (delta time).
-        Reaching the max sleeping time the body is marked to sleep, that means
-        the rigid body is to be deactivated.
-        By default linear threshold is 24 pixels / second and angular is
-        57.29 degrees / sec (1 rad/sec).
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_sleep(void)
-{
-   check_arg_count(2);
-
-   current_desc->physics.sleep.linear = parse_float(0);
-   current_desc->physics.sleep.angular = parse_float(1);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        material
-    @parameters
-        [body's material]
-    @effect
-        Set the type (all caps) from among the available material types,
-        it's set to CUSTOM by default.
-        Each material has specific properties to be
-        applied on the body, as density, friction and restitution.
-        So if a material different of CUSTOM is set, the properties cited above
-        won't be considered.
-        Valid types:
-          * CUSTOM
-          * CONCRETE
-          * IRON
-          * PLASTIC
-          * POLYSTYRENE
-          * RUBBER
-          * WOOD
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_material(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.material = parse_enum(0,
-      "CUSTOM", EPHYSICS_BODY_MATERIAL_CUSTOM,
-      "CONCRETE", EPHYSICS_BODY_MATERIAL_CONCRETE,
-      "IRON", EPHYSICS_BODY_MATERIAL_IRON,
-      "PLASTIC", EPHYSICS_BODY_MATERIAL_PLASTIC,
-      "POLYSTYRENE", EPHYSICS_BODY_MATERIAL_POLYSTYRENE,
-      "RUBBER", EPHYSICS_BODY_MATERIAL_RUBBER,
-      "WOOD", EPHYSICS_BODY_MATERIAL_WOOD,
-      NULL);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        density
-    @parameters
-        [body's material density]
-    @effect
-        It will set the body mass considering its volume. While a density is
-        set, resizing a body will always recalculate its mass.
-        When a mass is explicitely set the density will be unset.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_density(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.density = parse_float(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        hardness
-    @parameters
-        [soft bodie or cloth hardness]
-    @effect
-        The hardness is set with a double value (0.0 - 1.0), defining
-        how the soft body is supposed to deform.
-        Its default is set to 1.0. The soft body mass will also interfere on
-        soft body deformation, so bare in mind that the bodies mass must also
-        be changed to have different deformation results.
-        Valid values vary from 0.0 to 1.0. Only works on soft bodies and cloths.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_hardness(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.hardness = parse_float_range(0, 0, 1.0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        light_on
-    @parameters
-        [1 or 0]
-    @effect
-        Set body to be affected by world's light or not.
-        It won't be respected if world's property "all_bodies" is enabled.
-        Disabled by default (0).
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_light_on(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.light_on = parse_bool(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        z
-    @parameters
-        [body position in z axis]
-    @effect
-        Defines body position in z axis. It's set to -15 by default.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_z(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.z = parse_int(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        depth
-    @parameters
-        [body's depth]
-    @effect
-        Defines body's depth (z axis). It's set to 30 by default.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_depth(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.depth = parse_int(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        backface_cull
-    @parameters
-        [1 or 0]
-    @effect
-        This enables backface culling (when the rotated part that normally faces
-        the camera is facing away after being rotated etc.).
-        This means that the object will be hidden when "backface culled".
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_backface_cull(void)
-{
-   check_arg_count(1);
-
-   current_desc->physics.backcull = parse_bool(0);
-}
-#endif
-
-/**
-   @edcsubsection{collections_group_parts_description_physics_movement_freedom,Movement Freedom}
- */
-
-/**
-    @page edcref
-    @block
-        movement_freedom
-    @context
-    description {
-        ..
-        physics {
-            ...
-            movement_freedom {
-                linear: 1 1 0;
-                angular: 0 0 1;
-            }
-        }
-        ..
-    }
-
-    @description
-        The "movement_freedom" block consists of two blocks to describe all
-        the allowed movements for a body.
-        It's set by default to allow just 2D movement (linear moves on
-        x and y axis and rotations on x-y plane).
-    @endblock
-
-    @property
-        linear
-    @parameters
-        [x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
-    @effect
-        Block "linear" can be used to allow linear movements in the three
-        axes. Allowed values are 0 or 1.
-        Axes x and y are enabled by default.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_movement_freedom_linear(void)
-{
-   check_arg_count(3);
-
-   current_desc->physics.mov_freedom.lin.x = parse_bool(0);
-   current_desc->physics.mov_freedom.lin.y = parse_bool(1);
-   current_desc->physics.mov_freedom.lin.z = parse_bool(2);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        angular
-    @parameters
-        [x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
-    @effect
-        Block "angular" can be used to allow angular movements around the three
-        axes. Allowed values are 0 or 1.
-        Z axis is enabled by default.
-    @endproperty
-    @since 1.8.0
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_movement_freedom_angular(void)
-{
-   check_arg_count(3);
-
-   current_desc->physics.mov_freedom.ang.x = parse_bool(0);
-   current_desc->physics.mov_freedom.ang.y = parse_bool(1);
-   current_desc->physics.mov_freedom.ang.z = parse_bool(2);
-}
-#endif
-
-/**
-   @edcsubsection{collections_group_parts_description_physics_faces,Faces}
- */
-
-/**
-    @page edcref
-    @block
-        faces
-    @context
-        faces {
-            face {
-                type: BOX_FRONT;
-                source:  "groupname";
-            }
-            ..
-        }
-    @description
-        The "faces" block contains a list of one or more "face" blocks.
-        The "faces" block is used to list the faces that compose the body.
-        Each face is described by a "face" block, that associates a part
-        to a specific face of the body's shape.
-        Only the "faces" block declared in the "default" description
-        will be considered.
-    @endblock
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_face(void)
-{
-   Edje_Physics_Face *pface;
-
-   pface = mem_alloc(SZ(Edje_Physics_Face));
-   current_desc->physics.faces = eina_list_append(current_desc->physics.faces,
-                                                  pface);
-   pface->type = 0;
-   pface->source = NULL;
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        type
-    @parameters
-        [FACE]
-    @effect
-        Set the face (all caps) from among the available body's shape faces.
-        Valid faces:
-            * BOX_MIDDLE_FRONT
-            * BOX_MIDDLE_BACK
-            * BOX_FRONT
-            * BOX_BACK
-            * BOX_LEFT
-            * BOX_RIGHT
-            * BOX_TOP
-            * BOX_BOTTOM
-            * CLOTH_FRONT
-            * CLOTH_BACK
-            * CYLINDER_MIDDLE_FRONT
-            * CYLINDER_MIDDLE_BACK
-            * CYLINDER_FRONT
-            * CYLINDER_BACK
-            * CYLINDER_CURVED
-            * SPHERE_FRONT
-            * SPHERE_BACK
-    @endproperty
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_face_type(void)
-{
-   Edje_Physics_Face *pface, *pface2;
-   Eina_List *l;
-
-   pface = eina_list_data_get(eina_list_last(current_desc->physics.faces));
-   pface->type = parse_enum(0,
-      "BOX_MIDDLE_FRONT", EPHYSICS_BODY_BOX_FACE_MIDDLE_FRONT,
-      "BOX_MIDDLE_BACK", EPHYSICS_BODY_BOX_FACE_MIDDLE_BACK,
-      "BOX_FRONT", EPHYSICS_BODY_BOX_FACE_FRONT,
-      "BOX_BACK", EPHYSICS_BODY_BOX_FACE_BACK,
-      "BOX_LEFT", EPHYSICS_BODY_BOX_FACE_LEFT,
-      "BOX_RIGHT", EPHYSICS_BODY_BOX_FACE_RIGHT,
-      "BOX_TOP", EPHYSICS_BODY_BOX_FACE_TOP,
-      "BOX_BOTTOM", EPHYSICS_BODY_BOX_FACE_BOTTOM,
-      "CLOTH_FRONT", EPHYSICS_BODY_CLOTH_FACE_FRONT,
-      "CLOTH_BACK", EPHYSICS_BODY_CLOTH_FACE_BACK,
-      "CYLINDER_MIDDLE_FRONT", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_FRONT,
-      "CYLINDER_MIDDLE_BACK", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_BACK,
-      "CYLINDER_FRONT", EPHYSICS_BODY_CYLINDER_FACE_FRONT,
-      "CYLINDER_BACK", EPHYSICS_BODY_CYLINDER_FACE_BACK,
-      "CYLINDER_CURVED", EPHYSICS_BODY_CYLINDER_FACE_CURVED,
-      "SPHERE_FRONT", EPHYSICS_BODY_SPHERE_FACE_FRONT,
-      "SPHERE_BACK", EPHYSICS_BODY_SPHERE_FACE_BACK,
-      NULL);
-
-   EINA_LIST_FOREACH(current_desc->physics.faces, l, pface2)
-     {
-       if ((pface != pface2) && (pface->type == pface2->type))
-         {
-            ERR("parse error %s:%i. There is already a face of type \"%i\"",
-                file_in, line - 1, pface->type);
-            exit(-1);
-         }
-     }
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        source
-    @parameters
-        [another group's name]
-    @effect
-        This sets the group that is used as the object representing the physics
-        body face.
-    @endproperty
-*/
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_parts_part_description_physics_face_source(void)
-{
-   Edje_Physics_Face *pface;
-
-   pface = eina_list_data_get(eina_list_last(current_desc->physics.faces));
-   check_arg_count(1);
-
-   pface->source = parse_str(0);
-   data_queue_face_group_lookup(pface->source);
-}
-#endif
-
-/**
-   @edcsubsection{collections_group_parts_description_map,Map}
- */
-
-/**
-    @page edcref
-    @block
-        map
-    @context
-    description {
-        ..
-        map {
-            perspective: "name";
-            light: "name";
-            on: 1;
-            smooth: 1;
-            perspective_on: 1;
-            backface_cull: 1;
-            alpha: 1;
-            
-            rotation {
-                ..
-            }
-        }
-        ..
-    }
-    
-    @description
-    @endblock
-    
-    @property
-        perspective
-    @parameters
-        [another part's name]
-    @effect
-        This sets the part that is used as the "perspective point" for giving
-        a part a "3d look". The perspective point should have a perspective
-        section that provides zplane and focal properties. The center of this
-        part will be used as the focal point, so size, color and visibility
-        etc. are not relevant just center point, zplane and focal are used.
-        This also implicitly enables perspective transforms (see the on
-        parameter for the map section).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_perspective(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->map.id_persp));
-      free(name);
-   }
-
-   current_desc->map.persp_on = 1;
-}
-
-/**
-    @page edcref
-    @property
-        light
-    @parameters
-        [another part's name]
-    @effect
-        This sets the part that is used as the "light" for calculating the
-        brightness (based on how directly the part's surface is facing the
-        light source point). Like the perspective point part, the center point
-        is used and zplane is used for the z position (0 being the zero-plane
-        where all 2D objects normally live) and positive values being further
-        away into the distance. The light part color is used as the light
-        color (alpha not used for light color). The color2 color is used for
-        the ambient lighting when calculating brightness (alpha also not
-        used).
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_light(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->map.id_light));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        on
-    @parameters
-        [1 or 0]
-    @effect
-        This enables mapping for the part. Default is 0.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_on(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.on = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        smooth
-    @parameters
-        [1 or 0]
-    @effect
-        This enable smooth map rendering. This may be linear interpolation,
-        anisotropic filtering or anything the engine decides is "smooth".
-        This is a best-effort hint and may not produce precisely the same
-        results in all engines and situations. Default is 1
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_smooth(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.smooth = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        alpha
-    @parameters
-        [1 or 0]
-    @effect
-        This enable alpha channel when map rendering. Default is 1.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_alpha(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.alpha = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        backface_cull
-    @parameters
-        [1 or 0]
-    @effect
-        This enables backface culling (when the rotated part that normally
-        faces the camera is facing away after being rotated etc.). This means
-        that the object will be hidden when "backface culled".
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_backface_cull(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.backcull = parse_bool(0);
-}
-
-/**
-    @page edcref
-    @property
-        perspective_on
-    @parameters
-       [1 or 0]
-    @effect
-        Enable perspective when rotating even without a perspective point object.
-        This would use perspective set for the object itself or for the
-        canvas as a whole as the global perspective with 
-        edje_perspective_set() and edje_perspective_global_set().
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_perspective_on(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.persp_on = parse_bool(0);
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_map_rotation,Rotation}
- */
-
-/**
-    @page edcref
-    @block
-        rotation
-    @context
-    map {
-        ..
-        rotation {
-            center: "name";
-            x: 45.0;
-            y: 45.0;
-            z: 45.0;
-        }
-        ..
-    }
-    @description
-        Rotates the part, optionally with the center on another part.
-    @endblock
-    
-    @property
-        center
-    @parameters
-        [another part's name]
-    @effect
-        This sets the part that is used as the center of rotation when
-        rotating the part with this description. The part's center point
-        is used as the rotation center when applying rotation around the
-        x, y and z axes. If no center is given, the parts original center
-        itself is used for the rotation center.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_rotation_center(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   {
-      char *name;
-
-      name = parse_str(0);
-      data_queue_part_lookup(pc, name, &(current_desc->map.rot.id_center));
-      free(name);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        x
-    @parameters
-        [X degrees]
-    @effect
-        This sets the rotation around the x axis of the part considering
-        the center set. In degrees.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_rotation_x(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.rot.x = FROM_DOUBLE(parse_float(0));
-}
-
-/**
-    @page edcref
-    @property
-        y
-    @parameters
-        [Y degrees]
-    @effect
-        This sets the rotation around the y axis of the part considering
-        the center set. In degrees.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_rotation_y(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.rot.y = FROM_DOUBLE(parse_float(0));
-}
-
-/**
-    @page edcref
-    @property
-        z
-    @parameters
-        [Z degrees]
-    @effect
-        This sets the rotation around the z axis of the part considering
-        the center set. In degrees.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_map_rotation_z(void)
-{
-   check_arg_count(1);
-
-   current_desc->map.rot.z = FROM_DOUBLE(parse_float(0));
-}
-
-/**
-   @edcsubsection{collections_group_parts_description_perspective,Perspective}
- */
-
-/**
-    @page edcref
-    @block
-        perspective
-    @context
-    description {
-        ..
-        perspective {
-            zplane: 0;
-            focal: 1000;
-        }
-        ..
-    }
-    @description
-        Adds focal and plane perspective to the part. Active if perspective_on is true.
-        Must be provided if the part is being used by other part as it's perspective target.
-    @endblock
-    
-    @property
-        zplane
-    @parameters
-        [unscaled Z value]
-    @effect
-        This sets the z value that will not be scaled. Normally this is 0 as
-        that is the z distance that all objects are at normally.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_perspective_zplane(void)
-{
-   check_arg_count(1);
-
-   current_desc->persp.zplane = parse_int(0);
-}
-
-
-/**
-    @page edcref
-    @property
-        focal
-    @parameters
-        [distance]
-    @effect
-        This sets the distance from the focal z plane (zplane) and the
-        camera - i.e. very much equating to focal length of the camera
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_perspective_focal(void)
-{
-   check_arg_count(1);
-
-   current_desc->persp.focal = parse_int_range(0, 1, 0x7fffffff);
-}
-
-
-/**
-   @edcsubsection{collections_group_parts_descriptions_params,Params}
- */
-
-/**
-    @page edcref
-    @block
-        params
-    @context
-    description {
-        ..
-        params {
-            int: "name" 0;
-            double: "other_name" 0.0;
-            string: "another_name" "some text";
-           bool: "name" 1;
-           choice: "some_name" "value";
-        }
-        ..
-    }
-    @description
-        Set parameters for EXTERNAL parts. The value overwrites previous
-        definitions with the same name.
-    @endblock
-*/
-static void
-_st_collections_group_parts_part_description_params(Edje_External_Param_Type type)
-{
-   Edje_Part_Description_External *ed;
-   Edje_External_Param *param;
-   Eina_List *l;
-   const char *name;
-   int found = 0;
-
-   check_arg_count(2);
-
-   if (current_part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        ERR("parse error %s:%i. params in non-EXTERNAL part.",
-            file_in, line - 1);
-        exit(-1);
-     }
-
-   ed = (Edje_Part_Description_External*) current_desc;
-
-   name = parse_str(0);
-
-   /* if a param with this name already exists, overwrite it */
-   EINA_LIST_FOREACH(ed->external_params, l, param)
-     {
-       if (!strcmp(param->name, name))
-         {
-            found = 1;
-            break;
-         }
-     }
-
-   if (!found)
-     {
-       param = mem_alloc(SZ(Edje_External_Param));
-       param->name = name;
-     }
-
-   param->type = type;
-   param->i = 0;
-   param->d = 0;
-   param->s = NULL;
-
-   switch (type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-        param->i = parse_int(1);
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        param->d = parse_float(1);
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        param->s = parse_str(1);
-        break;
-      default:
-        ERR("parse error %s:%i. Invalid param type.",
-            file_in, line - 1);
-        break;
-     }
-
-   if (!found)
-     ed->external_params = eina_list_append(ed->external_params, param);
-}
-
-/**
-    @page edcref
-    @property
-        int
-    @parameters
-        [param_name] [int_value]
-    @effect
-        Adds an integer parameter for an external object
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_params_int(void)
-{
-   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_INT);
-}
-
-/**
-    @page edcref
-    @property
-        double
-    @parameters
-        [param_name] [double_value]
-    @effect
-        Adds a double parameter for an external object
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_params_double(void)
-{
-   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_DOUBLE);
-}
-
-/**
-    @page edcref
-    @property
-        string
-    @parameters
-        [param_name] [string_value]
-    @effect
-        Adds a string parameter for an external object
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_params_string(void)
-{
-   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_STRING);
-}
-
-/**
-    @page edcref
-    @property
-        bool
-    @parameters
-        [param_name] [bool_value]
-    @effect
-        Adds an boolean parameter for an external object. Value must be 0 or 1.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_params_bool(void)
-{
-   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_BOOL);
-}
-
-/**
-    @page edcref
-    @property
-        choice
-    @parameters
-        [param_name] [choice_string]
-    @effect
-        Adds a choice parameter for an external object. The possible
-        choice values are defined by external type at their register time
-        and will be validated at runtime.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_description_params_choice(void)
-{
-   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_CHOICE);
-}
-
-
-/**
-   @edcsubsection{collections_group_programs,Programs}
- */
-
-/**
-    @page edcref
-    @block
-        programs
-    @context
-        group {
-            programs {
-               ..
-                  program {
-                     name: "programname";
-                     signal: "signalname";
-                     source: "partname";
-                     filter: "partname" "statename";
-                     in: 0.3 0.0;
-                     action: STATE_SET "statename" state_value;
-                     transition: LINEAR 0.5;
-                     target: "partname";
-                     target: "anotherpart";
-                     after: "programname";
-                     after: "anotherprogram";
-                  }
-               ..
-            }
-        }
-    @description
-        Programs define how your interface reacts to events.
-        Programs can change the state of parts, react to events or trigger
-        other events.
-    @endblock
-*/
-static void
-ob_collections_group_programs_program(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Program *ep;
-   Edje_Program_Parser *epp;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   ep = mem_alloc(SZ(Edje_Program_Parser));
-   ep->id = -1;
-   ep->tween.mode = EDJE_TWEEN_MODE_LINEAR;
-   ep->after = NULL;
-   epp = (Edje_Program_Parser *)ep;
-   epp->can_override = EINA_FALSE;
-
-   _edje_program_insert(pc, ep);
-
-   current_program = ep;
-}
-
-/**
-    @page edcref
-    @property
-        name
-    @parameters
-        [program name]
-    @effect
-        Symbolic name of program as a unique identifier.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_name(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   current_program->name = parse_str(0);
-
-   _edje_program_check(current_program->name, current_program, pc->programs.fnmatch, pc->programs.fnmatch_count);
-   _edje_program_check(current_program->name, current_program, pc->programs.strcmp, pc->programs.strcmp_count);
-   _edje_program_check(current_program->name, current_program, pc->programs.strncmp, pc->programs.strncmp_count);
-   _edje_program_check(current_program->name, current_program, pc->programs.strrncmp, pc->programs.strrncmp_count);
-   _edje_program_check(current_program->name, current_program, pc->programs.nocmp, pc->programs.nocmp_count);
-}
-
-/**
-    @page edcref
-    @property
-        signal
-    @parameters
-        [signal name]
-    @effect
-        Specifies signal(s) that should cause the program to run. The signal
-        received must match the specified source to run.
-        Signals may be globbed, but only one signal keyword per program
-        may be used. ex: signal: "mouse,clicked,*"; (clicking any mouse button
-        that matches source starts program).
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_signal(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   _edje_program_remove(pc, current_program);
-   current_program->signal = parse_str(0);
-   _edje_program_insert(pc, current_program);
-}
-
-/**
-    @page edcref
-    @property
-        source
-    @parameters
-        [source name]
-    @effect
-        Source of accepted signal. Sources may be globbed, but only one source
-        keyword per program may be used. ex:source: "button-*"; (Signals from
-        any part or program named "button-*" are accepted).
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_source(void)
-{
-   Edje_Part_Collection *pc;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-
-   _edje_program_remove(pc, current_program);
-   current_program->source = parse_str(0);
-   _edje_program_insert(pc, current_program);
-}
-
-/**
-    @page edcref
-    @property
-        filter
-    @parameters
-        [part] [state]
-    @effect
-        Filter signals to be only accepted if the part [part] is in state named [state].
-        Only one filter per program can be used. If [state] is not given, the source of
-        the event will be used instead.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_filter(void)
-{
-   check_min_arg_count(1);
-
-   if(is_param(1)) {
-          current_program->filter.part = parse_str(0);
-          current_program->filter.state = parse_str(1);
-   } else {
-          current_program->filter.state = parse_str(0);
-   }
-}
-
-/**
-    @page edcref
-    @property
-        in
-    @parameters
-        [from] [range]
-    @effect
-        Wait 'from' seconds before executing the program. And add a random
-        number of seconds (from 0 to 'range') to the total waiting time.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_in(void)
-{
-   check_arg_count(2);
-
-   current_program->in.from = parse_float_range(0, 0.0, 999999999.0);
-   current_program->in.range = parse_float_range(1, 0.0, 999999999.0);
-}
-
-/**
-    @page edcref
-    @property
-        action
-    @parameters
-        [type] [param1] [param2]
-    @effect
-        Action to be performed by the program. Valid actions are: STATE_SET,
-        ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, DRAG_VAL_STEP, DRAG_VAL_PAGE,
-        FOCUS_SET, PARAM_COPY, PARAM_SET, PLAY_SAMPLE, PLAY_TONE,
-        PHYSICS_IMPULSE, PHYSICS_TORQUE_IMPULSE, PHYSICS_FORCE, PHYSICS_TORQUE,
-        PHYSICS_FORCES_CLEAR, PHYSICS_VEL_SET, PHYSICS_ANG_VEL_SET,
-        PHYSICS_STOP, PHYSICS_ROT_SET
-        Only one action can be specified per program. Examples:\n
-           action: STATE_SET "statename" 0.5;\n
-           action: ACTION_STOP;\n
-           action: SIGNAL_EMIT "signalname" "emitter";\n
-           action: DRAG_VAL_SET 0.5 0.0;\n
-           action: DRAG_VAL_STEP 1.0 0.0;\n
-           action: DRAG_VAL_PAGE 0.0 0.0;\n
-           action: FOCUS_SET;\n
-           action: FOCUS_OBJECT;\n
-           action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";\n
-           action: PARAM_SET "part" "param" "value";\n
-           action: PLAY_SAMPLE "sample name";\n
-           action: PLAY_TONE "tone name" duration in seconds ( Range 0.1 to 10.0 );\n
-           action: PHYSICS_IMPULSE 10 -23.4 0;\n
-           action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
-           action: PHYSICS_FORCE -20.8 0 30.85;\n
-           action: PHYSICS_TORQUE 0 0 4.8;\n
-           action: PHYSICS_FORCES_CLEAR;\n
-           action: PHYSICS_VEL_SET 40.9 0 0;\n
-           action: PHYSICS_ANG_VEL_SET 12.4 0 0.66;\n
-           action: PHYSICS_STOP;\n
-           action: PHYSICS_ROT_SET 0.707 0 0 0.707;\n
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_action(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Program *ep;
-   int i;
-   
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_program;
-   ep->action = parse_enum(0,
-                           "STATE_SET", EDJE_ACTION_TYPE_STATE_SET,
-                           "ACTION_STOP", EDJE_ACTION_TYPE_ACTION_STOP,
-                           "SIGNAL_EMIT", EDJE_ACTION_TYPE_SIGNAL_EMIT,
-                           "DRAG_VAL_SET", EDJE_ACTION_TYPE_DRAG_VAL_SET,
-                           "DRAG_VAL_STEP", EDJE_ACTION_TYPE_DRAG_VAL_STEP,
-                           "DRAG_VAL_PAGE", EDJE_ACTION_TYPE_DRAG_VAL_PAGE,
-                           "SCRIPT", EDJE_ACTION_TYPE_SCRIPT,
-                           "FOCUS_SET", EDJE_ACTION_TYPE_FOCUS_SET,
-                           "FOCUS_OBJECT", EDJE_ACTION_TYPE_FOCUS_OBJECT,
-                           "PARAM_COPY", EDJE_ACTION_TYPE_PARAM_COPY,
-                           "PARAM_SET", EDJE_ACTION_TYPE_PARAM_SET,
-                           "PLAY_SAMPLE", EDJE_ACTION_TYPE_SOUND_SAMPLE,
-                           "PLAY_TONE", EDJE_ACTION_TYPE_SOUND_TONE,
-                           "PHYSICS_IMPULSE", EDJE_ACTION_TYPE_PHYSICS_IMPULSE,
-                           "PHYSICS_TORQUE_IMPULSE",
-                           EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE,
-                           "PHYSICS_FORCE", EDJE_ACTION_TYPE_PHYSICS_FORCE,
-                           "PHYSICS_TORQUE", EDJE_ACTION_TYPE_PHYSICS_TORQUE,
-                           "PHYSICS_FORCES_CLEAR",
-                           EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR,
-                           "PHYSICS_VEL_SET", EDJE_ACTION_TYPE_PHYSICS_VEL_SET,
-                           "PHYSICS_ANG_VEL_SET",
-                           EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET,
-                           "PHYSICS_STOP", EDJE_ACTION_TYPE_PHYSICS_STOP,
-                           "PHYSICS_ROT_SET", EDJE_ACTION_TYPE_PHYSICS_ROT_SET,
-                           NULL);
-   if (ep->action == EDJE_ACTION_TYPE_STATE_SET)
-     {
-       ep->state = parse_str(1);
-       if (get_arg_count() == 1)
-         ep->value = 0.0;
-       else
-         ep->value = parse_float_range(2, 0.0, 1.0);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)
-     {
-       ep->state = parse_str(1);
-       ep->state2 = parse_str(2);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_SOUND_SAMPLE)
-     {
-        ep->sample_name = parse_str(1);
-        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
-          {
-             if (!strcmp(edje_file->sound_dir->samples[i].name, ep->sample_name))
-               break;
-             if (i == (int)(edje_file->sound_dir->samples_count - 1))
-               {
-                  ERR("No Sample name %s exist.", ep->sample_name);
-                  exit(-1);
-               }
-          }
-        ep->speed = parse_float_range(2, 0.0, 10.0);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_SOUND_TONE)
-     {
-        ep->tone_name = parse_str(1);
-        for (i = 0; i < (int)edje_file->sound_dir->tones_count; i++)
-          {
-             if (!strcmp(edje_file->sound_dir->tones[i].name, ep->tone_name))
-               break;
-             if (i == (int)(edje_file->sound_dir->tones_count - 1))
-               {
-                  ERR("No Tone name %s exist.", ep->tone_name);
-                  exit(-1);
-               }
-          }
-        ep->duration = parse_float_range(2, 0.1, 10.0);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_SET)
-     {
-       ep->value = parse_float(1);
-       ep->value2 = parse_float(2);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP)
-     {
-       ep->value = parse_float(1);
-       ep->value2 = parse_float(2);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE)
-     {
-       ep->value = parse_float(1);
-       ep->value2 = parse_float(2);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_PARAM_COPY)
-     {
-       char *src_part, *dst_part;
-        
-       src_part = parse_str(1);
-       ep->state = parse_str(2);
-       dst_part = parse_str(3);
-       ep->state2 = parse_str(4);
-        
-       data_queue_part_lookup(pc, src_part, &(ep->param.src));
-       data_queue_part_lookup(pc, dst_part, &(ep->param.dst));
-        
-       free(src_part);
-       free(dst_part);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_PARAM_SET)
-     {
-       char *part;
-        
-       part = parse_str(1);
-       ep->state = parse_str(2);
-       ep->state2 = parse_str(3);
-        
-       data_queue_part_lookup(pc, part, &(ep->param.dst));
-       free(part);
-     }
-#ifdef HAVE_EPHYSICS
-   else if ((ep->action == EDJE_ACTION_TYPE_PHYSICS_IMPULSE) ||
-            (ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE) ||
-            (ep->action == EDJE_ACTION_TYPE_PHYSICS_FORCE) ||
-            (ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE) ||
-            (ep->action == EDJE_ACTION_TYPE_PHYSICS_VEL_SET) ||
-            (ep->action == EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET))
-     {
-        ep->physics.x = parse_float(1);
-        ep->physics.y = parse_float(2);
-        ep->physics.z = parse_float(3);
-     }
-   else if (ep->action == EDJE_ACTION_TYPE_PHYSICS_ROT_SET)
-     {
-        ep->physics.w = parse_float(1);
-        ep->physics.x = parse_float(2);
-        ep->physics.y = parse_float(3);
-        ep->physics.z = parse_float(4);
-     }
-#endif
-
-   switch (ep->action)
-     {
-      case EDJE_ACTION_TYPE_SCRIPT:
-       /* this is implicitly set by script {} so this is here just for
-        * completeness */
-       break;
-      case EDJE_ACTION_TYPE_ACTION_STOP:
-      case EDJE_ACTION_TYPE_FOCUS_OBJECT:
-      case EDJE_ACTION_TYPE_FOCUS_SET:
-      case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
-      case EDJE_ACTION_TYPE_PHYSICS_STOP:
-        check_arg_count(1);
-        break;
-      case EDJE_ACTION_TYPE_PARAM_SET:
-      case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
-      case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
-      case EDJE_ACTION_TYPE_PHYSICS_FORCE:
-      case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
-      case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
-      case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
-        check_arg_count(4);
-        break;
-      case EDJE_ACTION_TYPE_PARAM_COPY:
-      case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
-        check_arg_count(5);
-        break;
-      default:
-       check_arg_count(3);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        transition
-    @parameters
-        [type] [length] [[interp val 1]] [[interp val 2]] [[option]]
-    @effect
-        Defines how transitions occur using STATE_SET action.\n
-        Where 'type' is the style of the transition and 'length' is a double
-        specifying the number of seconds in which to preform the transition.\n
-        Valid types are: LIN or LINEAR, SIN or SINUSOIDAL, 
-        ACCEL or ACCELERATE, DECEL or DECELERATE, 
-        ACCEL_FAC or ACCELERATE_FACTOR, DECEL_FAC or DECELERATE_FACTOR,
-        SIN_FAC or SINUSOIDAL_FACTOR, DIVIS or DIVISOR_INTERP,
-        BOUNCE, SPRING.
-        
-        ACCEL_FAC, DECEL_FAC and SIN_FAC need the extra optional
-        "interp val 1" to determine the "factor" of curviness. 1.0 is the same
-        as their non-factor counterparts, where 0.0 is equal to linear.
-        Numbers higher than one make the curve angles steeper with a more
-        pronounced curve point.
-        
-        DIVIS, BOUNCE and SPRING also require "interp val 2" in addition
-        to "interp val 1".
-        
-        DIVIS uses val 1 as the initial gradient start
-        (0.0 is horizontal, 1.0 is diagonal (linear), 2.0 is twice the
-        gradient of linear etc.). val 2 is interpreted as an integer factor
-        defining how much the value swings "outside" the gradient only to come
-        back to the final resting spot at the end. 0.0 for val 2 is equivalent
-        to linear interpolation. Note that DIVIS can exceed 1.0
-        
-        BOUNCE uses val 2 as the number of bounces (so its rounded down to
-        the nearest integer value), with val 1 determining how much the
-        bounce decays, with 0.0 giving linear decay per bounce, and higher
-        values giving much more decay.
-
-        SPRING is similar to bounce, where val 2 specifies the number of
-        spring "swings" and val 1 specifies the decay, but it can exceed 1.0
-        on the outer swings.
-
-        Valid option is CURRENT.
-
-        CURRENT is the option which causes the edje object to move from its current position.
-        It can be used as the last parameter of any transition type. (@since 1.1.0)
-
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_transition(void)
-{
-   check_min_arg_count(2);
-
-   current_program->tween.mode = parse_enum(0,
-                                            // short names
-                                           "LIN", EDJE_TWEEN_MODE_LINEAR,
-                                           "SIN", EDJE_TWEEN_MODE_SINUSOIDAL,
-                                           "ACCEL", EDJE_TWEEN_MODE_ACCELERATE,
-                                           "DECEL", EDJE_TWEEN_MODE_DECELERATE,
-                                           "ACCEL_FAC", EDJE_TWEEN_MODE_ACCELERATE_FACTOR,
-                                           "DECEL_FAC", EDJE_TWEEN_MODE_DECELERATE_FACTOR,
-                                           "SIN_FAC", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR,
-                                           "DIVIS", EDJE_TWEEN_MODE_DIVISOR_INTERP,
-                                            
-                                            // long/full names
-                                           "LINEAR", EDJE_TWEEN_MODE_LINEAR,
-                                           "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL,
-                                           "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE,
-                                           "DECELERATE", EDJE_TWEEN_MODE_DECELERATE,
-                                           "ACCELERATE_FACTOR", EDJE_TWEEN_MODE_ACCELERATE_FACTOR,
-                                           "DECELERATE_FACTOR", EDJE_TWEEN_MODE_DECELERATE_FACTOR,
-                                           "SINUSOIDAL_FACTOR", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR,
-                                           "DIVISOR_INTERP", EDJE_TWEEN_MODE_DIVISOR_INTERP,
-                                            
-                                            // long/full is short enough
-                                           "BOUNCE", EDJE_TWEEN_MODE_BOUNCE,
-                                           "SPRING", EDJE_TWEEN_MODE_SPRING,
-                                           NULL);
-   current_program->tween.time = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
-   if ((current_program->tween.mode >= EDJE_TWEEN_MODE_LINEAR) &&
-       (current_program->tween.mode <= EDJE_TWEEN_MODE_DECELERATE))
-     {
-        if ((get_arg_count() == 3) && (!strcmp(parse_str(2), "CURRENT")))
-          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
-        else if (get_arg_count() != 2)
-          {
-             ERR("parse error %s:%i. Need 2rd parameter to set time",
-                 file_in, line - 1);
-             exit(-1);
-          }
-     }
-   // the following need v1
-   // EDJE_TWEEN_MODE_ACCELERATE_FACTOR
-   // EDJE_TWEEN_MODE_DECELERATE_FACTOR
-   // EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR
-   // current_program->tween.v1
-   else if ((current_program->tween.mode >= EDJE_TWEEN_MODE_ACCELERATE_FACTOR) &&
-       (current_program->tween.mode <= EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR))
-     {
-        if ((get_arg_count() == 4) && (!strcmp(parse_str(3), "CURRENT")))
-          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
-        else if (get_arg_count() != 3)
-          {
-            ERR("parse error %s:%i. Need 3rd parameter to set factor",
-                file_in, line - 1);
-            exit(-1);
-          }
-        current_program->tween.v1 = FROM_DOUBLE(parse_float_range(2, 0.0, 999999999.0));
-     }
-   // the followjng also need v2
-   // EDJE_TWEEN_MODE_DIVISOR_INTERP
-   // EDJE_TWEEN_MODE_BOUNCE
-   // EDJE_TWEEN_MODE_SPRING
-   // current_program->tween.v2
-   else if ((current_program->tween.mode >= EDJE_TWEEN_MODE_DIVISOR_INTERP) &&
-            (current_program->tween.mode <= EDJE_TWEEN_MODE_SPRING))
-     {
-        if ((get_arg_count() == 5) && (!strcmp(parse_str(4), "CURRENT")))
-          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
-        else if (get_arg_count() != 4)
-          {
-            ERR("parse error %s:%i. "
-                "Need 3rd and 4th parameters to set factor and counts",
-                file_in, line - 1);
-            exit(-1);
-          }
-        current_program->tween.v1 = FROM_DOUBLE(parse_float_range(2, 0.0, 999999999.0));
-        current_program->tween.v2 = FROM_DOUBLE(parse_float_range(3, 0.0, 999999999.0));
-     }
-}
-
-/**
-    @page edcref
-    @property
-        target
-    @parameters
-        [target]
-    @effect
-        Program or part on which the specified action acts. Multiple target
-        keywords may be specified, one per target. SIGNAL_EMITs do not have
-        targets.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_target(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Program *ep;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_program;
-     {
-       Edje_Program_Target *et;
-       Edje_Program_Target *etw;
-       Eina_List *l;
-       char *name;
-       char *copy;
-
-       name = parse_str(0);
-        
-       EINA_LIST_FOREACH(ep->targets, l, etw)
-          {
-             if (!strcmp(name, (char*) (etw + 1)))
-               {
-                  free(name);
-                  return;
-               }
-          }
-
-       et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1);
-       ep->targets = eina_list_append(ep->targets, et);
-       copy = (char*) (et + 1);
-       memcpy(copy, name, strlen(name) + 1);
-        switch (ep->action)
-          {
-           case EDJE_ACTION_TYPE_ACTION_STOP:
-              data_queue_program_lookup(pc, name, &(et->id));
-              break;
-           case EDJE_ACTION_TYPE_STATE_SET:
-           case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-           case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-           case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-           case EDJE_ACTION_TYPE_FOCUS_SET:
-           case EDJE_ACTION_TYPE_FOCUS_OBJECT:
-#ifdef HAVE_EPHYSICS
-           case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
-           case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
-           case EDJE_ACTION_TYPE_PHYSICS_FORCE:
-           case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
-           case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
-           case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
-           case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
-           case EDJE_ACTION_TYPE_PHYSICS_STOP:
-           case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
-#endif
-              data_queue_part_lookup(pc, name, &(et->id));
-              break;
-           default:
-              ERR("parse error %s:%i. target may only be used after action",
-                  file_in, line - 1);
-              exit(-1);
-          }
-       free(name);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        after
-    @parameters
-        [after]
-    @effect
-        Specifies a program to run after the current program completes. The
-        source and signal parameters of a program run as an "after" are ignored.
-        Multiple "after" statements can be specified per program.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_after(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Program *ep;
-
-   check_arg_count(1);
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = current_program;
-     {
-       Edje_Program_After *pa;
-       Edje_Program_After *pa2;
-       Eina_List *l;
-       char *name;
-        char *copy;
-
-       name = parse_str(0);
-
-        EINA_LIST_FOREACH(ep->after, l, pa2)
-          {
-             if (!strcmp(name, (char*) (pa2 + 1)))
-               {
-                  free(name);
-                  return;
-               }
-          }
-
-       pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
-       pa->id = -1;
-       ep->after = eina_list_append(ep->after, pa);
-        copy = (char*)(pa + 1);
-        memcpy(copy, name, strlen(name) + 1);
-       data_queue_program_lookup(pc, name, &(pa->id));
-       free(name);
-     }
-}
-
-/**
-    @page edcref
-    @property
-        api
-    @parameters
-        [name] [description]
-    @effect
-        Specifies a hint to let applications (or IDE's) know how to bind
-       things. The parameter name should contain the name of the function that
-       the application should use, and description describes how it should
-       be used.
-    @endproperty
-*/
-static void
-st_collections_group_programs_program_api(void)
-{
-   check_min_arg_count(1);
-
-   current_program->api.name = parse_str(0);
-
-   if (is_param(1))
-     {
-       check_arg_count(2);
-       current_program->api.description = parse_str(1);
-     }
-}
-
-static void
-st_collections_group_parts_part_api(void)
-{
-   check_min_arg_count(1);
-
-   current_part->api.name = parse_str(0);
-   if (is_param(1))
-     {
-       check_arg_count(2);
-       current_part->api.description = parse_str(1);
-     }
-}
-
-static void
-ob_collections_group_programs_program_script(void)
-{
-   Edje_Part_Collection *pc;
-   Code *cd;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   cd = eina_list_data_get(eina_list_last(codes));
-
-   if (!is_verbatim()) track_verbatim(1);
-   else
-     {
-        Eina_Bool empty = EINA_TRUE;
-        char *s;
-        int i, len;
-
-        s = get_verbatim();
-        if (s)
-          {
-             Code_Program *cp;
-
-             /* FIXME: Need to store the script somewhere to be restored when using edje_edit API */
-             cp = mem_alloc(SZ(Code_Program));
-             cp->l1 = get_verbatim_line1();
-             cp->l2 = get_verbatim_line2();
-             cp->script = s;
-             cp->original = strdup(s);
-             if (cd->shared && cd->is_lua)
-               {
-                  ERR("parse error %s:%i. You're trying to mix Embryo and Lua scripting in the same group",
-                      file_in, line - 1);
-                  exit(-1);
-               }
-             cd->is_lua = 0;
-
-             len = strlen(cp->script);
-             for (i = 0; i < len; i++)
-               {
-                  if (((cp->script[i] > 'a') && (cp->script[i] < 'z')) ||
-                      ((cp->script[i] > 'A') && (cp->script[i] < 'Z')) ||
-                      ((cp->script[i] > '0') && (cp->script[i] < '9')))
-                    empty = EINA_FALSE;
-               }
-
-             if (!empty)
-               {
-                  cd->programs = eina_list_append(cd->programs, cp);
-                  data_queue_anonymous_lookup(pc, current_program, &(cp->id));
-                  current_program->action = EDJE_ACTION_TYPE_SCRIPT;
-               }
-             else
-               {
-                  data_queue_anonymous_lookup(pc, current_program, NULL);
-                  free(cp);
-                  cp = NULL;
-               }
-
-             set_verbatim(NULL, 0, 0);
-          }
-     }
-}
-
-/**
-   @edcsubsection{collections_group_physics,Physics}
- */
-
-/**
-    @page edcref
-    @block
-        physics
-    @context
-       group {
-           ..
-           physics {
-               world {
-                   ..
-               }
-           }
-           ..
-       }
-    @description
-        The "physics" block consists of blocks related to physics but
-        not to configure a body. By now, it only has a "world" block.
-    @endblock
- */
-
-/**
-   @edcsubsection{collections_group_physics_world,World}
- */
-
-/**
-    @page edcref
-    @block
-        world
-    @context
-        physics {
-            world {
-               gravity: 0 294 0;
-               rate: 30;
-               z: -50;
-               depth: 100;
-            }
-        }
-    @description
-        The "world" block configures the physics world. It's the
-        environment where the part's bodies will be simulated.
-        It can be used to customize gravity, rate, depth and others.
-    @endblock
-
-    @property
-        gravity
-    @parameters
-        [x-axis] [y-axis] [z-axis]
-    @effect
-        Three double values defining the gravity vector.
-        Each one is the component of this same vector over each axis.
-        Its unit is Evas Coordinates per second ^ 2.
-        The default value is 0, 294, 0, since we've a default rate of
-        30 pixels.
-    @endproperty
-    @since 1.8.0
- */
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_physics_world_gravity(void)
-{
-   Edje_Part_Collection *pc;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   check_arg_count(3);
-
-   pc->physics.world.gravity.x = parse_int(0);
-   pc->physics.world.gravity.y = parse_int(1);
-   pc->physics.world.gravity.z = parse_int(2);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        rate
-    @parameters
-        [rate pixels / meter]
-    @effect
-        Set rate between pixels on evas canvas and meters on physics world.
-        It will be used by automatic updates of evas objects associated to
-        physics bodies.
-        By default rate is 30 pixels per meter.
-    @endproperty
-    @since 1.8.0
- */
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_physics_world_rate(void)
-{
-   Edje_Part_Collection *pc;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   check_arg_count(1);
-
-   pc->physics.world.rate = parse_float(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        depth
-    @parameters
-        [depth in pixels]
-    @effect
-        World's depth, in pixels. It's only relevant if boundaries are used,
-        since their size depends on this.
-        By default world's depth is 100 pixels.
-    @endproperty
-    @since 1.8.0
- */
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_physics_world_depth(void)
-{
-   Edje_Part_Collection *pc;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   check_arg_count(1);
-
-   pc->physics.world.depth = parse_int(0);
-}
-#endif
-
-/**
-    @page edcref
-    @property
-        z
-    @parameters
-        [world's front border position]
-    @effect
-        Position in z axis, in pixels.
-        It's only relevant if boundaries are used, since their position
-        depends on this.
-        By default world's z is -50 pixels.
-    @endproperty
-    @since 1.8.0
- */
-#ifdef HAVE_EPHYSICS
-static void
-st_collections_group_physics_world_z(void)
-{
-   Edje_Part_Collection *pc;
-
-   pc = eina_list_data_get(eina_list_last(edje_collections));
-   check_arg_count(1);
-
-   pc->physics.world.z = parse_int(0);
-}
-#endif
-
-/**
-    @page edcref
-    </table>
-*/
-
-static void
-edje_cc_handlers_hierarchy_set(Edje_Part *src)
-{  /* This funcion makes current part rel_1.id, rel_2.id relative to src */
-   if (!src->name)
-     {
-        ERR("parse error %s:%i. You must set parent name before creating nested part",
-            file_in, line - 1);
-        exit(-1);
-     }
-   st_collections_group_parts_part_description_rel1_to_set(src->name);
-   st_collections_group_parts_part_description_rel2_to_set(src->name);
-}
-
-static Edje_Part *
-edje_cc_handlers_hierarchy_parent_get(void)
-{  /* Return the parent part pointer */
-   int idx = eina_array_count(part_hierarchy) - 2;
-   Edje_Cc_Handlers_Hierarchy_Info *info = (idx >= 0) ?
-      eina_array_data_get(part_hierarchy, idx) : NULL;
-
-   return (info) ? info->ep : NULL;
-}
-
-static void
-edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp)
-{  /* Remove part from hierarchy stack when finished parsing it */
-   Edje_Cc_Handlers_Hierarchy_Info *info = malloc(sizeof(*info));
-   info->current_de = current_de;
-   info->current_part = cp;  /* current_part restored on pop */
-   info->current_item = current_item;
-   info->current_desc = current_desc;
-   info->parent_desc = parent_desc;
-   info->current_program = current_program;
-   info->ep = ep;
-
-   eina_array_push(part_hierarchy, info);
-}
-
-static void
-edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new)
-{
-   Edje_Cc_Handlers_Hierarchy_Info *item;
-   Eina_Array_Iterator iterator;
-   unsigned int i;
-
-   EINA_ARRAY_ITER_NEXT(part_hierarchy, i, item, iterator)
-     {
-        if (item->ep == old) item->ep = new;
-        if (item->current_part == old) item->current_part = new;
-     }
-}
-
-void
-edje_cc_handlers_hierarchy_alloc(void)
-{
-   part_hierarchy = eina_array_new(8);
-}
-
-void
-edje_cc_handlers_hierarchy_free(void)
-{
-   eina_array_free(part_hierarchy);
-   part_hierarchy = NULL;
-}
-
-static void
-edje_cc_handlers_hierarchy_pop(void)
-{  /* Remove part from hierarchy stack when finished parsing it */
-   Edje_Cc_Handlers_Hierarchy_Info *info = eina_array_pop(part_hierarchy);
-
-   if (info)
-     {
-        current_de = info->current_de;
-        current_part = info->current_part;
-        current_item = info->current_item;
-        current_desc = info->current_desc;
-        parent_desc = info->parent_desc;
-        current_program = info->current_program;
-
-        free(info);
-     }
-}
diff --git a/legacy/edje/src/bin/edje_cc_mem.c b/legacy/edje/src/bin/edje_cc_mem.c
deleted file mode 100644 (file)
index e1fa239..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <errno.h>
-
-#include "edje_cc.h"
-
-void *
-mem_alloc(size_t size)
-{
-   void *mem;
-
-   mem = calloc(1, size);
-   if (mem) return mem;
-   ERR("%s:%i memory allocation of %zu bytes failed. %s",
-       file_in, line, size, strerror(errno));
-   exit(-1);
-   return NULL;
-}
-
-char *
-mem_strdup(const char *s)
-{
-   void *str;
-
-   str = strdup(s);
-   if (str) return str;
-   ERR("%s:%i memory allocation of %zu bytes failed. %s. string being duplicated: \"%s\"",
-       file_in, line, strlen(s) + 1, strerror(errno), s);
-   exit(-1);
-   return NULL;
-}
diff --git a/legacy/edje/src/bin/edje_cc_out.c b/legacy/edje/src/bin/edje_cc_out.c
deleted file mode 100644 (file)
index ec12ab5..0000000
+++ /dev/null
@@ -1,2623 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif !defined alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
-# elif defined _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# elif !defined HAVE_ALLOCA
-#  ifdef  __cplusplus
-extern "C"
-#  endif
-void *alloca (size_t);
-# endif
-#endif
-
-#include <string.h>
-#include <limits.h>
-#include <unistd.h>
-#include <sys/stat.h>
-
-#include <Ecore_Evas.h>
-
-#include "edje_cc.h"
-#include "edje_convert.h"
-#include "edje_multisense_convert.h"
-
-#include <lua.h>
-#include <lauxlib.h>
-
-typedef struct _External_Lookup External_Lookup;
-typedef struct _Part_Lookup Part_Lookup;
-typedef struct _Program_Lookup Program_Lookup;
-typedef struct _Group_Lookup Group_Lookup;
-typedef struct _Image_Lookup Image_Lookup;
-typedef struct _Slave_Lookup Slave_Lookup;
-typedef struct _Code_Lookup Code_Lookup;
-
-
-struct _External_Lookup
-{
-   char *name;
-};
-
-struct _Part_Lookup
-{
-   Edje_Part_Collection *pc;
-   char *name;
-   int *dest;
-};
-
-struct _Program_Lookup
-{
-   Edje_Part_Collection *pc;
-
-   union
-   {
-      char *name;
-      Edje_Program *ep;
-   } u;
-
-   int *dest;
-
-   Eina_Bool anonymous : 1;
-};
-
-struct _Group_Lookup
-{
-   char *name;
-   Edje_Part *part;
-};
-
-struct _String_Lookup
-{
-   char *name;
-   int *dest;
-};
-
-struct _Image_Lookup
-{
-   char *name;
-   int *dest;
-   Eina_Bool *set;
-};
-
-struct _Slave_Lookup
-{
-   int *master;
-   int *slave;
-};
-
-struct _Code_Lookup
-{
-   char *ptr;
-   int   len;
-   int   val;
-   Eina_Bool set;
-};
-
-typedef struct _Script_Lua_Writer Script_Lua_Writer;
-
-struct _Script_Lua_Writer
-{
-   char *buf;
-   int size;
-};
-
-typedef struct _Script_Write Script_Write;;
-typedef struct _Head_Write Head_Write;
-typedef struct _Fonts_Write Fonts_Write;
-typedef struct _Image_Write Image_Write;
-typedef struct _Sound_Write Sound_Write;
-typedef struct _Group_Write Group_Write;
-
-struct _Script_Write
-{
-   Eet_File *ef;
-   Code *cd;
-   int i;
-   Ecore_Exe *exe;
-   int tmpn_fd, tmpo_fd;
-   char tmpn[PATH_MAX];
-   char tmpo[PATH_MAX];
-   char *errstr;
-};
-
-struct _Head_Write
-{
-   Eet_File *ef;
-   char *errstr;
-};
-
-struct _Fonts_Write
-{
-   Eet_File *ef;
-   Edje_Font *fn;
-   char *errstr;
-};
-
-struct _Image_Write
-{
-   Eet_File *ef;
-   Edje_Image_Directory_Entry *img;
-   Evas_Object *im;
-   int w, h;
-   int alpha;
-   unsigned int *data;
-   char *path;
-   char *errstr;
-};
-
-struct _Sound_Write
-{
-   Eet_File *ef;
-   Edje_Sound_Sample *sample;
-   int i;
-};
-
-struct _Group_Write
-{
-   Eet_File *ef;
-   Edje_Part_Collection *pc;
-   char *errstr;
-};
-
-static int pending_threads = 0;
-
-static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len));
-
-Edje_File *edje_file = NULL;
-Eina_List *edje_collections = NULL;
-Eina_Hash *edje_collections_lookup = NULL;
-Eina_List *externals = NULL;
-Eina_List *fonts = NULL;
-Eina_List *codes = NULL;
-Eina_List *code_lookups = NULL;
-Eina_List *aliases = NULL;
-
-static Eet_Data_Descriptor *edd_edje_file = NULL;
-static Eet_Data_Descriptor *edd_edje_part_collection = NULL;
-
-static Eina_List *program_lookups = NULL;
-static Eina_List *group_lookups = NULL;
-static Eina_List *face_group_lookups = NULL;
-static Eina_List *image_lookups = NULL;
-static Eina_List *part_slave_lookups = NULL;
-static Eina_List *image_slave_lookups= NULL;
-
-static Eina_Hash *part_dest_lookup = NULL;
-static Eina_Hash *part_pc_dest_lookup = NULL;
-
-void
-error_and_abort(Eet_File *ef __UNUSED__, const char *fmt, ...)
-{
-   va_list ap;
-
-   va_start(ap, fmt);
-   eina_log_vprint(_edje_cc_log_dom, EINA_LOG_LEVEL_CRITICAL,
-                   "unknown", "unknown", 0, fmt, ap);
-   va_end(ap);
-   unlink(file_out);
-   if (watchfile) unlink(watchfile);
-   exit(-1);
-}
-
-static unsigned int
-_double_pointer_key_length(const void *key __UNUSED__)
-{
-   return sizeof (void*) * 2;
-}
-
-static int
-_double_pointer_key_cmp(const void *key1, int key1_length,
-                        const void *key2, int key2_length __UNUSED__)
-{
-   return memcmp(key1, key2, key1_length);
-}
-
-static int
-_double_pointer_key_hash(const void *key, int key_length __UNUSED__)
-{
-#ifdef __LP64__
-   return eina_hash_int64(key, sizeof (void*)) ^
-     eina_hash_int64((void*)(((unsigned char*) key) + sizeof (void*)), sizeof (void*));
-#else
-   /* double 32 bits pointer is ... 64bits awesome ! */
-   return eina_hash_int64(key, key_length);
-#endif
-}
-
-static void
-data_part_lookup_free(Part_Lookup *pl)
-{
-   free(pl->name);
-   free(pl);
-}
-
-void
-data_setup(void)
-{
-   edd_edje_file = _edje_edd_edje_file;
-   edd_edje_part_collection = _edje_edd_edje_part_collection;
-
-   part_dest_lookup = eina_hash_pointer_new(EINA_FREE_CB(eina_list_free));
-   part_pc_dest_lookup = eina_hash_new(EINA_KEY_LENGTH(_double_pointer_key_length),
-                                       EINA_KEY_CMP(_double_pointer_key_cmp),
-                                       EINA_KEY_HASH(_double_pointer_key_hash),
-                                       EINA_FREE_CB(data_part_lookup_free),
-                                       8);
-}
-
-static void
-check_image_part_desc(Edje_Part_Collection *pc, Edje_Part *ep,
-                      Edje_Part_Description_Image *epd, Eet_File *ef)
-{
-   unsigned int i;
-
-   if (epd->image.id == -1 && epd->common.visible)
-     WRN("Collection %s(%i): image attributes missing for "
-        "part \"%s\", description \"%s\" %f",
-        pc->part, pc->id, ep->name, epd->common.state.name, epd->common.state.value);
-
-   for (i = 0; i < epd->image.tweens_count; ++i)
-     {
-       if (epd->image.tweens[i]->id == -1)
-         error_and_abort(ef, "Collection %i: tween image id missing for "
-                         "part \"%s\", description \"%s\" %f",
-                         pc->id, ep->name, epd->common.state.name, epd->common.state.value);
-    }
-}
-
-static void
-check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
-{
-   unsigned int i;
-
-   for (i = 0; i < ep->items_count; ++i)
-     {
-       if (ep->items[i]->type == EDJE_PART_TYPE_GROUP && !ep->items[i]->source)
-         error_and_abort(ef, "Collection %i: missing source on packed item "
-                         "of type GROUP in part \"%s\"",
-                         pc->id, ep->name);
-       if (ep->type == EDJE_PART_TYPE_TABLE && (ep->items[i]->col < 0 || ep->items[i]->row < 0))
-         error_and_abort(ef, "Collection %i: missing col/row on packed item "
-                         "for part \"%s\" of type TABLE",
-                         pc->id, ep->name);
-     }
-}
-
-static void
-check_nameless_state(Edje_Part_Collection *pc, Edje_Part *ep, Edje_Part_Description_Common *ed, Eet_File *ef)
-{
-   if (!ed->state.name)
-      error_and_abort(ef, "Collection %i: description with state missing on part \"%s\"",
-                      pc->id, ep->name);
-}
-
-static void
-check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
-{
-   unsigned int i;
-   /* FIXME: check image set and sort them. */
-   if (!ep->default_desc)
-     error_and_abort(ef, "Collection %i: default description missing "
-                    "for part \"%s\"", pc->id, ep->name);
-
-   for (i = 0; i < ep->other.desc_count; ++i)
-     check_nameless_state(pc, ep, ep->other.desc[i], ef);
-
-   if (ep->type == EDJE_PART_TYPE_IMAGE)
-     {
-       check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->default_desc, ef);
-
-       for (i = 0; i < ep->other.desc_count; ++i)
-         check_image_part_desc (pc, ep, (Edje_Part_Description_Image*) ep->other.desc[i], ef);
-     }
-   else if ((ep->type == EDJE_PART_TYPE_BOX) ||
-           (ep->type == EDJE_PART_TYPE_TABLE))
-     check_packed_items(pc, ep, ef);
-
-   /* FIXME: When mask are supported remove this check */
-   if (ep->clip_to_id != -1 &&
-       pc->parts[ep->clip_to_id]->type != EDJE_PART_TYPE_RECTANGLE)
-     error_and_abort(ef, "Collection %i: clip_to point to a non RECT part '%s' !",
-                     pc->id, pc->parts[ep->clip_to_id]->name);
-}
-
-static void
-check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef)
-{
-   switch (ep->action)
-     {
-      case EDJE_ACTION_TYPE_STATE_SET:
-      case EDJE_ACTION_TYPE_ACTION_STOP:
-      case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-      case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-      case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-        if (!ep->targets)
-          error_and_abort(ef, "Collection %i: target missing in program "
-                          "\"%s\"", pc->id, ep->name);
-        break;
-      default:
-        break;
-     }
-}
-
-static void
-data_thread_head(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Head_Write *hw = data;
-   int bytes = 0;
-   char buf[PATH_MAX];
-
-   if (edje_file)
-     {
-       if (edje_file->collection)
-         {
-            Edje_Part_Collection_Directory_Entry *ce;
-
-            EINA_LIST_FREE(aliases, ce)
-              {
-                 Edje_Part_Collection_Directory_Entry *sce;
-
-                 if (!ce->entry)
-                    {
-                       snprintf(buf, sizeof(buf),
-                                "Collection %i: name missing.", ce->id);
-                       hw->errstr = strdup(buf);
-                       return;
-                    }
-
-                 sce = eina_hash_find(edje_collections_lookup, &ce->id);
-                 if (sce)
-                    {
-                       memcpy(&ce->count, &sce->count, sizeof (ce->count));
-                    }
-                 else
-                    {
-                       snprintf(buf, sizeof(buf),
-                                "Collection %s (%i) can't find an correct alias.",
-                                ce->entry, ce->id);
-                       hw->errstr = strdup(buf);
-                       return;
-                    }
-
-                 eina_hash_direct_add(edje_file->collection, ce->entry, ce);
-              }
-         }
-       bytes = eet_data_write(hw->ef, edd_edje_file, "edje/file", edje_file,
-                               compress_mode);
-       if (bytes <= 0)
-          {
-             snprintf(buf, sizeof(buf),
-                      "Unable to write \"edje_file\" entry to \"%s\"",
-                      file_out);
-             hw->errstr = strdup(buf);
-             return;
-          }
-     }
-
-   INF("Wrote %9i bytes (%4iKb) for \"edje_file\" header",
-       bytes, (bytes + 512) / 1024);
-}
-
-static void
-data_thread_head_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Head_Write *hw = data;
-
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (hw->errstr)
-     {
-        error_and_abort(hw->ef, hw->errstr);
-        free(hw->errstr);
-     }
-   free(hw);
-}
-
-static void
-data_write_header(Eet_File *ef)
-{
-   Head_Write  *hw;
-
-   hw = calloc(1, sizeof(Head_Write));
-   hw->ef = ef;
-   pending_threads++;
-   if (threads)
-     ecore_thread_run(data_thread_head, data_thread_head_end, NULL, hw);
-   else
-     {
-        data_thread_head(hw, NULL);
-        data_thread_head_end(hw, NULL);
-     }
-}
-
-static void
-data_thread_fonts(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Fonts_Write *fc = data;
-   Eina_List *ll;
-   Eina_File *f = NULL;
-   void *m = NULL;
-   int bytes = 0;
-   char buf[PATH_MAX];
-   char buf2[PATH_MAX];
-
-   f = eina_file_open(fc->fn->file, 0);
-   if (f)
-     {
-       using_file(fc->fn->file, 'F');
-        m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
-     }
-   else
-     {
-        char *dat;
-
-        EINA_LIST_FOREACH(fnt_dirs, ll, dat)
-          {
-             snprintf(buf, sizeof(buf), "%s/%s", dat, fc->fn->file);
-             f = eina_file_open(buf, 0);
-             if (f)
-               {
-                using_file(buf, 'F');
-                  m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
-                  if (m) break;
-                  eina_file_close(f);
-                  f = NULL;
-               }
-          }
-     }
-   if (!m)
-     {
-        if (f) eina_file_close(f);
-        snprintf(buf, sizeof(buf),
-                 "Unable to load font part \"%s\" entry to %s",
-                 fc->fn->file, file_out);
-        fc->errstr = strdup(buf);
-        return;
-     }
-
-   snprintf(buf, sizeof(buf), "edje/fonts/%s", fc->fn->name);
-   bytes = eet_write(fc->ef, buf, m, eina_file_size_get(f), compress_mode);
-
-   if ((bytes <= 0) || eina_file_map_faulted(f, m))
-     {
-        eina_file_map_free(f, m);
-        eina_file_close(f);
-        snprintf(buf2, sizeof(buf2),
-                 "Unable to write font part \"%s\" as \"%s\" "
-                 "part entry to %s", fc->fn->file, buf, file_out);
-        fc->errstr = strdup(buf2);
-        return;
-     }
-
-   INF("Wrote %9i bytes (%4iKb) for \"%s\" font entry \"%s\" compress: [real: %2.1f%%]",
-       bytes, (bytes + 512) / 1024, buf, fc->fn->file,
-       100 - (100 * (double)bytes) / ((double)(eina_file_size_get(f)))
-       );
-   eina_file_map_free(f, m);
-   eina_file_close(f);
-}
-
-static void
-data_thread_fonts_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Fonts_Write *fc = data;
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (fc->errstr)
-     {
-        error_and_abort(fc->ef, fc->errstr);
-        free(fc->errstr);
-     }
-   free(fc);
-}
-
-static void
-data_write_fonts(Eet_File *ef, int *font_num)
-{
-   Eina_Iterator *it;
-   Edje_Font *fn;
-
-   if (!edje_file->fonts) return;
-
-   it = eina_hash_iterator_data_new(edje_file->fonts);
-   EINA_ITERATOR_FOREACH(it, fn)
-     {
-        Fonts_Write *fc;
-
-        fc = calloc(1, sizeof(Fonts_Write));
-        if (!fc) continue;
-        fc->ef = ef;
-        fc->fn = fn;
-        pending_threads++;
-        if (threads)
-          ecore_thread_run(data_thread_fonts, data_thread_fonts_end, NULL, fc);
-        else
-          {
-             data_thread_fonts(fc, NULL);
-             data_thread_fonts_end(fc, NULL);
-          }
-        *font_num += 1;
-     }
-   eina_iterator_free(it);
-}
-
-static void
-error_and_abort_image_load_error(Eet_File *ef, const char *file, int error)
-{
-   const char *errmsg = evas_load_error_str(error);
-   char hint[1024] = "";
-
-   if (error == EVAS_LOAD_ERROR_DOES_NOT_EXIST)
-     {
-       snprintf
-         (hint, sizeof(hint),
-          " Check if path to file \"%s\" is correct "
-          "(both directory and file name).",
-          file);
-     }
-   else if (error == EVAS_LOAD_ERROR_CORRUPT_FILE)
-     {
-       snprintf
-         (hint, sizeof(hint),
-          " Check if file \"%s\" is consistent.",
-          file);
-     }
-   else if (error == EVAS_LOAD_ERROR_UNKNOWN_FORMAT)
-     {
-       const char *ext = strrchr(file, '.');
-       const char **itr, *known_loaders[] = {
-         /* list from evas_image_load.c */
-         "png",
-         "jpg",
-         "jpeg",
-         "jfif",
-         "eet",
-         "edj",
-         "eap",
-         "edb",
-         "xpm",
-         "tiff",
-         "tif",
-         "svg",
-         "svgz",
-         "gif",
-         "pbm",
-         "pgm",
-         "ppm",
-         "pnm",
-         "bmp",
-         "ico",
-         "tga",
-         NULL
-       };
-
-       if (!ext)
-         {
-            snprintf
-              (hint, sizeof(hint),
-               " File \"%s\" does not have an extension, "
-               "maybe it should?",
-               file);
-            goto show_err;
-         }
-
-       ext++;
-       for (itr = known_loaders; *itr; itr++)
-         {
-            if (strcasecmp(ext, *itr) == 0)
-              {
-                 snprintf
-                   (hint, sizeof(hint),
-                    " Check if Evas was compiled with %s module enabled and "
-                    "all required dependencies exist.",
-                    ext);
-                 goto show_err;
-              }
-         }
-
-       snprintf(hint, sizeof(hint),
-                " Check if Evas supports loading files of type \"%s\" (%s) "
-                "and this module was compiled and all its dependencies exist.",
-                ext, file);
-     }
- show_err:
-   error_and_abort
-     (ef, "Unable to load image \"%s\" used by file \"%s\": %s.%s",
-      file, file_out, errmsg, hint);
-}
-
-static void
-data_thread_image(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Image_Write *iw = data;
-   char buf[PATH_MAX], buf2[PATH_MAX];
-   unsigned int *start, *end;
-   Eina_Bool opaque = EINA_TRUE;
-   int bytes = 0;
-
-   if ((iw->data) && (iw->w > 0) && (iw->h > 0))
-     {
-        int mode, qual;
-
-        snprintf(buf, sizeof(buf), "edje/images/%i", iw->img->id);
-        qual = 80;
-        if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
-            (iw->img->source_param == 0))
-          mode = 0; /* RAW */
-        else if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
-                 (iw->img->source_param == 1))
-          mode = 1; /* COMPRESS */
-        else
-          mode = 2; /* LOSSY */
-        if ((mode == 0) && (no_raw))
-          {
-             mode = 1; /* promote compression */
-             iw->img->source_param = 95;
-          }
-        if ((mode == 2) && (no_lossy)) mode = 1; /* demote compression */
-        if ((mode == 1) && (no_comp))
-          {
-             if (no_lossy) mode = 0; /* demote compression */
-             else if (no_raw)
-               {
-                  iw->img->source_param = 90;
-                  mode = 2; /* no choice. lossy */
-               }
-          }
-        if (mode == 2)
-          {
-             qual = iw->img->source_param;
-             if (qual < min_quality) qual = min_quality;
-             if (qual > max_quality) qual = max_quality;
-          }
-        if (iw->alpha)
-          {
-             start = (unsigned int *) iw->data;
-             end = start + (iw->w * iw->h);
-             while (start < end)
-               {
-                  if ((*start & 0xff000000) != 0xff000000)
-                    {
-                       opaque = EINA_FALSE;
-                       break;
-                    }
-                  start++;
-               }
-             if (opaque) iw->alpha = 0;
-          }
-        if (mode == 0)
-          bytes = eet_data_image_write(iw->ef, buf,
-                                       iw->data, iw->w, iw->h,
-                                       iw->alpha,
-                                       0, 0, 0);
-        else if (mode == 1)
-          bytes = eet_data_image_write(iw->ef, buf,
-                                       iw->data, iw->w, iw->h,
-                                       iw->alpha,
-                                       compress_mode,
-                                       0, 0);
-        else if (mode == 2)
-          bytes = eet_data_image_write(iw->ef, buf,
-                                       iw->data, iw->w, iw->h,
-                                       iw->alpha,
-                                       0, qual, 1);
-        if (bytes <= 0)
-          {
-             snprintf(buf2, sizeof(buf2),
-                      "Unable to write image part "
-                      "\"%s\" as \"%s\" part entry to "
-                      "%s", iw->img->entry, buf, file_out);
-             iw->errstr = strdup(buf2);
-             return;
-          }
-     }
-   else
-     {
-        snprintf(buf, sizeof(buf), "edje/images/%i", iw->img->id);
-        snprintf(buf2, sizeof(buf2),
-                 "Unable to load image part "
-                 "\"%s\" as \"%s\" part entry to "
-                 "%s", iw->img->entry, buf, file_out);
-        iw->errstr = strdup(buf2);
-        return;
-     }
-
-   if (eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_INFO))
-     {
-        struct stat st;
-
-        if (!iw->path || (stat(iw->path, &st))) st.st_size = 0;
-        INF("Wrote %9i bytes (%4iKb) for \"%s\" image entry \"%s\" compress: [raw: %2.1f%%] [real: %2.1f%%]",
-               bytes, (bytes + 512) / 1024, buf, iw->img->entry,
-               100 - (100 * (double)bytes) / ((double)(iw->w * iw->h * 4)),
-               100 - (100 * (double)bytes) / ((double)(st.st_size))
-              );
-     }
-}
-
-static void
-data_thread_image_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Image_Write *iw = data;
-
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (iw->errstr)
-     {
-        error_and_abort(iw->ef, iw->errstr);
-        free(iw->errstr);
-     }
-   if (iw->path) free(iw->path);
-   evas_object_del(iw->im);
-   free(iw);
-}
-
-static void
-data_image_preload_done(void *data, Evas *e __UNUSED__, Evas_Object *o, void *event_info __UNUSED__)
-{
-   Image_Write *iw = data;
-
-   evas_object_image_size_get(o, &iw->w, &iw->h);
-   iw->alpha = evas_object_image_alpha_get(o);
-   iw->data = evas_object_image_data_get(o, 0);
-   if (threads)
-     ecore_thread_run(data_thread_image, data_thread_image_end, NULL, iw);
-   else
-     {
-        data_thread_image(iw, NULL);
-        data_thread_image_end(iw, NULL);
-     }
-}
-
-static void
-data_write_images(Eet_File *ef, int *image_num)
-{
-   int i;
-   Ecore_Evas *ee;
-   Evas *evas;
-
-   if (!((edje_file) && (edje_file->image_dir))) return;
-
-   ecore_evas_init();
-   ee = ecore_evas_buffer_new(1, 1);
-   if (!ee)
-     error_and_abort(ef, "Cannot create buffer engine canvas for image load.");
-   evas = ecore_evas_get(ee);
-
-   for (i = 0; i < (int)edje_file->image_dir->entries_count; i++)
-     {
-        Edje_Image_Directory_Entry *img;
-
-        img = &edje_file->image_dir->entries[i];
-        if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) ||
-            (img->entry == NULL))
-          {
-          }
-        else
-          {
-             Evas_Object *im;
-             Eina_List *ll;
-             char *s;
-             int load_err = EVAS_LOAD_ERROR_NONE;
-             Image_Write *iw;
-
-             iw = calloc(1, sizeof(Image_Write));
-             iw->ef = ef;
-             iw->img = img;
-             iw->im = im = evas_object_image_add(evas);
-             if (threads)
-               evas_object_event_callback_add(im,
-                                              EVAS_CALLBACK_IMAGE_PRELOADED,
-                                              data_image_preload_done,
-                                              iw);
-             EINA_LIST_FOREACH(img_dirs, ll, s)
-               {
-                  char buf[PATH_MAX];
-
-                  snprintf(buf, sizeof(buf), "%s/%s", s, img->entry);
-                  evas_object_image_file_set(im, buf, NULL);
-                  load_err = evas_object_image_load_error_get(im);
-                  if (load_err == EVAS_LOAD_ERROR_NONE)
-                    {
-                       *image_num += 1;
-                       iw->path = strdup(buf);
-                       pending_threads++;
-                       if (threads)
-                         evas_object_image_preload(im, 0);
-                       using_file(buf, 'I');
-                       if (!threads)
-                         data_image_preload_done(iw, evas, im, NULL);
-                       break;
-                    }
-               }
-             if (load_err != EVAS_LOAD_ERROR_NONE)
-               {
-                  evas_object_image_file_set(im, img->entry, NULL);
-                  load_err = evas_object_image_load_error_get(im);
-                  if (load_err == EVAS_LOAD_ERROR_NONE)
-                    {
-                       *image_num += 1;
-                       iw->path = strdup(img->entry);
-                       pending_threads++;
-                       if (threads)
-                         evas_object_image_preload(im, 0);
-                       using_file(img->entry, 'I');
-                       if (!threads)
-                         data_image_preload_done(iw, evas, im, NULL);
-                    }
-                  else
-                    error_and_abort_image_load_error
-                    (ef, img->entry, load_err);
-               }
-         }
-     }
-}
-
-static void
-data_thread_sounds(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Sound_Write *sw = data;
-   Eina_List *ll;
-#ifdef HAVE_LIBSNDFILE
-   Edje_Sound_Encode *enc_info;
-#endif
-   char *dir_path = NULL;
-   char snd_path[PATH_MAX];
-   char sndid_str[15];
-   Eina_File *f = NULL;
-   void *m = NULL;
-   int bytes = 0;
-
-   // Search the Sound file in all the -sd ( sound directory )
-   EINA_LIST_FOREACH(snd_dirs, ll, dir_path)
-     {
-        snprintf((char *)snd_path, sizeof(snd_path), "%s/%s", dir_path,
-                 sw->sample->snd_src);
-        f = eina_file_open(snd_path, 0);
-        if (f) break;
-     }
-   if (!f)
-     {
-        snprintf((char *)snd_path, sizeof(snd_path), "%s",
-                 sw->sample->snd_src);
-        f = eina_file_open(snd_path, 0);
-     }
-#ifdef HAVE_LIBSNDFILE
-   if (f) eina_file_close(f);
-   enc_info = _edje_multisense_encode(snd_path, sw->sample,
-                                      sw->sample->quality);
-   f = eina_file_open(enc_info->file, 0);
-   if (f) using_file(enc_info->file, 'S');
-#else
-   if (f) using_file(snd_path, 'S');
-#endif
-   if (!f)
-     {
-        ERR("Unable to load sound data of: %s", sw->sample->name);
-        exit(-1);
-     }
-
-   snprintf(sndid_str, sizeof(sndid_str), "edje/sounds/%i", sw->sample->id);
-   m = eina_file_map_all(f, EINA_FILE_WILLNEED);
-   if (m)
-     {
-        bytes = eet_write(sw->ef, sndid_str, m, eina_file_size_get(f),
-                          EET_COMPRESSION_NONE);
-        if (eina_file_map_faulted(f, m))
-          {
-             ERR("File access error when reading '%s'",
-                 eina_file_filename_get(f));
-             exit(-1);
-          }
-        eina_file_map_free(f, m);
-     }
-   eina_file_close(f);
-
-#ifdef HAVE_LIBSNDFILE
-   //If encoded temporary file, delete it.
-   if (enc_info->encoded) unlink(enc_info->file);
-#endif
-#ifdef HAVE_LIBSNDFILE
-   INF("Wrote %9i bytes (%4iKb) for \"%s\" %s sound entry \"%s\"",
-       bytes, (bytes + 512) / 1024,
-       sndid_str, enc_info->comp_type, sw->sample->name);
-#else
-   INF("Wrote %9i bytes (%4iKb) for \"%s\" %s sound entry \"%s\"",
-       bytes, (bytes + 512) / 1024,
-       sndid_str, "RAW PCM", sw->sample->name);
-#endif
-
-#ifdef HAVE_LIBSNDFILE
-   if ((enc_info->file) && (!enc_info->encoded))
-     eina_stringshare_del(enc_info->file);
-   if (enc_info) free(enc_info);
-   enc_info = NULL;
-#endif
-}
-
-static void
-data_thread_sounds_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Sound_Write *sw = data;
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   free(sw);
-}
-
-static void
-data_write_sounds(Eet_File *ef, int *sound_num)
-{
-   if ((edje_file) && (edje_file->sound_dir))
-     {
-        int i;
-
-        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
-          {
-             Sound_Write *sw;
-
-             sw = calloc(1, sizeof(Sound_Write));
-             if (!sw) continue;
-             sw->ef = ef;
-             sw->sample = &edje_file->sound_dir->samples[i];
-             sw->i = i;
-             *sound_num += 1;
-             pending_threads++;
-             if (threads)
-               ecore_thread_run(data_thread_sounds, data_thread_sounds_end, NULL, sw);
-             else
-               {
-                  data_thread_sounds(sw, NULL);
-                  data_thread_sounds_end(sw, NULL);
-               }
-          }
-     }
-}
-
-static void
-check_groups(Eet_File *ef)
-{
-   Edje_Part_Collection *pc;
-   Eina_List *l;
-
-   /* sanity checks for parts and programs */
-   EINA_LIST_FOREACH(edje_collections, l, pc)
-     {
-       unsigned int i;
-
-       for (i = 0; i < pc->parts_count; ++i)
-         check_part(pc, pc->parts[i], ef);
-
-#define CHECK_PROGRAM(Type, Pc, It)                            \
-       for (It = 0; It < Pc->programs.Type ## _count; ++It)    \
-         check_program(Pc, Pc->programs.Type[i], ef);          \
-
-       CHECK_PROGRAM(fnmatch, pc, i);
-       CHECK_PROGRAM(strcmp, pc, i);
-       CHECK_PROGRAM(strncmp, pc, i);
-       CHECK_PROGRAM(strrncmp, pc, i);
-       CHECK_PROGRAM(nocmp, pc, i);
-     }
-}
-
-static void
-data_thread_group(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Group_Write *gw = data;
-   int bytes;
-   char buf[PATH_MAX];
-   char buf2[PATH_MAX];
-
-   snprintf(buf, sizeof(buf), "edje/collections/%i", gw->pc->id);
-   bytes = eet_data_write(gw->ef, edd_edje_part_collection, buf, gw->pc,
-                          compress_mode);
-   return;
-   if (bytes <= 0)
-     {
-        snprintf(buf2, sizeof(buf2),
-                 "Unable to write \"%s\" part entry to %s",
-                 buf, file_out);
-        gw->errstr = strdup(buf2);
-        return;
-     }
-
-   INF("Wrote %9i bytes (%4iKb) for \"%s\" aka \"%s\" collection entry",
-       bytes, (bytes + 512) / 1024, buf, gw->pc->part);
-}
-
-static void
-data_thread_group_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Group_Write *gw = data;
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (gw->errstr)
-     {
-        error_and_abort(gw->ef, gw->errstr);
-        free(gw->errstr);
-     }
-   free(gw);
-}
-
-static void
-data_write_groups(Eet_File *ef, int *collection_num)
-{
-   Eina_List *l;
-   Edje_Part_Collection *pc;
-
-   EINA_LIST_FOREACH(edje_collections, l, pc)
-     {
-        Group_Write *gw;
-
-        gw = calloc(1, sizeof(Group_Write));
-        if (!gw)
-          {
-             error_and_abort(ef, "Cannot allocate memory for group writer");
-             return;
-          }
-        gw->ef = ef;
-        gw->pc = pc;
-        pending_threads++;
-        if (threads)
-          ecore_thread_run(data_thread_group, data_thread_group_end, NULL, gw);
-        else
-          {
-             data_thread_group(gw, NULL);
-             data_thread_group_end(gw, NULL);
-          }
-        *collection_num += 1;
-     }
-}
-
-static void
-create_script_file(Eet_File *ef, const char *filename, const Code *cd, int fd)
-{
-   FILE *f = fdopen(fd, "wb");
-   if (!f)
-     error_and_abort(ef, "Unable to open temp file \"%s\" for script "
-                    "compilation.", filename);
-
-   Eina_List *ll;
-   Code_Program *cp;
-
-   fprintf(f, "#include <edje>\n");
-   int ln = 2;
-
-   if (cd->shared)
-     {
-       while (ln < (cd->l1 - 1))
-         {
-            fprintf(f, " \n");
-            ln++;
-         }
-       {
-          char *sp;
-          int hash = 0;
-          int newlined = 0;
-
-          for (sp = cd->shared; *sp; sp++)
-            {
-               if ((sp[0] == '#') && (newlined))
-                 {
-                    hash = 1;
-                 }
-               newlined = 0;
-               if (sp[0] == '\n') newlined = 1;
-               if (!hash) fputc(sp[0], f);
-               else if (sp[0] == '\n') hash = 0;
-            }
-          fputc('\n', f);
-       }
-       ln += cd->l2 - cd->l1 + 1;
-     }
-   EINA_LIST_FOREACH(cd->programs, ll, cp)
-     {
-       if (cp->script)
-         {
-            while (ln < (cp->l1 - 1))
-              {
-                 fprintf(f, " \n");
-                 ln++;
-              }
-            /* FIXME: this prototype needs to be */
-            /* formalised and set in stone */
-            fprintf(f, "public _p%i(sig[], src[]) {", cp->id);
-            {
-               char *sp;
-               int hash = 0;
-               int newlined = 0;
-
-               for (sp = cp->script; *sp; sp++)
-                 {
-                    if ((sp[0] == '#') && (newlined))
-                      {
-                         hash = 1;
-                      }
-                    newlined = 0;
-                    if (sp[0] == '\n') newlined = 1;
-                    if (!hash) fputc(sp[0], f);
-                    else if (sp[0] == '\n') hash = 0;
-                 }
-            }
-            fprintf(f, "}\n");
-            ln += cp->l2 - cp->l1 + 1;
-         }
-     }
-
-   fclose(f);
-}
-
-static void
-data_thread_script(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Script_Write *sc = data;
-   FILE *f;
-   int size;
-   char buf[PATH_MAX];
-
-   f = fdopen(sc->tmpo_fd, "rb");
-   if (!f)
-     {
-        snprintf(buf, sizeof(buf),
-                 "Unable to open script object \"%s\" for reading.",
-                 sc->tmpo);
-        sc->errstr = strdup(buf);
-        return;
-     }
-
-   fseek(f, 0, SEEK_END);
-   size = ftell(f);
-   rewind(f);
-
-   if (size > 0)
-     {
-       void *dat = malloc(size);
-
-       if (dat)
-         {
-            if (fread(dat, size, 1, f) != 1)
-               {
-                  snprintf(buf, sizeof(buf),
-                           "Unable to read all of script object \"%s\"",
-                           sc->tmpo);
-                  sc->errstr = strdup(buf);
-                  return;
-               }
-            snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i",
-                      sc->i);
-            eet_write(sc->ef, buf, dat, size, compress_mode);
-            free(dat);
-         }
-        else
-          {
-             snprintf(buf, sizeof(buf),
-                      "Alloc failed for %lu bytes", (unsigned long)size);
-             sc->errstr = strdup(buf);
-             return;
-          }
-     }
-   fclose(f);
-
-   if (!no_save)
-     {
-        Eina_List *ll;
-        Code_Program *cp;
-
-        if (sc->cd->original)
-          {
-             snprintf(buf, PATH_MAX, "edje/scripts/embryo/source/%i", sc->i);
-             eet_write(sc->ef, buf, sc->cd->original,
-                       strlen(sc->cd->original) + 1, compress_mode);
-          }
-        EINA_LIST_FOREACH(sc->cd->programs, ll, cp)
-          {
-             if (!cp->original) continue;
-             snprintf(buf, PATH_MAX, "edje/scripts/embryo/source/%i/%i",
-                      sc->i, cp->id);
-             eet_write(sc->ef, buf, cp->original,
-                       strlen(cp->original) + 1, compress_mode);
-          }
-     }
-
-   unlink(sc->tmpn);
-   unlink(sc->tmpo);
-   close(sc->tmpn_fd);
-   close(sc->tmpo_fd);
-}
-
-static void
-data_thread_script_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Script_Write *sc = data;
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (sc->errstr)
-     {
-        error_and_abort(sc->ef, sc->errstr);
-        free(sc->errstr);
-     }
-   free(sc);
-}
-
-static Eina_Bool
-data_scripts_exe_del_cb(void *data __UNUSED__, int evtype __UNUSED__, void *evinfo)
-{
-   Script_Write *sc = data;
-   Ecore_Exe_Event_Del *ev = evinfo;
-
-   if (!ev->exe) return ECORE_CALLBACK_RENEW;
-   if (ecore_exe_data_get(ev->exe) != sc) return ECORE_CALLBACK_RENEW;
-   if (ev->exit_code != 0)
-     {
-        error_and_abort(sc->ef, "Compiling script code not clean.");
-        return ECORE_CALLBACK_CANCEL;
-     }
-   if (threads)
-     {
-        pending_threads++;
-        ecore_thread_run(data_thread_script, data_thread_script_end, NULL, sc);
-     }
-   else
-     {
-        pending_threads++;
-        data_thread_script(sc, NULL);
-        data_thread_script_end(sc, NULL);
-     }
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-data_write_scripts(Eet_File *ef)
-{
-   Eina_List *l;
-   int i;
-
-   if (!tmp_dir)
-#ifdef HAVE_EVIL
-     tmp_dir = (char *)evil_tmpdir_get();
-#else
-     tmp_dir = "/tmp";
-#endif
-
-   for (i = 0, l = codes; l; l = eina_list_next(l), i++)
-     {
-       Code *cd = eina_list_data_get(l);
-        Script_Write *sc;
-        char buf[PATH_MAX];
-
-       if (cd->is_lua)
-         continue;
-       if ((!cd->shared) && (!cd->programs))
-         continue;
-        sc = calloc(1, sizeof(Script_Write));
-        sc->ef = ef;
-        sc->cd = cd;
-        sc->i = i;
-        snprintf(sc->tmpn, PATH_MAX, "%s/edje_cc.sma-tmp-XXXXXX", tmp_dir);
-        sc->tmpn_fd = mkstemp(sc->tmpn);
-        if (sc->tmpn_fd < 0)
-          error_and_abort(ef, "Unable to open temp file \"%s\" for script "
-                          "compilation.", sc->tmpn);
-        snprintf(sc->tmpo, PATH_MAX, "%s/edje_cc.amx-tmp-XXXXXX", tmp_dir);
-        sc->tmpo_fd = mkstemp(sc->tmpo);
-        if (sc->tmpo_fd < 0)
-          {
-             unlink(sc->tmpn);
-             error_and_abort(ef, "Unable to open temp file \"%s\" for script "
-                             "compilation.", sc->tmpn);
-          }
-        create_script_file(ef, sc->tmpn, cd, sc->tmpn_fd);
-        snprintf(buf, sizeof(buf),
-                 "%s/embryo_cc -i %s/include -o %s %s",
-                 eina_prefix_bin_get(pfx),
-                 eina_prefix_data_get(pfx),
-                 sc->tmpo, sc->tmpn);
-        pending_threads++;
-        sc->exe = ecore_exe_run(buf, sc);
-        ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
-                                data_scripts_exe_del_cb, sc);
-     }
-}
-
-#ifdef LUA_BINARY
-static int
-_edje_lua_script_writer(lua_State *L __UNUSED__, const void *chunk_buf, size_t chunk_size, void *_data)
-{
-   Script_Lua_Writer *data;
-   void *old;
-
-   data = (Script_Lua_Writer *)_data;
-   old = data->buf;
-   data->buf = malloc(data->size + chunk_size);
-   memcpy(data->buf, old, data->size);
-   memcpy(&((data->buf)[data->size]), chunk_buf, chunk_size);
-   if (old) free(old);
-   data->size += chunk_size;
-
-   return 0;
-}
-#endif
-
-void
-_edje_lua_error_and_abort(lua_State *L, int err_code, Script_Write *sc)
-{
-   char buf[PATH_MAX];
-   char *err_type;
-
-   switch (err_code)
-     {
-      case LUA_ERRRUN:
-       err_type = "runtime";
-       break;
-      case LUA_ERRSYNTAX:
-       err_type = "syntax";
-       break;
-      case LUA_ERRMEM:
-       err_type = "memory allocation";
-       break;
-      case LUA_ERRERR:
-       err_type = "error handler";
-       break;
-      default:
-       err_type = "unknown";
-       break;
-     }
-   snprintf(buf, sizeof(buf),
-            "Lua %s error: %s", err_type, lua_tostring(L, -1));
-   sc->errstr = strdup(buf);
-}
-
-static void
-data_thread_lua_script(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Script_Write *sc = data;
-   char buf[PATH_MAX];
-   lua_State *L;
-   int ln = 1;
-   luaL_Buffer b;
-   Script_Lua_Writer dat;
-   Eina_List *ll;
-   Code_Program *cp;
-#ifdef LUA_BINARY
-   int err_code;
-#endif
-
-   L = luaL_newstate();
-   if (!L)
-     {
-        snprintf(buf, sizeof(buf),
-                 "Lua error: Lua state could not be initialized");
-        sc->errstr = strdup(buf);
-        return;
-     }
-
-   luaL_buffinit(L, &b);
-
-   dat.buf = NULL;
-   dat.size = 0;
-   if (sc->cd->shared)
-     {
-        while (ln < (sc->cd->l1 - 1))
-          {
-             luaL_addchar(&b, '\n');
-             ln++;
-          }
-        luaL_addstring(&b, sc->cd->shared);
-        ln += sc->cd->l2 - sc->cd->l1;
-     }
-
-   EINA_LIST_FOREACH(sc->cd->programs, ll, cp)
-     {
-        if (cp->script)
-          {
-             while (ln < (cp->l1 - 1))
-               {
-                  luaL_addchar(&b, '\n');
-                  ln++;
-               }
-             luaL_addstring(&b, "_G[");
-             lua_pushnumber(L, cp->id);
-             luaL_addvalue(&b);
-             luaL_addstring(&b, "] = function (ed, signal, source)");
-             luaL_addstring(&b, cp->script);
-             luaL_addstring(&b, "end\n");
-             ln += cp->l2 - cp->l1 + 1;
-          }
-     }
-   luaL_pushresult(&b);
-#ifdef LUA_BINARY
-   if (err_code = luaL_loadstring(L, lua_tostring (L, -1)))
-     {
-        _edje_lua_error_and_abort(L, err_code, sc);
-        return;
-     }
-   lua_dump(L, _edje_lua_script_writer, &dat);
-#else // LUA_PLAIN_TEXT
-   dat.buf = (char *)lua_tostring(L, -1);
-   dat.size = strlen(dat.buf);
-#endif
-   //printf("lua chunk size: %d\n", dat.size);
-
-   /*
-    * TODO load and test Lua chunk
-    */
-
-   /*
-    if (luaL_loadbuffer(L, globbuf, globbufsize, "edje_lua_script"))
-    printf("lua load error: %s\n", lua_tostring (L, -1));
-    if (lua_pcall(L, 0, 0, 0))
-    printf("lua call error: %s\n", lua_tostring (L, -1));
-    */
-
-   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", sc->i);
-   if (eet_write(sc->ef, buf, dat.buf, dat.size, compress_mode) <= 0)
-     {
-        snprintf(buf, sizeof(buf),
-                 "Unable to write script %i", sc->i);
-        sc->errstr = strdup(buf);
-        return;
-     }
-#ifdef LUA_BINARY
-   free(dat.buf);
-#endif
-   lua_close(L);
-}
-
-static void
-data_thread_lua_script_end(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Script_Write *sc = data;
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-   if (sc->errstr)
-     {
-        error_and_abort(sc->ef, sc->errstr);
-        free(sc->errstr);
-     }
-   free(sc);
-}
-
-static void
-data_write_lua_scripts(Eet_File *ef)
-{
-   Eina_List *l;
-   int i;
-
-   for (i = 0, l = codes; l; l = eina_list_next(l), i++)
-     {
-        Code *cd;
-        Script_Write *sc;
-
-        cd = (Code *)eina_list_data_get(l);
-        if (!cd->is_lua)
-          continue;
-        if ((!cd->shared) && (!cd->programs))
-          continue;
-
-        sc = calloc(1, sizeof(Script_Write));
-        sc->ef = ef;
-        sc->cd = cd;
-        sc->i = i;
-        pending_threads++;
-        if (threads)
-          ecore_thread_run(data_thread_lua_script, data_thread_lua_script_end, NULL, sc);
-        else
-          {
-             data_thread_lua_script(sc, NULL);
-             data_thread_lua_script_end(sc, NULL);
-          }
-     }
-}
-
-static void
-data_thread_source(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Eet_File *ef = data;
-   source_append(ef);
-}
-
-static void
-data_thread_source_end(void *data __UNUSED__, Ecore_Thread *thread __UNUSED__)
-{
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-}
-
-static void
-data_thread_fontmap(void *data, Ecore_Thread *thread __UNUSED__)
-{
-   Eet_File *ef = data;
-   source_fontmap_save(ef, fonts);
-}
-
-static void
-data_thread_fontmap_end(void *data __UNUSED__, Ecore_Thread *thread __UNUSED__)
-{
-   pending_threads--;
-   if (pending_threads <= 0) ecore_main_loop_quit();
-}
-
-void
-data_write(void)
-{
-   Eet_File *ef;
-   int image_num = 0;
-   int sound_num = 0;
-   int font_num = 0;
-   int collection_num = 0;
-   double t;
-
-   if (!edje_file)
-     {
-       ERR("No data to put in \"%s\"", file_out);
-       exit(-1);
-     }
-
-   ef = eet_open(file_out, EET_FILE_MODE_WRITE);
-   if (!ef)
-     {
-       ERR("Unable to open \"%s\" for writing output", file_out);
-       exit(-1);
-     }
-
-   check_groups(ef);
-
-   ecore_thread_max_set(ecore_thread_max_get() * 2);
-
-   pending_threads++;
-   t = ecore_time_get();
-   data_write_header(ef);
-
-   INF("header: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_groups(ef, &collection_num);
-   INF("groups: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_scripts(ef);
-   INF("scripts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_lua_scripts(ef);
-   INF("lua scripts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-
-   pending_threads++;
-   if (threads)
-     ecore_thread_run(data_thread_source, data_thread_source_end, NULL, ef);
-   else
-     {
-        data_thread_source(ef, NULL);
-        data_thread_source_end(ef, NULL);
-     }
-   INF("source: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   pending_threads++;
-   if (threads)
-     ecore_thread_run(data_thread_fontmap, data_thread_fontmap_end, NULL, ef);
-   else
-     {
-        data_thread_fontmap(ef, NULL);
-        data_thread_fontmap_end(ef, NULL);
-     }
-   INF("fontmap: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_images(ef, &image_num);
-   INF("images: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_fonts(ef, &font_num);
-   INF("fonts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   data_write_sounds(ef, &sound_num);
-   INF("sounds: %3.5f", ecore_time_get() - t); t = ecore_time_get();
-   pending_threads--;
-   if (pending_threads > 0) ecore_main_loop_begin();
-   INF("THREADS: %3.5f", ecore_time_get() - t);
-
-   eet_close(ef);
-
-   if (eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_INFO))
-     {
-        printf("Summary:\n"
-               "  Wrote %i collections\n"
-               "  Wrote %i images\n"
-               "  Wrote %i sounds\n"
-               "  Wrote %i fonts\n"
-               ,
-               collection_num,
-               image_num,
-               sound_num,
-               font_num);
-     }
-}
-
-void
-reorder_parts(void)
-{
-   Edje_Part_Collection *pc;
-   Edje_Part **parts;
-   Edje_Part_Parser *ep, *ep2;
-   Eina_List *l;
-
-   /* sanity checks for parts and programs */
-   EINA_LIST_FOREACH(edje_collections, l, pc)
-     {
-        unsigned int i, j, k;
-       Eina_Bool found = EINA_FALSE;
-
-       for (i = 0; i < pc->parts_count; i++)
-          {
-             ep = (Edje_Part_Parser *)pc->parts[i];
-             if (ep->reorder.insert_before && ep->reorder.insert_after)
-               ERR("Unable to use together insert_before and insert_after in part \"%s\".", pc->parts[i]->name);
-
-             if (ep->reorder.done)
-               {
-                  continue;
-               }
-             if (ep->reorder.insert_before || ep->reorder.insert_after)
-               {
-                  found = EINA_FALSE;
-                  for (j = 0; j < pc->parts_count; j++)
-                    {
-                       if (ep->reorder.insert_before &&
-                           !strcmp(ep->reorder.insert_before, pc->parts[j]->name))
-                         {
-                            ep2 = (Edje_Part_Parser *)pc->parts[j];
-                            if (ep2->reorder.after)
-                              ERR("The part \"%s\" is ambiguous ordered part.",
-                                  pc->parts[i]->name);
-                            if (ep2->reorder.linked_prev)
-                              ERR("Unable to insert two or more parts in same part \"%s\".",
-                                  pc->parts[j]->name);
-                            /* Need it to be able to insert an element before the first */
-                            if (j == 0) k = 0;
-                            else k = j - 1;
-                           found = EINA_TRUE;
-                            ep2->reorder.linked_prev += ep->reorder.linked_prev + 1;
-                            ep->reorder.before = (Edje_Part_Parser *)pc->parts[j];
-                            while (ep2->reorder.before)
-                              {
-                                 ep2->reorder.before->reorder.linked_prev = ep2->reorder.linked_prev + 1;
-                                 ep2 = ep2->reorder.before;
-                              }
-                            break;
-                         }
-                       else if (ep->reorder.insert_after &&
-                           !strcmp(ep->reorder.insert_after, pc->parts[j]->name))
-                         {
-                            ep2 = (Edje_Part_Parser *)pc->parts[j];
-                            if (ep2->reorder.before)
-                              ERR("The part \"%s\" is ambiguous ordered part.", pc->parts[i]->name);
-                            if (ep2->reorder.linked_next)
-                              ERR("Unable to insert two or more parts in same part \"%s\".", pc->parts[j]->name);
-                            k = j;
-                           found = EINA_TRUE;
-                            ep2->reorder.linked_next += ep->reorder.linked_next + 1;
-                            ep->reorder.after = (Edje_Part_Parser *)pc->parts[j];
-                            while (ep2->reorder.after)
-                              {
-                                 ep2->reorder.after->reorder.linked_next = ep2->reorder.linked_next + 1;
-                                 ep2 = ep2->reorder.after;
-                              }
-                            break;
-                         }
-                    }
-                  if (found)
-                    {
-                      unsigned int amount, linked;
-
-                       if (((i > k) && ((i - ep->reorder.linked_prev) <= k))
-                           || ((i < k) && ((i + ep->reorder.linked_next) >= k)))
-                         ERR("The part order is wrong. It has circular dependency.");
-
-                       amount = ep->reorder.linked_prev + ep->reorder.linked_next + 1;
-                       linked = i - ep->reorder.linked_prev;
-                       parts = malloc(amount * sizeof(Edje_Part));
-                       for (j = 0 ; j < amount ; j++)
-                         {
-                            parts[j] = pc->parts[linked];
-                            linked++;
-                         }
-                       if (i > k)
-                         {
-                            for (j = i - ep->reorder.linked_prev ; j > k; j--)
-                              {
-                                 pc->parts[j + amount - 1] = pc->parts[j - 1];
-                                 pc->parts[j + amount - 1]->id = j + amount - 1;
-                              }
-                            for (j = 0 ; j < amount ; j++)
-                              {
-                                 pc->parts[j + k] = parts[j];
-                                 pc->parts[j + k]->id = j + k;
-                              }
-                         }
-                       else if (i < k)
-                         {
-                            for (j = i + ep->reorder.linked_next + 1 ; j <= k ; j++)
-                              {
-                                 pc->parts[j - amount] = pc->parts[j];
-                                 pc->parts[j - amount]->id = j - amount;
-                              }
-                            for (j = 0 ; j < amount ; j++)
-                              {
-                                 pc->parts[j + k - amount + 1] = parts[j];
-                                 pc->parts[j + k - amount + 1]->id = j + k - amount + 1;
-                              }
-                            i -= amount;
-                         }
-                       ep->reorder.done = EINA_TRUE;
-                       free(parts);
-                    }
-               }
-          }
-     }
-}
-
-void
-data_queue_group_lookup(const char *name, Edje_Part *part)
-{
-   Group_Lookup *gl;
-
-   if (!name || !name[0]) return;
-
-   gl = mem_alloc(SZ(Group_Lookup));
-   group_lookups = eina_list_append(group_lookups, gl);
-   gl->name = mem_strdup(name);
-   gl->part = part;
-}
-
-void
-data_queue_face_group_lookup(const char *name)
-{
-   char *group_name;
-
-   if (!name || !name[0]) return;
-
-   group_name = mem_strdup(name);
-   face_group_lookups = eina_list_append(face_group_lookups, group_name);
-}
-
-void
-data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest)
-{
-   void *key[2];
-   Part_Lookup *pl = NULL;
-   Eina_List *list;
-
-   key[0] = pc;
-   key[1] = dest;
-
-   pl = eina_hash_find(part_pc_dest_lookup, &key);
-   if (pl)
-     {
-        if (name[0])
-          {
-             free(pl->name);
-             pl->name = mem_strdup(name);
-          }
-        else
-          {
-             list = eina_hash_find(part_dest_lookup, &pl->dest);
-             list = eina_list_remove(list, pl);
-             eina_hash_set(part_dest_lookup, &pl->dest, list);
-             eina_hash_del(part_pc_dest_lookup, &key, pl);
-          }
-        return ;
-     }
-
-   if (!name[0]) return;
-
-   pl = mem_alloc(SZ(Part_Lookup));
-   pl->pc = pc;
-   pl->name = mem_strdup(name);
-   pl->dest = dest;
-
-   eina_hash_add(part_pc_dest_lookup, &key, pl);
-
-   list = eina_hash_find(part_dest_lookup, &pl->dest);
-   list = eina_list_prepend(list, pl);
-   eina_hash_set(part_dest_lookup, &pl->dest, list);
-}
-
-void
-data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest)
-{
-   Eina_List *list;
-   Eina_List *l;
-   Part_Lookup *pl;
-
-   list = eina_hash_find(part_dest_lookup, &src);
-   EINA_LIST_FOREACH(list, l, pl)
-     data_queue_part_lookup(pc, pl->name, dest);
-}
-
-void
-data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest)
-{
-   Eina_List *l, *l2;
-   Program_Lookup *pl;
-
-   if (!ep) return ; /* FIXME: should we stop compiling ? */
-
-   EINA_LIST_FOREACH(program_lookups, l, pl)
-     {
-        if (pl->u.ep == ep)
-          {
-             Code *cd;
-             Code_Program *cp;
-
-             cd = eina_list_data_get(eina_list_last(codes));
-
-             EINA_LIST_FOREACH(cd->programs, l2, cp)
-               {
-                  if (&(cp->id) == pl->dest)
-                    {
-                       cd->programs = eina_list_remove(cd->programs, cp);
-                       free(cp);
-                       cp = NULL;
-                    }
-               }
-             program_lookups = eina_list_remove(program_lookups, pl);
-             free(pl);
-          }
-     }
-
-   if (dest)
-     {
-        pl = mem_alloc(SZ(Program_Lookup));
-        program_lookups = eina_list_append(program_lookups, pl);
-        pl->pc = pc;
-        pl->u.ep = ep;
-        pl->dest = dest;
-        pl->anonymous = EINA_TRUE;
-     }
-}
-
-void
-data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest)
-{
-   Eina_List *l;
-   Program_Lookup *pl;
-   unsigned int i;
-
-   EINA_LIST_FOREACH(program_lookups, l, pl)
-     {
-        if (pl->dest == src && pl->u.ep->name)
-          {
-             for (i = 0 ; i < pc->programs.fnmatch_count ; i++)
-               {
-                  if (pc->programs.fnmatch[i]->name &&
-                      !strcmp(pl->u.ep->name, pc->programs.fnmatch[i]->name))
-                    data_queue_anonymous_lookup(pc, pc->programs.fnmatch[i], dest);
-               }
-             for (i = 0 ; i < pc->programs.strcmp_count ; i++)
-               {
-                  if (pc->programs.strcmp[i]->name &&
-                      !strcmp(pl->u.ep->name, pc->programs.strcmp[i]->name))
-                    data_queue_anonymous_lookup(pc, pc->programs.strcmp[i], dest);
-               }
-             for (i = 0 ; i < pc->programs.strncmp_count ; i++)
-               {
-                  if (pc->programs.strncmp[i]->name &&
-                      !strcmp(pl->u.ep->name, pc->programs.strncmp[i]->name))
-                    data_queue_anonymous_lookup(pc, pc->programs.strncmp[i], dest);
-               }
-             for (i = 0 ; i < pc->programs.strrncmp_count ; i++)
-               {
-                  if (pc->programs.strrncmp[i]->name &&
-                      !strcmp(pl->u.ep->name, pc->programs.strrncmp[i]->name))
-                    data_queue_anonymous_lookup(pc, pc->programs.strrncmp[i], dest);
-               }
-             for (i = 0 ; i < pc->programs.nocmp_count ; i++)
-               {
-                  if (pc->programs.nocmp[i]->name &&
-                      !strcmp(pl->u.ep->name, pc->programs.nocmp[i]->name))
-                    data_queue_anonymous_lookup(pc, pc->programs.nocmp[i], dest);
-               }
-          }
-     }
-}
-
-void
-data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest)
-{
-   Program_Lookup *pl;
-
-   if (!name) return ; /* FIXME: should we stop compiling ? */
-
-   pl = mem_alloc(SZ(Program_Lookup));
-   program_lookups = eina_list_append(program_lookups, pl);
-   pl->pc = pc;
-   pl->u.name = mem_strdup(name);
-   pl->dest = dest;
-   pl->anonymous = EINA_FALSE;
-}
-
-void
-data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest)
-{
-   Eina_List *l;
-   Program_Lookup *pl;
-
-   EINA_LIST_FOREACH(program_lookups, l, pl)
-     {
-        if (pl->dest == src)
-          data_queue_program_lookup(pc, pl->u.name, dest);
-     }
-}
-
-void
-data_queue_image_lookup(char *name, int *dest, Eina_Bool *set)
-{
-   Image_Lookup *il;
-
-   il = mem_alloc(SZ(Image_Lookup));
-   image_lookups = eina_list_append(image_lookups, il);
-   il->name = mem_strdup(name);
-   il->dest = dest;
-   il->set = set;
-}
-
-void
-data_queue_image_remove(int *dest, Eina_Bool *set)
-{
-   Eina_List *l;
-   Image_Lookup *il;
-
-   EINA_LIST_FOREACH(image_lookups, l, il)
-     {
-        if (il->dest == dest && il->set == set)
-          {
-             image_lookups = eina_list_remove_list(image_lookups, l);
-             free(il->name);
-             free(il);
-             return ;
-          }
-     }
- }
-
-void
-data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set)
-{
-   Eina_List *l;
-   Image_Lookup *il;
-
-   EINA_LIST_FOREACH(image_lookups, l, il)
-     {
-        if (il->dest == src)
-          data_queue_image_lookup(il->name, dest, set);
-     }
-}
-void
-data_queue_part_slave_lookup(int *master, int *slave)
-{
-   Slave_Lookup *sl;
-
-   sl = mem_alloc(SZ(Slave_Lookup));
-   part_slave_lookups = eina_list_append(part_slave_lookups, sl);
-   sl->master = master;
-   sl->slave = slave;
-}
-
-void
-data_queue_image_slave_lookup(int *master, int *slave)
-{
-   Slave_Lookup *sl;
-
-   sl = mem_alloc(SZ(Slave_Lookup));
-   image_slave_lookups = eina_list_append(image_slave_lookups, sl);
-   sl->master = master;
-   sl->slave = slave;
-}
-
-void
-handle_slave_lookup(Eina_List *list, int *master, int value)
-{
-   Eina_List *l;
-   Slave_Lookup *sl;
-
-   EINA_LIST_FOREACH(list, l, sl)
-     if (sl->master == master)
-       *sl->slave = value;
-}
-
-void
-data_process_lookups(void)
-{
-   Edje_Part_Collection *pc;
-   Eina_Iterator *it;
-   Part_Lookup *part;
-   Program_Lookup *program;
-   Group_Lookup *group;
-   Image_Lookup *image;
-   Eina_List *l2;
-   Eina_List *l;
-   Eina_Hash *images_in_use;
-   void *data;
-   char *group_name;
-   Eina_Bool is_lua = EINA_FALSE;
-
-   /* remove all unreferenced Edje_Part_Collection */
-   EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc)
-     {
-        Edje_Part_Collection_Directory_Entry *alias;
-        Edje_Part_Collection_Directory_Entry *find;
-        Eina_List *l3;
-        unsigned int id = 0;
-        unsigned int i;
-
-        if (!pc->part)
-          {
-             ERR("A collection without a name was detected, that's not allowed.");
-             exit(-1);
-          }
-        find = eina_hash_find(edje_file->collection, pc->part);
-        if (find && find->id == pc->id)
-          continue ;
-
-        EINA_LIST_FOREACH(aliases, l3, alias)
-          if (alias->id == pc->id)
-            continue ;
-
-        /* This Edje_Part_Collection is not used at all */
-        edje_collections = eina_list_remove_list(edje_collections, l);
-        l3 = eina_list_nth_list(codes, pc->id);
-        codes = eina_list_remove_list(codes, l3);
-
-        /* Unref all image used by that group */
-        for (i = 0; i < pc->parts_count; ++i)
-         part_description_image_cleanup(pc->parts[i]);
-
-        /* Correct all id */
-        EINA_LIST_FOREACH(edje_collections, l3, pc)
-          {
-             Eina_List *l4;
-
-             /* Some group could be removed from the collection, but still be referenced by alias */
-             find = eina_hash_find(edje_file->collection, pc->part);
-             if (pc->id != find->id) find = NULL;
-
-             /* Update all matching alias */
-             EINA_LIST_FOREACH(aliases, l4, alias)
-               if (pc->id == alias->id)
-                 alias->id = id;
-
-             pc->id = id++;
-             if (find) find->id = pc->id;
-          }
-     }
-
-   EINA_LIST_FOREACH(edje_collections, l, pc)
-     {
-        unsigned int count = 0;
-        unsigned int i;
-
-        if (pc->lua_script_only)
-          is_lua = EINA_TRUE;
-#define PROGRAM_ID_SET(Type, Pc, It, Count)                            \
-        for (It = 0; It < Pc->programs.Type ## _count; ++It)           \
-          {                                                            \
-             Pc->programs.Type[It]->id = Count++;                      \
-          }
-
-        PROGRAM_ID_SET(fnmatch, pc, i, count);
-        PROGRAM_ID_SET(strcmp, pc, i, count);
-        PROGRAM_ID_SET(strncmp, pc, i, count);
-        PROGRAM_ID_SET(strrncmp, pc, i, count);
-        PROGRAM_ID_SET(nocmp, pc, i, count);
-
-#undef PROGRAM_ID_SET
-     }
-
-   it = eina_hash_iterator_data_new(part_pc_dest_lookup);
-   EINA_ITERATOR_FOREACH(it, part)
-     {
-        Edje_Part *ep;
-        unsigned int i;
-
-        if (!strcmp(part->name, "-"))
-          {
-             *(part->dest) = -1;
-          }
-        else
-          {
-             char *alias;
-             alias = eina_hash_find(part->pc->alias, part->name);
-             if (!alias)
-               alias = part->name;
-             for (i = 0; i < part->pc->parts_count; ++i)
-               {
-                  ep = part->pc->parts[i];
-
-                  if ((ep->name) && (!strcmp(ep->name, alias)))
-                    {
-                       handle_slave_lookup(part_slave_lookups, part->dest, ep->id);
-                       *(part->dest) = ep->id;
-                       break;
-                    }
-               }
-
-             if (i == part->pc->parts_count)
-               {
-                  ERR("Unable to find part name \"%s\" needed in group '%s'.",
-                      alias, part->pc->part);
-                  exit(-1);
-               }
-          }
-     }
-   eina_iterator_free(it);
-   eina_hash_free(part_dest_lookup);
-   eina_hash_free(part_pc_dest_lookup);
-
-   EINA_LIST_FREE(program_lookups, program)
-     {
-        unsigned int i;
-        Eina_Bool find = EINA_FALSE;
-
-#define PROGRAM_MATCH(Type, Pl, It)                                    \
-        for (It = 0; It < Pl->pc->programs.Type ## _count; ++It)       \
-          {                                                            \
-             Edje_Program *ep;                                         \
-             \
-             ep = Pl->pc->programs.Type[It];                           \
-             \
-             if ((Pl->anonymous && ep == Pl->u.ep) ||                  \
-                 ((!Pl->anonymous) && (ep->name) && (!strcmp(ep->name, Pl->u.name)))) \
-               {                                                       \
-                  *(Pl->dest) = ep->id;                                        \
-                  find = EINA_TRUE;                                    \
-                  break;                                               \
-               }                                                       \
-          }
-
-        PROGRAM_MATCH(fnmatch, program, i);
-        PROGRAM_MATCH(strcmp, program, i);
-        PROGRAM_MATCH(strncmp, program, i);
-        PROGRAM_MATCH(strrncmp, program, i);
-        PROGRAM_MATCH(nocmp, program, i);
-
-#undef PROGRAM_MATCH
-
-        if (!find)
-          {
-             if (!program->anonymous)
-               ERR("Unable to find program name \"%s\".",
-                   program->u.name);
-             else
-               ERR("Unable to find anonymous program.");
-             exit(-1);
-          }
-
-        if (!program->anonymous)
-          free(program->u.name);
-        free(program);
-     }
-
-   EINA_LIST_FREE(group_lookups, group)
-     {
-        Edje_Part_Collection_Directory_Entry *de;
-
-        if (group->part)
-          {
-             if (group->part->type != EDJE_PART_TYPE_GROUP
-                 && group->part->type != EDJE_PART_TYPE_TEXTBLOCK
-                 && group->part->type != EDJE_PART_TYPE_BOX
-                 && group->part->type != EDJE_PART_TYPE_TABLE)
-               goto free_group;
-          }
-
-        de = eina_hash_find(edje_file->collection, group->name);
-
-        if (!de)
-          {
-             Eina_Bool found = EINA_FALSE;
-
-             EINA_LIST_FOREACH(aliases, l, de)
-               if (strcmp(de->entry, group->name) == 0)
-                 {
-                    found = EINA_TRUE;
-                    break;
-                 }
-             if (!found) de = NULL;
-          }
-
-        if (!de)
-          {
-             ERR("Unable to find group name \"%s\".", group->name);
-             exit(-1);
-          }
-
-free_group:
-        free(group->name);
-        free(group);
-     }
-
-   EINA_LIST_FREE(face_group_lookups, group_name)
-     {
-        Edje_Part_Collection_Directory_Entry *de;
-
-        de = eina_hash_find(edje_file->collection, group_name);
-
-        if (!de)
-          {
-             Eina_Bool found = EINA_FALSE;
-
-             EINA_LIST_FOREACH(aliases, l, de)
-               if (strcmp(de->entry, group_name) == 0)
-                 {
-                    found = EINA_TRUE;
-                    break;
-                 }
-             if (!found) de = NULL;
-          }
-
-        if (!de)
-          {
-             ERR("Unable to find group name \"%s\".", group_name);
-             exit(-1);
-          }
-
-        free(group_name);
-     }
-
-   images_in_use = eina_hash_string_superfast_new(NULL);
-
-   EINA_LIST_FREE(image_lookups, image)
-     {
-        Eina_Bool find = EINA_FALSE;
-
-        if (edje_file->image_dir)
-          {
-             Edje_Image_Directory_Entry *de;
-             unsigned int i;
-
-             for (i = 0; i < edje_file->image_dir->entries_count; ++i)
-               {
-                  de = edje_file->image_dir->entries + i;
-
-                  if ((de->entry) && (!strcmp(de->entry, image->name)))
-                    {
-                       handle_slave_lookup(image_slave_lookups, image->dest, de->id);
-                       if (de->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
-                         *(image->dest) = -de->id - 1;
-                       else
-                         *(image->dest) = de->id;
-                       *(image->set) = EINA_FALSE;
-                       find = EINA_TRUE;
-
-                       if (!eina_hash_find(images_in_use, image->name))
-                         eina_hash_direct_add(images_in_use, de->entry, de);
-                       break;
-                    }
-               }
-
-             if (!find)
-               {
-                  Edje_Image_Directory_Set *set;
-
-                  for (i = 0; i < edje_file->image_dir->sets_count; ++i)
-                    {
-                       set = edje_file->image_dir->sets + i;
-
-                       if ((set->name) && (!strcmp(set->name, image->name)))
-                         {
-                            Edje_Image_Directory_Set_Entry *child;
-                            Eina_List *lc;
-
-                            handle_slave_lookup(image_slave_lookups, image->dest, set->id);
-                            *(image->dest) = set->id;
-                            *(image->set) = EINA_TRUE;
-                            find = EINA_TRUE;
-
-                            EINA_LIST_FOREACH(set->entries, lc, child)
-                               if (!eina_hash_find(images_in_use, child->name))
-                                 eina_hash_direct_add(images_in_use, child->name, child);
-
-                            if (!eina_hash_find(images_in_use, image->name))
-                              eina_hash_direct_add(images_in_use, set->name, set);
-                            break;
-                         }
-                    }
-               }
-          }
-
-        if (!find)
-          {
-             ERR("Unable to find image name \"%s\".", image->name);
-             exit(-1);
-          }
-
-        free(image->name);
-        free(image);
-     }
-
-   if (edje_file->image_dir && !is_lua)
-     {
-        Edje_Image_Directory_Entry *de;
-        Edje_Image_Directory_Set *set;
-        unsigned int i;
-
-        for (i = 0; i < edje_file->image_dir->entries_count; ++i)
-          {
-             de = edje_file->image_dir->entries + i;
-
-             if (de->entry && eina_hash_find(images_in_use, de->entry))
-               continue ;
-
-             INF("Image '%s' in resource 'edje/image/%i' will not be included as it is unused.",
-                 de->entry, de->id);
-
-             de->entry = NULL;
-          }
-
-        for (i = 0; i < edje_file->image_dir->sets_count; ++i)
-          {
-             set = edje_file->image_dir->sets + i;
-
-             if (set->name && eina_hash_find(images_in_use, set->name))
-               continue ;
-
-             INF("Set '%s' will not be included as it is unused.", set->name);
-
-             set->name = NULL;
-             set->entries = NULL;
-          }
-     }
-
-   eina_hash_free(images_in_use);
-
-   EINA_LIST_FREE(part_slave_lookups, data)
-     free(data);
-
-   EINA_LIST_FREE(image_slave_lookups, data)
-     free(data);
-}
-
-static void
-data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len))
-{
-   char *p;
-   char *key;
-   int keyl;
-   int quote, escape;
-
-   key = alloca(strlen(prefix) + 2 + 1);
-   if (!key) return;
-   strcpy(key, prefix);
-   strcat(key, ":\"");
-   keyl = strlen(key);
-   quote = 0;
-   escape = 0;
-   for (p = s; (p) && (*p); p++)
-     {
-       if (!quote)
-         {
-            if (*p == '\"')
-              {
-                 quote = 1;
-                 p++;
-              }
-         }
-       if (!quote)
-         {
-            if (!strncmp(p, key, keyl))
-              {
-                  char *ptr;
-                  int len;
-                  int inesc = 0;
-                 char *name;
-
-                  ptr = p;
-                  p += keyl;
-                 while ((*p))
-                   {
-                      if (!inesc)
-                        {
-                           if (*p == '\\') inesc = 1;
-                           else if (*p == '\"')
-                             {
-                                /* string concatenation, see below */
-                                if (*(p + 1) != '\"')
-                                  break;
-                                else
-                                  p++;
-                             }
-                        }
-                       else
-                            inesc = 0;
-                       p++;
-                   }
-                 len = p - ptr + 1;
-                 name = alloca(len);
-                 if (name)
-                   {
-                      char *pp;
-                      int i;
-
-                      name[0] = 0;
-                      pp = ptr + keyl;
-                      inesc = 0;
-                      i = 0;
-                      while (*pp)
-                        {
-                           if (!inesc)
-                             {
-                                if (*pp == '\\') inesc = 1;
-                                else if (*pp == '\"')
-                                  {
-                                     /* concat strings like "foo""bar" to "foobar" */
-                                     if (*(pp + 1) == '\"')
-                                       pp++;
-                                     else
-                                       {
-                                          name[i] = 0;
-                                          break;
-                                       }
-                                  }
-                                else
-                                  {
-                                     name[i] = *pp;
-                                     name[i + 1] = 0;
-                                     i++;
-                                  }
-                             }
-                           else
-                              inesc = 0;
-                           pp++;
-                       }
-                     func(pc, name, ptr, len);
-                  }
-              }
-         }
-       else
-         {
-            if (!escape)
-              {
-                 if (*p == '\"') quote = 0;
-                 else if (*p == '\\') escape = 1;
-              }
-            else if (escape)
-              {
-                 escape = 0;
-              }
-         }
-     }
-}
-
-static void
-_data_queue_part_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len)
-{
-   Code_Lookup *cl;
-
-   cl = mem_alloc(SZ(Code_Lookup));
-   cl->ptr = ptr;
-   cl->len = len;
-
-   data_queue_part_lookup(pc, name, &(cl->val));
-
-   code_lookups = eina_list_append(code_lookups, cl);
-}
-static void
-_data_queue_program_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len)
-{
-   Code_Lookup *cl;
-
-   cl = mem_alloc(SZ(Code_Lookup));
-   cl->ptr = ptr;
-   cl->len = len;
-
-   data_queue_program_lookup(pc, name, &(cl->val));
-
-   code_lookups = eina_list_append(code_lookups, cl);
-}
-static void
-_data_queue_group_lookup(Edje_Part_Collection *pc __UNUSED__, char *name, char *ptr __UNUSED__, int len __UNUSED__)
-{
-   data_queue_group_lookup(name, NULL);
-}
-static void
-_data_queue_image_pc_lookup(Edje_Part_Collection *pc __UNUSED__, char *name, char *ptr, int len)
-{
-   Code_Lookup *cl;
-
-   cl = mem_alloc(SZ(Code_Lookup));
-   cl->ptr = ptr;
-   cl->len = len;
-
-   data_queue_image_lookup(name, &(cl->val),  &(cl->set));
-
-   code_lookups = eina_list_append(code_lookups, cl);
-}
-
-void
-data_process_scripts(void)
-{
-   Eina_List *l, *l2;
-
-   for (l = codes, l2 = edje_collections; (l) && (l2); l = eina_list_next(l), l2 = eina_list_next(l2))
-     {
-       Edje_Part_Collection *pc;
-       Code *cd;
-
-       cd = eina_list_data_get(l);
-       pc = eina_list_data_get(l2);
-
-       if ((cd->shared) && (!cd->is_lua))
-         {
-            data_process_string(pc, "PART",    cd->shared, _data_queue_part_lookup);
-            data_process_string(pc, "PROGRAM", cd->shared, _data_queue_program_lookup);
-            data_process_string(pc, "IMAGE",   cd->shared, _data_queue_image_pc_lookup);
-            data_process_string(pc, "GROUP",   cd->shared, _data_queue_group_lookup);
-         }
-
-       if (cd->programs)
-         {
-            Code_Program *cp;
-            Eina_List *ll;
-
-            EINA_LIST_FOREACH(cd->programs, ll, cp)
-              {
-                 if (cp->script)
-                   {
-                      data_process_string(pc, "PART",    cp->script, _data_queue_part_lookup);
-                      data_process_string(pc, "PROGRAM", cp->script, _data_queue_program_lookup);
-                      data_process_string(pc, "IMAGE",   cp->script, _data_queue_image_pc_lookup);
-                      data_process_string(pc, "GROUP",   cp->script, _data_queue_group_lookup);
-                   }
-              }
-         }
-     }
-}
-
-void
-data_process_script_lookups(void)
-{
-   Eina_List *l;
-   Code_Lookup *cl;
-
-   EINA_LIST_FOREACH(code_lookups, l, cl)
-     {
-       char buf[12];
-       int n;
-
-       /* FIXME !! Handle set in program */
-       n = eina_convert_itoa(cl->val, buf);
-       if (n > cl->len)
-         {
-            ERR("The unexpected happened. A numeric replacement string was larger than the original!");
-            exit(-1);
-         }
-       memset(cl->ptr, ' ', cl->len);
-       strncpy(cl->ptr, buf, n);
-     }
-}
-
-void
-using_file(const char *filename, const char type)
-{
-   FILE *f;
-
-   if (!watchfile) return;
-   f = fopen(watchfile, "ab");
-   if (!f) return ;
-   if (anotate)
-     {
-       fprintf(f, "%c: %s\n", type, filename);
-     }
-   else
-     {
-       fputs(filename, f);
-       fputc('\n', f);
-     }
-   fclose(f);
-}
diff --git a/legacy/edje/src/bin/edje_cc_parse.c b/legacy/edje/src/bin/edje_cc_parse.c
deleted file mode 100644 (file)
index 7f9bd10..0000000
+++ /dev/null
@@ -1,1630 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif defined __GNUC__
-# define alloca __builtin_alloca
-#elif defined _AIX
-# define alloca __alloca
-#elif defined _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-#else
-# include <stddef.h>
-# ifdef  __cplusplus
-extern "C"
-# endif
-void *alloca (size_t);
-#endif
-
-#include <string.h>
-#include <ctype.h>
-#include <limits.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <math.h>
-
-#include "edje_cc.h"
-#include <Ecore.h>
-#include <Ecore_File.h>
-
-#ifdef _WIN32
-# define EPP_EXT ".exe"
-#else
-# define EPP_EXT
-#endif
-
-static void  new_object(void);
-static void  new_statement(void);
-static char *perform_math (char *input);
-static int   isdelim(char c);
-static char *next_token(char *p, char *end, char **new_p, int *delim);
-static const char *stack_id(void);
-static void  parse(char *data, off_t size);
-
-/* simple expression parsing protos */
-static int my_atoi(const char * s);
-static char * _alphai(char *s, int * val);
-static char * _betai(char *s, int * val);
-static char * _gammai(char *s, int * val);
-static char * _deltai(char *s, int * val);
-static char * _get_numi(char *s, int * val);
-static int _is_numi(char c);
-static int _is_op1i(char c);
-static int _is_op2i(char c);
-static int _calci(char op, int a, int b);
-
-static double my_atof(const char * s);
-static char * _alphaf(char *s, double * val);
-static char * _betaf(char *s, double * val);
-static char * _gammaf(char *s, double * val);
-static char * _deltaf(char *s, double * val);
-static char * _get_numf(char *s, double * val);
-static int _is_numf(char c);
-static int _is_op1f(char c);
-static int _is_op2f(char c);
-static double _calcf(char op, double a, double b);
-static int strstrip(const char *in, char *out, size_t size);
-
-
-int        line = 0;
-Eina_List *stack = NULL;
-Eina_Array params;
-
-static char  file_buf[4096];
-static int   verbatim = 0;
-static int   verbatim_line1 = 0;
-static int   verbatim_line2 = 0;
-static char *verbatim_str = NULL;
-static Eina_Strbuf *stack_buf = NULL;
-
-static void
-err_show_stack(void)
-{
-   const char *s;
-   
-   s = stack_id();
-   if (s)
-      ERR("PARSE STACK:\n%s", s);
-   else
-      ERR("NO PARSE STACK");
-}
-
-static void
-err_show_params(void)
-{
-   Eina_Array_Iterator iterator;
-   unsigned int i;
-   char *p;
-
-   ERR("PARAMS:");
-   EINA_ARRAY_ITER_NEXT(&params, i, p, iterator)
-     {
-        ERR("  %s", p);
-     }
-}
-
-static void
-err_show(void)
-{
-   err_show_stack();
-   err_show_params();
-}
-
-static char *
-_parse_param_get(int n)
-{
-   if (n < (int) eina_array_count(&params))
-     return eina_array_data_get(&params, n);
-   return NULL;
-}
-
-static Eina_Hash *_new_object_hash = NULL;
-static Eina_Hash *_new_statement_hash = NULL;
-static Eina_Hash *_new_nested_hash = NULL;
-static void
-fill_object_statement_hashes(void)
-{
-   int i, n;
-
-   if (_new_object_hash) return;
-   
-   _new_object_hash = eina_hash_string_superfast_new(NULL);
-   _new_statement_hash = eina_hash_string_superfast_new(NULL);
-   _new_nested_hash = eina_hash_string_superfast_new(NULL);
-   
-   n = object_handler_num();
-   for (i = 0; i < n; i++)
-     {
-        eina_hash_direct_add(_new_object_hash, object_handlers[i].type,
-                             &(object_handlers[i]));
-     }
-   n = statement_handler_num();
-   for (i = 0; i < n; i++)
-     {
-        eina_hash_direct_add(_new_statement_hash, statement_handlers[i].type,
-                             &(statement_handlers[i]));
-     }
-   n = nested_handler_num();
-   for (i = 0; i < n; i++)
-     {
-        eina_hash_direct_add(_new_nested_hash, nested_handlers[i].type,
-                             &(nested_handlers[i]));
-     }
-}
-
-static void
-new_object(void)
-{
-   const char *id;
-   New_Object_Handler *oh;
-   New_Statement_Handler *sh;
-
-   fill_object_statement_hashes();
-   id = stack_id();
-   oh = eina_hash_find(_new_object_hash, id);
-   if (oh)
-     {
-        if (oh->func) oh->func();
-     }
-   else
-     {
-        sh = eina_hash_find(_new_statement_hash, id);
-        if (!sh)
-          {
-             ERR("%s:%i unhandled keyword %s",
-                 file_in, line - 1,
-                 (char *)eina_list_data_get(eina_list_last(stack)));
-             err_show();
-             exit(-1);
-          }
-     }
-}
-
-static void
-new_statement(void)
-{
-   const char *id;
-   New_Statement_Handler *sh;
-
-   fill_object_statement_hashes();
-   id = stack_id();
-   sh = eina_hash_find(_new_statement_hash, id);
-   if (sh)
-     {
-        if (sh->func) sh->func();
-     }
-   else
-     {
-        ERR("%s:%i unhandled keyword %s",
-            file_in, line - 1,
-            (char *)eina_list_data_get(eina_list_last(stack)));
-        err_show();
-        exit(-1);
-     }
-}
-
-static char *
-perform_math (char *input)
-{
-   char buf[256];
-   double res;
-
-   /* FIXME
-    * Always apply floating-point arithmetic.
-    * Does this cause problems for integer parameters? (yes it will)
-    *
-    * What we should do is, loop over the string and figure out whether
-    * there are floating point operands, too and then switch to
-    * floating point math.
-    */
-   res = my_atof(input);
-   snprintf(buf, sizeof (buf), "%lf", res);
-   return strdup(buf);
-}
-
-static int
-isdelim(char c)
-{
-   const char *delims = "{},;:";
-   char *d;
-
-   d = (char *)delims;
-   while (*d)
-     {
-       if (c == *d) return 1;
-       d++;
-     }
-   return 0;
-}
-
-static char *
-next_token(char *p, char *end, char **new_p, int *delim)
-{
-   char *tok_start = NULL, *tok_end = NULL, *tok = NULL, *sa_start = NULL;
-   int in_tok = 0;
-   int in_quote = 0;
-   int in_parens = 0;
-   int in_comment_ss  = 0;
-   int in_comment_cpp = 0;
-   int in_comment_sa  = 0;
-   int had_quote = 0;
-   int is_escaped = 0;
-
-   *delim = 0;
-   if (p >= end) return NULL;
-   while (p < end)
-     {
-       if (*p == '\n')
-         {
-            in_comment_ss = 0;
-            in_comment_cpp = 0;
-            line++;
-         }
-       if ((!in_comment_ss) && (!in_comment_sa))
-         {
-            if ((!in_quote) && (*p == '/') && (p < (end - 1)) && (*(p + 1) == '/'))
-              in_comment_ss = 1;
-            if ((!in_quote) && (*p == '#'))
-              in_comment_cpp = 1;
-            if ((!in_quote) && (*p == '/') && (p < (end - 1)) && (*(p + 1) == '*'))
-              {
-                 in_comment_sa = 1;
-                 sa_start = p;
-              }
-         }
-       if ((in_comment_cpp) && (*p == '#'))
-         {
-            char *pp, fl[4096];
-            char *tmpstr = NULL;
-            int   l, nm;
-
-            /* handle cpp comments */
-            /* their line format is
-             * #line <line no. of next line> <filename from next line on> [??]
-             */
-
-            pp = p;
-            while ((pp < end) && (*pp != '\n'))
-              {
-                 pp++;
-              }
-            l = pp - p;
-            tmpstr = alloca(l + 1);
-            strncpy(tmpstr, p, l);
-            tmpstr[l] = 0;
-            l = sscanf(tmpstr, "%*s %i \"%[^\"]\"", &nm, fl);
-            if (l == 2)
-              {
-                 strcpy(file_buf, fl);
-                 line = nm;
-                 file_in = file_buf;
-              }
-         }
-       else if ((!in_comment_ss) && (!in_comment_sa) && (!in_comment_cpp))
-         {
-            if (!in_tok)
-              {
-                 if (!in_quote)
-                   {
-                      if (!isspace(*p))
-                        {
-                           if (*p == '"')
-                             {
-                                in_quote = 1;
-                                had_quote = 1;
-                             }
-                           else if (*p == '(')
-                             in_parens++;
-
-                           in_tok = 1;
-                           tok_start = p;
-                           if (isdelim(*p)) *delim = 1;
-                        }
-                   }
-              }
-            else
-              {
-                 if (in_quote)
-                   {
-                      if ((*p) == '\\')
-                        is_escaped = !is_escaped;
-                      else if (((*p) == '"') && (!is_escaped))
-                        {
-                           in_quote = 0;
-                           had_quote = 1;
-                        }
-                      else if (is_escaped)
-                        is_escaped = 0;
-                   }
-                 else if (in_parens)
-                   {
-                      if (((*p) == ')') && (!is_escaped))
-                        in_parens--;
-                   }
-                 else
-                   {
-                      if (*p == '"')
-                        {
-                           in_quote = 1;
-                           had_quote = 1;
-                        }
-                      else if (*p == '(')
-                        in_parens++;
-
-                      /* check for end-of-token */
-                      if (
-                          (isspace(*p)) ||
-                          ((*delim) && (!isdelim(*p))) ||
-                          (isdelim(*p))
-                          )
-                        {/*the line below this is never  used because it skips to
-                           * the 'done' label which is after the return call for
-                           * in_tok being 0. is this intentional?
-                           */
-                           in_tok = 0;
-
-                           tok_end = p - 1;
-                           if (*p == '\n') line--;
-                           goto done;
-                        }
-                   }
-              }
-         }
-       if (in_comment_sa)
-         {
-            if ((*p == '/') && (*(p - 1) == '*') && ((p - sa_start) > 2))
-              in_comment_sa = 0;
-         }
-       p++;
-     }
-   if (!in_tok) return NULL;
-   tok_end = p - 1;
-
-   done:
-   *new_p = p;
-
-   tok = mem_alloc(tok_end - tok_start + 2);
-   strncpy(tok, tok_start, tok_end - tok_start + 1);
-   tok[tok_end - tok_start + 1] = 0;
-
-   if (had_quote)
-     {
-       is_escaped = 0;
-       p = tok;
-
-       while (*p)
-         {
-            if ((*p == '\"') && (!is_escaped))
-              {
-                 memmove(p, p + 1, strlen(p));
-              }
-            else if ((*p == '\\') && (*(p + 1) == 'n'))
-              {
-                 memmove(p, p + 1, strlen(p));
-                 *p = '\n';
-              }
-            else if ((*p == '\\') && (*(p + 1) == 't'))
-              {
-                 memmove(p, p + 1, strlen(p));
-                 *p = '\t';
-              }
-            else if (*p == '\\')
-              {
-                 memmove(p, p + 1, strlen(p));
-                 if (*p == '\\') p++;
-                 else is_escaped = 1;
-              }
-            else
-              {
-                 if (is_escaped) is_escaped = 0;
-                 p++;
-              }
-         }
-     }
-   else if ((tok) && (*tok == '('))
-     {
-       char *tmp;
-       tmp = tok;
-       tok = perform_math(tok);
-       free(tmp);
-     }
-
-   return tok;
-}
-
-static void
-stack_push(char *token)
-{
-   New_Nested_Handler *nested;
-   Eina_Bool do_append = EINA_TRUE;
-
-   if (eina_list_count(stack) > 1)
-     {
-        if (!strcmp(token, eina_list_data_get(eina_list_last(stack))))
-          {
-             char *tmp;
-             int token_length;
-
-             token_length = strlen(token);
-             tmp = alloca(eina_strbuf_length_get(stack_buf));
-             memcpy(tmp,
-                    eina_strbuf_string_get(stack_buf),
-                    eina_strbuf_length_get(stack_buf) - token_length - 1);
-             tmp[eina_strbuf_length_get(stack_buf) - token_length - 1] = '\0';
-
-             nested = eina_hash_find(_new_nested_hash, tmp);
-             if (nested)
-               {
-                  if (!strcmp(token, nested->token) &&
-                      stack && !strcmp(eina_list_data_get(eina_list_last(stack)), nested->token))
-                    {
-                       /* Do not append the nested token in buffer */
-                       do_append = EINA_FALSE;
-                       if (nested->func_push) nested->func_push();
-                    }
-               }
-          }
-     }
-   if (do_append)
-     {
-        if (stack) eina_strbuf_append(stack_buf, ".");
-        eina_strbuf_append(stack_buf, token);
-     }
-   stack = eina_list_append(stack, token);
-}
-
-static void
-stack_pop(void)
-{
-   char *tmp;
-   int tmp_length;
-   Eina_Bool do_remove = EINA_TRUE;
-
-   if (!stack)
-     {
-       ERR("parse error %s:%i. } marker without matching { marker",
-           file_in, line - 1);
-        err_show();
-       exit(-1);
-     }
-   tmp = eina_list_data_get(eina_list_last(stack));
-   tmp_length = strlen(tmp);
-
-   stack = eina_list_remove_list(stack, eina_list_last(stack));
-   if (eina_list_count(stack) > 0)
-     {
-        const char *prev;
-        New_Nested_Handler *nested;
-        char *hierarchy;
-        char *lookup;
-
-        hierarchy = alloca(eina_strbuf_length_get(stack_buf) + 1);
-        memcpy(hierarchy,
-               eina_strbuf_string_get(stack_buf),
-               eina_strbuf_length_get(stack_buf) + 1);
-
-        /* This is nasty, but it's the way to get parts.part when they are collapsed together. still not perfect */
-        lookup = strrchr(hierarchy + eina_strbuf_length_get(stack_buf) - tmp_length, '.');
-        while (lookup)
-          {
-             hierarchy[lookup - hierarchy] = '\0';
-             nested = eina_hash_find(_new_nested_hash, hierarchy);
-             if (nested && nested->func_pop) nested->func_pop();
-             lookup = strrchr(hierarchy + eina_strbuf_length_get(stack_buf) - tmp_length, '.');
-          }
-
-        hierarchy[eina_strbuf_length_get(stack_buf) - 1 - tmp_length] = '\0';
-
-        nested = eina_hash_find(_new_nested_hash, hierarchy);
-        if (nested)
-          {
-             if (nested->func_pop) nested->func_pop();
-
-             prev = eina_list_data_get(eina_list_last(stack));
-             if (!strcmp(tmp, prev))
-               {
-                  if (!strcmp(nested->token, tmp))
-                    do_remove = EINA_FALSE;
-               }
-          }
-
-        if (do_remove)
-          eina_strbuf_remove(stack_buf,
-                             eina_strbuf_length_get(stack_buf) - tmp_length - 1,
-                             eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */
-     }
-   else
-     {
-        eina_strbuf_remove(stack_buf,
-                           eina_strbuf_length_get(stack_buf) - tmp_length,
-                           eina_strbuf_length_get(stack_buf)); /* remove: 'tmp' */
-     }
-   free(tmp);
-}
-
-static const char *
-stack_id(void)
-{
-   return eina_strbuf_string_get(stack_buf);
-}
-
-static void
-parse(char *data, off_t size)
-{
-   char *p, *end, *token;
-   int delim = 0;
-   int do_params = 0;
-
-   DBG("Parsing input file");
-
-   /* Allocate arrays used to impl nested parts */
-   edje_cc_handlers_hierarchy_alloc();
-   p = data;
-   end = data + size;
-   line = 1;
-   while ((token = next_token(p, end, &p, &delim)))
-     {
-       /* if we are in param mode, the only delimiter
-        * we'll accept is the semicolon
-        */
-       if (do_params && delim && *token != ';')
-         {
-            ERR("parse error %s:%i. %c marker before ; marker",
-                file_in, line - 1, *token);
-             err_show();
-            exit(-1);
-         }
-       else if (delim)
-         {
-            if (*token == ',' || *token == ':') do_params = 1;
-            else if (*token == '}')
-              {
-                 if (do_params)
-                   {
-                      ERR("Parse error %s:%i. } marker before ; marker",
-                          file_in, line - 1);
-                      err_show();
-                      exit(-1);
-                   }
-                 else
-                   stack_pop();
-              }
-            else if (*token == ';')
-              {
-                 if (do_params)
-                   {
-                       void *param;
-
-                      do_params = 0;
-                      new_statement();
-                      /* clear out params */
-                      while ((param = eina_array_pop(&params)))
-                         free(param);
-                      /* remove top from stack */
-                      stack_pop();
-                   }
-              }
-            else if (*token == '{')
-              {
-                 if (do_params)
-                   {
-                      ERR("parse error %s:%i. { marker before ; marker",
-                          file_in, line - 1);
-                       err_show();
-                      exit(-1);
-                   }
-              }
-            free(token);
-         }
-       else
-         {
-            if (do_params)
-               {
-                  eina_array_push(&params, token);
-               }
-            else
-              {
-                  stack_push(token);
-                 new_object();
-                 if ((verbatim == 1) && (p < (end - 2)))
-                   {
-                      int escaped = 0;
-                      int inquotes = 0;
-                      int insquotes = 0;
-                      int squigglie = 1;
-                      int l1 = 0, l2 = 0;
-                      char *verbatim_1;
-                      char *verbatim_2;
-
-                      l1 = line;
-                      while ((p[0] != '{') && (p < end))
-                        {
-                           if (*p == '\n') line++;
-                           p++;
-                        }
-                      p++;
-                      verbatim_1 = p;
-                      verbatim_2 = NULL;
-                      for (; p < end; p++)
-                        {
-                           if (*p == '\n') line++;
-                           if (escaped) escaped = 0;
-                           if (!escaped)
-                             {
-                                if (p[0] == '\\') escaped = 1;
-                                else if (p[0] == '\"')
-                                  {
-                                     if (!insquotes)
-                                       {
-                                          if (inquotes) inquotes = 0;
-                                          else inquotes = 1;
-                                       }
-                                  }
-                                else if (p[0] == '\'')
-                                  {
-                                     if (!inquotes)
-                                       {
-                                          if (insquotes) insquotes = 0;
-                                          else insquotes = 1;
-                                       }
-                                  }
-                                else if ((!inquotes) && (!insquotes))
-                                  {
-                                     if      (p[0] == '{') squigglie++;
-                                     else if (p[0] == '}') squigglie--;
-                                     if (squigglie == 0)
-                                       {
-                                          verbatim_2 = p - 1;
-                                          l2 = line;
-                                          break;
-                                       }
-                                  }
-                             }
-                        }
-                      if (verbatim_2 > verbatim_1)
-                        {
-                           int l;
-                           char *v;
-
-                           l = verbatim_2 - verbatim_1 + 1;
-                           v = malloc(l + 1);
-                           strncpy(v, verbatim_1, l);
-                           v[l] = 0;
-                           set_verbatim(v, l1, l2);
-                        }
-                      else
-                        {
-                           ERR("Parse error %s:%i. { marker does not have matching } marker",
-                               file_in, line - 1);
-                            err_show();
-                           exit(-1);
-                        }
-                      new_object();
-                      verbatim = 0;
-                   }
-              }
-         }
-     }
-
-   edje_cc_handlers_hierarchy_free();
-   DBG("Parsing done");
-}
-
-static char *clean_file = NULL;
-static void
-clean_tmp_file(void)
-{
-   if (clean_file) unlink(clean_file);
-}
-
-int
-is_verbatim(void)
-{
-   return verbatim;
-}
-
-void
-track_verbatim(int on)
-{
-   verbatim = on;
-}
-
-void
-set_verbatim(char *s, int l1, int l2)
-{
-   verbatim_line1 = l1;
-   verbatim_line2 = l2;
-   verbatim_str = s;
-}
-
-char *
-get_verbatim(void)
-{
-   return verbatim_str;
-}
-
-int
-get_verbatim_line1(void)
-{
-   return verbatim_line1;
-}
-
-int
-get_verbatim_line2(void)
-{
-   return verbatim_line2;
-}
-
-void
-compile(void)
-{
-   char buf[4096], buf2[4096];
-   char inc[4096];
-   static char tmpn[4096];
-   int fd;
-   off_t size;
-   char *data, *p;
-   Eina_List *l;
-   Edje_Style *stl;
-
-   if (!tmp_dir)
-#ifdef HAVE_EVIL
-     tmp_dir = (char *)evil_tmpdir_get();
-#else
-     tmp_dir = "/tmp";
-#endif
-
-   strncpy(inc, file_in, 4000);
-   inc[4001] = 0;
-   p = strrchr(inc, '/');
-   if (!p) strcpy(inc, "./");
-   else *p = 0;
-   snprintf(tmpn, PATH_MAX, "%s/edje_cc.edc-tmp-XXXXXX", tmp_dir);
-   fd = mkstemp(tmpn);
-   if (fd < 0)
-     {
-        CRIT("Unable to open temp file \"%s\" for pre-processor.", tmpn);
-        exit(-1);
-     }
-
-   if (fd >= 0)
-     {
-       int ret;
-       char *def;
-
-       clean_file = tmpn;
-       close(fd);
-       atexit(clean_tmp_file);
-       if (!defines)
-         def = mem_strdup("");
-       else
-         {
-            int len;
-            char *define;
-
-            len = 0;
-            EINA_LIST_FOREACH(defines, l, define)
-              len += strlen(define) + 1;
-            def = mem_alloc(len + 1);
-            def[0] = 0;
-            EINA_LIST_FOREACH(defines, l, define)
-              {
-                 strcat(def, define);
-                 strcat(def, " ");
-              }
-         }
-
-       /*
-        * Run the input through the C pre-processor.
-        */
-        snprintf(buf2, sizeof(buf2), "%s/edje/utils/epp" EPP_EXT, 
-                 eina_prefix_lib_get(pfx));
-        if (ecore_file_exists(buf2))
-          {
-             if (anotate)
-               snprintf(buf, sizeof(buf), "%s -anotate -a %s %s -I%s %s -o %s",
-                        buf2, watchfile ? watchfile : "/dev/null", file_in, inc, def, tmpn);
-             else
-               snprintf(buf, sizeof(buf), "%s -a %s %s -I%s %s -o %s",
-                        buf2, watchfile ? watchfile : "/dev/null", file_in, inc, def, tmpn);
-             ret = system(buf);
-          }
-        else
-          {
-             ERR("Cannot run epp: %s", buf2);
-             exit(-1);
-          }
-       if (ret == EXIT_SUCCESS)
-         file_in = tmpn;
-        else
-          {
-             ERR("Exit code of epp not clean: %i", ret);
-             exit(-1);
-          }
-       free(def);
-     }
-   fd = open(file_in, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR);
-   if (fd < 0)
-     {
-       ERR("Cannot open file \"%s\" for input. %s",
-           file_in, strerror(errno));
-       exit(-1);
-     }
-   DBG("Opening \"%s\" for input", file_in);
-
-   size = lseek(fd, 0, SEEK_END);
-   lseek(fd, 0, SEEK_SET);
-   data = malloc(size);
-   if (data && (read(fd, data, size) == size))
-     {
-        stack_buf = eina_strbuf_new();
-       eina_array_step_set(&params, sizeof (Eina_Array), 8);
-        parse(data, size);
-       eina_array_flush(&params);
-        eina_strbuf_free(stack_buf);
-        stack_buf = NULL;
-     }
-   else
-     {
-       ERR("Cannot read file \"%s\". %s", file_in, strerror(errno));
-       exit(-1);
-     }
-   free(data);
-   close(fd);
-
-   EINA_LIST_FOREACH(edje_file->styles, l, stl)
-     {
-        if (!stl->name)
-          {
-             ERR("style must have a name.");
-             exit(-1);
-          }
-     }
-}
-
-int
-is_param(int n)
-{
-   char *str;
-
-   str = _parse_param_get(n);
-   if (str) return 1;
-   return 0;
-}
-
-int
-is_num(int n)
-{
-   char *str;
-   char *end;
-   long int ret;
-   
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-               file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   if (str[0] == 0) return 0;
-   end = str;
-   ret = strtol(str, &end, 0);
-   if ((ret == LONG_MIN) || (ret == LONG_MAX))
-     {
-        n = 0; // do nothing. shut gcc warnings up
-     }
-   if ((end != str) && (end[0] == 0)) return 1;
-   return 0;
-}
-
-char *
-parse_str(int n)
-{
-   char *str;
-   char *s;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   s = mem_strdup(str);
-   return s;
-}
-
-static int
-_parse_enum(char *str, va_list va)
-{
-   va_list va2;
-   va_copy(va2, va); /* iterator for the error message */
-
-   for (;;)
-     {
-       char *s;
-       int   v;
-
-       s = va_arg(va, char *);
-
-       /* End of the list, nothing matched. */
-       if (!s)
-         {
-            ERR("%s:%i token %s not one of:", file_in, line - 1, str);
-            s = va_arg(va2, char *);
-            while (s)
-              {
-                 va_arg(va2, int);
-                 fprintf(stderr, " %s", s);
-                 s = va_arg(va2, char *);
-                 if (!s) break;
-              }
-            fprintf(stderr, "\n");
-            va_end(va2);
-            va_end(va);
-             err_show();
-            exit(-1);
-         }
-
-       v = va_arg(va, int);
-       if (!strcmp(s, str))
-         {
-            va_end(va2);
-            va_end(va);
-            return v;
-         }
-     }
-   va_end(va2);
-   va_end(va);
-   return 0;
-}
-
-int
-parse_enum(int n, ...)
-{
-   char *str;
-   int result;
-   va_list va;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-
-   va_start(va, n);
-   result = _parse_enum(str, va);
-   va_end(va);
-
-   return result;
-}
-
-int
-parse_flags(int n, ...)
-{
-   int result = 0;
-   va_list va;
-
-   va_start(va, n);
-   while (n < (int) eina_array_count(&params))
-     {
-        result |= _parse_enum(eina_array_data_get(&params, n), va);
-        n++;
-     }
-   va_end(va);
-
-   return result;
-}
-
-int
-parse_int(int n)
-{
-   char *str;
-   int i;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   i = my_atoi(str);
-   return i;
-}
-
-int
-parse_int_range(int n, int f, int t)
-{
-   char *str;
-   int i;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   i = my_atoi(str);
-   if ((i < f) || (i > t))
-     {
-       ERR("%s:%i integer %i out of range of %i to %i inclusive",
-           file_in, line - 1, i, f, t);
-        err_show();
-       exit(-1);
-     }
-   return i;
-}
-
-int
-parse_bool(int n)
-{
-   char *str, buf[4096];
-   int i;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-
-   if (!strstrip(str, buf, sizeof (buf)))
-     {
-       ERR("%s:%i expression is too long",
-           file_in, line - 1);
-       return 0;
-     }
-
-   if (!strcasecmp(buf, "false") || !strcasecmp(buf, "off"))
-      return 0;
-   if (!strcasecmp(buf, "true") || !strcasecmp(buf, "on"))
-      return 1;
-
-   i = my_atoi(str);
-   if ((i < 0) || (i > 1))
-     {
-       ERR("%s:%i integer %i out of range of 0 to 1 inclusive",
-           file_in, line - 1, i);
-        err_show();
-       exit(-1);
-     }
-   return i;
-}
-
-double
-parse_float(int n)
-{
-   char *str;
-   double i;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   i = my_atof(str);
-   return i;
-}
-
-double
-parse_float_range(int n, double f, double t)
-{
-   char *str;
-   double i;
-
-   str = _parse_param_get(n);
-   if (!str)
-     {
-       ERR("%s:%i no parameter supplied as argument %i",
-           file_in, line - 1, n + 1);
-        err_show();
-       exit(-1);
-     }
-   i = my_atof(str);
-   if ((i < f) || (i > t))
-     {
-       ERR("%s:%i float %3.3f out of range of %3.3f to %3.3f inclusive",
-           file_in, line - 1, i, f, t);
-        err_show();
-       exit(-1);
-     }
-   return i;
-}
-
-int
-get_arg_count(void)
-{
-   return eina_array_count(&params);
-}
-
-void
-check_arg_count(int required_args)
-{
-   int num_args = eina_array_count(&params);
-
-   if (num_args != required_args)
-     {
-        ERR("%s:%i got %i arguments, but expected %i",
-            file_in, line - 1, num_args, required_args);
-        err_show();
-       exit(-1);
-     }
-}
-
-void
-check_min_arg_count(int min_required_args)
-{
-   int num_args = eina_array_count(&params);
-
-   if (num_args < min_required_args)
-     {
-       ERR("%s:%i got %i arguments, but expected at least %i",
-           file_in, line - 1, num_args, min_required_args);
-        err_show();
-       exit(-1);
-     }
-}
-
-/* simple expression parsing stuff */
-
-/*
- * alpha ::= beta + beta || beta
- * beta  ::= gamma + gamma || gamma
- * gamma ::= num || delta
- * delta ::= '(' alpha ')'
- *
- */
-
-/* int set of function */
-
-static int
-my_atoi(const char *s)
-{
-   int res = 0;
-   char buf[4096];
-   
-   if (!s) return 0;
-   if (!strstrip(s, buf, sizeof(buf)))
-     {
-       ERR("%s:%i expression is too long",
-           file_in, line - 1);
-       return 0;
-     }
-   _alphai(buf, &res);
-   return res;
-}
-
-static char *
-_deltai(char *s, int *val)
-{
-   if (!val) return NULL;
-   if ('(' != s[0])
-     {
-       ERR("%s:%i unexpected character at %s",
-           file_in, line - 1, s);
-       return s;
-     }
-   else
-     {
-       s++;
-       s = _alphai(s, val);
-       s++;
-       return s;
-     }
-   return s;
-}
-
-static char *
-_funci(char *s, int *val)
-{
-   if (!strncmp(s, "floor(", 6))
-     {
-        s += 5;
-        s = _deltai(s, val);
-        *val = *val;
-     }
-   else if (!strncmp(s, "ceil(", 5))
-     {
-        s += 4;
-        s = _deltai(s, val);
-        *val = *val;
-     }
-   else
-     {
-        ERR("%s:%i unexpected character at %s",
-           file_in, line - 1, s);
-     }
-   return s;
-}
-
-static char *
-_gammai(char *s, int *val)
-{
-   if (!val) return NULL;
-   if (_is_numi(s[0]))
-     {
-       s = _get_numi(s, val);
-       return s;
-     }
-   else if ('(' == s[0])
-     {
-       s = _deltai(s, val);
-       return s;
-     }
-   else
-     {
-        s = _funci(s, val);
-//        ERR("%s:%i unexpected character at %s",
-//                progname, file_in, line - 1, s);
-     }
-   return s;
-}
-
-static char *
-_betai(char *s, int *val)
-{
-   int a1, a2;
-   char op;
-
-   if (!val) return NULL;
-   s = _gammai(s, &a1);
-   while (_is_op1i(s[0]))
-     {
-       op = s[0];
-       s++;
-       s = _gammai(s, &a2);
-       a1 = _calci(op, a1, a2);
-     }
-   (*val) = a1;
-   return s;
-}
-
-static char *
-_alphai(char *s, int *val)
-{
-   int a1, a2;
-   char op;
-   
-   if (!val) return NULL;
-   s = _betai(s, &a1);
-   while (_is_op2i(s[0]))
-     {
-       op = s[0];
-       s++;
-       s = _betai(s, &a2);
-       a1 = _calci(op, a1, a2);
-     }
-   (*val) = a1;
-   return s;
-}
-
-char *
-_get_numi(char *s, int *val)
-{
-   char buf[4096];
-   int pos = 0;
-   
-   if (!val) return s;
-   while ((('0' <= s[pos]) && ('9' >= s[pos])) ||
-         ((0 == pos) && ('-' == s[pos])))
-     {
-       buf[pos] = s[pos];
-       pos++;
-     }
-   buf[pos] = '\0';
-   (*val) = atoi(buf);
-   return (s + pos);
-}
-
-int
-_is_numi(char c)
-{
-   if (((c >= '0') && (c <= '9')) || ('-' == c) || ('+' == c))
-     return 1;
-   else
-     return 0;
-}
-
-int
-_is_op1i(char c)
-{
-   switch (c)
-     {
-     case '*':;
-     case '%':;
-     case '/': return 1;
-     default: break;
-     }
-   return 0;
-}
-
-int
-_is_op2i(char c)
-{
-   switch (c)
-     {
-     case '+':;
-     case '-': return 1;
-     default: break;
-     }
-   return 0;
-}
-
-int
-_calci(char op, int a, int b)
-{
-   switch(op)
-     {
-     case '+':
-       a += b;
-       return a;
-     case '-':
-       a -= b;
-       return a;
-     case '/':
-       if (0 != b) a /= b;
-       else
-         ERR("%s:%i divide by zero", file_in, line - 1);
-       return a;
-     case '*':
-       a *= b;
-       return a;
-     case '%':
-       if (0 != b) a = a % b;
-       else
-         ERR("%s:%i modula by zero", file_in, line - 1);
-       return a;
-     default:
-       ERR("%s:%i unexpected character '%c'", file_in, line - 1, op);
-     }
-   return a;
-}
-
-/* float set of functoins */
-
-double
-my_atof(const char *s)
-{
-   double res = 0;
-   char buf[4096];
-   
-   if (!s) return 0;
-
-   if (!strstrip(s, buf, sizeof (buf)))
-     {
-       ERR("%s:%i expression is too long", file_in, line - 1);
-       return 0;
-     }
-   _alphaf(buf, &res);
-   return res;
-}
-
-static char *
-_deltaf(char *s, double *val)
-{
-   if (!val) return NULL;
-   if ('(' != s[0])
-     {
-       ERR("%s:%i unexpected character at %s", file_in, line - 1, s);
-       return s;
-     }
-   else
-     {
-       s++;
-       s = _alphaf(s, val);
-       s++;
-     }
-   return s;
-}
-
-static char *
-_funcf(char *s, double *val)
-{
-   if (!strncmp(s, "floor(", 6))
-     {
-        s += 5;
-        s = _deltaf(s, val);
-        *val = floor(*val);
-     }
-   else if (!strncmp(s, "ceil(", 5))
-     {
-        s += 4;
-        s = _deltaf(s, val);
-        *val = ceil(*val);
-     }
-   else
-     {
-        ERR("%s:%i unexpected character at %s", file_in, line - 1, s);
-     }
-   return s;
-}
-
-static char *
-_gammaf(char *s, double *val)
-{
-   if (!val) return NULL;
-   
-   if (_is_numf(s[0]))
-     {
-       s = _get_numf(s, val);
-       return s;
-     }
-   else if ('(' == s[0])
-     {
-       s = _deltaf(s, val);
-       return s;
-     }
-   else
-     {
-        s = _funcf(s, val);
-//        ERR("%s:%i unexpected character at %s",
-//                progname, file_in, line - 1, s);
-     }
-   return s;
-}
-
-static char *
-_betaf(char *s, double *val)
-{
-   double a1=0, a2=0;
-   char op;
-   
-   if (!val) return NULL;
-   s = _gammaf(s, &a1);
-   while (_is_op1f(s[0]))
-     {
-       op = s[0];
-       s++;
-       s = _gammaf(s, &a2);
-       a1 = _calcf(op, a1, a2);
-     }
-   (*val) = a1;
-   return s;
-}
-
-static char *
-_alphaf(char *s, double *val)
-{
-   double a1=0, a2=0;
-   char op;
-
-   if (!val) return NULL;
-   s = _betaf(s, &a1);
-   while (_is_op2f(s[0]))
-     {
-       op = s[0];
-       s++;
-       s = _betaf(s, &a2);
-       a1 = _calcf(op, a1, a2);
-     }
-   (*val) = a1;
-   return s;
-}
-
-static char *
-_get_numf(char *s, double *val)
-{
-   char buf[4096];
-   int pos = 0;
-
-   if (!val) return s;
-
-   while ((('0' <= s[pos]) && ('9' >= s[pos])) ||
-         ('.' == s[pos]) ||
-         ((0 == pos) && ('-' == s[pos])))
-     {
-       buf[pos] = s[pos];
-       pos++;
-     }
-   buf[pos] = '\0';
-   (*val) = atof(buf);
-   return (s+pos);
-}
-
-static int
-_is_numf(char c)
-{
-   if (((c >= '0') && (c <= '9'))
-       || ('-' == c)
-       || ('.' == c)
-       || ('+' == c))
-     return 1;
-   return 0;
-}
-
-static int
-_is_op1f(char c)
-{
-   switch(c)
-     {
-     case '*':;
-     case '%':;
-     case '/': return 1;
-     default: break;
-     }
-   return 0;
-}
-
-static int
-_is_op2f(char c)
-{
-   switch(c)
-     {
-     case '+':;
-     case '-': return 1;
-     default: break;
-     }
-   return 0;
-}
-
-static double
-_calcf(char op, double a, double b)
-{
-   switch(op)
-     {
-     case '+':
-       a += b;
-       return a;
-     case '-':
-       a -= b;
-       return a;
-     case '/':
-       if (b != 0) a /= b;
-       else
-         ERR("%s:%i divide by zero", file_in, line - 1);
-       return a;
-     case '*':
-       a *= b;
-       return a;
-     case '%':
-       if (0 != b) a = (double)((int)a % (int)b);
-       else
-         ERR("%s:%i modula by zero", file_in, line - 1);
-       return a;
-     default:
-       ERR("%s:%i unexpected character '%c'", file_in, line - 1, op);
-     }
-   return a;
-}
-
-static int
-strstrip(const char *in, char *out, size_t size)
-{
-   if ((size -1 ) < strlen(in))
-     {
-       ERR("%s:%i expression is too long", file_in, line - 1);
-       return 0;
-     }
-   /* remove spaces and tabs */
-   while (*in)
-     {
-       if ((0x20 != *in) && (0x09 != *in))
-         {
-            *out = *in;
-            out++;
-         }
-       in++;
-     }
-   *out = '\0';
-   return 1;
-}
diff --git a/legacy/edje/src/bin/edje_cc_sources.c b/legacy/edje/src/bin/edje_cc_sources.c
deleted file mode 100644 (file)
index ef23d32..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <ctype.h>
-#include <limits.h>
-
-#include "edje_cc.h"
-
-static Eet_Data_Descriptor *_srcfile_edd = NULL;
-static Eet_Data_Descriptor *_srcfile_list_edd = NULL;
-
-static Eet_Data_Descriptor *_external_edd = NULL;
-static Eet_Data_Descriptor *_external_list_edd = NULL;
-
-static Eet_Data_Descriptor *_font_edd = NULL;
-static Eet_Data_Descriptor *_font_list_edd = NULL;
-
-static SrcFile_List srcfiles = {NULL};
-
-void
-source_edd(void)
-{
-   Eet_Data_Descriptor_Class eddc;
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile", sizeof (SrcFile));
-   _srcfile_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "name", name, EET_T_INLINED_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "file", file, EET_T_INLINED_STRING);
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile_list", sizeof (SrcFile_List));
-   _srcfile_list_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_srcfile_list_edd, SrcFile_List, "list", list, _srcfile_edd);
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "external", sizeof (External));
-   _external_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_external_edd, External, "name", name, EET_T_INLINED_STRING);
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "external_list", sizeof (External_List));
-   _external_list_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_external_list_edd, External_List, "list", list, _external_edd);
-
-   _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);
-}
-
-static void source_fetch_file(const char *fil, const char *filname);
-
-static void
-source_fetch_file(const char *fil, const char *filname)
-{
-   FILE *f;
-   char buf[16 * 1024], *dir = NULL;
-   long sz;
-   size_t tmp;
-   ssize_t dir_len = 0;
-   SrcFile *sf;
-
-   f = fopen(fil, "rb");
-   if (!f)
-     {
-       ERR("Cannot open file '%s'", fil);
-       exit(-1);
-     }
-
-   fseek(f, 0, SEEK_END);
-   sz = ftell(f);
-   fseek(f, 0, SEEK_SET);
-   sf = mem_alloc(SZ(SrcFile));
-   sf->name = mem_strdup(filname);
-   sf->file = mem_alloc(sz + 1);
-   if (sz > 0)
-     {
-       tmp = fread(sf->file, sz, 1, f);
-       if (tmp != 1)
-         {
-            ERR("file length for (%s) doesn't match!", filname);
-            exit(-1);
-         }
-     }
-
-   sf->file[sz] = '\0';
-   fseek(f, 0, SEEK_SET);
-   srcfiles.list = eina_list_append(srcfiles.list, sf);
-
-   while (fgets(buf, sizeof(buf), f))
-     {
-       char *p, *pp;
-       int got_hash = 0;
-       int forgetit = 0;
-       int haveinclude = 0;
-       char *file = NULL, *fname = NULL;
-
-       p = buf;
-       while ((!forgetit) && (*p))
-         {
-            if (!got_hash)
-              {
-                 if (!isspace(*p))
-                   {
-                      if (*p == '#')
-                        got_hash = 1;
-                      else
-                        forgetit = 1;
-                   }
-                 p++;
-              }
-
-            if (!haveinclude)
-              {
-                 if (!isspace(*p))
-                   {
-                      if (!strncmp(p, "include", 7))
-                        {
-                           haveinclude = 1;
-                           p += 7;
-                        }
-                      /* HACK! the logic above should be fixed so
-                       * preprocessor statements don't have to begin
-                       * in column 0.
-                       * otoh, edje_cc should print a warning in that case,
-                       * since according to the standard, preprocessor
-                       * statements need to be put in column 0.
-                       */
-                      else if (!strncmp(p, "#include", 8))
-                        {
-                           haveinclude = 1;
-                           p += 8;
-                        }
-                      else
-                        forgetit = 1;
-                   }
-              }
-            else
-              {
-                 if (!isspace(*p))
-                   {
-                      char end = '\0';
-
-                      if (*p == '"') end = '"';
-                      else if (*p == '<') end = '>';
-
-                      if (end)
-                        {
-                           pp = strchr(p + 1, end);
-                           if (!pp)
-                             forgetit = 1;
-                           else
-                             {
-                                char *slash;
-                                ssize_t l = 0;
-
-                                /* get the directory of the current file
-                                 * if we haven't already done so
-                                 */
-                                if ((!dir) && (strrchr(fil, '/')))
-                                  {
-                                     dir = mem_strdup(fil);
-                                     slash = strrchr(dir, '/');
-                                     *slash = '\0';
-                                     dir_len = strlen(dir);
-                                  }
-
-                                l = pp - p + dir_len + 1;
-                                file = mem_alloc(l);
-
-                                if (!dir_len)
-                                  {
-                                     snprintf(file, l - 1, "%s", p + 1);
-                                     file[l - 2] = 0;
-                                  }
-                                else
-                                  {
-                                     snprintf(file, l, "%s/%s", dir, p + 1);
-                                     file[l - 1] = 0;
-                                  }
-
-
-                                fname = strdup(p + 1);
-                                pp = strrchr(fname, end);
-                                if (pp) *pp = 0;
-                                forgetit = 1;
-                             }
-                        }
-                      else
-                        forgetit = 1;
-                   }
-                 else
-                   p++;
-              }
-
-            got_hash = 0;
-         }
-       if ((file) && (fname))
-         {
-            source_fetch_file(file, fname);
-            free(file);
-            free(fname);
-         }
-     }
-   free(dir);
-   fclose(f);
-}
-
-void
-source_fetch(void)
-{
-   char buf[PATH_MAX] = {0}, *ptr;
-
-   ptr = strrchr(file_in, '/');
-   if (ptr)
-     {
-       snprintf(buf, sizeof (buf), "%s", ptr + 1);
-     }
-
-   source_fetch_file(file_in, buf[0] ? buf : file_in);
-}
-
-int
-source_append(Eet_File *ef)
-{
-   return eet_data_write(ef, _srcfile_list_edd, "edje_sources", &srcfiles,
-                         compress_mode);
-}
-
-SrcFile_List *
-source_load(Eet_File *ef)
-{
-   SrcFile_List *s;
-
-   s = eet_data_read(ef, _srcfile_list_edd, "edje_sources");
-   return s;
-}
-
-int
-source_fontmap_save(Eet_File *ef, Eina_List *font_list)
-{
-   Edje_Font_List fl;
-
-   fl.list = font_list;
-   return eet_data_write(ef, _font_list_edd, "edje_source_fontmap", &fl,
-                         compress_mode);
-}
-
-Edje_Font_List *
-source_fontmap_load(Eet_File *ef)
-{
-   Edje_Font_List *fl;
-
-   fl = eet_data_read(ef, _font_list_edd, "edje_source_fontmap");
-   return fl;
-}
diff --git a/legacy/edje/src/bin/edje_codegen.c b/legacy/edje/src/bin/edje_codegen.c
deleted file mode 100644 (file)
index 891a4b8..0000000
+++ /dev/null
@@ -1,1229 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <locale.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <Eina.h>
-#include <Ecore.h>
-#include <Ecore_Getopt.h>
-#include <Ecore_Evas.h>
-
-#include "Edje.h"
-#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT 1
-#include "Edje_Edit.h"
-
-static int _log_dom;
-#define DBG(...)  EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
-#define ERR(...)  EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
-
-static Ecore_Evas *ee = NULL;
-static char *file = NULL;
-static char *group = NULL;
-static char *prefix = NULL;
-static FILE *source_fd = NULL;
-static FILE *header_fd = NULL;
-static Eina_List *externals = NULL;
-
-#define H_HEADER                                        \
-  "#ifndef _%s\n"                                       \
-  "#define _%s\n\n"                                     \
-  "#include <Edje.h>\n"                                 \
-  "#include <Evas.h>\n\n"                               \
-  "#include <stdlib.h>\n\n"
-
-#define H_FOOTER                                        \
-  "\n#endif /* _%s */\n"
-
-#define C_HEADER                                        \
-  "#include \"%s\"\n\n"
-
-#define C_CODEGEN_OBJECT_ADD                              \
-  "Evas_Object *\n"                                       \
-  "%s_object_add(Evas *e, const char *file)\n"            \
-  "{\n"                                                   \
-  "   Evas_Object *o;\n\n"                                \
-  "   o = edje_object_add(e);\n"                          \
-  "   if (!o) return NULL;\n\n"                           \
-  "   if (file)\n"                                        \
-  "      edje_object_file_set(o, file, \"%s\");\n"        \
-  "   else\n"                                             \
-  "      edje_object_file_set(o, \"%s\", \"%s\");\n\n"    \
-  "   return o;\n"                                        \
-  "}\n\n"
-
-#define H_CODEGEN_OBJECT_ADD                                           \
-  "/**\n * @brief Creates the Edje object and set the edj file\n"      \
-  " * @param e The surface\n"                                          \
-  " * @param file The path to edj, if NULL it's used the path given\n" \
-  " *             to edje_codegen\n */\n"                              \
-  "Evas_Object *%s_object_add(Evas *e, const char *file);\n\n"
-
-#define C_CODEGEN_DRAG_SET(option)                                      \
-  "Eina_Bool\n"                                                         \
-  "%s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy)\n"    \
-  "{\n"                                                                 \
-  "   return edje_object_part_drag_"#option"_set(o, \"%s\", dx, dy);\n" \
-  "}\n\n"
-
-#define H_CODEGEN_DRAG_SET(option)                                      \
-  "Eina_Bool %s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy);\n"
-
-#define C_CODEGEN_DRAG_GET(option)                                      \
-  "Eina_Bool\n"                                                         \
-  "%s_%s_drag_"#option"_get(Evas_Object *o, double *dx, double *dy)\n"  \
-  "{\n"                                                                 \
-  "   return edje_object_part_drag_"#option"_get(o, \"%s\", dx, dy);\n" \
-  "}\n\n"
-
-#define H_CODEGEN_DRAG_GET(option)                                      \
-  "Eina_Bool %s_%s_drag_"#option"_get(Evas_Object *o, double *dx"       \
-  ", double *dy);\n"
-
-#define C_CODEGEN_DRAG_ACTION(option)                                   \
-  "Eina_Bool\n"                                                         \
-  "%s_%s_drag_"#option"(Evas_Object *o, double dx, double dy)\n"        \
-  "{\n"                                                                 \
-  "   return edje_object_part_drag_"#option"(o, \"%s\", dx, dy);\n"     \
-  "}\n\n"
-
-#define H_CODEGEN_DRAG_ACTION(option)                                   \
-  "Eina_Bool %s_%s_drag_"#option"(Evas_Object *o, double dx, double dy);\n"
-
-#define C_CODEGEN_DRAG_DIR_GET                              \
-  "Edje_Drag_Dir\n"                                         \
-  "%s_%s_drag_dir_get(Evas_Object *o)\n"                    \
-  "{\n"                                                     \
-  "   return edje_object_part_drag_dir_get(o, \"%s\");\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_DRAG_DIR_GET                          \
-  "Edje_Drag_Dir %s_%s_drag_dir_get(Evas_Object *o);\n"
-
-#define C_CODEGEN_PART_TEXT_SET                         \
-  "void\n"                                              \
-  "%s_%s_set(Evas_Object *o, const char *value)\n"      \
-  "{\n"                                                 \
-  "   edje_object_part_text_set(o, \"%s\", value);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TEXT_SET                              \
-  "void %s_%s_set(Evas_Object *o, const char *value);\n"
-
-#define C_CODEGEN_PART_SWALLOW_SET                             \
-  "void\n"                                                     \
-  "%s_%s_set(Evas_Object *o, Evas_Object *value)\n"            \
-  "{\n"                                                        \
-  "   edje_object_part_swallow(o, \"%s\", value);\n"           \
-  "}\n\n"
-
-#define H_CODEGEN_PART_SWALLOW_SET                             \
-  "void %s_%s_set(Evas_Object *o, Evas_Object *value);\n"
-
-#define C_CODEGEN_PART_TEXT_GET                         \
-  "const char *\n"                                      \
-  "%s_%s_get(const Evas_Object *o)\n"                   \
-  "{\n"                                                 \
-  "   return edje_object_part_text_get(o, \"%s\");\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TEXT_GET                         \
-  "const char *%s_%s_get(const Evas_Object *o);\n"
-
-#define C_CODEGEN_PART_SWALLOW_GET                        \
-  "Evas_Object *\n"                                       \
-  "%s_%s_get(const Evas_Object *o)\n"                     \
-  "{\n"                                                   \
-  "   return edje_object_part_swallow_get(o, \"%s\");\n"  \
-  "}\n\n"
-
-#define H_CODEGEN_PART_SWALLOW_GET                         \
-  "Evas_Object *%s_%s_get(const Evas_Object *o);\n"
-
-#define C_CODEGEN_PART_BOX_APPEND                                \
-  "Eina_Bool\n"                                                  \
-  "%s_%s_append(Evas_Object *o, Evas_Object *child)\n"           \
-  "{\n"                                                          \
-  "   return edje_object_part_box_append(o, \"%s\", child);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_APPEND                                      \
-  "Eina_Bool %s_%s_append(Evas_Object *o, Evas_Object *child);\n"
-
-#define C_CODEGEN_PART_BOX_PREPEND                                \
-  "Eina_Bool\n"                                                   \
-  "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n"           \
-  "{\n"                                                           \
-  "   return edje_object_part_box_prepend(o, \"%s\", child);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_PREPEND                                      \
-  "Eina_Bool %s_%s_prepend(Evas_Object *o, Evas_Object *child);\n"
-
-#define C_CODEGEN_PART_BOX_INSERT_BEFORE                          \
-  "Eina_Bool\n"                                                   \
-  "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, "      \
-  "const Evas_Object *reference)\n"                               \
-  "{\n"                                                           \
-  "   return edje_object_part_box_insert_before(o, \"%s\", "      \
-  "child, reference);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_INSERT_BEFORE                                \
-  "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, "  \
-  "const Evas_Object *reference);\n"
-
-#define C_CODEGEN_PART_BOX_INSERT_AT                                        \
-  "Eina_Bool\n"                                                             \
-  "%s_%s_insert_at(Evas_Object *o, Evas_Object *child, unsigned int pos)\n" \
-  "{\n"                                                                     \
-  "   return edje_object_part_box_insert_at(o, \"%s\", child, pos);\n"      \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_INSERT_AT                                     \
-  "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, "       \
-  "unsigned int pos);\n"
-
-#define C_CODEGEN_PART_BOX_REMOVE                                   \
-  "Evas_Object *\n"                                                 \
-  "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n"              \
-  "{\n"                                                             \
-  "   return edje_object_part_box_remove(o, \"%s\", child);\n"      \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_REMOVE                                    \
-  "Evas_Object *%s_%s_remove(Evas_Object *o, Evas_Object *child);\n"
-
-#define C_CODEGEN_PART_BOX_REMOVE_AT                                 \
-  "Evas_Object *\n"                                                  \
-  "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n"              \
-  "{\n"                                                              \
-  "   return edje_object_part_box_remove_at(o, \"%s\", pos);\n"      \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_REMOVE_AT                                 \
-  "Evas_Object *%s_%s_remove_at(Evas_Object *o, unsigned int pos);\n"
-
-#define C_CODEGEN_PART_BOX_REMOVE_ALL                                \
-  "Eina_Bool\n"                                                      \
-  "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n"              \
-  "{\n"                                                              \
-  "   return edje_object_part_box_remove_all(o, \"%s\", clear);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_BOX_REMOVE_ALL                                     \
-  "Eina_Bool %s_%s_remove_all(Evas_Object *o, Eina_Bool clear);\n"
-
-#define C_CODEGEN_PART_TABLE_CHILD_GET                                    \
-  "Evas_Object *\n"                                                       \
-  "%s_%s_child_get(Evas_Object *o, unsigned int col, unsigned int row)\n" \
-  "{\n"                                                                   \
-  "   return edje_object_part_table_child_get(o, \"%s\", col, row);\n"    \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TABLE_CHILD_GET                                \
-  "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, "  \
-  "unsigned int row);\n"
-
-#define C_CODEGEN_PART_TABLE_PACK                                         \
-  "Eina_Bool\n"                                                           \
-  "%s_%s_pack(Evas_Object *o, Evas_Object *child, unsigned short col, "   \
-  "unsigned short row, unsigned short colspan, unsigned short rowspan)\n" \
-  "{\n"                                                                   \
-  "   return edje_object_part_table_pack(o, \"%s\", child, col, row, "    \
-  "colspan, rowspan);\n"                                                  \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TABLE_PACK                                \
-  "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, "    \
-  "unsigned short col, unsigned short row, unsigned short "      \
-  "colspan, unsigned short rowspan);\n"
-
-#define C_CODEGEN_PART_TABLE_UNPACK                                  \
-  "Eina_Bool\n"                                                      \
-  "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n"               \
-  "{\n"                                                              \
-  "   return edje_object_part_table_unpack(o, \"%s\", child);\n"     \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TABLE_UNPACK                                  \
-  "Eina_Bool %s_%s_unpack(Evas_Object *o, Evas_Object *child);\n"
-
-#define C_CODEGEN_PART_TABLE_CLEAR                               \
-  "Eina_Bool\n"                                                  \
-  "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n"               \
-  "{\n"                                                          \
-  "   return edje_object_part_table_clear(o, \"%s\", clear);\n"  \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TABLE_CLEAR                                   \
-  "Eina_Bool %s_%s_clear(Evas_Object *o, Eina_Bool clear);\n"
-
-#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET                        \
-  "Eina_Bool\n"                                                      \
-  "%s_%s_col_row_size_get(Evas_Object *o, int  *cols, int *rows)\n"  \
-  "{\n"                                                              \
-  "   return edje_object_part_table_col_row_size_get(o, \"%s\", "    \
-  "cols, rows);\n"                                                   \
-  "}\n\n"
-
-#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET                                \
-  "Eina_Bool %s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows);\n"
-
-#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field)            \
-  "Eina_Bool\n"                                                               \
-  "%s_%s_%s_set(Evas_Object *o, "type"value)\n"                               \
-  "{\n"                                                                       \
-  "   Edje_External_Param param;\n\n"                                         \
-  "   param.name = \"%s\";\n"                                                 \
-  "   param.type = "param_type";\n"                                           \
-  "   param."field" = value;\n"                                               \
-  "   return edje_object_part_external_param_set(o, \"%s\", &param);\n"       \
-  "}\n\n"
-
-#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type)            \
-  "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type"value);\n"
-
-#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field)            \
-  "Eina_Bool\n"                                                               \
-  "%s_%s_%s_get(Evas_Object *o, "type"*value)\n"                              \
-  "{\n"                                                                       \
-  "   if (!value) return EINA_FALSE;\n\n"                                     \
-  "   Edje_External_Param param;\n\n"                                         \
-  "   param.name = \"%s\";\n"                                                 \
-  "   param.type = "param_type";\n"                                           \
-  "   if (!edje_object_part_external_param_get(o, \"%s\", &param))\n"         \
-  "     return EINA_FALSE;\n\n"                                               \
-  "   *value = param."field";\n"                                              \
-  "   return EINA_TRUE;\n"                                                    \
-  "}\n\n"
-
-#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type)               \
-  "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type"*value);\n"
-
-#define C_CODEGEN_PROGRAM_EMIT                          \
-  "void\n"                                              \
-  "%s_%s_emit(Evas_Object *o)\n"                        \
-  "{\n"                                                 \
-  "   edje_object_signal_emit(o, \"%s\", \"%s\");\n"    \
-  "}\n\n"
-
-#define H_CODEGEN_PROGRAM_EMIT         \
-  "void %s_%s_emit(Evas_Object *o);\n"
-
-#define C_CODEGEN_PROGRAM_CALLBACK_ADD                                        \
-  "void\n"                                                                    \
-  "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n"     \
-  "{\n"                                                                       \
-  "   edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n"      \
-  "}\n\n"
-
-#define H_CODEGEN_PROGRAM_CALLBACK_ADD                                  \
-  "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, "       \
-  "void *data);\n"
-
-#define C_CODEGEN_PROGRAM_CALLBACK_DEL                                          \
-  "void\n"                                                                      \
-  "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n"  \
-  "{\n"                                                                         \
-  "   edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n"   \
-  "}\n\n"
-
-#define H_CODEGEN_PROGRAM_CALLBACK_DEL                                  \
-  "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, "  \
-  "void *data);\n"
-
-
-typedef struct _Part_External_Info Part_External_Info;
-struct _Part_External_Info {
-  const char *description, *name, *source;
-  char *apiname;
-  Eina_Bool draggable;
-};
-
-const Ecore_Getopt optdesc = {
-  "edje_codegen",
-  "%prog [options] <file.edj> <group> <source_file_name> <header_file_name>",
-  PACKAGE_VERSION,
-  "(C) 2012 - The Enlightenment Project",
-  "BSD",
-  "Edje generates the boilerplate code to get and set the "
-  "parts of a group from a compiled (binary) edje "
-  "file avoiding common errors with typos.\n",
-  0,
-  {
-    ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \
-                          "generataed code."),
-    ECORE_GETOPT_LICENSE('L', "license"),
-    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
-    ECORE_GETOPT_VERSION('V', "version"),
-    ECORE_GETOPT_HELP('h', "help"),
-    ECORE_GETOPT_SENTINEL
-  }
-};
-
-static char *
-_standardizes_header(const char *filename)
-{
-   char *str, *itr, *aux;
-
-   aux = strrchr(filename, '/');
-   str = itr = strdup(aux ? aux + 1 : filename);
-
-   for (; *itr; itr++)
-     if (*itr == '.')
-       *itr = '_';
-     else
-       *itr = toupper(*itr);
-
-   return str;
-}
-
-static Eina_Bool
-_open_file_descriptors(const char *source, const char *header)
-{
-   header_fd = fopen(header, "w");
-   if (!header_fd)
-     return EINA_FALSE;
-
-   source_fd = fopen(source, "w");
-   if (!source_fd)
-     goto err;
-
-   return EINA_TRUE;
-
- err:
-   fclose(header_fd);
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_close_file_descriptors(void)
-{
-   Eina_Bool ret = EINA_FALSE;
-
-   if (!fclose(header_fd))
-     ret = EINA_TRUE;
-
-   if (!fclose(source_fd))
-     ret &= EINA_TRUE;
-
-   return ret;
-}
-
-static Eina_Bool
-_write_headers(const char *filename)
-{
-   char buf[512];
-   char *str;
-
-   str = _standardizes_header(filename);
-   snprintf(buf, sizeof(buf), H_HEADER, str, str);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     {
-       free(str);
-       return EINA_FALSE;
-     }
-
-   free(str);
-
-   snprintf(buf, sizeof(buf), C_HEADER, filename);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-       return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_write_footer(const char *filename)
-{
-   char buf[512];
-   char *str;
-
-   str = _standardizes_header(filename);
-   snprintf(buf, sizeof(buf), H_FOOTER, str);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     {
-       free(str);
-       return EINA_FALSE;
-     }
-
-   free(str);
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_write_object_get(void)
-{
-   char buf[512];
-
-   snprintf(buf, sizeof(buf), H_CODEGEN_OBJECT_ADD, prefix);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     return EINA_FALSE;
-
-   snprintf(buf, sizeof(buf), C_CODEGEN_OBJECT_ADD, prefix, group, file, group);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-     return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_write_part_draggable(const char *apiname, const char *partname)
-{
-   char buf[1024];
-
-#define TEMPLATE_DRAGGABLE(sufix, option)                               \
-   do {                                                                 \
-     const char *template;                                              \
-     template = C_CODEGEN_DRAG_##sufix(option);                         \
-     snprintf(buf, sizeof(buf), template, prefix, apiname,              \
-              partname);                                                \
-     if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                   \
-       return EINA_FALSE;                                               \
-     template = H_CODEGEN_DRAG_##sufix(option);                         \
-     snprintf(buf, sizeof(buf), template, prefix,                       \
-              apiname);                                                 \
-     if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                   \
-       return EINA_FALSE;                                               \
-   } while (0)
-
-   TEMPLATE_DRAGGABLE(SET, value);
-   TEMPLATE_DRAGGABLE(GET, value);
-   TEMPLATE_DRAGGABLE(SET, size);
-   TEMPLATE_DRAGGABLE(GET, size);
-   TEMPLATE_DRAGGABLE(SET, page);
-   TEMPLATE_DRAGGABLE(GET, page);
-   TEMPLATE_DRAGGABLE(SET, step);
-   TEMPLATE_DRAGGABLE(GET, step);
-   TEMPLATE_DRAGGABLE(ACTION, page);
-   TEMPLATE_DRAGGABLE(ACTION, step);
-
-#undef TEMPLATE_DRAGGABLE
-
-   snprintf(buf, sizeof(buf), C_CODEGEN_DRAG_DIR_GET, prefix,
-           apiname, partname);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-     return EINA_FALSE;
-   snprintf(buf, sizeof(buf), H_CODEGEN_DRAG_DIR_GET, prefix, apiname);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     return EINA_FALSE;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_write_part_external_param(const Part_External_Info *info,
-                          const Edje_External_Param_Info *param)
-{
-   const char *template;
-   char buf[1024];
-
-#define WRITE_TEMPLATE(type, param_type, field)                                     \
-   do {                                                                      \
-      template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \
-      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
-             param->name, param->name, info->name);                         \
-      if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                       \
-       return EINA_FALSE;                                                   \
-      template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type);                    \
-      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
-              param->name);                                                 \
-      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                       \
-       return EINA_FALSE;                                                   \
-      template =                                                             \
-       C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field);          \
-      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
-             param->name, param->name, info->name);                         \
-      if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                       \
-       return EINA_FALSE;                                                   \
-      template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type);                    \
-      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
-              param->name);                                                 \
-      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                       \
-       return EINA_FALSE;                                                   \
-   } while (0)
-
-   switch (param->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-        WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i");
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d");
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s");
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-        WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i");
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-        WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s");
-        break;
-      default:
-         break;
-     }
-
-#undef WRITE_TEMPLATE
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_write_part_external(Eina_List **parts)
-{
-   char buf[1024];
-   Eina_Iterator *itr;
-   Part_External_Info *ei;
-   const Eina_Hash_Tuple *tuple;
-   Eina_List *l, *l_next;
-   const char *name;
-   Eina_Bool ret = EINA_TRUE;
-
-   itr = edje_external_iterator_get();
-   EINA_ITERATOR_FOREACH(itr, tuple)
-     {
-        const Edje_External_Type *type = tuple->data;
-        const Edje_External_Param_Info *param;
-        name = tuple->key;
-
-        if (!type)
-          {
-             ERR("no type value for '%s'", name);
-             continue;
-          }
-        else if (type->abi_version != edje_external_type_abi_version_get())
-          {
-             ERR("type '%s' with incorrect abi_version %u (expected %u)",
-                 name, type->abi_version, edje_external_type_abi_version_get());
-             continue;
-          }
-
-       EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei)
-         {
-            if (!strcmp(ei->source, name))
-              {
-                 if (ei->description)
-                   {
-                      snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n",
-                               ei->description);
-                      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-                        {
-                           ret = EINA_FALSE;
-                           goto end;
-                        }
-                   }
-
-                  if (ei->draggable)
-                    {
-                      if (!_write_part_draggable(ei->apiname, ei->name))
-                        {
-                           ret = EINA_FALSE;
-                           goto end;
-                        }
-                    }
-
-                 for (param = type->parameters_info; param->name != NULL;
-                      param++)
-                   if (!_write_part_external_param(ei, param))
-                     {
-                        ret = EINA_FALSE;
-                        goto end;
-                     }
-
-                 edje_edit_string_free(ei->description);
-                 free(ei->apiname);
-                 free(ei);
-
-                 *parts = eina_list_remove_list(*parts, l);
-
-              }
-         }
-     }
-
- end:
-   if (eina_list_count(*parts) == 0) *parts = NULL;
-   eina_iterator_free(itr);
-
-   return ret;
-}
-
-static Eina_Bool
-_write_part(const char *apiname, const char *partname, Edje_Part_Type parttype,
-            const char *description, Eina_Bool draggable)
-{
-   char buf[512];
-
-#define TEMPLATE_NAME(sufix)                                     \
-   do {                                                          \
-     snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix,       \
-              apiname, partname);                                \
-     if (fwrite(buf, strlen(buf), 1, source_fd) != 1)            \
-       goto err;                                                 \
-     snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix,       \
-              apiname);                                          \
-     if (fwrite(buf, strlen(buf), 1, header_fd) != 1)            \
-       goto err;                                                 \
-   } while (0)
-
-   if (description)
-     {
-       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
-       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-         goto err;
-     }
-
-   switch (parttype)
-     {
-      case EDJE_PART_TYPE_BOX:
-        TEMPLATE_NAME(PART_BOX_APPEND);
-        TEMPLATE_NAME(PART_BOX_PREPEND);
-        TEMPLATE_NAME(PART_BOX_INSERT_BEFORE);
-        TEMPLATE_NAME(PART_BOX_INSERT_AT);
-        TEMPLATE_NAME(PART_BOX_REMOVE);
-        TEMPLATE_NAME(PART_BOX_REMOVE_AT);
-        TEMPLATE_NAME(PART_BOX_REMOVE_ALL);
-        break;
-
-      case EDJE_PART_TYPE_TABLE:
-        TEMPLATE_NAME(PART_TABLE_PACK);
-        TEMPLATE_NAME(PART_TABLE_UNPACK);
-        TEMPLATE_NAME(PART_TABLE_CHILD_GET);
-        TEMPLATE_NAME(PART_TABLE_CLEAR);
-        TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET);
-        break;
-
-      case EDJE_PART_TYPE_TEXT:
-        TEMPLATE_NAME(PART_TEXT_SET);
-        TEMPLATE_NAME(PART_TEXT_GET);
-        break;
-
-      case EDJE_PART_TYPE_SWALLOW:
-        TEMPLATE_NAME(PART_SWALLOW_SET);
-        TEMPLATE_NAME(PART_SWALLOW_GET);
-        break;
-
-      default:
-        break;
-     }
-
-   if (draggable)
-     if (!_write_part_draggable(apiname, partname))
-       goto err;
-
-#undef TEMPLATE_NAME
-
-   return EINA_TRUE;
-
- err:
-   ERR("Could not write the part: %s", partname);
-   return EINA_FALSE;
-}
-
-static inline Eina_Bool
-_c_id_allowed(char c)
-{
-   if ((c >= '0') && (c <= '9')) return EINA_TRUE;
-   if ((c >= 'a') && (c <= 'z')) return EINA_TRUE;
-   if ((c >= 'A') && (c <= 'Z')) return EINA_TRUE;
-
-   return EINA_FALSE;
-}
-
-static char *
-_api_name_fix(const char *orig)
-{
-   char *d, *d_end, buf[256];
-   const char *s;
-
-   if (!orig) return NULL;
-
-   s = orig;
-   d = buf;
-   d_end = d + sizeof(buf) - 1;
-
-   for (; (*s != '\0') && (d < d_end); s++, d++)
-     if (_c_id_allowed(*s)) *d = *s;
-     else *d = '_';
-   *d = '\0';
-
-   return strdup(buf);
-}
-
-static char *
-_part_api_name_get(Evas_Object *ed, const char *program)
-{
-   const char *orig;
-   char *fix;
-
-   orig = edje_edit_part_api_name_get(ed, program);
-   fix = _api_name_fix(orig);
-   edje_edit_string_free(orig);
-
-   return fix;
-}
-
-static Eina_Bool
-_parse_parts(Evas_Object *ed)
-{
-   Eina_List *parts, *l, *parts_external = NULL;
-   const char *name, *description;
-   char *apiname;
-   Edje_Part_Type type;
-   Eina_Bool draggable, ret = EINA_TRUE;
-   Part_External_Info *ei;
-
-   parts = edje_edit_parts_list_get(ed);
-   EINA_LIST_FOREACH(parts, l, name)
-     {
-       if (!(apiname = _part_api_name_get(ed, name)))
-         {
-            DBG("filter out part '%s': not API.", name);
-            continue;
-         }
-
-       type = edje_edit_part_type_get(ed, name);
-       if (!((type == EDJE_PART_TYPE_TEXT)      ||
-             (type == EDJE_PART_TYPE_SWALLOW)   ||
-             (type == EDJE_PART_TYPE_BOX)       ||
-             (type == EDJE_PART_TYPE_EXTERNAL)  ||
-             (type == EDJE_PART_TYPE_IMAGE)     ||
-             (type == EDJE_PART_TYPE_TABLE)))
-         {
-            ERR("Invalid part type %d", type);
-            free(apiname);
-            continue;
-         }
-        if (edje_edit_part_drag_x_get(ed, name) ||
-            edje_edit_part_drag_y_get(ed, name))
-         draggable = EINA_TRUE;
-        else
-         draggable = EINA_FALSE;
-
-       description = edje_edit_part_api_description_get(ed, name);
-       if (type == EDJE_PART_TYPE_EXTERNAL)
-         {
-            ei = calloc(1, sizeof(Part_External_Info));
-            if (!ei) goto end;
-            ei->description = description;
-            ei->source = edje_edit_part_source_get(ed, name);
-            ei->apiname = apiname;
-            ei->name = name;
-            ei->draggable = draggable;
-
-            parts_external = eina_list_append(parts_external, ei);
-         }
-       else
-         {
-            if (!_write_part(apiname, name, type, description, draggable))
-              {
-                 ret = EINA_FALSE;
-                 edje_edit_string_free(description);
-                 free(apiname);
-                 goto end;
-              }
-
-            edje_edit_string_free(description);
-            free(apiname);
-         }
-     }
-
-   ret = _write_part_external(&parts_external);
-
- end:
-   edje_edit_string_list_free(parts);
-   EINA_LIST_FREE(parts_external, ei)
-     {
-       edje_edit_string_free(ei->description);
-       free(ei->apiname);
-       free(ei);
-     }
-
-   return ret;
-}
-
-static Eina_Bool
-_write_program_emit(const char *apiname, const char *source, const char *signal,
-                   const char *description)
-{
-   char buf[512];
-
-   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_EMIT, prefix,
-           apiname, signal, source);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-     goto err;
-
-   if (description)
-     {
-       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
-       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-         goto err;
-     }
-
-   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_EMIT, prefix,
-           apiname);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     goto err;
-
-   return EINA_TRUE;
-
- err:
-   ERR("Could not write the program: %s", apiname);
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_write_program_add(const char *apiname, const char *source, const char *signal,
-                  const char *description)
-{
-  char buf[512];
-
-   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_ADD, prefix,
-           apiname, signal, source);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-     goto err;
-
-   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_DEL, prefix,
-           apiname, signal, source);
-   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
-     goto err;
-
-   if (description)
-     {
-       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
-       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-         goto err;
-     }
-
-   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_ADD, prefix,
-           apiname);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     goto err;
-
-   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_DEL, prefix,
-           apiname);
-   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
-     goto err;
-
-   return EINA_TRUE;
-
- err:
-   ERR("Could not write the program [action]: %s", apiname);
-   return EINA_FALSE;
-}
-
-static char *
-_program_api_name_get(Evas_Object *ed, const char *program)
-{
-   const char *orig;
-   char *fix;
-
-   orig = edje_edit_program_api_name_get(ed, program);
-   fix = _api_name_fix(orig);
-   edje_edit_string_free(orig);
-
-   return fix;
-}
-
-static Eina_Bool
-_parse_programs(Evas_Object *ed)
-{
-   Eina_Bool ret = EINA_TRUE;
-   Eina_List *programs, *l;
-   const char *name, *source = NULL, *signal = NULL, *description;
-   char *apiname;
-   Edje_Action_Type type;
-
-   programs = edje_edit_programs_list_get(ed);
-   EINA_LIST_FOREACH(programs, l, name)
-     {
-       if (!(apiname = _program_api_name_get(ed, name)))
-         {
-            DBG("filter out program '%s': not API.", name);
-            continue;
-         }
-
-       description = edje_edit_program_api_description_get(ed, name);
-       type = edje_edit_program_action_get(ed, name);
-       if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT)
-         {
-            const char *str, *str2;
-            str = edje_edit_program_state_get(ed, name);
-            str2 = edje_edit_program_state2_get(ed, name);
-
-            if (!_write_program_add(apiname, str2, str, description))
-              {
-                 ret = EINA_FALSE;
-                 edje_edit_string_free(str);
-                 edje_edit_string_free(str2);
-                 break;
-              }
-
-            edje_edit_string_free(str);
-            edje_edit_string_free(str2);
-         }
-
-       signal = edje_edit_program_signal_get(ed, name);
-       if (!signal)
-         {
-            free(apiname);
-            edje_edit_string_free(description);
-            continue;
-         }
-
-       source = edje_edit_program_source_get(ed, name);
-       if (!source)
-         {
-            free(apiname);
-            edje_edit_string_free(signal);
-            edje_edit_string_free(description);
-            continue;
-         }
-
-       if (!_write_program_emit(apiname, source, signal, description))
-         {
-            ret = EINA_FALSE;
-            break;
-         }
-
-       edje_edit_string_free(description);
-       edje_edit_string_free(signal);
-       edje_edit_string_free(source);
-       free(apiname);
-     }
-
-   edje_edit_string_list_free(programs);
-   if (!ret)
-     {
-       edje_edit_string_free(description);
-       edje_edit_string_free(signal);
-       edje_edit_string_free(source);
-       free(apiname);
-     }
-
-   return ret;
-}
-
-static Eina_Bool
-_module_matches(const char *module)
-{
-   Eina_List *l;
-   const char *name;
-
-   EINA_LIST_FOREACH(externals, l, name)
-     {
-       if (!strcmp(module, name))
-         return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_parse(void)
-{
-   Evas_Object *ed;
-   Eina_Bool ret;
-   const char *module_name;
-   const Eina_List *modules_available, *l;
-   unsigned short modules_loaded = 0;
-
-   modules_available = edje_available_modules_get();
-   ed = edje_edit_object_add(ecore_evas_get(ee));
-   if (!edje_object_file_set(ed, file, group))
-     {
-       Edje_Load_Error err = edje_object_load_error_get(ed);
-       const char *errmsg = edje_load_error_str(err);
-       ERR("could not load group '%s' from file '%s': %s",
-           group, file, errmsg);
-       evas_object_del(ed);
-       return EINA_FALSE;
-     }
-
-   externals = edje_edit_externals_list_get(ed);
-   if (externals)
-     {
-       EINA_LIST_FOREACH(modules_available, l, module_name)
-         {
-            if (_module_matches(module_name))
-              {
-                 if (!edje_module_load(module_name))
-                   {
-                      ERR("error loading external '%s'", module_name);
-                      continue;
-                   }
-                 modules_loaded++;
-              }
-         }
-     }
-
-   if (eina_list_count(externals) != modules_loaded)
-     {
-       edje_edit_string_list_free(externals);
-       evas_object_del(ed);
-       return EINA_FALSE;
-     }
-
-   ret = _parse_parts(ed) && _parse_programs(ed);
-
-   evas_object_del(ed);
-   return ret;
-}
-
-int
-main(int argc, char *argv[])
-{
-   Eina_Bool quit_option = EINA_FALSE;
-   char *source, *header;
-   int arg_index, ret = 0;
-   Ecore_Getopt_Value values[] = {
-     ECORE_GETOPT_VALUE_STR(prefix),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_NONE
-   };
-
-   setlocale(LC_NUMERIC, "C");
-
-   eina_init();
-   ecore_init();
-   ecore_evas_init();
-   edje_init();
-
-   if (argc < 2)
-     {
-        fprintf(stderr, "Missing action. See '--help or -h'.\n");
-        ret = 1;
-       goto error_log;
-     }
-
-   _log_dom = eina_log_domain_register("edje_codegen", EINA_COLOR_YELLOW);
-   if (_log_dom < 0)
-     {
-        EINA_LOG_CRIT("could not register log domain 'edje_codegen'");
-        ret = 1;
-        goto error_log;
-     }
-
-   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
-   if (arg_index < 0)
-     {
-        ERR("could not parse arguments.");
-        ret = 1;
-        goto error_getopt;
-     }
-   else if (quit_option) goto error_getopt;
-   else if (arg_index != argc - 4)
-     {
-        fprintf(stderr, "Incorrect number of parameters. Requires "    \
-               "fours arguments, an edje, the group, "                 \
-               "the source output (foo.c) and the header(foo.h).\n"    \
-               "See %s --help\n", argv[0]);
-        ret = 1;
-        goto error_getopt;
-     }
-
-   file = argv[arg_index++];
-
-   // check if the file is accessible
-   if (access(file, R_OK) == -1)
-     {
-        ERR("File '%s' not accessible, error %d (%s).\n",
-            file, errno, strerror(errno));
-        ret = 1;
-        goto error_getopt;
-     }
-
-   group = argv[arg_index++];
-   source = argv[arg_index++];
-   header = argv[arg_index++];
-
-   if (!edje_file_group_exists(file, group))
-     {
-       ERR("The group %s not exists", group);
-       ret = 2;
-       goto error_getopt;
-     }
-
-   ee = ecore_evas_buffer_new(1, 1);
-   if (!ee)
-     {
-       ERR("could not create ecore_evas_buffer");
-       ret = 3;
-       goto error_getopt;
-     }
-
-   if (!_open_file_descriptors(source, header))
-     {
-       ERR("Could not create the source files, error %d (%s)",
-           errno, strerror(errno));
-       ret = 4;
-       goto error_getopt;
-     }
-
-   if (!_write_headers(header))
-     {
-       ERR("Could not write the header, error %d (%s)",
-           errno, strerror(errno));
-       ret = 5;
-       goto error_getopt;
-     }
-
-   if (!_write_object_get())
-     {
-       ERR("Could not write the object get, error %d (%s)",
-           errno, strerror(errno));
-       ret = 6;
-       goto error_getopt;
-     }
-
-   if (!_parse())
-     {
-       ERR("Could not parsing the EDJE");
-       ret = 7;
-       goto error_getopt;
-     }
-
-   if (!_write_footer(header))
-     {
-       ERR("Could not write the footer, error %d (%s)",
-           errno, strerror(errno));
-       ret = 8;
-       goto error_getopt;
-     }
-
-   if (!_close_file_descriptors())
-     {
-       ERR("Could not close the source files, error %d (%s)",
-           errno, strerror(errno));
-       ret = 9;
-     }
-
- error_getopt:
-   if (ee)
-     ecore_evas_free(ee);
-
- error_log:
-   edje_shutdown();
-   ecore_evas_shutdown();
-   ecore_shutdown();
-   eina_log_domain_unregister(_log_dom);
-   eina_shutdown();
-
-   if (ret > 4)
-     {
-       unlink(header);
-       unlink(source);
-     }
-
-   return ret;
-}
diff --git a/legacy/edje/src/bin/edje_convert.c b/legacy/edje/src/bin/edje_convert.c
deleted file mode 100644 (file)
index bd6cf31..0000000
+++ /dev/null
@@ -1,459 +0,0 @@
-#include "edje_private.h"
-
-#include "edje_cc.h"
-#include "edje_convert.h"
-
-static const Edje_File *_current_edje_file = NULL;
-
-const Edje_File *
-_edje_file_get(void)
-{
-   return _current_edje_file;
-}
-
-void
-_edje_file_set(const Edje_File *edf)
-{
-   _current_edje_file = edf;
-}
-
-static Eina_Bool
-_edje_file_convert_external(Edje_File *edf, Old_Edje_File *oedf)
-{
-   Edje_External_Directory_Entry *ede;
-   unsigned int max;
-   unsigned int i = 0;
-
-   edf->external_dir = calloc(1, sizeof (Edje_External_Directory));
-   if (!edf->external_dir) return EINA_FALSE;
-   if (!oedf->external_dir) return EINA_TRUE;
-
-   max = eina_list_count(oedf->external_dir->entries);
-   edf->external_dir->entries = calloc(1, sizeof (Edje_External_Directory_Entry) * max);
-   edf->external_dir->entries_count = max;
-
-   if (!edf->external_dir->entries && max)
-     return EINA_FALSE;
-
-   EINA_LIST_FREE(oedf->external_dir->entries, ede)
-     {
-       edf->external_dir->entries[i++].entry = ede->entry;
-       free(ede);
-     }
-
-   free(oedf->external_dir);
-   oedf->external_dir = NULL;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf)
-{
-   Edje_Image_Directory_Entry *de;
-   Edje_Image_Directory_Set *ds;
-   Eina_List *l;
-   int max;
-
-   edf->image_dir = calloc(1, sizeof (Edje_Image_Directory));
-   if (!edf->image_dir) return EINA_FALSE;
-   if (!oedf->image_dir) return EINA_TRUE;
-
-   max = -1;
-   EINA_LIST_FOREACH(oedf->image_dir->entries, l, de)
-     if (max < de->id)
-       max = de->id;
-
-   edf->image_dir->entries = calloc(1, sizeof (Edje_Image_Directory_Entry) * (max + 1));
-   edf->image_dir->entries_count = max + 1;
-
-   if (!edf->image_dir->entries && edf->image_dir->entries_count)
-     return EINA_FALSE;
-
-   EINA_LIST_FREE(oedf->image_dir->entries, de)
-     {
-       memcpy(edf->image_dir->entries + de->id,
-              de,
-              sizeof (Edje_Image_Directory_Entry));
-       free(de);
-     }
-
-   max = -1;
-   EINA_LIST_FOREACH(oedf->image_dir->sets, l, ds)
-     if (max < ds->id)
-       max = ds->id;
-
-   edf->image_dir->sets = calloc(1, sizeof (Edje_Image_Directory_Set) * (max + 1));
-   edf->image_dir->sets_count = max + 1;
-
-   if (!edf->image_dir->sets && edf->image_dir->sets_count)
-     {
-       free(edf->image_dir->entries);
-       edf->image_dir->entries = NULL;
-       return EINA_FALSE;
-     }
-
-   EINA_LIST_FREE(oedf->image_dir->sets, ds)
-     {
-       memcpy(edf->image_dir->sets + ds->id,
-              ds,
-              sizeof (Edje_Image_Directory_Set));
-       free(ds);
-     }
-
-   return EINA_TRUE;
-}
-
-Edje_File *
-_edje_file_convert(Eet_File *ef, Old_Edje_File *oedf)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Font_Directory_Entry *fnt;
-   Edje_File *edf;
-   Eina_List *l;
-   Old_Edje_Data *ed;
-
-   if (oedf->version < 2) return NULL;
-
-   edf = calloc(1, sizeof (Edje_File));
-   if (!edf) return NULL;
-
-   edf->free_strings = 0;
-
-   edf->fonts = eina_hash_string_small_new(free);
-   edf->collection = eina_hash_string_small_new(free);
-   edf->data = eina_hash_string_small_new(free);
-
-   if (!edf->fonts || !edf->collection || !edf->data)
-     goto on_error;
-
-   EINA_LIST_FREE(oedf->data, ed)
-     {
-       Edje_String *es;
-
-       es = calloc(1, sizeof (Edje_String));
-       if (!es) continue;
-
-       es->str = ed->value;
-
-       eina_hash_direct_add(edf->data, ed->key, es);
-       free(ed);
-     }
-
-   EINA_LIST_FOREACH(oedf->collection_dir->entries, l, ce)
-     if (ce->entry)
-       eina_hash_direct_add(edf->collection, ce->entry, ce);
-     else
-       error_and_abort(ef, "Collection %i: name missing.\n", ce->id);
-
-   if (oedf->font_dir)
-     EINA_LIST_FOREACH(oedf->font_dir->entries, l, fnt)
-        eina_hash_direct_add(edf->fonts, fnt->entry, fnt);
-
-   if (!_edje_file_convert_images(edf, oedf))
-     goto on_error;
-
-   if (!_edje_file_convert_external(edf, oedf))
-     goto on_error;
-
-   edf->styles = oedf->styles;
-   edf->color_classes = oedf->color_classes;
-   edf->version = EDJE_FILE_VERSION;
-   edf->feature_ver = oedf->feature_ver;
-   edf->compiler = oedf->compiler;
-
-   edf->dangling = EINA_FALSE;
-   edf->warning = EINA_FALSE;
-
-   /* Below you will find all memory structure that could be cleaned when under
-      memory pressure */
-   edf->collection_cache = NULL;
-   edf->collection_patterns = NULL;
-
-   return edf;
-
- on_error:
-   eina_hash_free(edf->fonts);
-   eina_hash_free(edf->collection);
-   eina_hash_free(edf->data);
-   free(edf->image_dir);
-   free(edf->external_dir);
-   free(edf);
-   return NULL;
-}
-
-static void
-_edje_collection_program_add(Edje_Program ***array,
-                            unsigned int *count,
-                            Edje_Program *add)
-{
-   Edje_Program **tmp;
-
-   tmp = realloc(*array, sizeof (Edje_Program*) * (*count + 1));
-   if (!tmp) return ;
-
-   tmp[(*count)++] = add;
-   *array = tmp;
-}
-
-Edje_Part_Collection *
-_edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, Old_Edje_Part_Collection *oedc)
-{
-   Edje_Part_Collection *edc;
-   Old_Edje_Part *part;
-   Edje_Program *pg;
-   Old_Edje_Data *di;
-   Eina_List *l;
-   char *buffer;
-   unsigned int k;
-
-   oedc->part = ce->entry;
-
-   /* Count each type part and their respective state */
-   EINA_LIST_FOREACH(oedc->parts, l, part)
-     {
-       int *count;
-       int dummy = 0;
-
-
-       switch (part->type)
-         {
-#define CSP(Tp, Ce)                                            \
-            case EDJE_PART_TYPE_##Tp :                         \
-               count = &Ce->count.Tp;                          \
-               break;
-
-            CSP(RECTANGLE, ce);
-            CSP(TEXT, ce);
-            CSP(IMAGE, ce);
-            CSP(SWALLOW, ce);
-            CSP(TEXTBLOCK, ce);
-            CSP(GROUP, ce);
-            CSP(BOX, ce);
-            CSP(TABLE, ce);
-            CSP(EXTERNAL, ce);
-          default:
-             count = &dummy;
-             break;
-         }
-
-       *count += eina_list_count(part->other_desc) + 1;
-     }
-   ce->count.part = eina_list_count(oedc->parts);
-
-#define CONVERT_EMN(Tp, Sz, Ce)                                                \
-   buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2);               \
-   sprintf(buffer, "%s/%s", ce->entry, #Tp);                           \
-   Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp);
-
-   CONVERT_EMN(RECTANGLE, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(TEXT, Edje_Part_Description_Text, ce);
-   CONVERT_EMN(IMAGE, Edje_Part_Description_Image, ce);
-   CONVERT_EMN(SWALLOW, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(TEXTBLOCK, Edje_Part_Description_Text, ce);
-   CONVERT_EMN(GROUP, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(BOX, Edje_Part_Description_Box, ce);
-   CONVERT_EMN(TABLE, Edje_Part_Description_Table, ce);
-   CONVERT_EMN(EXTERNAL, Edje_Part_Description_External, ce);
-   CONVERT_EMN(part, Edje_Part, ce);
-
-   /* Change structure layout */
-   edc = calloc(1, sizeof (Edje_Part_Collection));
-   if (!edc) error_and_abort(ef, "Not enough memory");
-   ce->ref = edc;
-
-   EINA_LIST_FREE(oedc->programs, pg)
-     {
-       if (!pg->signal && !pg->source)
-         _edje_collection_program_add(&edc->programs.nocmp,
-                                      &edc->programs.nocmp_count,
-                                      pg);
-       else if (pg->signal && !strpbrk(pg->signal, "*?[\\")
-                && pg->source && !strpbrk(pg->source, "*?[\\"))
-         _edje_collection_program_add(&edc->programs.strcmp,
-                                      &edc->programs.strcmp_count,
-                                      pg);
-       else if (pg->signal && edje_program_is_strncmp(pg->signal)
-                && pg->source && edje_program_is_strncmp(pg->source))
-         _edje_collection_program_add(&edc->programs.strncmp,
-                                      &edc->programs.strncmp_count,
-                                      pg);
-       else if (pg->signal && edje_program_is_strrncmp(pg->signal)
-                && pg->source && edje_program_is_strrncmp(pg->source))
-         _edje_collection_program_add(&edc->programs.strrncmp,
-                                      &edc->programs.strrncmp_count,
-                                      pg);
-       else
-         _edje_collection_program_add(&edc->programs.fnmatch,
-                                      &edc->programs.fnmatch_count,
-                                      pg);
-     }
-
-   edc->data = eina_hash_string_small_new(NULL);
-   EINA_LIST_FREE(oedc->data, di)
-     {
-       Edje_String *es;
-
-       es = calloc(1, sizeof (Edje_String));
-       if (!es) continue ;
-
-       es->str = di->value;
-
-       eina_hash_direct_add(edc->data, di->key, es);
-       free(di);
-     }
-
-   edc->parts_count = eina_list_count(oedc->parts);
-   edc->parts = calloc(edc->parts_count, sizeof (Edje_Part *));
-   if (edc->parts_count && !edc->parts)
-     error_and_abort(ef, "Not enough memory");
-   k = 0;
-
-   EINA_LIST_FREE(oedc->parts, part)
-     {
-       Old_Edje_Part_Description *oepd;
-       Edje_Pack_Element *elm;
-       Edje_Part *replacement;
-       unsigned int i;
-
-       replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part));
-       if (!replacement)
-         error_and_abort(ef, "Not enough memory");
-
-       replacement->name = part->name;
-       replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc);
-
-       replacement->other.desc_count = eina_list_count(part->other_desc);
-       replacement->other.desc = calloc(replacement->other.desc_count, sizeof (Edje_Part_Description_Common*));
-
-       i = 0;
-       EINA_LIST_FREE(part->other_desc, oepd)
-         replacement->other.desc[i++] = _edje_description_convert(part->type, ce, oepd);
-
-       replacement->source = part->source;
-       replacement->source2 = part->source2;
-       replacement->source3 = part->source3;
-       replacement->source4 = part->source4;
-       replacement->source5 = part->source5;
-       replacement->source6 = part->source6;
-       replacement->id = part->id;
-       replacement->clip_to_id = part->clip_to_id;
-       replacement->dragable = part->dragable;
-       replacement->items_count = eina_list_count(part->items);
-       replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element*));
-
-       i = 0;
-       EINA_LIST_FREE(part->items, elm)
-         replacement->items[i++] = elm;
-
-       replacement->type = part->type;
-       replacement->effect = part->effect;
-       replacement->mouse_events = part->mouse_events;
-       replacement->repeat_events = part->repeat_events;
-       replacement->ignore_flags = part->ignore_flags;
-       replacement->scale = part->scale;
-       replacement->precise_is_inside = part->precise_is_inside;
-       replacement->use_alternate_font_metrics = part->use_alternate_font_metrics;
-       replacement->pointer_mode = part->pointer_mode;
-       replacement->entry_mode = part->entry_mode;
-       replacement->select_mode = part->select_mode;
-       replacement->multiline = part->multiline;
-       replacement->api = part->api;
-
-       edc->parts[k++] = replacement;
-
-       free(part);
-     }
-
-   edc->id = oedc->id;
-   edc->alias = oedc->alias;
-   edc->prop.min = oedc->prop.min;
-   edc->prop.max = oedc->prop.max;
-   edc->script = oedc->script;
-   edc->part = oedc->part;
-   edc->script_only = oedc->script_only;
-   edc->lua_script_only = oedc->lua_script_only;
-   edc->checked = oedc->checked;
-
-   free(oedc);
-
-   return edc;
-}
-
-Edje_Part_Description_Common*
-_edje_description_convert(int type,
-                         Edje_Part_Collection_Directory_Entry *ce,
-                         Old_Edje_Part_Description *oed)
-{
-   Edje_Part_Description_Common *result = NULL;
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_RECTANGLE:
-        result = eina_mempool_malloc(ce->mp.RECTANGLE,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-      case EDJE_PART_TYPE_SWALLOW:
-        result = eina_mempool_malloc(ce->mp.SWALLOW,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-      case EDJE_PART_TYPE_GROUP:
-        result = eina_mempool_malloc(ce->mp.GROUP,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-
-      case EDJE_PART_TYPE_IMAGE:
-       {
-          Edje_Part_Description_Image *img;
-          Edje_Part_Image_Id *id;
-          unsigned int i = 0;
-
-          img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image));
-
-          img->image.tweens_count = eina_list_count(oed->image.tween_list);
-          img->image.tweens = calloc(img->image.tweens_count,
-                                     sizeof (Edje_Part_Image_Id*));
-          if (img->image.tweens_count > 0 && !img->image.tweens)
-            {
-               eina_mempool_free(ce->mp.IMAGE, img);
-               return NULL;
-            }
-
-          EINA_LIST_FREE(oed->image.tween_list, id)
-            img->image.tweens[i++] = id;
-
-          img->image.id = oed->image.id;
-          img->image.scale_hint = oed->image.scale_hint;
-          img->image.set = oed->image.set;
-
-          img->image.border = oed->image.border;
-          img->image.fill = oed->image.fill;
-
-          result = &img->common;
-          break;
-       }
-
-#define CONVERT_ALLOC_POOL(Short, Type, Name)                          \
-        case EDJE_PART_TYPE_##Short:                                   \
-          {                                                            \
-             Edje_Part_Description_##Type *Name;                       \
-                                                                       \
-             Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \
-             Name->Name = oed->Name;                                   \
-             result = &Name->common;                                   \
-             break;                                                    \
-          }
-
-        CONVERT_ALLOC_POOL(TEXT, Text, text);
-        CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text);
-        CONVERT_ALLOC_POOL(BOX, Box, box);
-        CONVERT_ALLOC_POOL(TABLE, Table, table);
-        CONVERT_ALLOC_POOL(EXTERNAL, External, external_params);
-     }
-
-   if (result)
-     *result = oed->common;
-
-   free(oed);
-   return result;
-}
diff --git a/legacy/edje/src/bin/edje_convert.h b/legacy/edje/src/bin/edje_convert.h
deleted file mode 100644 (file)
index 0bbb38e..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef EDJE_CONVERT_H__
-# define EDJE_CONVERT_H__
-
-
-typedef struct _Old_Edje_File                  Old_Edje_File;
-typedef struct _Old_Edje_Image_Directory       Old_Edje_Image_Directory;
-typedef struct _Old_Edje_Font_Directory         Old_Edje_Font_Directory;
-typedef struct _Old_Edje_External_Directory    Old_Edje_External_Directory;
-typedef struct _Old_Edje_Part                  Old_Edje_Part;
-typedef struct _Old_Edje_Part_Collection       Old_Edje_Part_Collection;
-typedef struct _Old_Edje_Part_Collection_Directory Old_Edje_Part_Collection_Directory;
-typedef struct _Old_Edje_Part_Description       Old_Edje_Part_Description;
-typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image;
-typedef struct _Old_Edje_Data                   Old_Edje_Data;
-
-struct _Old_Edje_Data
-{
-   const char *key;
-   char *value;
-};
-
-/*----------*/
-
-struct _Old_Edje_Font_Directory
-{
-   Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
-};
-
-struct _Old_Edje_Image_Directory
-{
-   Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
-   Eina_List *sets; /* a list of Edje_Image_Directory_Set */
-};
-
-struct _Old_Edje_External_Directory
-{
-   Eina_List *entries; /* a list of Edje_External_Directory_Entry */
-};
-
-struct _Old_Edje_File
-{
-   const char                     *path;
-   time_t                          mtime;
-
-   Old_Edje_External_Directory    *external_dir;
-   Old_Edje_Font_Directory        *font_dir;
-   Old_Edje_Image_Directory       *image_dir;
-   Old_Edje_Part_Collection_Directory *collection_dir;
-   Eina_List                      *data;
-   Eina_List                      *styles;
-   Eina_List                      *color_classes;
-
-   const char                     *compiler;
-   int                             version;
-   int                             feature_ver;
-};
-
-struct _Old_Edje_Part_Collection
-{
-   Eina_List *programs; /* a list of Edje_Program */
-   Eina_List *parts; /* a list of Edje_Part */
-   Eina_List *data;
-
-   int        id; /* the collection id */
-
-   Eina_Hash *alias; /* aliasing part*/
-
-   struct {
-      Edje_Size min, max;
-   } prop;
-
-   int        references;
-#ifdef EDJE_PROGRAM_CACHE
-   struct {
-      Eina_Hash                   *no_matches;
-      Eina_Hash                   *matches;
-   } prog_cache;
-#endif
-
-   Embryo_Program   *script; /* all the embryo script code for this group */
-   const char       *part;
-
-   unsigned char    script_only;
-
-   unsigned char    lua_script_only;
-
-   unsigned char    checked : 1;
-};
-
-struct _Old_Edje_Part
-{
-   const char            *name; /* the name if any of the part */
-   Old_Edje_Part_Description *default_desc; /* the part descriptor for default */
-   Eina_List             *other_desc; /* other possible descriptors */
-   const char            *source, *source2, *source3, *source4, *source5, *source6;
-   int                    id; /* its id number */
-   int                    clip_to_id; /* the part id to clip this one to */
-   Edje_Part_Dragable     dragable;
-   Eina_List             *items; /* packed items for box and table */
-   unsigned char          type; /* what type (image, rect, text) */
-   unsigned char          effect; /* 0 = plain... */
-   unsigned char          mouse_events; /* it will affect/respond to mouse events */
-   unsigned char          repeat_events; /* it will repeat events to objects below */
-   Evas_Event_Flags       ignore_flags;
-   unsigned char          scale; /* should certain properties scale with edje scale factor? */
-   unsigned char          precise_is_inside;
-   unsigned char          use_alternate_font_metrics;
-   unsigned char          pointer_mode;
-   unsigned char          entry_mode;
-   unsigned char          select_mode;
-   unsigned char          multiline;
-   Edje_Part_Api         api;
-};
-
-struct _Old_Edje_Part_Description_Spec_Image
-{
-   Eina_List     *tween_list; /* list of Edje_Part_Image_Id */
-   int            id; /* the image id to use */
-   int            scale_hint; /* evas scale hint */
-   Eina_Bool      set; /* if image condition it's content */
-
-   Edje_Part_Description_Spec_Border border;
-   Edje_Part_Description_Spec_Fill   fill;
-};
-
-struct _Old_Edje_Part_Description
-{
-   Edje_Part_Description_Common common;
-   Old_Edje_Part_Description_Spec_Image image;
-   Edje_Part_Description_Spec_Text text;
-   Edje_Part_Description_Spec_Box box;
-   Edje_Part_Description_Spec_Table table;
-
-   Eina_List *external_params; /* parameters for external objects */
-};
-
-struct _Old_Edje_Part_Collection_Directory
-{
-   Eina_List *entries; /* a list of Edje_Part_Collection_Directory_Entry */
-
-   int        references;
-};
-
-Edje_File *_edje_file_convert(Eet_File *ef, Old_Edje_File *oedf);
-Edje_Part_Collection *_edje_collection_convert(Eet_File *ef,
-                                              Edje_Part_Collection_Directory_Entry *ce,
-                                              Old_Edje_Part_Collection *oedc);
-Edje_Part_Description_Common *_edje_description_convert(int type,
-                                                       Edje_Part_Collection_Directory_Entry *ce,
-                                                       Old_Edje_Part_Description *oed);
-const Edje_File *_edje_file_get(void);
-void _edje_file_set(const Edje_File *edf);
-
-#endif
diff --git a/legacy/edje/src/bin/edje_convert_main.c b/legacy/edje/src/bin/edje_convert_main.c
deleted file mode 100644 (file)
index e17d412..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <locale.h>
-#include <limits.h>
-#include <sys/stat.h>
-
-#include "edje_cc.h"
-#include "edje_convert.h"
-
-extern Eet_Data_Descriptor *_edje_edd_old_edje_file;
-extern Eet_Data_Descriptor *_edje_edd_old_edje_part_collection;
-
-void _edje_edd_old_shutdown(void);
-void _edje_edd_old_init(void);
-
-char *progname = NULL;
-int _edje_cc_log_dom = -1;
-
-void
-error_and_abort(Eet_File *ef, const char *fmt, ...)
-{
-   va_list ap;
-
-   va_start(ap, fmt);
-   eina_log_vprint(_edje_cc_log_dom, EINA_LOG_LEVEL_CRITICAL,
-                   "unknown", "unknown", 0, fmt, ap);
-   va_end(ap);
-   eet_close(ef);
-   exit(-1);
-}
-
-static void
-main_help(void)
-{
-   printf
-     ("Usage:\n"
-      "\t%s file.edj\n"
-      "\n"
-      ,progname);
-}
-
-static void
-_edje_alias_int(const char *target, Eet_File *ef, const char *base, const char *to)
-{
-   char buf[1024];
-   char **match;
-   int count;
-   int i;
-
-   snprintf(buf, sizeof (buf), "%s/*", base);
-   match = eet_list(ef, buf, &count);
-
-   snprintf(buf, sizeof (buf), "%s/", base);
-   strcat(buf, "%i");
-   for (i = 0; i < count && match; ++i)
-     {
-       char name[1024];
-       int id;
-
-       if (sscanf(match[i], buf, &id) != 1)
-         {
-            EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target);
-            continue ;
-         }
-
-       snprintf(name, sizeof (name), "%s/%i", to, id);
-       eet_alias(ef, name, match[i], 1);
-     }
-   free(match);
-}
-
-static void
-_edje_alias_string(const char *target, Eet_File *ef, const char *base, const char *to)
-{
-   char buf[1024];
-   char **match;
-   int count;
-   int i;
-
-   snprintf(buf, sizeof (buf), "%s/*", base);
-   match = eet_list(ef, buf, &count);
-
-   snprintf(buf, sizeof (buf), "%s/", base);
-   strcat(buf, "%s");
-   for (i = 0; i < count && match; ++i)
-     {
-       char name[1024];
-       char id[1024];
-
-       if (sscanf(match[i], buf, &id) != 1)
-         {
-            EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target);
-            continue ;
-         }
-
-       snprintf(name, sizeof (name), "%s/%s", to, id);
-       eet_alias(ef, name, match[i], 1);
-     }
-   free(match);
-}
-
-int
-main(int argc, char **argv)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Old_Edje_File *oef;
-   Edje_File *nef;
-   Eina_Iterator *it;
-   Eet_File *ef;
-
-   setlocale(LC_NUMERIC, "C");
-
-   if (!eina_init())
-     return -1;
-
-   _edje_cc_log_dom = eina_log_domain_register
-     ("edje_convert", EDJE_CC_DEFAULT_LOG_COLOR);
-   if (_edje_cc_log_dom < 0)
-     {
-       EINA_LOG_ERR("Enable to create a log domain.");
-       exit(-1);
-     }
-
-   eet_init();
-
-   progname = argv[0];
-   if (argc > 2 || argc < 2 || !strcmp(argv[1], "-h"))
-     {
-       main_help();
-       return 0;
-     }
-
-   _edje_edd_old_init();
-   _edje_edd_init();
-
-   ef = eet_open(argv[1], EET_FILE_MODE_READ_WRITE);
-   if (!ef)
-     {
-       EINA_LOG_ERR("Unable to open `%s'.", argv[1]);
-       return -1;
-     }
-
-   oef = eet_data_read(ef, _edje_edd_old_edje_file, "edje_file");
-   if (!oef)
-     {
-       EINA_LOG_ERR("Unable to get edje_file section from old file format, are you sure it's an old file ?");
-       return -1;
-     }
-
-   nef = _edje_file_convert(ef, oef);
-   _edje_file_set(nef);
-
-   /* convert old structure to new one */
-   it = eina_hash_iterator_data_new(nef->collection);
-
-   EINA_ITERATOR_FOREACH(it, ce)
-     {
-       Old_Edje_Part_Collection *opc;
-       Edje_Part_Collection *npc;
-       char buf[1024];
-       int bytes = 0;
-
-       snprintf(buf, sizeof (buf), "collections/%i", ce->id);
-       opc = eet_data_read(ef, _edje_edd_old_edje_part_collection, buf);
-       if (!opc)
-         {
-            EINA_LOG_ERR("Unable to find collection `%s'[%i] in `%s'.", ce->entry, ce->id, argv[1]);
-            return -1;
-         }
-
-       npc = _edje_collection_convert(ef, ce, opc);
-
-       snprintf(buf, sizeof (buf), "edje/collections/%i", ce->id);
-       bytes = eet_data_write(ef, _edje_edd_edje_part_collection, buf, npc, 1);
-       if (bytes <= 0)
-         {
-            EINA_LOG_ERR("Unable to save `%s' in section `%s' of `%s'.", ce->entry, buf, argv[1]);
-            return -1;
-         }
-     }
-
-   if (eet_data_write(ef, _edje_edd_edje_file, "edje/file", nef, 1) <= 0)
-     {
-       EINA_LOG_ERR("Unable to save main section of `%s'.", argv[1]);
-       return -1;
-     }
-
-   _edje_alias_string(argv[1], ef, "fonts", "edje/fonts");
-   _edje_alias_int(argv[1], ef, "images", "edje/images");
-   _edje_alias_int(argv[1], ef, "scripts", "edje/scripts/embryo/compiled");
-   _edje_alias_int(argv[1], ef, "lua_script", "edje/scripts/lua");
-
-   eet_close(ef);
-
-   _edje_edd_shutdown();
-   _edje_edd_old_shutdown();
-
-   eet_shutdown();
-   eina_shutdown();
-
-   return 0;
-}
diff --git a/legacy/edje/src/bin/edje_data_convert.c b/legacy/edje/src/bin/edje_data_convert.c
deleted file mode 100644 (file)
index 5fb129e..0000000
+++ /dev/null
@@ -1,451 +0,0 @@
-#include "edje_private.h"
-#include "edje_convert.h"
-
-Eet_Data_Descriptor *_edje_edd_old_edje_file = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_style = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_style_tag = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_color_class = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_data = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_external_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_external_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_font_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_font_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_image_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_set = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_set_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_program = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_program_target = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_program_after = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part_collection_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part_collection_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_pack_element = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part_collection = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part_description = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_part_image_id = NULL;
-Eet_Data_Descriptor *_edje_edd_old_edje_external_param = NULL;
-
-#define FREED(eed) \
-   if (eed) \
-   { \
-      eet_data_descriptor_free((eed)); \
-      (eed) = NULL; \
-   }
-
-void
-_edje_edd_old_shutdown(void)
-{
-   FREED(_edje_edd_old_edje_file);
-   FREED(_edje_edd_old_edje_style);
-   FREED(_edje_edd_old_edje_style_tag);
-   FREED(_edje_edd_old_edje_color_class);
-   FREED(_edje_edd_old_edje_data);
-   FREED(_edje_edd_old_edje_external_directory);
-   FREED(_edje_edd_old_edje_external_directory_entry);
-   FREED(_edje_edd_old_edje_font_directory);
-   FREED(_edje_edd_old_edje_font_directory_entry);
-   FREED(_edje_edd_old_edje_image_directory);
-   FREED(_edje_edd_old_edje_image_directory_entry);
-   FREED(_edje_edd_old_edje_program);
-   FREED(_edje_edd_old_edje_program_target);
-   FREED(_edje_edd_old_edje_program_after);
-   FREED(_edje_edd_old_edje_part_collection_directory);
-   FREED(_edje_edd_old_edje_part_collection_directory_entry);
-   FREED(_edje_edd_old_edje_pack_element);
-   FREED(_edje_edd_old_edje_part_collection);
-   FREED(_edje_edd_old_edje_part);
-   FREED(_edje_edd_old_edje_part_description);
-   FREED(_edje_edd_old_edje_part_image_id);
-   FREED(_edje_edd_old_edje_external_param);
-   FREED(_edje_edd_old_edje_image_directory_set);
-   FREED(_edje_edd_old_edje_image_directory_set_entry);
-}
-
-void
-_edje_edd_old_init(void)
-{
-   Eet_Data_Descriptor_Class eddc;
-
-   /* external directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory_Entry);
-   _edje_edd_old_edje_external_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_directory_entry, Edje_External_Directory_Entry, "entry", entry, EET_T_STRING);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_External_Directory",
-                                          sizeof (Old_Edje_External_Directory));
-   _edje_edd_old_edje_external_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_external_directory, Edje_External_Directory, "entries", entries, _edje_edd_old_edje_external_directory_entry);
-
-   /* font directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Font_Directory_Entry);
-   _edje_edd_old_edje_font_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_font_directory_entry, Edje_Font_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_font_directory_entry, Edje_Font_Directory_Entry, "file", file, EET_T_STRING);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_Font_Directory",
-                                          sizeof (Old_Edje_Font_Directory));
-   _edje_edd_old_edje_font_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_font_directory, Old_Edje_Font_Directory, "entries", entries, _edje_edd_old_edje_font_directory_entry);
-
-   /* image directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Entry);
-   _edje_edd_old_edje_image_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_type", source_type, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_param", source_param, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set_Entry);
-   _edje_edd_old_edje_image_directory_set_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.w", size.min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.h", size.min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.w", size.max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.h", size.max.h, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set);
-   _edje_edd_old_edje_image_directory_set =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set,  "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_old_edje_image_directory_set_entry);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_Image_Directory",
-                                          sizeof (Old_Edje_Image_Directory));
-   _edje_edd_old_edje_image_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory, Old_Edje_Image_Directory, "entries", entries, _edje_edd_old_edje_image_directory_entry);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory, Old_Edje_Image_Directory, "sets", sets, _edje_edd_old_edje_image_directory_set);
-
-   /* collection directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection_Directory_Entry);
-   _edje_edd_old_edje_part_collection_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "id", id, EET_T_INT);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_Part_Collection_Directory",
-                                          sizeof (Old_Edje_Part_Collection_Directory));
-   _edje_edd_old_edje_part_collection_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection_directory, Old_Edje_Part_Collection_Directory, "entries", entries, _edje_edd_old_edje_part_collection_directory_entry);
-
-   /* generic data attachment */
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_Data", sizeof (Old_Edje_Data));
-   _edje_edd_old_edje_data =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_data, Old_Edje_Data, "key", key, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_data, Old_Edje_Data, "value", value, EET_T_STRING);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style_Tag);
-   _edje_edd_old_edje_style_tag =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style_tag, Edje_Style_Tag, "key", key, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style_tag, Edje_Style_Tag, "value", value, EET_T_STRING);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style);
-   _edje_edd_old_edje_style =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style, Edje_Style, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_style, Edje_Style, "tags", tags, _edje_edd_old_edje_style_tag);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color_Class);
-   _edje_edd_old_edje_color_class =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r", r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g", g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b", b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a", a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r2", r2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g2", g2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b2", b2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a2", a2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r3", r3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g3", g3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b3", b3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a3", a3, EET_T_UCHAR);
-
-   /* the main file directory */
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                          "Edje_File", sizeof (Old_Edje_File));
-   _edje_edd_old_edje_file =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "compiler", compiler, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "version", version, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "feature_ver", feature_ver, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "external_dir", external_dir, _edje_edd_old_edje_external_directory);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "font_dir", font_dir, _edje_edd_old_edje_font_directory);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "image_dir", image_dir, _edje_edd_old_edje_image_directory);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "collection_dir", collection_dir, _edje_edd_old_edje_part_collection_directory);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "data", data, _edje_edd_old_edje_data);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "styles", styles, _edje_edd_old_edje_style);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "color_classes", color_classes, _edje_edd_old_edje_color_class);
-
-   /* parts & programs - loaded induvidually */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_Target);
-   _edje_edd_old_edje_program_target =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program_target, Edje_Program_Target, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_After);
-   _edje_edd_old_edje_program_after =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program_after,
-                                 Edje_Program_After, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program);
-   _edje_edd_old_edje_program =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "signal", signal, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "in.range", in.range, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "action", action, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "state", state, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "state2", state2, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "value", value, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "value2", value2, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "tween.mode", tween.mode, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "tween.time", tween.time, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_program, Edje_Program, "targets", targets, _edje_edd_old_edje_program_target);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_program, Edje_Program, "after", after, _edje_edd_old_edje_program_after);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "api.name", api.name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "api.description", api.description, EET_T_STRING);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "param.src", param.src, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id);
-   _edje_edd_old_edje_part_image_id =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_image_id, Edje_Part_Image_Id, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_image_id, Edje_Part_Image_Id, "set", set, EET_T_UCHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Param);
-   _edje_edd_old_edje_external_param =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "type", type, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "i", i, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "d", d, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "s", s, EET_T_STRING);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part_Description", sizeof (Old_Edje_Part_Description));
-   _edje_edd_old_edje_part_description =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "state.name", common.state.name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "state.value", common.state.value, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "visible", common.visible, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "align.x", common.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "align.y", common.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fixed.w", common.fixed.w, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fixed.h", common.fixed.h, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "min.w", common.min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "min.h", common.min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "max.w", common.max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "max.h", common.max.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "step.x", common.step.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "step.y", common.step.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.min", common.aspect.min, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.max", common.aspect.max, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.prefer", common.aspect.prefer, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.relative_x", common.rel1.relative_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.relative_y", common.rel1.relative_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.offset_x", common.rel1.offset_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.offset_y", common.rel1.offset_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.id_x", common.rel1.id_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.id_y", common.rel1.id_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.relative_x", common.rel2.relative_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.relative_y", common.rel2.relative_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.offset_x", common.rel2.offset_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.offset_y", common.rel2.offset_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.id_x", common.rel2.id_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.id_y", common.rel2.id_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.id", image.id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.set", image.set, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.tween_list", image.tween_list, _edje_edd_old_edje_part_image_id);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.l", image.border.l, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.r", image.border.r, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.t", image.border.t, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.b", image.border.b, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.no_fill", image.border.no_fill, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.scale", image.border.scale, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.smooth", image.fill.smooth, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_rel_x", image.fill.pos_rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_abs_x", image.fill.pos_abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.rel_x", image.fill.rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.abs_x", image.fill.abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_rel_y", image.fill.pos_rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_abs_y", image.fill.pos_abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.rel_y", image.fill.rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.abs_y", image.fill.abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.angle", image.fill.angle, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.spread", image.fill.spread, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.type", image.fill.type, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color_class", common.color_class, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.r", common.color.r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.g", common.color.g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.b", common.color.b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.a", common.color.a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.r", common.color2.r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.g", common.color2.g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.b", common.color2.b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.a", common.color2.a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.r", text.color3.r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.g", text.color3.g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.b", text.color3.b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.a", text.color3.a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.text", text.text.str, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.text_class", text.text_class, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.style", text.style.str, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.font", text.font.str, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.repch", text.repch.str, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.size", text.size, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.fit_x", text.fit_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.fit_y", text.fit_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.min_x", text.min_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.min_y", text.min_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.max_x", text.max_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.max_y", text.max_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.align.x", text.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.align.y", text.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.id_source", text.id_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.id_text_source", text.id_text_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.elipsis", text.elipsis, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.layout", box.layout, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.alt_layout", box.alt_layout, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.align.x", box.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.align.y", box.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.padding.x", box.padding.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.padding.y", box.padding.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.min.h", box.min.h, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.min.v", box.min.v, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.homogeneous", table.homogeneous, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.align.x", table.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.align.y", table.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.padding.x", table.padding.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.padding.y", table.padding.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.id_persp", common.map.id_persp, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.id_light", common.map.id_light, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.id_center", common.map.rot.id_center, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.x", common.map.rot.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.y", common.map.rot.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.z", common.map.rot.z, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.on", common.map.on, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.smooth", common.map.smooth, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.alpha", common.map.alpha, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.persp_on", common.map.persp_on, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.backcull", common.map.backcull, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "persp.zplane", common.persp.zplane, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "persp.focal", common.persp.focal, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "external_params", external_params, _edje_edd_old_edje_external_param);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
-   _edje_edd_old_edje_pack_element =
-      eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "type", type, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "min.w", min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "min.h", min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "prefer.w", prefer.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "prefer.h", prefer.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "max.w", max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "max.h", max.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.l", padding.l, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.r", padding.r, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.t", padding.t, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.b", padding.b, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "align.x", align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "align.y", align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "weight.x", weight.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "weight.y", weight.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.w", aspect.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.h", aspect.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.mode", aspect.mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "options", options, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "col", col, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "row", row, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "colspan", colspan, EET_T_USHORT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "rowspan", rowspan, EET_T_USHORT);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part", sizeof (Old_Edje_Part));
-   _edje_edd_old_edje_part =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "type", type, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "effect", effect, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "mouse_events", mouse_events, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "repeat_events", repeat_events, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "scale", scale, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "pointer_mode", pointer_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "precise_is_inside", precise_is_inside, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_part, Old_Edje_Part, "default_desc", default_desc, _edje_edd_old_edje_part_description);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part, Old_Edje_Part, "other_desc", other_desc, _edje_edd_old_edje_part_description);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.x", dragable.x, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.step_x", dragable.step_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.count_x", dragable.count_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.y", dragable.y, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.step_y", dragable.step_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.count_y", dragable.count_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.counfine_id", dragable.confine_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.events_id", dragable.event_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "entry_mode", entry_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "select_mode", select_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "multiline", multiline, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source2", source2, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source3", source3, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source4", source4, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source5", source5, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source6", source6, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part, Old_Edje_Part, "items", items, _edje_edd_old_edje_pack_element);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "api.name", api.name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "api.description", api.description, EET_T_STRING);
-
-   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part_Collection", sizeof (Old_Edje_Part_Collection));
-   _edje_edd_old_edje_part_collection  =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "programs", programs, _edje_edd_old_edje_program);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "parts", parts, _edje_edd_old_edje_part);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "data", data, _edje_edd_old_edje_data);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.min.w", prop.min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.min.h", prop.min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.max.w", prop.max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.max.h", prop.max.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "script_only", script_only, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "lua_script_only", lua_script_only, EET_T_UCHAR);
-
-   {
-      Old_Edje_Part_Collection epc;
-
-      eet_data_descriptor_element_add(_edje_edd_old_edje_part_collection,
-                                     "alias", EET_T_STRING, EET_G_HASH,
-                                     (char *)(&(epc.alias)) - (char *)(&(epc)),
-                                     0, /* 0,  */NULL, NULL);
-   }
-}
diff --git a/legacy/edje/src/bin/edje_decc.c b/legacy/edje/src/bin/edje_decc.c
deleted file mode 100644 (file)
index 3f96db2..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-/* ugly ugly. avert your eyes. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <string.h>
-#include <ctype.h>
-#include <unistd.h>
-#include <locale.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-
-#include <Ecore_File.h>
-#include <Ecore_Evas.h>
-
-#include "edje_decc.h"
-
-int _edje_cc_log_dom = -1;
-static const char *progname = NULL;
-char *file_in = NULL;
-char *file_out = NULL;
-int compress_mode = EET_COMPRESSION_DEFAULT;
-
-Edje_File *edje_file = NULL;
-SrcFile_List *srcfiles = NULL;
-Edje_Font_List *fontlist = NULL;
-
-int line = 0;
-int build_sh = 1;
-int new_dir = 1;
-
-int        decomp(void);
-void       output(void);
-static int compiler_cmd_is_sane();
-static int root_filename_is_sane();
-
-
-static void
-_edje_cc_log_cb(const Eina_Log_Domain *d,
-                Eina_Log_Level level,
-                const char *file,
-                const char *fnc,
-                int line,
-                const char *fmt,
-                __UNUSED__ void *data,
-                va_list args)
-{
-   if ((d->name) && (d->namelen == sizeof("edje_decc") - 1) &&
-       (memcmp(d->name, "edje_decc", sizeof("edje_decc") - 1) == 0))
-     {
-        const char *prefix;
-        Eina_Bool use_color = !eina_log_color_disable_get();
-
-        if (use_color)
-          {
-#ifndef _WIN32
-             fputs(eina_log_level_color_get(level), stderr);
-#else
-             int color;
-             switch (level)
-               {
-                case EINA_LOG_LEVEL_CRITICAL:
-                   color = FOREGROUND_RED | FOREGROUND_INTENSITY;
-                   break;
-                case EINA_LOG_LEVEL_ERR:
-                   color = FOREGROUND_RED;
-                   break;
-                case EINA_LOG_LEVEL_WARN:
-                   color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY;
-                   break;
-                case EINA_LOG_LEVEL_INFO:
-                   color = FOREGROUND_GREEN | FOREGROUND_INTENSITY;
-                   break;
-                case EINA_LOG_LEVEL_DBG:
-                   color = FOREGROUND_BLUE | FOREGROUND_INTENSITY;
-                   break;
-                default:
-                   color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
-               }
-             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
-#endif
-          }
-
-        switch (level)
-          {
-           case EINA_LOG_LEVEL_CRITICAL:
-              prefix = "Critical. ";
-              break;
-           case EINA_LOG_LEVEL_ERR:
-              prefix = "Error. ";
-              break;
-           case EINA_LOG_LEVEL_WARN:
-              prefix = "Warning. ";
-              break;
-           default:
-              prefix = "";
-          }
-        fprintf(stderr, "%s: %s", progname, prefix);
-
-        if (use_color)
-          {
-#ifndef _WIN32
-             fputs(EINA_COLOR_RESET, stderr);
-#else
-             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
-                                     FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
-#endif
-          }
-
-
-        vfprintf(stderr, fmt, args);
-        putc('\n', stderr);
-     }
-   else
-     eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args);
-}
-
-static void
-main_help(void)
-{
-   printf
-     ("Usage:\n"
-      "\t%s input_file.edj [-main-out file.edc] [-no-build-sh] [-current-dir]\n"
-      "\n"
-      " -main-out\tCreate a symbolic link to the main edc \n"
-      " -no-build-sh\tDon't output build.sh \n"
-      " -current-dir\tOutput to current directory \n"
-      " -quiet\t\tProduce less output\n"
-      "\n"
-      ,progname);
-}
-
-Eet_File *ef;
-Eet_Dictionary *ed;
-
-int
-main(int argc, char **argv)
-{
-   int i;
-
-   setlocale(LC_NUMERIC, "C");
-   if (!eina_init())
-     exit(-1);
-   _edje_cc_log_dom = eina_log_domain_register
-     ("edje_decc", EDJE_CC_DEFAULT_LOG_COLOR);
-   if (_edje_cc_log_dom < 0)
-     {
-       EINA_LOG_ERR("Impossible to create a log domain.");
-       eina_shutdown();
-       exit(-1);
-     }
-   progname = ecore_file_file_get(argv[0]);
-   eina_log_print_cb_set(_edje_cc_log_cb, NULL);
-   eina_log_domain_level_set("edje_decc", EINA_LOG_LEVEL_INFO);
-
-   for (i = 1; i < argc; i++)
-     {
-       if (!strcmp(argv[i], "-h"))
-         {
-            main_help();
-            exit(0);
-         }
-       if (!file_in)
-         file_in = argv[i];
-       else if ((!strcmp(argv[i], "-main-out")) && (i < (argc - 1)))
-         {
-            i++;
-            file_out = argv[i];
-         }
-       else if (!strcmp(argv[i], "-no-build-sh"))
-         build_sh = 0;
-       else if (!strcmp(argv[i], "-current-dir"))
-         new_dir = 0;
-        else if (!strcmp(argv[i], "-quiet"))
-          eina_log_domain_level_set("edje_decc", EINA_LOG_LEVEL_WARN);
-     }
-   if (!file_in)
-     {
-       ERR("no input file specified.");
-       main_help();
-       exit(-1);
-     }
-
-   if (!edje_init())
-     exit(-1);
-   source_edd();
-
-   if (!decomp()) return -1;
-   output();
-
-   WRN("If any Image or audio data was encoded in a LOSSY way, then "
-       "re-encoding will drop quality even more. "
-       "You need access to the original data to ensure no loss of quality.");
-   eet_close(ef);
-   edje_shutdown();
-   eina_log_domain_unregister(_edje_cc_log_dom);
-   _edje_cc_log_dom = -1;
-   eina_shutdown();
-   return 0;
-}
-
-int
-decomp(void)
-{
-   ef = eet_open(file_in, EET_FILE_MODE_READ);
-   if (!ef)
-     {
-       ERR("cannot open %s", file_in);
-       return 0;
-     }
-
-   srcfiles = source_load(ef);
-   if (!srcfiles || !srcfiles->list)
-     {
-       ERR("%s has no decompile information", file_in);
-       eet_close(ef);
-       return 0;
-     }
-   if (!eina_list_data_get(srcfiles->list) || !root_filename_is_sane())
-     {
-        ERR("Invalid root filename: '%s'", (char *) eina_list_data_get(srcfiles->list));
-       eet_close(ef);
-       return 0;
-     }
-   edje_file = eet_data_read(ef, _edje_edd_edje_file, "edje/file");
-   if (!edje_file)
-     {
-        ERR("%s does not appear to be an edje file", file_in);
-       eet_close(ef);
-       return 0;
-     }
-   /* force compiler to be edje_cc */
-   edje_file->compiler = strdup("edje_cc");
-   if (!edje_file->compiler)
-     {
-       edje_file->compiler = strdup("edje_cc");
-     }
-   else if (!compiler_cmd_is_sane())
-     {
-       ERR("invalid compiler executable: '%s'", edje_file->compiler);
-       eet_close(ef);
-       return 0;
-     }
-   fontlist = source_fontmap_load(ef);
-   return 1;
-}
-
-void
-output(void)
-{
-   Eina_List *l;
-   Eet_File *tef;
-   SrcFile *sf;
-   char *outdir, *p;
-
-   if (!new_dir)
-     outdir = strdup(".");
-   else
-     {
-       p = strrchr(file_in, '/');
-       if (p)
-         outdir = strdup(p + 1);
-       else
-         outdir = strdup(file_in);
-       p = strrchr(outdir, '.');
-       if (p) *p = 0;
-       ecore_file_mkpath(outdir);
-     }
-
-
-   tef = eet_open(file_in, EET_FILE_MODE_READ);
-
-   if (edje_file->image_dir)
-     {
-        Edje_Image_Directory_Entry *ei;
-       unsigned int i;
-
-       for (i = 0; i < edje_file->image_dir->entries_count; ++i)
-         {
-            ei = &edje_file->image_dir->entries[i];
-
-            if ((ei->source_type > EDJE_IMAGE_SOURCE_TYPE_NONE) &&
-                (ei->source_type < EDJE_IMAGE_SOURCE_TYPE_LAST) &&
-                (ei->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) &&
-                (ei->entry))
-              {
-                 Ecore_Evas *ee;
-                 Evas *evas;
-                 Evas_Object *im;
-                 char buf[4096];
-                 char out[4096];
-                 char *pp;
-
-                 ecore_init();
-                 ecore_evas_init();
-                 ee = ecore_evas_buffer_new(1, 1);
-                 if (!ee)
-                   {
-                      ERR("Cannot create buffer engine canvas for image save.");
-                      exit(-1);
-                   }
-                 evas = ecore_evas_get(ee);
-                 im = evas_object_image_add(evas);
-                 if (!im)
-                   {
-                      ERR("Cannot create image object for save.");
-                      exit(-1);
-                   }
-                 snprintf(buf, sizeof(buf), "edje/images/%i", ei->id);
-                 evas_object_image_file_set(im, file_in, buf);
-                 snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry);
-                 INF("Output Image: %s", out);
-                 pp = strdup(out);
-                 p = strrchr(pp, '/');
-                 *p = 0;
-                 if (strstr(pp, "../"))
-                   {
-                      ERR("Potential security violation. attempt to write in parent dir.");
-                      exit(-1);
-                   }
-                 ecore_file_mkpath(pp);
-                 free(pp);
-                 if (!evas_object_image_save(im, out, NULL, "quality=100 compress=9"))
-                   {
-                      ERR("Cannot write file %s. Perhaps missing JPEG or PNG saver modules for Evas.", out);
-                      exit(-1);
-                   }
-                 evas_object_del(im);
-                 ecore_evas_free(ee);
-                 ecore_evas_shutdown();
-                 ecore_shutdown();
-              }
-         }
-     }
-
-   EINA_LIST_FOREACH(srcfiles->list, l, sf)
-     {
-       char out[4096];
-       FILE *f;
-       char *pp;
-
-       snprintf(out, sizeof(out), "%s/%s", outdir, sf->name);
-       INF("Output Source File: %s", out);
-       pp = strdup(out);
-       p = strrchr(pp, '/');
-       *p = 0;
-       if (strstr(pp, "../"))
-         {
-            ERR("Potential security violation. attempt to write in parent dir.");
-            exit (-1);
-         }
-       ecore_file_mkpath(pp);
-       free(pp);
-       if (strstr(out, "../"))
-         {
-            ERR("Potential security violation. attempt to write in parent dir.");
-            exit (-1);
-         }
-       f = fopen(out, "wb");
-       if (!f)
-         {
-            ERR("Unable to write file (%s).", out);
-            exit (-1);
-         }
-
-       /* if the file is empty, sf->file will be NULL.
-        * note that that's not an error
-        */
-       if (sf->file) fputs(sf->file, f);
-       fclose(f);
-     }
-   if (edje_file->fonts)
-     {
-        Edje_Font_Directory_Entry *fn;
-        Eina_Iterator *it;
-
-        it = eina_hash_iterator_data_new(edje_file->fonts);
-       EINA_ITERATOR_FOREACH(it, fn)
-         {
-            void *font;
-            int fontsize;
-            char out[4096];
-             /* FIXME!!!! */
-                                         /* should be fn->entry -v */
-            snprintf(out, sizeof(out), "edje/fonts/%s", fn->file);
-            font = eet_read(tef, out, &fontsize);
-            if (font)
-              {
-                 FILE *f;
-                 char *pp;
-
-                                         /* should be fn->file -v */
-                 snprintf(out, sizeof(out), "%s/%s", outdir, fn->entry);
-                 INF("Output Font: %s", out);
-                 pp = strdup(out);
-                 p = strrchr(pp, '/');
-                 *p = 0;
-                 if (strstr(pp, "../"))
-                   {
-                      ERR("Potential security violation. attempt to write in parent dir.");
-                      exit (-1);
-                   }
-                 ecore_file_mkpath(pp);
-                 free(pp);
-                 if (strstr(out, "../"))
-                   {
-                      ERR("Potential security violation. attempt to write in parent dir.");
-                      exit (-1);
-                   }
-                 if (!(f = fopen(out, "wb")))
-                    {
-                       ERR("Could not open file: %s", out);
-                      exit (-1);
-                    }
-                 if (fwrite(font, fontsize, 1, f) != 1)
-                   ERR("Could not write font: %s", strerror(errno));
-                 if (f) fclose(f);
-                 free(font);
-              }
-         }
-        eina_iterator_free(it);
-     }
-     {
-       char out[4096];
-       FILE *f;
-       sf = eina_list_data_get(srcfiles->list);
-
-
-       if (build_sh)
-         {
-            snprintf(out, sizeof(out), "%s/build.sh", outdir);
-            INF("Output Build Script: %s", out);
-            if (strstr(out, "../"))
-              {
-                 ERR("potential security violation. attempt to write in parent dir.");
-                 exit (-1);
-              }
-            f = fopen(out, "wb");
-            fprintf(f, "#!/bin/sh\n");
-            fprintf(f, "%s $@ -id . -fd . %s -o %s.edj\n", edje_file->compiler, sf->name, outdir);
-            fclose(f);
-
-            WRN("*** CAUTION ***\n"
-                "Please check the build script for anything malicious "
-                "before running it!\n\n");
-         }
-
-       if (file_out)
-         {
-            snprintf(out, sizeof(out), "%s/%s", outdir, file_out);
-            if (ecore_file_symlink(sf->name, out) != EINA_TRUE)
-               {
-                  ERR("symlink %s -> %s failed", sf->name, out);
-               }
-         }
-
-       chmod(out, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP);
-
-     }
-
-   if (edje_file->sound_dir)
-     {
-        Edje_Sound_Sample *sample;
-        void *sound_data;
-        char out[PATH_MAX];
-        char out1[PATH_MAX];
-        char *pp;
-        int sound_data_size;
-        FILE *f;
-        int i;
-
-        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
-          {
-             sample = &edje_file->sound_dir->samples[i];
-             if ((!sample) || (!sample->name)) continue;
-             snprintf(out, sizeof(out), "edje/sounds/%i", sample->id);
-             sound_data = (void *)eet_read_direct(tef, out, &sound_data_size);
-             if (sound_data)
-               {
-                  snprintf(out1, sizeof(out1), "%s/%s", outdir, sample->snd_src);
-                  pp = strdup(out1);
-                  p = strrchr(pp, '/');
-                  *p = 0;
-                  if (strstr(pp, "../"))
-                    {
-                       ERR("Potential security violation. attempt to write in parent dir.");
-                       exit(-1);
-                    }
-                  ecore_file_mkpath(pp);
-                  free(pp);
-                  if (strstr(out, "../"))
-                    {
-                       ERR("Potential security violation. attempt to write in parent dir.");
-                       exit(-1);
-                    }
-                  f = fopen(out1, "wb");
-                  if (fwrite(sound_data, sound_data_size, 1, f) != 1)
-                    ERR("Could not write sound: %s", strerror(errno));
-                  fclose(f);
-              }
-          }
-
-     }
-   eet_close(tef);
-}
-
-static int
-compiler_cmd_is_sane()
-{
-   const char *c = edje_file->compiler, *ptr;
-
-   if ((!c) || (!*c))
-     {
-       return 0;
-     }
-
-   for (ptr = c; ptr && *ptr; ptr++)
-     {
-       /* only allow [a-z][A-Z][0-9]_- */
-       if ((!isalnum(*ptr)) && (*ptr != '_') && (*ptr != '-'))
-         {
-            return 0;
-         }
-     }
-
-   return 1;
-}
-
-static int
-root_filename_is_sane()
-{
-   SrcFile *sf = eina_list_data_get(srcfiles->list);
-   char *f = sf->name, *ptr;
-
-   if (!f || !*f)
-     {
-       return 0;
-     }
-
-   for (ptr = f; ptr && *ptr; ptr++)
-     {
-       /* only allow [a-z][A-Z][0-9]_-./ */
-       switch (*ptr)
-         {
-          case '_': case '-':  case '.': case '/':
-             break;
-          default:
-             if (!isalnum(*ptr))
-               {
-                  return 0;
-               }
-         }
-     }
-   return 1;
-}
diff --git a/legacy/edje/src/bin/edje_decc.h b/legacy/edje/src/bin/edje_decc.h
deleted file mode 100644 (file)
index 5aa52e5..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef EDJE_DECC_H
-#define EDJE_DECC_H
-
-#include <edje_private.h>
-
-/* logging variables */
-extern int _edje_cc_log_dom ;
-#define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
-
-#ifdef ERR
-# undef ERR
-#endif
-#define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef INF
-# undef INF
-#endif
-#define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef WRN
-# undef WRN
-#endif
-#define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef CRIT
-# undef CRIT
-#endif
-#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_cc_log_dom, __VA_ARGS__)
-#ifdef DBG
-# undef DBG
-#endif
-#define DBG(...) EINA_LOG_DOM_DBG(_edje_cc_log_dom, __VA_ARGS__)
-
-/* types */
-typedef struct _SrcFile               SrcFile;
-typedef struct _SrcFile_List          SrcFile_List;
-
-struct _SrcFile
-{
-   char *name;
-   char *file;
-};
-
-struct _SrcFile_List
-{
-   Eina_List *list;
-};
-
-void    source_edd(void);
-void    source_fetch(void);
-int     source_append(Eet_File *ef);
-SrcFile_List *source_load(Eet_File *ef);
-int     source_fontmap_save(Eet_File *ef, Eina_List *fonts);
-Edje_Font_List *source_fontmap_load(Eet_File *ef);
-
-void   *mem_alloc(size_t size);
-char   *mem_strdup(const char *s);
-#define SZ sizeof
-
-#endif
diff --git a/legacy/edje/src/bin/edje_external_inspector.c b/legacy/edje/src/bin/edje_external_inspector.c
deleted file mode 100644 (file)
index 6bd9a35..0000000
+++ /dev/null
@@ -1,663 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <locale.h>
-#include <fnmatch.h>
-
-#include <Ecore.h>
-#include <Ecore_Getopt.h>
-
-#include "Edje.h"
-
-static int _log_dom;
-#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
-#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
-#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
-#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
-#define CRIT(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__)
-
-#define INDENT "   "
-#define INDENT2 INDENT INDENT
-#define INDENT3 INDENT2 INDENT
-#define INDENT4 INDENT3 INDENT
-
-static char *module_patterns_str = NULL;
-
-static int detail = 1;
-static Eina_Bool machine = EINA_FALSE;
-static char *type_glob = NULL;
-static char * const *module_patterns;
-static const Eina_List *modules;
-
-
-static char *
-_module_patterns_str_new(void)
-{
-   Eina_Strbuf *buf;
-   char * const *itr;
-   char *ret;
-   if (!module_patterns) return strdup("*");
-
-   buf = eina_strbuf_new();
-   for (itr = module_patterns; *itr != NULL; itr++)
-     {
-        eina_strbuf_append(buf, *itr);
-        if (itr[1]) eina_strbuf_append(buf, ", ");
-     }
-   ret = eina_strbuf_string_steal(buf);
-   eina_strbuf_free(buf);
-   return ret;
-}
-
-static Eina_Bool
-module_matches(const char *name)
-{
-   char * const *itr;
-   if (!module_patterns) return EINA_TRUE;
-
-   for (itr = module_patterns; *itr != NULL; itr++)
-     if (fnmatch(*itr, name, 0) == 0) return EINA_TRUE;
-
-   return EINA_FALSE;
-}
-
-static inline Eina_Bool
-type_matches(const char *name)
-{
-   if (!type_glob) return EINA_TRUE;
-   return fnmatch(type_glob, name, 0) == 0;
-}
-
-static int
-_types_sort(const void *pa, const void *pb)
-{
-   const Eina_Hash_Tuple *ha = pa, *hb = pb;
-   const Edje_External_Type *ta = ha->data, *tb = hb->data;
-   const char *na = ha->key, *nb = hb->key;
-   int r;
-
-   if (!ta->module) return -1;
-   if (!tb->module) return 1;
-   r = strcmp(ta->module, tb->module);
-   if (r != 0) return r;
-
-   if (!na) return -1;
-   if (!nb) return 1;
-   return strcmp(na, nb);
-}
-
-static const char *
-_param_type_str_get(const Edje_External_Param_Info *param)
-{
-   switch (param->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT: return "int";
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: return "double";
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING: return "string";
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL: return "bool";
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: return "choice";
-      default:
-         ERR("Unknown parameter type %d", param->type);
-         return "???";
-     }
-}
-
-static const char *
-_param_value_str_get(const Edje_External_Type *type, const Edje_External_Param_Info *param, char *buf, size_t buflen)
-{
-   switch (param->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-         if (param->info.i.def == EDJE_EXTERNAL_INT_UNSET) return NULL;
-         snprintf(buf, buflen, "%d", param->info.i.def);
-         return buf;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-         if (param->info.d.def == EDJE_EXTERNAL_DOUBLE_UNSET) return NULL;
-         snprintf(buf, buflen, "%g", param->info.d.def);
-         return buf;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-         return param->info.s.def;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-         if (param->info.b.def == 0) return "0";
-         else if (param->info.b.def == 1) return "1";
-         return NULL;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-        {
-           char *def;
-           if (param->info.c.def) return param->info.c.def;
-           if (!param->info.c.def_get) return NULL;
-           def = param->info.c.def_get(type->data, param);
-           if (!def) return NULL;
-           eina_strlcpy(buf, def, buflen);
-           free(def);
-           return buf;
-        }
-
-      default:
-         ERR("Unknown parameter type %d", param->type);
-         return NULL;
-     }
-}
-
-static const char *
-_param_flags_str_get(const Edje_External_Param_Info *param)
-{
-   static char buf[] = "GET|SET|STATE|CONSTRUCTOR";
-
-   if (param->flags == EDJE_EXTERNAL_PARAM_FLAGS_NONE) return "NONE";
-   if (param->flags == EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) return "REGULAR";
-
-   buf[0] = '\0';
-
-   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_GET)
-     strcat(buf, "GET");
-
-   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_SET)
-     {
-        if (buf[0] != '\0') strcat(buf, "|");
-        strcat(buf, "SET");
-     }
-
-   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_STATE)
-     {
-        if (buf[0] != '\0') strcat(buf, "|");
-        strcat(buf, "STATE");
-     }
-
-   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR)
-     {
-        if (buf[0] != '\0') strcat(buf, "|");
-        strcat(buf, "CONSTRUCTOR");
-     }
-
-   return buf;
-}
-
-static void
-_param_choices_print(const char * const *choices)
-{
-   if (machine) puts("CHOICES-BEGIN");
-   else fputs(", choices:", stdout);
-   for (; *choices != NULL; choices++)
-     {
-        if (machine) puts(*choices);
-        else printf(" \"%s\"", *choices);
-     }
-   if (machine) puts("CHOICES-END");
-}
-
-static void
-_param_extra_details(const Edje_External_Type *type, const Edje_External_Param_Info *param)
-{
-   const char *str = _param_flags_str_get(param);
-   if (machine) printf("FLAGS: %s\n", str);
-   else printf(" /* flags: %s", str);
-
-   switch (param->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-         if (param->info.i.min != EDJE_EXTERNAL_INT_UNSET)
-           {
-              if (machine) printf("MIN: %d\n", param->info.i.min);
-              else printf(", min: %d", param->info.i.min);
-           }
-         if (param->info.i.max != EDJE_EXTERNAL_INT_UNSET)
-           {
-              if (machine) printf("MAX: %d\n", param->info.i.max);
-              else printf(", max: %d", param->info.i.max);
-           }
-         if (param->info.i.step != EDJE_EXTERNAL_INT_UNSET)
-           {
-              if (machine) printf("STEP: %d\n", param->info.i.step);
-              else printf(", step: %d", param->info.i.step);
-           }
-         break;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-         if (param->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET)
-           {
-              if (machine) printf("MIN: %g\n", param->info.d.min);
-              else printf(", min: %g", param->info.d.min);
-           }
-         if (param->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET)
-           {
-              if (machine) printf("MAX: %g\n", param->info.d.max);
-              else printf(", max: %g", param->info.d.max);
-           }
-         if (param->info.d.step != EDJE_EXTERNAL_DOUBLE_UNSET)
-           {
-              if (machine) printf("STEP: %g\n", param->info.d.step);
-              else printf(", step: %g", param->info.d.step);
-           }
-         break;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-         if (param->info.s.accept_fmt)
-           {
-              if (machine) printf("ACCEPT_FMT: %s\n", param->info.s.accept_fmt);
-              else printf(", accept_fmt: \"%s\"", param->info.s.accept_fmt);
-           }
-         if (param->info.s.deny_fmt)
-           {
-              if (machine) printf("DENY_FMT: %s\n", param->info.s.deny_fmt);
-              else printf(", deny_fmt: \"%s\"", param->info.s.deny_fmt);
-           }
-         break;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-         if (param->info.b.false_str)
-           {
-              if (machine) printf("FALSE_STR: %s\n", param->info.b.false_str);
-              else printf(", false_str: \"%s\"", param->info.b.false_str);
-           }
-         if (param->info.b.true_str)
-           {
-              if (machine) printf("TRUE_STR: %s\n", param->info.b.true_str);
-              else printf(", true_str: \"%s\"", param->info.b.true_str);
-           }
-         break;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-        {
-           if (param->info.c.choices)
-             _param_choices_print(param->info.c.choices);
-           else if (param->info.c.query)
-             {
-                char **choices = param->info.c.query(type->data, param);
-                if (choices)
-                  {
-                     char **itr;
-                     _param_choices_print((const char * const*)choices);
-                     for (itr = choices; *itr; itr++) free(*itr);
-                     free(choices);
-                  }
-             }
-        }
-        break;
-
-      default:
-         ERR("Unknown parameter type %d", param->type);
-     }
-
-   if (!machine) fputs(" */", stdout); /* \n not desired */
-}
-
-static int
-_info_list(void)
-{
-   Eina_Iterator *itr;
-   Eina_List *types;
-   const Eina_Hash_Tuple *tuple;
-   const Eina_List *l;
-   const char *name, *last_module;
-   Eina_Bool module_found = EINA_FALSE, type_found = EINA_FALSE;
-   Eina_Bool in_module = EINA_FALSE;
-
-   EINA_LIST_FOREACH(modules, l, name)
-     {
-        if (!module_matches(name))
-          {
-             DBG("filter out module '%s': does not match '%s'",
-                 name, module_patterns_str);
-             continue;
-          }
-
-        if (!edje_module_load(name))
-          {
-             ERR("error loading external '%s'", name);
-             continue;
-          }
-
-        module_found = EINA_TRUE;
-     }
-
-   itr = edje_external_iterator_get();
-   types = NULL;
-   EINA_ITERATOR_FOREACH(itr, tuple)
-     {
-        const Edje_External_Type *type = tuple->data;
-        name = tuple->key;
-
-        if (!type)
-          {
-             ERR("no type value for '%s'", name);
-             continue;
-          }
-        else if (type->abi_version != edje_external_type_abi_version_get())
-          {
-             ERR("type '%s' with incorrect abi_version %u (expected %u)",
-                 name, type->abi_version, edje_external_type_abi_version_get());
-             continue;
-          }
-
-        if (!type_matches(name))
-          {
-             DBG("filter out type '%s': does not match '%s'", name, type_glob);
-             continue;
-          }
-
-        types = eina_list_append(types, tuple);
-        type_found = EINA_TRUE;
-     }
-   eina_iterator_free(itr);
-
-   last_module = NULL;
-   types = eina_list_sort(types, 0, _types_sort);
-   EINA_LIST_FREE(types, tuple)
-     {
-        Eina_Bool changed_module = EINA_FALSE;
-        const Edje_External_Type *type = tuple->data;
-        const Edje_External_Param_Info *param;
-        name = tuple->key;
-
-        if ((last_module) && (type->module))
-          {
-             changed_module = ((last_module != type->module) &&
-                               (!strcmp(last_module, type->module)));
-          }
-        else if ((!last_module) && (type->module))
-          changed_module = EINA_TRUE;
-
-        if (changed_module)
-          {
-             if (in_module)
-               {
-                  if (machine) puts("TYPES-END\nMODULE-END");
-                  else puts(INDENT "}\n}");
-               }
-
-             if (machine)
-               printf("MODULE-BEGIN\n"
-                      "NAME: %s\n"
-                      "FRIENDLY-NAME: %s\n"
-                      "TYPES-BEGIN\n",
-                      type->module, type->module_name);
-             else
-               printf("module {\n"
-                      INDENT "name: \"%s\";\n"
-                      INDENT "friendly_name: \"%s\";\n"
-                      INDENT "types {\n",
-                      type->module, type->module_name);
-
-             in_module = EINA_TRUE;
-          }
-
-        if (machine) printf("TYPE-BEGIN\nNAME: %s\n", name);
-        else printf(INDENT2 "type {\n" INDENT3 "name: \"%s\";\n", name);
-
-        if (detail > 1)
-          {
-             const char *str;
-
-             if (!type->label_get) str = NULL;
-             else str = type->label_get(type->data);
-             if (machine) printf("LABEL: %s\n", str ? str : "");
-             else if (str) printf(INDENT3 "label: \"%s\";\n", str);
-
-             if (!type->description_get) str = NULL;
-             else str = type->description_get(type->data);
-             if (machine) printf("DESCRIPTION: %s\n", str ? str : "");
-             else if (str) printf(INDENT3 "description: \"%s\";\n", str);
-          }
-
-        if (machine) puts("PARAMS-BEGIN");
-        else puts(INDENT3 "params {");
-
-        for (param = type->parameters_info; param->name != NULL; param++)
-          {
-             const char *pt = _param_type_str_get(param);
-             char buf[128];
-
-             if (machine)
-               printf("PARAM-BEGIN\nNAME: %s\nTYPE: %s\n", param->name, pt);
-             else printf(INDENT4 "%s: \"%s\"", pt, param->name);
-
-             if (detail > 0)
-               {
-                  const char *str = _param_value_str_get
-                    (type, param, buf, sizeof(buf));
-                  if (machine) printf("DEFAULT: %s\n", str ? str : "");
-                  else if (str) printf(" \"%s\"", str);
-
-                  if (detail > 1)
-                    {
-                       if (!machine) putchar(';');
-                       _param_extra_details(type, param);
-                    }
-               }
-
-             if (machine) puts("PARAM-END");
-             else if (detail > 1) putchar('\n');
-             else puts(";");
-          }
-
-        if (machine) puts("PARAMS-END\nTYPE-END");
-        else puts(INDENT3 "}\n" INDENT2 "}");
-
-        last_module = type->module;
-     }
-
-   if (in_module)
-     {
-        if (machine) puts("MODULE-END");
-        else puts(INDENT "}\n}");
-     }
-
-   if (!module_found) WRN("no modules match '%s'", module_patterns_str);
-   if (!type_found) WRN("no types match '%s'", type_glob);
-   return (!module_found) || (!type_found);
-}
-
-static int
-_types_names_list(void)
-{
-   Eina_Iterator *itr;
-   Eina_List *types;
-   const Eina_Hash_Tuple *tuple;
-   const Eina_List *l;
-   const char *name;
-   Eina_Bool module_found = EINA_FALSE, type_found = EINA_FALSE;
-
-   EINA_LIST_FOREACH(modules, l, name)
-     {
-        if (!module_matches(name))
-          {
-             DBG("filter out module '%s': does not match '%s'",
-                 name, module_patterns_str);
-             continue;
-          }
-
-        if (!edje_module_load(name))
-          {
-             ERR("error loading external '%s'", name);
-             continue;
-          }
-
-        module_found = EINA_TRUE;
-     }
-
-   itr = edje_external_iterator_get();
-   types = NULL;
-   EINA_ITERATOR_FOREACH(itr, tuple)
-     {
-        const Edje_External_Type *type = tuple->data;
-        name = tuple->key;
-
-        if (!type)
-          {
-             ERR("no type value for '%s'", name);
-             continue;
-          }
-        else if (type->abi_version != edje_external_type_abi_version_get())
-          {
-             ERR("type '%s' with incorrect abi_version %u (expected %u)",
-                 name, type->abi_version, edje_external_type_abi_version_get());
-             continue;
-          }
-
-        if (!type_matches(name))
-          {
-             DBG("filter out type '%s': does not match '%s'", name, type_glob);
-             continue;
-          }
-
-        types = eina_list_append(types, tuple);
-        type_found = EINA_TRUE;
-     }
-   eina_iterator_free(itr);
-
-   types = eina_list_sort(types, 0, _types_sort);
-   EINA_LIST_FREE(types, tuple)
-     puts(tuple->key);
-
-   if (!module_found) WRN("no modules match '%s'", module_patterns_str);
-   if (!type_found) WRN("no types match '%s'", type_glob);
-   return (!module_found) || (!type_found);
-}
-
-static int
-_modules_names_list(void)
-{
-   const Eina_List *l;
-   const char *name;
-   Eina_Bool found = EINA_FALSE;
-
-   EINA_LIST_FOREACH(modules, l, name)
-     {
-        if (!module_matches(name))
-          {
-             DBG("filter out module '%s': does not match '%s'",
-                 name, module_patterns_str);
-             continue;
-          }
-        found = EINA_TRUE;
-        puts(name);
-     }
-
-   if (!found) WRN("no modules match '%s'", module_patterns_str);
-   return !found;
-}
-
-static const char *mode_choices[] = {
-  "info",
-  "modules-names",
-  "types-names",
-  NULL,
-};
-
-static const char *detail_choices[] = {
-  "none",
-  "terse",
-  "all",
-  NULL
-};
-
-const Ecore_Getopt optdesc = {
-  "edje_external_inspector",
-  "%prog [options] [module|module-glob] ... [module|module-glob]",
-  PACKAGE_VERSION,
-  "(C) 2010 - The Enlightenment Project",
-  "BSD",
-  "Edje external module inspector.",
-  0,
-  {
-    ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate.",
-                        mode_choices),
-    ECORE_GETOPT_STORE_STR('t', "type", "Limit output to type (or glob)."),
-    ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)",
-                        detail_choices),
-    ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."),
-    ECORE_GETOPT_LICENSE('L', "license"),
-    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
-    ECORE_GETOPT_VERSION('V', "version"),
-    ECORE_GETOPT_HELP('h', "help"),
-    ECORE_GETOPT_SENTINEL
-  }
-};
-
-int
-main(int argc, char **argv)
-{
-   Eina_Bool quit_option = EINA_FALSE;
-   char *mode = NULL;
-   char *detail_name = NULL;
-   int arg_index;
-   int ret = 0;
-   Ecore_Getopt_Value values[] = {
-     ECORE_GETOPT_VALUE_STR(mode),
-     ECORE_GETOPT_VALUE_STR(type_glob),
-     ECORE_GETOPT_VALUE_STR(detail_name),
-     ECORE_GETOPT_VALUE_BOOL(machine),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_NONE
-   };
-
-   setlocale(LC_NUMERIC, "C");
-
-   ecore_init();
-   eina_init();
-   edje_init();
-
-   _log_dom = eina_log_domain_register
-     ("edje_external_inspector", EINA_COLOR_YELLOW);
-   if (_log_dom < 0)
-     {
-        EINA_LOG_CRIT
-          ("could not register log domain 'edje_external_inspector'");
-        ret = 1;
-        goto error_log;
-     }
-
-   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
-   if (arg_index < 0)
-     {
-        ERR("could not parse arguments.");
-        ret = 1;
-        goto error_getopt;
-     }
-   else if (quit_option) goto error_getopt;
-
-   if (!mode) mode = (char *)mode_choices[0];
-
-   if (detail_name)
-     {
-        if (!strcmp(detail_name, "none")) detail = 0;
-        else if (!strcmp(detail_name, "terse")) detail = 1;
-        else if (!strcmp(detail_name, "all")) detail = 2;
-        else ERR("Unknown detail level: '%s'", detail_name);
-     }
-
-   if (arg_index < argc) module_patterns = argv + arg_index;
-   else                  module_patterns = NULL;
-
-   modules = edje_available_modules_get();
-   module_patterns_str = _module_patterns_str_new();
-
-   if (!strcmp(mode, "info")) ret = _info_list();
-   else if (!strcmp(mode, "modules-names")) ret = _modules_names_list();
-   else if (!strcmp(mode, "types-names")) ret = _types_names_list();
-   else
-     {
-        ERR("Unknown mode: %s", mode);
-        ret = 1;
-     }
-
-   free(module_patterns_str);
-
- error_getopt:
-   eina_log_domain_unregister(_log_dom);
- error_log:
-   edje_shutdown();
-   ecore_shutdown();
-   eina_shutdown();
-
-   return ret;
-}
diff --git a/legacy/edje/src/bin/edje_inspector.c b/legacy/edje/src/bin/edje_inspector.c
deleted file mode 100644 (file)
index 01cf104..0000000
+++ /dev/null
@@ -1,1637 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <locale.h>
-#include <fnmatch.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "Edje.h"
-#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT 1
-#include "Edje_Edit.h"
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Ecore_Getopt.h>
-
-static int _log_dom;
-#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
-#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
-#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
-#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
-#define CRIT(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__)
-
-#define INDENT "   "
-#define INDENT2 INDENT INDENT
-#define INDENT3 INDENT2 INDENT
-#define INDENT4 INDENT3 INDENT
-#define INDENT5 INDENT4 INDENT
-#define INDENT6 INDENT5 INDENT
-#define INDENT7 INDENT6 INDENT
-
-#define FLOAT_PRECISION 0.0001
-#define FDIFF(a, b) (fabs((a) - (b)) > FLOAT_PRECISION)
-
-/* context */
-static Eina_List *groups;
-static Ecore_Evas *ee;
-
-/* options */
-static const char *file;
-static char *group = NULL;
-static char *part = NULL;
-static char *program = NULL;
-static int detail = 1;
-static Eina_Bool api_only = EINA_FALSE;
-static Eina_Bool api_fix = EINA_FALSE;
-static Eina_Bool machine = EINA_FALSE;
-
-static const char *mode_choices[] = {
-  "groups",
-  "parts",
-  "programs",
-  "groups-names",
-  "part-names",
-  "global-data",
-  "images",
-  "fonts",
-  "externals",
-  NULL,
-};
-
-static const char *detail_choices[] = {
-  "none",
-  "terse",
-  "all",
-  NULL
-};
-
-const Ecore_Getopt optdesc = {
-  "edje_inspector",
-  "%prog [options] <file.edj>",
-  PACKAGE_VERSION,
-  "(C) 2010 - The Enlightenment Project",
-  "BSD",
-  "Edje file inspector, let one see groups, parts, programs and other details "
-  "of a compiled (binary) edje file.\n",
-  0,
-  {
-    ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate on file.",
-                        mode_choices),
-    ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)",
-                        detail_choices),
-    ECORE_GETOPT_STORE_STR('g', "group", "Limit output to group (or glob)."),
-    ECORE_GETOPT_STORE_STR('p', "part", "Limit output to part (or glob)."),
-    ECORE_GETOPT_STORE_STR('r', "program",
-                           "Limit output to program (or glob)."),
-    ECORE_GETOPT_STORE_TRUE('a', "api-only", "Limit to just api parts or "
-                            "programs."),
-    ECORE_GETOPT_STORE_TRUE('A', "api-fix", "Fix API names to be C compliant."),
-    ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."),
-    ECORE_GETOPT_LICENSE('L', "license"),
-    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
-    ECORE_GETOPT_VERSION('V', "version"),
-    ECORE_GETOPT_HELP('h', "help"),
-    ECORE_GETOPT_SENTINEL
-  }
-};
-
-static inline Eina_Bool
-matches(const char *name, const char *pattern)
-{
-   if (!pattern) return EINA_TRUE;
-   return fnmatch(pattern, name, 0) == 0;
-}
-
-static void
-group_begin(const char *name)
-{
-   if (machine) printf("GROUP-BEGIN\nNAME: %s\n", name);
-   else printf("group { name: '%s';\n", name);
-}
-
-static void
-group_end(void)
-{
-   if (machine) puts("GROUP-END");
-   else puts("}");
-}
-
-static void
-group_details(Evas_Object *ed)
-{
-   int w, h;
-
-   if (detail < 1) return;
-
-   if (machine) puts("GROUP-DETAILS-BEGIN");
-
-   w = edje_edit_group_min_w_get(ed);
-   h = edje_edit_group_min_h_get(ed);
-   if (machine) printf("MIN-W: %d\nMIN-H: %d\n", w, h);
-   else if ((w > 0) || (h > 0)) printf(INDENT "min: %d %d;\n", w, h);
-
-   w = edje_edit_group_max_w_get(ed);
-   h = edje_edit_group_max_h_get(ed);
-   if (machine) printf("MAX-W: %d\nMAX-H: %d\n", w, h);
-   else if ((w > 0) || (h > 0)) printf(INDENT "max: %d %d;\n", w, h);
-
-   if (detail > 1)
-     {
-        Eina_List *dl;
-        dl = edje_edit_group_data_list_get(ed);
-        if (dl)
-          {
-             Eina_List *l;
-             const char *k;
-             if (machine) puts(INDENT "GROUP-DETAILS-DATA-BEGIN");
-             else puts(INDENT "data {");
-
-             EINA_LIST_FOREACH(dl, l, k)
-               {
-                  const char *v = edje_edit_group_data_value_get(ed, k);
-                  if (machine) printf("ITEM: \"%s\" \"%s\"\n", k, v);
-                  else printf(INDENT2 "item: \"%s\" \"%s\";\n", k, v);
-               }
-
-             edje_edit_string_list_free(dl);
-
-             if (machine) puts(INDENT "GROUP-DETAILS-DATA-END");
-             else puts(INDENT "}");
-          }
-     }
-
-   if (machine) puts("GROUP-DETAILS-END");
-}
-
-static void
-parts_begin(void)
-{
-   if (machine) puts("PARTS-BEGIN");
-   else puts(INDENT "parts {");
-}
-
-static void
-parts_end(void)
-{
-   if (machine) puts("PARTS-END");
-   else puts(INDENT "}");
-}
-
-static const char *
-part_type_name_get(Edje_Part_Type t)
-{
-   switch (t)
-     {
-      case EDJE_PART_TYPE_RECTANGLE:
-         return "RECT";
-      case EDJE_PART_TYPE_TEXT:
-         return "TEXT";
-      case EDJE_PART_TYPE_IMAGE:
-         return "IMAGE";
-      case EDJE_PART_TYPE_PROXY:
-        return "PROXY";
-      case EDJE_PART_TYPE_SWALLOW:
-         return "SWALLOW";
-      case EDJE_PART_TYPE_TEXTBLOCK:
-         return "TEXTBLOCK";
-      case EDJE_PART_TYPE_GRADIENT:
-         return "GRADIENT";
-      case EDJE_PART_TYPE_GROUP:
-         return "GROUP";
-      case EDJE_PART_TYPE_BOX:
-         return "BOX";
-      case EDJE_PART_TYPE_TABLE:
-         return "TABLE";
-      case EDJE_PART_TYPE_EXTERNAL:
-         return "EXTERNAL";
-      case EDJE_PART_TYPE_SPACER:
-         return "SPACER";
-
-      case EDJE_PART_TYPE_NONE:
-      case EDJE_PART_TYPE_LAST:
-         ERR("Invalid part type %d", t);
-         return "???";
-      default:
-         ERR("Unknown part type %d", t);
-         return "???";
-     }
-}
-
-static void
-state_begin(const char *state, double value)
-{
-   if (machine)
-     printf("PART-STATE-BEGIN\nNAME: %s\nVALUE: %2.1f\n", state, value);
-   else
-     {
-        printf(INDENT3 "description { state: \"%s\" %2.1f;", state, value);
-        if (detail > 0) putchar('\n');
-     }
-}
-
-static const char *
-aspect_pref_name_get(int id)
-{
-   switch (id)
-     {
-      case 0: return "NONE";
-      case 1: return "VERTICAL";
-      case 2: return "HORIZONTAL";
-      case 3: return "BOTH";
-      default:
-         ERR("Unknown aspect preference %d", id);
-         return "???";
-     }
-}
-
-static const char *
-border_fill_name_get(int id)
-{
-   switch (id)
-     {
-      case 0: return "NONE";
-      case 1: return "DEFAULT";
-      case 2: return "SOLID";
-      default:
-         ERR("Unknown border fill %d", id);
-         return "???";
-     }
-}
-
-static void
-state_details(Evas_Object *ed, const char *ppart, const char *state, double value)
-{
-   Edje_Part_Type t = edje_edit_part_type_get(ed, ppart);
-   double dx, dy;
-   const char *str, *str2;
-   int x, y, r, g, b, a;
-
-   if (detail < 1) return;
-
-   b = edje_edit_state_visible_get(ed, ppart, state, value);
-   if (machine) printf("VISIBLE: %d\n", b);
-   else if (!b) puts(INDENT4 "visible: 0;");
-
-   edje_edit_state_color_get(ed, ppart, state, value, &r, &g, &b, &a);
-   if (machine)
-     printf("COLOR-R: %d\nCOLOR-G: %d\nCOLOR-B: %d\nCOLOR-A: %d\n", r, g, b, a);
-   else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
-     printf(INDENT4 "color: %d %d %d %d;\n", r, g, b, a);
-
-   if (detail > 1)
-     {
-        edje_edit_state_color2_get(ed, ppart, state, value, &r, &g, &b, &a);
-        if (machine)
-          printf("COLOR2-R: %d\nCOLOR2-G: %d\nCOLOR2-B: %d\nCOLOR2-A: %d\n",
-                 r, g, b, a);
-        else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
-          printf(INDENT4 "color2: %d %d %d %d;\n", r, g, b, a);
-
-        edje_edit_state_color3_get(ed, ppart, state, value, &r, &g, &b, &a);
-        if (machine)
-          printf("COLOR3-R: %d\nCOLOR3-G: %d\nCOLOR3-B: %d\nCOLOR3-A: %d\n",
-                 r, g, b, a);
-        else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
-          printf(INDENT4 "color3: %d %d %d %d;\n", r, g, b, a);
-     }
-
-   dx = edje_edit_state_align_x_get(ed, ppart, state, value);
-   dy = edje_edit_state_align_y_get(ed, ppart, state, value);
-   if (machine) printf("ALIGN-X: %g\nALIGN-Y: %g\n", dx, dy);
-   else if (FDIFF(dx, 0.5) || FDIFF(dy, 0.5))
-     printf(INDENT4 "align: %g %g;\n", dx, dy);
-
-   x = edje_edit_state_min_w_get(ed, ppart, state, value);
-   y = edje_edit_state_min_h_get(ed, ppart, state, value);
-   if (machine) printf("MIN-W: %d\nMIN-H: %d\n", x, y);
-   else if ((x) || (y)) printf(INDENT4 "min: %d %d;\n", x, y);
-
-   x = edje_edit_state_max_w_get(ed, ppart, state, value);
-   y = edje_edit_state_max_h_get(ed, ppart, state, value);
-   if (machine) printf("MAX-W: %d\nMAX-H: %d\n", x, y);
-   else if ((x != -1) || (y != -1)) printf(INDENT4 "max: %d %d;\n", x, y);
-
-   //TODO Support fixed
-   //TODO Support step
-
-   if (detail > 1)
-     {
-        dx = edje_edit_state_aspect_min_get(ed, ppart, state, value);
-        dy = edje_edit_state_aspect_max_get(ed, ppart, state, value);
-        if (machine) printf("ASPECT-MIN: %g\nASPECT-MAX: %g\n", dx, dy);
-        else if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0))
-          printf(INDENT4 "aspect: %g %g;\n", dx, dy);
-
-        x = edje_edit_state_aspect_pref_get(ed, ppart, state, value);
-        str = aspect_pref_name_get(x);
-        if (machine) printf("ASPECT-PREFERENCE: %s\n", str);
-        else if (x) printf(INDENT4 "aspect_preference: %s;\n", str);
-        /* do not free this str! */
-
-        str = edje_edit_state_color_class_get(ed, ppart, state, value);
-        if (machine) printf("COLOR_CLASS: %s\n", str ? str : "");
-        else if (str) printf(INDENT4 "color_class: \"%s\";\n", str);
-        edje_edit_string_free(str);
-     }
-
-   dx = edje_edit_state_rel1_relative_x_get(ed, ppart, state, value);
-   dy = edje_edit_state_rel1_relative_y_get(ed, ppart, state, value);
-   x = edje_edit_state_rel1_offset_x_get(ed, ppart, state, value);
-   y = edje_edit_state_rel1_offset_y_get(ed, ppart, state, value);
-   str = edje_edit_state_rel1_to_x_get(ed, ppart, state, value);
-   str2 = edje_edit_state_rel1_to_y_get(ed, ppart, state, value);
-   if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y) || (str) || (str2))
-     {
-        if (machine) puts("REL1-BEGIN");
-        else puts(INDENT4 "rel1 {");
-
-        if (machine) printf("RELATIVE-X: %g\nRELATIVE-Y: %g\n", dx, dy);
-        else if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0))
-          printf(INDENT5 "relative: %g %g;\n", dx, dy);
-
-        if (machine) printf("OFFSET-X: %d\nOFFSET-Y: %d\n", x, y);
-        else if ((x) || (y)) printf(INDENT5 "offset: %d %d;\n", x, y);
-
-        if (machine)
-          printf("TO-X: %s\nTO-Y: %s\n", str ? str : "", str2 ? str2 : "");
-        else if (((str) && (str2)) && (!strcmp(str, str2)))
-          printf(INDENT5 "to: \"%s\";\n", str);
-        else
-          {
-             if (str) printf(INDENT5 "to_x: \"%s\";\n", str);
-             if (str2) printf(INDENT5 "to_y: \"%s\";\n", str2);
-          }
-
-        if (machine) puts("REL1-END");
-        else puts(INDENT4 "}");
-     }
-   edje_edit_string_free(str);
-   edje_edit_string_free(str2);
-
-   dx = edje_edit_state_rel2_relative_x_get(ed, ppart, state, value);
-   dy = edje_edit_state_rel2_relative_y_get(ed, ppart, state, value);
-   x = edje_edit_state_rel2_offset_x_get(ed, ppart, state, value);
-   y = edje_edit_state_rel2_offset_y_get(ed, ppart, state, value);
-   str = edje_edit_state_rel2_to_x_get(ed, ppart, state, value);
-   str2 = edje_edit_state_rel2_to_y_get(ed, ppart, state, value);
-   if (FDIFF(dx, 1.0) || FDIFF(dy, 1.0) || (x != -1) || (y != -1) ||
-       (str) || (str2))
-     {
-        if (machine) puts("REL2-BEGIN");
-        else puts(INDENT4 "rel2 {");
-
-        if (machine) printf("RELATIVE-X: %g\nRELATIVE-Y: %g\n", dx, dy);
-        else if (FDIFF(dx, 1.0) || FDIFF(dy, 1.0))
-          printf(INDENT5 "relative: %g %g;\n", dx, dy);
-
-        if (machine) printf("OFFSET-X: %d\nOFFSET-Y: %d\n", x, y);
-        else if ((x != -1) || (y != -1))
-          printf(INDENT5 "offset: %d %d;\n", x, y);
-
-        if (machine)
-          printf("TO-X: %s\nTO-Y: %s\n", str ? str : "", str2 ? str2 : "");
-        else if (((str) && (str2)) && (!strcmp(str, str2)))
-          printf(INDENT5 "to: \"%s\";\n", str);
-        else
-          {
-             if (str) printf(INDENT5 "to_x: \"%s\";\n", str);
-             if (str2) printf(INDENT5 "to_y: \"%s\";\n", str2);
-          }
-
-        if (machine) puts("REL2-END");
-        else puts(INDENT4 "}");
-     }
-   edje_edit_string_free(str);
-   edje_edit_string_free(str2);
-
-   if (t == EDJE_PART_TYPE_IMAGE)
-     {
-        str = edje_edit_state_image_get(ed, ppart, state, value);
-
-        if (machine) printf("IMAGE-BEGIN\nNORMAL: %s\n", str ? str : "");
-        else if (detail > 1)
-          {
-             puts(INDENT4 "image {");
-             if (str) printf(INDENT5 "normal: \"%s\";\n", str);
-          }
-        else if (str) printf(INDENT4 "image.normal: \"%s\";\n", str);
-
-        edje_edit_string_free(str);
-
-        if (detail > 1)
-          {
-             Eina_List *tweens, *l;
-             int bl, br, bt, bb, x2, y2;
-             double dx2, dy2;
-             Eina_Bool has_orgin, has_size;
-
-             tweens = edje_edit_state_tweens_list_get(ed, ppart, state, value);
-             EINA_LIST_FOREACH(tweens, l, str)
-               {
-                  if (machine) printf("TWEEN: %s\n", str);
-                  else printf(INDENT5 "tween: \"%s\";\n", str);
-               }
-             edje_edit_string_list_free(tweens);
-
-             edje_edit_state_image_border_get
-               (ed, ppart, state, value, &bl, &br, &bt, &bb);
-             if (machine)
-               printf("BORDER-LEFT: %d\nBORDER-RIGHT: %d\n"
-                      "BORDER-TOP: %d\nBORDER-BOTTOM: %d\n", bl, br, bt, bb);
-             else if ((bl) || (br) || (bt) || (bb))
-               printf(INDENT5 "border: %d %d %d %d;\n", bl, br, bt, bb);
-
-             x = edje_edit_state_image_border_fill_get(ed, ppart, state, value);
-             str = border_fill_name_get(x);
-             if (machine) printf("BORDER-FILL: %s\n", str);
-             else if (x != 1) printf(INDENT5 "middle: %s;\n", str);
-             /* do not free str! */
-
-             // TODO support image.fill.smooth
-
-             dx = edje_edit_state_fill_origin_relative_x_get
-               (ed, ppart, state, value);
-             dy = edje_edit_state_fill_origin_relative_y_get
-               (ed, ppart, state, value);
-             x = edje_edit_state_fill_origin_offset_x_get
-               (ed, ppart, state, value);
-             y = edje_edit_state_fill_origin_offset_y_get
-               (ed, ppart, state, value);
-
-             dx2 = edje_edit_state_fill_size_relative_x_get
-               (ed, ppart, state, value);
-             dy2 = edje_edit_state_fill_size_relative_y_get
-               (ed, ppart, state, value);
-             x2 = edje_edit_state_fill_size_offset_x_get
-               (ed, ppart, state, value);
-             y2 = edje_edit_state_fill_size_offset_y_get
-               (ed, ppart, state, value);
-
-             has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y));
-             has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2));
-
-             if ((has_orgin) || (has_size))
-               {
-                  if (machine) puts("IMAGE-FILL-BEGIN");
-                  else puts(INDENT5 "fill {");
-
-                  if (has_orgin)
-                    {
-                       if (machine)
-                         printf("ORIGIN-RELATIVE-X: %g\n"
-                                "ORIGIN-RELATIVE-Y: %g\n"
-                                "ORIGIN-OFFSET-X: %d\n"
-                                "ORIGIN-OFFSET-Y: %d\n",
-                                dx, dy, x, y);
-                       else
-                         printf(INDENT6 "origin {\n"
-                                INDENT7 "relative: %g %g;\n"
-                                INDENT7 "offset: %d %d;\n"
-                                INDENT6 "}\n",
-                                dx, dy, x, y);
-                    }
-
-                  if (has_size)
-                    {
-                       if (machine)
-                         printf("SIZE-RELATIVE-X: %g\n"
-                                "SIZE-RELATIVE-Y: %g\n"
-                                "SIZE-OFFSET-X: %d\n"
-                                "SIZE-OFFSET-Y: %d\n",
-                                dx2, dy2, x2, y2);
-                       else
-                         printf(INDENT6 "size {\n"
-                                INDENT7 "relative: %g %g;\n"
-                                INDENT7 "offset: %d %d;\n"
-                                INDENT6 "}\n",
-                                dx2, dy2, x2, y2);
-                    }
-
-                  if (machine) puts("IMAGE-FILL-END");
-                  else puts(INDENT5 "}");
-               }
-          }
-
-        if (machine) puts("IMAGE-END");
-        else if (detail > 1) puts(INDENT4 "}");
-     }
-   else if (t == EDJE_PART_TYPE_PROXY)
-     { 
-       int x2, y2;
-       double dx2, dy2;
-       Eina_Bool has_orgin, has_size;
-
-       if (machine) puts("PROXY-BEGIN");
-       else puts(INDENT4 "proxy {");
-       // TODO Support source
-       // TODO support proxy.fill.smooth
-
-       dx = edje_edit_state_fill_origin_relative_x_get
-        (ed, ppart, state, value);
-       dy = edje_edit_state_fill_origin_relative_y_get
-        (ed, ppart, state, value);
-       x = edje_edit_state_fill_origin_offset_x_get
-        (ed, ppart, state, value);
-       y = edje_edit_state_fill_origin_offset_y_get
-        (ed, ppart, state, value);
-
-       dx2 = edje_edit_state_fill_size_relative_x_get
-        (ed, ppart, state, value);
-       dy2 = edje_edit_state_fill_size_relative_y_get
-        (ed, ppart, state, value);
-       x2 = edje_edit_state_fill_size_offset_x_get
-        (ed, ppart, state, value);
-       y2 = edje_edit_state_fill_size_offset_y_get
-        (ed, ppart, state, value);
-
-       has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y));
-       has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2));
-
-       if ((has_orgin) || (has_size))
-        {
-          if (machine) puts("PROXY-FILL-BEGIN");
-          else puts(INDENT5 "fill {");
-
-          if (has_orgin)
-            {
-              if (machine)
-                printf("ORIGIN-RELATIVE-X: %g\n"
-                       "ORIGIN-RELATIVE-Y: %g\n"
-                       "ORIGIN-OFFSET-X: %d\n"
-                       "ORIGIN-OFFSET-Y: %d\n",
-                       dx, dy, x, y);
-              else
-                printf(INDENT6 "origin {\n"
-                       INDENT7 "relative: %g %g;\n"
-                       INDENT7 "offset: %d %d;\n"
-                       INDENT6 "}\n",
-                       dx, dy, x, y);
-            }
-
-          if (has_size)
-            {
-              if (machine)
-                printf("SIZE-RELATIVE-X: %g\n"
-                       "SIZE-RELATIVE-Y: %g\n"
-                       "SIZE-OFFSET-X: %d\n"
-                       "SIZE-OFFSET-Y: %d\n",
-                       dx2, dy2, x2, y2);
-              else
-                printf(INDENT6 "size {\n"
-                       INDENT7 "relative: %g %g;\n"
-                       INDENT7 "offset: %d %d;\n"
-                       INDENT6 "}\n",
-                       dx2, dy2, x2, y2);
-            }
-
-          if (machine) puts("PROXY-FILL-END");
-          else puts(INDENT5 "}");
-        }
-
-        if (machine) puts("PROXY-END");
-        else puts(INDENT4 "}");       
-     }
-   else if ((t == EDJE_PART_TYPE_TEXTBLOCK) || (t == EDJE_PART_TYPE_TEXT))
-     {
-        if (machine) puts("TEXT-BEGIN");
-        else puts(INDENT4 "text {");
-
-        str = edje_edit_state_text_get(ed, ppart, state, value);
-        if (machine) printf("TEXT: %s\n", str ? str : "");
-        else if (str) printf(INDENT5 "text: \"%s\";\n", str);
-        edje_edit_string_free(str);
-
-        str = edje_edit_state_font_get(ed, ppart, state, value);
-        if (machine) printf("FONT: %s\n", str ? str : "");
-        else if (str) printf(INDENT5 "font: \"%s\";\n", str);
-        edje_edit_string_free(str);
-
-        x = edje_edit_state_text_size_get(ed, ppart, state, value);
-        if (machine) printf("SIZE: %d\n", x);
-        else if (x > 0) printf(INDENT5 "size: %d;\n", x);
-
-        // TODO text_class
-
-        dx = edje_edit_state_text_align_x_get(ed, ppart, state, value);
-        dy = edje_edit_state_text_align_y_get(ed, ppart, state, value);
-        if (machine) printf("TEXT-ALIGN-X: %g\nTEXT-ALIGN-Y: %g\n", dx, dy);
-        else if (FDIFF(dx, 0.5) || FDIFF(dy, 0.5))
-          printf(INDENT5 "align: %g %g;\n", dx, dy);
-
-        x = edje_edit_state_text_fit_x_get(ed, ppart, state, value);
-        y = edje_edit_state_text_fit_y_get(ed, ppart, state, value);
-        if (machine) printf("TEXT-FIT-X: %d\nTEXT-FIT-Y: %d\n", x, y);
-        else if ((x) || (y)) printf(INDENT5 "fit: %d %d;\n", x, y);
-
-        dx = edje_edit_state_text_elipsis_get(ed, ppart, state, value);
-        if (machine) printf("TEXT-ELIPSIS: %g\n", dx);
-        else if (FDIFF(dx, 0.5)) printf(INDENT5 "elipsis: %g;\n", dx);
-
-        if (machine) puts("TEXT-END");
-        else puts(INDENT4 "}");
-     }
-   else if (t == EDJE_PART_TYPE_EXTERNAL)
-     {
-        const Eina_List *params, *l;
-        const Edje_External_Param *p;
-
-        params = edje_edit_state_external_params_list_get
-          (ed, ppart, state, value);
-
-        if (params)
-          {
-             if (machine) puts("PARAMS-BEGIN");
-             else puts(INDENT4 "params {");
-
-             EINA_LIST_FOREACH(params, l, p)
-               switch (p->type)
-                 {
-                  case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                     printf(INDENT5 "int: \"%s\" \"%d\";\n", p->name, p->i);
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                     printf(INDENT5 "double: \"%s\" \"%g\";\n", p->name, p->d);
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                     if (p->s)
-                       printf(INDENT5 "string: \"%s\" \"%s\";\n",
-                              p->name, p->s);
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                     printf(INDENT5 "bool: \"%s\" \"%d\";\n", p->name, p->i);
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                     if (p->s)
-                       printf(INDENT5 "choice: \"%s\" \"%s\";\n",
-                              p->name, p->s);
-                     break;
-                  default:
-                     break;
-                 }
-
-             if (machine) puts("PARAMS-END");
-             else puts(INDENT4 "}");
-          }
-     }
-}
-
-static void
-state_end(void)
-{
-   if (machine) puts("PART-STATE-END");
-   else if (detail > 0) puts(INDENT3 "}");
-   else puts(" }");
-}
-
-static void
-part_begin(Evas_Object *ed, const char *name)
-{
-   const char *type = part_type_name_get(edje_edit_part_type_get(ed, name));
-   if (machine) printf("PART-BEGIN\nNAME: %s\nTYPE: %s\n", name, type);
-   else
-     {
-        printf(INDENT2 "part { name: '%s'; type: %s;", name, type);
-        if (detail > 0) putchar('\n');
-     }
-}
-
-static const char *
-text_effect_name_get(Edje_Text_Effect effect)
-{
-   switch (effect)
-     {
-      case EDJE_TEXT_EFFECT_NONE:
-         return "NONE";
-      case EDJE_TEXT_EFFECT_PLAIN:
-         return "PLAIN";
-      case EDJE_TEXT_EFFECT_OUTLINE:
-         return "OUTLINE";
-      case EDJE_TEXT_EFFECT_SOFT_OUTLINE:
-         return "SOFT_OUTLINE";
-      case EDJE_TEXT_EFFECT_SHADOW:
-         return "SHADOW";
-      case EDJE_TEXT_EFFECT_SOFT_SHADOW:
-         return "SOFT_SHADOW";
-      case EDJE_TEXT_EFFECT_OUTLINE_SHADOW:
-         return "OUTLINE_SHADOW";
-      case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW:
-         return "OUTLINE_SOFT_SHADOW";
-      case EDJE_TEXT_EFFECT_FAR_SHADOW:
-         return "FAR_SHADOW";
-      case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW:
-         return "FAR_SOFT_SHADOW";
-      case EDJE_TEXT_EFFECT_GLOW:
-         return "GLOW";
-
-      case EDJE_TEXT_EFFECT_LAST:
-         ERR("Invalid part type %d", effect);
-         return "???";
-      default:
-         ERR("Unknown effect type %d", effect);
-         return "???";
-     }
-}
-
-static inline Eina_Bool
-_c_id_allowed(char c)
-{
-   if ((c >= '0') && (c <= '9')) return EINA_TRUE;
-   if ((c >= 'a') && (c <= 'z')) return EINA_TRUE;
-   if ((c >= 'A') && (c <= 'Z')) return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-static char *
-_api_name_fix(const char *orig)
-{
-   char *d, *d_end, buf[256];
-   const char *s;
-
-   if (!orig) return NULL;
-   if (!api_fix) return strdup(orig);
-
-   s = orig;
-   d = buf;
-   d_end = d + sizeof(buf) - 1;
-   for (; (*s != '\0') && (d < d_end); s++, d++)
-     if (_c_id_allowed(*s)) *d = *s;
-     else *d = '_';
-   *d = '\0';
-
-   return strdup(buf);
-}
-
-static char *
-_part_api_name_get(Evas_Object *ed, const char *ppart)
-{
-   const char *orig = edje_edit_part_api_name_get(ed, ppart);
-   char *fix = _api_name_fix(orig);
-   edje_edit_string_free(orig);
-   return fix;
-}
-
-static void
-part_details(Evas_Object *ed, const char *ppart)
-{
-   Eina_List *states, *l;
-   Eina_Bool b;
-   const char *str, *str2;
-   char *api;
-
-   if (detail < 1) return;
-
-   if (machine) puts("PART-DETAILS-BEGIN");
-
-   str = api =_part_api_name_get(ed, ppart);
-   str2 = edje_edit_part_api_description_get(ed, ppart);
-   if (machine)
-     {
-        printf("API-NAME: %s\n", str ? str : "");
-        printf("API-DESCRIPTION: %s\n", str2 ? str2 : "");
-     }
-   else if ((str) || (str2))
-     printf(INDENT3 "api: \"%s\" \"%s\";\n", str ? str : "", str2 ? str2 : "");
-   free(api);
-   edje_edit_string_free(str2);
-
-   b = edje_edit_part_mouse_events_get(ed, ppart);
-   if (machine) printf("MOUSE_EVENTS: %d\n", b);
-   else if (!b) puts(INDENT3 "mouse_events: 0;");
-
-   if (detail > 1)
-     {
-        b = edje_edit_part_repeat_events_get(ed, ppart);
-        if (machine) printf("REPEAT_EVENTS: %d\n", b);
-        else if (b) puts(INDENT3 "repeat_events: 1;");
-
-        b = edje_edit_part_scale_get(ed, ppart);
-        if (machine) printf("SCALE: %d\n", b);
-        else if (b) puts(INDENT3 "scale: 1;");
-     }
-
-   str = edje_edit_part_clip_to_get(ed, ppart);
-   if (machine) printf("CLIP_TO: %s\n", str ? str : "");
-   else if (str) printf(INDENT3 "clip_to: \"%s\";\n", str);
-   edje_edit_string_free(str);
-
-   str = edje_edit_part_source_get(ed, ppart);
-   if (machine) printf("SOURCE: %s\n", str ? str : "");
-   else if (str) printf(INDENT3 "source: \"%s\";\n", str);
-   edje_edit_string_free(str);
-
-   if (detail > 1)
-     {
-        if (edje_edit_part_type_get(ed, ppart) == EDJE_PART_TYPE_TEXT)
-          {
-             str = text_effect_name_get(edje_edit_part_effect_get(ed, ppart));
-             if (machine) printf("EFFECT: %s\n", str ? str : "");
-             else if (str) printf(INDENT3 "effect: %s;\n", str);
-             /* do not free this str! */
-          }
-
-        if (edje_edit_part_drag_x_get(ed, ppart) ||
-            edje_edit_part_drag_y_get(ed, ppart))
-          {
-             int dir, step, count;
-
-             if (machine) puts("DRAGABLE-BEGIN");
-             else puts(INDENT3 "dragable {");
-
-             dir = edje_edit_part_drag_x_get(ed, ppart);
-             step = edje_edit_part_drag_step_x_get(ed, ppart);
-             count = edje_edit_part_drag_count_x_get(ed, ppart);
-             if (machine) printf("DRAG-X: %d %d %d\n", dir, step, count);
-             else printf(INDENT4 "x: %d %d %d;\n", dir, step, count);
-
-             dir = edje_edit_part_drag_y_get(ed, ppart);
-             step = edje_edit_part_drag_step_y_get(ed, ppart);
-             count = edje_edit_part_drag_count_y_get(ed, ppart);
-             if (machine) printf("DRAG-Y: %d %d %d\n", dir, step, count);
-             else printf(INDENT4 "y: %d %d %d;\n", dir, step, count);
-
-             str = edje_edit_part_drag_confine_get(ed, ppart);
-             if (machine) printf("DRAG-CONFINE: %s\n", str ? str : "");
-             else if (str) printf(INDENT4 "confine: \"%s\";\n", str);
-             edje_edit_string_free(str);
-
-             str = edje_edit_part_drag_event_get(ed, ppart);
-             if (machine) printf("DRAG-EVENTS: %s\n", str ? str : "");
-             else if (str) printf(INDENT4 "events: \"%s\";\n", str);
-             edje_edit_string_free(str);
-
-             if (machine) puts("DRAGABLE-END");
-             else puts(INDENT3 "}");
-          }
-     }
-
-   states = edje_edit_part_states_list_get(ed, ppart);
-   EINA_LIST_FOREACH(states, l, str)
-     {
-        char state[512], *delim;
-        double value;
-        eina_strlcpy(state, str, sizeof(state)); /* bad states_list! :-( */
-        delim = strchr(state, ' ');
-        *delim = '\0';
-        delim++;
-        value = strtod(delim, NULL);
-        state_begin(state, value);
-        state_details(ed, ppart, state, value);
-        state_end();
-     }
-   edje_edit_string_list_free(states);
-
-   if (machine) puts("PART-DETAILS-END");
-}
-
-static void
-part_end(void)
-{
-   if (machine) puts("PART-END");
-   else if (detail > 0) puts(INDENT2 "}");
-   else puts(" }");
-}
-
-static int
-_groups_names_list(void)
-{
-   Eina_List *l;
-   const char *name;
-   Eina_Bool found = EINA_FALSE;
-
-   EINA_LIST_FOREACH(groups, l, name)
-     {
-        if (!matches(name, group))
-          {
-             DBG("filter out group '%s': does not match '%s'", name, group);
-             continue;
-          }
-        found = EINA_TRUE;
-        puts(name);
-     }
-
-   if (!found) WRN("no groups match '%s'", group);
-   return !found;
-}
-
-static int
-_parts_names_list(void)
-{
-   Eina_List *gl, *pl, *parts;
-   const char *gname, *pname;
-   Eina_Bool found_group = EINA_FALSE, found_part = EINA_FALSE;
-
-   EINA_LIST_FOREACH(groups, gl, gname)
-     {
-        Evas_Object *ed;
-
-        if (!matches(gname, group))
-          {
-             DBG("filter out group '%s': does not match '%s'", gname, group);
-             continue;
-          }
-
-        ed = edje_edit_object_add(ecore_evas_get(ee));
-        if (!edje_object_file_set(ed, file, gname))
-          {
-             Edje_Load_Error err = edje_object_load_error_get(ed);
-             const char *errmsg = edje_load_error_str(err);
-             ERR("could not load group '%s' from file '%s': %s",
-                 gname, file, errmsg);
-             evas_object_del(ed);
-             continue;
-          }
-
-        found_group = EINA_TRUE;
-        group_begin(gname);
-
-        parts = edje_edit_parts_list_get(ed);
-        EINA_LIST_FOREACH(parts, pl, pname)
-          {
-             if (!matches(pname, part))
-               {
-                  DBG("filter out part '%s': does not match '%s'", pname, part);
-                  continue;
-               }
-             if (api_only)
-               {
-                  if (!edje_edit_part_api_name_get(ed, pname))
-                    {
-                       DBG("filter out part '%s': not API.", pname);
-                       continue;
-                    }
-               }
-             if (machine) printf("PART: %s\n", pname);
-             else printf(INDENT "part: %s\n", pname);
-          }
-        edje_edit_string_list_free(parts);
-
-        group_end();
-        evas_object_del(ed);
-     }
-
-   if (!found_group) WRN("no groups match '%s'", group);
-   if (!found_part) WRN("no parts match '%s'", part);
-   return (!found_group) || (!found_part);
-}
-
-static Eina_Bool
-_group_parts_list(Evas_Object *ed)
-{
-   Eina_Bool found = EINA_FALSE;
-   Eina_List *parts, *l;
-   const char *name;
-
-   parts_begin();
-
-   parts = edje_edit_parts_list_get(ed);
-   EINA_LIST_FOREACH(parts, l, name)
-     {
-        if (!matches(name, part))
-          {
-             DBG("filter out part '%s': does not match '%s'", name, part);
-             continue;
-          }
-        if (api_only)
-          {
-             if (!edje_edit_part_api_name_get(ed, name))
-               {
-                  DBG("filter out part '%s': not API.", name);
-                  continue;
-               }
-          }
-
-        found = EINA_TRUE;
-        part_begin(ed, name);
-        part_details(ed, name);
-        part_end();
-     }
-
-   parts_end();
-   return found;
-}
-
-static void
-programs_begin(void)
-{
-   if (machine) puts("PROGRAMS-BEGIN");
-   else puts(INDENT "programs {");
-}
-
-static void
-programs_end(void)
-{
-   if (machine) puts("PROGRAMS-END");
-   else puts(INDENT "}");
-}
-
-static void
-program_begin(const char *name)
-{
-   if (machine) printf("PROGRAM-BEGIN\nNAME: %s\n", name ? name : "");
-   else
-     {
-        printf(INDENT2 "program { name: '%s';\n", name ? name : "");
-     }
-}
-
-static void
-program_end(void)
-{
-   if (machine) puts("PROGRAM-END");
-   else puts(INDENT2 "}");
-}
-
-
-static char *
-_program_api_name_get(Evas_Object *ed, const char *pprogram)
-{
-   const char *orig = edje_edit_program_api_name_get(ed, pprogram);
-   char *fix = _api_name_fix(orig);
-   edje_edit_string_free(orig);
-   return fix;
-}
-
-static const char *
-_transition_name_get(Edje_Tween_Mode mode)
-{
-   switch (mode)
-     {
-      case EDJE_TWEEN_MODE_LINEAR: return "LINEAR";
-      case EDJE_TWEEN_MODE_ACCELERATE: return "ACCELERATE";
-      case EDJE_TWEEN_MODE_DECELERATE: return "DECELERATE";
-      case EDJE_TWEEN_MODE_SINUSOIDAL: return "SINUSOIDAL";
-      default:
-         ERR("Unknown transition mode %d", mode);
-         return "???";
-     }
-}
-
-static void
-program_details(Evas_Object *ed, const char *pprogram)
-{
-   const char *str, *str2;
-   char *api;
-
-   if (detail < 1) return;
-
-   if (machine) puts("PROGRAM-DETAILS-BEGIN");
-
-   str = api =_program_api_name_get(ed, pprogram);
-   str2 = edje_edit_program_api_description_get(ed, pprogram);
-   if (machine)
-     {
-        printf("API-NAME: %s\n", str ? str : "");
-        printf("API-DESCRIPTION: %s\n", str2 ? str2 : "");
-     }
-   else if ((str) || (str2))
-     printf(INDENT3 "api: \"%s\" \"%s\";\n", str ? str : "", str2 ? str2 : "");
-   free(api);
-   edje_edit_string_free(str2);
-
-   str = edje_edit_program_signal_get(ed, pprogram);
-   if (machine) printf("SIGNAL: %s\n", str ? str : "");
-   else if (str) printf(INDENT3 "signal: \"%s\";\n", str);
-   edje_edit_string_free(str);
-
-   str = edje_edit_program_source_get(ed, pprogram);
-   if (machine) printf("SOURCE: %s\n", str ? str : "");
-   else if (str) printf(INDENT3 "source: \"%s\";\n", str);
-   edje_edit_string_free(str);
-
-   if (detail >= 1)
-     {
-        Eina_List *lst, *l;
-        Edje_Action_Type type = edje_edit_program_action_get(ed, pprogram);
-        switch (type)
-          {
-           case EDJE_ACTION_TYPE_ACTION_STOP:
-              if (machine) puts("ACTION: ACTION_STOP");
-              else puts(INDENT3 "action: ACTION_STOP;");
-              break;
-           case EDJE_ACTION_TYPE_STATE_SET:
-              str = edje_edit_program_state_get(ed, pprogram);
-              if (machine)
-                printf("ACTION: STATE_SET\nACTION-STATE: %s %g\n",
-                       str, edje_edit_program_value_get(ed, pprogram));
-              else
-                printf(INDENT3 "action: STATE_SET \"%s\" %2.1f;\n",
-                       str, edje_edit_program_value_get(ed, pprogram));
-              edje_edit_string_free(str);
-              break;
-           case EDJE_ACTION_TYPE_SIGNAL_EMIT:
-              str = edje_edit_program_state_get(ed, pprogram);
-              str2 = edje_edit_program_state2_get(ed, pprogram);
-              if (machine)
-                printf("ACTION: SIGNAL_EMIT\nACTION-SIGNAL: %s\n"
-                       "ACTION-SOURCE: %s\n",
-                       str ? str : "", str2 ? str2 : "");
-              else if ((str) || (str2))
-                printf(INDENT3 "action: SIGNAL_EMIT \"%s\" \"%s\";\n",
-                       str ? str : "", str2 ? str2 : "");
-              edje_edit_string_free(str);
-              edje_edit_string_free(str2);
-              break;
-              //TODO Support Drag
-              //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n");
-              //~ break;
-              //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n");
-              //~ break;
-              //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n");
-              //~ break;
-           default:
-              ERR("Unhandled pprogram action type %d", type);
-              break;
-          }
-
-        if (detail > 1)
-          {
-             double from, range;
-
-             from = edje_edit_program_transition_time_get(ed, pprogram);
-             if (from > 0.0)
-               {
-                  str = _transition_name_get
-                    (edje_edit_program_transition_get(ed, pprogram));
-                  if (machine)
-                    printf("TRANSITION-NAME: %s\nTRANSITION-DURATION: %g\n",
-                           str, from);
-                  else printf(INDENT3 "transition: %s %g;\n", str, from);
-                  /* do not free str! */
-               }
-
-             from = edje_edit_program_in_from_get(ed, pprogram);
-             range = edje_edit_program_in_range_get(ed, pprogram);
-             if (FDIFF(from, 0.0) || FDIFF(range, 0.0))
-               {
-                  if (machine)
-                    printf("IN-FROM: %g\nIN-RANGE: %g\n", from, range);
-                  else printf(INDENT3 "in: %g %g;\n", from, range);
-               }
-          }
-
-        lst = edje_edit_program_targets_get(ed, pprogram);
-        EINA_LIST_FOREACH(lst, l, str)
-          if (machine) printf("TARGET: %s\n", str);
-          else printf(INDENT3 "target: \"%s\";\n", str);
-        edje_edit_string_list_free(lst);
-
-        lst = edje_edit_program_afters_get(ed, pprogram);
-        EINA_LIST_FOREACH(lst, l, str)
-          if (machine) printf("AFTER: %s\n", str);
-          else printf(INDENT3 "after: \"%s\";\n", str);
-        edje_edit_string_list_free(lst);
-
-        // TODO Support script {}
-     }
-
-   if (machine) puts("PROGRAM-DETAILS-END");
-}
-
-static Eina_Bool
-_group_programs_list(Evas_Object *ed)
-{
-   Eina_Bool found = EINA_FALSE;
-   Eina_List *programs, *l;
-   const char *name;
-
-   programs_begin();
-
-   /* TODO: change programs to operate on their ID instead of names!
-    * needs huge change in Edje_Edit.h
-    */
-   WRN("listing only programs with names!");
-   programs = edje_edit_programs_list_get(ed);
-   EINA_LIST_FOREACH(programs, l, name)
-     {
-        if (!matches(name, program))
-          {
-             DBG("filter out program '%s': does not match '%s'", name, program);
-             continue;
-          }
-        if (api_only)
-          {
-             if (!edje_edit_program_api_name_get(ed, name))
-               {
-                  DBG("filter out program '%s': not API.", name);
-                  continue;
-               }
-          }
-
-        found = EINA_TRUE;
-        program_begin(name);
-        program_details(ed, name);
-        program_end();
-     }
-
-   programs_end();
-   return found;
-}
-
-static int
-_list(const char *mode)
-{
-   Eina_List *l;
-   const char *name;
-   int ret = 0;
-   Eina_Bool found_group = EINA_FALSE;
-   Eina_Bool req_part, found_part, req_prog, found_prog;
-
-   if ((!strcmp(mode, "parts")) || (!strcmp(mode, "groups")))
-     {
-        req_part = EINA_TRUE;
-        found_part = EINA_FALSE;
-     }
-   else
-     {
-        req_part = EINA_FALSE;
-        found_part = EINA_TRUE;
-     }
-
-   if ((!strcmp(mode, "programs")) || (!strcmp(mode, "groups")))
-     {
-        req_prog = EINA_TRUE;
-        found_prog = EINA_FALSE;
-     }
-   else
-     {
-        req_prog = EINA_FALSE;
-        found_prog = EINA_TRUE;
-     }
-
-   EINA_LIST_FOREACH(groups, l, name)
-     {
-        Evas_Object *ed;
-
-        if (!matches(name, group))
-          {
-             DBG("filter out group '%s': does not match '%s'", name, group);
-             continue;
-          }
-
-        ed = edje_edit_object_add(ecore_evas_get(ee));
-        if (!edje_object_file_set(ed, file, name))
-          {
-             Edje_Load_Error err = edje_object_load_error_get(ed);
-             const char *errmsg = edje_load_error_str(err);
-             ERR("could not load group '%s' from file '%s': %s",
-                 name, file, errmsg);
-             evas_object_del(ed);
-             continue;
-          }
-
-        found_group = EINA_TRUE;
-        group_begin(name);
-        group_details(ed);
-
-        if (req_part) found_part |= _group_parts_list(ed);
-        if (req_prog) found_prog |= _group_programs_list(ed);
-
-        group_end();
-        evas_object_del(ed);
-     }
-
-   /* no hard requirement for parts or programs for group listing */
-   if (!strcmp(mode, "groups")) req_part = req_prog = EINA_FALSE;
-
-   if (!found_group)
-     {
-        WRN("no groups match '%s'", group);
-        ret = 1;
-     }
-   if ((req_part) && (!found_part))
-     {
-        WRN("no parts match '%s'", part);
-        ret = 1;
-     }
-   if ((req_prog) && (!found_prog))
-     {
-        WRN("no programs match '%s'", program);
-        ret = 1;
-     }
-   return ret;
-}
-
-static Evas_Object *
-_edje_object_any_get(void)
-{
-   Evas_Object *ed = edje_edit_object_add(ecore_evas_get(ee));
-   Eina_List *l;
-   const char *name;
-   if (!ed) return NULL;
-   EINA_LIST_FOREACH(groups, l, name)
-     if (edje_object_file_set(ed, file, name)) return ed;
-   evas_object_del(ed);
-   return NULL;
-}
-
-static Eina_Bool
-_gdata_list(void)
-{
-   Evas_Object *ed = _edje_object_any_get();
-   Eina_List *l, *data;
-   const char *key;
-
-   if (!ed) return EINA_FALSE;
-
-   data = edje_edit_data_list_get(ed);
-
-   if (machine) puts("DATA-BEGIN");
-   else puts("data {");
-
-   EINA_LIST_FOREACH(data, l, key)
-     {
-        const char *value = edje_edit_data_value_get(ed, key);
-        if (machine) printf("ITEM: \"%s\" \"%s\"\n", key, value);
-        else printf(INDENT "item: \"%s\" \"%s\";\n", key, value);
-     }
-
-   if (machine) puts("DATA-END");
-   else puts("}");
-
-   edje_edit_string_list_free(data);
-   evas_object_del(ed);
-   return EINA_TRUE;
-}
-
-static const char *
-_comp_str_get(Evas_Object *ed, const char *img)
-{
-   static char buf[128];
-   Edje_Edit_Image_Comp type = edje_edit_image_compression_type_get(ed, img);
-   int rate;
-
-   switch (type)
-     {
-      case EDJE_EDIT_IMAGE_COMP_RAW:
-         return "RAW";
-      case EDJE_EDIT_IMAGE_COMP_USER:
-         return "USER";
-      case EDJE_EDIT_IMAGE_COMP_COMP:
-         return "COMP";
-      case EDJE_EDIT_IMAGE_COMP_LOSSY:
-         rate = edje_edit_image_compression_rate_get(ed, img);
-         snprintf(buf, sizeof(buf), "LOSSY %d", rate);
-         return buf;
-      default:
-         ERR("Unknown compression type %d", type);
-         return "???";
-     }
-}
-
-static Eina_Bool
-_images_list(void)
-{
-   Evas_Object *ed = _edje_object_any_get();
-   Eina_List *l, *images;
-   const char *img;
-
-   if (!ed) return EINA_FALSE;
-
-   images = edje_edit_images_list_get(ed);
-
-   if (machine) puts("IMAGES-BEGIN");
-   else puts("images {");
-
-   EINA_LIST_FOREACH(images, l, img)
-     {
-        int id = edje_edit_image_id_get(ed, img);
-        const char *comp = _comp_str_get(ed, img);
-
-        if (detail < 1)
-          {
-             if (machine) printf("IMAGE: %s\n", img);
-             else printf(INDENT "image: \"%s\" %s;\n", img, comp);
-          }
-        else if (detail == 1)
-          {
-             if (machine) printf("IMAGE: \"%s\" \"%s\"\n", img, comp);
-             else printf(INDENT "image: \"%s\" %s;\n", img, comp);
-          }
-        else
-          {
-             if (machine)
-               printf("IMAGE: \"edje/images/%d\" \"%s\" \"%s\"\n",
-                      id, img, comp);
-             else
-               printf(INDENT "image: \"%s\" %s; /* id: \"edje/images/%d\" */\n",
-                      img, comp, id);
-          }
-     }
-
-   if (machine) puts("IMAGES-END");
-   else puts("}");
-
-   edje_edit_string_list_free(images);
-   evas_object_del(ed);
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_fonts_list(void)
-{
-   Evas_Object *ed = _edje_object_any_get();
-   Eina_List *l, *fonts;
-   const char *alias;
-
-   if (!ed) return EINA_FALSE;
-
-   fonts = edje_edit_fonts_list_get(ed);
-
-   if (machine) puts("FONTS-BEGIN");
-   else puts("fonts {");
-
-   EINA_LIST_FOREACH(fonts, l, alias)
-     {
-        const char *path = edje_edit_font_path_get(ed, alias);
-
-        if (detail < 1)
-          {
-             if (machine) printf("FONT: %s\n", alias);
-             else printf(INDENT "font: \"%s\" \"%s\";\n", path, alias);
-          }
-        else if (detail == 1)
-          {
-             if (machine) printf("FONT: \"%s\" \"%s\"\n", path, alias);
-             else printf(INDENT "font: \"%s\" \"%s\";\n", path, alias);
-          }
-        else
-          {
-             if (machine)
-               printf("FONT: \"edje/fonts/%s\" \"%s\" \"%s\"\n",
-                      alias, path, alias);
-             else
-               printf(INDENT
-                      "font: \"%s\" \"%s\"; /* id: \"edje/fonts/%s\" */\n",
-                      path, alias, alias);
-          }
-
-        edje_edit_string_free(path);
-     }
-
-   if (machine) puts("FONTS-END");
-   else puts("}");
-
-   edje_edit_string_list_free(fonts);
-   evas_object_del(ed);
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_externals_list(void)
-{
-   Evas_Object *ed = _edje_object_any_get();
-   Eina_List *l, *externals;
-   const char *key;
-
-   if (!ed) return EINA_FALSE;
-
-   externals = edje_edit_externals_list_get(ed);
-
-   if (machine) puts("EXTERNALS-BEGIN");
-   else puts("externals {");
-
-   EINA_LIST_FOREACH(externals, l, key)
-     {
-        if (machine) printf("EXTERNAL: %s\n", key);
-        else printf(INDENT "external: \"%s\";\n", key);
-     }
-
-   if (machine) puts("EXTERNALS-END");
-   else puts("}");
-
-   edje_edit_string_list_free(externals);
-   evas_object_del(ed);
-   return EINA_TRUE;
-}
-
-
-int
-main(int argc, char **argv)
-{
-   Eina_Bool quit_option = EINA_FALSE;
-   char *mode = NULL;
-   char *detail_name = NULL;
-   int arg_index;
-   int ret = 0;
-   Ecore_Getopt_Value values[] = {
-     ECORE_GETOPT_VALUE_STR(mode),
-     ECORE_GETOPT_VALUE_STR(detail_name),
-     ECORE_GETOPT_VALUE_STR(group),
-     ECORE_GETOPT_VALUE_STR(part),
-     ECORE_GETOPT_VALUE_STR(program),
-     ECORE_GETOPT_VALUE_BOOL(api_only),
-     ECORE_GETOPT_VALUE_BOOL(api_fix),
-     ECORE_GETOPT_VALUE_BOOL(machine),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_NONE
-   };
-
-   setlocale(LC_NUMERIC, "C");
-
-   ecore_init();
-   ecore_evas_init();
-   eina_init();
-   edje_init();
-
-   _log_dom = eina_log_domain_register("edje_inspector", EINA_COLOR_YELLOW);
-   if (_log_dom < 0)
-     {
-        EINA_LOG_CRIT("could not register log domain 'edje_inspector'");
-        ret = 1;
-        goto error_log;
-     }
-
-   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
-   if (arg_index < 0)
-     {
-        ERR("could not parse arguments.");
-        ret = 1;
-        goto error_getopt;
-     }
-   else if (quit_option) goto error_getopt;
-   else if (arg_index != argc - 1)
-     {
-        ERR("incorrect number of parameters. Requires one single file.");
-        ret = 1;
-        goto error_getopt;
-     }
-
-   if (!mode) mode = (char *)mode_choices[0];
-
-   if (detail_name)
-     {
-        if (!strcmp(detail_name, "none")) detail = 0;
-        else if (!strcmp(detail_name, "terse")) detail = 1;
-        else if (!strcmp(detail_name, "all")) detail = 2;
-        else ERR("Unknown detail level: '%s'", detail_name);
-     }
-
-   file = argv[arg_index];
-
-   // check if the file is accessible
-   if (access(file, R_OK) == -1)
-     {
-        int e = errno;
-        ERR("File '%s' not accessible, error %d (%s).\n",
-            file, e, strerror(e));
-        ret = 1;
-        goto error_getopt;
-     }
-
-   DBG("mode=%s, detail=%d(%s), group=%s, part=%s, program=%s, api-only=%hhu"
-       ", api-fix=%hhu, machine=%hhu, file=%s",
-       mode, detail, detail_name,
-       group ? group : "",
-       part ? part : "",
-       program ? program : "",
-       api_only, api_fix, machine, file);
-
-
-   groups = edje_file_collection_list(file);
-   if (!groups)
-     {
-        ERR("no groups in edje file '%s'", file);
-        ret = 1;
-        goto error_getopt;
-     }
-
-   if (!strcmp(mode, "groups-names")) ret = _groups_names_list();
-   else
-     {
-        ee = ecore_evas_buffer_new(1, 1);
-        if (!ee)
-          {
-             ERR("could not create ecore_evas_buffer");
-             ret = 1;
-          }
-        else
-          {
-             if (!strcmp(mode, "parts-names")) ret = _parts_names_list();
-             else if (!strcmp(mode, "global-data")) ret = _gdata_list();
-             else if (!strcmp(mode, "images")) ret = _images_list();
-             else if (!strcmp(mode, "fonts")) ret = _fonts_list();
-             else if (!strcmp(mode, "externals")) ret = _externals_list();
-             else ret = _list(mode);
-             ecore_evas_free(ee);
-          }
-     }
-
-   edje_file_collection_list_free(groups);
- error_getopt:
-   eina_log_domain_unregister(_log_dom);
- error_log:
-   edje_shutdown();
-   ecore_evas_shutdown();
-   ecore_shutdown();
-   eina_shutdown();
-
-   return ret;
-}
diff --git a/legacy/edje/src/bin/edje_multisense_convert.c b/legacy/edje/src/bin/edje_multisense_convert.c
deleted file mode 100644 (file)
index 347961e..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-#include "edje_multisense_convert.h"
-
-#ifdef HAVE_LIBSNDFILE
-# define READBUF 1024
-# ifdef HAVE_VORBIS
-#  include <vorbis/vorbisenc.h>
-# endif
-
-# ifdef HAVE_LIBFLAC
-#  include <FLAC/metadata.h>
-#  include <FLAC/stream_encoder.h>
-# endif
-
-Edje_Sound_Encode *
-_edje_multisense_encode(const char *filename, Edje_Sound_Sample *sample, double quality __UNUSED__)
-{
-   SF_INFO sfinfo;
-   SNDFILE* sfile;
-   Edje_Sound_Encode *enc_info;
-   
-   enc_info = calloc(1, sizeof(Edje_Sound_Encode));
-   if (!enc_info)
-     {
-        ERR("while allocating memory to load file ");
-        exit(-1);
-     }
-   memset (&sfinfo, 0, sizeof (SF_INFO));
-   
-   enc_info->encoded = EINA_FALSE;
-   enc_info->comp_type = "RAW PCM";
-   
-   // Open wav file using sndfile
-   sfile = sf_open (filename, SFM_READ, &sfinfo);
-   if (!sfile)
-     {
-        ERR("Unable to open audio file: %s", filename);
-        exit(-1);
-     }
-
-   if (!sf_format_check(&sfinfo))
-     {
-        ERR("Unknown file, not a valid audio file");
-        exit(-1);
-     }
-
-   if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_COMP)
-     {
-        sf_close(sfile);
-#ifdef HAVE_LIBFLAC
-        //encode provided wav file to flac
-        enc_info->file = _edje_multisense_encode_to_flac((char *)filename, sfinfo);
-        if (enc_info->file)
-          {
-             enc_info->comp_type = "FLAC";
-             enc_info->encoded = EINA_TRUE;
-          }
-#else
-        WRN("WARNING: Unable to encode sound %s to FLAC compression",
-            sample->name);
-#endif
-     }
-   else if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY)
-     {
-        sf_close(sfile);
-#ifdef HAVE_VORBIS
-        //encode provided wav file to ogg-vorbis
-        enc_info->file = _edje_multisense_encode_to_ogg_vorbis((char *)filename,
-                                                               quality, sfinfo);
-        if (enc_info->file)
-          {
-             enc_info->comp_type = "OGG-VORBIS";
-             enc_info->encoded = EINA_TRUE;
-          }
-#else
-        WRN("WARNING: Unable to encode sound %s to Ogg-Vorbis",
-            sample->name);
-#endif
-     }
-   else
-     eina_stringshare_replace(&enc_info->file, filename);
-   return enc_info;
-}
-
-#ifdef HAVE_LIBFLAC
-const char*
-_edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo)
-{
-   unsigned int total_samples = 0; /* can use a 32-bit number due to WAVE size limitations */
-   FLAC__bool ok = 1;
-   FLAC__StreamEncoder *encoder = 0;
-   FLAC__StreamEncoderInitStatus init_status;
-   FLAC__StreamMetadata *metadata[2];
-   FLAC__StreamMetadata_VorbisComment_Entry entry;
-   SNDFILE *sfile;
-   sf_count_t size;
-   char *tmp;
-
-   sfile = sf_open(snd_path, SFM_READ, &sfinfo);
-   if (!sfile) return NULL;
-   if (!sf_format_check(&sfinfo))
-     {
-        sf_close(sfile);
-        return NULL;
-     }
-   size = sf_seek(sfile, 0, SEEK_END);
-   sf_seek(sfile, 0, SEEK_SET);
-   tmp = malloc(strlen(snd_path) + 1 + 5);
-   if (!tmp)
-     {
-        sf_close(sfile);
-        return NULL;
-     }
-   strcpy(tmp, snd_path);
-   snd_path = tmp;
-   strcat(snd_path, ".flac");
-
-   total_samples = size;
-
-   /* allocate the encoder */
-   if ((encoder = FLAC__stream_encoder_new()) == NULL)
-     {
-        ERR("ERROR: Creating FLAC encoder\n");
-        free(snd_path);
-        sf_close(sfile);
-        return NULL;
-     }
-
-   /* Verify it's own encoded output. This will slow the encoding process. */
-   ok &= FLAC__stream_encoder_set_verify(encoder, 1);
-
-   //Levels range from 0 (fastest, least compression) to 8 (slowest, most compression).
-   //A value larger than 8 will be treated as 8.
-   //5 is used for good compression and moderate compression/decompression speed.
-   ok &= FLAC__stream_encoder_set_compression_level(encoder, 5);
-   ok &= FLAC__stream_encoder_set_channels(encoder, sfinfo.channels);
-   ok &= FLAC__stream_encoder_set_bits_per_sample(encoder, 16);
-   ok &= FLAC__stream_encoder_set_sample_rate(encoder, sfinfo.samplerate);
-   ok &= FLAC__stream_encoder_set_total_samples_estimate(encoder, total_samples);
-
-   /* now add some metadata; we'll add some tags and a padding block */
-   if (ok)
-     {
-        if ((metadata[0] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)) == NULL
-            || (metadata[1] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)) == NULL
-            || !FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&entry, "Encoder", "flac")
-            || !FLAC__metadata_object_vorbiscomment_append_comment(metadata[0], entry, 0))
-          {
-             ERR("ERROR: out of memory error or tag error\n");
-             ok = 0;
-          }
-        metadata[1]->length = 16; /* set the padding length */
-        ok = FLAC__stream_encoder_set_metadata(encoder, metadata, 2);
-     }
-
-   /* initialize encoder */
-   if (ok)
-     {
-        init_status = FLAC__stream_encoder_init_file(encoder, snd_path, NULL,
-                                                     (void *)(long)(total_samples));
-        if (init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK)
-          {
-             ERR("ERROR: unable to initialize FLAC encoder: %s\n",
-                 FLAC__StreamEncoderInitStatusString[init_status]);
-             ok = 0;
-          }
-     }
-   
-   /* read blocks of samples from WAVE file and feed to encoder */
-   while (ok)
-     {
-        FLAC__int32 readbuffer[READBUF * 2];
-        sf_count_t count;
-        int i;
-        
-        count = sf_readf_int(sfile, readbuffer, READBUF);
-        if (count <= 0) break;
-        for (i = 0; i < (count * sfinfo.channels); i++)
-          readbuffer[i] = readbuffer[i] >> 16;
-        ok = FLAC__stream_encoder_process_interleaved(encoder, readbuffer,
-                                                      count);
-     }
-
-   FLAC__stream_encoder_finish(encoder);
-   /* now that encoding is finished, the metadata can be freed */
-   FLAC__metadata_object_delete(metadata[0]);
-   FLAC__metadata_object_delete(metadata[1]);
-
-   FLAC__stream_encoder_delete(encoder);
-   sf_close(sfile);
-   return (snd_path);
-}
-#endif
-
-#ifdef HAVE_VORBIS
-const char *
-_edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sfinfo)
-{
-   ogg_stream_state os; /* take physical pages, weld into a logical stream of packets */
-   ogg_page og; /* one Ogg bitstream page.  Vorbis packets are inside */
-   ogg_packet op; /* one raw packet of data for decode */
-   vorbis_info vi; /* struct that stores all the static vorbis bitstream settings */
-   vorbis_comment vc; /* struct that stores all the user comments */
-   vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
-   vorbis_block vb; /* local working space for packet->PCM decode */
-   int eos = 0, ret;
-   char *tmp;
-   SNDFILE *sfile;
-   FILE *fout;
-
-   sfile = sf_open(snd_path, SFM_READ, &sfinfo);
-   if (!sfile) return NULL;
-   if (!sf_format_check(&sfinfo))
-     {
-        sf_close(sfile);
-        return NULL;
-     }
-   tmp = malloc(strlen(snd_path) + 1 + 4);
-   if (!tmp)
-     {
-        sf_close(sfile);
-        return NULL;
-     }
-   strcpy(tmp, snd_path);
-   snd_path = tmp;
-   strcat(snd_path, ".ogg");
-   fout = fopen(snd_path, "wb");
-   if (!fout)
-     {
-        free(snd_path);
-        sf_close(sfile);
-        return NULL;
-     }
-
-   /********** Encode setup ************/
-   vorbis_info_init(&vi);
-   ret = vorbis_encode_init(&vi, sfinfo.channels, sfinfo.samplerate, 
-                            -1, (long)(quality * 1000), -1);
-   if (ret == OV_EFAULT) printf("OV_EFAULT\n");
-   if (ret == OV_EINVAL) printf("OV_EINVAL\n");
-   if (ret == OV_EIMPL) printf("OV_EIMPL\n");
-
-   if (ret)
-     {
-        fclose(fout);
-        free(snd_path);
-        sf_close(sfile);
-        return NULL;
-     }
-
-   /* add a comment */
-   vorbis_comment_init(&vc);
-   vorbis_comment_add_tag(&vc, "", "");
-
-   /* set up the analysis state and auxiliary encoding storage */
-   vorbis_analysis_init(&vd, &vi);
-   vorbis_block_init(&vd, &vb);
-
-   srand(time(NULL));
-   ogg_stream_init(&os, rand());
-
-   ogg_packet header;
-   ogg_packet header_comm;
-   ogg_packet header_code;
-
-   vorbis_analysis_headerout(&vd, &vc, &header, &header_comm, &header_code);
-   ogg_stream_packetin(&os, &header); /* automatically placed in its own page */
-   ogg_stream_packetin(&os, &header_comm);
-   ogg_stream_packetin(&os, &header_code);
-
-   while (!eos)
-     {
-        int result = ogg_stream_flush(&os, &og);
-        if (!result) break;
-        fwrite(og.header, 1, og.header_len, fout);
-        fwrite(og.body, 1, og.body_len, fout);
-     }
-
-   while (!eos)
-     {
-        int i, ch;
-        float readbuffer[READBUF * 2];
-        sf_count_t count;
-        
-        count = sf_readf_float(sfile, readbuffer, READBUF);
-
-        if (!count)
-          vorbis_analysis_wrote(&vd, 0);
-        else
-          {
-             float **buffer = vorbis_analysis_buffer(&vd, count);
-             
-             /* uninterleave samples */
-             for (i = 0; i < count; i++)
-               {
-                  for (ch = 0; ch < sfinfo.channels; ch++)
-                    buffer[ch][i]= readbuffer[(i * sfinfo.channels) + ch];
-               }
-             vorbis_analysis_wrote(&vd, i);
-          }
-        while (vorbis_analysis_blockout(&vd, &vb) == 1)
-          {
-             vorbis_analysis(&vb, NULL);
-             vorbis_bitrate_addblock(&vb);
-
-             while (vorbis_bitrate_flushpacket(&vd, &op))
-               {
-                  ogg_stream_packetin(&os, &op);
-                  while (!eos)
-                    {
-                       int result = ogg_stream_pageout(&os, &og);
-                       if (!result) break;
-                       fwrite(og.header, 1, og.header_len, fout);
-                       fwrite(og.body, 1, og.body_len, fout);
-                       if (ogg_page_eos(&og)) eos = 1;
-                    }
-               }
-          }
-     }
-   ogg_stream_clear(&os);
-   vorbis_block_clear(&vb);
-   vorbis_dsp_clear(&vd);
-   vorbis_comment_clear(&vc);
-   vorbis_info_clear(&vi);
-   sf_close(sfile);
-   fclose (fout);
-   return snd_path;
-}
-#endif
-#endif
diff --git a/legacy/edje/src/bin/edje_multisense_convert.h b/legacy/edje/src/bin/edje_multisense_convert.h
deleted file mode 100644 (file)
index 05ee2f7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef EDJE_SND_CONVERT_H__
-# define EDJE_SND_CONVERT_H__
-#include "edje_private.h"
-
-#ifdef HAVE_LIBSNDFILE
-#include <sndfile.h>
-
-#define SF_CONTAINER(x)    ((x) & SF_FORMAT_TYPEMASK)
-#define SF_CODEC(x)        ((x) & SF_FORMAT_SUBMASK)
-
-typedef struct _Edje_Sound_Encode  Edje_Sound_Encode;
-
-struct _Edje_Sound_Encode /*Encoding information*/
-{
-   const char *file; /* the encode sound file path */
-   Eina_Bool encoded; /* True if encoding is successful else False */
-   char *comp_type; /* either LOSSLESS (FLAC) or LOSSY (Ogg/Vorbis) Compression */
-};
-
-Edje_Sound_Encode *_edje_multisense_encode(const char* filename, Edje_Sound_Sample *sample, double quality);
-const char *_edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo);
-const char *_edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sfinfo);
-
-#endif
-#endif
diff --git a/legacy/edje/src/bin/edje_pick.c b/legacy/edje/src/bin/edje_pick.c
deleted file mode 100644 (file)
index 500ac7c..0000000
+++ /dev/null
@@ -1,1376 +0,0 @@
-#ifdef HAVE_CONFIG_H\r
-# include "config.h"\r
-#endif\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include <stdlib.h>\r
-#include <errno.h>\r
-#include <unistd.h>\r
-#include <fcntl.h>\r
-#include <ctype.h>\r
-#include <Ecore_Getopt.h>\r
-\r
-#ifdef HAVE_EVIL\r
-# include <Evil.h>\r
-#endif\r
-\r
-#include "edje_cc.h"\r
-#include "edje_private.h"\r
-\r
-#define EDJE_PICK_HELP_STRING \\r
-"\nEdje Pick - the \"edj\" merging tool.\n\\r
-===================================\n\n\\r
-Use Edje Pick to compose a single edj file \\r
-by selecting groups from edj files.\n\n\\r
-Use Edje Pick as follows:\n\\r
-Include files with \'--include\' file-name\n\\r
-Follow the included file-name by names of selected groups from this file.\n\\r
-To select a group use: \'--group\' group-name.\n\n\\r
-You must specify merged file name with \'--output\' file-name.\n\\r
-Use '--verbose' switch to get detailed log.\n\n\\r
-To produce 3rd file \'out.edj\' that composed  of:\n\\r
-Group \'test\' from \'ex1.edj\' and \'test2\', \'test3\', from \'ex2.edj\'\n\\r
-edje_pick -i ex1.edj -g test -i ex2.edj -g test2 -g test3 -o out.edj\n\n\\r
-By using \'--append\' whole file content is selected.\n\\r
-No need to specify selected groups with this switch.\n\\r
-Note that selected group with will override group with the same name\n\\r
-from appended-file when using \'--append\' switch.\n\n\\r
-Example, the command:\n\\r
-edje_pick -a theme1.edj -i default.edj -g elm/button/base/default \\r
--g elm/check/base/default -o hybrid.edj\n\n\\r
-will produce a 3rd theme file \'hybrid.edj\',\n\\r
-composed of all theme1.edj components.\n\\r
-Replacing the button and check with widgets taken from default theme.\n\\r
-(Given that theme1.edj button, check group-name are as in default.edj)\n"\r
-\r
-struct _Edje_Pick_Id\r
-{\r
-   int old_id;\r
-   int new_id;\r
-   Eina_Bool used;\r
-};\r
-typedef struct _Edje_Pick_Id Edje_Pick_Id;\r
-\r
-struct _Edje_Pick_File_Params\r
-{\r
-   const char *name;\r
-   Eina_List *groups;\r
-   Edje_File *edf;     /* Keeps all file data after reading  */\r
-   Eina_Bool append;   /* Take everything from this file */\r
-\r
-   /* We hold list of IDs for each file */\r
-   Eina_List *scriptlist;\r
-   Eina_List *luascriptlist;\r
-   Eina_List *imagelist;\r
-   Eina_List *imagesetlist;  /* List of IDs (Edje_Pick_Data) for image sets */\r
-   Eina_List *samplelist;\r
-   Eina_List *tonelist;\r
-};\r
-typedef struct _Edje_Pick_File_Params Edje_Pick_File_Params;\r
-\r
-struct _Edje_Pick_Data\r
-{\r
-   const char *filename;  /* Image, Sample File Name       */\r
-   void *entry ;          /* used to build output file dir FIXME: REMOVE THIS */\r
-   void *data;            /* Data as taken from input file */\r
-\r
-   int size;\r
-   Edje_Pick_Id id;\r
-};\r
-typedef struct _Edje_Pick_Data Edje_Pick_Data;\r
-\r
-struct _Edje_Pick_Tone\r
-{\r
-   Edje_Sound_Tone *tone;\r
-   Eina_Bool used;\r
-};\r
-typedef struct _Edje_Pick_Tone Edje_Pick_Tone;\r
-\r
-struct _Edje_Pick_Font\r
-{\r
-   Edje_Font *f;\r
-   Eina_Bool used;\r
-};\r
-typedef struct _Edje_Pick_Font Edje_Pick_Font;\r
-\r
-struct _Edje_Pick\r
-{\r
-   Eina_Bool v; /* Verbose */\r
-   Edje_Pick_File_Params *current_file;\r
-   Eina_List *fontlist;\r
-};\r
-typedef struct _Edje_Pick Edje_Pick;\r
-\r
-static Edje_Pick context = { EINA_FALSE, NULL, NULL };\r
-\r
-#define VERBOSE(COMMAND) if (context.v) { COMMAND; }\r
-\r
-enum _Edje_Pick_Status\r
-  {\r
-    EDJE_PICK_NO_ERROR,\r
-    EDJE_PICK_OUT_FILENAME_MISSING,\r
-    EDJE_PICK_FAILED_OPEN_INP,\r
-    EDJE_PICK_FAILED_READ_INP,\r
-    EDJE_PICK_GROUP_NOT_FOUND,\r
-    EDJE_PICK_IMAGE_NOT_FOUND,\r
-    EDJE_PICK_SAMPLE_NOT_FOUND,\r
-    EDJE_PICK_INCLUDE_MISSING,\r
-    EDJE_PICK_GROUP_MISSING,\r
-    EDJE_PICK_PARSE_FAILED,\r
-    EDJE_PICK_HELP_SHOWN,\r
-    EDJE_PICK_DUP_GROUP\r
-  };\r
-typedef enum _Edje_Pick_Status Edje_Pick_Status;\r
-\r
-static void\r
-_edje_pick_args_show(Eina_List *ifs, char *out)\r
-{  /* Print command-line arguments after parsing phase */\r
-   Edje_Pick_File_Params *p;\r
-   Eina_List *l;\r
-   char *g;\r
-\r
-   EINA_LOG_INFO("Got args for <%d> input files.\n", eina_list_count(ifs));\r
-\r
-   EINA_LIST_FOREACH(ifs, l, p)\r
-     {\r
-        Eina_List *ll;\r
-\r
-        if (p->append)\r
-          printf("\nFile name: %s\n\tGroups: ALL (append mode)\n", p->name);\r
-        else\r
-          {\r
-             printf("\nFile name: %s\n\tGroups:\n", p->name);\r
-             EINA_LIST_FOREACH(p->groups, ll, g)\r
-                printf("\t\t%s\n", g);\r
-          }\r
-     }\r
-\r
-   EINA_LOG_INFO("\nOutput file name was <%s>\n", out);\r
-}\r
-\r
-static void\r
-_edje_pick_data_free(Eina_List *l)\r
-{\r
-   Edje_Pick_Data *ep;\r
-\r
-   EINA_LIST_FREE(l, ep)\r
-     {\r
-        if (ep->filename) eina_stringshare_del(ep->filename);\r
-        free(ep->data);\r
-        free(ep);\r
-     }\r
-}\r
-\r
-static void\r
-_edje_pick_out_file_free(Edje_File *out_file)\r
-{\r
-   if (out_file)\r
-     {\r
-        /* Free output file memory allocation */\r
-        if (out_file->ef)\r
-          eet_close(out_file->ef);\r
-\r
-        if (out_file->external_dir)\r
-          {\r
-             if (out_file->external_dir->entries)\r
-               free(out_file->external_dir->entries);\r
-\r
-             free(out_file->external_dir);\r
-          }\r
-\r
-        if (out_file->image_dir)\r
-          {\r
-             if (out_file->image_dir->entries)\r
-               free(out_file->image_dir->entries);\r
-\r
-             free(out_file->image_dir);\r
-          }\r
-\r
-        if (out_file->sound_dir)\r
-          {\r
-             if (out_file->sound_dir->samples)\r
-               free(out_file->sound_dir->samples);\r
-\r
-             if (out_file->sound_dir->tones)\r
-               free(out_file->sound_dir->tones);\r
-\r
-             free(out_file->sound_dir);\r
-          }\r
-\r
-        eina_list_free(out_file->color_classes);\r
-        eina_hash_free_cb_set(out_file->collection, free);\r
-        eina_hash_free(out_file->collection);\r
-        eina_stringshare_del(out_file->compiler);\r
-\r
-        free(out_file);\r
-     }\r
-}\r
-\r
-static int\r
-_edje_pick_cleanup(Eina_List *ifs, Edje_File *out_file, Edje_Pick_Status s)\r
-{\r
-   Edje_Pick_File_Params *p;\r
-   Edje_Pick_Font *ft;\r
-   void *n;\r
-\r
-   _edje_pick_out_file_free(out_file);\r
-\r
-   EINA_LIST_FREE(ifs, p)\r
-     {\r
-        EINA_LIST_FREE(p->groups, n)\r
-          eina_stringshare_del(n);\r
-\r
-        _edje_pick_data_free(p->scriptlist);\r
-        p->scriptlist = NULL;\r
-\r
-        _edje_pick_data_free(p->luascriptlist);\r
-        p->luascriptlist = NULL;\r
-\r
-        _edje_pick_data_free(p->imagelist);\r
-        p->imagelist = NULL;\r
-\r
-        _edje_pick_data_free(p->imagesetlist);\r
-        p->imagesetlist = NULL;\r
-\r
-        _edje_pick_data_free(p->samplelist);\r
-\r
-        EINA_LIST_FREE(p->tonelist, n)\r
-          free(n);\r
-\r
-        if (p->edf)\r
-          _edje_cache_file_unref(p->edf);\r
-\r
-        free(p);\r
-     }\r
-\r
-   EINA_LIST_FREE(context.fontlist, ft)\r
-     {\r
-        Edje_Font *st = ft->f;\r
-\r
-        eina_stringshare_del(st->name);\r
-        eina_stringshare_del(st->file);\r
-        free(st);\r
-        free(ft);\r
-     }\r
-\r
-   switch (s)\r
-     {\r
-      case EDJE_PICK_OUT_FILENAME_MISSING:\r
-         EINA_LOG_ERR("Output file name missing.\n");\r
-         break;\r
-      case EDJE_PICK_FAILED_OPEN_INP:\r
-         EINA_LOG_ERR("Failed to open input file.\n");\r
-         break;\r
-      case EDJE_PICK_FAILED_READ_INP:\r
-         EINA_LOG_ERR("Failed to read input file.\n");\r
-         break;\r
-      case EDJE_PICK_DUP_GROUP:\r
-         EINA_LOG_ERR("Can't fetch groups with identical name from various files.\n");\r
-         break;\r
-      case EDJE_PICK_INCLUDE_MISSING:\r
-         EINA_LOG_ERR("Cannot select groups when no input file included.\n");\r
-         break;\r
-      case EDJE_PICK_GROUP_MISSING:\r
-         EINA_LOG_ERR("Group name missing for include file.\n");\r
-         break;\r
-      case EDJE_PICK_PARSE_FAILED:\r
-         EINA_LOG_ERR("Command parsing failed.\n");\r
-         break;\r
-      default:\r
-         return s;\r
-     }\r
-\r
-   _edje_edd_shutdown();\r
-   eet_shutdown();\r
-   return s;\r
-}\r
-\r
-/* Look for group name in all input files that are not d1 */\r
-static int\r
-_group_name_in_other_file(Eina_List *inp_files, void *d1, void *d2)\r
-{\r
-   Edje_Pick_File_Params *inp_file = d1;\r
-   char *group = d2; /* Group name to search */\r
-   Eina_List *f;\r
-   Edje_Pick_File_Params *current_file;\r
-\r
-   EINA_LIST_FOREACH(inp_files, f, current_file)\r
-     if (inp_file != current_file)\r
-       if (eina_list_search_unsorted(current_file->groups,\r
-                                     (Eina_Compare_Cb) strcmp,\r
-                                     group))\r
-         return 1;\r
-\r
-   return 0;  /* Not found */\r
-}\r
-\r
-static int\r
-_edje_pick_command_line_parse(int argc, char **argv,\r
-                             Eina_List **ifs, char **ofn)\r
-{  /* On return ifs is Input Files List, ofn is Output File Name */\r
-   Eina_List *gpf = NULL; /* List including counters of groups-per-file */\r
-   Eina_List *a_files = NULL;\r
-   Eina_List *i_files = NULL;\r
-   Eina_List *l;\r
-   Eina_List *ll;\r
-   Eina_List *cg;\r
-   Eina_List *groups = NULL;\r
-   char *output_filename = NULL;\r
-   Edje_Pick_File_Params *current_inp = NULL;\r
-   Eina_List *files = NULL;  /* List of input files */\r
-   int *c = NULL;\r
-   char *str = NULL;\r
-   int k;\r
-   Eina_Bool show_help = EINA_FALSE;\r
-\r
-   /* Define args syntax */\r
-#define IS_GROUP(x) ((!strcmp(x, "-g")) || (!strcmp(x, "--group")))\r
-#define IS_INCLUDE(x) ((!strcmp(x, "-i")) || (!strcmp(x, "--include")))\r
-#define IS_HELP(x) ((!strcmp(x, "-h")) || (!strcmp(x, "--help")))\r
-   static const Ecore_Getopt optdesc = {\r
-        "edje_pick",\r
-        NULL,\r
-        "0.0",\r
-        "(C) 2012 Enlightenment",\r
-        "Public domain?",\r
-        "Edje Pick - the \"edj\" merging tool.",\r
-\r
-        EINA_TRUE,\r
-        {\r
-           ECORE_GETOPT_STORE_TRUE('v', "verbose", "Verbose"),\r
-           ECORE_GETOPT_STORE('o', "output", "Output File",\r
-                 ECORE_GETOPT_TYPE_STR),\r
-           ECORE_GETOPT_APPEND_METAVAR('a', "append", "Append File",\r
-                 "STRING", ECORE_GETOPT_TYPE_STR),\r
-           ECORE_GETOPT_APPEND_METAVAR('i', "include", "Include File",\r
-                 "STRING", ECORE_GETOPT_TYPE_STR),\r
-           ECORE_GETOPT_APPEND_METAVAR('g', "group", "Add Group",\r
-                 "STRING", ECORE_GETOPT_TYPE_STR),\r
-           ECORE_GETOPT_HELP('h', "help"),\r
-           ECORE_GETOPT_SENTINEL\r
-        }\r
-   };\r
-\r
-   Ecore_Getopt_Value values[] = {\r
-        ECORE_GETOPT_VALUE_BOOL(context.v),\r
-        ECORE_GETOPT_VALUE_STR(output_filename),\r
-        ECORE_GETOPT_VALUE_LIST(a_files),\r
-        ECORE_GETOPT_VALUE_LIST(i_files),\r
-        ECORE_GETOPT_VALUE_LIST(groups),\r
-        ECORE_GETOPT_VALUE_NONE\r
-   };\r
-\r
-   /* START - Read command line args */\r
-   c = NULL;\r
-   for(k = 1; k < argc; k++)\r
-     {  /* Run through args, count how many groups per file */\r
-        if(IS_GROUP(argv[k]))\r
-          {\r
-             if (!c)\r
-               return _edje_pick_cleanup(files, NULL,\r
-                     EDJE_PICK_INCLUDE_MISSING);\r
-\r
-             (*c)++;\r
-             continue;\r
-          }\r
-\r
-        if(IS_INCLUDE(argv[k]))\r
-          {\r
-             c = calloc(1, sizeof(int));\r
-             gpf = eina_list_append(gpf, c);\r
-             continue;\r
-          }\r
-\r
-        show_help |= IS_HELP(argv[k]);\r
-     }\r
-\r
-   if (show_help)\r
-     puts(EDJE_PICK_HELP_STRING);\r
-\r
-   if (ecore_getopt_parse(&optdesc, values, argc, argv) < 0)\r
-     {\r
-        EINA_LIST_FREE(gpf, c)\r
-           free(c);\r
-\r
-        return _edje_pick_cleanup(files, NULL, EDJE_PICK_PARSE_FAILED);\r
-     }\r
-\r
-   if (show_help)\r
-     {\r
-        EINA_LIST_FREE(gpf, c)\r
-           free(c);\r
-\r
-        ecore_getopt_list_free(i_files);\r
-        ecore_getopt_list_free(groups);\r
-        return _edje_pick_cleanup(files, NULL, EDJE_PICK_HELP_SHOWN);\r
-     }\r
-\r
-   if (context.v)  /* Changed to INFO if verbose */\r
-     eina_log_level_set(EINA_LOG_LEVEL_INFO);\r
-\r
-   EINA_LIST_FOREACH(a_files, l, str)\r
-     {\r
-        current_inp = calloc(1, sizeof(*current_inp));\r
-        current_inp->append = EINA_TRUE;\r
-        current_inp->name = eina_stringshare_add(str);\r
-        files = eina_list_append(files, current_inp);\r
-     }\r
-   ecore_getopt_list_free(a_files);\r
-\r
-   ll = gpf;\r
-   cg = groups;\r
-   EINA_LIST_FOREACH(i_files, l, str)\r
-     {  /* Now match groups from groups-list with included files */\r
-        current_inp = calloc(1, sizeof(*current_inp));\r
-        current_inp->name = eina_stringshare_add(str);\r
-        files = eina_list_append(files, current_inp);\r
-        c = eina_list_data_get(ll);\r
-        if (c)\r
-          {\r
-             while(*c)\r
-               {\r
-                  char *g_name;\r
-                  if (!cg)\r
-                    {\r
-                       EINA_LIST_FREE(gpf, c)\r
-                          free(c);\r
-\r
-                       ecore_getopt_list_free(i_files);\r
-                       ecore_getopt_list_free(groups);\r
-                       return _edje_pick_cleanup(files, NULL,\r
-                             EDJE_PICK_GROUP_MISSING);\r
-                    }\r
-\r
-\r
-                  g_name = eina_list_data_get(cg);\r
-                  if (_group_name_in_other_file(files, current_inp, g_name))\r
-                    return _edje_pick_cleanup(files, NULL, EDJE_PICK_DUP_GROUP);\r
-\r
-                  if (!eina_list_search_unsorted(current_inp->groups,\r
-                           (Eina_Compare_Cb) strcmp, g_name))\r
-                    current_inp->groups = eina_list_append(\r
-                          current_inp->groups, eina_stringshare_add(g_name));\r
-\r
-                  cg = eina_list_next(cg);\r
-                  (*c)--;\r
-               }\r
-          }\r
-        ll = eina_list_next(ll);\r
-     }\r
-\r
-   EINA_LIST_FREE(gpf, c)\r
-      free(c);\r
-\r
-   ecore_getopt_list_free(i_files);\r
-   ecore_getopt_list_free(groups);\r
-\r
-\r
-   if (!output_filename)\r
-     return _edje_pick_cleanup(files, NULL, EDJE_PICK_OUT_FILENAME_MISSING);\r
-   /* END   - Read command line args */\r
-\r
-   /* Set output params, return OK */\r
-   *ifs = files;\r
-   *ofn = output_filename;\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static void\r
-_edje_pick_external_dir_update(Edje_File *o, Edje_File *edf)\r
-{\r
-   if (edf->external_dir && edf->external_dir->entries_count)\r
-     {\r
-        /* Add external-dir entries */\r
-        unsigned int total = 0;\r
-        unsigned int base = 0;\r
-\r
-        if (o->external_dir)\r
-          base = total = o->external_dir->entries_count;\r
-        else\r
-          o->external_dir = calloc(1, sizeof(*(o->external_dir)));\r
-\r
-        total += edf->external_dir->entries_count;\r
-\r
-        o->external_dir->entries = realloc(o->external_dir->entries,\r
-                                           total * sizeof(Edje_External_Directory_Entry));\r
-\r
-        memcpy(&o->external_dir->entries[base], edf->external_dir->entries,\r
-               edf->external_dir->entries_count *\r
-               sizeof(Edje_External_Directory_Entry));\r
-\r
-        o->external_dir->entries_count = total;\r
-     }\r
-}\r
-\r
-static Edje_File *\r
-_edje_pick_output_prepare(Edje_File *o, Edje_File *edf, char *name)\r
-{\r
-   /* Allocate and prepare header memory buffer */\r
-   if (!o)\r
-     {\r
-        o = calloc(1, sizeof(Edje_File));\r
-        o->compiler = eina_stringshare_add("edje_cc");\r
-        o->version = edf->version;\r
-        o->minor = edf->minor;\r
-        o->feature_ver = edf->feature_ver;\r
-        o->collection = eina_hash_string_small_new(NULL);\r
-\r
-        /* Open output file */\r
-        o->ef = eet_open(name, EET_FILE_MODE_WRITE);\r
-     }\r
-   else\r
-     {\r
-        if (o->version != edf->version)\r
-          {\r
-             EINA_LOG_WARN("Warning: Merging files of various version.\n");\r
-             if (o->version < edf->version)\r
-               o->version = edf->version;\r
-          }\r
-\r
-        if (o->minor != edf->minor)\r
-          {\r
-             EINA_LOG_WARN("Warning: Merging files of various minor.\n");\r
-             if (o->minor < edf->minor)\r
-               o->minor = edf->minor;\r
-          }\r
-\r
-        if (o->feature_ver != edf->feature_ver)\r
-          {\r
-             EINA_LOG_WARN("Warning: Merging files of various feature_ver.\n");\r
-             if (o->feature_ver < edf->feature_ver)\r
-               o->feature_ver = edf->feature_ver;\r
-          }\r
-     }\r
-\r
-   _edje_pick_external_dir_update(o, edf);\r
-   return o;\r
-}\r
-\r
-static int\r
-_edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs)\r
-{\r
-   static int current_group_id = 0;\r
-   Edje_Part_Collection_Directory_Entry *ce;\r
-   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
-   Eina_List *l;\r
-   char *name1 = NULL;\r
-\r
-\r
-   _edje_cache_file_unref(edf);\r
-\r
-   /* Build file header */\r
-   if (context.current_file->append)\r
-     {\r
-        Eina_Iterator *i;\r
-        i = eina_hash_iterator_key_new(edf->collection);\r
-        EINA_ITERATOR_FOREACH(i, name1)  /* Run through all keys */\r
-          {\r
-             Edje_Part_Collection_Directory_Entry *ce_out;\r
-\r
-             /* Use ALL groups from this file */\r
-             /* Test that no duplicate-group name for files in append mode */\r
-             /* Done here because we don't read EDC before parse cmd line  */\r
-             /* We SKIP group of file in append-mode if we got this group  */\r
-             /* from file in include mode.                                 */\r
-             if (_group_name_in_other_file(ifs, context.current_file, name1))\r
-               continue; /* Skip group of file in append mode */\r
-\r
-             ce = eina_hash_find(edf->collection, name1);\r
-             ce_out = malloc(sizeof(*ce_out));\r
-             memcpy(ce_out, ce, sizeof(*ce_out));\r
-\r
-             ce_out->id = current_group_id;\r
-             EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n",\r
-                   ce->id, ce_out->id);\r
-             current_group_id++;\r
-\r
-             eina_hash_direct_add(out_file->collection, ce_out->entry, ce_out);\r
-\r
-             /* Add this group to groups to handle for this file */\r
-             context.current_file->groups = eina_list_append(\r
-                   context.current_file->groups, eina_stringshare_add(name1));\r
-          }\r
-\r
-        eina_iterator_free(i);\r
-     }\r
-   else\r
-     {\r
-        EINA_LIST_FOREACH(context.current_file->groups, l , name1)\r
-          {\r
-             /* Verify group found then add to ouput file header */\r
-             ce = eina_hash_find(edf->collection, name1);\r
-\r
-             if (!ce)\r
-               {\r
-                  EINA_LOG_ERR("Group <%s> was not found in <%s> file.\n",\r
-                         name1, context.current_file->name);\r
-                  status = EDJE_PICK_GROUP_NOT_FOUND;\r
-               }\r
-             else\r
-               {\r
-                  Edje_Part_Collection_Directory_Entry *ce_out;\r
-\r
-                  /* Add this groups to hash, with filname pefix for entries */\r
-                  ce_out = malloc(sizeof(*ce_out));\r
-\r
-                  memcpy(ce_out, ce, sizeof(*ce_out));\r
-\r
-                  ce_out->id = current_group_id;\r
-                  EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n",\r
-                        ce->id, ce_out->id);\r
-                  current_group_id++;\r
-\r
-                  eina_hash_direct_add(out_file->collection,ce_out->entry,\r
-                        ce_out);\r
-               }\r
-          }\r
-     }\r
-\r
-   return status;\r
-}\r
-\r
-static int\r
-_id_cmp(const void *d1, const void *d2)\r
-{\r
-   /* Find currect ID struct */\r
-   return (((Edje_Pick_Data *) d1)->id.old_id - ((intptr_t) d2));\r
-}\r
-\r
-static int\r
-_edje_pick_new_id_get(Eina_List *id_list, int id, Eina_Bool set_used)\r
-{\r
-   if (id >= 0)\r
-     {\r
-        Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list,\r
-                                                         _id_cmp,\r
-                                                         (void *) (intptr_t) id);\r
-\r
-\r
-        if (p_id)\r
-          {\r
-             if (set_used)\r
-               p_id->id.used = EINA_TRUE;\r
-\r
-             return p_id->id.new_id;\r
-          }\r
-     }\r
-\r
-   return id;\r
-}\r
-\r
-static int\r
-_edje_pick_images_add(Edje_File *edf, Edje_File *o)\r
-{\r
-   char buf[1024];\r
-   int size;\r
-   unsigned int k;\r
-   void *data;\r
-   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
-   static int current_img_id = 0;\r
-\r
-   if (edf->image_dir)\r
-     {\r
-        if (!o->image_dir)  /* First time only */\r
-          o->image_dir = calloc(1, sizeof(*(o->image_dir)));\r
-\r
-        for (k = 0; k < edf->image_dir->entries_count; k++)\r
-          {  /* Copy Images */\r
-             Edje_Image_Directory_Entry *img = &edf->image_dir->entries[k];\r
-\r
-             snprintf(buf, sizeof(buf), "edje/images/%i", img->id);\r
-             VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", img->entry));\r
-             data = eet_read(edf->ef, buf, &size);\r
-             if (size)\r
-               {  /* Advance image ID and register this in imagelist */\r
-                  Edje_Pick_Data *image = malloc(sizeof(*image));\r
-\r
-                  image->filename = eina_stringshare_add(img->entry);\r
-                  image->data = data;\r
-                  image->size = size;\r
-                  image->entry = (void *) img;  /* for output file image dir */\r
-                  image->id.old_id = img->id;\r
-                  img->id = image->id.new_id = current_img_id;\r
-                  image->id.used = EINA_FALSE;\r
-\r
-                  VERBOSE(EINA_LOG_INFO("Read image <%s> data <%p> size <%d>\n",\r
-                           buf, image->data, image->size));\r
-\r
-                  current_img_id++;\r
-                  context.current_file->imagelist = eina_list_append(\r
-                        context.current_file->imagelist, image);\r
-               }\r
-             else\r
-               {\r
-                  if (img->entry)\r
-                    {\r
-                       EINA_LOG_ERR("Image <%s> was not found in <%s> file.\n",\r
-                             img->entry , context.current_file->name);\r
-                       status = EDJE_PICK_IMAGE_NOT_FOUND;\r
-                    }\r
-                  else\r
-                    {\r
-                       EINA_LOG_ERR("Image entry <%s> was not found in <%s> file.\n", buf , context.current_file->name);\r
-                       status = EDJE_PICK_IMAGE_NOT_FOUND;\r
-                    }\r
-               }\r
-          }\r
-\r
-        if (edf->image_dir->entries)\r
-          {  /* Copy image dir entries of current file */\r
-             k = o->image_dir->entries_count; /* save current entries count */\r
-             o->image_dir->entries_count += edf->image_dir->entries_count;\r
-\r
-             /* alloc mem first time  or  re-allocate again (bigger array) */\r
-             o->image_dir->entries = realloc(o->image_dir->entries,\r
-                   o->image_dir->entries_count *\r
-                   sizeof(Edje_Image_Directory_Entry));\r
-\r
-             /* Concatinate current file entries to re-allocaed array */\r
-             memcpy(&o->image_dir->entries[k], edf->image_dir->entries,\r
-                   edf->image_dir->entries_count *\r
-                   sizeof(Edje_Image_Directory_Entry));\r
-          }\r
-\r
-        if (edf->image_dir->sets)\r
-          {  /* Copy image dir sets of current file */\r
-             k = o->image_dir->sets_count;      /* save current sets count */\r
-             o->image_dir->sets_count += edf->image_dir->sets_count;\r
-             /* alloc mem first time  or  re-allocate again (bigger array) */\r
-             o->image_dir->sets = realloc(o->image_dir->sets,\r
-                   o->image_dir->sets_count *\r
-                   sizeof(Edje_Image_Directory_Set_Entry));\r
-\r
-             /* Concatinate current file sets to re-allocaed array */\r
-             memcpy(&o->image_dir->sets[k], edf->image_dir->sets,\r
-                   edf->image_dir->sets_count *\r
-                   sizeof(Edje_Image_Directory_Set_Entry));\r
-\r
-             for (; k < o->image_dir->sets_count; k++)\r
-               {  /* Fix IDs in sets to new assigned IDs of entries */\r
-                  Eina_List *l;\r
-                  Edje_Image_Directory_Set_Entry *e;\r
-                  Edje_Pick_Data *set = calloc(1, sizeof(*set));\r
-                  set->id.old_id = o->image_dir->sets[k].id;\r
-                  set->id.new_id = k;\r
-\r
-                  /* Save IDs in set-list, used in Desc update later */\r
-                  context.current_file->imagesetlist = eina_list_append(\r
-                        context.current_file->imagesetlist, set);\r
-\r
-                  o->image_dir->sets[k].id = k;  /* Fix new sets IDs */\r
-                  EINA_LIST_FOREACH(o->image_dir->sets[k].entries, l, e)\r
-                     e->id = _edje_pick_new_id_get(\r
-                           context.current_file->imagelist,\r
-                           e->id, EINA_FALSE);\r
-               }\r
-          }\r
-     }\r
-\r
-   return status;\r
-}\r
-\r
-static int\r
-_edje_pick_sounds_add(Edje_File *edf)\r
-{\r
-   char buf[1024];\r
-   int size, k;\r
-   void *data;\r
-   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
-   static int current_sample_id = 0;\r
-\r
-   if (edf->sound_dir)  /* Copy Sounds */\r
-     {\r
-        for (k = 0; k < (int) edf->sound_dir->samples_count; k++)\r
-          {\r
-             Edje_Sound_Sample *sample = &edf->sound_dir->samples[k];\r
-\r
-             snprintf(buf, sizeof(buf), "edje/sounds/%i", sample->id);\r
-             VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", sample->name));\r
-\r
-             data = eet_read(edf->ef, buf, &size);\r
-             if (size)\r
-               {\r
-                  Edje_Pick_Data *smpl = malloc(sizeof(*smpl));\r
-                  smpl->filename = eina_stringshare_add(sample->name);\r
-                  smpl->data = data;\r
-                  smpl->size = size;\r
-                  smpl->entry = (void *) sample; /* for output file sound dir */\r
-                  smpl->id.old_id = sample->id;\r
-                  sample->id = smpl->id.new_id = current_sample_id;\r
-                  smpl->id.used = EINA_FALSE;\r
-\r
-                  VERBOSE(EINA_LOG_INFO("Read <%s> sample data <%p> size <%d>\n",\r
-                                 buf, smpl->data, smpl->size));\r
-\r
-                  current_sample_id++;\r
-                  context.current_file->samplelist =\r
-                    eina_list_append(context.current_file->samplelist, smpl);\r
-               }\r
-             else\r
-               {\r
-                  EINA_LOG_ERR("Sample <%s> was not found in <%s> file.\n",\r
-                         sample->name, context.current_file->name);\r
-                  status = EDJE_PICK_SAMPLE_NOT_FOUND;\r
-               }\r
-          }\r
-\r
-        for (k = 0; k < (int) edf->sound_dir->tones_count; k++)\r
-          {\r
-             /* Save all tones as well */\r
-             Edje_Pick_Tone *t = malloc(sizeof(*t));\r
-\r
-             t->tone = &edf->sound_dir->tones[k];\r
-             /* Update ID to new ID */\r
-             t->tone->id = _edje_pick_new_id_get(context.current_file->samplelist,   /* From samplelist */\r
-                                                 t->tone->id, EINA_FALSE);\r
-\r
-             t->used = EINA_FALSE;\r
-             context.current_file->tonelist = eina_list_append(context.current_file->tonelist, t);\r
-          }\r
-     }\r
-\r
-   return status;\r
-}\r
-\r
-static int\r
-_font_cmp(const void *d1, const void *d2)\r
-{\r
-   const Edje_Font *f1 = d1;\r
-   const Edje_Font *f2 = d2;\r
-\r
-   /* Same font if (d1->name == d2->name) AND (d1->file == d2->file) */\r
-   return (strcmp(f1->name, f2->name) |\r
-           strcmp(f1->file, f2->file));\r
-}\r
-\r
-static int\r
-_Edje_Pick_Fonts_add(Edje_File *edf)\r
-{\r
-   Eet_Data_Descriptor *_font_list_edd = NULL;\r
-   Eet_Data_Descriptor *_font_edd;\r
-   Edje_Font_List *fl;\r
-   Edje_Font *f;\r
-   Eina_List *l;\r
-\r
-   _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);\r
-   fl = eet_data_read(edf->ef, _font_list_edd, "edje_source_fontmap");\r
-\r
-   EINA_LIST_FOREACH(fl->list, l, f)\r
-     {\r
-        if (!eina_list_search_unsorted(context.fontlist,\r
-                                       _font_cmp, f))\r
-          {\r
-             /* Add only fonts that are NOT regestered in our list */\r
-             Edje_Pick_Font *ft =  malloc(sizeof(*ft));\r
-             Edje_Font *st = malloc(sizeof(*st));\r
-\r
-             st->name = (char *) eina_stringshare_add(f->name);\r
-             st->file = (char *) eina_stringshare_add(f->file);\r
-\r
-             ft->f = st;\r
-             ft->used = EINA_TRUE;  /* TODO: Fix this later */\r
-             context.fontlist = eina_list_append(context.fontlist, ft);\r
-          }\r
-     }\r
-\r
-   free(fl);\r
-   eet_data_descriptor_free(_font_list_edd);\r
-   eet_data_descriptor_free(_font_edd);\r
-\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static int\r
-_edje_pick_scripts_add(Edje_File *edf, int id, int new_id)\r
-{\r
-   int size;\r
-   void *data;\r
-   char buf[1024];\r
-\r
-   /* Copy Script */\r
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", id);\r
-   data = eet_read(edf->ef, buf, &size);\r
-   if (size)\r
-     {\r
-        Edje_Pick_Data *s = calloc(1, sizeof(*s));\r
-\r
-        s->data = data;\r
-        s->size = size;\r
-        s->id.old_id = id;\r
-        s->id.new_id = new_id;\r
-        s->id.used = EINA_TRUE;\r
-\r
-        VERBOSE(EINA_LOG_INFO("Read embryo script <%s> data <%p> size <%d>\n",\r
-                       buf, s->data, s->size));\r
-        context.current_file->scriptlist = eina_list_append(context.current_file->scriptlist, s);\r
-     }\r
-\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static int\r
-_edje_pick_lua_scripts_add(Edje_File *edf, int id, int new_id)\r
-{\r
-   int size;\r
-   void *data;\r
-   char buf[1024];\r
-\r
-   /* Copy Script */\r
-   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", id);\r
-   data = eet_read(edf->ef, buf, &size);\r
-   if (size)\r
-     {\r
-        Edje_Pick_Data *s = calloc(1, sizeof(*s));\r
-\r
-        s->data = data;\r
-        s->size = size;\r
-        s->id.old_id = id;\r
-        s->id.new_id = new_id;\r
-        s->id.used = EINA_TRUE;\r
-\r
-        VERBOSE(EINA_LOG_INFO("Read lua script <%s> data <%p> size <%d>\n",\r
-                       buf, s->data, s->size));\r
-        context.current_file->luascriptlist = eina_list_append(context.current_file->luascriptlist, s);\r
-     }\r
-\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static void\r
-_edje_pick_styles_update(Edje_File *o, Edje_File *edf)\r
-{\r
-   /* Color Class in Edje_File */\r
-   Eina_List *l;\r
-   Edje_Style *stl;\r
-\r
-   EINA_LIST_FOREACH(edf->styles, l, stl)\r
-     o->styles = eina_list_append(o->styles, stl);\r
-}\r
-\r
-static void\r
-_edje_pick_color_class_update(Edje_File *o, Edje_File *edf)\r
-{\r
-   /* Color Class in Edje_File */\r
-   Eina_List *l;\r
-   Edje_Color_Class *cc;\r
-\r
-   EINA_LIST_FOREACH(edf->color_classes, l, cc)\r
-     o->color_classes = eina_list_append(o->color_classes, cc);\r
-}\r
-\r
-\r
-static void\r
-_edje_pick_images_desc_update(Edje_Part_Description_Image *desc)\r
-{\r
-   /* Update all IDs of images in descs */\r
-   if (desc)\r
-     {\r
-        unsigned int k;\r
-        int new_id = (desc->image.set) ?\r
-           _edje_pick_new_id_get(context.current_file->imagesetlist,\r
-                 desc->image.id,\r
-                 EINA_TRUE) :\r
-           _edje_pick_new_id_get(context.current_file->imagelist,\r
-                 desc->image.id,\r
-                 EINA_TRUE);\r
-\r
-        desc->image.id = new_id;\r
-\r
-        for (k = 0; k < desc->image.tweens_count; k++)\r
-          {\r
-             new_id = (desc->image.set) ?\r
-                _edje_pick_new_id_get(context.current_file->imagesetlist,\r
-                      desc->image.tweens[k]->id ,\r
-                      EINA_TRUE) :\r
-                _edje_pick_new_id_get(context.current_file->imagelist,\r
-                      desc->image.tweens[k]->id ,\r
-                      EINA_TRUE);\r
-\r
-             desc->image.tweens[k]->id = new_id;\r
-          }\r
-     }\r
-}\r
-\r
-static void\r
-_edje_pick_images_process(Edje_Part_Collection *edc)\r
-{\r
-   /* Find what images are used, update IDs, mark as USED */\r
-   unsigned int i;\r
-\r
-   for (i = 0; i < edc->parts_count; i++)\r
-     {\r
-        /* Scan all parts, locate what images used */\r
-        Edje_Part *part = edc->parts[i];\r
-\r
-        if (part->type == EDJE_PART_TYPE_IMAGE)\r
-          {\r
-             /* Update IDs of all images in ALL descs of this part */\r
-             unsigned int k;\r
-\r
-             _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->default_desc);\r
-\r
-             for (k = 0; k < part->other.desc_count; k++)\r
-               _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->other.desc[k]);\r
-          }\r
-     }\r
-}\r
-\r
-static int\r
-_sample_cmp(const void *d1, const void *d2)\r
-{\r
-   /* Locate sample by name */\r
-   if (d2)\r
-     {\r
-        Edje_Sound_Sample *sample = ((Edje_Pick_Data *) d1)->entry;\r
-\r
-        return strcmp(sample->name, d2);\r
-     }\r
-\r
-   return 1;\r
-}\r
-\r
-static int\r
-_tone_cmp(const void *d1, const void *d2)\r
-{\r
-   /* Locate tone by name */\r
-   if (d2)\r
-     {\r
-        Edje_Sound_Tone *tone = ((Edje_Pick_Tone *) d1)->tone;\r
-\r
-        return strcmp(tone->name, d2);\r
-     }\r
-\r
-   return 1;\r
-}\r
-\r
-static void\r
-_edje_pick_program_update(Edje_Program *prog)\r
-{\r
-   Edje_Pick_Data *p;\r
-   Edje_Pick_Tone *t;\r
-\r
-   /* Scan for used samples, update samples IDs */\r
-   p = eina_list_search_unsorted(context.current_file->samplelist,\r
-                                 (Eina_Compare_Cb) _sample_cmp,\r
-                                 prog->sample_name);\r
-\r
-   /* Sample is used by program, should be saved */\r
-   if (p)\r
-     p->id.used = EINA_TRUE;\r
-\r
-   /* handle tones as well */\r
-   t = eina_list_search_unsorted(context.current_file->tonelist,\r
-                                 (Eina_Compare_Cb) _tone_cmp,\r
-                                 prog->tone_name);\r
-\r
-   /* Tone is used by program, should be saved */\r
-   if (t)\r
-     t->used = EINA_TRUE;\r
-}\r
-\r
-static int\r
-_edje_pick_programs_process(Edje_Part_Collection *edc)\r
-{\r
-   /* This wil mark which samples are used and should be saved */\r
-   unsigned int i;\r
-\r
-   for(i = 0; i < edc->programs.fnmatch_count; i++)\r
-     _edje_pick_program_update(edc->programs.fnmatch[i]);\r
-\r
-   for(i = 0; i < edc->programs.strcmp_count; i++)\r
-     _edje_pick_program_update(edc->programs.strcmp[i]);\r
-\r
-   for(i = 0; i < edc->programs.strncmp_count; i++)\r
-     _edje_pick_program_update(edc->programs.strncmp[i]);\r
-\r
-   for(i = 0; i < edc->programs.strrncmp_count; i++)\r
-     _edje_pick_program_update(edc->programs.strrncmp[i]);\r
-\r
-   for(i = 0; i < edc->programs.nocmp_count; i++)\r
-     _edje_pick_program_update(edc->programs.nocmp[i]);\r
-\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static int\r
-_edje_pick_collection_process(Edje_Part_Collection *edc)\r
-{\r
-   /* Update all IDs, NAMES in current collection */\r
-   static int current_collection_id = 0;\r
-\r
-   edc->id = current_collection_id;\r
-   current_collection_id++;\r
-   _edje_pick_images_process(edc);\r
-   _edje_pick_programs_process(edc);\r
-\r
-   return EDJE_PICK_NO_ERROR;\r
-}\r
-\r
-static void\r
-_edje_pick_sound_dir_compose(Eina_List *samples, Eina_List *tones, Edje_File *o)\r
-{  /* Compose sound_dir array from all used samples, tones */\r
-   if (samples)\r
-     {\r
-        Edje_Sound_Sample *sample;\r
-        Edje_Sound_Sample *p;\r
-        Eina_List *l;\r
-\r
-        o->sound_dir = calloc(1, sizeof(*(o->sound_dir)));\r
-        o->sound_dir->samples = malloc(eina_list_count(samples) *\r
-                                       sizeof(Edje_Sound_Sample));\r
-\r
-        p = o->sound_dir->samples;\r
-        EINA_LIST_FOREACH(samples, l, sample)\r
-          {\r
-             memcpy(p, sample, sizeof(Edje_Sound_Sample));\r
-             p++;\r
-          }\r
-\r
-        o->sound_dir->samples_count = eina_list_count(samples);\r
-\r
-        if (tones)\r
-          {\r
-             Edje_Sound_Tone *tone;\r
-             Edje_Sound_Tone *t;\r
-\r
-             o->sound_dir->tones = malloc(eina_list_count(tones) *\r
-                                          sizeof(Edje_Sound_Tone));\r
-\r
-             t = o->sound_dir->tones;\r
-             EINA_LIST_FOREACH(tones, l, tone)\r
-               {\r
-                  memcpy(t, tone, sizeof(Edje_Sound_Tone));\r
-                  t++;\r
-               }\r
-\r
-             o->sound_dir->tones_count = eina_list_count(tones);\r
-          }\r
-     }\r
-}\r
-\r
-int\r
-main(int argc, char **argv)\r
-{\r
-   char *name1, *output_filename = NULL;\r
-   Eina_List *inp_files = NULL;\r
-   int comp_mode = EET_COMPRESSION_DEFAULT;\r
-   Edje_File *out_file = NULL;\r
-   Eina_List *images = NULL;\r
-   Eina_List *samples = NULL;\r
-   Eina_List *tones = NULL;\r
-   Edje_Image_Directory_Set *sets = NULL; /* ALL files sets composed here */\r
-\r
-   Edje_Part_Collection *edc;\r
-   Edje_Part_Collection_Directory_Entry *ce;\r
-   Eet_File *ef;\r
-   Edje_Font_List *fl;\r
-   Eina_List *f, *l;\r
-   char buf[1024];\r
-   void *n;\r
-   int k, bytes;\r
-\r
-   eina_init();\r
-   eet_init();\r
-   ecore_init();\r
-   _edje_edd_init();\r
-   eina_log_level_set(EINA_LOG_LEVEL_WARN);  /* Changed to INFO if verbose */\r
-\r
-   k = _edje_pick_command_line_parse(argc, argv, &inp_files, &output_filename);\r
-   if ( k != EDJE_PICK_NO_ERROR)\r
-     return k;\r
-\r
-   _edje_pick_args_show(inp_files, output_filename);\r
-\r
-   /* START - Main loop scanning input files */\r
-   EINA_LIST_FOREACH(inp_files, f, context.current_file)\r
-     {\r
-        Edje_File *edf;\r
-\r
-        ef = eet_open(context.current_file->name, EET_FILE_MODE_READ);\r
-        if (!ef)\r
-          return _edje_pick_cleanup(inp_files, out_file,\r
-                EDJE_PICK_FAILED_OPEN_INP);\r
-\r
-        edf = eet_data_read(ef, _edje_edd_edje_file, "edje/file");\r
-        if (!edf)\r
-          return _edje_pick_cleanup(inp_files, out_file,\r
-                EDJE_PICK_FAILED_READ_INP);\r
-\r
-        context.current_file->edf = edf;\r
-        edf->ef = ef;\r
-\r
-        out_file = _edje_pick_output_prepare(out_file, edf, output_filename);\r
-\r
-        k = _edje_pick_header_make(out_file, edf, inp_files);\r
-        if (k != EDJE_PICK_NO_ERROR)\r
-          {\r
-             eet_close(ef);\r
-             return _edje_pick_cleanup(inp_files, out_file, k);\r
-          }\r
-\r
-        /* Build lists of all images, samples and fonts of input files    */\r
-        _edje_pick_images_add(edf, out_file);  /* Add Images to imagelist */\r
-        _edje_pick_sounds_add(edf);  /* Add Sounds to samplelist          */\r
-        _Edje_Pick_Fonts_add(edf);   /* Add fonts from file to fonts list */\r
-\r
-        /* Copy styles, color class */\r
-        _edje_pick_styles_update(out_file, edf);\r
-        _edje_pick_color_class_update(out_file, edf);\r
-\r
-        /* Process Groups */\r
-        EINA_LIST_FOREACH(context.current_file->groups, l , name1)\r
-          {  /* Read group info */\r
-             ce = eina_hash_find(edf->collection, name1);\r
-             if (!ce || (ce->id < 0))\r
-               {\r
-                  EINA_LOG_ERR("Failed to find group <%s> id\n", name1);\r
-                  return _edje_pick_cleanup(inp_files, out_file,\r
-                                            EDJE_PICK_GROUP_NOT_FOUND);\r
-               }\r
-\r
-             VERBOSE(EINA_LOG_INFO("Copy group: <%s>\n", name1));\r
-\r
-             edje_cache_emp_alloc(ce);\r
-\r
-             snprintf(buf, sizeof(buf), "edje/collections/%i", ce->id);\r
-             EINA_LOG_INFO("Trying to read group <%s>\n", buf);\r
-             edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf);\r
-             if (!edc)\r
-               {\r
-                  EINA_LOG_ERR("Failed to read group <%s> id <%d>\n", name1, ce->id);\r
-                  return _edje_pick_cleanup(inp_files, out_file,\r
-                                            EDJE_PICK_GROUP_NOT_FOUND);\r
-               }\r
-\r
-             /* Update IDs */\r
-             _edje_pick_collection_process(edc);\r
-\r
-             /* Build lists of all scripts with new IDs */\r
-             _edje_pick_scripts_add(edf, ce->id, edc->id);\r
-             _edje_pick_lua_scripts_add(edf, ce->id, edc->id);\r
-\r
-             {\r
-                /* Write the group to output file using new id */\r
-                snprintf(buf, sizeof(buf),\r
-                         "edje/collections/%i", edc->id);\r
-                bytes = eet_data_write(out_file->ef,\r
-                                       _edje_edd_edje_part_collection,\r
-                                       buf, edc, comp_mode);\r
-                EINA_LOG_INFO("Wrote <%d> bytes for group <%s>\n", bytes,buf);\r
-             }\r
-\r
-             free(edc);\r
-             edje_cache_emp_free(ce);\r
-             eet_close(ef);\r
-          }\r
-\r
-        /* We SKIP writing source, just can't compose it */\r
-        /* FIXME: use Edje_Edit code to generate source */\r
-     } /* END   - Main loop scanning input files */\r
-\r
-   /* Write rest of output */\r
-\r
-   EINA_LIST_FOREACH(inp_files, f, context.current_file)\r
-     {\r
-        /* Write Scripts from ALL files */\r
-        Edje_Pick_Data *s;\r
-        Edje_Pick_Tone *tn;\r
-        Eina_List *t;\r
-\r
-        EINA_LIST_FOREACH(context.current_file->scriptlist, t, s)\r
-          {\r
-             /* Write Scripts */\r
-             snprintf(buf, sizeof(buf),\r
-                      "edje/scripts/embryo/compiled/%i", s->id.new_id);\r
-             VERBOSE(EINA_LOG_INFO("wrote embryo scr <%s> data <%p> size <%d>\n",\r
-                            buf, s->data, s->size));\r
-             eet_write(out_file->ef, buf, s->data, s->size, comp_mode);\r
-          }\r
-\r
-        EINA_LIST_FOREACH(context.current_file->luascriptlist, t, s)\r
-          {\r
-             /* Write Lua Scripts */\r
-             snprintf(buf, sizeof(buf),\r
-                      "edje/scripts/lua/%i", s->id.new_id);\r
-             VERBOSE(EINA_LOG_INFO("wrote lua scr <%s> data <%p> size <%d>\n",\r
-                            buf, s->data, s->size));\r
-             eet_write(out_file->ef, buf, s->data, s->size, comp_mode);\r
-          }\r
-\r
-        EINA_LIST_FOREACH(context.current_file->imagelist, t, s)\r
-          {\r
-             if (context.current_file->append || s->id.used)\r
-               {\r
-                  snprintf(buf, sizeof(buf), "edje/images/%i", s->id.new_id);\r
-                  eet_write(out_file->ef, buf, s->data, s->size, EINA_TRUE);\r
-                  VERBOSE(EINA_LOG_INFO("Wrote <%s> image data <%p> size <%d>\n", buf, s->data, s->size));\r
-               }\r
-          }\r
-\r
-        EINA_LIST_FOREACH(context.current_file->samplelist, l, s)\r
-          {\r
-             if (context.current_file->append || s->id.used)\r
-               {  /* Write only used samples */\r
-                  samples = eina_list_append(samples, s->entry);\r
-\r
-                  snprintf(buf, sizeof(buf), "edje/sounds/%i",\r
-                           s->id.new_id);\r
-                  eet_write(out_file->ef, buf,\r
-                            s->data, s->size,EINA_TRUE);\r
-                  VERBOSE(EINA_LOG_INFO("Wrote <%s> sample data <%p> size <%d>\n",\r
-                                 buf, s->data, s->size));\r
-               }\r
-          }\r
-\r
-        EINA_LIST_FOREACH(context.current_file->tonelist, l, tn)\r
-          {\r
-             if (context.current_file->append || tn->used)\r
-               tones = eina_list_append(tones, tn->tone);\r
-          }\r
-     }\r
-\r
-   _edje_pick_sound_dir_compose(samples, tones, out_file);\r
-\r
-   /* Write file header after processing all groups */\r
-   bytes = eet_data_write(out_file->ef, _edje_edd_edje_file, "edje/file",\r
-                          out_file, comp_mode);\r
-\r
-   VERBOSE(EINA_LOG_INFO("Wrote <%d> bytes for file header.\n", bytes));\r
-\r
-   eina_list_free(images);\r
-   eina_list_free(samples);\r
-   eina_list_free(tones);\r
-\r
-   fl = calloc(1, sizeof(*fl));\r
-\r
-   EINA_LIST_FOREACH(context.fontlist, l, n)\r
-     {\r
-        /*  Create a font list from used fonts */\r
-        Edje_Pick_Font *fnt = n;\r
-        if (context.current_file->append || fnt->used)\r
-          fl->list = eina_list_append(fl->list, fnt->f);\r
-     }\r
-\r
-   {\r
-      /* Write Fonts from all files */\r
-      Eet_Data_Descriptor *_font_list_edd = NULL;\r
-      Eet_Data_Descriptor *_font_edd;\r
-\r
-      _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);\r
-      bytes = eet_data_write(out_file->ef, _font_list_edd,\r
-                             "edje_source_fontmap", fl, comp_mode);\r
-      VERBOSE(EINA_LOG_INFO("Wrote <%d> bytes for fontmap.\n", bytes));\r
-\r
-      eet_data_descriptor_free(_font_list_edd);\r
-      eet_data_descriptor_free(_font_edd);\r
-   }\r
-   free(fl);\r
-\r
-   if (sets)\r
-     free(sets);\r
-\r
-   printf("Wrote <%s> output file.\n", output_filename);\r
-\r
-   return _edje_pick_cleanup(inp_files, out_file, EDJE_PICK_NO_ERROR);\r
-}\r
diff --git a/legacy/edje/src/bin/edje_player.c b/legacy/edje/src/bin/edje_player.c
deleted file mode 100644 (file)
index 1ab0628..0000000
+++ /dev/null
@@ -1,1121 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <ctype.h>
-
-#ifdef HAVE_EVIL
-# include <Evil.h>
-#endif
-
-#include <Evas.h>
-#include <Ecore.h>
-#include <Ecore_Getopt.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-struct opts {
-   char *file;
-   char *group;
-   Eina_Bool list_groups;
-   char *engine;
-   Eina_Rectangle size;
-   unsigned char color[3];
-   Eina_Bool borderless;
-   Eina_Bool sticky;
-   Eina_Bool shaped;
-   Eina_Bool alpha;
-   Eina_Bool print;
-   Eina_Bool slave_mode;
-   double scale;
-   char *title;
-};
-
-static Eina_Bool _edje_load_or_show_error(Evas_Object *edje, const char *file, const char *group);
-
-static Ecore_Evas *win;
-
-static void
-_win_title_set(const char *group, const char *file)
-{
-   char buf[1024];
-   snprintf(buf, sizeof(buf), "Edje_Player - %s of %s", group, file);
-   ecore_evas_title_set(win, buf);
-}
-
-static char *
-_slave_mode_tok(char **p_arg)
-{
-   char *s, *e;
-   Eina_Bool is_quoted;
-
-   if (!*p_arg) return NULL;
-
-   s = *p_arg;
-   while (isspace(*s))
-     s++;
-
-   if (*s == '\0')
-     {
-       *p_arg = NULL;
-       return NULL;
-     }
-   else if (*s == '"')
-     {
-       is_quoted = EINA_TRUE;
-       s++;
-       *p_arg = s;
-     }
-   else
-     {
-       is_quoted = EINA_FALSE;
-       *p_arg = s;
-     }
-
-   for (e = s; *e != '\0'; e++)
-     {
-       if ((!is_quoted) && (isspace(*e)))
-         break;
-       else if ((is_quoted) && (*e == '"'))
-         break;
-     }
-
-   if (*e == '\0') return NULL;
-
-   *e = '\0';
-   return e + 1;
-}
-
-static void
-_slave_mode_signal(Evas_Object *edje, char *args)
-{
-   char *emission, *source;
-
-   emission = args;
-   source = _slave_mode_tok(&emission);
-   _slave_mode_tok(&source);
-
-   if ((!emission) || (!source))
-     {
-       fputs("ERROR: Invalid command arguments.\n", stderr);
-       return;
-     }
-
-   edje_object_signal_emit(edje, emission, source);
-}
-
-static void
-_slave_mode_message_string(Evas_Object *edje, int id, char *arg)
-{
-   Edje_Message_String msg;
-   msg.str = arg;
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING, id, &msg);
-}
-
-static void
-_slave_mode_message_int(Evas_Object *edje, int id, char *arg)
-{
-   Edje_Message_Int msg;
-   msg.val = atoi(arg);
-   edje_object_message_send(edje, EDJE_MESSAGE_INT, id, &msg);
-}
-
-static void
-_slave_mode_message_float(Evas_Object *edje, int id, char *arg)
-{
-   Edje_Message_Float msg;
-   msg.val = atof(arg);
-   edje_object_message_send(edje, EDJE_MESSAGE_FLOAT, id, &msg);
-}
-
-static void
-_slave_mode_message_string_set(Evas_Object *edje, int id, char *arg,
-                               char *extra_args)
-{
-   Edje_Message_String_Set *msg;
-   int count, i;
-
-   count = atoi(arg);
-   msg = alloca(sizeof(Edje_Message_String_Set) + (count - 1) * sizeof(char *));
-
-   for (i = 0; i < count; i++)
-     {
-        char *next = _slave_mode_tok(&extra_args);
-        if (!extra_args)
-          {
-             fputs("ERROR: Message missing arg.\n", stderr);
-             return;
-          }
-        msg->str[i] = extra_args;
-        extra_args = next;
-     }
-
-   msg->count = count;
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING_SET, id, msg);
-}
-
-static void
-_slave_mode_message_int_set(Evas_Object *edje, int id, char *arg,
-                            char *extra_args)
-{
-   Edje_Message_Int_Set *msg;
-   int count, i;
-
-   count = atoi(arg);
-   msg = alloca(sizeof(Edje_Message_Int_Set) + (count - 1) * sizeof(int));
-
-   for (i = 0; i < count; i++)
-     {
-        char *next = _slave_mode_tok(&extra_args);
-        if (!extra_args)
-          {
-             fputs("ERROR: Message missing arg.\n", stderr);
-             return;
-          }
-        msg->val[i] = atoi(extra_args);
-        extra_args = next;
-     }
-
-   msg->count = count;
-   edje_object_message_send(edje, EDJE_MESSAGE_INT_SET, id, msg);
-}
-
-static void
-_slave_mode_message_float_set(Evas_Object *edje, int id, char *arg,
-                              char *extra_args)
-{
-   Edje_Message_Float_Set *msg;
-   int count, i;
-
-   count = atoi(arg);
-   msg = alloca(sizeof(Edje_Message_Float_Set) + (count - 1) * sizeof(double));
-
-   for (i = 0; i < count; i++)
-     {
-        char *next = _slave_mode_tok(&extra_args);
-        if (!extra_args)
-          {
-             fputs("ERROR: Message missing arg.\n", stderr);
-             return;
-          }
-        msg->val[i] = atof(extra_args);
-        extra_args = next;
-     }
-
-   msg->count = count;
-   edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, id, msg);
-}
-
-static void
-_slave_mode_message_string_int(Evas_Object *edje, int id, char *arg,
-                               char *extra_args)
-{
-   Edje_Message_String_Int msg;
-
-   if (!extra_args)
-     {
-       fputs("ERROR: Message STRING_INT requires integer arg.\n", stderr);
-       return;
-     }
-   _slave_mode_tok(&extra_args);
-
-   msg.str = arg;
-   msg.val = atoi(extra_args);
-
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING_INT, id, &msg);
-}
-
-static void
-_slave_mode_message_string_float(Evas_Object *edje, int id, char *arg,
-                                 char *extra_args)
-{
-   Edje_Message_String_Float msg;
-
-   if (!extra_args)
-     {
-       fputs("ERROR: Message STRING_FLOAT requires float arg.\n", stderr);
-       return;
-     }
-   _slave_mode_tok(&extra_args);
-
-   msg.str = arg;
-   msg.val = atof(extra_args);
-
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING_FLOAT, id, &msg);
-}
-
-static void
-_slave_mode_message_string_int_set(Evas_Object *edje, int id, char *arg,
-                                   char *extra_args)
-{
-   Edje_Message_String_Int_Set *msg;
-   int count, i;
-   char *val;
-
-   if (!extra_args)
-     {
-       fputs("ERROR: Message STRING_INT_SET requires int args.\n", stderr);
-       return;
-     }
-
-   val = _slave_mode_tok(&extra_args);
-   count = atoi(extra_args);
-   msg = alloca(sizeof(Edje_Message_String_Int_Set) +
-                (count - 1) * sizeof(int));
-
-   for (i = 0; i < count; i++)
-     {
-        char *next = _slave_mode_tok(&val);
-        if (!val)
-          {
-             fputs("ERROR: Message missing arg.\n", stderr);
-             return;
-          }
-        msg->val[i] = atoi(val);
-        val = next;
-     }
-
-   msg->count = count;
-   msg->str = arg;
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING_INT_SET, id, msg);
-}
-
-static void
-_slave_mode_message_string_float_set(Evas_Object *edje, int id, char *arg,
-                                     char *extra_args)
-{
-   Edje_Message_String_Float_Set *msg;
-   int count, i;
-   char *val;
-
-   if (!extra_args)
-     {
-       fputs("ERROR: Message STRING_FLOAT_SET requires float set.\n", stderr);
-       return;
-     }
-
-   val = _slave_mode_tok(&extra_args);
-   count = atoi(extra_args);
-   msg = alloca(sizeof(Edje_Message_String_Float_Set) +
-                (count - 1) * sizeof(double));
-
-   for (i = 0; i < count; i++)
-     {
-        char *next = _slave_mode_tok(&val);
-        if (!val)
-          {
-             fputs("ERROR: Message missing arg.\n", stderr);
-             return;
-          }
-        msg->val[i] = atof(val);
-        val = next;
-     }
-
-   msg->count = count;
-   msg->str = arg;
-   edje_object_message_send(edje, EDJE_MESSAGE_STRING_FLOAT_SET, id, msg);
-}
-
-static void
-_slave_mode_message(Evas_Object *edje, char *args)
-{
-   char *id_str, *type, *message_arg, *extra_args;
-   int id;
-
-   id_str = args;
-   type = _slave_mode_tok(&id_str);
-   message_arg = _slave_mode_tok(&type);
-   extra_args = _slave_mode_tok(&message_arg);
-
-   if (!id_str)
-     {
-       fputs("ERROR: Message id is required.\n", stderr);
-       return;
-     }
-
-   id = atoi(id_str);
-
-   if (!type)
-     {
-       fputs("ERROR: Message type is required.\n", stderr);
-       return;
-     }
-
-   if (!message_arg)
-     {
-       fputs("ERROR: Missing message argument.\n", stderr);
-       return;
-     }
-
-   if (!strcmp(type, "STRING"))
-     {
-        _slave_mode_message_string(edje, id, message_arg);
-        return;
-     }
-
-   if (!strcmp(type, "INT"))
-     {
-        _slave_mode_message_int(edje, id, message_arg);
-        return;
-     }
-
-   if (!strcmp(type, "FLOAT"))
-     {
-        _slave_mode_message_float(edje, id, message_arg);
-        return;
-     }
-
-   if (!strcmp(type, "STRING_SET"))
-     {
-        _slave_mode_message_string_set(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "INT_SET"))
-     {
-        _slave_mode_message_int_set(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "FLOAT_SET"))
-     {
-        _slave_mode_message_float_set(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "STRING_INT"))
-     {
-        _slave_mode_message_string_int(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "STRING_FLOAT"))
-     {
-        _slave_mode_message_string_float(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "STRING_INT_SET"))
-     {
-        _slave_mode_message_string_int_set(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   if (!strcmp(type, "STRING_FLOAT_SET"))
-     {
-        _slave_mode_message_string_float_set(edje, id, message_arg, extra_args);
-        return;
-     }
-
-   fputs("ERROR: Invalid type. Check types list using \"help\".\n", stderr);
-}
-
-static void
-_slave_mode_info(Evas_Object *edje, char *args)
-{
-   _slave_mode_tok(&args);
-
-   if (!args)
-     {
-       fputs("ERROR: Invalid command arguments.\n", stderr);
-       return;
-     }
-
-   if (!edje_object_part_exists(edje, args))
-     {
-       printf("INFO: \"%s\" does not exist.\n", args);
-     }
-   else
-     {
-       Evas_Coord x, y, w, h;
-       edje_object_part_geometry_get(edje, args, &x, &y, &w, &h);
-       printf("INFO: \"%s\" %d,%d,%d,%d\n", args, x, y, w, h);
-     }
-}
-
-static void
-_slave_mode_quit(Evas_Object *edje __UNUSED__, char *args __UNUSED__)
-{
-   puts("Bye!");
-   ecore_main_loop_quit();
-}
-
-static void
-_slave_mode_help(Evas_Object *edje __UNUSED__, char *args __UNUSED__)
-{
-   puts("Help:\n"
-        "One command per line, arguments separated by space.\n"
-        "Strings may have spaces if enclosed in quotes (\").\n"
-       "\n"
-       "\t<command> [arguments]\n"
-       "\n"
-       "Available commands:\n"
-       "\tsignal <emission> <source>\n"
-       "\t   sends a signal to edje\n"
-       "\tmessage <id> <type> <args list>\n"
-       "\t   sends a message to edje.\n"
-       "\t   Possible types (and args):\n"
-       "\t     * STRING \"string\"\n"
-       "\t     * INT integer\n"
-       "\t     * FLOAT float\n"
-       "\t     * STRING_SET <set length> \"string1\" \"string2\" ...\n"
-       "\t     * INT_SET <set length> integer1 integer2 integer3 ...\n"
-       "\t     * FLOAT_SET <set length> float1 float2 float3 ...\n"
-       "\t     * STRING_INT \"message\" interger\n"
-       "\t     * STRING_FLOAT \"message\" float\n"
-       "\t     * STRING_INT_SET \"string\" <set length> interger1 ...\n"
-       "\t     * STRING_FLOAT_SET \"string\" <set length> float1 float2 ...\n"
-       "\tinfo <part>\n"
-       "\t   Print part geometry: <x>,<y>,<w>,<h>\n"
-       "\tquit\n"
-       "\t   exit edje player.\n"
-       "\thelp\n"
-       "\t   shows this message.\n");
-   /*
-    * Extension ideas (are they useful?):
-    *  - data: show data value
-    *  - color_class: set color class values (maybe also list?)
-    *  - text_class: set text class values (maybe also list?)
-    *  - play_set: change play state
-    *  - animation_set: change animation state
-    */
-}
-
-struct slave_cmd
-{
-   const char *cmd;
-   void (*func)(Evas_Object *edje, char *args);
-} _slave_mode_commands[] = {
-  {"signal", _slave_mode_signal},
-  {"message", _slave_mode_message},
-  {"info", _slave_mode_info},
-  {"quit", _slave_mode_quit},
-  {"help", _slave_mode_help},
-  {NULL, NULL}
-};
-
-static Eina_Bool
-_slave_mode(void *data, Ecore_Fd_Handler *fd_handler)
-{
-   Evas_Object *edje = data;
-   char buf[1024], *p;
-   const struct slave_cmd *itr;
-   size_t len;
-
-   if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
-     {
-       fputs("ERROR: error on stdin! Exit.\n", stderr);
-       ecore_main_loop_quit();
-       return ECORE_CALLBACK_CANCEL;
-     }
-   if (!ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_READ))
-     return ECORE_CALLBACK_RENEW;
-
-   if (!fgets(buf, sizeof(buf), stdin))
-     {
-       fputs("ERROR: end of stdin! Exit.\n", stderr);
-       ecore_main_loop_quit();
-       return ECORE_CALLBACK_CANCEL;
-     }
-
-   len = strlen(buf);
-   if (len < 1)
-     {
-       fputs("ERROR: no input! Try: help\n", stderr);
-       return ECORE_CALLBACK_RENEW;
-     }
-   if (buf[len - 1] == '\n')
-     {
-       len--;
-       buf[len] = '\0';
-     }
-
-   p = strchr(buf, ' ');
-   if (p)
-     {
-       *p = '\0';
-       p++;
-
-       while (isspace(*p))
-         p++;
-       if (*p == '\0')
-         p = NULL;
-
-       if (p)
-         {
-            char *q = p + strlen(p) - 1;
-            while (isspace(*q))
-              {
-                 *q = '\0';
-                 q--;
-              }
-         }
-     }
-
-   for (itr = _slave_mode_commands; itr->cmd; itr++)
-     {
-       if (strcmp(itr->cmd, buf) == 0)
-         {
-            itr->func(edje, p);
-            break;
-         }
-     }
-
-   return ECORE_CALLBACK_RENEW;
-}
-
-static void
-_print_signal(void *data __UNUSED__, Evas_Object *o __UNUSED__, const char *emission, const char *source)
-{
-   printf("SIGNAL: \"%s\" \"%s\"\n", emission, source);
-}
-
-static void
-_print_message(void *data __UNUSED__, Evas_Object *edje __UNUSED__, Edje_Message_Type type, int id, void *msg)
-{
-   const char *typestr;
-   char buf[64];
-
-   switch (type)
-     {
-      case EDJE_MESSAGE_NONE:
-        typestr = "NONE";
-        break;
-      case EDJE_MESSAGE_SIGNAL:
-        typestr = "SIGNAL";
-        break;
-      case EDJE_MESSAGE_STRING:
-        typestr = "STRING";
-        break;
-      case EDJE_MESSAGE_INT:
-        typestr = "INT";
-        break;
-      case EDJE_MESSAGE_FLOAT:
-        typestr = "FLOAT";
-        break;
-      case EDJE_MESSAGE_STRING_SET:
-        typestr = "STRING_SET";
-        break;
-      case EDJE_MESSAGE_INT_SET:
-        typestr = "INT_SET";
-        break;
-      case EDJE_MESSAGE_FLOAT_SET:
-        typestr = "FLOAT_SET";
-        break;
-      case EDJE_MESSAGE_STRING_INT:
-        typestr = "STRING_INT";
-        break;
-      case EDJE_MESSAGE_STRING_FLOAT:
-        typestr = "STRING_FLOAT";
-        break;
-      case EDJE_MESSAGE_STRING_INT_SET:
-        typestr = "STRING_INT_SET";
-        break;
-      case EDJE_MESSAGE_STRING_FLOAT_SET:
-        typestr = "STRING_FLOAT_SET";
-        break;
-      default:
-        snprintf(buf, sizeof(buf), "UNKNOWN(%d)", type);
-        typestr = buf;
-     }
-
-   printf("MESSAGE: type=%s, id=%d", typestr, id);
-
-   switch (type)
-     {
-      case EDJE_MESSAGE_NONE: break;
-      case EDJE_MESSAGE_SIGNAL: break;
-      case EDJE_MESSAGE_STRING:
-       {
-          Edje_Message_String *m = msg;
-          printf(" \"%s\"", m->str);
-       }
-       break;
-      case EDJE_MESSAGE_INT:
-       {
-          Edje_Message_Int *m = msg;
-          printf(" %d", m->val);
-       }
-       break;
-      case EDJE_MESSAGE_FLOAT:
-       {
-          Edje_Message_Float *m = msg;
-          printf(" %f", m->val);
-       }
-       break;
-      case EDJE_MESSAGE_STRING_SET:
-       {
-          Edje_Message_String_Set *m = msg;
-          int i;
-          for (i = 0; i < m->count; i++)
-            printf(" \"%s\"", m->str[i]);
-       }
-       break;
-      case EDJE_MESSAGE_INT_SET:
-       {
-          Edje_Message_Int_Set *m = msg;
-          int i;
-          for (i = 0; i < m->count; i++)
-            printf(" %d", m->val[i]);
-       }
-       break;
-      case EDJE_MESSAGE_FLOAT_SET:
-       {
-          Edje_Message_Float_Set *m = msg;
-          int i;
-          for (i = 0; i < m->count; i++)
-            printf(" %f", m->val[i]);
-       }
-       break;
-      case EDJE_MESSAGE_STRING_INT:
-       {
-          Edje_Message_String_Int *m = msg;
-          printf(" \"%s\" %d", m->str, m->val);
-       }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT:
-       {
-          Edje_Message_String_Float *m = msg;
-          printf(" \"%s\" %f", m->str, m->val);
-       }
-       break;
-      case EDJE_MESSAGE_STRING_INT_SET:
-       {
-          Edje_Message_String_Int_Set *m = msg;
-          int i;
-          printf(" \"%s\"", m->str);
-          for (i = 0; i < m->count; i++)
-            printf(" %d", m->val[i]);
-       }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT_SET:
-       {
-          Edje_Message_String_Float_Set *m = msg;
-          int i;
-          printf(" \"%s\"", m->str);
-          for (i = 0; i < m->count; i++)
-            printf(" %f", m->val[i]);
-       }
-       break;
-      default:
-       break;
-     }
-
-   putchar('\n');
-}
-
-static void
-_reset_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *stack, void *event_info __UNUSED__)
-{
-   Evas_Coord minw, minh;
-   Evas_Object *edje = data;
-
-   edje_object_size_min_get(edje, &minw, &minh);
-   if ((minw <= 0) && (minh <= 0))
-     edje_object_size_min_calc(edje, &minw, &minh);
-
-   evas_object_size_hint_min_set(stack, minw, minh);
-}
-
-static void
-_key_down(void *data, Evas *e __UNUSED__, Evas_Object *stack __UNUSED__, void *event_info)
-{
-   Evas_Event_Key_Down *ev = event_info;
-   struct opts *opts = data;
-
-   if ((!strcmp(ev->keyname, "equal")) ||
-       (!strcmp(ev->keyname, "plus")))
-      opts->scale += 0.1;
-   else if ((!strcmp(ev->keyname, "minus")) ||
-            (!strcmp(ev->keyname, "underscore")))
-      opts->scale -= 0.1;
-   else if ((!strcmp(ev->keyname, "0")))
-      opts->scale = 1.0;
-   if (opts->scale < 0.1) opts->scale = 0.1;
-   else if (opts->scale > 10.0) opts->scale = 1.0;
-   edje_scale_set(opts->scale);
-}
-
-static Evas_Object *
-_create_stack(Evas *evas, const struct opts *opts)
-{
-   Evas_Object *stack = evas_object_box_add(evas);
-   if (!stack)
-     {
-       fputs("ERROR: could not create object stack (box).\n", stderr);
-       return NULL;
-     }
-   evas_object_box_layout_set(stack, evas_object_box_layout_stack, NULL, NULL);
-   evas_object_resize(stack, opts->size.w, opts->size.h);
-   evas_object_size_hint_weight_set(stack, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(stack, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_show(stack);
-   return stack;
-}
-
-static Evas_Object *
-_create_bg(Evas *evas, const struct opts *opts)
-{
-   const unsigned char *color = opts->color;
-   Evas_Object *bg = evas_object_rectangle_add(evas);
-   if (!bg)
-     {
-       fputs("ERROR: could not create background.\n", stderr);
-       return NULL;
-     }
-   evas_object_resize(bg, opts->size.w, opts->size.h);
-   evas_object_color_set(bg, color[0], color[1], color[2], 255);
-   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_show(bg);
-   return bg;
-}
-
-static void
-_edje_reload(void *data __UNUSED__, Evas_Object *obj, const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   const char *file;
-   const char *group;
-   edje_object_signal_callback_del(obj, "edje,change,file", "edje", _edje_reload);
-
-   edje_object_file_get(obj, &file, &group);
-   _edje_load_or_show_error(obj, file, group);
-}
-
-static Eina_Bool
-_edje_load_or_show_error(Evas_Object *edje, const char *file, const char *group)
-{
-   const char *errmsg;
-   int err;
-
-   if (edje_object_file_set(edje, file, group))
-     {
-        edje_object_signal_callback_add(edje, "edje,change,file", "edje", _edje_reload, NULL);;
-        evas_object_focus_set(edje, EINA_TRUE);
-        return EINA_TRUE;
-     }
-
-   err = edje_object_load_error_get(edje);
-   errmsg = edje_load_error_str(err);
-   fprintf(stderr, "ERROR: could not load edje file '%s', group '%s': %s\n",
-          file, group, errmsg);
-   return EINA_FALSE;
-}
-
-static Evas_Object *
-_create_edje(Evas *evas, const struct opts *opts)
-{
-   Evas_Coord minw, minh, maxw, maxh;
-   Evas_Object *edje = edje_object_add(evas);
-   if (!edje)
-     {
-       fputs("ERROR: could not create edje.\n", stderr);
-       return NULL;
-     }
-
-   if (opts->group)
-     {
-       if (!_edje_load_or_show_error(edje, opts->file, opts->group))
-         {
-            evas_object_del(edje);
-            return NULL;
-         }
-        if (!opts->title) _win_title_set(opts->group, opts->file);
-     }
-   else
-     {
-       if (edje_file_group_exists(opts->file, "main"))
-         {
-            if (!_edje_load_or_show_error(edje, opts->file, "main"))
-              {
-                 evas_object_del(edje);
-                 return NULL;
-              }
-             if (!opts->title) _win_title_set("main", opts->file);
-         }
-       else
-         {
-            Eina_List *groups = edje_file_collection_list(opts->file);
-            const char *group;
-            if (!groups)
-              {
-                 fprintf(stderr, "ERROR: file '%s' has no groups!\n",
-                         opts->file);
-                 evas_object_del(edje);
-                 return NULL;
-              }
-            group = groups->data;
-            if (!_edje_load_or_show_error(edje, opts->file, group))
-              {
-                 edje_file_collection_list_free(groups);
-                 evas_object_del(edje);
-                 return NULL;
-              }
-             if (!opts->title) _win_title_set(group, opts->file);
-            edje_file_collection_list_free(groups);
-         }
-     }
-
-   edje_object_size_max_get(edje, &maxw, &maxh);
-   edje_object_size_min_get(edje, &minw, &minh);
-   if ((minw <= 0) && (minh <= 0))
-     edje_object_size_min_calc(edje, &minw, &minh);
-
-   evas_object_size_hint_max_set(edje, maxw, maxh);
-   evas_object_size_hint_min_set(edje, minw, minh);
-
-   evas_object_size_hint_weight_set(edje, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(edje, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_show(edje);
-
-   return edje;
-}
-
-static unsigned char _parse_color(__UNUSED__ const Ecore_Getopt *parser, __UNUSED__ const Ecore_Getopt_Desc *desc, const char *str, __UNUSED__ void *data, Ecore_Getopt_Value *storage)
-{
-   unsigned char *color = (unsigned char *)storage->ptrp;
-
-   if (sscanf(str, "%hhu,%hhu,%hhu", color, color + 1, color + 2) != 3)
-     {
-       fprintf(stderr, "ERROR: incorrect color value '%s'\n", str);
-       return 0;
-     }
-
-   return 1;
-}
-
-static void _cb_delete(__UNUSED__ Ecore_Evas *ee)
-{
-  ecore_main_loop_quit();
-}
-
-const Ecore_Getopt optdesc = {
-  "edje_player",
-  "%prog [options] <filename.edj>",
-  PACKAGE_VERSION,
-  "(C) 2010 Enlightenment",
-  "BSD with advertisement clause",
-  "Simple application to view edje files.",
-  0,
-  {
-    ECORE_GETOPT_STORE_STR
-    ('g', "group", "The edje group to view (defaults to 'main')."),
-    ECORE_GETOPT_STORE_TRUE
-    ('G', "list-groups", "The groups in the given file."),
-    ECORE_GETOPT_STORE_STR
-    ('e', "engine", "The Ecore-Evas engine to use (see --list-engines)"),
-    ECORE_GETOPT_CALLBACK_NOARGS
-    ('E', "list-engines", "list Ecore-Evas engines",
-     ecore_getopt_callback_ecore_evas_list_engines, NULL),
-    ECORE_GETOPT_CALLBACK_ARGS
-    ('Z', "size", "size to use in wxh form.", "WxH",
-     ecore_getopt_callback_size_parse, NULL),
-    ECORE_GETOPT_CALLBACK_ARGS
-    ('c', "bg-color", "Color of the background (if not shaped or alpha)",
-     "RRGGBB", _parse_color, NULL),
-    ECORE_GETOPT_STORE_TRUE
-    ('b', "borderless", "Display window without border."),
-    ECORE_GETOPT_STORE_TRUE
-    ('y', "sticky", "Display window sticky."),
-    ECORE_GETOPT_STORE_TRUE
-    ('s', "shaped", "Display window shaped."),
-    ECORE_GETOPT_STORE_TRUE
-    ('a', "alpha", "Display window with alpha channel "
-     "(needs composite manager!)"),
-    ECORE_GETOPT_STORE_STR
-    ('t', "title", "Define the window title string"),
-    ECORE_GETOPT_STORE_TRUE
-    ('p', "print", "Print signals and messages to stdout"),
-    ECORE_GETOPT_STORE_TRUE
-    ('S', "slave-mode", "Listen for commands on stdin"),
-    ECORE_GETOPT_STORE_DOUBLE
-    ('z', "scale", "Set scale factor"),
-    ECORE_GETOPT_LICENSE('L', "license"),
-    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
-    ECORE_GETOPT_VERSION('V', "version"),
-    ECORE_GETOPT_HELP('h', "help"),
-    ECORE_GETOPT_SENTINEL
-  }
-};
-
-int main(int argc, char **argv)
-{
-   Evas *evas;
-   Evas_Object *stack, *edje;
-   struct opts opts;
-   Eina_Bool quit_option = EINA_FALSE;
-   int args;
-   Ecore_Getopt_Value values[] = {
-     ECORE_GETOPT_VALUE_STR(opts.group),
-     ECORE_GETOPT_VALUE_BOOL(opts.list_groups),
-     ECORE_GETOPT_VALUE_STR(opts.engine),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_PTR_CAST(opts.size),
-     ECORE_GETOPT_VALUE_PTR_CAST(opts.color),
-     ECORE_GETOPT_VALUE_BOOL(opts.borderless),
-     ECORE_GETOPT_VALUE_BOOL(opts.sticky),
-     ECORE_GETOPT_VALUE_BOOL(opts.shaped),
-     ECORE_GETOPT_VALUE_BOOL(opts.alpha),
-     ECORE_GETOPT_VALUE_STR(opts.title),
-     ECORE_GETOPT_VALUE_BOOL(opts.print),
-     ECORE_GETOPT_VALUE_BOOL(opts.slave_mode),
-     ECORE_GETOPT_VALUE_DOUBLE(opts.scale),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_BOOL(quit_option),
-     ECORE_GETOPT_VALUE_NONE
-   };
-
-   memset(&opts, 0, sizeof(opts));
-   opts.scale = 1.0;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-   edje_frametime_set(1.0/60.0);
-
-   args = ecore_getopt_parse(&optdesc, values, argc, argv);
-   if (args < 0)
-     {
-       fputs("Could not parse arguments.\n", stderr);
-       goto shutdown_edje;
-     }
-   else if (quit_option)
-     {
-       goto end;
-     }
-   else if (args >= argc)
-     {
-       fputs("Missing edje file to load.\n", stderr);
-       goto shutdown_edje;
-     }
-
-   ecore_app_args_set(argc, (const char **)argv);
-   edje_scale_set(opts.scale);
-
-   // check if the given edj file is there
-   if (access(argv[args], R_OK) == -1)
-     {
-       int e = errno;
-       fprintf(stderr, "ERROR: file '%s' not accessible, error %d (%s).\n",
-               argv[args], e, strerror(e));
-       goto end;
-     }
-
-   opts.file = argv[args];
-   if (opts.list_groups)
-     {
-       Eina_List *groups, *n;
-       const char *group;
-       groups = edje_file_collection_list(opts.file);
-       printf("%d groups in file '%s':\n", eina_list_count(groups), opts.file);
-       EINA_LIST_FOREACH(groups, n, group)
-         printf("\t'%s'\n", group);
-       edje_file_collection_list_free(groups);
-       goto end;
-     }
-
-   if (opts.size.w <= 0) opts.size.w = 320;
-   if (opts.size.h <= 0) opts.size.h = 240;
-   win = ecore_evas_new(opts.engine, 0, 0, opts.size.w, opts.size.h, NULL);
-   if (!win)
-     {
-       fprintf(stderr,
-               "ERROR: could not create window of "
-               "size %dx%d using engine %s.\n",
-               opts.size.w, opts.size.h, opts.engine ? opts.engine : "(auto)");
-       goto shutdown_edje;
-     }
-
-   ecore_evas_callback_delete_request_set(win, _cb_delete);
-   evas = ecore_evas_get(win);
-   stack = _create_stack(evas, &opts);
-   if (!stack)
-     {
-       goto free_ecore_evas;
-     }
-
-   ecore_evas_object_associate(win, stack, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   if (opts.alpha)
-     ecore_evas_alpha_set(win, EINA_TRUE);
-   else if (opts.shaped)
-     ecore_evas_shaped_set(win, EINA_TRUE);
-   else
-     {
-       Evas_Object *bg = _create_bg(evas, &opts);
-       if (bg) evas_object_box_append(stack, bg);
-     }
-
-   edje = _create_edje(evas, &opts);
-   if (edje)
-     evas_object_box_append(stack, edje);
-   else
-     {
-       goto free_ecore_evas;
-     }
-
-   evas_object_focus_set(stack, EINA_TRUE);
-   evas_object_event_callback_add(stack, EVAS_CALLBACK_KEY_DOWN,
-                                 _key_down, &opts);
-   evas_object_event_callback_add(stack, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-                                 _reset_size_hints, edje);
-
-   if (opts.print)
-     {
-       edje_object_signal_callback_add(edje, "*", "*", _print_signal, NULL);
-       edje_object_message_handler_set(edje, _print_message, NULL);
-     }
-
-   if (opts.slave_mode)
-     {
-#ifndef _WIN32
-       int flags;
-       flags = fcntl(STDIN_FILENO, F_GETFL, 0);
-       flags |= O_NONBLOCK;
-       if (fcntl(STDIN_FILENO, F_SETFL, flags) < 0)
-         {
-            fprintf(stderr, "ERROR: Could not set stdin to non-block: %s\n",
-                    strerror(errno));
-            goto free_ecore_evas;
-         }
-       ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ | ECORE_FD_ERROR,
-                                 _slave_mode, edje, NULL, NULL);
-#else
-        /* TODO: port the code above to Windows */
-        fprintf (stderr, "ERROR: slave mode not working on Windows\n");
-        goto free_ecore_evas;
-#endif
-     }
-
-   ecore_evas_borderless_set(win, opts.borderless);
-   ecore_evas_sticky_set(win, opts.sticky);
-   if (opts.title)
-     ecore_evas_title_set(win, opts.title);
-
-   ecore_evas_show(win);
-   ecore_main_loop_begin();
-
-   ecore_evas_free(win);
- end:
-   edje_shutdown();
-   ecore_evas_shutdown();
-
-   return 0;
-
- free_ecore_evas:
-   ecore_evas_free(win);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/bin/edje_recc b/legacy/edje/src/bin/edje_recc
deleted file mode 100644 (file)
index 2ae81ad..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-set -e
-
-usage () {
-  echo "Usage:"
-  echo "        edje_recc [OPTIONS] input_file.edj"
-  echo ""
-  echo "Where OPTIONS is one or more of:"
-  echo ""
-  echo "-v                       Verbose output"
-  echo "-no-lossy                Do NOT allow images to be lossy"
-  echo "-no-comp                 Do NOT allow images to be lossless compression"
-  echo "-no-raw                  Do NOT allow images to be zero compression"
-  echo "-min-quality VAL         Do NOT allow lossy images with quality < VAL (0-100)"
-  echo "-max-quality VAL         Do NOT allow lossy images with quality > VAL (0-100)"
-  exit -1
-}
-
-if [ $# -lt 1 ]; then
-  usage
-fi
-
-OPT=""
-if [ $# -ge 1 ]; then
-  for I in $@; do
-    case "$I" in
-      -h)
-        usage
-      ;;
-
-      -help)
-        usage
-      ;;
-
-      --help)
-        usage
-      ;;
-
-      *.edj)
-        IN=$I
-      ;;
-
-      *)
-        OPT=$OPT" "$I
-      ;;
-    esac
-  done
-fi
-
-if [ -z "$IN" ]; then
-  echo "ERROR: NO input file.edj provided!"
-  echo ""
-  usage;
-fi
-
-F=`basename $IN`
-B=`basename $F .edj`
-T="./...edje_tmp"
-rm -rf $T
-mkdir -p $T
-cp $IN $T
-cd $T
-edje_decc $F
-cd $B
-./build.sh $OPT
-cd ../..
-mv $T/$B/$F $IN
-rm -rf $T
diff --git a/legacy/edje/src/bin/edje_watch.c b/legacy/edje/src/bin/edje_watch.c
deleted file mode 100644 (file)
index 999d02d..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <sys/wait.h>
-
-#include <Eina.h>
-#include <Ecore.h>
-#include <Eio.h>
-#ifdef HAVE_EVIL
-# include <Evil.h>
-#endif
-
-static char watchfile[PATH_MAX];
-static char *edje_cc_command = NULL;
-static Eina_List *watching = NULL;
-static Ecore_Timer *timeout = NULL;
-static Eina_Bool anotate = EINA_FALSE;
-
-static void
-read_watch_file(const char *file)
-{
-   Eina_File *f;
-   Eina_Iterator *it;
-   Eina_File_Line *ln;
-   Eio_Monitor *mon;
-   Eina_List *r = NULL;
-
-   f = eina_file_open(file, EINA_FALSE);
-   if (!f) return ;
-
-   it = eina_file_map_lines(f);
-   if (!it) goto err;
-
-   EINA_ITERATOR_FOREACH(it, ln)
-     {
-        const char *path;
-        Eina_Bool do_append = EINA_TRUE;
-
-       if (ln->length < 4) continue ;
-        if (anotate)
-          {
-             path = eina_stringshare_add_length(ln->start + 3, ln->length - 3);
-             fprintf(stdout, "%c: %s\n", *ln->start, path);
-             if (*ln->start == 'O')
-               do_append = EINA_FALSE;
-          }
-        else
-          {
-             path = eina_stringshare_add_length(ln->start, ln->length);
-          }
-        if (do_append)
-         r = eina_list_append(r, eio_monitor_add(path));
-        eina_stringshare_del(path);
-     }
-   eina_iterator_free(it);
-
-   EINA_LIST_FREE(watching, mon)
-     eio_monitor_del(mon);
-   watching = r;
-
- err:
-   eina_file_close(f);
-}
-
-Eina_Bool
-rebuild(void *data __UNUSED__)
-{
-   double start, end;
-   int ret;
-
-   start = ecore_time_get();
-   fprintf(stdout, "* SYSTEM('%s')\n", edje_cc_command);
-   fflush(stdout);
-
-   ret = system(edje_cc_command);
-   if (WEXITSTATUS(ret) == 0)
-     read_watch_file(watchfile);
-   end = ecore_time_get();
-   fprintf(stdout, "* DONE IN %f\n", end - start);
-   fflush(stdout);
-
-   timeout = NULL;
-   return EINA_FALSE;
-}
-
-Eina_Bool
-some_change(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
-{
-   if (timeout) ecore_timer_del(timeout);
-   timeout = ecore_timer_add(0.5, rebuild, NULL);
-
-   return ECORE_CALLBACK_PASS_ON;
-}
-
-int
-main(int argc, char **argv)
-{
-   char *watchout;
-   Eina_Strbuf *buf;
-   int tfd;
-   int i;
-
-   eina_init();
-   ecore_init();
-   eio_init();
-
-   if (argc < 2) return -1;
-   
-   ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, some_change, NULL);
-   ecore_event_handler_add(EIO_MONITOR_FILE_CREATED, some_change, NULL);
-   ecore_event_handler_add(EIO_MONITOR_FILE_DELETED, some_change, NULL);
-   ecore_event_handler_add(EIO_MONITOR_FILE_CLOSED, some_change, NULL);
-
-#ifdef HAVE_EVIL
-   watchout = (char *)evil_tmpdir_get();
-#else
-   watchout = "/tmp";
-#endif
-
-   snprintf(watchfile, PATH_MAX, "%s/edje_watch-tmp-XXXXXX", watchout);
-
-   tfd = mkstemp(watchfile);
-   if (tfd < 0) return -1;
-   close(tfd);
-
-   buf = eina_strbuf_new();
-   if (!buf) return -1;
-
-   eina_strbuf_append_printf(buf, "%s/edje_cc -fastcomp -w %s ", PACKAGE_BIN_DIR, watchfile);
-   for (i = 1; i < argc; ++i)
-     {
-        if (!strcmp(argv[i], "-anotate"))
-          anotate = EINA_TRUE;
-        eina_strbuf_append_printf(buf, "%s ", argv[i]);
-     }
-   eina_strbuf_append(buf, "> /dev/null");
-
-   edje_cc_command = eina_strbuf_string_steal(buf);
-
-   eina_strbuf_free(buf);
-
-   rebuild(NULL);
-
-   ecore_main_loop_begin();
-
-   unlink(watchfile);
-
-   eio_shutdown();
-   ecore_shutdown();
-   eina_shutdown();
-
-   return 1;
-}
diff --git a/legacy/edje/src/bin/epp/cppalloc.c b/legacy/edje/src/bin/epp/cppalloc.c
deleted file mode 100644 (file)
index 4ce0dd0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Part of CPP library.  (memory allocation - xmalloc etc)
- * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
- * Written by Per Bothner, 1994.
- * Based on CCCP program by by Paul Rubin, June 1986
- * Adapted to ANSI C, Richard Stallman, Jan 1987
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-
-#include "cpplib.h"
-
-static void
-memory_full(void)
-{
-   cpp_fatal("Memory exhausted.");
-}
-
-void               *
-xmalloc(unsigned size)
-{
-   char               *ptr = (char *)malloc(size);
-
-   if (ptr)
-      return (ptr);
-   memory_full();
-   /*NOTREACHED */
-   return 0;
-}
-
-void               *
-xrealloc(void *old, unsigned size)
-{
-   char               *ptr = (char *)realloc(old, size);
-
-   if (!ptr)
-      memory_full();
-   return ptr;
-}
-
-void               *
-xcalloc(unsigned number, unsigned size)
-{
-   char               *ptr = (char *)calloc(number, size);
-
-   if (!ptr)
-      memory_full();
-   return ptr;
-}
diff --git a/legacy/edje/src/bin/epp/cpperror.c b/legacy/edje/src/bin/epp/cpperror.c
deleted file mode 100644 (file)
index f4cd5eb..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Default error handlers for CPP Library.
- * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
- * Written by Per Bothner, 1994.
- * Based on CCCP program by by Paul Rubin, June 1986
- * Adapted to ANSI C, Richard Stallman, Jan 1987
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cpplib.h"
-
-/* Print the file names and line numbers of the #include
- * commands which led to the current file.  */
-
-void
-cpp_print_containing_files(cpp_reader * pfile)
-{
-   cpp_buffer         *ip;
-   int                 first = 1;
-
-   /* If stack of files hasn't changed since we last printed
-    * this info, don't repeat it.  */
-   if (pfile->input_stack_listing_current)
-      return;
-
-   ip = cpp_file_buffer(pfile);
-
-   /* Give up if we don't find a source file.  */
-   if (!ip)
-      return;
-
-   /* Find the other, outer source files.  */
-   while ((ip = CPP_PREV_BUFFER(ip)), ip != CPP_NULL_BUFFER(pfile))
-     {
-       long                line, col;
-
-       cpp_buf_line_and_col(ip, &line, &col);
-       if (ip->fname)
-         {
-            if (first)
-              {
-                 first = 0;
-                 fprintf(stderr, "In file included");
-              }
-            else
-               fprintf(stderr, ",\n                ");
-         }
-     }
-   if (!first)
-      fprintf(stderr, ":\n");
-
-   /* Record we have printed the status as of this time.  */
-   pfile->input_stack_listing_current = 1;
-}
-
-void
-cpp_file_line_for_message(cpp_reader * pfile __UNUSED__, const char *filename,
-                         int line, int column)
-{
-   if (column > 0)
-     {
-       fprintf(stderr, "%s:%d:%d: ", filename, line, column);
-     }
-   else
-     {
-       fprintf(stderr, "%s:%d: ", filename, line);
-     }
-}
-
-/* IS_ERROR is 1 for error, 0 for warning */
-void
-cpp_message_v(cpp_reader * pfile, int is_error, const char *msg, va_list args)
-{
-   if (is_error)
-      pfile->errors++;
-   else
-      fprintf(stderr, "warning: ");
-   vfprintf(stderr, msg, args);
-   fprintf(stderr, "\n");
-}
-
-void
-cpp_message(cpp_reader * pfile, int is_error, const char *msg, ...)
-{
-   va_list             args;
-
-   va_start(args, msg);
-
-   cpp_message_v(pfile, is_error, msg, args);
-
-   va_end(args);
-}
-
-static void
-cpp_fatal_v(const char *msg, va_list args)
-{
-   fprintf(stderr, "%s: ", progname);
-   vfprintf(stderr, msg, args);
-   fprintf(stderr, "\n");
-   exit(FATAL_EXIT_CODE);
-}
-
-void
-cpp_fatal(const char *msg, ...)
-{
-   va_list             args;
-
-   va_start(args, msg);
-
-   cpp_fatal_v(msg, args);
-
-   va_end(args);
-}
-
-void
-cpp_pfatal_with_name(cpp_reader * pfile, const char *name)
-{
-   cpp_perror_with_name(pfile, name);
-#ifdef VMS
-   exit(vaxc$errno);
-#else
-   exit(FATAL_EXIT_CODE);
-#endif
-}
diff --git a/legacy/edje/src/bin/epp/cppexp.c b/legacy/edje/src/bin/epp/cppexp.c
deleted file mode 100644 (file)
index 5fcb33f..0000000
+++ /dev/null
@@ -1,1090 +0,0 @@
-/* Parse C expressions for CCCP.
- * Copyright (C) 1987, 1992, 1994, 1995 Free Software Foundation.
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!
- * 
- * Written by Per Bothner 1994. */
-
-/* Parse a C expression from text in a string  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef __EMX__
-# include <strings.h>
-#endif
-
-#ifdef MULTIBYTE_CHARS
-# include <locale.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "cpplib.h"
-#include "cpphash.h"
-
-/* This is used for communicating lists of keywords with cccp.c.  */
-struct arglist {
-   struct arglist     *next;
-   unsigned char      *name;
-   int                 length;
-   int                 argno;
-};
-
-/* Define a generic NULL if one hasn't already been defined.  */
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#ifndef GENERIC_PTR
-#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-#define GENERIC_PTR void *
-#else
-#define GENERIC_PTR char *
-#endif
-#endif
-
-#ifndef NULL_PTR
-#define NULL_PTR ((GENERIC_PTR)0)
-#endif
-
-#ifndef CHAR_TYPE_SIZE
-#define CHAR_TYPE_SIZE BITS_PER_UNIT
-#endif
-
-#ifndef INT_TYPE_SIZE
-#define INT_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef LONG_TYPE_SIZE
-#define LONG_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-#ifndef MAX_CHAR_TYPE_SIZE
-#define MAX_CHAR_TYPE_SIZE CHAR_TYPE_SIZE
-#endif
-
-#ifndef MAX_INT_TYPE_SIZE
-#define MAX_INT_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-#ifndef MAX_LONG_TYPE_SIZE
-#define MAX_LONG_TYPE_SIZE LONG_TYPE_SIZE
-#endif
-
-#ifndef MAX_WCHAR_TYPE_SIZE
-#define MAX_WCHAR_TYPE_SIZE WCHAR_TYPE_SIZE
-#endif
-
-/* Yield nonzero if adding two numbers with A's and B's signs can yield a
- * number with SUM's sign, where A, B, and SUM are all C integers.  */
-#define possible_sum_sign(a, b, sum) ((((a) ^ (b)) | ~ ((a) ^ (sum))) < 0)
-
-#define ERROR 299
-#define OROR 300
-#define ANDAND 301
-#define EQUAL 302
-#define NOTEQUAL 303
-#define LEQ 304
-#define GEQ 305
-#define LSH 306
-#define RSH 307
-#define NAME 308
-#define INT 309
-#define CHAR 310
-
-#define LEFT_OPERAND_REQUIRED 1
-#define RIGHT_OPERAND_REQUIRED 2
-#define HAVE_VALUE 4
-/* SKIP_OPERAND is set for '&&' '||' '?' and ':' when the
- * following operand should be short-circuited instead of evaluated. */
-#define SKIP_OPERAND 8
-/*#define UNSIGNEDP 16 */
-
-struct operation {
-   short               op;
-   char                rprio;  /* Priority of op (relative to it right operand). */
-   char                flags;
-   char                unsignedp;      /* true if value should be treated as unsigned */
-   HOST_WIDE_INT       value;  /* The value logically "right" of op. */
-};
-
-/* Take care of parsing a number (anything that starts with a digit).
- * LEN is the number of characters in it.  */
-
-/* maybe needs to actually deal with floating point numbers */
-
-static void
-parse_number(struct operation *op, cpp_reader * pfile, const char *start,
-            int olen)
-{
-   const char         *p = start;
-   int                 c;
-   unsigned long       n = 0, nd, ULONG_MAX_over_base;
-   int                 base = 10;
-   int                 len = olen;
-   int                 overflow = 0;
-   int                 digit, largest_digit = 0;
-   int                 spec_long = 0;
-
-   op->unsignedp = 0;
-
-   for (c = 0; c < len; c++)
-      if (p[c] == '.')
-       {
-          /* It's a float since it contains a point.  */
-          cpp_error(pfile,
-                    "floating point numbers not allowed in #if expressions");
-          op->op = ERROR;
-          return;
-       }
-   if (len >= 3 && (!strncmp(p, "0x", 2) || !strncmp(p, "0X", 2)))
-     {
-       p += 2;
-       base = 16;
-       len -= 2;
-     }
-   else if (*p == '0')
-      base = 8;
-
-   /* Some buggy compilers (e.g. MPW C) seem to need both casts. */
-   ULONG_MAX_over_base = ((unsigned long)-1) / ((unsigned long)base);
-
-   for (; len > 0; len--)
-     {
-       c = *p++;
-
-       if (c >= '0' && c <= '9')
-          digit = c - '0';
-       else if (base == 16 && c >= 'a' && c <= 'f')
-          digit = c - 'a' + 10;
-       else if (base == 16 && c >= 'A' && c <= 'F')
-          digit = c - 'A' + 10;
-       else
-         {
-            /* `l' means long, and `u' means unsigned.  */
-            while (1)
-              {
-                 if (c == 'l' || c == 'L')
-                   {
-                      if (spec_long)
-                         cpp_error(pfile, "two `l's in integer constant");
-                      spec_long = 1;
-                   }
-                 else if (c == 'u' || c == 'U')
-                   {
-                      if (op->unsignedp)
-                         cpp_error(pfile, "two `u's in integer constant");
-                      op->unsignedp = 1;
-                   }
-                 else
-                    break;
-
-                 if (--len == 0)
-                    break;
-                 c = *p++;
-              }
-            /* Don't look for any more digits after the suffixes.  */
-            break;
-         }
-       if (largest_digit < digit)
-          largest_digit = digit;
-       nd = n * base + digit;
-       overflow |= (ULONG_MAX_over_base < n) | (nd < n);
-       n = nd;
-     }
-
-   if (len != 0)
-     {
-       cpp_error(pfile, "Invalid number in #if expression");
-       op->op = ERROR;
-       return;
-     }
-   if (base <= largest_digit)
-      cpp_warning(pfile, "integer constant contains digits beyond the radix");
-
-   if (overflow)
-      cpp_warning(pfile, "integer constant out of range");
-
-   /* If too big to be signed, consider it unsigned.  */
-   if ((long)n < 0 && !op->unsignedp)
-     {
-       if (base == 10)
-          cpp_warning(pfile,
-                      "integer constant is so large that it is unsigned");
-       op->unsignedp = 1;
-     }
-   op->value = n;
-   op->op = INT;
-}
-
-struct token {
-   const char         *oper;
-   int                 token;
-};
-
-static struct token tokentab2[] = {
-   {"&&", ANDAND},
-   {"||", OROR},
-   {"<<", LSH},
-   {">>", RSH},
-   {"==", EQUAL},
-   {"!=", NOTEQUAL},
-   {"<=", LEQ},
-   {">=", GEQ},
-   {"++", ERROR},
-   {"--", ERROR},
-   {NULL, ERROR}
-};
-
-/* Read one token. */
-
-static void
-cpp_lex(struct operation *op, cpp_reader * pfile)
-{
-   int                 c;
-   struct token       *toktab;
-   enum cpp_token      token;
-   unsigned char      *tok_start, *tok_end;
-   int                 old_written;
-
-   op->value = 0;
-   op->unsignedp = 0;
-
- retry:
-
-   old_written = CPP_WRITTEN(pfile);
-   cpp_skip_hspace(pfile);
-   c = CPP_BUF_PEEK(CPP_BUFFER(pfile));
-   if (c == '#')
-     {
-       parse_number(op, pfile, cpp_read_check_assertion(pfile) ? "1" : "0", 1);
-       return;
-     }
-
-   if (c == '\n')
-     {
-       op->op = 0;
-       return;
-     }
-   token = cpp_get_token(pfile);
-   tok_start = pfile->token_buffer + old_written;
-   tok_end = CPP_PWRITTEN(pfile);
-   pfile->limit = tok_start;
-   switch (token)
-     {
-     case CPP_EOF:             /* Should not happen ... */
-       op->op = 0;
-       break;
-
-     case CPP_VSPACE:
-     case CPP_POP:
-       if (CPP_BUFFER(pfile)->fname)
-         {
-            op->op = 0;
-            break;
-         }
-       goto retry;
-
-     case CPP_HSPACE:
-     case CPP_COMMENT:
-       goto retry;
-
-     case CPP_NUMBER:
-       parse_number(op, pfile, (char *)tok_start, tok_end - tok_start);
-       break;
-
-     case CPP_STRING:
-       cpp_error(pfile, "string constants not allowed in #if expressions");
-       op->op = ERROR;
-       break;
-
-     case CPP_CHAR:
-       /* This code for reading a character constant
-        * handles multicharacter constants and wide characters.
-        * It is mostly copied from c-lex.c.  */
-       {
-          int                 result = 0;
-          int                 num_chars = 0;
-          unsigned            width = MAX_CHAR_TYPE_SIZE;
-          int                 wide_flag = 0;
-          int                 max_chars;
-          char               *ptr = (char *)tok_start;
-
-#ifdef MULTIBYTE_CHARS
-          char                token_buffer[MAX_LONG_TYPE_SIZE /
-                                           MAX_CHAR_TYPE_SIZE + MB_CUR_MAX];
-#endif
-
-          if (*ptr == 'L')
-            {
-               ptr++;
-               wide_flag = 1;
-               width = MAX_WCHAR_TYPE_SIZE;
-#ifdef MULTIBYTE_CHARS
-               max_chars = MB_CUR_MAX;
-#else
-               max_chars = 1;
-#endif
-            }
-          else
-             max_chars = MAX_LONG_TYPE_SIZE / width;
-
-          while (1)
-            {
-               if (ptr >= (char *)CPP_PWRITTEN(pfile) || (c = *ptr++) == '\'')
-                  break;
-
-               if (c == '\\')
-                 {
-                    c = cpp_parse_escape(pfile, &ptr);
-                    if (width < HOST_BITS_PER_INT
-                        && (unsigned)c >= (unsigned)(1 << width))
-                       cpp_pedwarn(pfile,
-                                   "escape sequence out of range for character");
-                 }
-               num_chars++;
-
-               /* Merge character into result; ignore excess chars.  */
-               if (num_chars < max_chars + 1)
-                 {
-                    if (width < HOST_BITS_PER_INT)
-                       result = (result << width) | (c & ((1 << width) - 1));
-                    else
-                       result = c;
-#ifdef MULTIBYTE_CHARS
-                    token_buffer[num_chars - 1] = c;
-#endif
-                 }
-            }
-
-#ifdef MULTIBYTE_CHARS
-          token_buffer[num_chars] = 0;
-#endif
-
-          if (c != '\'')
-             cpp_error(pfile, "malformatted character constant");
-          else if (num_chars == 0)
-             cpp_error(pfile, "empty character constant");
-          else if (num_chars > max_chars)
-            {
-               num_chars = max_chars;
-               cpp_error(pfile, "character constant too long");
-            }
-          else if (num_chars != 1 && !CPP_TRADITIONAL(pfile))
-             cpp_warning(pfile, "multi-character character constant");
-
-          /* If char type is signed, sign-extend the constant.  */
-          if (!wide_flag)
-            {
-               int                 num_bits = num_chars * width;
-
-               if (cpp_lookup("__CHAR_UNSIGNED__",
-                              sizeof("__CHAR_UNSIGNED__") - 1, -1)
-                   || ((result >> (num_bits - 1)) & 1) == 0)
-                  op->value =
-                     result & ((unsigned long)~0 >>
-                               (HOST_BITS_PER_LONG - num_bits));
-               else
-                  op->value =
-                     result | ~((unsigned long)~0 >>
-                                (HOST_BITS_PER_LONG - num_bits));
-            }
-          else
-            {
-#ifdef MULTIBYTE_CHARS
-               /* Set the initial shift state and convert the next sequence.  */
-               result = 0;
-               /* In all locales L'\0' is zero and mbtowc will return zero,
-                * so don't use it.  */
-               if (num_chars > 1
-                   || (num_chars == 1 && token_buffer[0] != '\0'))
-                 {
-                    wchar_t             wc;
-
-                    (void)mbtowc(NULL_PTR, NULL_PTR, 0);
-                    if (mbtowc(&wc, token_buffer, num_chars) == num_chars)
-                       result = wc;
-                    else
-                       cpp_warning(pfile,
-                                   "Ignoring invalid multibyte character");
-                 }
-#endif
-               op->value = result;
-            }
-       }
-
-       /* This is always a signed type.  */
-       op->unsignedp = 0;
-       op->op = CHAR;
-       break;
-
-     case CPP_NAME:
-       parse_number(op, pfile, "0", 0);
-       break;
-
-     case CPP_OTHER:
-       /* See if it is a special token of length 2.  */
-       if (tok_start + 2 == tok_end)
-         {
-            for (toktab = tokentab2; toktab->oper; toktab++)
-               if (tok_start[0] == toktab->oper[0]
-                   && tok_start[1] == toktab->oper[1])
-                  break;
-            if (toktab->token == ERROR)
-              {
-                 char               *buf = (char *)malloc(40);
-
-                 memset(buf, 0, 40);
-
-                 sprintf(buf, "`%s' not allowed in operand of `#if'",
-                         tok_start);
-                 cpp_error(pfile, buf);
-                 free(buf);
-              }
-            op->op = toktab->token;
-            break;
-         }
-       /* fall through */
-     default:
-       op->op = *tok_start;
-       break;
-     }
-}
-
-/* Parse a C escape sequence.  STRING_PTR points to a variable
- * containing a pointer to the string to parse.  That pointer
- * is updated past the characters we use.  The value of the
- * escape sequence is returned.
- * 
- * A negative value means the sequence \ newline was seen,
- * which is supposed to be equivalent to nothing at all.
- * 
- * If \ is followed by a null character, we return a negative
- * value and leave the string pointer pointing at the null character.
- * 
- * If \ is followed by 000, we return 0 and leave the string pointer
- * after the zeros.  A value of 0 does not mean end of string.  */
-
-int
-cpp_parse_escape(cpp_reader * pfile, char **string_ptr)
-{
-   int                 c = *(*string_ptr)++;
-
-   switch (c)
-     {
-     case 'a':
-       return TARGET_BELL;
-     case 'b':
-       return TARGET_BS;
-     case 'e':
-     case 'E':
-       if (CPP_PEDANTIC(pfile))
-          cpp_pedwarn(pfile, "non-ANSI-standard escape sequence, `\\%c'", c);
-       return 033;
-     case 'f':
-       return TARGET_FF;
-     case 'n':
-       return TARGET_NEWLINE;
-     case 'r':
-       return TARGET_CR;
-     case 't':
-       return TARGET_TAB;
-     case 'v':
-       return TARGET_VT;
-     case '\n':
-       return -2;
-     case 0:
-       (*string_ptr)--;
-       return 0;
-
-     case '0':
-     case '1':
-     case '2':
-     case '3':
-     case '4':
-     case '5':
-     case '6':
-     case '7':
-       {
-          int                 i = c - '0';
-          int                 count = 0;
-
-          while (++count < 3)
-            {
-               c = *(*string_ptr)++;
-               if (c >= '0' && c <= '7')
-                  i = (i << 3) + c - '0';
-               else
-                 {
-                    (*string_ptr)--;
-                    break;
-                 }
-            }
-          if ((i & ~((1 << MAX_CHAR_TYPE_SIZE) - 1)) != 0)
-            {
-               i &= (1 << MAX_CHAR_TYPE_SIZE) - 1;
-               cpp_warning(pfile,
-                           "octal character constant does not fit in a byte");
-            }
-          return i;
-       }
-     case 'x':
-       {
-          unsigned            i = 0, overflow = 0, digits_found = 0, digit;
-
-          for (;;)
-            {
-               c = *(*string_ptr)++;
-               if (c >= '0' && c <= '9')
-                  digit = c - '0';
-               else if (c >= 'a' && c <= 'f')
-                  digit = c - 'a' + 10;
-               else if (c >= 'A' && c <= 'F')
-                  digit = c - 'A' + 10;
-               else
-                 {
-                    (*string_ptr)--;
-                    break;
-                 }
-               overflow |= i ^ (i << 4 >> 4);
-               i = (i << 4) + digit;
-               digits_found = 1;
-            }
-          if (!digits_found)
-             cpp_error(pfile, "\\x used with no following hex digits");
-          if (overflow | (i & ~((1 << BITS_PER_UNIT) - 1)))
-            {
-               i &= (1 << BITS_PER_UNIT) - 1;
-               cpp_warning(pfile,
-                           "hex character constant does not fit in a byte");
-            }
-          return i;
-       }
-     default:
-       return c;
-     }
-}
-
-static void
-integer_overflow(cpp_reader * pfile)
-{
-   if (CPP_PEDANTIC(pfile))
-      cpp_pedwarn(pfile, "integer overflow in preprocessor expression");
-}
-
-static long
-left_shift(cpp_reader * pfile, long a, int unsignedp, unsigned long b)
-{
-   if (b >= HOST_BITS_PER_LONG)
-     {
-       if (!unsignedp && a != 0)
-          integer_overflow(pfile);
-       return 0;
-     }
-   else if (unsignedp)
-      return (unsigned long)a << b;
-   else
-     {
-       long                l = a << b;
-
-       if (l >> b != a)
-          integer_overflow(pfile);
-       return l;
-     }
-}
-
-static long
-right_shift(cpp_reader * pfile __UNUSED__, long a, int unsignedp,
-           unsigned long b)
-{
-   if (b >= HOST_BITS_PER_LONG)
-     {
-       return unsignedp ? 0 : a >> (HOST_BITS_PER_LONG - 1);
-     }
-   else if (unsignedp)
-     {
-       return (unsigned long)a >> b;
-     }
-   else
-     {
-       return a >> b;
-     }
-}
-
-/* These priorities are all even, so we can handle associatively. */
-#define PAREN_INNER_PRIO 0
-#define COMMA_PRIO 4
-#define COND_PRIO (COMMA_PRIO+2)
-#define OROR_PRIO (COND_PRIO+2)
-#define ANDAND_PRIO (OROR_PRIO+2)
-#define OR_PRIO (ANDAND_PRIO+2)
-#define XOR_PRIO (OR_PRIO+2)
-#define AND_PRIO (XOR_PRIO+2)
-#define EQUAL_PRIO (AND_PRIO+2)
-#define LESS_PRIO (EQUAL_PRIO+2)
-#define SHIFT_PRIO (LESS_PRIO+2)
-#define PLUS_PRIO (SHIFT_PRIO+2)
-#define MUL_PRIO (PLUS_PRIO+2)
-#define UNARY_PRIO (MUL_PRIO+2)
-#define PAREN_OUTER_PRIO (UNARY_PRIO+2)
-
-#define COMPARE(OP) \
-  top->unsignedp = 0;\
-  top->value = (unsigned1 || unsigned2) ? (unsigned long) v1 OP (unsigned long) v2 : (v1 OP v2)
-
-/* Parse and evaluate a C expression, reading from PFILE.
- * Returns the value of the expression.  */
-
-HOST_WIDE_INT
-cpp_parse_expr(cpp_reader * pfile)
-{
-   /* The implementation is an operator precedence parser,
-    * i.e. a bottom-up parser, using a stack for not-yet-reduced tokens.
-    * 
-    * The stack base is 'stack', and the current stack pointer is 'top'.
-    * There is a stack element for each operator (only),
-    * and the most recently pushed operator is 'top->op'.
-    * An operand (value) is stored in the 'value' field of the stack
-    * element of the operator that precedes it.
-    * In that case the 'flags' field has the HAVE_VALUE flag set.  */
-
-#define INIT_STACK_SIZE 20
-   struct operation    init_stack[INIT_STACK_SIZE];
-   struct operation   *stack = init_stack;
-   struct operation   *limit = stack + INIT_STACK_SIZE;
-   struct operation   *top = stack;
-   int                 lprio = 0, rprio = 0;
-   int                 skip_evaluation = 0;
-
-   top->rprio = 0;
-   top->flags = 0;
-   for (;;)
-     {
-       struct operation    op;
-       char                flags = 0;
-
-       /* Read a token */
-       cpp_lex(&op, pfile);
-
-       /* See if the token is an operand, in which case go to set_value.
-        * If the token is an operator, figure out its left and right
-        * priorities, and then goto maybe_reduce. */
-
-       switch (op.op)
-         {
-         case NAME:
-            top->value = 0, top->unsignedp = 0;
-            goto set_value;
-         case INT:
-         case CHAR:
-            top->value = op.value;
-            top->unsignedp = op.unsignedp;
-            goto set_value;
-         case 0:
-            lprio = 0;
-            goto maybe_reduce;
-         case '+':
-         case '-':
-            /* Is this correct if unary ? FIXME */
-            flags = RIGHT_OPERAND_REQUIRED;
-            lprio = PLUS_PRIO;
-            rprio = lprio + 1;
-            goto maybe_reduce;
-         case '!':
-         case '~':
-            flags = RIGHT_OPERAND_REQUIRED;
-            rprio = UNARY_PRIO;
-            lprio = rprio + 1;
-            goto maybe_reduce;
-         case '*':
-         case '/':
-         case '%':
-            lprio = MUL_PRIO;
-            goto binop;
-         case '<':
-         case '>':
-         case LEQ:
-         case GEQ:
-            lprio = LESS_PRIO;
-            goto binop;
-         case EQUAL:
-         case NOTEQUAL:
-            lprio = EQUAL_PRIO;
-            goto binop;
-         case LSH:
-         case RSH:
-            lprio = SHIFT_PRIO;
-            goto binop;
-         case '&':
-            lprio = AND_PRIO;
-            goto binop;
-         case '^':
-            lprio = XOR_PRIO;
-            goto binop;
-         case '|':
-            lprio = OR_PRIO;
-            goto binop;
-         case ANDAND:
-            lprio = ANDAND_PRIO;
-            goto binop;
-         case OROR:
-            lprio = OROR_PRIO;
-            goto binop;
-         case ',':
-            lprio = COMMA_PRIO;
-            goto binop;
-         case '(':
-            lprio = PAREN_OUTER_PRIO;
-            rprio = PAREN_INNER_PRIO;
-            goto maybe_reduce;
-         case ')':
-            lprio = PAREN_INNER_PRIO;
-            rprio = PAREN_OUTER_PRIO;
-            goto maybe_reduce;
-         case ':':
-            lprio = COND_PRIO;
-            rprio = COND_PRIO;
-            goto maybe_reduce;
-         case '?':
-            lprio = COND_PRIO + 1;
-            rprio = COND_PRIO;
-            goto maybe_reduce;
-          binop:
-            flags = LEFT_OPERAND_REQUIRED | RIGHT_OPERAND_REQUIRED;
-            rprio = lprio + 1;
-            goto maybe_reduce;
-         default:
-            cpp_error(pfile, "invalid character in #if");
-            goto syntax_error;
-         }
-
-      set_value:
-       /* Push a value onto the stack. */
-       if (top->flags & HAVE_VALUE)
-         {
-            cpp_error(pfile, "syntax error in #if");
-            goto syntax_error;
-         }
-       top->flags |= HAVE_VALUE;
-       continue;
-
-      maybe_reduce:
-       /* Push an operator, and check if we can reduce now. */
-       while (top->rprio > lprio)
-         {
-            long                v1 = top[-1].value, v2 = top[0].value;
-            int                 unsigned1 = top[-1].unsignedp, unsigned2 =
-               top[0].unsignedp;
-
-            top--;
-            if ((top[1].flags & LEFT_OPERAND_REQUIRED)
-                && !(top[0].flags & HAVE_VALUE))
-              {
-                 cpp_error(pfile, "syntax error - missing left operand");
-                 goto syntax_error;
-              }
-            if ((top[1].flags & RIGHT_OPERAND_REQUIRED)
-                && !(top[1].flags & HAVE_VALUE))
-              {
-                 cpp_error(pfile, "syntax error - missing right operand");
-                 goto syntax_error;
-              }
-            /* top[0].value = (top[1].op)(v1, v2); */
-            switch (top[1].op)
-              {
-              case '+':
-                 if (!(top->flags & HAVE_VALUE))
-                   {           /* Unary '+' */
-                      top->value = v2;
-                      top->unsignedp = unsigned2;
-                      top->flags |= HAVE_VALUE;
-                   }
-                 else
-                   {
-                      top->value = v1 + v2;
-                      top->unsignedp = unsigned1 || unsigned2;
-                      if (!top->unsignedp && !skip_evaluation
-                          && !possible_sum_sign(v1, v2, top->value))
-                         integer_overflow(pfile);
-                   }
-                 break;
-              case '-':
-                 if (skip_evaluation); /* do nothing */
-                 else if (!(top->flags & HAVE_VALUE))
-                   {           /* Unary '-' */
-                      top->value = -v2;
-                      if ((top->value & v2) < 0 && !unsigned2)
-                         integer_overflow(pfile);
-                      top->unsignedp = unsigned2;
-                      top->flags |= HAVE_VALUE;
-                   }
-                 else
-                   {           /* Binary '-' */
-                      top->value = v1 - v2;
-                      top->unsignedp = unsigned1 || unsigned2;
-                      if (!top->unsignedp
-                          && !possible_sum_sign(top->value, v2, v1))
-                         integer_overflow(pfile);
-                   }
-                 break;
-              case '*':
-                 top->unsignedp = unsigned1 || unsigned2;
-                 if (top->unsignedp)
-                    top->value = (unsigned long)v1 *v2;
-
-                 else if (!skip_evaluation)
-                   {
-                      top->value = v1 * v2;
-                      if (v1
-                          && (top->value / v1 != v2
-                              || (top->value & v1 & v2) < 0))
-                         integer_overflow(pfile);
-                   }
-                 break;
-              case '/':
-                 if (skip_evaluation)
-                    break;
-                 if (v2 == 0)
-                   {
-                      cpp_error(pfile, "division by zero in #if");
-                      v2 = 1;
-                   }
-                 top->unsignedp = unsigned1 || unsigned2;
-                 if (top->unsignedp)
-                    top->value = (unsigned long)v1 / v2;
-                 else
-                   {
-                      top->value = v1 / v2;
-                      if ((top->value & v1 & v2) < 0)
-                         integer_overflow(pfile);
-                   }
-                 break;
-              case '%':
-                 if (skip_evaluation)
-                    break;
-                 if (v2 == 0)
-                   {
-                      cpp_error(pfile, "division by zero in #if");
-                      v2 = 1;
-                   }
-                 top->unsignedp = unsigned1 || unsigned2;
-                 if (top->unsignedp)
-                    top->value = (unsigned long)v1 % v2;
-                 else
-                    top->value = v1 % v2;
-                 break;
-              case '!':
-                 if (top->flags & HAVE_VALUE)
-                   {
-                      cpp_error(pfile, "syntax error");
-                      goto syntax_error;
-                   }
-                 top->value = !v2;
-                 top->unsignedp = 0;
-                 top->flags |= HAVE_VALUE;
-                 break;
-              case '~':
-                 if (top->flags & HAVE_VALUE)
-                   {
-                      cpp_error(pfile, "syntax error");
-                      goto syntax_error;
-                   }
-                 top->value = ~v2;
-                 top->unsignedp = unsigned2;
-                 top->flags |= HAVE_VALUE;
-                 break;
-              case '<':
-                 COMPARE(<);
-                 break;
-              case '>':
-                 COMPARE(>);
-                 break;
-              case LEQ:
-                 COMPARE(<=);
-                 break;
-              case GEQ:
-                 COMPARE(>=);
-                 break;
-              case EQUAL:
-                 top->value = (v1 == v2);
-                 top->unsignedp = 0;
-                 break;
-              case NOTEQUAL:
-                 top->value = (v1 != v2);
-                 top->unsignedp = 0;
-                 break;
-              case LSH:
-                 if (skip_evaluation)
-                    break;
-                 top->unsignedp = unsigned1;
-                 if (v2 < 0 && !unsigned2)
-                    top->value = right_shift(pfile, v1, unsigned1, -v2);
-                 else
-                    top->value = left_shift(pfile, v1, unsigned1, v2);
-                 break;
-              case RSH:
-                 if (skip_evaluation)
-                    break;
-                 top->unsignedp = unsigned1;
-                 if (v2 < 0 && !unsigned2)
-                    top->value = left_shift(pfile, v1, unsigned1, -v2);
-                 else
-                    top->value = right_shift(pfile, v1, unsigned1, v2);
-                 break;
-#define LOGICAL(OP) \
-             top->value = v1 OP v2;\
-             top->unsignedp = unsigned1 || unsigned2;
-              case '&':
-                 LOGICAL(&);
-                 break;
-              case '^':
-                 LOGICAL(^);
-                 break;
-              case '|':
-                 LOGICAL(|);
-                 break;
-              case ANDAND:
-                 top->value = v1 && v2;
-                 top->unsignedp = 0;
-                 if (!v1)
-                    skip_evaluation--;
-                 break;
-              case OROR:
-                 top->value = v1 || v2;
-                 top->unsignedp = 0;
-                 if (v1)
-                    skip_evaluation--;
-                 break;
-              case ',':
-                 if (CPP_PEDANTIC(pfile))
-                    cpp_pedwarn(pfile, "comma operator in operand of `#if'");
-                 top->value = v2;
-                 top->unsignedp = unsigned2;
-                 break;
-              case '(':
-              case '?':
-                 cpp_error(pfile, "syntax error in #if");
-                 goto syntax_error;
-              case ':':
-                 if (top[0].op != '?')
-                   {
-                      cpp_error(pfile,
-                                "syntax error ':' without preceding '?'");
-                      goto syntax_error;
-                   }
-                 else if (!(top[1].flags & HAVE_VALUE)
-                          || !(top[-1].flags & HAVE_VALUE)
-                          || !(top[0].flags & HAVE_VALUE))
-                   {
-                      cpp_error(pfile, "bad syntax for ?: operator");
-                      goto syntax_error;
-                   }
-                 else
-                   {
-                      top--;
-                      if (top->value)
-                         skip_evaluation--;
-                      top->value = top->value ? v1 : v2;
-                      top->unsignedp = unsigned1 || unsigned2;
-                   }
-                 break;
-              case ')':
-                 if ((top[1].flags & HAVE_VALUE)
-                     || !(top[0].flags & HAVE_VALUE)
-                     || top[0].op != '(' || (top[-1].flags & HAVE_VALUE))
-                   {
-                      cpp_error(pfile, "mismatched parentheses in #if");
-                      goto syntax_error;
-                   }
-                 else
-                   {
-                      top--;
-                      top->value = v1;
-                      top->unsignedp = unsigned1;
-                      top->flags |= HAVE_VALUE;
-                   }
-                 break;
-              default:
-                 fprintf(stderr,
-                         top[1].op >= ' ' && top[1].op <= '~'
-                         ? "unimplemented operator '%c'\n"
-                         : "unimplemented operator '\\%03o'\n", top[1].op);
-              }
-         }
-       if (op.op == 0)
-         {
-            if (top != stack)
-               cpp_error(pfile, "internal error in #if expression");
-            if (stack != init_stack)
-               free(stack);
-            return top->value;
-         }
-       top++;
-
-       /* Check for and handle stack overflow. */
-       if (top == limit)
-         {
-            struct operation   *new_stack;
-            int                 old_size = (char *)limit - (char *)stack;
-            int                 new_size = 2 * old_size;
-
-            if (stack != init_stack)
-               new_stack = (struct operation *)xrealloc(stack, new_size);
-            else
-              {
-                 new_stack = (struct operation *)xmalloc(new_size);
-                 memcpy((char *)new_stack, (char *)stack, old_size);
-              }
-            stack = new_stack;
-            top = (struct operation *)((char *)new_stack + old_size);
-            limit = (struct operation *)((char *)new_stack + new_size);
-         }
-       top->flags = flags;
-       top->rprio = rprio;
-       top->op = op.op;
-       if ((op.op == OROR && top[-1].value)
-           || (op.op == ANDAND && !top[-1].value)
-           || (op.op == '?' && !top[-1].value))
-         {
-            skip_evaluation++;
-         }
-       else if (op.op == ':')
-         {
-            if (top[-2].value) /* Was condition true? */
-               skip_evaluation++;
-            else
-               skip_evaluation--;
-         }
-     }
- syntax_error:
-   if (stack != init_stack)
-      free(stack);
-   skip_rest_of_line(pfile);
-   return 0;
-}
diff --git a/legacy/edje/src/bin/epp/cpphash.c b/legacy/edje/src/bin/epp/cpphash.c
deleted file mode 100644 (file)
index e3b68e0..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/* Part of CPP library.  (Macro hash table support.)
- * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
- * Written by Per Bothner, 1994.
- * Based on CCCP program by by Paul Rubin, June 1986
- * Adapted to ANSI C, Richard Stallman, Jan 1987
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "cpplib.h"
-#include "cpphash.h"
-
-static HASHNODE    *hashtab[HASHSIZE];
-
-#define IS_IDCHAR(ch) is_idchar[(unsigned char)(ch)]
-
-/*
- * return hash function on name.  must be compatible with the one
- * computed a step at a time, elsewhere
- */
-int
-hashf(const char *name, int len, int hashsize)
-{
-   int                 r = 0;
-
-   while (len--)
-      r = HASHSTEP(r, *name++);
-
-   return MAKE_POS(r) % hashsize;
-}
-
-/*
- * find the most recent hash node for name name (ending with first
- * non-identifier char) installed by install
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-HASHNODE           *
-cpp_lookup(const char *name, int len, int hash)
-{
-   const char         *bp;
-   HASHNODE           *bucket;
-
-   if (len < 0)
-     {
-       for (bp = name; IS_IDCHAR(*bp); bp++)
-          ;
-       len = bp - name;
-     }
-   if (hash < 0)
-      hash = hashf(name, len, HASHSIZE);
-
-   bucket = hashtab[hash];
-   while (bucket)
-     {
-       if (bucket->length == len
-           && strncmp((const char *)bucket->name, name, len) == 0)
-          return bucket;
-       bucket = bucket->next;
-     }
-   return (HASHNODE *) 0;
-}
-
-/*
- * Delete a hash node.  Some weirdness to free junk from macros.
- * More such weirdness will have to be added if you define more hash
- * types that need it.
- */
-
-/* Note that the DEFINITION of a macro is removed from the hash table
- * but its storage is not freed.  This would be a storage leak
- * except that it is not reasonable to keep undefining and redefining
- * large numbers of macros many times.
- * In any case, this is necessary, because a macro can be #undef'd
- * in the middle of reading the arguments to a call to it.
- * If #undef freed the DEFINITION, that would crash.  */
-
-void
-delete_macro(HASHNODE * hp)
-{
-
-   if (hp->prev)
-      hp->prev->next = hp->next;
-   if (hp->next)
-      hp->next->prev = hp->prev;
-
-   /* make sure that the bucket chain header that
-    * the deleted guy was on points to the right thing afterwards. */
-   if (hp == *hp->bucket_hdr)
-      *hp->bucket_hdr = hp->next;
-
-   if (hp->type == T_MACRO)
-     {
-       DEFINITION         *d = hp->value.defn;
-       struct reflist     *ap, *nextap;
-
-       for (ap = d->pattern; ap; ap = nextap)
-         {
-            nextap = ap->next;
-            free(ap);
-         }
-       if (d->nargs >= 0)
-          free(d->args.argnames);
-       free(d);
-     }
-   free(hp);
-}
-/*
- * install a name in the main hash table, even if it is already there.
- *   name stops with first non alphanumeric, except leading '#'.
- * caller must check against redefinition if that is desired.
- * delete_macro () removes things installed by install () in fifo order.
- * this is important because of the `defined' special symbol used
- * in #if, and also if pushdef/popdef directives are ever implemented.
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-HASHNODE           *
-install(const char *name, int len, enum node_type type, int ivalue, char *value,
-       int hash)
-{
-   HASHNODE           *hp;
-   int                 i, bucket;
-   const char         *p;
-
-   if (len < 0)
-     {
-       p = name;
-       while (IS_IDCHAR(*p))
-          p++;
-       len = p - name;
-     }
-   if (hash < 0)
-      hash = hashf(name, len, HASHSIZE);
-
-   i = sizeof(HASHNODE) + len + 1;
-   hp = (HASHNODE *) xmalloc(i);
-   bucket = hash;
-   hp->bucket_hdr = &hashtab[bucket];
-   hp->next = hashtab[bucket];
-   hashtab[bucket] = hp;
-   hp->prev = NULL;
-   if (hp->next)
-      hp->next->prev = hp;
-   hp->type = type;
-   hp->length = len;
-   if (hp->type == T_CONST)
-      hp->value.ival = ivalue;
-   else
-      hp->value.cpval = value;
-   hp->name = ((char *)hp) + sizeof(HASHNODE);
-   memcpy(hp->name, name, len);
-   hp->name[len] = 0;
-   return hp;
-}
-
-void
-cpp_hash_cleanup(cpp_reader * pfile __UNUSED__)
-{
-   int                 i;
-
-   for (i = HASHSIZE; --i >= 0;)
-     {
-       while (hashtab[i])
-          delete_macro(hashtab[i]);
-     }
-}
diff --git a/legacy/edje/src/bin/epp/cpphash.h b/legacy/edje/src/bin/epp/cpphash.h
deleted file mode 100644 (file)
index 524a850..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-enum node_type;
-
-/* different kinds of things that can appear in the value field
-   of a hash node.  Actually, this may be useless now. */
-union hashval {
-   int                 ival;
-   char               *cpval;
-   DEFINITION         *defn;
-};
-
-struct hashnode {
-   struct hashnode    *next;   /* double links for easy deletion */
-   struct hashnode    *prev;
-   struct hashnode   **bucket_hdr;     /* also, a back pointer to this node's hash
-                                        * chain is kept, in case the node is the head
-                                        * of the chain and gets deleted. */
-   enum node_type      type;   /* type of special token */
-   int                 length; /* length of token, for quick comparison */
-   char               *name;   /* the actual name */
-   union hashval       value;  /* pointer to expansion, or whatever */
-};
-
-typedef struct hashnode HASHNODE;
-
-/* Some definitions for the hash table.  The hash function MUST be
-   computed as shown in hashf () below.  That is because the rescan
-   loop computes the hash value `on the fly' for most tokens,
-   in order to avoid the overhead of a lot of procedure calls to
-   the hashf () function.  Hashf () only exists for the sake of
-   politeness, for use when speed isn't so important. */
-
-#define HASHSIZE 1403
-#define HASHSTEP(old, c) ((old << 2) + c)
-#define MAKE_POS(v) (v & 0x7fffffff)   /* make number positive */
-
-extern int          hashf(const char *name, int len, int hashsize);
-extern HASHNODE    *cpp_lookup(const char *name, int len, int hash);
-extern void         delete_macro(HASHNODE * hp);
-extern HASHNODE    *install(const char *name, int len, enum node_type type,
-                           int ivalue, char *value, int hash);
-extern void         cpp_hash_cleanup(cpp_reader * pfile);
diff --git a/legacy/edje/src/bin/epp/cpplib.c b/legacy/edje/src/bin/epp/cpplib.c
deleted file mode 100644 (file)
index 2d8b266..0000000
+++ /dev/null
@@ -1,7474 +0,0 @@
-/* CPP Library.
- * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
- * Written by Per Bothner, 1994-95.
- * Based on CCCP program by by Paul Rubin, June 1986
- * Adapted to ANSI C, Richard Stallman, Jan 1987
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif defined __GNUC__
-# define alloca __builtin_alloca
-#elif defined _AIX
-# define alloca __alloca
-#elif defined _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-#else
-# include <stddef.h>
-void *alloca (size_t);
-#endif
-
-#ifdef __EMX__
-#include <strings.h>
-#endif
-
-#ifndef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/usr/include"
-#endif
-
-#ifndef LOCAL_INCLUDE_DIR
-#define LOCAL_INCLUDE_DIR "/usr/local/include"
-#endif
-
-#include "cpplib.h"
-#include "cpphash.h"
-
-/*
- * On Windows, if the file is not opened in binary mode,
- * read does not return the correct size, because of
- * CR / LF translation.
- */
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-const char         *version_string = "0.0.0";
-
-#ifndef STDC_VALUE
-#define STDC_VALUE 1
-#endif
-
-/* By default, colon separates directories in a path.  */
-#ifndef PATH_SEPARATOR
-#define PATH_SEPARATOR ':'
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <string.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdlib.h>
-
-#ifndef VMS
-#ifndef USG
-#include <time.h>
-#include <sys/time.h>          /* for __DATE__ and __TIME__ */
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
-#else
-#include <sys/param.h>         /* CYGNUS LOCAL: shebs -noquiet */
-#include <sys/times.h>
-#include <time.h>
-#include <fcntl.h>
-#endif /* USG */
-#endif /* not VMS */
-
-/* This defines "errno" properly for VMS, and gives us EACCES. */
-#include <errno.h>
-
-#ifndef O_RDONLY
-#define O_RDONLY 0
-#endif
-
-#undef MIN
-#undef MAX
-#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
-#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
-
-#ifndef S_ISREG
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#endif
-
-#ifndef S_ISDIR
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#endif
-
-/* Define a generic NULL if one hasn't already been defined.  */
-
-#ifndef GENERIC_PTR
-#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-#define GENERIC_PTR void *
-#else
-#define GENERIC_PTR char *
-#endif
-#endif
-
-#ifndef INCLUDE_LEN_FUDGE
-#define INCLUDE_LEN_FUDGE 0
-#endif
-
-#define USE_FILE_NAME_MAPS 0
-
-/* Symbols to predefine.  */
-
-#ifdef CPP_PREDEFINES
-static const char  *predefs = CPP_PREDEFINES;
-
-#else
-static const char  *predefs = "";
-
-#endif
-
-/* We let tm.h override the types used here, to handle trivial differences
- * such as the choice of unsigned int or long unsigned int for size_t.
- * When machines start needing nontrivial differences in the size type,
- * it would be best to do something here to figure out automatically
- * from other information what type to use.  */
-
-/* The string value for __SIZE_TYPE__.  */
-
-#ifndef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-#endif
-
-/* The string value for __PTRDIFF_TYPE__.  */
-
-#ifndef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-#endif
-
-/* The string value for __WCHAR_TYPE__.  */
-
-#ifndef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-#endif
-#define CPP_WCHAR_TYPE(PFILE) \
-       (CPP_OPTIONS (PFILE)->cplusplus ? "__wchar_t" : WCHAR_TYPE)
-
-/* The string value for __USER_LABEL_PREFIX__ */
-
-#ifndef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-#endif
-
-/* The string value for __REGISTER_PREFIX__ */
-
-#ifndef REGISTER_PREFIX
-#define REGISTER_PREFIX ""
-#endif
-
-struct directive {
-   int                 length;
-   int                 (*func) (cpp_reader * pfile, struct directive * keyword,
-                               unsigned char *buf, unsigned char *limit);
-   const char         *name;
-   enum node_type      type;
-   char                command_reads_line;
-   char                traditional_comments;
-   char                pass_thru;
-};
-
-/* In the definition of a #assert name, this structure forms
- * a list of the individual values asserted.
- * Each value is itself a list of "tokens".
- * These are strings that are compared by name.  */
-
-struct tokenlist_list {
-   struct tokenlist_list *next;
-   struct arglist     *tokens;
-};
-
-struct assertion_hashnode {
-   struct assertion_hashnode *next;    /* double links for easy deletion */
-   struct assertion_hashnode *prev;
-   /* also, a back pointer to this node's hash
-    * chain is kept, in case the node is the head
-    * of the chain and gets deleted. */
-   struct assertion_hashnode **bucket_hdr;
-   int                 length; /* length of token, for quick comparison */
-   char               *name;   /* the actual name */
-   /* List of token-sequences.  */
-   struct tokenlist_list *value;
-};
-
-#define SKIP_WHITE_SPACE(p) do { while (is_hor_space[(unsigned char)(*p)]) p++; } while (0)
-#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space[(unsigned char)(*p)]) p++; } while (0)
-
-#define PEEKN(N) (CPP_BUFFER (pfile)->rlimit - CPP_BUFFER (pfile)->cur >= (N) ? CPP_BUFFER (pfile)->cur[N] : EOF)
-#define FORWARD(N) CPP_FORWARD (CPP_BUFFER (pfile), (N))
-#define GETC() CPP_BUF_GET (CPP_BUFFER (pfile))
-#define PEEKC() CPP_BUF_PEEK (CPP_BUFFER (pfile))
-/* CPP_IS_MACRO_BUFFER is true if the buffer contains macro expansion.
- * (Note that it is false while we're expanding marco *arguments*.) */
-#define CPP_IS_MACRO_BUFFER(PBUF) ((PBUF)->cleanup == macro_cleanup)
-
-/* Move all backslash-newline pairs out of embarrassing places.
- * Exchange all such pairs following BP
- * with any potentially-embarrassing characters that follow them.
- * Potentially-embarrassing characters are / and *
- * (because a backslash-newline inside a comment delimiter
- * would cause it not to be recognized).  */
-
-#define NEWLINE_FIX \
-  do {while (PEEKC() == '\\' && PEEKN(1) == '\n') FORWARD(2); } while(0)
-
-/* Same, but assume we've already read the potential '\\' into C. */
-#define NEWLINE_FIX1(C) do { \
-    while ((C) == '\\' && PEEKC() == '\n') { FORWARD(1); (C) = GETC(); }\
-  } while(0)
-
-/* Name under which this program was invoked.  */
-
-char               *progname;
-
-struct cpp_pending {
-   struct cpp_pending *next;
-   const char         *cmd;
-   const char         *arg;
-};
-
-/* Structure returned by create_definition */
-typedef struct {
-   struct definition  *defn;
-   char               *symnam;
-   int                 symlen;
-} MACRODEF;
-
-/* Forward declarations.  */
-typedef struct file_name_list file_name_list;
-
-static void         add_import(cpp_reader * pfile, int fd, char *fname);
-static int          finclude(cpp_reader * pfile, int f, const char *fname,
-                            int system_header_p, file_name_list * dirptr);
-static void         validate_else(cpp_reader * pfile, const char *directive);
-static int          comp_def_part(int first, unsigned char *beg1, int len1,
-                                 unsigned char *beg2, int len2, int last);
-static int          lookup_import(cpp_reader * pfile, char *filename,
-                                 file_name_list * searchptr);
-static int          redundant_include_p(cpp_reader * pfile, char *name);
-
-static int          is_system_include(cpp_reader * pfile, char *filename);
-
-static int          open_include_file(cpp_reader * pfile, char *filename,
-                                     file_name_list * searchptr);
-static int          check_macro_name(cpp_reader * pfile, unsigned char *symname,
-                                    const char *usage);
-
-static int          compare_token_lists(struct arglist *l1, struct arglist *l2);
-static HOST_WIDE_INT eval_if_expression(cpp_reader * pfile, unsigned char *buf,
-                                       int length);
-
-static int          file_size_and_mode(int fd, int *mode_pointer,
-                                      long int *size_pointer);
-static struct arglist *read_token_list(cpp_reader * pfile, int *error_flag);
-static void         free_token_list(struct arglist *tokens);
-static int          safe_read(int desc, char *ptr, int len);
-static void         push_macro_expansion(cpp_reader * pfile,
-                                        unsigned char *x,
-                                        int xbuf_len, HASHNODE * hp);
-
-static struct cpp_pending *nreverse_pending(struct cpp_pending *list);
-static char        *savestring(const char *input);
-
-static void         conditional_skip(cpp_reader * pfile, int skip,
-                                    enum node_type type,
-                                    unsigned char *control_macro);
-static void         skip_if_group(cpp_reader * pfile, int any);
-
-static void         cpp_error_with_line(cpp_reader * pfile, int line,
-                                       int column, const char *msg);
-static void         cpp_pedwarn_with_line(cpp_reader * pfile, int line,
-                                         int column, const char *msg);
-static void         cpp_pedwarn_with_file_and_line(cpp_reader * pfile,
-                                                  const char *file, int line,
-                                                  const char *msg,
-                                                  const char *arg1,
-                                                  const char *arg2,
-                                                  const char *arg3);
-static void         cpp_error_from_errno(cpp_reader * pfile, const char *name);
-
-static cpp_buffer  *cpp_push_buffer(cpp_reader * pfile, unsigned char *buffer,
-                                   long length);
-static cpp_buffer  *cpp_pop_buffer(cpp_reader * pfile);
-
-/* Last arg to output_line_command.  */
-enum file_change_code {
-   same_file, enter_file, leave_file
-};
-
-/* These functions are declared to return int instead of void since they
- * are going to be placed in a table and some old compilers have trouble with
- * pointers to functions returning void.  */
-
-static int          do_define(cpp_reader * pfile, struct directive *keyword,
-                             unsigned char *buf, unsigned char *limit);
-
-static int          do_line(cpp_reader * pfile, struct directive *keyword,
-                           unsigned char *unused1, unsigned char *unused2);
-
-static int          do_include(cpp_reader * pfile, struct directive *keyword,
-                              unsigned char *unused1, unsigned char *unused2);
-
-static int          do_undef(cpp_reader * pfile, struct directive *keyword,
-                            unsigned char *buf, unsigned char *limit);
-
-static int          do_error(cpp_reader * pfile, struct directive *keyword,
-                            unsigned char *buf, unsigned char *limit);
-
-static int          do_pragma(cpp_reader * pfile, struct directive *keyword,
-                             unsigned char *buf, unsigned char *limit);
-
-static int          do_ident(cpp_reader * pfile, struct directive *keyword,
-                            unsigned char *buf, unsigned char *limit);
-
-static int          do_if(cpp_reader * pfile, struct directive *keyword,
-                         unsigned char *buf, unsigned char *limit);
-
-static int          do_xifdef(cpp_reader * pfile, struct directive *keyword,
-                             unsigned char *buf, unsigned char *limit);
-
-static int          do_else(cpp_reader * pfile, struct directive *keyword,
-                           unsigned char *buf, unsigned char *limit);
-
-static int          do_elif(cpp_reader * pfile, struct directive *keyword,
-                           unsigned char *buf, unsigned char *limit);
-
-static int          do_endif(cpp_reader * pfile, struct directive *keyword,
-                            unsigned char *buf, unsigned char *limit);
-
-static int          do_assert(cpp_reader * pfile, struct directive *keyword,
-                             unsigned char *buf, unsigned char *limit);
-
-static int          do_unassert(cpp_reader * pfile, struct directive *keyword,
-                               unsigned char *buf, unsigned char *limit);
-
-static int          do_warning(cpp_reader * pfile, struct directive *keyword,
-                              unsigned char *buf, unsigned char *limit);
-
-struct arglist     *reverse_token_list(struct arglist *tokens);
-
-static int          parse_name(cpp_reader * pfile, int c);
-
-static void         parse_set_mark(struct parse_marker *pmark,
-                                  cpp_reader * pfile);
-static void         parse_clear_mark(struct parse_marker *pmark);
-static void         parse_goto_mark(struct parse_marker *pmark,
-                                   cpp_reader * pfile);
-static void         parse_move_mark(struct parse_marker *pmark,
-                                   cpp_reader * pfile);
-
-struct file_name_list {
-   file_name_list     *next;
-   char               *fname;
-   /* If the following is nonzero, it is a macro name.
-    * Don't include the file again if that macro is defined.  */
-   unsigned char      *control_macro;
-   /* If the following is nonzero, it is a C-language system include
-    * directory.  */
-   int                 c_system_include_path;
-   /* Mapping of file names for this directory.  */
-   struct file_name_map *name_map;
-   /* Non-zero if name_map is valid.  */
-   int                 got_name_map;
-};
-
-/* If a buffer's dir field is SELF_DIR_DUMMY, it means the file was found
- * via the same directory as the file that #included it. */
-#define SELF_DIR_DUMMY ((file_name_list*)(~0))
-
-/* #include "file" looks in source file dir, then stack. */
-/* #include <file> just looks in the stack. */
-/* -I directories are added to the end, then the defaults are added. */
-/* The */
-static struct default_include {
-   const char         *fname;  /* The name of the directory.  */
-   int                 cplusplus;      /* Only look here if we're compiling C++.  */
-   int                 cxx_aware;      /* Includes in this directory don't need to
-                                        * be wrapped in extern "C" when compiling
-                                        * C++.  */
-} include_defaults_array[]
-#ifdef INCLUDE_DEFAULTS
-   = INCLUDE_DEFAULTS;
-
-#else
-   =
-{
-   /* Pick up GNU C++ specific include files.  */
-   {
-   GPLUSPLUS_INCLUDE_DIR, 1, 1}
-   ,
-#ifdef CROSS_COMPILE
-      /* This is the dir for fixincludes.  Put it just before
-       * the files that we fix.  */
-   {
-   GCC_INCLUDE_DIR, 0, 0}
-   ,
-      /* For cross-compilation, this dir name is generated
-       * automatically in Makefile.in.  */
-   {
-   CROSS_INCLUDE_DIR, 0, 0}
-   ,
-      /* This is another place that the target system's headers might be.  */
-   {
-   TOOL_INCLUDE_DIR, 0, 1}
-   ,
-#else /* not CROSS_COMPILE */
-      /* This should be /usr/local/include and should come before
-       * the fixincludes-fixed header files.  */
-   {
-   LOCAL_INCLUDE_DIR, 0, 1}
-   ,
-      /* This is here ahead of GCC_INCLUDE_DIR because assert.h goes here.
-       * Likewise, behind LOCAL_INCLUDE_DIR, where glibc puts its assert.h.  */
-   {
-   TOOL_INCLUDE_DIR, 0, 1}
-   ,
-      /* This is the dir for fixincludes.  Put it just before
-       * the files that we fix.  */
-   {
-   GCC_INCLUDE_DIR, 0, 0}
-   ,
-      /* Some systems have an extra dir of include files.  */
-#ifdef SYSTEM_INCLUDE_DIR
-   {
-   SYSTEM_INCLUDE_DIR, 0, 0}
-   ,
-#endif
-   {
-   STANDARD_INCLUDE_DIR, 0, 0}
-   ,
-#endif /* not CROSS_COMPILE */
-   {
-   0, 0, 0}
-};
-
-#endif /* no INCLUDE_DEFAULTS */
-
-/* Here is the actual list of #-directives, most-often-used first.
- * The initialize_builtins function assumes #define is the very first.  */
-
-static struct directive directive_table[] = {
-   {6, do_define, "define", T_DEFINE, 0, 1, 0},
-   {5, do_xifdef, "ifdef", T_IFDEF, 1, 0, 0},
-   {6, do_xifdef, "ifndef", T_IFNDEF, 1, 0, 0},
-   {7, do_include, "include", T_INCLUDE, 1, 0, 0},
-   {12, do_include, "include_next", T_INCLUDE_NEXT, 1, 0, 0},
-   {6, do_include, "import", T_IMPORT, 1, 0, 0},
-   {5, do_endif, "endif", T_ENDIF, 1, 0, 0},
-   {4, do_else, "else", T_ELSE, 1, 0, 0},
-   {2, do_if, "if", T_IF, 1, 0, 0},
-   {4, do_elif, "elif", T_ELIF, 1, 0, 0},
-   {5, do_undef, "undef", T_UNDEF, 0, 0, 0},
-   {5, do_error, "error", T_ERROR, 0, 0, 0},
-   {7, do_warning, "warning", T_WARNING, 0, 0, 0},
-   {6, do_pragma, "pragma", T_PRAGMA, 0, 0, 1},
-   {4, do_line, "line", T_LINE, 1, 0, 0},
-   {5, do_ident, "ident", T_IDENT, 1, 0, 1},
-#ifdef SCCS_DIRECTIVE
-   {4, do_sccs, "sccs", T_SCCS, 0, 0, 0},
-#endif
-   {6, do_assert, "assert", T_ASSERT, 1, 0, 0},
-   {8, do_unassert, "unassert", T_UNASSERT, 1, 0, 0},
-   {-1, 0, "", T_UNUSED, 0, 0, 0},
-};
-
-/* table to tell if char can be part of a C identifier. */
-unsigned char       is_idchar[256];
-
-/* table to tell if char can be first char of a c identifier. */
-unsigned char       is_idstart[256];
-
-/* table to tell if c is horizontal space.  */
-unsigned char       is_hor_space[256];
-
-/* table to tell if c is horizontal or vertical space.  */
-static unsigned char is_space[256];
-
-static int           anotate = 0;
-
-/* Initialize syntactic classifications of characters.  */
-
-static void
-initialize_char_syntax(struct cpp_options *opts)
-{
-   int                 i;
-
-   /*
-    * Set up is_idchar and is_idstart tables.  These should be
-    * faster than saying (is_alpha (c) || c == '_'), etc.
-    * Set up these things before calling any routines tthat
-    * refer to them.
-    */
-   for (i = 'a'; i <= 'z'; i++)
-     {
-       is_idchar[i - 'a' + 'A'] = 1;
-       is_idchar[i] = 1;
-       is_idstart[i - 'a' + 'A'] = 1;
-       is_idstart[i] = 1;
-     }
-   for (i = '0'; i <= '9'; i++)
-      is_idchar[i] = 1;
-   is_idchar[(unsigned char)'_'] = 1;
-   is_idstart[(unsigned char)'_'] = 1;
-   is_idchar[(unsigned char)'$'] = opts->dollars_in_ident;
-   is_idstart[(unsigned char)'$'] = opts->dollars_in_ident;
-
-   /* horizontal space table */
-   is_hor_space[(unsigned char)' '] = 1;
-   is_hor_space[(unsigned char)'\t'] = 1;
-   is_hor_space[(unsigned char)'\v'] = 1;
-   is_hor_space[(unsigned char)'\f'] = 1;
-   is_hor_space[(unsigned char)'\r'] = 1;
-
-   is_space[(unsigned char)' '] = 1;
-   is_space[(unsigned char)'\t'] = 1;
-   is_space[(unsigned char)'\v'] = 1;
-   is_space[(unsigned char)'\f'] = 1;
-   is_space[(unsigned char)'\n'] = 1;
-   is_space[(unsigned char)'\r'] = 1;
-}
-
-/* Place into PFILE a quoted string representing the string SRC.
- * Caller must reserve enough space in pfile->token_buffer. */
-static void
-quote_string(cpp_reader * pfile, const char *src)
-{
-   unsigned char       c;
-
-   CPP_PUTC_Q(pfile, '\"');
-   for (;;)
-      switch ((c = *src++))
-       {
-       default:
-          if (isprint(c))
-             CPP_PUTC_Q(pfile, c);
-          else
-            {
-               sprintf((char *)CPP_PWRITTEN(pfile), "\\%03o", c);
-               CPP_ADJUST_WRITTEN(pfile, 4);
-            }
-          break;
-
-       case '\"':
-       case '\\':
-          CPP_PUTC_Q(pfile, '\\');
-          CPP_PUTC_Q(pfile, c);
-          break;
-
-       case '\0':
-          CPP_PUTC_Q(pfile, '\"');
-          CPP_NUL_TERMINATE_Q(pfile);
-          return;
-       }
-}
-
-/* Make sure PFILE->token_buffer will hold at least N more chars. */
-
-void
-cpp_grow_buffer(cpp_reader * pfile, long n)
-{
-   long                old_written = CPP_WRITTEN(pfile);
-
-   pfile->token_buffer_size = n + 2 * pfile->token_buffer_size;
-   pfile->token_buffer =
-      (unsigned char *)xrealloc(pfile->token_buffer, pfile->token_buffer_size);
-   CPP_SET_WRITTEN(pfile, old_written);
-}
-
-/*
- * process a given definition string, for initialization
- * If STR is just an identifier, define it with value 1.
- * If STR has anything after the identifier, then it should
- * be identifier=definition.
- */
-
-void
-cpp_define(cpp_reader * pfile, unsigned char *str)
-{
-   unsigned char      *buf, *p;
-
-   buf = str;
-   p = str;
-   if (!is_idstart[*p])
-     {
-       cpp_error(pfile, "malformed option `-D %s'", str);
-       return;
-     }
-   while (is_idchar[*++p])
-      ;
-   if (*p == 0)
-     {
-       buf = (unsigned char *)alloca(p - buf + 4);
-       strcpy((char *)buf, (const char *)str);
-       strcat((char *)buf, " 1");
-     }
-   else if (*p != '=')
-     {
-       cpp_error(pfile, "malformed option `-D %s'", str);
-       return;
-     }
-   else
-     {
-       unsigned char      *q;
-
-       /* Copy the entire option so we can modify it.  */
-       buf = (unsigned char *)alloca(2 * strlen((char *)str) + 1);
-       strncpy((char *)buf, (const char *)str, p - str);
-       /* Change the = to a space.  */
-       buf[p - str] = ' ';
-       /* Scan for any backslash-newline and remove it.  */
-       p++;
-       q = &buf[p - str];
-       while (*p)
-         {
-            if (*p == '\\' && p[1] == '\n')
-               p += 2;
-            else
-               *q++ = *p++;
-         }
-       *q = 0;
-     }
-
-   do_define(pfile, NULL, buf, buf + strlen((char *)buf));
-}
-
-/* Process the string STR as if it appeared as the body of a #assert.
- * OPTION is the option name for which STR was the argument.  */
-
-static void
-make_assertion(cpp_reader * pfile, const char *option, const char *str)
-{
-   unsigned char      *buf, *p, *q;
-
-   /* Copy the entire option so we can modify it.  */
-   buf = (unsigned char *)alloca(strlen((char *)str) + 1);
-   strcpy((char *)buf, (const char *)str);
-   /* Scan for any backslash-newline and remove it.  */
-   p = q = buf;
-   while (*p)
-     {
-       *q++ = *p++;
-     }
-   *q = 0;
-
-   p = buf;
-   if (!is_idstart[*p])
-     {
-       cpp_error(pfile, "malformed option `%s %s'", option, str);
-       return;
-     }
-   while (is_idchar[*++p])
-      ;
-   while (*p == ' ' || *p == '\t')
-      p++;
-   if (!(*p == 0 || *p == '('))
-     {
-       cpp_error(pfile, "malformed option `%s %s'", option, str);
-       return;
-     }
-   cpp_push_buffer(pfile, buf, strlen((char *)buf));
-   do_assert(pfile, NULL, NULL, NULL);
-   cpp_pop_buffer(pfile);
-}
-
-/* Append a chain of `file_name_list's
- * to the end of the main include chain.
- * FIRST is the beginning of the chain to append, and LAST is the end.  */
-
-static void
-append_include_chain(cpp_reader * pfile, file_name_list * first,
-                    file_name_list * last)
-{
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-   file_name_list     *dir;
-
-   if (!first || !last)
-      return;
-
-   if (!opts->include)
-      opts->include = first;
-   else
-      opts->last_include->next = first;
-
-   if (!opts->first_bracket_include)
-      opts->first_bracket_include = first;
-
-   for (dir = first;; dir = dir->next)
-     {
-       int                 len = strlen(dir->fname) + INCLUDE_LEN_FUDGE;
-
-       if (len > pfile->max_include_len)
-          pfile->max_include_len = len;
-       if (dir == last)
-          break;
-     }
-
-   last->next = NULL;
-   opts->last_include = last;
-}
-
-/* Add output to `deps_buffer' for the -M switch.
- * STRING points to the text to be output.
- * SPACER is ':' for targets, ' ' for dependencies, zero for text
- * to be inserted literally.  */
-
-static void
-deps_output(cpp_reader * pfile, const char *string, int spacer)
-{
-   int                 size = strlen(string);
-
-   if (size == 0)
-      return;
-
-#ifndef MAX_OUTPUT_COLUMNS
-#define MAX_OUTPUT_COLUMNS 72
-#endif
-   if (spacer
-       && pfile->deps_column > 0
-       && (pfile->deps_column + size) > MAX_OUTPUT_COLUMNS)
-     {
-       deps_output(pfile, " \\\n  ", 0);
-       pfile->deps_column = 0;
-     }
-   if (pfile->deps_size + size + 8 > pfile->deps_allocated_size)
-     {
-       pfile->deps_allocated_size = (pfile->deps_size + size + 50) * 2;
-       pfile->deps_buffer = (char *)xrealloc(pfile->deps_buffer,
-                                             pfile->deps_allocated_size);
-     }
-   if (spacer == ' ' && pfile->deps_column > 0)
-      pfile->deps_buffer[pfile->deps_size++] = ' ';
-   memcpy(&pfile->deps_buffer[pfile->deps_size], string, size);
-   pfile->deps_size += size;
-   pfile->deps_column += size;
-   if (spacer == ':')
-      pfile->deps_buffer[pfile->deps_size++] = ':';
-   pfile->deps_buffer[pfile->deps_size] = 0;
-}
-
-/* Given a colon-separated list of file names PATH,
- * add all the names to the search path for include files.  */
-
-static void
-path_include(cpp_reader * pfile, char *path)
-{
-   char               *p;
-
-   p = path;
-
-   if (*p)
-      while (1)
-       {
-          char               *q = p;
-          char               *name;
-          file_name_list     *dirtmp;
-
-          /* Find the end of this name.  */
-          while (*q != 0 && *q != PATH_SEPARATOR)
-             q++;
-          if (p == q)
-            {
-               /* An empty name in the path stands for the current directory.  */
-               name = (char *)xmalloc(2);
-               name[0] = '.';
-               name[1] = 0;
-            }
-          else
-            {
-               /* Otherwise use the directory that is named.  */
-               name = (char *)xmalloc(q - p + 1);
-               memcpy(name, p, q - p);
-               name[q - p] = 0;
-            }
-
-          dirtmp = (file_name_list *) xmalloc(sizeof(file_name_list));
-
-          dirtmp->next = 0;    /* New one goes on the end */
-          dirtmp->control_macro = 0;
-          dirtmp->c_system_include_path = 0;
-          dirtmp->fname = name;
-          dirtmp->got_name_map = 0;
-          append_include_chain(pfile, dirtmp, dirtmp);
-
-          /* Advance past this name.  */
-          p = q;
-          if (*p == 0)
-             break;
-          /* Skip the colon.  */
-          p++;
-       }
-}
-
-void
-init_parse_options(struct cpp_options *opts)
-{
-   memset((char *)opts, 0, sizeof *opts);
-   opts->in_fname = NULL;
-   opts->out_fname = NULL;
-
-   /* Initialize is_idchar to allow $.  */
-   opts->dollars_in_ident = 1;
-   initialize_char_syntax(opts);
-   opts->dollars_in_ident = DOLLARS_IN_IDENTIFIERS > 0;
-
-   opts->no_line_commands = 0;
-   opts->no_trigraphs = 1;
-   opts->put_out_comments = 0;
-   opts->print_include_names = 0;
-   opts->dump_macros = dump_none;
-   opts->no_output = 0;
-   opts->cplusplus = 0;
-   opts->cplusplus_comments = 1;
-
-   opts->verbose = 0;
-   opts->objc = 0;
-   opts->lang_asm = 0;
-   opts->for_lint = 0;
-   opts->chill = 0;
-   opts->pedantic_errors = 0;
-   opts->inhibit_warnings = 0;
-   opts->warn_comments = 0;
-   opts->warn_import = 1;
-   opts->warnings_are_errors = 0;
-}
-
-static enum cpp_token
-null_underflow(cpp_reader * pfile __UNUSED__)
-{
-   return CPP_EOF;
-}
-
-static int
-null_cleanup(cpp_buffer * pbuf __UNUSED__, cpp_reader * pfile __UNUSED__)
-{
-   return 0;
-}
-
-static int
-macro_cleanup(cpp_buffer * pbuf, cpp_reader * pfile __UNUSED__)
-{
-   HASHNODE           *macro = (HASHNODE *) pbuf->data;
-
-   if (macro->type == T_DISABLED)
-      macro->type = T_MACRO;
-   if (macro->type != T_MACRO || pbuf->buf != macro->value.defn->expansion)
-      free(pbuf->buf);
-   return 0;
-}
-
-static int
-file_cleanup(cpp_buffer * pbuf, cpp_reader * pfile __UNUSED__)
-{
-   if (pbuf->buf)
-     {
-       free(pbuf->buf);
-       pbuf->buf = 0;
-     }
-   return 0;
-}
-
-/* Assuming we have read '/'.
- * If this is the start of a comment (followed by '*' or '/'),
- * skip to the end of the comment, and return ' '.
- * Return EOF if we reached the end of file before the end of the comment.
- * If not the start of a comment, return '/'. */
-
-static int
-skip_comment(cpp_reader * pfile, long *linep)
-{
-   int                 c = 0;
-
-   while (PEEKC() == '\\' && PEEKN(1) == '\n')
-     {
-       if (linep)
-          (*linep)++;
-       FORWARD(2);
-     }
-   if (PEEKC() == '*')
-     {
-       FORWARD(1);
-       for (;;)
-         {
-            int                 prev_c = c;
-
-            c = GETC();
-            if (c == EOF)
-               return EOF;
-            while (c == '\\' && PEEKC() == '\n')
-              {
-                 if (linep)
-                    (*linep)++;
-                 FORWARD(1), c = GETC();
-              }
-            if (prev_c == '*' && c == '/')
-               return ' ';
-            if (c == '\n' && linep)
-               (*linep)++;
-         }
-     }
-   else if (PEEKC() == '/' && CPP_OPTIONS(pfile)->cplusplus_comments)
-     {
-       FORWARD(1);
-       for (;;)
-         {
-            c = GETC();
-            if (c == EOF)
-               return ' ';     /* Allow // to be terminated by EOF. */
-            while (c == '\\' && PEEKC() == '\n')
-              {
-                 FORWARD(1);
-                 c = GETC();
-                 if (linep)
-                    (*linep)++;
-              }
-            if (c == '\n')
-              {
-                 /* Don't consider final '\n' to be part of comment. */
-                 FORWARD(-1);
-                 return ' ';
-              }
-         }
-     }
-   else
-      return '/';
-}
-
-/* Skip whitespace \-newline and comments.  Does not macro-expand.  */
-void
-cpp_skip_hspace(cpp_reader * pfile)
-{
-   while (1)
-     {
-       int                 c = PEEKC();
-
-       if (c == EOF)
-          return;              /* FIXME */
-       if (is_hor_space[c])
-         {
-            if ((c == '\f' || c == '\v') && CPP_PEDANTIC(pfile))
-               cpp_pedwarn(pfile, "%s in preprocessing directive",
-                           c == '\f' ? "formfeed" : "vertical tab");
-            FORWARD(1);
-         }
-       else if (c == '/')
-         {
-            FORWARD(1);
-            c = skip_comment(pfile, NULL);
-            if (c == '/')
-               FORWARD(-1);
-            if (c == EOF || c == '/')
-               return;
-         }
-       else if (c == '\\' && PEEKN(1) == '\n')
-         {
-            FORWARD(2);
-         }
-       else if (c == '@' && CPP_BUFFER(pfile)->has_escapes
-                && is_hor_space[PEEKN(1)])
-          {
-             FORWARD(1);
-          }
-       else
-          return;
-     }
-}
-
-/* Read the rest of the current line.
- * The line is appended to PFILE's output buffer. */
-
-static void
-copy_rest_of_line(cpp_reader * pfile)
-{
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-
-   for (;;)
-     {
-       int                 c = GETC();
-       int                 nextc;
-
-       switch (c)
-         {
-         case EOF:
-            goto end_directive;
-         case '\\':
-            if (PEEKC() == '\n')
-              {
-                 FORWARD(1);
-                 continue;
-              }
-         case '\'':
-         case '\"':
-            goto scan_directive_token;
-            break;
-         case '/':
-            nextc = PEEKC();
-            if (nextc == '*' || (opts->cplusplus_comments && nextc == '*'))
-               goto scan_directive_token;
-            break;
-         case '\f':
-         case '\v':
-            if (CPP_PEDANTIC(pfile))
-               cpp_pedwarn(pfile, "%s in preprocessing directive",
-                           c == '\f' ? "formfeed" : "vertical tab");
-            break;
-
-         case '\n':
-            FORWARD(-1);
-            goto end_directive;
-          scan_directive_token:
-            FORWARD(-1);
-            cpp_get_token(pfile);
-            continue;
-         }
-       CPP_PUTC(pfile, c);
-     }
- end_directive:;
-   CPP_NUL_TERMINATE(pfile);
-}
-
-void
-skip_rest_of_line(cpp_reader * pfile)
-{
-   long                old = CPP_WRITTEN(pfile);
-
-   copy_rest_of_line(pfile);
-   CPP_SET_WRITTEN(pfile, old);
-}
-
-/* Handle a possible # directive.
- * '#' has already been read.  */
-
-static int
-handle_directive(cpp_reader * pfile)
-{
-   int                 c;
-   struct directive   *kt;
-   int                 ident_length;
-   long                after_ident = 0;
-   unsigned char      *ident, *line_end;
-   long                old_written = CPP_WRITTEN(pfile);
-
-   cpp_skip_hspace(pfile);
-
-   c = PEEKC();
-   if (c >= '0' && c <= '9')
-     {
-       /* Handle # followed by a line number.  */
-       if (CPP_PEDANTIC(pfile))
-          cpp_pedwarn(pfile, "`#' followed by integer");
-       do_line(pfile, NULL, NULL, NULL);
-       goto done_a_directive;
-     }
-   /* Now find the directive name. */
-   CPP_PUTC(pfile, '#');
-   parse_name(pfile, GETC());
-   ident = pfile->token_buffer + old_written + 1;
-   ident_length = CPP_PWRITTEN(pfile) - ident;
-   if (ident_length == 0 && PEEKC() == '\n')
-     {
-       /* A line of just `#' becomes blank.  */
-       goto done_a_directive;
-     }
-   /*
-    * Decode the keyword and call the appropriate expansion
-    * routine, after moving the input pointer up to the next line.
-    */
-   for (kt = directive_table;; kt++)
-     {
-       if (kt->length <= 0)
-          goto not_a_directive;
-       if (kt->length == ident_length
-           && !strncmp(kt->name, (const char *)ident, ident_length))
-          break;
-     }
-
-   if (!kt->command_reads_line)
-     {
-       /* Nonzero means do not delete comments within the directive.
-        * #define needs this when -traditional.  */
-       int                 comments = 0;
-       int                 save_put_out_comments =
-          CPP_OPTIONS(pfile)->put_out_comments;
-
-       CPP_OPTIONS(pfile)->put_out_comments = comments;
-       after_ident = CPP_WRITTEN(pfile);
-       copy_rest_of_line(pfile);
-       CPP_OPTIONS(pfile)->put_out_comments = save_put_out_comments;
-     }
-   /* For #pragma and #define, we may want to pass through the directive.
-    * Other directives may create output, but we don't want the directive
-    * itself out, so we pop it now.  For example #include may write a #line
-    * command (see comment in do_include), and conditionals may emit
-    * #failed ... #endfailed stuff.  But note that popping the buffer
-    * means the parameters to kt->func may point after pfile->limit
-    * so these parameters are invalid as soon as something gets appended
-    * to the token_buffer.  */
-
-   line_end = CPP_PWRITTEN(pfile);
-   if (!kt->pass_thru && kt->type != T_DEFINE)
-      CPP_SET_WRITTEN(pfile, old_written);
-
-   (*kt->func) (pfile, kt, pfile->token_buffer + after_ident, line_end);
-   if (kt->pass_thru
-       || (kt->type == T_DEFINE
-          && CPP_OPTIONS(pfile)->dump_macros == dump_definitions))
-     {
-       /* Just leave the entire #define in the output stack. */
-     }
-   else if (kt->type == T_DEFINE
-           && CPP_OPTIONS(pfile)->dump_macros == dump_names)
-     {
-       unsigned char      *p = pfile->token_buffer + old_written + 7;  /* Skip "#define". */
-
-       SKIP_WHITE_SPACE(p);
-       while (is_idchar[*p])
-          p++;
-       pfile->limit = p;
-       CPP_PUTC(pfile, '\n');
-     }
-   else if (kt->type == T_DEFINE)
-      CPP_SET_WRITTEN(pfile, old_written);
- done_a_directive:
-   return 1;
-
- not_a_directive:
-   return 0;
-}
-
-/* Pass a directive through to the output file.
- * BUF points to the contents of the directive, as a contiguous string.
- * LIMIT points to the first character past the end of the directive.
- * KEYWORD is the keyword-table entry for the directive.  */
-
-static void
-pass_thru_directive(char *buf, char *limit, cpp_reader * pfile,
-                   struct directive *keyword)
-{
-   unsigned            keyword_length = keyword->length;
-
-   CPP_RESERVE(pfile, 1 + keyword_length + (limit - buf));
-   CPP_PUTC_Q(pfile, '#');
-   CPP_PUTS_Q(pfile, keyword->name, keyword_length);
-   if (limit != buf && buf[0] != ' ')
-      CPP_PUTC_Q(pfile, ' ');
-   CPP_PUTS_Q(pfile, buf, limit - buf);
-}
-
-/* The arglist structure is built by do_define to tell
- * collect_definition where the argument names begin.  That
- * is, for a define like "#define f(x,y,z) foo+x-bar*y", the arglist
- * would contain pointers to the strings x, y, and z.
- * Collect_definition would then build a DEFINITION node,
- * with reflist nodes pointing to the places x, y, and z had
- * appeared.  So the arglist is just convenience data passed
- * between these two routines.  It is not kept around after
- * the current #define has been processed and entered into the
- * hash table. */
-
-struct arglist {
-   struct arglist     *next;
-   char               *name;
-   int                 length;
-   int                 argno;
-   char                rest_args;
-};
-
-/* Read a replacement list for a macro with parameters.
- * Build the DEFINITION structure.
- * Reads characters of text starting at BUF until END.
- * ARGLIST specifies the formal parameters to look for
- * in the text of the definition; NARGS is the number of args
- * in that list, or -1 for a macro name that wants no argument list.
- * MACRONAME is the macro name itself (so we can avoid recursive expansion)
- * and NAMELEN is its length in characters.
- * 
- * Note that comments, backslash-newlines, and leading white space
- * have already been deleted from the argument.  */
-
-static DEFINITION  *
-collect_expansion(cpp_reader * pfile, unsigned char *buf, unsigned char *limit,
-                 int nargs, struct arglist *arglist)
-{
-   DEFINITION         *defn;
-   unsigned char      *p, *lastp, *exp_p;
-   reflist            *endpat = NULL;
-
-   /* Pointer to first nonspace after last ## seen.  */
-   unsigned char      *concat = 0;
-
-   /* Pointer to first nonspace after last single-# seen.  */
-   unsigned char      *stringify = 0;
-   int                 maxsize;
-   int                 expected_delimiter = '\0';
-
-   /* Scan thru the replacement list, ignoring comments and quoted
-    * strings, picking up on the macro calls.  It does a linear search
-    * thru the arg list on every potential symbol.  Profiling might say
-    * that something smarter should happen. */
-
-   if (limit < buf)
-      abort();
-
-   /* Find the beginning of the trailing whitespace.  */
-   p = buf;
-   while (p < limit && is_space[limit[-1]])
-      limit--;
-
-   /* Allocate space for the text in the macro definition.
-    * Leading and trailing whitespace chars need 2 bytes each.
-    * Each other input char may or may not need 1 byte,
-    * so this is an upper bound.  The extra 5 are for invented
-    * leading and trailing newline-marker and final null.  */
-   maxsize = (sizeof(DEFINITION) + (limit - p) + 5);
-   /* Occurrences of '@' get doubled, so allocate extra space for them. */
-   while (p < limit)
-      if (*p++ == '@')
-        maxsize++;
-   defn = (DEFINITION *) xcalloc(1, maxsize);
-
-   defn->nargs = nargs;
-   exp_p = defn->expansion = (unsigned char *)defn + sizeof(DEFINITION);
-   lastp = exp_p;
-
-   p = buf;
-
-   /* Add one initial space escape-marker to prevent accidental
-    * token-pasting (often removed by macroexpand). */
-   *exp_p++ = '@';
-   *exp_p++ = ' ';
-
-   if (limit - p >= 2 && p[0] == '#' && p[1] == '#')
-     {
-       cpp_error(pfile, "`##' at start of macro definition");
-       p += 2;
-     }
-   /* Process the main body of the definition.  */
-   while (p < limit)
-     {
-       int                 skipped_arg = 0;
-       unsigned char       c = *p++;
-
-       *exp_p++ = c;
-
-        switch (c)
-          {
-           case '\'':
-           case '\"':
-             if (expected_delimiter != '\0')
-               {
-                  if (c == expected_delimiter)
-                     expected_delimiter = '\0';
-               }
-             else
-                expected_delimiter = c;
-             break;
-             
-           case '\\':
-             if (p < limit && expected_delimiter)
-               {
-                  /* In a string, backslash goes through
-                   * and makes next char ordinary.  */
-                  *exp_p++ = *p++;
-               }
-             break;
-             
-           case '@':
-             /* An '@' in a string or character constant stands for itself,
-              * and does not need to be escaped. */
-             if (!expected_delimiter)
-                *exp_p++ = c;
-             break;
-             
-           case '#':
-             /* # is ordinary inside a string.  */
-             if (expected_delimiter)
-                break;
-             if (p < limit && *p == '#')
-               {
-                  /* ##: concatenate preceding and following tokens.  */
-                  /* Take out the first #, discard preceding whitespace.  */
-                  exp_p--;
-                  while (exp_p > lastp && is_hor_space[exp_p[-1]])
-                     --exp_p;
-                  /* Skip the second #.  */
-                  p++;
-                  /* Discard following whitespace.  */
-                  SKIP_WHITE_SPACE(p);
-                  concat = p;
-                  if (p == limit)
-                     cpp_error(pfile, "`##' at end of macro definition");
-               }
-             else if (nargs >= 0)
-               {
-                  /* Single #: stringify following argument ref.
-                   * Don't leave the # in the expansion.  */
-                  exp_p--;
-                  SKIP_WHITE_SPACE(p);
-                  if (p == limit || !is_idstart[*p])
-                     cpp_error(pfile,
-                               "`#' operator is not followed by a macro argument name");
-                  else
-                     stringify = p;
-               }
-             break;
-          }
-
-       /* Handle the start of a symbol.  */
-       if (is_idchar[c] && nargs > 0)
-         {
-            unsigned char      *id_beg = p - 1;
-            int                 id_len;
-
-            --exp_p;
-            while (p != limit && is_idchar[*p])
-               p++;
-            id_len = p - id_beg;
-
-            if (is_idstart[c])
-              {
-                 struct arglist     *arg;
-
-                 for (arg = arglist; arg; arg = arg->next)
-                   {
-                      reflist            *tpat;
-
-                      if (arg->name[0] == c
-                          && arg->length == id_len
-                          && strncmp((const char *)arg->name,
-                                     (const char *)id_beg, id_len) == 0)
-                        {
-                           if (expected_delimiter
-                               && CPP_OPTIONS(pfile)->warn_stringify)
-                             {
-                                 cpp_warning(pfile,
-                                             "macro arg `%.*s' would be stringified with -traditional.",
-                                             id_len, arg->name);
-                             }
-                           /* If ANSI, don't actually substitute inside a string.  */
-                           if (expected_delimiter)
-                              break;
-                           /* make a pat node for this arg and append it to the end of
-                            * the pat list */
-                           tpat = (reflist *) xmalloc(sizeof(reflist));
-
-                           tpat->next = NULL;
-                           tpat->raw_before = concat == id_beg;
-                           tpat->raw_after = 0;
-                           tpat->rest_args = arg->rest_args;
-                           tpat->stringify = (stringify == id_beg);
-
-                           if (!endpat)
-                              defn->pattern = tpat;
-                           else
-                              endpat->next = tpat;
-                           endpat = tpat;
-
-                           tpat->argno = arg->argno;
-                           tpat->nchars = exp_p - lastp;
-                           {
-                              unsigned char      *p1 = p;
-
-                              SKIP_WHITE_SPACE(p1);
-                              if (p1 + 2 <= limit && p1[0] == '#'
-                                  && p1[1] == '#')
-                                 tpat->raw_after = 1;
-                           }
-                           lastp = exp_p;      /* place to start copying from next time */
-                           skipped_arg = 1;
-                           break;
-                        }
-                   }
-              }
-            /* If this was not a macro arg, copy it into the expansion.  */
-            if (!skipped_arg)
-              {
-                 unsigned char      *lim1 = p;
-
-                 p = id_beg;
-                 while (p != lim1)
-                    *exp_p++ = *p++;
-                 if (stringify == id_beg)
-                    cpp_error(pfile,
-                              "`#' operator should be followed by a macro argument name");
-              }
-         }
-     }
-
-   if (expected_delimiter == 0)
-     {
-       /* If ANSI, put in a "@ " marker to prevent token pasting.
-        * But not if "inside a string" (which in ANSI mode
-        * happens only for -D option).  */
-       *exp_p++ = '@';
-       *exp_p++ = ' ';
-     }
-   *exp_p = '\0';
-
-   defn->length = exp_p - defn->expansion;
-
-   /* Crash now if we overrun the allocated size.  */
-   if (defn->length + 1 > maxsize)
-      abort();
-
-   return defn;
-}
-
-/*
- * special extension string that can be added to the last macro argument to 
- * allow it to absorb the "rest" of the arguments when expanded.  Ex:
- *              #define wow(a, b...)            process (b, a, b)
- *              { wow (1, 2, 3); }      ->      { process (2, 3, 1, 2, 3); }
- *              { wow (one, two); }     ->      { process (two, one, two); }
- * if this "rest_arg" is used with the concat token '##' and if it is not
- * supplied then the token attached to with ## will not be outputted.  Ex:
- *              #define wow (a, b...)           process (b ## , a, ## b)
- *              { wow (1, 2); }         ->      { process (2, 1, 2); }
- *              { wow (one); }          ->      { process (one); {
- */
-static char         rest_extension[] = "...";
-
-#define REST_EXTENSION_LENGTH  (sizeof (rest_extension) - 1)
-
-/* Create a DEFINITION node from a #define directive.  Arguments are 
- * as for do_define. */
-static void
-create_definition(MACRODEF * mdef, unsigned char *buf, unsigned char *limit,
-                 cpp_reader * pfile, int predefinition)
-{
-   unsigned char      *bp;     /* temp ptr into input buffer */
-   unsigned char      *symname;        /* remember where symbol name starts */
-   int                 sym_length;     /* and how long it is */
-   int                 rest_args = 0;
-   long                line, col;
-   const char         *file =
-      CPP_BUFFER(pfile) ? CPP_BUFFER(pfile)->nominal_fname : "";
-   DEFINITION         *defn;
-   int                 arglengths = 0; /* Accumulate lengths of arg names
-                                        * plus number of args.  */
-
-   cpp_buf_line_and_col(CPP_BUFFER(pfile), &line, &col);
-
-   bp = buf;
-
-   while (is_hor_space[*bp])
-      bp++;
-
-   symname = bp;               /* remember where it starts */
-
-   sym_length = check_macro_name(pfile, bp, "macro");
-   bp += sym_length;
-
-   /* Lossage will occur if identifiers or control keywords are broken
-    * across lines using backslash.  This is not the right place to take
-    * care of that. */
-
-   if (*bp == '(')
-     {
-       struct arglist     *arg_ptrs = NULL;
-       int                 argno = 0;
-
-       bp++;                   /* skip '(' */
-       SKIP_WHITE_SPACE(bp);
-
-       /* Loop over macro argument names.  */
-       while (*bp != ')')
-         {
-            struct arglist     *temp;
-
-            temp = (struct arglist *)alloca(sizeof(struct arglist));
-
-            temp->name = (char *)bp;
-            temp->next = arg_ptrs;
-            temp->argno = argno++;
-            temp->rest_args = 0;
-            arg_ptrs = temp;
-
-            if (rest_args)
-               cpp_pedwarn(pfile, "another parameter follows `%s'",
-                           rest_extension);
-
-            if (!is_idstart[*bp])
-               cpp_pedwarn(pfile, "invalid character in macro parameter name");
-
-            /* Find the end of the arg name.  */
-            while (is_idchar[*bp])
-              {
-                 bp++;
-                 /* do we have a "special" rest-args extension here? */
-                 if ((unsigned)(limit - bp) > REST_EXTENSION_LENGTH &&
-                     strncmp(rest_extension, (const char *)bp,
-                             REST_EXTENSION_LENGTH) == 0)
-                   {
-                      rest_args = 1;
-                      temp->rest_args = 1;
-                      break;
-                   }
-              }
-            temp->length = (char *)bp - temp->name;
-            if (rest_args == 1)
-               bp += REST_EXTENSION_LENGTH;
-            arglengths += temp->length + 2;
-            SKIP_WHITE_SPACE(bp);
-            if (temp->length == 0 || (*bp != ',' && *bp != ')'))
-              {
-                 cpp_error(pfile,
-                           "badly punctuated parameter list in `#define'");
-                 goto nope;
-              }
-            if (*bp == ',')
-              {
-                 bp++;
-                 SKIP_WHITE_SPACE(bp);
-              }
-            if (bp >= limit)
-              {
-                 cpp_error(pfile, "unterminated parameter list in `#define'");
-                 goto nope;
-              }
-            {
-               struct arglist     *otemp;
-
-               for (otemp = temp->next; otemp; otemp = otemp->next)
-                  if (temp->length == otemp->length &&
-                      strncmp((const char *)temp->name,
-                              (const char *)otemp->name, temp->length) == 0)
-                    {
-                       char               *name;
-
-                       name = (char *)alloca(temp->length + 1);
-                       strncpy(name, (const char *)temp->name, temp->length);
-                       name[temp->length] = '\0';
-                       cpp_error(pfile,
-                                 "duplicate argument name `%s' in `#define'",
-                                 name);
-                       goto nope;
-                    }
-            }
-         }
-
-       ++bp;                   /* skip paren */
-       SKIP_WHITE_SPACE(bp);
-       /* now everything from bp before limit is the definition. */
-       defn = collect_expansion(pfile, bp, limit, argno, arg_ptrs);
-       defn->rest_args = rest_args;
-
-       /* Now set defn->args.argnames to the result of concatenating
-        * the argument names in reverse order
-        * with comma-space between them.  */
-       defn->args.argnames = (unsigned char *)xmalloc(arglengths + 1);
-       {
-          struct arglist     *temp;
-          int                 i = 0;
-
-          for (temp = arg_ptrs; temp; temp = temp->next)
-            {
-               memcpy(&defn->args.argnames[i], temp->name, temp->length);
-               i += temp->length;
-               if (temp->next)
-                 {
-                    defn->args.argnames[i++] = ',';
-                    defn->args.argnames[i++] = ' ';
-                 }
-            }
-          defn->args.argnames[i] = 0;
-       }
-     }
-   else
-     {
-       /* Simple expansion or empty definition.  */
-
-       if (bp < limit)
-         {
-            if (is_hor_space[*bp])
-              {
-                 bp++;
-                 SKIP_WHITE_SPACE(bp);
-              }
-            else
-              {
-                 switch (*bp)
-                   {
-                   case '!':
-                   case '"':
-                   case '#':
-                   case '%':
-                   case '&':
-                   case '\'':
-                   case ')':
-                   case '*':
-                   case '+':
-                   case ',':
-                   case '-':
-                   case '.':
-                   case '/':
-                   case ':':
-                   case ';':
-                   case '<':
-                   case '=':
-                   case '>':
-                   case '?':
-                   case '[':
-                   case '\\':
-                   case ']':
-                   case '^':
-                   case '{':
-                   case '|':
-                   case '}':
-                   case '~':
-                      cpp_warning(pfile,
-                                  "missing white space after `#define %.*s'",
-                                  sym_length, symname);
-                      break;
-
-                   default:
-                      cpp_pedwarn(pfile,
-                                  "missing white space after `#define %.*s'",
-                                  sym_length, symname);
-                      break;
-                   }
-              }
-         }
-       /* now everything from bp before limit is the definition. */
-       defn = collect_expansion(pfile, bp, limit, -1, NULL);
-       defn->args.argnames = (unsigned char *)"";
-     }
-
-   defn->line = line;
-   defn->file = file;
-
-   /* OP is null if this is a predefinition */
-   defn->predefined = predefinition;
-   mdef->defn = defn;
-   mdef->symnam = (char *)symname;
-   mdef->symlen = sym_length;
-
-   return;
-
- nope:
-   mdef->defn = 0;
-}
-
-/* Check a purported macro name SYMNAME, and yield its length.
- * USAGE is the kind of name this is intended for.  */
-
-static int
-check_macro_name(cpp_reader * pfile, unsigned char *symname, const char *usage)
-{
-   unsigned char      *p;
-   int                 sym_length;
-
-   for (p = symname; is_idchar[*p]; p++)
-      ;
-   sym_length = p - symname;
-   if (sym_length == 0)
-     {
-       cpp_error(pfile, "invalid %s name", usage);
-     }
-   else if (!is_idstart[*symname])
-     {
-       unsigned char      *msg;        /* what pain... */
-
-       msg = (unsigned char *)alloca(sym_length + 1);
-       memcpy(msg, symname, sym_length);
-       msg[sym_length] = 0;
-       cpp_error(pfile, "invalid %s name `%s'", usage, msg);
-     }
-   else
-     {
-       if (!strncmp((const char *)symname, "defined", 7) && sym_length == 7)
-          cpp_error(pfile, "invalid %s name `defined'", usage);
-     }
-   return sym_length;
-}
-
-/*
- * return zero if two DEFINITIONs are isomorphic
- */
-static int
-compare_defs(DEFINITION * d1, DEFINITION * d2)
-{
-   reflist            *a1, *a2;
-   unsigned char      *p1 = d1->expansion;
-   unsigned char      *p2 = d2->expansion;
-   int                 first = 1;
-
-   if (d1->nargs != d2->nargs)
-      return 1;
-   if (strcmp((char *)d1->args.argnames, (char *)d2->args.argnames))
-      return 1;
-   for (a1 = d1->pattern, a2 = d2->pattern; a1 && a2;
-       a1 = a1->next, a2 = a2->next)
-     {
-       if (!
-           ((a1->nchars == a2->nchars
-             && !strncmp((const char *)p1, (const char *)p2, a1->nchars))
-            || !comp_def_part(first, p1, a1->nchars, p2, a2->nchars, 0))
-           || a1->argno != a2->argno || a1->stringify != a2->stringify
-           || a1->raw_before != a2->raw_before
-           || a1->raw_after != a2->raw_after)
-          return 1;
-       first = 0;
-       p1 += a1->nchars;
-       p2 += a2->nchars;
-     }
-   if (a1 != a2)
-      return 1;
-   if (comp_def_part(first, p1, d1->length - (p1 - d1->expansion),
-                    p2, d2->length - (p2 - d2->expansion), 1))
-      return 1;
-   return 0;
-}
-
-/* Return 1 if two parts of two macro definitions are effectively different.
- * One of the parts starts at BEG1 and has LEN1 chars;
- * the other has LEN2 chars at BEG2.
- * Any sequence of whitespace matches any other sequence of whitespace.
- * FIRST means these parts are the first of a macro definition;
- * so ignore leading whitespace entirely.
- * LAST means these parts are the last of a macro definition;
- * so ignore trailing whitespace entirely.  */
-
-static int
-comp_def_part(int first, unsigned char *beg1, int len1,
-             unsigned char *beg2, int len2, int last)
-{
-   unsigned char      *end1 = beg1 + len1;
-   unsigned char      *end2 = beg2 + len2;
-
-   if (first)
-     {
-       while (beg1 != end1 && is_space[*beg1])
-          beg1++;
-       while (beg2 != end2 && is_space[*beg2])
-          beg2++;
-     }
-   if (last)
-     {
-       while (beg1 != end1 && is_space[end1[-1]])
-          end1--;
-       while (beg2 != end2 && is_space[end2[-1]])
-          end2--;
-     }
-   while (beg1 != end1 && beg2 != end2)
-     {
-       if (is_space[*beg1] && is_space[*beg2])
-         {
-            while (beg1 != end1 && is_space[*beg1])
-               beg1++;
-            while (beg2 != end2 && is_space[*beg2])
-               beg2++;
-         }
-       else if (*beg1 == *beg2)
-         {
-            beg1++;
-            beg2++;
-         }
-       else
-          break;
-     }
-   return (beg1 != end1) || (beg2 != end2);
-}
-
-/* Process a #define command.
- * BUF points to the contents of the #define command, as a contiguous string.
- * LIMIT points to the first character past the end of the definition.
- * KEYWORD is the keyword-table entry for #define,
- * or NULL for a "predefined" macro.  */
-
-static int
-do_define(cpp_reader * pfile, struct directive *keyword,
-         unsigned char *buf, unsigned char *limit)
-{
-   int                 hashcode;
-   MACRODEF            mdef;
-   HASHNODE           *hp;
-
-   create_definition(&mdef, buf, limit, pfile, !keyword);
-   if (!mdef.defn)
-      return 1;
-
-   hashcode = hashf(mdef.symnam, mdef.symlen, HASHSIZE);
-
-   if ((hp = cpp_lookup(mdef.symnam, mdef.symlen, hashcode)))
-     {
-       int                 ok = 0;
-
-       /* Redefining a precompiled key is ok.  */
-       if (hp->type == T_PCSTRING)
-          ok = 1;
-       /* Redefining a macro is ok if the definitions are the same.  */
-       else if (hp->type == T_MACRO)
-          ok = !compare_defs(mdef.defn, hp->value.defn);
-       /* Redefining a constant is ok with -D.  */
-       else if (hp->type == T_CONST)
-          ok = !CPP_OPTIONS(pfile)->done_initializing;
-       /* Print the warning if it's not ok.  */
-       if (!ok)
-         {
-            char               *msg;   /* what pain... */
-
-            /* If we are passing through #define and #undef directives, do
-             * that for this re-definition now.  */
-            if (CPP_OPTIONS(pfile)->debug_output && keyword)
-               pass_thru_directive((char *)buf, (char *)limit, pfile, keyword);
-
-            msg = (char *)alloca(mdef.symlen + 22);
-            *msg = '`';
-            memcpy(msg + 1, mdef.symnam, mdef.symlen);
-            strcpy((msg + mdef.symlen + 1), "' redefined");
-            cpp_pedwarn(pfile, msg);
-            if (hp->type == T_MACRO)
-               cpp_pedwarn_with_file_and_line(pfile, hp->value.defn->file,
-                                              hp->value.defn->line,
-                                              "this is the location of the previous definition",
-                                              NULL, NULL, NULL);
-         }
-       /* Replace the old definition.  */
-       hp->type = T_MACRO;
-       hp->value.defn = mdef.defn;
-     }
-   else
-     {
-       /* If we are passing through #define and #undef directives, do
-        * that for this new definition now.  */
-       if (CPP_OPTIONS(pfile)->debug_output && keyword)
-          pass_thru_directive((char *)buf, (char *)limit, pfile, keyword);
-       install(mdef.symnam, mdef.symlen, T_MACRO, 0,
-               (char *)mdef.defn, hashcode);
-     }
-
-   return 0;
-}
-
-/* This structure represents one parsed argument in a macro call.
- * `raw' points to the argument text as written (`raw_length' is its length).
- * `expanded' points to the argument's macro-expansion
- * (its length is `expand_length').
- * `stringified_length' is the length the argument would have
- * if stringified.
- * `use_count' is the number of times this macro arg is substituted
- * into the macro.  If the actual use count exceeds 10, 
- * the value stored is 10. */
-
-/* raw and expanded are relative to ARG_BASE */
-#define ARG_BASE ((pfile)->token_buffer)
-
-struct argdata {
-   /* Strings relative to pfile->token_buffer */
-   long                raw, expanded, stringified;
-   int                 raw_length, expand_length;
-   int                 stringified_length;
-   char                newlines;
-   char                use_count;
-};
-
-cpp_buffer         *
-cpp_push_buffer(cpp_reader * pfile, unsigned char *buffer, long length)
-{
-#ifdef STATIC_BUFFERS
-   cpp_buffer         *buf = CPP_BUFFER(pfile);
-
-   if (buf == pfile->buffer_stack)
-      cpp_fatal("macro or `#include' recursion too deep");
-   buf--;
-   memset((char *)buf, 0, sizeof(cpp_buffer));
-   CPP_BUFFER(pfile) = buf;
-#else
-   cpp_buffer         *buf = (cpp_buffer *) xmalloc(sizeof(cpp_buffer));
-
-   memset((char *)buf, 0, sizeof(cpp_buffer));
-   CPP_PREV_BUFFER(buf) = CPP_BUFFER(pfile);
-   CPP_BUFFER(pfile) = buf;
-#endif
-   buf->if_stack = pfile->if_stack;
-   buf->cleanup = null_cleanup;
-   buf->underflow = null_underflow;
-   buf->buf = buf->cur = buffer;
-   buf->alimit = buf->rlimit = buffer + length;
-
-   return buf;
-}
-
-static cpp_buffer  *
-cpp_pop_buffer(cpp_reader * pfile)
-{
-   cpp_buffer         *buf = CPP_BUFFER(pfile);
-
-#ifdef STATIC_BUFFERS
-   (*buf->cleanup) (buf, pfile);
-   return ++CPP_BUFFER(pfile);
-#else
-   cpp_buffer         *next_buf = CPP_PREV_BUFFER(buf);
-
-   (*buf->cleanup) (buf, pfile);
-   CPP_BUFFER(pfile) = next_buf;
-   free(buf);
-   return next_buf;
-#endif
-}
-
-/* Scan until CPP_BUFFER (PFILE) is exhausted into PFILE->token_buffer.
- * Pop the buffer when done. */
-
-static void
-cpp_scan_buffer(cpp_reader * pfile)
-{
-   cpp_buffer         *buffer = CPP_BUFFER(pfile);
-
-   for (;;)
-     {
-       enum cpp_token      token = cpp_get_token(pfile);
-
-       if (token == CPP_EOF)   /* Should not happen ... */
-          break;
-       if (token == CPP_POP && CPP_BUFFER(pfile) == buffer)
-         {
-            cpp_pop_buffer(pfile);
-            break;
-         }
-     }
-}
-
-/*
- * Rescan a string (which may have escape marks) into pfile's buffer.
- * Place the result in pfile->token_buffer.
- *
- * The input is copied before it is scanned, so it is safe to pass
- * it something from the token_buffer that will get overwritten
- * (because it follows CPP_WRITTEN).  This is used by do_include.
- */
-
-static void
-cpp_expand_to_buffer(cpp_reader * pfile, unsigned char *buf, int length)
-{
-   cpp_buffer         *ip;
-   unsigned char      *limit = buf + length;
-   unsigned char      *buf1;
-
-   if (length < 0)
-      abort();
-
-   /* Set up the input on the input stack.  */
-
-   buf1 = (unsigned char *)alloca(length + 1);
-   {
-      unsigned char      *p1 = buf;
-      unsigned char      *p2 = buf1;
-      int                 in_string = 0;
-      
-#if 0 /* old behavior */ 
-      while (p1 != limit) *p2++ = *p1++;
-#else /* new one - handle \ escapes if not in string */
-      while (p1 != limit)
-        {
-           if (!in_string)
-             {
-                if (*p1 == '"') in_string = 1;
-                if (*p1 == '\\')
-                  {
-                     p1++;
-                     if (p1 != limit) *p2++ = *p1++;
-                  }
-                else
-                   *p2++ = *p1++;
-             }
-           else
-             {
-                if ((*p1 == '"') && (p1 > buf) && (p1[-1] != '\\'))
-                   in_string = 0;
-                *p2++ = *p1++;
-             }
-        }
-#endif
-      *p2 = 0;
-      length = p2 - buf1;
-   }
-
-   ip = cpp_push_buffer(pfile, buf1, length);
-   ip->has_escapes = 1;
-
-   /* Scan the input, create the output.  */
-   cpp_scan_buffer(pfile);
-
-   CPP_NUL_TERMINATE(pfile);
-}
-
-static void
-adjust_position(unsigned char *buf, unsigned char *limit, long *linep,
-               long *colp)
-{
-   while (buf < limit)
-     {
-       unsigned char       ch = *buf++;
-
-       if (ch == '\n')
-          (*linep)++, (*colp) = 1;
-       else
-          (*colp)++;
-     }
-}
-
-/* Move line_base forward, updating lineno and colno. */
-
-static void
-update_position(cpp_buffer * pbuf)
-{
-   unsigned char      *old_pos = pbuf->buf + pbuf->line_base;
-   unsigned char      *new_pos = pbuf->cur;
-   struct parse_marker *mark;
-
-   for (mark = pbuf->marks; mark; mark = mark->next)
-     {
-       if (pbuf->buf + mark->position < new_pos)
-          new_pos = pbuf->buf + mark->position;
-     }
-   pbuf->line_base += new_pos - old_pos;
-   adjust_position(old_pos, new_pos, &pbuf->lineno, &pbuf->colno);
-}
-
-void
-cpp_buf_line_and_col(cpp_buffer * pbuf, long *linep, long *colp)
-{
-   long                dummy;
-
-   if (!colp)
-      colp = &dummy;
-   if (pbuf)
-     {
-       *linep = pbuf->lineno;
-       *colp = pbuf->colno;
-       adjust_position(pbuf->buf + pbuf->line_base, pbuf->cur, linep, colp);
-     }
-   else
-     {
-       *linep = 0;
-       *colp = 0;
-     }
-}
-
-/* Return the cpp_buffer that corresponds to a file (not a macro). */
-
-cpp_buffer         *
-cpp_file_buffer(cpp_reader * pfile)
-{
-   cpp_buffer         *ip = CPP_BUFFER(pfile);
-
-   for (; ip != CPP_NULL_BUFFER(pfile); ip = CPP_PREV_BUFFER(ip))
-      if (ip->fname)
-        return ip;
-   return NULL;
-}
-
-static long
-count_newlines(unsigned char *buf, unsigned char *limit)
-{
-   long                count = 0;
-
-   while (buf < limit)
-     {
-       unsigned char       ch = *buf++;
-
-       if (ch == '\n')
-          count++;
-     }
-   return count;
-}
-
-/*
- * write out a #line command, for instance, after an #include file.
- * If CONDITIONAL is nonzero, we can omit the #line if it would
- * appear to be a no-op, and we can output a few newlines instead
- * if we want to increase the line number by a small amount.
- * FILE_CHANGE says whether we are entering a file, leaving, or neither.
- */
-
-static void
-output_line_command(cpp_reader * pfile, int conditional,
-                   enum file_change_code file_change)
-{
-   long                line, col;
-   cpp_buffer         *ip = CPP_BUFFER(pfile);
-
-   if (CPP_OPTIONS(pfile)->no_line_commands
-       || !ip->fname || CPP_OPTIONS(pfile)->no_output)
-     {
-       return;
-     }
-   update_position(ip);
-   line = CPP_BUFFER(pfile)->lineno;
-   col = CPP_BUFFER(pfile)->colno;
-   adjust_position(CPP_LINE_BASE(ip), ip->cur, &line, &col);
-
-   if (conditional)
-     {
-       if (line == pfile->lineno)
-          return;
-
-       /* If the inherited line number is a little too small,
-        * output some newlines instead of a #line command.  */
-       if (line > pfile->lineno && line < pfile->lineno + 8)
-         {
-            CPP_RESERVE(pfile, 20);
-            while (line > pfile->lineno)
-              {
-                 CPP_PUTC_Q(pfile, '\n');
-                 pfile->lineno++;
-              }
-            return;
-         }
-     }
-
-   CPP_RESERVE(pfile, 4 * strlen(ip->nominal_fname) + 50);
-   {
-      static char         sharp_line[] = "#line ";
-
-      CPP_PUTS_Q(pfile, sharp_line, sizeof(sharp_line) - 1);
-   }
-
-   sprintf((char *)CPP_PWRITTEN(pfile), "%d ", (int)line);
-   CPP_ADJUST_WRITTEN(pfile, strlen((char *)CPP_PWRITTEN(pfile)));
-
-   quote_string(pfile, ip->nominal_fname);
-   if (file_change != same_file)
-     {
-       CPP_PUTC_Q(pfile, ' ');
-       CPP_PUTC_Q(pfile, file_change == enter_file ? '1' : '2');
-     }
-   /* Tell cc1 if following text comes from a system header file.  */
-   if (ip->system_header_p)
-     {
-       CPP_PUTC_Q(pfile, ' ');
-       CPP_PUTC_Q(pfile, '3');
-     }
-#ifndef NO_IMPLICIT_EXTERN_C
-   /* Tell cc1plus if following text should be treated as C.  */
-   if (ip->system_header_p == 2 && CPP_OPTIONS(pfile)->cplusplus)
-     {
-       CPP_PUTC_Q(pfile, ' ');
-       CPP_PUTC_Q(pfile, '4');
-     }
-#endif
-   CPP_PUTC_Q(pfile, '\n');
-   pfile->lineno = line;
-}
-
-/*
- * Parse a macro argument and append the info on PFILE's token_buffer.
- * REST_ARGS means to absorb the rest of the args.
- * Return nonzero to indicate a syntax error.
- */
-
-static enum cpp_token
-macarg(cpp_reader * pfile, int rest_args)
-{
-   int                 paren = 0;
-   enum cpp_token      token;
-   char                save_put_out_comments =
-      CPP_OPTIONS(pfile)->put_out_comments;
-
-   CPP_OPTIONS(pfile)->put_out_comments = 0;
-
-   token = CPP_OTHER;
-   /* Try to parse as much of the argument as exists at this
-    * input stack level.  */
-   pfile->no_macro_expand++;
-   for (;;)
-     {
-       token = cpp_get_token(pfile);
-       switch (token)
-         {
-         case CPP_EOF:
-            goto done;
-         case CPP_POP:
-            /* If we've hit end of file, it's an error (reported by caller).
-             * Ditto if it's the end of cpp_expand_to_buffer text.
-             * If we've hit end of macro, just continue.  */
-            if (!CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
-               goto done;
-            break;
-         case CPP_LPAREN:
-            paren++;
-            break;
-         case CPP_RPAREN:
-            if (--paren < 0)
-               goto found;
-            break;
-         case CPP_COMMA:
-            /* if we've returned to lowest level and
-             * we aren't absorbing all args */
-            if (paren == 0 && rest_args == 0)
-               goto found;
-            break;
-          found:
-            /* Remove ',' or ')' from argument buffer. */
-            CPP_ADJUST_WRITTEN(pfile, -1);
-            goto done;
-         default:;
-         }
-     }
-
- done:
-   CPP_OPTIONS(pfile)->put_out_comments = save_put_out_comments;
-   pfile->no_macro_expand--;
-
-   return token;
-}
-
-/* Turn newlines to spaces in the string of length LENGTH at START,
- * except inside of string constants.
- * The string is copied into itself with its beginning staying fixed.  */
-
-static int
-change_newlines(unsigned char *start, int length)
-{
-   unsigned char      *ibp;
-   unsigned char      *obp;
-   unsigned char      *limit;
-   int                 c;
-
-   ibp = start;
-   limit = start + length;
-   obp = start;
-
-   while (ibp < limit)
-     {
-       *obp++ = c = *ibp++;
-       switch (c)
-         {
-
-         case '\'':
-         case '\"':
-            /* Notice and skip strings, so that we don't delete newlines in them.  */
-            {
-               int                 quotec = c;
-
-               while (ibp < limit)
-                 {
-                    *obp++ = c = *ibp++;
-                    if (c == quotec)
-                       break;
-                    if (c == '\n' && quotec == '\'')
-                       break;
-                 }
-            }
-            break;
-         }
-     }
-
-   return obp - start;
-}
-
-static struct tm   *
-timestamp(cpp_reader * pfile)
-{
-   if (!pfile->timebuf)
-     {
-       time_t              t = time((time_t *) 0);
-
-       pfile->timebuf = localtime(&t);
-     }
-   return pfile->timebuf;
-}
-
-static const char  *monthnames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
-   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
-};
-
-/*
- * expand things like __FILE__.  Place the expansion into the output
- * buffer *without* rescanning.
- */
-
-static void
-special_symbol(HASHNODE * hp, cpp_reader * pfile)
-{
-   const char         *buf;
-   char               *bufx;
-   int                 len;
-   int                 true_indepth;
-   cpp_buffer         *ip = NULL;
-   struct tm          *timebuf;
-
-   int                 paren = 0;      /* For special `defined' keyword */
-
-   for (ip = CPP_BUFFER(pfile);; ip = CPP_PREV_BUFFER(ip))
-     {
-       if (!ip)
-         {
-            cpp_error(pfile, "cccp error: not in any file?!");
-            return;            /* the show must go on */
-         }
-       if (ip->fname)
-          break;
-     }
-
-   switch (hp->type)
-     {
-     case T_FILE:
-     case T_BASE_FILE:
-       {
-          const char         *string;
-
-          if (hp->type == T_BASE_FILE)
-            {
-               while (CPP_PREV_BUFFER(ip))
-                  ip = CPP_PREV_BUFFER(ip);
-            }
-          string = ip->nominal_fname;
-
-          if (!string)
-             string = "";
-          CPP_RESERVE(pfile, 3 + 4 * strlen(string));
-          quote_string(pfile, string);
-          return;
-       }
-
-     case T_INCLUDE_LEVEL:
-       true_indepth = 0;
-       for (ip = CPP_BUFFER(pfile); ip; ip = CPP_PREV_BUFFER(ip))
-          if (ip->fname)
-             true_indepth++;
-
-       bufx = (char *)alloca(8);       /* Eight bytes ought to be more than enough */
-       sprintf(bufx, "%d", true_indepth - 1);
-       buf = bufx;
-       break;
-
-     case T_VERSION:
-       bufx = (char *)alloca(3 + strlen(version_string));
-       sprintf(bufx, "\"%s\"", version_string);
-       buf = bufx;
-       break;
-
-#ifndef NO_BUILTIN_SIZE_TYPE
-     case T_SIZE_TYPE:
-       buf = SIZE_TYPE;
-       break;
-#endif
-
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
-     case T_PTRDIFF_TYPE:
-       buf = PTRDIFF_TYPE;
-       break;
-#endif
-
-     case T_WCHAR_TYPE:
-       buf = CPP_WCHAR_TYPE(pfile);
-       break;
-
-     case T_USER_LABEL_PREFIX_TYPE:
-       buf = USER_LABEL_PREFIX;
-       break;
-
-     case T_REGISTER_PREFIX_TYPE:
-       buf = REGISTER_PREFIX;
-       break;
-
-     case T_CONST:
-       bufx = (char *)alloca(4 * sizeof(int));
-       sprintf(bufx, "%d", hp->value.ival);
-       buf = bufx;
-       break;
-
-     case T_SPECLINE:
-       {
-          long                line = ip->lineno;
-          long                col = ip->colno;
-
-          adjust_position(CPP_LINE_BASE(ip), ip->cur, &line, &col);
-
-          bufx = (char *)alloca(10);
-          sprintf(bufx, "%d", (int)line);
-          buf = bufx;
-       }
-       break;
-
-     case T_DATE:
-     case T_TIME:
-       bufx = (char *)alloca(20);
-       timebuf = timestamp(pfile);
-       if (hp->type == T_DATE)
-          sprintf(bufx, "\"%s %2d %4d\"", monthnames[timebuf->tm_mon],
-                  timebuf->tm_mday, timebuf->tm_year + 1900);
-       else
-          sprintf(bufx, "\"%02d:%02d:%02d\"", timebuf->tm_hour,
-                  timebuf->tm_min, timebuf->tm_sec);
-       buf = bufx;
-       break;
-
-     case T_SPEC_DEFINED:
-       buf = " 0 ";            /* Assume symbol is not defined */
-       ip = CPP_BUFFER(pfile);
-       SKIP_WHITE_SPACE(ip->cur);
-       if (*ip->cur == '(')
-         {
-            paren++;
-            ip->cur++;         /* Skip over the paren */
-            SKIP_WHITE_SPACE(ip->cur);
-         }
-       if (!is_idstart[*ip->cur])
-          goto oops;
-       if ((hp = cpp_lookup((const char *)ip->cur, -1, -1)))
-         {
-            buf = " 1 ";
-         }
-       while (is_idchar[*ip->cur])
-          ++ip->cur;
-       SKIP_WHITE_SPACE(ip->cur);
-       if (paren)
-         {
-            if (*ip->cur != ')')
-               goto oops;
-            ++ip->cur;
-         }
-       break;
-
-      oops:
-
-       cpp_error(pfile, "`defined' without an identifier");
-       break;
-
-     default:
-       cpp_error(pfile, "cccp error: invalid special hash type");      /* time for gdb */
-       abort();
-     }
-   len = strlen(buf);
-   CPP_RESERVE(pfile, len + 1);
-   CPP_PUTS_Q(pfile, buf, len);
-   CPP_NUL_TERMINATE_Q(pfile);
-
-   return;
-}
-
-/* Initialize the built-in macros.  */
-
-static void
-initialize_builtins(cpp_reader * pfile)
-{
-   install("__LINE__", -1, T_SPECLINE, 0, 0, -1);
-   install("__DATE__", -1, T_DATE, 0, 0, -1);
-   install("__FILE__", -1, T_FILE, 0, 0, -1);
-   install("__BASE_FILE__", -1, T_BASE_FILE, 0, 0, -1);
-   install("__INCLUDE_LEVEL__", -1, T_INCLUDE_LEVEL, 0, 0, -1);
-   install("__VERSION__", -1, T_VERSION, 0, 0, -1);
-#ifndef NO_BUILTIN_SIZE_TYPE
-   install("__SIZE_TYPE__", -1, T_SIZE_TYPE, 0, 0, -1);
-#endif
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
-   install("__PTRDIFF_TYPE__ ", -1, T_PTRDIFF_TYPE, 0, 0, -1);
-#endif
-   install("__WCHAR_TYPE__", -1, T_WCHAR_TYPE, 0, 0, -1);
-   install("__USER_LABEL_PREFIX__", -1, T_USER_LABEL_PREFIX_TYPE, 0, 0, -1);
-   install("__REGISTER_PREFIX__", -1, T_REGISTER_PREFIX_TYPE, 0, 0, -1);
-   install("__TIME__", -1, T_TIME, 0, 0, -1);
-   install("__STDC__", -1, T_CONST, STDC_VALUE, 0, -1);
-   if (CPP_OPTIONS(pfile)->objc)
-      install("__OBJC__", -1, T_CONST, 1, 0, -1);
-/*  This is supplied using a -D by the compiler driver
- * so that it is present only when truly compiling with GNU C.  */
-/*  install ("__GNUC__", -1, T_CONST, 2, 0, -1);  */
-
-   if (CPP_OPTIONS(pfile)->debug_output)
-     {
-       char                directive[2048];
-       struct directive   *dp = &directive_table[0];
-       struct tm          *timebuf = timestamp(pfile);
-       cpp_buffer         *pbuffer = CPP_BUFFER(pfile);
-
-       while (CPP_PREV_BUFFER(pbuffer))
-          pbuffer = CPP_PREV_BUFFER(pbuffer);
-       sprintf(directive, " __BASE_FILE__ \"%s\"\n", pbuffer->nominal_fname);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-
-       sprintf(directive, " __VERSION__ \"%s\"\n", version_string);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-
-#ifndef NO_BUILTIN_SIZE_TYPE
-       sprintf(directive, " __SIZE_TYPE__ %s\n", SIZE_TYPE);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-#endif
-
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
-       sprintf(directive, " __PTRDIFF_TYPE__ %s\n", PTRDIFF_TYPE);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-#endif
-
-       sprintf(directive, " __WCHAR_TYPE__ %s\n", CPP_WCHAR_TYPE(pfile));
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-
-       sprintf(directive, " __DATE__ \"%s %2d %4d\"\n",
-               monthnames[timebuf->tm_mon],
-               timebuf->tm_mday, timebuf->tm_year + 1900);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-
-       sprintf(directive, " __TIME__ \"%02d:%02d:%02d\"\n",
-               timebuf->tm_hour, timebuf->tm_min, timebuf->tm_sec);
-       output_line_command(pfile, 0, same_file);
-       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
-                           dp);
-
-        sprintf(directive, " __STDC__ 1");
-        output_line_command(pfile, 0, same_file);
-        pass_thru_directive(directive, &directive[strlen(directive)],
-                            pfile, dp);
-     }
-}
-
-/* Return 1 iff a token ending in C1 followed directly by a token C2
- * could cause mis-tokenization. */
-
-static int
-unsafe_chars(int c1, int c2)
-{
-//   printf("unsafe %c %c ...", c1, c2);
-   switch (c1)
-     {
-     case '+':
-     case '-':
-     case '.':
-//        printf(" no0\n");
-        return 0;
-     case '0':
-     case '1':
-     case '2':
-     case '3':
-     case '4':
-     case '5':
-     case '6':
-     case '7':
-     case '8':
-     case '9':
-     case 'e':
-     case 'E':
-       if (c2 == '-' || c2 == '+')
-          {
-//             printf(" yes2\n");
-             return 1;         /* could extend a pre-processing number */
-          }
-       goto letter;
-     case 'L':
-       if (c2 == '\'' || c2 == '\"')
-          {
-//             printf(" yes3\n");
-             return 1;         /* Could turn into L"xxx" or L'xxx'. */
-          }
-       goto letter;
-      letter:
-     case '_':
-     case 'a':
-     case 'b':
-     case 'c':
-     case 'd':
-     case 'f':
-     case 'g':
-     case 'h':
-     case 'i':
-     case 'j':
-     case 'k':
-     case 'l':
-     case 'm':
-     case 'n':
-     case 'o':
-     case 'p':
-     case 'q':
-     case 'r':
-     case 's':
-     case 't':
-     case 'u':
-     case 'v':
-     case 'w':
-     case 'x':
-     case 'y':
-     case 'z':
-     case 'A':
-     case 'B':
-     case 'C':
-     case 'D':
-     case 'F':
-     case 'G':
-     case 'H':
-     case 'I':
-     case 'J':
-     case 'K':
-     case 'M':
-     case 'N':
-     case 'O':
-     case 'P':
-     case 'Q':
-     case 'R':
-     case 'S':
-     case 'T':
-     case 'U':
-     case 'V':
-     case 'W':
-     case 'X':
-     case 'Y':
-     case 'Z':
-       /* We're in the middle of either a name or a pre-processing number. */
-       if (is_idchar[c2] || c2 == '.')
-          {
-//             printf(" yes4 %i %i\n", is_idchar[c2], c2 == '.');
-             return 1;
-          }
-        else
-          {
-//             printf(" no5\n");
-             return 0;
-          }
-     case '<':
-     case '>':
-     case '!':
-     case '%':
-     case '#':
-     case ':':
-     case '^':
-     case '&':
-     case '|':
-     case '*':
-     case '/':
-     case '=':
-       if (c2 == c1 || c2 == '=')
-          {
-//             printf(" yes6\n");
-             return 1;
-          }
-        else
-          {
-//             printf(" no7\n");
-             return 0;
-          }
-     }
-//   printf(" no8\n");
-   return 0;
-}
-
-/* Expand a macro call.
- * HP points to the symbol that is the macro being called.
- * Put the result of expansion onto the input stack
- * so that subsequent input by our caller will use it.
- * 
- * If macro wants arguments, caller has already verified that
- * an argument list follows; arguments come from the input stack.  */
-
-static void
-macroexpand(cpp_reader * pfile, HASHNODE * hp)
-{
-   int                 nargs;
-   DEFINITION         *defn = hp->value.defn;
-   unsigned char      *xbuf;
-   long                start_line, start_column;
-   int                 xbuf_len;
-   struct argdata     *args;
-   long                old_written = CPP_WRITTEN(pfile);
-
-   int                 rest_args, rest_zero;
-   int                 i;
-
-   pfile->output_escapes++;
-   cpp_buf_line_and_col(cpp_file_buffer(pfile), &start_line, &start_column);
-
-   rest_zero = 0;
-   args = NULL;
-   nargs = defn->nargs;
-
-   if (nargs >= 0)
-     {
-       enum cpp_token      token;
-
-       token = CPP_OTHER;
-
-       args = (struct argdata *)alloca((nargs + 1) * sizeof(struct argdata));
-
-       for (i = 0; i < nargs; i++)
-         {
-            args[i].raw = args[i].expanded = 0;
-            args[i].raw_length = 0;
-            args[i].expand_length = args[i].stringified_length = -1;
-            args[i].use_count = 0;
-         }
-
-       /* Parse all the macro args that are supplied.  I counts them.
-        * The first NARGS args are stored in ARGS.
-        * The rest are discarded.  If rest_args is set then we assume
-        * macarg absorbed the rest of the args. */
-       i = 0;
-       rest_args = 0;
-       rest_args = 0;
-       FORWARD(1);             /* Discard the open-parenthesis before the first arg.  */
-       do
-         {
-            if (rest_args)
-               continue;
-            if (i < nargs || (nargs == 0 && i == 0))
-              {
-                  unsigned char *bp;
-                  
-                 /* if we are working on last arg which absorbs rest of args... */
-                 if (i == nargs - 1 && defn->rest_args)
-                    rest_args = 1;
-                 args[i].raw = CPP_WRITTEN(pfile);
-                 token = macarg(pfile, rest_args);
-                 args[i].raw_length = CPP_WRITTEN(pfile) - args[i].raw;
-                 args[i].newlines = 0; /* FIXME */
-                  bp = ARG_BASE + args[i].raw;
-                  while (is_space[(unsigned char)(*bp)]) { bp++; }
-                  args[i].raw_length -= bp - (ARG_BASE + args[i].raw);
-                  args[i].raw = bp - ARG_BASE;
-                  if (args[i].raw_length > 0)
-                    {
-                       bp = ARG_BASE + args[i].raw + args[i].raw_length - 1;
-                       while (is_space[(unsigned char)(*bp)])
-                         {
-                            bp--; 
-                            args[i].raw_length--;
-                            if (args[i].raw_length < 1) break;
-                         }
-                    }
-              }
-            else
-               token = macarg(pfile, 0);
-            if (token == CPP_EOF || token == CPP_POP)
-              {
-                 cpp_error_with_line(pfile, start_line, start_column,
-                                     "unterminated macro call");
-                 return;
-              }
-            i++;
-         }
-       while (token == CPP_COMMA);
-
-       /* If we got one arg but it was just whitespace, call that 0 args.  */
-       if (i == 1)
-         {
-            unsigned char      *bp = ARG_BASE + args[0].raw;
-            unsigned char      *lim = bp + args[0].raw_length;
-
-            /* cpp.texi says for foo ( ) we provide one argument.
-             * However, if foo wants just 0 arguments, treat this as 0.  */
-            if (nargs == 0)
-               while (bp != lim && is_space[*bp])
-                  bp++;
-            if (bp == lim)
-               i = 0;
-         }
-       /* Don't output an error message if we have already output one for
-        * a parse error above.  */
-       if (nargs == 0 && i > 0)
-         {
-            cpp_error(pfile, "arguments given to macro `%s'", hp->name);
-         }
-       else if (i < nargs)
-         {
-            if (i == nargs - 1 && defn->rest_args)
-               rest_zero = 1;
-            else if (i == 0)
-               cpp_error(pfile, "macro `%s' used without args", hp->name);
-            else if (i == 1)
-               cpp_error(pfile, "macro `%s' used with just one arg", hp->name);
-            else
-               cpp_error(pfile, "macro `%s' used with only %d args",
-                         hp->name, i);
-         }
-       else if (i > nargs)
-         {
-            cpp_error(pfile,
-                      "macro `%s' used with too many (%d) args", hp->name, i);
-         }
-     }
-   /* If macro wants zero args, we parsed the arglist for checking only.
-    * Read directly from the macro definition.  */
-   if (nargs <= 0)
-     {
-       xbuf = defn->expansion;
-       xbuf_len = defn->length;
-     }
-   else
-     {
-       unsigned char      *exp = defn->expansion;
-       int                 offset;     /* offset in expansion,
-                                        * copied a piece at a time */
-       int                 totlen;     /* total amount of exp buffer filled so far */
-       reflist            *ap, *last_ap;
-
-       /* Macro really takes args.  Compute the expansion of this call.  */
-
-       /* Compute length in characters of the macro's expansion.
-        * Also count number of times each arg is used.  */
-       xbuf_len = defn->length;
-       for (ap = defn->pattern; ap; ap = ap->next)
-         {
-            if (ap->stringify)
-              {
-                 struct argdata     *arg = &args[ap->argno];
-
-                 /* Stringify it it hasn't already been */
-                 if (arg->stringified_length < 0)
-                   {
-                      int                 arglen = arg->raw_length;
-                      int                 escaped = 0;
-                      int                 in_string = 0;
-                      int                 c;
-
-                      /* Initially need_space is -1.  Otherwise, 1 means the
-                       * previous character was a space, but we suppressed it;
-                       * 0 means the previous character was a non-space. */
-                      int                 need_space = -1;
-
-                      i = 0;
-                      arg->stringified = CPP_WRITTEN(pfile);
-                       CPP_PUTC(pfile, '\"');  /* insert beginning quote */
-                      for (; i < arglen; i++)
-                        {
-                           c = (ARG_BASE + arg->raw)[i];
-
-                           if (!in_string)
-                             {
-                                /* Internal sequences of whitespace are replaced by
-                                 * one space except within an string or char token. */
-                                if (is_space[c])
-                                  {
-                                     if (CPP_WRITTEN(pfile) > arg->stringified
-                                         && (CPP_PWRITTEN(pfile))[-1] == '@')
-                                       {
-                                          /* "@ " escape markers are removed */
-                                          CPP_ADJUST_WRITTEN(pfile, -1);
-                                          continue;
-                                       }
-                                     if (need_space == 0)
-                                        need_space = 1;
-                                     continue;
-                                  }
-                                else if (need_space > 0)
-                                   CPP_PUTC(pfile, ' ');
-                                need_space = 0;
-                             }
-                           if (escaped)
-                              escaped = 0;
-                           else
-                             {
-                                if (c == '\\')
-                                   escaped = 1;
-                                if (in_string)
-                                  {
-                                     if (c == in_string)
-                                        in_string = 0;
-                                  }
-                                else if (c == '\"' || c == '\'')
-                                   in_string = c;
-                             }
-
-                           /* Escape these chars */
-                           if (c == '\"' || (in_string && c == '\\'))
-                              CPP_PUTC(pfile, '\\');
-                           if (isprint(c))
-                              CPP_PUTC(pfile, c);
-                           else
-                             {
-                                CPP_RESERVE(pfile, 4);
-                                sprintf((char *)CPP_PWRITTEN(pfile), "\\%03o",
-                                        (unsigned int)c);
-                                CPP_ADJUST_WRITTEN(pfile, 4);
-                             }
-                        }
-                       CPP_PUTC(pfile, '\"');  /* insert ending quote */
-                      arg->stringified_length
-                         = CPP_WRITTEN(pfile) - arg->stringified;
-                   }
-                 xbuf_len += args[ap->argno].stringified_length;
-              }
-            else if (ap->raw_before || ap->raw_after)
-               {
-                  /* Add 4 for two newline-space markers to prevent
-                   * token concatenation.  */
-                  xbuf_len += args[ap->argno].raw_length + 4;
-               }
-            else
-              {
-                 /* We have an ordinary (expanded) occurrence of the arg.
-                  * So compute its expansion, if we have not already.  */
-                 if (args[ap->argno].expand_length < 0)
-                   {
-                      args[ap->argno].expanded = CPP_WRITTEN(pfile);
-                      cpp_expand_to_buffer(pfile,
-                                           ARG_BASE + args[ap->argno].raw,
-                                           args[ap->argno].raw_length);
-
-                      args[ap->argno].expand_length
-                         = CPP_WRITTEN(pfile) - args[ap->argno].expanded;
-                   }
-                 /* Add 4 for two newline-space markers to prevent
-                  * token concatenation.  */
-                 xbuf_len += args[ap->argno].expand_length + 4;
-              }
-            if (args[ap->argno].use_count < 10)
-               args[ap->argno].use_count++;
-         }
-
-       xbuf = (unsigned char *)xmalloc(xbuf_len + 1);
-
-       /* Generate in XBUF the complete expansion
-        * with arguments substituted in.
-        * TOTLEN is the total size generated so far.
-        * OFFSET is the index in the definition
-        * of where we are copying from.  */
-       offset = totlen = 0;
-       for (last_ap = NULL, ap = defn->pattern; ap;
-            last_ap = ap, ap = ap->next)
-         {
-            struct argdata     *arg = &args[ap->argno];
-            int                 count_before = totlen;
-
-            /* Add chars to XBUF.  */
-            for (i = 0; i < ap->nchars; i++, offset++)
-               xbuf[totlen++] = exp[offset];
-
-            /* If followed by an empty rest arg with concatenation,
-             * delete the last run of nonwhite chars.  */
-            if (rest_zero && totlen > count_before
-                && ((ap->rest_args && ap->raw_before)
-                    || (last_ap && last_ap->rest_args && last_ap->raw_after)))
-              {
-                 /* Delete final whitespace.  */
-                 while (totlen > count_before && is_space[xbuf[totlen - 1]])
-                    totlen--;
-
-                 /* Delete the nonwhites before them.  */
-                 while (totlen > count_before && !is_space[xbuf[totlen - 1]])
-                    totlen--;
-              }
-            if (ap->stringify != 0)
-              {
-                 memcpy(xbuf + totlen, ARG_BASE + arg->stringified,
-                        arg->stringified_length);
-                 totlen += arg->stringified_length;
-              }
-            else if (ap->raw_before || ap->raw_after)
-              {
-                 unsigned char      *p1 = ARG_BASE + arg->raw;
-                 unsigned char      *l1 = p1 + arg->raw_length;
-
-                 if (ap->raw_before)
-                   {
-                      while (p1 != l1 && is_space[*p1])
-                         p1++;
-                      while (p1 != l1 && is_idchar[*p1])
-                         xbuf[totlen++] = *p1++;
-                   }
-                 if (ap->raw_after)
-                   {
-                      /* Arg is concatenated after: delete trailing whitespace,
-                       * whitespace markers, and no-reexpansion markers.  */
-                      while (p1 != l1)
-                        {
-                           if (is_space[l1[-1]])
-                              l1--;
-                           else if (l1[-1] == '-')
-                             {
-                                unsigned char      *p2 = l1 - 1;
-
-                                /* If a `-' is preceded by an odd number of newlines then it
-                                 * and the last newline are a no-reexpansion marker.  */
-                                while (p2 != p1 && p2[-1] == '\n')
-                                   p2--;
-                                if ((l1 - 1 - p2) & 1)
-                                  {
-                                     l1 -= 2;
-                                  }
-                                else
-                                   break;
-                             }
-                           else
-                              break;
-                        }
-                   }
-                 memcpy(xbuf + totlen, p1, l1 - p1);
-                 totlen += l1 - p1;
-              }
-            else
-              {
-                 unsigned char      *expanded = ARG_BASE + arg->expanded;
-
-                 if (!ap->raw_before && totlen > 0 && arg->expand_length
-                     && unsafe_chars(xbuf[totlen - 1], expanded[0]))
-                   {
-                      xbuf[totlen++] = '@';
-                      xbuf[totlen++] = ' ';
-                   }
-                 memcpy(xbuf + totlen, expanded, arg->expand_length);
-                 totlen += arg->expand_length;
-
-                 if (!ap->raw_after && totlen > 0 && offset < defn->length
-                     && unsafe_chars(xbuf[totlen - 1], exp[offset]))
-                   {
-                      xbuf[totlen++] = '@';
-                      xbuf[totlen++] = ' ';
-                   }
-                 /* If a macro argument with newlines is used multiple times,
-                  * then only expand the newlines once.  This avoids creating
-                  * output lines which don't correspond to any input line,
-                  * which confuses gdb and gcov.  */
-                 if (arg->use_count > 1 && arg->newlines > 0)
-                   {
-                      /* Don't bother doing change_newlines for subsequent
-                       * uses of arg.  */
-                      arg->use_count = 1;
-                      arg->expand_length
-                         = change_newlines(expanded, arg->expand_length);
-                   }
-              }
-
-            if (totlen > xbuf_len)
-               abort();
-         }
-       /* if there is anything left of the definition
-        * after handling the arg list, copy that in too. */
-
-       for (i = offset; i < defn->length; i++)
-         {
-            /* if we've reached the end of the macro */
-            if (exp[i] == ')')
-               rest_zero = 0;
-            if (!(rest_zero && last_ap && last_ap->rest_args
-                  && last_ap->raw_after))
-               xbuf[totlen++] = exp[i];
-         }
-
-       xbuf[totlen] = 0;
-       xbuf_len = totlen;
-     }
-
-   pfile->output_escapes--;
-
-   /* Now put the expansion on the input stack
-    * so our caller will commence reading from it.  */
-   push_macro_expansion(pfile, xbuf, xbuf_len, hp);
-   CPP_BUFFER(pfile)->has_escapes = 1;
-
-   /* Pop the space we've used in the token_buffer for argument expansion. */
-   CPP_SET_WRITTEN(pfile, old_written);
-
-   /* Recursive macro use sometimes works traditionally.
-    * #define foo(x,y) bar (x (y,0), y)
-    * foo (foo, baz)  */
-
-   hp->type = T_DISABLED;
-}
-
-static void
-push_macro_expansion(cpp_reader * pfile, unsigned char *xbuf, int xbuf_len,
-                    HASHNODE * hp)
-{
-   cpp_buffer         *mbuf = cpp_push_buffer(pfile, xbuf, xbuf_len);
-
-   mbuf->cleanup = macro_cleanup;
-   mbuf->data = hp;
-
-   /* The first chars of the expansion should be a "@ " added by
-    * collect_expansion.  This is to prevent accidental token-pasting
-    * between the text preceding the macro invocation, and the macro
-    * expansion text.
-    * 
-    * We would like to avoid adding unneeded spaces (for the sake of
-    * tools that use cpp, such as imake).  In some common cases we can
-    * tell that it is safe to omit the space.
-    * 
-    * The character before the macro invocation cannot have been an
-    * idchar (or else it would have been pasted with the idchars of
-    * the macro name).  Therefore, if the first non-space character
-    * of the expansion is an idchar, we do not need the extra space
-    * to prevent token pasting.
-    * 
-    * Also, we don't need the extra space if the first char is '(',
-    * or some other (less common) characters.  */
-
-   if (xbuf[0] == '@' && xbuf[1] == ' '
-       && (is_idchar[xbuf[2]] || xbuf[2] == '(' || xbuf[2] == '\''
-          || xbuf[2] == '\"'))
-      mbuf->cur += 2;
-}
-
-/* Like cpp_get_token, except that it does not read past end-of-line.
- * Also, horizontal space is skipped, and macros are popped.  */
-
-static enum cpp_token
-get_directive_token(cpp_reader * pfile)
-{
-   for (;;)
-     {
-       long                old_written = CPP_WRITTEN(pfile);
-       enum cpp_token      token;
-
-       cpp_skip_hspace(pfile);
-       if (PEEKC() == '\n')
-          return CPP_VSPACE;
-       token = cpp_get_token(pfile);
-       switch (token)
-         {
-         case CPP_POP:
-            if (!CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
-               return token;
-            /* ... else fall though ... */
-         case CPP_HSPACE:
-         case CPP_COMMENT:
-            CPP_SET_WRITTEN(pfile, old_written);
-            break;
-         default:
-            return token;
-         }
-     }
-}
-
-/* Handle #include and #import.
- * This function expects to see "fname" or <fname> on the input.
- * 
- * The input is normally in part of the output_buffer following
- * CPP_WRITTEN, and will get overwritten by output_line_command.
- * I.e. in input file specification has been popped by handle_directive.
- * This is safe. */
-
-static int
-do_include(cpp_reader * pfile, struct directive *keyword,
-          unsigned char *unused1 __UNUSED__, unsigned char *unused2 __UNUSED__)
-{
-   int                 importing = (keyword->type == T_IMPORT);
-   int                 skip_dirs = (keyword->type == T_INCLUDE_NEXT);
-   char               *fname;  /* Dynamically allocated fname buffer */
-   unsigned char      *fbeg, *fend;    /* Beginning and end of fname */
-   enum cpp_token      token;
-
-   /* Chain of dirs to search */
-   file_name_list     *search_start = CPP_OPTIONS(pfile)->include;
-   file_name_list      dsp[1]; /* First in chain, if #include "..." */
-   file_name_list     *searchptr = 0;
-   long                old_written = CPP_WRITTEN(pfile);
-   int                 flen;
-   int                 f;      /* file number */
-   int                 angle_brackets = 0;     /* 0 for "...", 1 for <...> */
-
-   f = -1;                     /* JF we iz paranoid! */
-
-   if (importing && CPP_OPTIONS(pfile)->warn_import
-       && !CPP_OPTIONS(pfile)->inhibit_warnings
-       && !CPP_BUFFER(pfile)->system_header_p && !pfile->import_warning)
-     {
-       pfile->import_warning = 1;
-       cpp_warning(pfile, "using `#import' is not recommended");
-       fprintf(stderr,
-               "The fact that a certain header file need not be processed more than once\n");
-       fprintf(stderr,
-               "should be indicated in the header file, not where it is used.\n");
-       fprintf(stderr,
-               "The best way to do this is with a conditional of this form:\n\n");
-       fprintf(stderr, "  #ifndef _FOO_H_INCLUDED\n");
-       fprintf(stderr, "  #define _FOO_H_INCLUDED\n");
-       fprintf(stderr, "  ... <real contents of file> ...\n");
-       fprintf(stderr, "  #endif /* Not _FOO_H_INCLUDED */\n\n");
-       fprintf(stderr, "Then users can use `#include' any number of times.\n");
-       fprintf(stderr,
-               "GNU C automatically avoids processing the file more than once\n");
-       fprintf(stderr, "when it is equipped with such a conditional.\n");
-     }
-   pfile->parsing_include_directive++;
-   token = get_directive_token(pfile);
-   pfile->parsing_include_directive--;
-
-   if (token == CPP_STRING)
-     {
-       /* FIXME - check no trailing garbage */
-       fbeg = pfile->token_buffer + old_written + 1;
-       fend = CPP_PWRITTEN(pfile) - 1;
-       if (fbeg[-1] == '<')
-         {
-            angle_brackets = 1;
-            /* If -I-, start with the first -I dir after the -I-.  */
-            if (CPP_OPTIONS(pfile)->first_bracket_include)
-               search_start = CPP_OPTIONS(pfile)->first_bracket_include;
-         }
-       /* If -I- was specified, don't search current dir, only spec'd ones. */
-       else if (!CPP_OPTIONS(pfile)->ignore_srcdir)
-         {
-            cpp_buffer         *fp;
-
-            /* We have "filename".  Figure out directory this source
-             * file is coming from and put it on the front of the list. */
-
-            for (fp = CPP_BUFFER(pfile); fp; fp = CPP_PREV_BUFFER(fp))
-              {
-                 int                 n;
-                 const char         *ep, *nam;
-
-                 if ((nam = fp->nominal_fname))
-                   {
-                      /* Found a named file.  Figure out dir of the file,
-                       * and put it in front of the search list.  */
-                      dsp[0].next = search_start;
-                      search_start = dsp;
-#ifndef VMS
-                      ep = strrchr(nam, '/');
-#else /* VMS */
-                      ep = strrchr(nam, ']');
-                      if (!ep)
-                         ep = strrchr(nam, '>');
-                      if (!ep)
-                         ep = strrchr(nam, ':');
-                      if (ep)
-                         ep++;
-#endif /* VMS */
-                      if (ep)
-                        {
-                           n = ep - nam;
-                           dsp[0].fname = (char *)alloca(n + 1);
-                           strncpy(dsp[0].fname, nam, n);
-                           dsp[0].fname[n] = '\0';
-                           if (n + INCLUDE_LEN_FUDGE > pfile->max_include_len)
-                              pfile->max_include_len = n + INCLUDE_LEN_FUDGE;
-                        }
-                      else
-                        {
-                           dsp[0].fname = 0;   /* Current directory */
-                        }
-                      dsp[0].got_name_map = 0;
-                      break;
-                   }
-              }
-         }
-     }
-   else
-     {
-       cpp_error(pfile,
-                 "`#%s' expects \"FILENAME\" or <FILENAME>", keyword->name);
-       CPP_SET_WRITTEN(pfile, old_written);
-       skip_rest_of_line(pfile);
-       return 0;
-     }
-
-   *fend = 0;
-
-   token = get_directive_token(pfile);
-   if (token != CPP_VSPACE)
-     {
-       cpp_error(pfile, "junk at end of `#include'");
-       while (token != CPP_VSPACE && token != CPP_EOF && token != CPP_POP)
-          token = get_directive_token(pfile);
-     }
-   /* For #include_next, skip in the search path
-    * past the dir in which the containing file was found.  */
-   if (skip_dirs)
-     {
-       cpp_buffer         *fp;
-
-       for (fp = CPP_BUFFER(pfile); fp; fp = CPP_PREV_BUFFER(fp))
-          if (fp->fname)
-            {
-               /* fp->dir is null if the containing file was specified with
-                * an absolute file name.  In that case, don't skip anything.  */
-               if (fp->dir == SELF_DIR_DUMMY)
-                  search_start = CPP_OPTIONS(pfile)->include;
-               else if (fp->dir)
-                  search_start = fp->dir->next;
-               break;
-            }
-     }
-   CPP_SET_WRITTEN(pfile, old_written);
-
-   flen = fend - fbeg;
-
-   if (flen == 0)
-     {
-       cpp_error(pfile, "empty file name in `#%s'", keyword->name);
-       return 0;
-     }
-   /* Allocate this permanently, because it gets stored in the definitions
-    * of macros.  */
-   fname = (char *)xmalloc(pfile->max_include_len + flen + 4);
-   /* + 2 above for slash and terminating null.  */
-   /* + 2 added for '.h' on VMS (to support '#include filename') */
-
-   /* If specified file name is absolute, just open it.  */
-
-#ifndef __EMX__
-   if (*fbeg == '/')
-#else
-   if (_fnisabs(fbeg))
-#endif
-     {
-       strncpy(fname, (const char *)fbeg, flen);
-       fname[flen] = 0;
-       if (redundant_include_p(pfile, fname))
-          return 0;
-       if (importing)
-          f = lookup_import(pfile, fname, NULL);
-       else
-          f = open_include_file(pfile, fname, NULL);
-       if (f == -2)
-          return 0;            /* Already included this file */
-     }
-   else
-     {
-       /* Search directory path, trying to open the file.
-        * Copy each filename tried into FNAME.  */
-
-       for (searchptr = search_start; searchptr; searchptr = searchptr->next)
-         {
-            if (searchptr->fname)
-              {
-                 /* The empty string in a search path is ignored.
-                  * This makes it possible to turn off entirely
-                  * a standard piece of the list.  */
-                 if (searchptr->fname[0] == 0)
-                    continue;
-                 strcpy(fname, searchptr->fname);
-                 strcat(fname, "/");
-                 fname[strlen(fname) + flen] = 0;
-              }
-            else
-              {
-                 fname[0] = 0;
-              }
-            strncat(fname, (const char *)fbeg, flen);
-#ifdef VMS
-            /* Change this 1/2 Unix 1/2 VMS file specification into a
-             * full VMS file specification */
-            if (searchptr->fname && (searchptr->fname[0] != 0))
-              {
-                 /* Fix up the filename */
-                 hack_vms_include_specification(fname);
-              }
-            else
-              {
-                 /* This is a normal VMS filespec, so use it unchanged.  */
-                 strncpy(fname, fbeg, flen);
-                 fname[flen] = 0;
-                 /* if it's '#include filename', add the missing .h */
-                 if (!strchr(fname, '.'))
-                   {
-                      strcat(fname, ".h");
-                   }
-              }
-#endif /* VMS */
-            /* ??? There are currently 3 separate mechanisms for avoiding processing
-             * of redundant include files: #import, #pragma once, and
-             * redundant_include_p.  It would be nice if they were unified.  */
-            if (redundant_include_p(pfile, fname))
-               return 0;
-            if (importing)
-               f = lookup_import(pfile, fname, searchptr);
-            else
-               f = open_include_file(pfile, fname, searchptr);
-            if (f == -2)
-               return 0;       /* Already included this file */
-#ifdef EACCES
-            else if (f == -1 && errno == EACCES)
-               cpp_warning(pfile, "Header file %s exists, but is not readable",
-                           fname);
-#endif
-            if (f >= 0)
-               break;
-         }
-     }
-
-   if (f < 0)
-     {
-       /* A file that was not found.  */
-       strncpy(fname, (const char *)fbeg, flen);
-       fname[flen] = 0;
-       /* If generating dependencies and -MG was specified, we assume missing
-        * files are leaf files, living in the same directory as the source file
-        * or other similar place; these missing files may be generated from
-        * other files and may not exist yet (eg: y.tab.h).  */
-
-       if (CPP_OPTIONS(pfile)->print_deps_missing_files
-           && CPP_PRINT_DEPS(pfile)
-           > (angle_brackets || (pfile->system_include_depth > 0)))
-         {
-            /* If it was requested as a system header file,
-             * then assume it belongs in the first place to look for such.  */
-            if (angle_brackets)
-              {
-                 for (searchptr = search_start; searchptr;
-                      searchptr = searchptr->next)
-                   {
-                      if (searchptr->fname)
-                        {
-                           char               *p;
-
-                           if (searchptr->fname[0] == 0)
-                              continue;
-                           p = (char *)alloca(strlen(searchptr->fname)
-                                              + strlen(fname) + 2);
-                           strcpy(p, searchptr->fname);
-                           strcat(p, "/");
-                           strcat(p, fname);
-                           deps_output(pfile, p, ' ');
-                           break;
-                        }
-                   }
-              }
-            else
-              {
-                 /* Otherwise, omit the directory, as if the file existed
-                  * in the directory with the source.  */
-                 deps_output(pfile, fname, ' ');
-              }
-         }
-       /* If -M was specified, and this header file won't be added to the
-        * dependency list, then don't count this as an error, because we can
-        * still produce correct output.  Otherwise, we can't produce correct
-        * output, because there may be dependencies we need inside the missing
-        * file, and we don't know what directory this missing file exists in. */
-       else if (CPP_PRINT_DEPS(pfile)
-                && (CPP_PRINT_DEPS(pfile)
-                    <= (angle_brackets || (pfile->system_include_depth > 0))))
-          cpp_warning(pfile, "No include path in which to find %s", fname);
-       else if (search_start)
-          cpp_error_from_errno(pfile, fname);
-       else
-          cpp_error(pfile, "No include path in which to find %s", fname);
-     }
-   else
-     {
-       /* Check to see if this include file is a once-only include file.
-        * If so, give up.  */
-
-       file_name_list     *ptr;
-
-       for (ptr = pfile->dont_repeat_files; ptr; ptr = ptr->next)
-         {
-            if (!strcmp(ptr->fname, fname))
-              {
-                 close(f);
-                 return 0;     /* This file was once'd. */
-              }
-         }
-
-       for (ptr = pfile->all_include_files; ptr; ptr = ptr->next)
-         {
-            if (!strcmp(ptr->fname, fname))
-               break;          /* This file was included before. */
-         }
-
-       if (!ptr)
-         {
-            /* This is the first time for this file.  */
-            /* Add it to list of files included.  */
-
-            ptr = (file_name_list *) xmalloc(sizeof(file_name_list));
-
-            ptr->control_macro = 0;
-            ptr->c_system_include_path = 0;
-            ptr->next = pfile->all_include_files;
-            pfile->all_include_files = ptr;
-            ptr->fname = savestring(fname);
-            ptr->got_name_map = 0;
-
-            /* For -M, add this file to the dependencies.  */
-            if (CPP_PRINT_DEPS(pfile)
-                > (angle_brackets || (pfile->system_include_depth > 0)))
-               deps_output(pfile, fname, ' ');
-         }
-       /* Handle -H option.  */
-       if (CPP_OPTIONS(pfile)->print_include_names)
-         {
-            cpp_buffer         *buf = CPP_BUFFER(pfile);
-
-            while ((buf = CPP_PREV_BUFFER(buf)))
-               putc('.', stderr);
-            fprintf(stderr, "%s\n", fname);
-         }
-       if (angle_brackets)
-          pfile->system_include_depth++;
-
-       /* Actually process the file.  */
-
-       /* Record file on "seen" list for #import. */
-       add_import(pfile, f, fname);
-
-       /* Actually process the file */
-       cpp_push_buffer(pfile, NULL, 0);
-       if (finclude(pfile, f, fname, is_system_include(pfile, fname),
-                    searchptr != dsp ? searchptr : SELF_DIR_DUMMY))
-         {
-            output_line_command(pfile, 0, enter_file);
-            pfile->only_seen_white = 2;
-         }
-       if (angle_brackets)
-          pfile->system_include_depth--;
-     }
-   return 0;
-}
-
-/* Return nonzero if there is no need to include file NAME
- * because it has already been included and it contains a conditional
- * to make a repeated include do nothing.  */
-
-static int
-redundant_include_p(cpp_reader * pfile, char *name)
-{
-   file_name_list     *l = pfile->all_include_files;
-
-   for (; l; l = l->next)
-      if (!strcmp(name, l->fname)
-         && l->control_macro
-         && cpp_lookup((const char *)l->control_macro, -1, -1))
-        return 1;
-   return 0;
-}
-
-/* Return nonzero if the given FILENAME is an absolute pathname which
- * designates a file within one of the known "system" include file
- * directories.  We assume here that if the given FILENAME looks like
- * it is the name of a file which resides either directly in a "system"
- * include file directory, or within any subdirectory thereof, then the
- * given file must be a "system" include file.  This function tells us
- * if we should suppress pedantic errors/warnings for the given FILENAME.
- * 
- * The value is 2 if the file is a C-language system header file
- * for which C++ should (on most systems) assume `extern "C"'.  */
-
-static int
-is_system_include(cpp_reader * pfile, char *filename)
-{
-   file_name_list     *searchptr;
-
-   for (searchptr = CPP_OPTIONS(pfile)->first_system_include; searchptr;
-       searchptr = searchptr->next)
-      if (searchptr->fname)
-       {
-          char               *sys_dir = searchptr->fname;
-          unsigned            length = strlen(sys_dir);
-
-          if (!strncmp(sys_dir, filename, length) && filename[length] == '/')
-            {
-               if (searchptr->c_system_include_path)
-                  return 2;
-               else
-                  return 1;
-            }
-       }
-   return 0;
-}
-
-/*
- * Install a name in the assertion hash table.
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-static ASSERTION_HASHNODE *
-assertion_install(cpp_reader * pfile, const char *name, int len, int hash)
-{
-   ASSERTION_HASHNODE *hp;
-   int                 i, bucket;
-
-   i = sizeof(ASSERTION_HASHNODE) + len + 1;
-   hp = (ASSERTION_HASHNODE *) xmalloc(i);
-   bucket = hash;
-   hp->bucket_hdr = &pfile->assertion_hashtab[bucket];
-   hp->next = pfile->assertion_hashtab[bucket];
-   pfile->assertion_hashtab[bucket] = hp;
-   hp->prev = NULL;
-   if (hp->next)
-      hp->next->prev = hp;
-   hp->length = len;
-   hp->value = 0;
-   hp->name = ((char *)hp) + sizeof(ASSERTION_HASHNODE);
-   memcpy(hp->name, name, len);
-   hp->name[len] = 0;
-   return hp;
-}
-/*
- * find the most recent hash node for name name (ending with first
- * non-identifier char) installed by install
- *
- * If LEN is >= 0, it is the length of the name.
- * Otherwise, compute the length by scanning the entire name.
- *
- * If HASH is >= 0, it is the precomputed hash code.
- * Otherwise, compute the hash code.
- */
-
-static ASSERTION_HASHNODE *
-assertion_lookup(cpp_reader * pfile, const char *name, int len, int hash)
-{
-   ASSERTION_HASHNODE *bucket;
-
-   bucket = pfile->assertion_hashtab[hash];
-   while (bucket)
-     {
-       if (bucket->length == len && strncmp(bucket->name, name, len) == 0)
-          return bucket;
-       bucket = bucket->next;
-     }
-   return NULL;
-}
-
-static void
-delete_assertion(ASSERTION_HASHNODE * hp)
-{
-   struct tokenlist_list *tail;
-
-   if (hp->prev)
-      hp->prev->next = hp->next;
-   if (hp->next)
-      hp->next->prev = hp->prev;
-
-   for (tail = hp->value; tail;)
-     {
-       struct tokenlist_list *next = tail->next;
-
-       free_token_list(tail->tokens);
-       free(tail);
-       tail = next;
-     }
-
-   /* make sure that the bucket chain header that
-    * the deleted guy was on points to the right thing afterwards. */
-   if (hp == *hp->bucket_hdr)
-      *hp->bucket_hdr = hp->next;
-
-   free(hp);
-}
-
-/* Convert a character string literal into a nul-terminated string.
- * The input string is [IN ... LIMIT).
- * The result is placed in RESULT.  RESULT can be the same as IN.
- * The value returned in the end of the string written to RESULT,
- * or NULL on error.  */
-
-static char        *
-convert_string(cpp_reader * pfile, char *result, char *in, char *limit,
-              int handle_escapes)
-{
-   unsigned char       c;
-
-   c = *in++;
-   if (c != '\"')
-      return NULL;
-   while (in < limit)
-     {
-       c = *in++;
-
-       switch (c)
-         {
-         case '\0':
-            return NULL;
-         case '\"':
-            limit = in;
-            break;
-         case '\\':
-            if (handle_escapes)
-              {
-                 char               *bpc = in;
-                 int                 i =
-                    (unsigned char)cpp_parse_escape(pfile, &bpc);
-
-                 in = bpc;
-                 if (i >= 0)
-                    *result++ = (unsigned char)c;
-                 break;
-              }
-            /* else fall through */
-         default:
-            *result++ = c;
-         }
-     }
-   *result = 0;
-   return result;
-}
-
-/*
- * interpret #line command.  Remembers previously seen fnames
- * in its very own hash table.
- */
-#define FNAME_HASHSIZE 37
-
-static int
-do_line(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-       unsigned char *unused1 __UNUSED__, unsigned char *unused2 __UNUSED__)
-{
-   cpp_buffer         *ip = CPP_BUFFER(pfile);
-   int                 new_lineno;
-   long                old_written = CPP_WRITTEN(pfile);
-   enum file_change_code file_change = same_file;
-   enum cpp_token      token;
-
-   token = get_directive_token(pfile);
-
-   if (token != CPP_NUMBER || !isdigit(pfile->token_buffer[old_written]))
-     {
-       cpp_error(pfile, "invalid format `#line' command");
-       goto bad_line_directive;
-     }
-   /* The Newline at the end of this line remains to be processed.
-    * To put the next line at the specified line number,
-    * we must store a line number now that is one less.  */
-   new_lineno = atoi((char *)(pfile->token_buffer + old_written)) - 1;
-   CPP_SET_WRITTEN(pfile, old_written);
-
-   /* NEW_LINENO is one less than the actual line number here.  */
-   if (CPP_PEDANTIC(pfile) && new_lineno < 0)
-      cpp_pedwarn(pfile, "line number out of range in `#line' command");
-
-   token = get_directive_token(pfile);
-
-   if (token == CPP_STRING)
-     {
-       char               *fname = (char *)pfile->token_buffer + old_written;
-       char               *end_name;
-       static HASHNODE    *fname_table[FNAME_HASHSIZE];
-       HASHNODE           *hp, **hash_bucket;
-       unsigned char      *p;
-       long                num_start;
-       int                 fname_length;
-
-       /* Turn the file name, which is a character string literal,
-        * into a null-terminated string.  Do this in place.  */
-       end_name =
-          convert_string(pfile, fname, fname, (char *)CPP_PWRITTEN(pfile), 1);
-       if (!end_name)
-         {
-            cpp_error(pfile, "invalid format `#line' command");
-            goto bad_line_directive;
-         }
-       fname_length = end_name - fname;
-
-       num_start = CPP_WRITTEN(pfile);
-       token = get_directive_token(pfile);
-       if (token != CPP_VSPACE && token != CPP_EOF && token != CPP_POP)
-         {
-            p = pfile->token_buffer + num_start;
-            if (CPP_PEDANTIC(pfile))
-               cpp_pedwarn(pfile, "garbage at end of `#line' command");
-
-            if (token != CPP_NUMBER || *p < '0' || *p > '4' || p[1] != '\0')
-              {
-                 cpp_error(pfile, "invalid format `#line' command");
-                 goto bad_line_directive;
-              }
-            if (*p == '1')
-               file_change = enter_file;
-            else if (*p == 2)
-               file_change = leave_file;
-            else if (*p == 3)
-               ip->system_header_p = 1;
-            else               /* if (*p == 4) */
-               ip->system_header_p = 2;
-
-            CPP_SET_WRITTEN(pfile, num_start);
-            token = get_directive_token(pfile);
-            p = pfile->token_buffer + num_start;
-            if (token == CPP_NUMBER && p[1] == '\0'
-                && (*p == '3' || *p == '4'))
-              {
-                 ip->system_header_p = *p == 3 ? 1 : 2;
-                 token = get_directive_token(pfile);
-              }
-            if (token != CPP_VSPACE)
-              {
-                 cpp_error(pfile, "invalid format `#line' command");
-                 goto bad_line_directive;
-              }
-         }
-       hash_bucket = &fname_table[hashf(fname, fname_length, FNAME_HASHSIZE)];
-       for (hp = *hash_bucket; hp; hp = hp->next)
-          if (hp->length == fname_length &&
-              strncmp(hp->value.cpval, fname, fname_length) == 0)
-            {
-               ip->nominal_fname = hp->value.cpval;
-               break;
-            }
-       if (!hp)
-         {
-            /* Didn't find it; cons up a new one.  */
-            hp = (HASHNODE *) xcalloc(1, sizeof(HASHNODE) + fname_length + 1);
-            hp->next = *hash_bucket;
-            *hash_bucket = hp;
-
-            hp->length = fname_length;
-            ip->nominal_fname = hp->value.cpval =
-               ((char *)hp) + sizeof(HASHNODE);
-            memcpy(hp->value.cpval, fname, fname_length);
-         }
-     }
-   else if (token != CPP_VSPACE && token != CPP_EOF)
-     {
-       cpp_error(pfile, "invalid format `#line' command");
-       goto bad_line_directive;
-     }
-   ip->lineno = new_lineno;
- bad_line_directive:
-   skip_rest_of_line(pfile);
-   CPP_SET_WRITTEN(pfile, old_written);
-   output_line_command(pfile, 0, file_change);
-   return 0;
-}
-
-/*
- * remove the definition of a symbol from the symbol table.
- * according to un*x /lib/cpp, it is not an error to undef
- * something that has no definitions, so it isn't one here either.
- */
-
-static int
-do_undef(cpp_reader * pfile, struct directive *keyword, unsigned char *buf,
-        unsigned char *limit)
-{
-   int                 sym_length;
-   HASHNODE           *hp;
-   unsigned char      *orig_buf = buf;
-
-   SKIP_WHITE_SPACE(buf);
-   sym_length = check_macro_name(pfile, buf, "macro");
-
-   while ((hp = cpp_lookup((const char *)buf, sym_length, -1)))
-     {
-       /* If we are generating additional info for debugging (with -g) we
-        * need to pass through all effective #undef commands.  */
-       if (CPP_OPTIONS(pfile)->debug_output && keyword)
-          pass_thru_directive((char *)orig_buf, (char *)limit, pfile, keyword);
-       if (hp->type != T_MACRO)
-          cpp_warning(pfile, "undefining `%s'", hp->name);
-       delete_macro(hp);
-     }
-
-   if (CPP_PEDANTIC(pfile))
-     {
-       buf += sym_length;
-       SKIP_WHITE_SPACE(buf);
-       if (buf != limit)
-          cpp_pedwarn(pfile, "garbage after `#undef' directive");
-     }
-   return 0;
-}
-
-/*
- * Report an error detected by the program we are processing.
- * Use the text of the line in the error message.
- * (We use error because it prints the filename & line#.)
- */
-
-static int
-do_error(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-        unsigned char *buf, unsigned char *limit)
-{
-   int                 length = limit - buf;
-   unsigned char      *copy = (unsigned char *)xmalloc(length + 1);
-
-   memcpy(copy, buf, length);
-   copy[length] = 0;
-   SKIP_WHITE_SPACE(copy);
-   cpp_error(pfile, "#error %s", copy);
-   return 0;
-}
-
-/*
- * Report a warning detected by the program we are processing.
- * Use the text of the line in the warning message, then continue.
- * (We use error because it prints the filename & line#.)
- */
-
-static int
-do_warning(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-          unsigned char *buf, unsigned char *limit)
-{
-   int                 length = limit - buf;
-   unsigned char      *copy = (unsigned char *)xmalloc(length + 1);
-
-   memcpy(copy, buf, length);
-   copy[length] = 0;
-   SKIP_WHITE_SPACE(copy);
-   cpp_warning(pfile, "#warning %s", copy);
-   return 0;
-}
-
-/* Remember the name of the current file being read from so that we can
- * avoid ever including it again.  */
-
-static int
-do_once(cpp_reader * pfile)
-{
-   cpp_buffer         *ip = NULL;
-   file_name_list     *new_;
-
-   for (ip = CPP_BUFFER(pfile);; ip = CPP_PREV_BUFFER(ip))
-     {
-       if (!ip)
-          return 0;
-       if (ip->fname)
-          break;
-     }
-
-   new_ = (file_name_list *) xmalloc(sizeof(file_name_list));
-
-   new_->next = pfile->dont_repeat_files;
-   pfile->dont_repeat_files = new_;
-   new_->fname = savestring(ip->fname);
-   new_->control_macro = 0;
-   new_->got_name_map = 0;
-   new_->c_system_include_path = 0;
-
-   return 0;
-}
-
-/* #ident has already been copied to the output file, so just ignore it.  */
-
-static int
-do_ident(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-        unsigned char *buf __UNUSED__, unsigned char *limit __UNUSED__)
-{
-/*  long old_written = CPP_WRITTEN (pfile); */
-
-   /* Allow #ident in system headers, since that's not user's fault.  */
-   if (CPP_PEDANTIC(pfile) && !CPP_BUFFER(pfile)->system_header_p)
-      cpp_pedwarn(pfile, "ANSI C does not allow `#ident'");
-
-   /* Leave rest of line to be read by later calls to cpp_get_token. */
-
-   return 0;
-}
-
-/* #pragma and its argument line have already been copied to the output file.
- * Just check for some recognized pragmas that need validation here.  */
-
-static int
-do_pragma(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-         unsigned char *buf, unsigned char *limit __UNUSED__)
-{
-   while (*buf == ' ' || *buf == '\t')
-      buf++;
-
-   if (!strncmp((const char *)buf, "once", 4))
-     {
-       /* Allow #pragma once in system headers, since that's not the user's
-        * fault.  */
-       if (!CPP_BUFFER(pfile)->system_header_p)
-          cpp_warning(pfile, "`#pragma once' is obsolete");
-       do_once(pfile);
-     }
-   if (!strncmp((const char *)buf, "implementation", 14))
-     {
-       /* Be quiet about `#pragma implementation' for a file only if it hasn't
-        * been included yet.  */
-       file_name_list     *ptr;
-       char               *p = (char *)buf + 14, *fname, *inc_fname;
-       int                 fname_len;
-
-       SKIP_WHITE_SPACE(p);
-       if (*p == '\n' || *p != '\"')
-          return 0;
-
-       fname = p + 1;
-       p = strchr(fname, '\"');
-       fname_len = (p) ? (int)(p - fname) : (int)strlen(fname);
-
-       for (ptr = pfile->all_include_files; ptr; ptr = ptr->next)
-         {
-            inc_fname = strrchr(ptr->fname, '/');
-            inc_fname = inc_fname ? inc_fname + 1 : (char *)ptr->fname;
-            if (inc_fname && !strncmp(inc_fname, fname, fname_len))
-               cpp_warning(pfile,
-                           "`#pragma implementation' for `%s' appears after file is included",
-                           fname);
-         }
-     }
-   return 0;
-}
-
-/* Just ignore #sccs, on systems where we define it at all.  */
-
-/*
- * handle #if command by
- *   1) inserting special `defined' keyword into the hash table
- *      that gets turned into 0 or 1 by special_symbol (thus,
- *      if the luser has a symbol called `defined' already, it won't
- *      work inside the #if command)
- *   2) rescan the input into a temporary output buffer
- *   3) pass the output buffer to the yacc parser and collect a value
- *   4) clean up the mess left from steps 1 and 2.
- *   5) call conditional_skip to skip til the next #endif (etc.),
- *      or not, depending on the value from step 3.
- */
-
-static int
-do_if(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-      unsigned char *buf, unsigned char *limit)
-{
-   HOST_WIDE_INT       value = eval_if_expression(pfile, buf, limit - buf);
-
-   conditional_skip(pfile, value == 0, T_IF, NULL);
-   return 0;
-}
-
-/*
- * handle a #elif directive by not changing  if_stack  either.
- * see the comment above do_else.
- */
-
-static int
-do_elif(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-       unsigned char *buf, unsigned char *limit)
-{
-   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
-     {
-       cpp_error(pfile, "`#elif' not within a conditional");
-       return 0;
-     }
-   else
-     {
-       if (pfile->if_stack->type != T_IF && pfile->if_stack->type != T_ELIF)
-         {
-            cpp_error(pfile, "`#elif' after `#else'");
-            if (pfile->if_stack->fname
-                && CPP_BUFFER(pfile)->fname
-                && strcmp(pfile->if_stack->fname,
-                          CPP_BUFFER(pfile)->nominal_fname) != 0)
-               fprintf(stderr, ", file %s", pfile->if_stack->fname);
-            fprintf(stderr, ")\n");
-         }
-       pfile->if_stack->type = T_ELIF;
-     }
-
-   if (pfile->if_stack->if_succeeded)
-      skip_if_group(pfile, 0);
-   else
-     {
-       HOST_WIDE_INT       value = eval_if_expression(pfile, buf, limit - buf);
-
-       if (value == 0)
-          skip_if_group(pfile, 0);
-       else
-         {
-            ++pfile->if_stack->if_succeeded;   /* continue processing input */
-            output_line_command(pfile, 1, same_file);
-         }
-     }
-   return 0;
-}
-
-/*
- * evaluate a #if expression in BUF, of length LENGTH,
- * then parse the result as a C expression and return the value as an int.
- */
-static              HOST_WIDE_INT
-eval_if_expression(cpp_reader * pfile, unsigned char *buf __UNUSED__,
-                  int length __UNUSED__)
-{
-   HASHNODE           *save_defined;
-   HOST_WIDE_INT       value;
-   long                old_written = CPP_WRITTEN(pfile);
-
-   save_defined = install("defined", -1, T_SPEC_DEFINED, 0, 0, -1);
-   pfile->pcp_inside_if = 1;
-
-   value = cpp_parse_expr(pfile);
-   pfile->pcp_inside_if = 0;
-   delete_macro(save_defined); /* clean up special symbol */
-
-   CPP_SET_WRITTEN(pfile, old_written);        /* Pop */
-
-   return value;
-}
-
-/*
- * routine to handle ifdef/ifndef.  Try to look up the symbol,
- * then do or don't skip to the #endif/#else/#elif depending
- * on what directive is actually being processed.
- */
-
-static int
-do_xifdef(cpp_reader * pfile, struct directive *keyword,
-         unsigned char *unused1 __UNUSED__, unsigned char *unused2 __UNUSED__)
-{
-   int                 skip;
-   cpp_buffer         *ip = CPP_BUFFER(pfile);
-   char               *ident;
-   int                 ident_length;
-   enum cpp_token      token;
-   int                 start_of_file = 0;
-   unsigned char      *control_macro = 0;
-   int                 old_written = CPP_WRITTEN(pfile);
-   int                 c;
-
-   /* Detect a #ifndef at start of file (not counting comments).  */
-   if (ip->fname != 0 && keyword->type == T_IFNDEF)
-      start_of_file = pfile->only_seen_white == 2;
-
-   pfile->no_macro_expand++;
-   token = get_directive_token(pfile);
-   pfile->no_macro_expand--;
-
-   ident = (char *)pfile->token_buffer + old_written;
-   ident_length = CPP_WRITTEN(pfile) - old_written;
-   CPP_SET_WRITTEN(pfile, old_written);        /* Pop */
-
-   if (token == CPP_VSPACE || token == CPP_POP || token == CPP_EOF)
-     {
-       skip = (keyword->type == T_IFDEF);
-        cpp_pedwarn(pfile, "`#%s' with no argument", keyword->name);
-     }
-   else if (token == CPP_NAME)
-     {
-       HASHNODE           *hp = cpp_lookup(ident, ident_length, -1);
-
-       skip = (!hp) ^ (keyword->type == T_IFNDEF);
-       if (start_of_file && !skip)
-         {
-            control_macro = (unsigned char *)xmalloc(ident_length + 1);
-            memcpy(control_macro, ident, ident_length + 1);
-         }
-     }
-   else
-     {
-       skip = (keyword->type == T_IFDEF);
-        cpp_error(pfile, "`#%s' with invalid argument", keyword->name);
-     }
-
-   cpp_skip_hspace(pfile);
-   c = PEEKC();
-   if (c != EOF && c != '\n')
-      cpp_pedwarn(pfile, "garbage at end of `#%s' argument",
-                  keyword->name);
-   skip_rest_of_line(pfile);
-
-   conditional_skip(pfile, skip, T_IF, control_macro);
-   return 0;
-}
-
-/* Push TYPE on stack; then, if SKIP is nonzero, skip ahead.
- * If this is a #ifndef starting at the beginning of a file,
- * CONTROL_MACRO is the macro name tested by the #ifndef.
- * Otherwise, CONTROL_MACRO is 0.  */
-
-static void
-conditional_skip(cpp_reader * pfile, int skip, enum node_type type,
-                unsigned char *control_macro)
-{
-   IF_STACK_FRAME     *temp;
-
-   temp = (IF_STACK_FRAME *) xcalloc(1, sizeof(IF_STACK_FRAME));
-   temp->fname = CPP_BUFFER(pfile)->nominal_fname;
-   temp->next = pfile->if_stack;
-   temp->control_macro = control_macro;
-   pfile->if_stack = temp;
-
-   pfile->if_stack->type = type;
-
-   if (skip != 0)
-     {
-       skip_if_group(pfile, 0);
-       return;
-     }
-   else
-     {
-       ++pfile->if_stack->if_succeeded;
-       output_line_command(pfile, 1, same_file);
-     }
-}
-
-/*
- * skip to #endif, #else, or #elif.  adjust line numbers, etc.
- * leaves input ptr at the sharp sign found.
- * If ANY is nonzero, return at next directive of any sort.
- */
-
-static void
-skip_if_group(cpp_reader * pfile, int any)
-{
-   int                 c;
-   struct directive   *kt;
-   IF_STACK_FRAME     *save_if_stack = pfile->if_stack;        /* don't pop past here */
-
-   int                 ident_length;
-   char               *ident;
-   struct parse_marker line_start_mark;
-
-   parse_set_mark(&line_start_mark, pfile);
-
-   if (CPP_OPTIONS(pfile)->output_conditionals)
-     {
-       static char         failed[] = "#failed\n";
-
-       CPP_PUTS(pfile, failed, sizeof(failed) - 1);
-       pfile->lineno++;
-       output_line_command(pfile, 1, same_file);
-     }
- beg_of_line:
-   if (CPP_OPTIONS(pfile)->output_conditionals)
-     {
-       cpp_buffer         *pbuf = CPP_BUFFER(pfile);
-       unsigned char      *start_line = pbuf->buf + line_start_mark.position;
-
-       CPP_PUTS(pfile, start_line, pbuf->cur - start_line);
-     }
-   parse_move_mark(&line_start_mark, pfile);
-   cpp_skip_hspace(pfile);
-   c = GETC();
-   if (c == '#')
-     {
-       int                 old_written = CPP_WRITTEN(pfile);
-
-       cpp_skip_hspace(pfile);
-
-       parse_name(pfile, GETC());
-       ident_length = CPP_WRITTEN(pfile) - old_written;
-       ident = (char *)pfile->token_buffer + old_written;
-       pfile->limit = (unsigned char *)ident;
-
-       for (kt = directive_table; kt->length >= 0; kt++)
-         {
-            IF_STACK_FRAME     *temp;
-
-            if (ident_length == kt->length
-                && strncmp(ident, kt->name, kt->length) == 0)
-              {
-                 /* If we are asked to return on next directive, do so now.  */
-                 if (any)
-                    goto done;
-
-                 switch (kt->type)
-                   {
-                   case T_IF:
-                   case T_IFDEF:
-                   case T_IFNDEF:
-                      temp
-                         =
-                         (IF_STACK_FRAME *) xcalloc(1, sizeof(IF_STACK_FRAME));
-                      temp->next = pfile->if_stack;
-                      pfile->if_stack = temp;
-                      temp->fname = CPP_BUFFER(pfile)->nominal_fname;
-                      temp->type = kt->type;
-                      break;
-                   case T_ELSE:
-                   case T_ENDIF:
-                      if (CPP_PEDANTIC(pfile)
-                          && pfile->if_stack != save_if_stack)
-                         validate_else(pfile,
-                                       kt->type ==
-                                       T_ELSE ? "#else" : "#endif");
-                   case T_ELIF:
-                      if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
-                        {
-                           cpp_error(pfile,
-                                     "`#%s' not within a conditional",
-                                     kt->name);
-                           break;
-                        }
-                      else if (pfile->if_stack == save_if_stack)
-                         goto done;    /* found what we came for */
-
-                      if (kt->type != T_ENDIF)
-                        {
-                           if (pfile->if_stack->type == T_ELSE)
-                              cpp_error(pfile,
-                                        "`#else' or `#elif' after `#else'");
-                           pfile->if_stack->type = kt->type;
-                           break;
-                        }
-                      temp = pfile->if_stack;
-                      pfile->if_stack = temp->next;
-                      free(temp);
-                      break;
-                   default:;
-                   }
-                 break;
-              }
-            /* Don't let erroneous code go by.  */
-            if (kt->length < 0 && !CPP_OPTIONS(pfile)->lang_asm
-                && CPP_PEDANTIC(pfile))
-               cpp_pedwarn(pfile, "invalid preprocessor directive name");
-         }
-       c = GETC();
-     }
-   /* We're in the middle of a line.  Skip the rest of it. */
-   for (;;)
-     {
-       switch (c)
-         {
-            long                old;
-
-         case EOF:
-            goto done;
-         case '/':             /* possible comment */
-            c = skip_comment(pfile, NULL);
-            if (c == EOF)
-               goto done;
-            break;
-         case '\"':
-         case '\'':
-            FORWARD(-1);
-            old = CPP_WRITTEN(pfile);
-            cpp_get_token(pfile);
-            CPP_SET_WRITTEN(pfile, old);
-            break;
-         case '\\':
-            /* Char after backslash loses its special meaning.  */
-            if (PEEKC() == '\n')
-               FORWARD(1);
-            break;
-         case '\n':
-            goto beg_of_line;
-            break;
-         }
-       c = GETC();
-     }
- done:
-   if (CPP_OPTIONS(pfile)->output_conditionals)
-     {
-       static char         end_failed[] = "#endfailed\n";
-
-       CPP_PUTS(pfile, end_failed, sizeof(end_failed) - 1);
-       pfile->lineno++;
-     }
-   pfile->only_seen_white = 1;
-   parse_goto_mark(&line_start_mark, pfile);
-   parse_clear_mark(&line_start_mark);
-}
-
-/*
- * handle a #else directive.  Do this by just continuing processing
- * without changing  if_stack ;  this is so that the error message
- * for missing #endif's etc. will point to the original #if.  It
- * is possible that something different would be better.
- */
-
-static int
-do_else(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-       unsigned char *buf __UNUSED__, unsigned char *limit __UNUSED__)
-{
-   cpp_buffer         *ip = CPP_BUFFER(pfile);
-
-   if (CPP_PEDANTIC(pfile))
-      validate_else(pfile, "#else");
-   skip_rest_of_line(pfile);
-
-   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
-     {
-       cpp_error(pfile, "`#else' not within a conditional");
-       return 0;
-     }
-   else
-     {
-       /* #ifndef can't have its special treatment for containing the whole file
-        * if it has a #else clause.  */
-       pfile->if_stack->control_macro = 0;
-
-       if (pfile->if_stack->type != T_IF && pfile->if_stack->type != T_ELIF)
-         {
-            cpp_error(pfile, "`#else' after `#else'");
-            fprintf(stderr, " (matches line %d", pfile->if_stack->lineno);
-            if (strcmp(pfile->if_stack->fname, ip->nominal_fname) != 0)
-               fprintf(stderr, ", file %s", pfile->if_stack->fname);
-            fprintf(stderr, ")\n");
-         }
-       pfile->if_stack->type = T_ELSE;
-     }
-
-   if (pfile->if_stack->if_succeeded)
-      skip_if_group(pfile, 0);
-   else
-     {
-       ++pfile->if_stack->if_succeeded;        /* continue processing input */
-       output_line_command(pfile, 1, same_file);
-     }
-   return 0;
-}
-
-/*
- * unstack after #endif command
- */
-
-static int
-do_endif(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-        unsigned char *buf __UNUSED__, unsigned char *limit __UNUSED__)
-{
-   if (CPP_PEDANTIC(pfile))
-      validate_else(pfile, "#endif");
-   skip_rest_of_line(pfile);
-
-   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
-     {
-       cpp_error(pfile, "unbalanced `#endif'");
-     }
-   else
-     {
-       IF_STACK_FRAME     *temp = pfile->if_stack;
-
-       pfile->if_stack = temp->next;
-       if (temp->control_macro)
-         {
-            /* This #endif matched a #ifndef at the start of the file.
-             * See if it is at the end of the file.  */
-            struct parse_marker start_mark;
-            int                 c;
-
-            parse_set_mark(&start_mark, pfile);
-
-            for (;;)
-              {
-                 cpp_skip_hspace(pfile);
-                 c = GETC();
-                 if (c != '\n')
-                    break;
-              }
-            parse_goto_mark(&start_mark, pfile);
-            parse_clear_mark(&start_mark);
-
-            if (c == EOF)
-              {
-                 /* If we get here, this #endif ends a #ifndef
-                  * that contains all of the file (aside from whitespace).
-                  * Arrange not to include the file again
-                  * if the macro that was tested is defined.
-                  * 
-                  * Do not do this for the top-level file in a -include or any
-                  * file in a -imacros.  */
-                 {
-                    file_name_list     *ifile = pfile->all_include_files;
-
-                    for (; ifile; ifile = ifile->next)
-                      {
-                         if (!strcmp(ifile->fname, CPP_BUFFER(pfile)->fname))
-                           {
-                              ifile->control_macro = temp->control_macro;
-                              break;
-                           }
-                      }
-                 }
-              }
-         }
-       free(temp);
-       output_line_command(pfile, 1, same_file);
-     }
-   return 0;
-}
-
-/* When an #else or #endif is found while skipping failed conditional,
- * if -pedantic was specified, this is called to warn about text after
- * the command name.  P points to the first char after the command name.  */
-
-static void
-validate_else(cpp_reader * pfile, const char *directive)
-{
-   int                 c;
-
-   cpp_skip_hspace(pfile);
-   c = PEEKC();
-   if (c != EOF && c != '\n')
-      cpp_pedwarn(pfile,
-                 "text following `%s' violates ANSI standard", directive);
-}
-
-/* Get the next token, and add it to the text in pfile->token_buffer.
- * Return the kind of token we got. */
-
-enum cpp_token
-cpp_get_token(cpp_reader * pfile)
-{
-   int                 c, c2, c3;
-   long                old_written = 0;
-   long                start_line = 0, start_column = 0;
-   enum cpp_token      token;
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-
-   CPP_BUFFER(pfile)->prev = CPP_BUFFER(pfile)->cur;
- get_next:
-   c = GETC();
-   if (c == EOF)
-     {
-      handle_eof:
-       if (CPP_BUFFER(pfile)->seen_eof)
-         {
-            if (cpp_pop_buffer(pfile) != CPP_NULL_BUFFER(pfile))
-               goto get_next;
-            else
-               return CPP_EOF;
-         }
-       else
-         {
-            cpp_buffer         *next_buf = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
-
-            CPP_BUFFER(pfile)->seen_eof = 1;
-            if (CPP_BUFFER(pfile)->nominal_fname && next_buf)
-              {
-                 /* We're about to return from an #include file.
-                  * Emit #line information now (as part of the CPP_POP) result.
-                  * But the #line refers to the file we will pop to. */
-                 cpp_buffer         *cur_buffer = CPP_BUFFER(pfile);
-
-                 CPP_BUFFER(pfile) = next_buf;
-                 pfile->input_stack_listing_current = 0;
-                 output_line_command(pfile, 0, leave_file);
-                 CPP_BUFFER(pfile) = cur_buffer;
-              }
-            return CPP_POP;
-         }
-     }
-   else
-     {
-       switch (c)
-         {
-            long                newlines;
-            struct parse_marker start_mark;
-
-         case '/':
-            if (PEEKC() == '=')
-               goto op2;
-            if (opts->put_out_comments)
-               parse_set_mark(&start_mark, pfile);
-            newlines = 0;
-            cpp_buf_line_and_col(cpp_file_buffer(pfile),
-                                 &start_line, &start_column);
-            c = skip_comment(pfile, &newlines);
-            if (opts->put_out_comments && (c == '/' || c == EOF))
-               parse_clear_mark(&start_mark);
-            if (c == '/')
-               goto randomchar;
-            if (c == EOF)
-              {
-                 cpp_error_with_line(pfile, start_line, start_column,
-                                     "unterminated comment");
-                 goto handle_eof;
-              }
-            c = '/';           /* Initial letter of comment. */
-          return_comment:
-            /* Comments are equivalent to spaces.
-             * For -traditional, a comment is equivalent to nothing.  */
-            if (opts->put_out_comments)
-              {
-                 cpp_buffer         *pbuf = CPP_BUFFER(pfile);
-                 unsigned char      *start = pbuf->buf + start_mark.position;
-                 int                 len = pbuf->cur - start;
-
-                 CPP_RESERVE(pfile, 1 + len);
-                 CPP_PUTC_Q(pfile, c);
-                 CPP_PUTS_Q(pfile, start, len);
-                 pfile->lineno += newlines;
-                 parse_clear_mark(&start_mark);
-                 return CPP_COMMENT;
-              }
-            else if (newlines > 0)
-              {
-                output_line_command(pfile, 0, same_file);
-                CPP_RESERVE(pfile, 1);
-                CPP_PUTC_Q(pfile, ' ');
-                return CPP_VSPACE;
-              }
-            else
-              {
-                 CPP_RESERVE(pfile, 1);
-                 CPP_PUTC_Q(pfile, ' ');
-                 return CPP_HSPACE;
-              }
-
-         case '#':
-            if (!pfile->only_seen_white)
-               goto randomchar;
-            if (handle_directive(pfile))
-               return CPP_DIRECTIVE;
-            pfile->only_seen_white = 0;
-            return CPP_OTHER;
-
-         case '\"':
-         case '\'':
-            /* A single quoted string is treated like a double -- some
-             * programs (e.g., troff) are perverse this way */
-            cpp_buf_line_and_col(cpp_file_buffer(pfile),
-                                 &start_line, &start_column);
-            old_written = CPP_WRITTEN(pfile);
-          string:
-            CPP_PUTC(pfile, c);
-            while (1)
-              {
-                 int                 cc = GETC();
-
-                 if (cc == EOF)
-                   {
-                      if (CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
-                        {
-                           /* try harder: this string crosses a macro expansion
-                            * boundary.  This can happen naturally if -traditional.
-                            * Otherwise, only -D can make a macro with an unmatched
-                            * quote.  */
-                           cpp_buffer         *next_buf
-                              = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
-
-                           (*CPP_BUFFER(pfile)->cleanup)
-                              (CPP_BUFFER(pfile), pfile);
-                           CPP_BUFFER(pfile) = next_buf;
-                           continue;
-                        }
-                       cpp_error_with_line(pfile, start_line, start_column,
-                                           "unterminated string or character constant");
-                       if (pfile->multiline_string_line != start_line
-                           && pfile->multiline_string_line != 0)
-                          cpp_error_with_line(pfile,
-                                              pfile->multiline_string_line,
-                                              -1,
-                                              "possible real start of unterminated constant");
-                       pfile->multiline_string_line = 0;
-                      break;
-                   }
-                 CPP_PUTC(pfile, cc);
-                 switch (cc)
-                   {
-                   case '\n':
-                      /* Traditionally, end of line ends a string constant with
-                       * no error.  So exit the loop and record the new line.  */
-                      if (c == '\'')
-                        {
-                           cpp_error_with_line(pfile, start_line, start_column,
-                                               "unterminated character constant");
-                           goto while2end;
-                        }
-                      if (CPP_PEDANTIC(pfile)
-                          && pfile->multiline_string_line == 0)
-                        {
-                           cpp_pedwarn_with_line(pfile, start_line,
-                                                 start_column,
-                                                 "string constant runs past end of line");
-                        }
-                      if (pfile->multiline_string_line == 0)
-                         pfile->multiline_string_line = start_line;
-                      break;
-
-                   case '\\':
-                      cc = GETC();
-                      if (cc == '\n')
-                        {
-                           /* Backslash newline is replaced by nothing at all. */
-                           CPP_ADJUST_WRITTEN(pfile, -1);
-                           pfile->lineno++;
-                        }
-                      else
-                        {
-                           /* ANSI stupidly requires that in \\ the second \
-                            * is *not* prevented from combining with a newline.  */
-                           NEWLINE_FIX1(cc);
-                           if (cc != EOF)
-                              CPP_PUTC(pfile, cc);
-                        }
-                      break;
-
-                   case '\"':
-                   case '\'':
-                      if (cc == c)
-                         goto while2end;
-                      break;
-                   }
-              }
-          while2end:
-            pfile->lineno += count_newlines(pfile->token_buffer + old_written,
-                                            CPP_PWRITTEN(pfile));
-            pfile->only_seen_white = 0;
-            return c == '\'' ? CPP_CHAR : CPP_STRING;
-
-         case '$':
-            if (!opts->dollars_in_ident)
-               goto randomchar;
-            goto letter;
-
-         case ':':
-            if (opts->cplusplus && PEEKC() == ':')
-               goto op2;
-            goto randomchar;
-
-         case '&':
-         case '+':
-         case '|':
-            NEWLINE_FIX;
-            c2 = PEEKC();
-            if (c2 == c || c2 == '=')
-               goto op2;
-            goto randomchar;
-
-         case '*':
-         case '!':
-         case '%':
-         case '=':
-         case '^':
-            NEWLINE_FIX;
-            if (PEEKC() == '=')
-               goto op2;
-            goto randomchar;
-
-         case '-':
-            NEWLINE_FIX;
-            c2 = PEEKC();
-            if (c2 == '-' && opts->chill)
-              {
-                 /* Chill style comment */
-                 if (opts->put_out_comments)
-                    parse_set_mark(&start_mark, pfile);
-                 FORWARD(1);   /* Skip second '-'. */
-                 for (;;)
-                   {
-                      c = GETC();
-                      if (c == EOF)
-                         break;
-                      if (c == '\n')
-                        {
-                           /* Don't consider final '\n' to be part of comment. */
-                           FORWARD(-1);
-                           break;
-                        }
-                   }
-                 c = '-';
-                 goto return_comment;
-              }
-            if (c2 == '-' || c2 == '=' || c2 == '>')
-               goto op2;
-            goto randomchar;
-
-         case '<':
-            if (pfile->parsing_include_directive)
-              {
-                 for (;;)
-                   {
-                      CPP_PUTC(pfile, c);
-                      if (c == '>')
-                         break;
-                      c = GETC();
-                      NEWLINE_FIX1(c);
-                      if (c == '\n' || c == EOF)
-                        {
-                           cpp_error(pfile,
-                                     "missing '>' in `#include <FILENAME>'");
-                           break;
-                        }
-                   }
-                 return CPP_STRING;
-              }
-            /* else fall through */
-         case '>':
-            NEWLINE_FIX;
-            c2 = PEEKC();
-            if (c2 == '=')
-               goto op2;
-            if (c2 != c)
-               goto randomchar;
-            FORWARD(1);
-            CPP_RESERVE(pfile, 4);
-            CPP_PUTC(pfile, c);
-            CPP_PUTC(pfile, c2);
-            NEWLINE_FIX;
-            c3 = PEEKC();
-            if (c3 == '=')
-               CPP_PUTC_Q(pfile, GETC());
-            CPP_NUL_TERMINATE_Q(pfile);
-            pfile->only_seen_white = 0;
-            return CPP_OTHER;
-
-         case '@':
-            if (CPP_BUFFER(pfile)->has_escapes)
-              {
-                 c = GETC();
-                  // fix macro expansions starting with - losing the -
-                 if (c == '-')
-                   {
-                       CPP_PUTS(pfile, "-", 1);
-                      return CPP_OTHER;
-                   }
-                  // fix macro expansions starting with - losing the +
-                 else if (c == '+')
-                   {
-                       CPP_PUTS(pfile, "+", 1);
-                      return CPP_OTHER;
-                   }
-                  // fix macro expansions starting with - losing the .
-                 else if (c == '.')
-                   {
-                       CPP_PUTS(pfile, ".", 1);
-                      return CPP_OTHER;
-                   }
-                 else if (is_space[c])
-                   {
-                      CPP_RESERVE(pfile, 1);
-                      if (pfile->output_escapes)
-                         CPP_PUTC_Q(pfile, '@');
-                      return CPP_HSPACE;
-                   }
-              }
-            if (pfile->output_escapes)
-              {
-                 CPP_PUTS(pfile, "@@", 2);
-                 return CPP_OTHER;
-              }
-            goto randomchar;
-
-         case '.':
-            NEWLINE_FIX;
-            c2 = PEEKC();
-            if (isdigit(c2))
-              {
-                 CPP_RESERVE(pfile, 2);
-                 CPP_PUTC_Q(pfile, '.');
-                 c = GETC();
-                 goto number;
-              }
-            /* FIXME - misses the case "..\\\n." */
-            if (c2 == '.' && PEEKN(1) == '.')
-              {
-                 CPP_RESERVE(pfile, 4);
-                 CPP_PUTC_Q(pfile, '.');
-                 CPP_PUTC_Q(pfile, '.');
-                 CPP_PUTC_Q(pfile, '.');
-                 FORWARD(2);
-                 CPP_NUL_TERMINATE_Q(pfile);
-                 pfile->only_seen_white = 0;
-                 return CPP_3DOTS;
-              }
-            goto randomchar;
-
-          op2:
-            token = CPP_OTHER;
-            pfile->only_seen_white = 0;
-          op2any:
-            CPP_RESERVE(pfile, 3);
-            CPP_PUTC_Q(pfile, c);
-            CPP_PUTC_Q(pfile, GETC());
-            CPP_NUL_TERMINATE_Q(pfile);
-            return token;
-
-         case 'L':
-            NEWLINE_FIX;
-            c2 = PEEKC();
-            if ((c2 == '\'' || c2 == '\"'))
-              {
-                 CPP_PUTC(pfile, c);
-                 c = GETC();
-                 goto string;
-              }
-            goto letter;
-
-         case '0':
-         case '1':
-         case '2':
-         case '3':
-         case '4':
-         case '5':
-         case '6':
-         case '7':
-         case '8':
-         case '9':
-          number:
-            c2 = '.';
-            for (;;)
-              {
-                 CPP_RESERVE(pfile, 2);
-                 CPP_PUTC_Q(pfile, c);
-                 NEWLINE_FIX;
-                 c = PEEKC();
-                 if (c == EOF)
-                    break;
-                 if (!is_idchar[c] && c != '.'
-                     && ((c2 != 'e' && c2 != 'E') || (c != '+' && c != '-')))
-                    break;
-                 FORWARD(1);
-                 c2 = c;
-              }
-            CPP_NUL_TERMINATE_Q(pfile);
-            pfile->only_seen_white = 0;
-            return CPP_NUMBER;
-         case 'b':
-         case 'c':
-         case 'd':
-         case 'h':
-         case 'o':
-         case 'B':
-         case 'C':
-         case 'D':
-         case 'H':
-         case 'O':
-            if (opts->chill && PEEKC() == '\'')
-              {
-                 pfile->only_seen_white = 0;
-                 CPP_RESERVE(pfile, 2);
-                 CPP_PUTC_Q(pfile, c);
-                 CPP_PUTC_Q(pfile, '\'');
-                 FORWARD(1);
-                 for (;;)
-                   {
-                      c = GETC();
-                      if (c == EOF)
-                         goto chill_number_eof;
-                      if (!is_idchar[c])
-                        {
-                           if (c == '\\' && PEEKC() == '\n')
-                             {
-                                FORWARD(2);
-                                continue;
-                             }
-                           break;
-                        }
-                      CPP_PUTC(pfile, c);
-                   }
-                 if (c == '\'')
-                   {
-                      CPP_RESERVE(pfile, 2);
-                      CPP_PUTC_Q(pfile, c);
-                      CPP_NUL_TERMINATE_Q(pfile);
-                      return CPP_STRING;
-                   }
-                 else
-                   {
-                      FORWARD(-1);
-                    chill_number_eof:
-                      CPP_NUL_TERMINATE(pfile);
-                      return CPP_NUMBER;
-                   }
-              }
-            else
-               goto letter;
-         case '_':
-         case 'a':
-         case 'e':
-         case 'f':
-         case 'g':
-         case 'i':
-         case 'j':
-         case 'k':
-         case 'l':
-         case 'm':
-         case 'n':
-         case 'p':
-         case 'q':
-         case 'r':
-         case 's':
-         case 't':
-         case 'u':
-         case 'v':
-         case 'w':
-         case 'x':
-         case 'y':
-         case 'z':
-         case 'A':
-         case 'E':
-         case 'F':
-         case 'G':
-         case 'I':
-         case 'J':
-         case 'K':
-         case 'M':
-         case 'N':
-         case 'P':
-         case 'Q':
-         case 'R':
-         case 'S':
-         case 'T':
-         case 'U':
-         case 'V':
-         case 'W':
-         case 'X':
-         case 'Y':
-         case 'Z':
-          letter:
-            {
-               HASHNODE           *hp;
-               char               *ident;
-               int                 before_name_written = CPP_WRITTEN(pfile);
-               int                 ident_len;
-
-               parse_name(pfile, c);
-               pfile->only_seen_white = 0;
-               if (pfile->no_macro_expand)
-                  return CPP_NAME;
-               ident = (char *)pfile->token_buffer + before_name_written;
-               ident_len = CPP_PWRITTEN(pfile) - (unsigned char *)ident;
-               hp = cpp_lookup(ident, ident_len, -1);
-               if (!hp)
-                  return CPP_NAME;
-               if (hp->type == T_DISABLED)
-                 {
-                    if (pfile->output_escapes)
-                      {        /* Return "@-IDENT", followed by '\0'. */
-                         int                 i;
-
-                         CPP_RESERVE(pfile, 3);
-                         ident =
-                            (char *)pfile->token_buffer + before_name_written;
-                         CPP_ADJUST_WRITTEN(pfile, 2);
-                         for (i = ident_len; i >= 0; i--)
-                            ident[i + 2] = ident[i];
-                         ident[0] = '@';
-                         ident[1] = '-';
-                      }
-                    return CPP_NAME;
-                 }
-               /* If macro wants an arglist, verify that a '(' follows.
-                * first skip all whitespace, copying it to the output
-                * after the macro name.  Then, if there is no '(',
-                * decide this is not a macro call and leave things that way.  */
-               if (hp->type == T_MACRO && hp->value.defn->nargs >= 0)
-                 {
-                    struct parse_marker macro_mark;
-                    int                 is_macro_call;
-
-                    while (CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
-                      {
-                         cpp_buffer         *next_buf;
-
-                         cpp_skip_hspace(pfile);
-                         if (PEEKC() != EOF)
-                            break;
-                         next_buf = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
-                         (*CPP_BUFFER(pfile)->cleanup) (CPP_BUFFER(pfile),
-                                                        pfile);
-                         CPP_BUFFER(pfile) = next_buf;
-                      }
-                    parse_set_mark(&macro_mark, pfile);
-                    for (;;)
-                      {
-                         cpp_skip_hspace(pfile);
-                         c = PEEKC();
-                         is_macro_call = c == '(';
-                         if (c != '\n')
-                            break;
-                         FORWARD(1);
-                      }
-                    if (!is_macro_call)
-                       parse_goto_mark(&macro_mark, pfile);
-                    parse_clear_mark(&macro_mark);
-                    if (!is_macro_call)
-                       return CPP_NAME;
-                 }
-               /* This is now known to be a macro call. */
-
-               /* it might not actually be a macro.  */
-               if (hp->type != T_MACRO)
-                 {
-                    int                 xbuf_len;
-                    unsigned char      *xbuf;
-
-                    CPP_SET_WRITTEN(pfile, before_name_written);
-                    special_symbol(hp, pfile);
-                    xbuf_len = CPP_WRITTEN(pfile) - before_name_written;
-                    xbuf = (unsigned char *)xmalloc(xbuf_len + 1);
-                    CPP_SET_WRITTEN(pfile, before_name_written);
-                    memcpy(xbuf, CPP_PWRITTEN(pfile), xbuf_len + 1);
-                    push_macro_expansion(pfile, xbuf, xbuf_len, hp);
-                 }
-               else
-                 {
-                    /* Expand the macro, reading arguments as needed,
-                     * and push the expansion on the input stack.  */
-                    macroexpand(pfile, hp);
-                    CPP_SET_WRITTEN(pfile, before_name_written);
-                 }
-
-               /* An extra "@ " is added to the end of a macro expansion
-                * to prevent accidental token pasting.  We prefer to avoid
-                * unneeded extra spaces (for the sake of cpp-using tools like
-                * imake).  Here we remove the space if it is safe to do so. */
-               if (pfile->buffer->rlimit - pfile->buffer->cur >= 3
-                   && pfile->buffer->rlimit[-2] == '@'
-                   && pfile->buffer->rlimit[-1] == ' ')
-                 {
-                    int                 c1 = pfile->buffer->rlimit[-3];
-
-                    c2 = CPP_BUF_PEEK(CPP_PREV_BUFFER(CPP_BUFFER(pfile)));
-
-                    if (c2 == EOF || !unsafe_chars(c1, c2))
-                       pfile->buffer->rlimit -= 2;
-                 }
-            }
-            goto get_next;
-
-         case ' ':
-         case '\t':
-         case '\v':
-         case '\r':
-            for (;;)
-              {
-                 CPP_PUTC(pfile, c);
-                 c = PEEKC();
-                 if (c == EOF || !is_hor_space[c])
-                    break;
-                 FORWARD(1);
-              }
-            return CPP_HSPACE;
-
-         case '\\':
-            c2 = PEEKC();
-            if (c2 != '\n')
-               goto randomchar;
-            token = CPP_HSPACE;
-            goto op2any;
-
-         case '\n':
-            CPP_PUTC(pfile, c);
-            if (pfile->only_seen_white == 0)
-               pfile->only_seen_white = 1;
-            pfile->lineno++;
-            output_line_command(pfile, 1, same_file);
-            return CPP_VSPACE;
-
-         case '(':
-            token = CPP_LPAREN;
-            goto char1;
-         case ')':
-            token = CPP_RPAREN;
-            goto char1;
-         case '{':
-            token = CPP_LBRACE;
-            goto char1;
-         case '}':
-            token = CPP_RBRACE;
-            goto char1;
-         case ',':
-            token = CPP_COMMA;
-            goto char1;
-         case ';':
-            token = CPP_SEMICOLON;
-            goto char1;
-
-          randomchar:
-         default:
-            token = CPP_OTHER;
-          char1:
-            pfile->only_seen_white = 0;
-            CPP_PUTC(pfile, c);
-            return token;
-         }
-     }
-}
-
-#if 0                          /* Unused */
-/* Like cpp_get_token, but skip spaces and comments. */
-enum cpp_token
-cpp_get_non_space_token(cpp_reader * pfile)
-{
-   int                 old_written = CPP_WRITTEN(pfile);
-
-   for (;;)
-     {
-       enum cpp_token      token = cpp_get_token(pfile);
-
-       if (token != CPP_COMMENT && token != CPP_POP
-           && token != CPP_HSPACE && token != CPP_VSPACE)
-          return token;
-       CPP_SET_WRITTEN(pfile, old_written);
-     }
-}
-#endif
-
-/* Parse an identifier starting with C. */
-
-int
-parse_name(cpp_reader * pfile, int c)
-{
-   for (;;)
-     {
-       if (!is_idchar[c])
-         {
-            if (c == '\\' && PEEKC() == '\n')
-              {
-                 FORWARD(2);
-                 continue;
-              }
-            FORWARD(-1);
-            break;
-         }
-       CPP_RESERVE(pfile, 2);  /* One more for final NUL. */
-       CPP_PUTC_Q(pfile, c);
-       c = GETC();
-       if (c == EOF)
-          break;
-     }
-   CPP_NUL_TERMINATE_Q(pfile);
-   return 1;
-}
-
-/* Maintain and search list of included files, for #import.  */
-
-/* Hash a file name for import_hash_table.  */
-
-static int
-import_hash(char *f)
-{
-   int                 val = 0;
-
-   while (*f)
-      val += *f++;
-   return (val % IMPORT_HASH_SIZE);
-}
-
-/* Search for file FILENAME in import_hash_table.
- * Return -2 if found, either a matching name or a matching inode.
- * Otherwise, open the file and return a file descriptor if successful
- * or -1 if unsuccessful.  */
-
-static int
-lookup_import(cpp_reader * pfile, char *filename, file_name_list * searchptr)
-{
-   struct import_file *i;
-   int                 h;
-   int                 hashval;
-   struct stat         sb;
-   int                 fd;
-
-   hashval = import_hash(filename);
-
-   /* Attempt to find file in list of already included files */
-   i = pfile->import_hash_table[hashval];
-
-   while (i)
-     {
-       if (!strcmp(filename, i->name))
-          return -2;           /* return found */
-       i = i->next;
-     }
-   /* Open it and try a match on inode/dev */
-   fd = open_include_file(pfile, filename, searchptr);
-   if (fd < 0)
-      return fd;
-   fstat(fd, &sb);
-   for (h = 0; h < IMPORT_HASH_SIZE; h++)
-     {
-       i = pfile->import_hash_table[h];
-       while (i)
-         {
-            /* Compare the inode and the device.
-             * Supposedly on some systems the inode is not a scalar.  */
-            if (!memcmp
-                ((char *)&i->inode, (char *)&sb.st_ino, sizeof(sb.st_ino))
-                && i->dev == sb.st_dev)
-              {
-                 close(fd);
-                 return -2;    /* return found */
-              }
-            i = i->next;
-         }
-     }
-   return fd;                  /* Not found, return open file */
-}
-
-/* Add the file FNAME, open on descriptor FD, to import_hash_table.  */
-
-static void
-add_import(cpp_reader * pfile, int fd, char *fname)
-{
-   struct import_file *i;
-   int                 hashval;
-   struct stat         sb;
-
-   hashval = import_hash(fname);
-   fstat(fd, &sb);
-   i = (struct import_file *)xmalloc(sizeof(struct import_file));
-
-   i->name = (char *)xmalloc(strlen(fname) + 1);
-   strcpy(i->name, fname);
-   memcpy((char *)&i->inode, (char *)&sb.st_ino, sizeof(sb.st_ino));
-   i->dev = sb.st_dev;
-   i->next = pfile->import_hash_table[hashval];
-   pfile->import_hash_table[hashval] = i;
-}
-
-/* The file_name_map structure holds a mapping of file names for a
- * particular directory.  This mapping is read from the file named
- * FILE_NAME_MAP_FILE in that directory.  Such a file can be used to
- * map filenames on a file system with severe filename restrictions,
- * such as DOS.  The format of the file name map file is just a series
- * of lines with two tokens on each line.  The first token is the name
- * to map, and the second token is the actual name to use.  */
-
-struct file_name_map {
-   struct file_name_map *map_next;
-   char               *map_from;
-   char               *map_to;
-};
-
-#if USE_FILE_NAME_MAPS
-
-#define FILE_NAME_MAP_FILE "header.gcc"
-
-/* Read a space delimited string of unlimited length from a stdio
- * file.  */
-
-static char        *
-read_filename_string(int ch, FILE * f)
-{
-   char               *alloc, *set;
-   int                 len;
-
-   len = 20;
-   set = alloc = (char *)xmalloc(len + 1);
-   if (!is_space[ch])
-     {
-       *set++ = ch;
-       while ((ch = getc(f)) != EOF && !is_space[ch])
-         {
-            if (set - alloc == len)
-              {
-                 len *= 2;
-                 alloc = (char *)xrealloc(alloc, len + 1);
-                 set = alloc + len / 2;
-              }
-            *set++ = ch;
-         }
-     }
-   *set = '\0';
-   ungetc(ch, f);
-   return alloc;
-}
-
-/* This structure holds a linked list of file name maps, one per directory. */
-struct file_name_map_list {
-   struct file_name_map_list *map_list_next;
-   char               *map_list_name;
-   struct file_name_map *map_list_map;
-};
-
-/* Read the file name map file for DIRNAME.  */
-
-static struct file_name_map *
-read_name_map(cpp_reader * pfile, const char *dirname)
-{
-   struct file_name_map_list *map_list_ptr;
-   char               *name;
-   FILE               *f;
-
-   for (map_list_ptr = CPP_OPTIONS(pfile)->map_list; map_list_ptr;
-       map_list_ptr = map_list_ptr->map_list_next)
-      if (!strcmp(map_list_ptr->map_list_name, dirname))
-        return map_list_ptr->map_list_map;
-
-   map_list_ptr =
-      ((struct file_name_map_list *)xmalloc(sizeof(struct file_name_map_list)));
-
-   map_list_ptr->map_list_name = savestring(dirname);
-   map_list_ptr->map_list_map = NULL;
-
-   name = (char *)alloca(strlen(dirname) + strlen(FILE_NAME_MAP_FILE) + 2);
-   strcpy(name, dirname);
-   if (*dirname)
-      strcat(name, "/");
-   strcat(name, FILE_NAME_MAP_FILE);
-#ifndef __EMX__
-   f = fopen(name, "rb");
-#else
-   f = fopen(name, "rtb");
-#endif
-   if (!f)
-      map_list_ptr->map_list_map = NULL;
-   else
-     {
-       int                 ch;
-       int                 dirlen = strlen(dirname);
-
-       while ((ch = getc(f)) != EOF)
-         {
-            char               *from, *to;
-            struct file_name_map *ptr;
-
-            if (is_space[ch])
-               continue;
-            from = read_filename_string(ch, f);
-            while ((ch = getc(f)) != EOF && is_hor_space[ch]);
-            to = read_filename_string(ch, f);
-
-            ptr =
-               ((struct file_name_map *)xmalloc(sizeof(struct file_name_map)));
-
-            ptr->map_from = from;
-
-            /* Make the real filename absolute.  */
-            if (*to == '/')
-               ptr->map_to = to;
-            else
-              {
-                 ptr->map_to = (char *)xmalloc(dirlen + strlen(to) + 2);
-                 strcpy(ptr->map_to, dirname);
-                 ptr->map_to[dirlen] = '/';
-                 strcpy(ptr->map_to + dirlen + 1, to);
-                 free(to);
-              }
-
-            ptr->map_next = map_list_ptr->map_list_map;
-            map_list_ptr->map_list_map = ptr;
-
-            while ((ch = getc(f)) != '\n')
-               if (ch == EOF)
-                  break;
-         }
-       fclose(f);
-     }
-
-   map_list_ptr->map_list_next = CPP_OPTIONS(pfile)->map_list;
-   CPP_OPTIONS(pfile)->map_list = map_list_ptr;
-
-   return map_list_ptr->map_list_map;
-}
-
-/* Try to open include file FILENAME.  SEARCHPTR is the directory
- * being tried from the include file search path.  This function maps
- * filenames on file systems based on information read by
- * read_name_map.  */
-
-static int
-open_include_file(cpp_reader * pfile, char *filename,
-                 file_name_list * searchptr)
-{
-   struct file_name_map *map;
-   const char         *from;
-   const char         *p, *dir;
-
-   if (searchptr && !searchptr->got_name_map)
-     {
-       searchptr->name_map = read_name_map(pfile,
-                                           searchptr->fname
-                                           ? searchptr->fname : ".");
-       searchptr->got_name_map = 1;
-     }
-   /* First check the mapping for the directory we are using.  */
-   if (searchptr && searchptr->name_map)
-     {
-       from = filename;
-       if (searchptr->fname)
-          from += strlen(searchptr->fname) + 1;
-       for (map = searchptr->name_map; map; map = map->map_next)
-         {
-            if (!strcmp(map->map_from, from))
-              {
-                 /* Found a match.  */
-                 return open(map->map_to, O_RDONLY | O_BINARY, 0666);
-              }
-         }
-     }
-   /* Try to find a mapping file for the particular directory we are
-    * looking in.  Thus #include <sys/types.h> will look up sys/types.h
-    * in /usr/include/header.gcc and look up types.h in
-    * /usr/include/sys/header.gcc.  */
-   p = strrchr(filename, '/');
-   if (!p)
-      p = filename;
-   if (searchptr
-       && searchptr->fname
-       && strlen(searchptr->fname) == (unsigned)(p - filename)
-       && !strncmp(searchptr->fname, filename, p - filename))
-     {
-       /* FILENAME is in SEARCHPTR, which we've already checked.  */
-        using_file(filename, 'E');
-       return open(filename, O_RDONLY | O_BINARY, 0666);
-     }
-   if (p == filename)
-     {
-       dir = ".";
-       from = filename;
-     }
-   else
-     {
-       char               *s;
-
-       s = (char *)alloca(p - filename + 1);
-       memcpy(s, filename, p - filename);
-       s[p - filename] = '\0';
-       from = p + 1;
-       dir = s;
-     }
-   for (map = read_name_map(pfile, dir); map; map = map->map_next)
-      if (!strcmp(map->map_from, from))
-        {
-           using_file(map->map_to, 'E');
-           return open(map->map_to, O_RDONLY | O_BINARY, 0666);
-        }
-
-   using_file(filename, 'E');
-   return open(filename, O_RDONLY | O_BINARY, 0666);
-}
-
-#else
-
-static int
-open_include_file(cpp_reader * pfile __UNUSED__, char *filename,
-                 file_name_list * searchptr __UNUSED__)
-{
-   using_file(filename, 'E');
-   return open(filename, O_RDONLY | O_BINARY, 0666);
-}
-
-#endif /* USE_FILE_NAME_MAPS */
-
-static int
-dos2unix(cpp_buffer *fp, int length)
-{
-   unsigned char *tbuf;
-   int nlen = 0, i;
-   
-   tbuf = xmalloc(length + 4);
-   if (!tbuf) return length;
-   for (i = 0; i < length; i++)
-     {
-        if ((fp->buf[i] == '\r') &&
-            (fp->buf[i + 1] == '\n'))
-          {
-             // skip \r in \r\n
-             continue;
-          }
-        tbuf[nlen] = fp->buf[i];
-        nlen++;
-     }
-   tbuf[nlen] = 0;
-   
-   free(fp->buf);
-   fp->buf = tbuf;
-   return nlen;
-}
-
-/* Process the contents of include file FNAME, already open on descriptor F,
- * with output to OP.
- * SYSTEM_HEADER_P is 1 if this file resides in any one of the known
- * "system" include directories (as decided by the `is_system_include'
- * function above).
- * DIRPTR is the link in the dir path through which this file was found,
- * or 0 if the file name was absolute or via the current directory.
- * Return 1 on success, 0 on failure.
- * 
- * The caller is responsible for the cpp_push_buffer.  */
-
-static int
-finclude(cpp_reader * pfile, int f, const char *fname, int system_header_p,
-        file_name_list * dirptr)
-{
-   int                 st_mode;
-   long                st_size;
-   long                i;
-   int                 length;
-   cpp_buffer         *fp;     /* For input stack frame */
-
-   if (file_size_and_mode(f, &st_mode, &st_size) < 0)
-     {
-       cpp_perror_with_name(pfile, fname);
-       close(f);
-       cpp_pop_buffer(pfile);
-       return 0;
-     }
-   fp = CPP_BUFFER(pfile);
-   fp->nominal_fname = fp->fname = fname;
-   fp->dir = dirptr;
-   fp->system_header_p = system_header_p;
-   fp->lineno = 1;
-   fp->colno = 1;
-   fp->cleanup = file_cleanup;
-
-   if (S_ISREG(st_mode))
-     {
-       fp->buf = (unsigned char *)xmalloc(st_size + 2);
-       /* Read the file contents, knowing that st_size is an upper bound
-        * on the number of bytes we can read.  */
-       length = safe_read(f, (char *)fp->buf, st_size);
-        length = dos2unix(fp, length);
-        
-       fp->alimit = fp->buf + st_size + 2;
-       fp->cur = fp->buf;
-       fp->rlimit = fp->buf + length;
-       if (length < 0)
-          goto nope;
-     }
-   else if (S_ISDIR(st_mode))
-     {
-       cpp_error(pfile, "directory `%s' specified in #include", fname);
-       close(f);
-       return 0;
-     }
-   else
-     {
-       /* Cannot count its file size before reading.
-        * First read the entire file into heap and
-        * copy them into buffer on stack. */
-
-       int                 bsize = 2000;
-
-       st_size = 0;
-       fp->buf = (unsigned char *)xmalloc(bsize + 2);
-
-       for (;;)
-         {
-            i = safe_read(f, (char *)(fp->buf + st_size), bsize - st_size);
-            if (i < 0)
-               goto nope;      /* error! */
-            st_size += i;
-            if (st_size != bsize)
-               break;          /* End of file */
-            bsize *= 2;
-            fp->buf = (unsigned char *)xrealloc(fp->buf, bsize + 2);
-         }
-       length = st_size;
-        length = dos2unix(fp, length);
-   }
-
-   if ((length > 0 && fp->buf[length - 1] != '\n')
-       /* Backslash-newline at end is not good enough.  */
-       || (length > 1 && fp->buf[length - 2] == '\\'))
-     {
-       fp->buf[length++] = '\n';
-     }
-   fp->buf[length] = '\0';
-     
-   fp->rlimit = fp->buf + length;
-
-   /* Close descriptor now, so nesting does not use lots of descriptors.  */
-   close(f);
-
-   /* Must do this before calling trigraph_pcp, so that the correct file name
-    * will be printed in warning messages.  */
-
-   pfile->input_stack_listing_current = 0;
-
-   return 1;
-
- nope:
-
-   cpp_perror_with_name(pfile, fname);
-   close(f);
-   free(fp->buf);
-   return 1;
-}
-
-int
-push_parse_file(cpp_reader * pfile, const char *fname)
-{
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-   struct cpp_pending *pend;
-   char               *p;
-   int                 f;
-   cpp_buffer         *fp;
-
-   /* The code looks at the defaults through this pointer, rather than through
-    * the constant structure above.  This pointer gets changed if an environment
-    * variable specifies other defaults.  */
-   struct default_include *include_defaults = include_defaults_array;
-
-   /* Add dirs from CPATH after dirs from -I.  */
-   /* There seems to be confusion about what CPATH should do,
-    * so for the moment it is not documented.  */
-   /* Some people say that CPATH should replace the standard include dirs,
-    * but that seems pointless: it comes before them, so it overrides them
-    * anyway.  */
-   p = (char *)getenv("CPATH");
-   if (p && !opts->no_standard_includes)
-      path_include(pfile, p);
-
-   /* Now that dollars_in_ident is known, initialize is_idchar.  */
-   initialize_char_syntax(opts);
-
-   /* Do partial setup of input buffer for the sake of generating
-    * early #line directives (when -g is in effect).  */
-   fp = cpp_push_buffer(pfile, NULL, 0);
-   if (!opts->in_fname)
-      opts->in_fname = "";
-   fp->nominal_fname = fp->fname = opts->in_fname;
-   fp->lineno = 0;
-
-   /* Install __LINE__, etc.  Must follow initialize_char_syntax
-    * and option processing.  */
-   initialize_builtins(pfile);
-
-   /* Do standard #defines and assertions
-    * that identify system and machine type.  */
-
-   if (!opts->inhibit_predefs)
-     {
-       p = (char *)alloca(strlen(predefs) + 1);
-
-       strcpy(p, predefs);
-       while (*p)
-         {
-            char               *q;
-
-            while (*p == ' ' || *p == '\t')
-               p++;
-            /* Handle -D options.  */
-            if (p[0] == '-' && p[1] == 'D')
-              {
-                 q = &p[2];
-                 while (*p && *p != ' ' && *p != '\t')
-                    p++;
-                 if (*p != 0)
-                    *p++ = 0;
-                 if (opts->debug_output)
-                    output_line_command(pfile, 0, same_file);
-                 cpp_define(pfile, (unsigned char *)q);
-                 while (*p == ' ' || *p == '\t')
-                    p++;
-              }
-            else if (p[0] == '-' && p[1] == 'A')
-              {
-                 /* Handle -A options (assertions).  */
-                 char               *assertion;
-                 char               *past_name;
-                 char               *value;
-                 char               *past_value;
-                 char               *termination;
-                 int                 save_char;
-
-                 assertion = &p[2];
-                 past_name = assertion;
-                 /* Locate end of name.  */
-                 while (*past_name && *past_name != ' '
-                        && *past_name != '\t' && *past_name != '(')
-                    past_name++;
-                 /* Locate `(' at start of value.  */
-                 value = past_name;
-                 while (*value && (*value == ' ' || *value == '\t'))
-                    value++;
-                 if (*value++ != '(')
-                    abort();
-                 while (*value && (*value == ' ' || *value == '\t'))
-                    value++;
-                 past_value = value;
-                 /* Locate end of value.  */
-                 while (*past_value && *past_value != ' '
-                        && *past_value != '\t' && *past_value != ')')
-                    past_value++;
-                 termination = past_value;
-                 while (*termination
-                        && (*termination == ' ' || *termination == '\t'))
-                    termination++;
-                 if (*termination++ != ')')
-                    abort();
-                 if (*termination && *termination != ' '
-                     && *termination != '\t')
-                    abort();
-                 /* Temporarily null-terminate the value.  */
-                 save_char = *termination;
-                 *termination = '\0';
-                 /* Install the assertion.  */
-                 make_assertion(pfile, "-A", assertion);
-                 *termination = (char)save_char;
-                 p = termination;
-                 while (*p == ' ' || *p == '\t')
-                    p++;
-              }
-            else
-              {
-                 abort();
-              }
-         }
-     }
-   /* Now handle the command line options.  */
-
-   /* Do -U's, -D's and -A's in the order they were seen.  */
-   /* First reverse the list. */
-   opts->pending = nreverse_pending(opts->pending);
-
-   for (pend = opts->pending; pend; pend = pend->next)
-     {
-       if (pend->cmd && pend->cmd[0] == '-')
-         {
-            switch (pend->cmd[1])
-              {
-              case 'U':
-                 if (opts->debug_output)
-                    output_line_command(pfile, 0, same_file);
-                 do_undef(pfile, NULL, (unsigned char *)pend->arg,
-                          (unsigned char *)pend->arg + strlen(pend->arg));
-                 break;
-              case 'D':
-                 if (opts->debug_output)
-                    output_line_command(pfile, 0, same_file);
-                 cpp_define(pfile, (unsigned char *)pend->arg);
-                 break;
-              case 'A':
-                 make_assertion(pfile, "-A", pend->arg);
-                 break;
-              }
-         }
-     }
-
-   opts->done_initializing = 1;
-
-   {                           /* read the appropriate environment variable and if it exists
-                                * replace include_defaults with the listed path. */
-      char               *epath = 0;
-
-      switch ((opts->objc << 1) + opts->cplusplus)
-       {
-       case 0:
-          epath = getenv("C_INCLUDE_PATH");
-          break;
-       case 1:
-          epath = getenv("CPLUS_INCLUDE_PATH");
-          break;
-       case 2:
-          epath = getenv("OBJC_INCLUDE_PATH");
-          break;
-       case 3:
-          epath = getenv("OBJCPLUS_INCLUDE_PATH");
-          break;
-       }
-      /* If the environment var for this language is set,
-       * add to the default list of include directories.  */
-      if (epath)
-       {
-          char               *nstore = (char *)alloca(strlen(epath) + 2);
-          int                 num_dirs;
-          char               *startp, *endp;
-
-          for (num_dirs = 1, startp = epath; *startp; startp++)
-             if (*startp == PATH_SEPARATOR)
-                num_dirs++;
-          include_defaults
-             = (struct default_include *)xmalloc((num_dirs
-                                                  *
-                                                  sizeof(struct
-                                                         default_include)) +
-                                                 sizeof
-                                                 (include_defaults_array));
-
-          startp = endp = epath;
-          num_dirs = 0;
-          while (1)
-            {
-               /* Handle cases like c:/usr/lib:d:/gcc/lib */
-               if ((*endp == PATH_SEPARATOR) || *endp == 0)
-                 {
-                    strncpy(nstore, startp, endp - startp);
-                    if (endp == startp)
-                       strcpy(nstore, ".");
-                    else
-                       nstore[endp - startp] = '\0';
-
-                    include_defaults[num_dirs].fname = savestring(nstore);
-                    include_defaults[num_dirs].cplusplus = opts->cplusplus;
-                    include_defaults[num_dirs].cxx_aware = 1;
-                    num_dirs++;
-                    if (*endp == '\0')
-                       break;
-                    endp = startp = endp + 1;
-                 }
-               else
-                  endp++;
-            }
-          /* Put the usual defaults back in at the end.  */
-          memcpy((char *)&include_defaults[num_dirs],
-                 (char *)include_defaults_array,
-                 sizeof(include_defaults_array));
-       }
-   }
-
-   append_include_chain(pfile, opts->before_system, opts->last_before_system);
-   opts->first_system_include = opts->before_system;
-
-   /* Unless -fnostdinc,
-    * tack on the standard include file dirs to the specified list */
-   if (!opts->no_standard_includes)
-     {
-       struct default_include *di = include_defaults;
-       char               *specd_prefix = opts->include_prefix;
-       char               *default_prefix = savestring(GCC_INCLUDE_DIR);
-       int                 default_len = 0;
-
-       /* Remove the `include' from /usr/local/lib/gcc.../include.  */
-       if (!strcmp(default_prefix + strlen(default_prefix) - 8, "/include"))
-         {
-            default_len = strlen(default_prefix) - 7;
-            default_prefix[default_len] = 0;
-         }
-       /* Search "translated" versions of GNU directories.
-        * These have /usr/local/lib/gcc... replaced by specd_prefix.  */
-       if (specd_prefix && default_len != 0)
-          for (di = include_defaults; di->fname; di++)
-            {
-               /* Some standard dirs are only for C++.  */
-               if (!di->cplusplus
-                   || (opts->cplusplus
-                       && !opts->no_standard_cplusplus_includes))
-                 {
-                    /* Does this dir start with the prefix?  */
-                    if (!strncmp(di->fname, default_prefix, default_len))
-                      {
-                         /* Yes; change prefix and add to search list.  */
-                         file_name_list     *new_
-                            =
-                            (file_name_list *) xmalloc(sizeof(file_name_list));
-                         int                 this_len =
-                            strlen(specd_prefix) + strlen(di->fname) -
-                            default_len;
-                         char               *str =
-                            (char *)xmalloc(this_len + 1);
-
-                         strcpy(str, specd_prefix);
-                         strcat(str, di->fname + default_len);
-                         new_->fname = str;
-                         new_->control_macro = 0;
-                         new_->c_system_include_path = !di->cxx_aware;
-                         new_->got_name_map = 0;
-                         append_include_chain(pfile, new_, new_);
-                         if (!opts->first_system_include)
-                            opts->first_system_include = new_;
-                      }
-                 }
-            }
-       /* Search ordinary names for GNU include directories.  */
-       for (di = include_defaults; di->fname; di++)
-         {
-            /* Some standard dirs are only for C++.  */
-            if (!di->cplusplus
-                || (opts->cplusplus && !opts->no_standard_cplusplus_includes))
-              {
-                 file_name_list     *new_
-                    = (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                 new_->control_macro = 0;
-                 new_->c_system_include_path = !di->cxx_aware;
-                 new_->fname = (char *)di->fname;
-                 new_->got_name_map = 0;
-                 append_include_chain(pfile, new_, new_);
-                 if (!opts->first_system_include)
-                    opts->first_system_include = new_;
-              }
-         }
-     }
-   /* Tack the after_include chain at the end of the include chain.  */
-   append_include_chain(pfile, opts->after_include, opts->last_after_include);
-   if (!opts->first_system_include)
-      opts->first_system_include = opts->after_include;
-
-   /* With -v, print the list of dirs to search.  */
-   if (opts->verbose)
-     {
-       file_name_list     *fl;
-
-       fprintf(stderr, "#include \"...\" search starts here:\n");
-       for (fl = opts->include; fl; fl = fl->next)
-         {
-            if (fl == opts->first_bracket_include)
-               fprintf(stderr, "#include <...> search starts here:\n");
-            fprintf(stderr, " %s\n", fl->fname);
-         }
-       fprintf(stderr, "End of search list.\n");
-     }
-   /* Scan the -imacros files before the main input.
-    * Much like #including them, but with no_output set
-    * so that only their macro definitions matter.  */
-
-   opts->no_output++;
-   pfile->no_record_file++;
-   for (pend = opts->pending; pend; pend = pend->next)
-     {
-       if (pend->cmd && strcmp(pend->cmd, "-imacros") == 0)
-         {
-            int                 fd = open(pend->arg, O_RDONLY | O_BINARY, 0666);
-
-            if (fd < 0)
-              {
-                 cpp_perror_with_name(pfile, pend->arg);
-                 return FATAL_EXIT_CODE;
-              }
-            cpp_push_buffer(pfile, NULL, 0);
-            finclude(pfile, fd, pend->arg, 0, NULL);
-            cpp_scan_buffer(pfile);
-         }
-     }
-   opts->no_output--;
-   pfile->no_record_file--;
-
-   /* Copy the entire contents of the main input file into
-    * the stacked input buffer previously allocated for it.  */
-   if (!fname || *fname == 0)
-     {
-       fname = "";
-       f = 0;
-     }
-   else if ((f = open(fname, O_RDONLY | O_BINARY, 0666)) < 0)
-      cpp_pfatal_with_name(pfile, fname);
-
-   /* -MG doesn't select the form of output and must be specified with one of
-    * -M or -MM.  -MG doesn't make sense with -MD or -MMD since they don't
-    * inhibit compilation.  */
-   if (opts->print_deps_missing_files
-       && (opts->print_deps == 0 || !opts->no_output))
-      cpp_fatal("-MG must be specified with one of -M or -MM");
-
-   /* Either of two environment variables can specify output of deps.
-    * Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
-    * where OUTPUT_FILE is the file to write deps info to
-    * and DEPS_TARGET is the target to mention in the deps.  */
-
-   if (opts->print_deps == 0
-       && (getenv("SUNPRO_DEPENDENCIES") != 0
-          || getenv("DEPENDENCIES_OUTPUT") != 0))
-     {
-       char               *spec = getenv("DEPENDENCIES_OUTPUT");
-       char               *s;
-       char               *output_file;
-
-       if (!spec)
-         {
-            spec = getenv("SUNPRO_DEPENDENCIES");
-            opts->print_deps = 2;
-         }
-       else
-          opts->print_deps = 1;
-
-       s = spec;
-       /* Find the space before the DEPS_TARGET, if there is one.  */
-       /* This should use index.  (mrs) */
-       while (*s != 0 && *s != ' ')
-          s++;
-       if (*s != 0)
-         {
-            opts->deps_target = s + 1;
-            output_file = (char *)xmalloc(s - spec + 1);
-            memcpy(output_file, spec, s - spec);
-            output_file[s - spec] = 0;
-         }
-       else
-         {
-            opts->deps_target = 0;
-            output_file = spec;
-         }
-
-       opts->deps_file = output_file;
-       opts->print_deps_append = 1;
-     }
-   /* For -M, print the expected object file name
-    * as the target of this Make-rule.  */
-   if (opts->print_deps)
-     {
-       pfile->deps_allocated_size = 200;
-       pfile->deps_buffer = (char *)xmalloc(pfile->deps_allocated_size);
-       pfile->deps_buffer[0] = 0;
-       pfile->deps_size = 0;
-       pfile->deps_column = 0;
-
-       if (opts->deps_target)
-          deps_output(pfile, opts->deps_target, ':');
-       else if (*opts->in_fname == 0)
-          deps_output(pfile, "-", ':');
-       else
-         {
-            char               *q;
-            int                 len;
-
-            /* Discard all directory prefixes from filename.  */
-            if ((q = (char *)strrchr(opts->in_fname, '/'))
-#ifdef DIR_SEPARATOR
-                && (q = strrchr(opts->in_fname, DIR_SEPARATOR))
-#endif
-               )
-               ++q;
-            else
-               q = (char *)opts->in_fname;
-
-            /* Copy remainder to mungable area.  */
-            p = (char *)alloca(strlen(q) + 8);
-            strcpy(p, q);
-
-            /* Output P, but remove known suffixes.  */
-            len = strlen(p);
-            q = p + len;
-            if (len >= 2 && p[len - 2] == '.' && strchr("cCsSm", p[len - 1]))
-               q = p + (len - 2);
-            else if (len >= 3
-                     && p[len - 3] == '.'
-                     && p[len - 2] == 'c' && p[len - 1] == 'c')
-               q = p + (len - 3);
-            else if (len >= 4
-                     && p[len - 4] == '.'
-                     && p[len - 3] == 'c'
-                     && p[len - 2] == 'x' && p[len - 1] == 'x')
-               q = p + (len - 4);
-            else if (len >= 4
-                     && p[len - 4] == '.'
-                     && p[len - 3] == 'c'
-                     && p[len - 2] == 'p' && p[len - 1] == 'p')
-               q = p + (len - 4);
-
-            /* Supply our own suffix.  */
-            strcpy(q, ".o");
-
-            deps_output(pfile, p, ':');
-            deps_output(pfile, opts->in_fname, ' ');
-         }
-     }
-
-   /* Scan the -include files before the main input.
-    * We push these in reverse order, so that the first one is handled first.  */
-
-   pfile->no_record_file++;
-   opts->pending = nreverse_pending(opts->pending);
-   for (pend = opts->pending; pend; pend = pend->next)
-     {
-       if (pend->cmd && strcmp(pend->cmd, "-include") == 0)
-         {
-            int                 fd = open(pend->arg, O_RDONLY | O_BINARY, 0666);
-
-            if (fd < 0)
-              {
-                 cpp_perror_with_name(pfile, pend->arg);
-                 return FATAL_EXIT_CODE;
-              }
-            cpp_push_buffer(pfile, NULL, 0);
-            finclude(pfile, fd, pend->arg, 0, NULL);
-         }
-     }
-   pfile->no_record_file--;
-
-   /* Free the pending list. */
-   for (pend = opts->pending; pend;)
-     {
-       struct cpp_pending *next = pend->next;
-
-       free(pend);
-       pend = next;
-     }
-   opts->pending = NULL;
-
-   if (finclude(pfile, f, fname, 0, NULL))
-      output_line_command(pfile, 0, same_file);
-   return SUCCESS_EXIT_CODE;
-}
-
-void
-init_parse_file(cpp_reader * pfile)
-{
-   memset((char *)pfile, 0, sizeof(cpp_reader));
-   pfile->get_token = cpp_get_token;
-
-   pfile->token_buffer_size = 200;
-   pfile->token_buffer = (unsigned char *)xmalloc(pfile->token_buffer_size);
-   CPP_SET_WRITTEN(pfile, 0);
-
-   pfile->system_include_depth = 0;
-   pfile->dont_repeat_files = 0;
-   pfile->all_include_files = 0;
-   pfile->max_include_len = 0;
-   pfile->timebuf = NULL;
-   pfile->only_seen_white = 1;
-   pfile->buffer = CPP_NULL_BUFFER(pfile);
-}
-
-static struct cpp_pending *
-nreverse_pending(struct cpp_pending *list)
-{
-   struct cpp_pending *prev = 0, *next, *pend;
-
-   for (pend = list; pend; pend = next)
-     {
-       next = pend->next;
-       pend->next = prev;
-       prev = pend;
-     }
-   return prev;
-}
-
-static void
-push_pending(cpp_reader * pfile, const char *cmd, const char *arg)
-{
-   struct cpp_pending *pend
-      = (struct cpp_pending *)xmalloc(sizeof(struct cpp_pending));
-
-   pend->cmd = cmd;
-   pend->arg = arg;
-   pend->next = CPP_OPTIONS(pfile)->pending;
-   CPP_OPTIONS(pfile)->pending = pend;
-}
-
-/* Handle command-line options in (argc, argv).
- * Can be called multiple times, to handle multiple sets of options.
- * Returns if an unrecognized option is seen.
- * Returns number of handled arguments.  */
-
-int
-cpp_handle_options(cpp_reader * pfile, int argc, char **argv)
-{
-   int                 i;
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-
-   for (i = 0; i < argc; i++)
-     {
-       if (argv[i][0] != '-')
-         {
-            if (opts->out_fname)
-               cpp_fatal("Usage: %s [switches] input output", argv[0]);
-            else if (opts->in_fname)
-               opts->out_fname = argv[i];
-            else
-               opts->in_fname = argv[i];
-         }
-       else
-         {
-            switch (argv[i][1])
-              {
-
-              case 'i':
-                 if (!strcmp(argv[i], "-include")
-                     || !strcmp(argv[i], "-imacros"))
-                   {
-                      if (i + 1 == argc)
-                         cpp_fatal("Filename missing after `%s' option",
-                                   argv[i]);
-                      else
-                         push_pending(pfile, argv[i], argv[i + 1]), i++;
-                   }
-                 if (!strcmp(argv[i], "-iprefix"))
-                   {
-                      if (i + 1 == argc)
-                         cpp_fatal("Filename missing after `-iprefix' option");
-                      else
-                         opts->include_prefix = argv[++i];
-                   }
-                 if (!strcmp(argv[i], "-ifoutput"))
-                   {
-                      opts->output_conditionals = 1;
-                   }
-                 if (!strcmp(argv[i], "-isystem"))
-                   {
-                      file_name_list     *dirtmp;
-
-                      if (i + 1 == argc)
-                         cpp_fatal("Filename missing after `-isystem' option");
-
-                      dirtmp =
-                         (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                      dirtmp->next = 0;
-                      dirtmp->control_macro = 0;
-                      dirtmp->c_system_include_path = 1;
-                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1]) + 1);
-                      strcpy(dirtmp->fname, argv[++i]);
-                      dirtmp->got_name_map = 0;
-
-                      if (!opts->before_system)
-                         opts->before_system = dirtmp;
-                      else
-                         opts->last_before_system->next = dirtmp;
-                      opts->last_before_system = dirtmp;       /* Tail follows the last one */
-                   }
-                 /* Add directory to end of path for includes,
-                  * with the default prefix at the front of its name.  */
-                 if (!strcmp(argv[i], "-iwithprefix"))
-                   {
-                      file_name_list     *dirtmp;
-                      char               *prefix;
-
-                      if (opts->include_prefix)
-                         prefix = opts->include_prefix;
-                      else
-                        {
-                           prefix = savestring(GCC_INCLUDE_DIR);
-                           /* Remove the `include' from /usr/local/lib/gcc.../include.  */
-                           if (!strcmp
-                               (prefix + strlen(prefix) - 8, "/include"))
-                              prefix[strlen(prefix) - 7] = 0;
-                        }
-
-                      dirtmp =
-                         (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                      dirtmp->next = 0;        /* New one goes on the end */
-                      dirtmp->control_macro = 0;
-                      dirtmp->c_system_include_path = 0;
-                      if (i + 1 == argc)
-                         cpp_fatal
-                            ("Directory name missing after `-iwithprefix' option");
-
-                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1])
-                                                      + strlen(prefix) + 1);
-                      strcpy(dirtmp->fname, prefix);
-                      strcat(dirtmp->fname, argv[++i]);
-                      dirtmp->got_name_map = 0;
-
-                      if (!opts->after_include)
-                         opts->after_include = dirtmp;
-                      else
-                         opts->last_after_include->next = dirtmp;
-                      opts->last_after_include = dirtmp;       /* Tail follows the last one */
-                   }
-                 /* Add directory to main path for includes,
-                  * with the default prefix at the front of its name.  */
-                 if (!strcmp(argv[i], "-iwithprefixbefore"))
-                   {
-                      file_name_list     *dirtmp;
-                      char               *prefix;
-
-                      if (opts->include_prefix)
-                         prefix = opts->include_prefix;
-                      else
-                        {
-                           prefix = savestring(GCC_INCLUDE_DIR);
-                           /* Remove the `include' from /usr/local/lib/gcc.../include.  */
-                           if (!strcmp
-                               (prefix + strlen(prefix) - 8, "/include"))
-                              prefix[strlen(prefix) - 7] = 0;
-                        }
-
-                      dirtmp =
-                         (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                      dirtmp->next = 0;        /* New one goes on the end */
-                      dirtmp->control_macro = 0;
-                      dirtmp->c_system_include_path = 0;
-                      if (i + 1 == argc)
-                         cpp_fatal
-                            ("Directory name missing after `-iwithprefixbefore' option");
-
-                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1])
-                                                      + strlen(prefix) + 1);
-                      strcpy(dirtmp->fname, prefix);
-                      strcat(dirtmp->fname, argv[++i]);
-                      dirtmp->got_name_map = 0;
-
-                      append_include_chain(pfile, dirtmp, dirtmp);
-                   }
-                 /* Add directory to end of path for includes.  */
-                 if (!strcmp(argv[i], "-idirafter"))
-                   {
-                      file_name_list     *dirtmp;
-
-                      dirtmp =
-                         (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                      dirtmp->next = 0;        /* New one goes on the end */
-                      dirtmp->control_macro = 0;
-                      dirtmp->c_system_include_path = 0;
-                      if (i + 1 == argc)
-                         cpp_fatal
-                            ("Directory name missing after `-idirafter' option");
-                      else
-                         dirtmp->fname = argv[++i];
-                      dirtmp->got_name_map = 0;
-
-                      if (!opts->after_include)
-                         opts->after_include = dirtmp;
-                      else
-                         opts->last_after_include->next = dirtmp;
-                      opts->last_after_include = dirtmp;       /* Tail follows the last one */
-                   }
-                 break;
-
-              case 'o':
-                 if (opts->out_fname)
-                    cpp_fatal("Output filename specified twice");
-                 if (i + 1 == argc)
-                    cpp_fatal("Filename missing after -o option");
-                 opts->out_fname = argv[++i];
-                 if (!strcmp(opts->out_fname, "-"))
-                    opts->out_fname = "";
-                 break;
-
-              case 'p':
-                 if (!strcmp(argv[i], "-pedantic"))
-                    CPP_PEDANTIC(pfile) = 1;
-                 else if (!strcmp(argv[i], "-pedantic-errors"))
-                   {
-                      CPP_PEDANTIC(pfile) = 1;
-                      opts->pedantic_errors = 1;
-                   }
-                 break;
-
-              case 't':
-                 if (!strcmp(argv[i], "-trigraphs"))
-                   {
-                      if (!opts->chill)
-                         opts->no_trigraphs = 0;
-                   }
-                 break;
-
-              case 'l':
-                 if (!strcmp(argv[i], "-lang-c"))
-                    opts->cplusplus = 0, opts->cplusplus_comments =
-                       0, opts->objc = 0;
-                 if (!strcmp(argv[i], "-lang-c++"))
-                    opts->cplusplus = 1, opts->cplusplus_comments =
-                       1, opts->objc = 0;
-                 if (!strcmp(argv[i], "-lang-c-c++-comments"))
-                    opts->cplusplus = 0, opts->cplusplus_comments =
-                       1, opts->objc = 0;
-                 if (!strcmp(argv[i], "-lang-objc"))
-                    opts->objc = 1, opts->cplusplus =
-                       0, opts->cplusplus_comments = 1;
-                 if (!strcmp(argv[i], "-lang-objc++"))
-                    opts->objc = 1, opts->cplusplus =
-                       1, opts->cplusplus_comments = 1;
-                 if (!strcmp(argv[i], "-lang-asm"))
-                    opts->lang_asm = 1;
-                 if (!strcmp(argv[i], "-lint"))
-                    opts->for_lint = 1;
-                 if (!strcmp(argv[i], "-lang-chill"))
-                    opts->objc = 0, opts->cplusplus = 0, opts->chill = 1,
-                       opts->traditional = 1, opts->no_trigraphs = 1;
-                 break;
-
-              case '+':
-                 opts->cplusplus = 1, opts->cplusplus_comments = 1;
-                 break;
-
-              case 'w':
-                 opts->inhibit_warnings = 1;
-                 break;
-
-              case 'W':
-                 if (!strcmp(argv[i], "-Wtrigraphs"))
-                    opts->warn_trigraphs = 1;
-                 else if (!strcmp(argv[i], "-Wno-trigraphs"))
-                    opts->warn_trigraphs = 0;
-                 else if (!strcmp(argv[i], "-Wcomment"))
-                    opts->warn_comments = 1;
-                 else if (!strcmp(argv[i], "-Wno-comment"))
-                    opts->warn_comments = 0;
-                 else if (!strcmp(argv[i], "-Wcomments"))
-                    opts->warn_comments = 1;
-                 else if (!strcmp(argv[i], "-Wno-comments"))
-                    opts->warn_comments = 0;
-                 else if (!strcmp(argv[i], "-Wtraditional"))
-                    opts->warn_stringify = 1;
-                 else if (!strcmp(argv[i], "-Wno-traditional"))
-                    opts->warn_stringify = 0;
-                 else if (!strcmp(argv[i], "-Wimport"))
-                    opts->warn_import = 1;
-                 else if (!strcmp(argv[i], "-Wno-import"))
-                    opts->warn_import = 0;
-                 else if (!strcmp(argv[i], "-Werror"))
-                    opts->warnings_are_errors = 1;
-                 else if (!strcmp(argv[i], "-Wno-error"))
-                    opts->warnings_are_errors = 0;
-                 else if (!strcmp(argv[i], "-Wall"))
-                   {
-                      opts->warn_trigraphs = 1;
-                      opts->warn_comments = 1;
-                   }
-                 break;
-
-              case 'M':
-                 /* The style of the choices here is a bit mixed.
-                  * The chosen scheme is a hybrid of keeping all options in one string
-                  * and specifying each option in a separate argument:
-                  * -M|-MM|-MD file|-MMD file [-MG].  An alternative is:
-                  * -M|-MM|-MD file|-MMD file|-MG|-MMG; or more concisely:
-                  * -M[M][G][D file].  This is awkward to handle in specs, and is not
-                  * as extensible.  */
-                 /* ??? -MG must be specified in addition to one of -M or -MM.
-                  * This can be relaxed in the future without breaking anything.
-                  * The converse isn't true.  */
-
-                 /* -MG isn't valid with -MD or -MMD.  This is checked for later.  */
-                 if (!strcmp(argv[i], "-MG"))
-                   {
-                      opts->print_deps_missing_files = 1;
-                      break;
-                   }
-                 if (!strcmp(argv[i], "-M"))
-                    opts->print_deps = 2;
-                 else if (!strcmp(argv[i], "-MM"))
-                    opts->print_deps = 1;
-                 else if (!strcmp(argv[i], "-MD"))
-                    opts->print_deps = 2;
-                 else if (!strcmp(argv[i], "-MMD"))
-                    opts->print_deps = 1;
-                 /* For -MD and -MMD options, write deps on file named by next arg.  */
-                 if (!strcmp(argv[i], "-MD") || !strcmp(argv[i], "-MMD"))
-                   {
-                      if (i + 1 == argc)
-                         cpp_fatal("Filename missing after %s option",
-                                   argv[i]);
-                      opts->deps_file = argv[++i];
-                   }
-                 else
-                   {
-                      /* For -M and -MM, write deps on standard output
-                       * and suppress the usual output.  */
-                      opts->no_output = 1;
-                   }
-                 break;
-
-              case 'd':
-                 {
-                    char               *p = argv[i] + 2;
-                    char                c;
-
-                    while ((c = *p++) != 0)
-                      {
-                         /* Arg to -d specifies what parts of macros to dump */
-                         switch (c)
-                           {
-                           case 'M':
-                              opts->dump_macros = dump_only;
-                              opts->no_output = 1;
-                              break;
-                           case 'N':
-                              opts->dump_macros = dump_names;
-                              break;
-                           case 'D':
-                              opts->dump_macros = dump_definitions;
-                              break;
-                           }
-                      }
-                 }
-                 break;
-
-              case 'g':
-                 if (argv[i][2] == '3')
-                    opts->debug_output = 1;
-                 break;
-
-              case 'v':
-                 fprintf(stderr, "GNU CPP version %s", version_string);
-#ifdef TARGET_VERSION
-                 TARGET_VERSION;
-#endif
-                 fprintf(stderr, "\n");
-                 opts->verbose = 1;
-                 break;
-
-              case 'H':
-                 opts->print_include_names = 1;
-                 break;
-
-              case 'D':
-                 if (argv[i][2] != 0)
-                    push_pending(pfile, "-D", argv[i] + 2);
-                 else if (i + 1 == argc)
-                    cpp_fatal("Macro name missing after -D option");
-                 else
-                    i++, push_pending(pfile, "-D", argv[i]);
-                 break;
-
-              case 'a':
-                  {
-                     if (!strcmp(argv[i], "-a"))
-                       {
-                          if (i + 1 == argc)
-                            cpp_fatal("Filename missing after `-a` option");
-                          else if (strcmp(argv[++i], "/dev/null"))
-                            {
-                               opts->watchfile = argv[i];
-                            }
-                       }
-                     else if (!strcmp(argv[i], "-anotate"))
-                       {
-                          anotate = 1;
-                       }
-                    break;
-                  }
-
-              case 'A':
-                 {
-                    char               *p = NULL;
-
-                    if (argv[i][2] != 0)
-                       p = argv[i] + 2;
-                    else if (i + 1 == argc)
-                       cpp_fatal("Assertion missing after -A option");
-                    else
-                       p = argv[++i];
-
-                    if (!strcmp(p, "-"))
-                      {
-                         struct cpp_pending **ptr;
-
-                         /* -A- eliminates all predefined macros and assertions.
-                          * Let's include also any that were specified earlier
-                          * on the command line.  That way we can get rid of any
-                          * that were passed automatically in from GCC.  */
-
-                         opts->inhibit_predefs = 1;
-                         for (ptr = &opts->pending; *ptr;)
-                           {
-                              struct cpp_pending *pend = *ptr;
-
-                              if (pend->cmd && pend->cmd[0] == '-'
-                                  && (pend->cmd[1] == 'D'
-                                      || pend->cmd[1] == 'A'))
-                                {
-                                   *ptr = pend->next;
-                                   free(pend);
-                                }
-                              else
-                                 ptr = &pend->next;
-                           }
-                      }
-                    else
-                      {
-                         push_pending(pfile, "-A", p);
-                      }
-                 }
-                 break;
-
-              case 'U':        /* JF #undef something */
-                 if (argv[i][2] != 0)
-                    push_pending(pfile, "-U", argv[i] + 2);
-                 else if (i + 1 == argc)
-                    cpp_fatal("Macro name missing after -U option");
-                 else
-                    push_pending(pfile, "-U", argv[i + 1]), i++;
-                 break;
-
-              case 'C':
-                 opts->put_out_comments = 1;
-                 break;
-
-              case 'E':        /* -E comes from cc -E; ignore it.  */
-                 break;
-
-              case 'P':
-                 opts->no_line_commands = 1;
-                 break;
-
-              case '$':        /* Don't include $ in identifiers.  */
-                 opts->dollars_in_ident = 0;
-                 break;
-
-              case 'I':        /* Add directory to path for includes.  */
-                 {
-                    file_name_list     *dirtmp;
-
-                    if (!CPP_OPTIONS(pfile)->ignore_srcdir
-                        && !strcmp(argv[i] + 2, "-"))
-                      {
-                         CPP_OPTIONS(pfile)->ignore_srcdir = 1;
-                         /* Don't use any preceding -I directories for #include <...>.  */
-                         CPP_OPTIONS(pfile)->first_bracket_include = 0;
-                      }
-                    else
-                      {
-                         dirtmp =
-                            (file_name_list *) xmalloc(sizeof(file_name_list));
-
-                         dirtmp->next = 0;     /* New one goes on the end */
-                         dirtmp->control_macro = 0;
-                         dirtmp->c_system_include_path = 0;
-                         if (argv[i][2] != 0)
-                            dirtmp->fname = argv[i] + 2;
-                         else if (i + 1 == argc)
-                            cpp_fatal
-                               ("Directory name missing after -I option");
-                         else
-                            dirtmp->fname = argv[++i];
-                         dirtmp->got_name_map = 0;
-                         append_include_chain(pfile, dirtmp, dirtmp);
-                      }
-                 }
-                 break;
-
-              case 'n':
-                 if (!strcmp(argv[i], "-nostdinc"))
-                    /* -nostdinc causes no default include directories.
-                     * You must specify all include-file directories with -I.  */
-                    opts->no_standard_includes = 1;
-                 else if (!strcmp(argv[i], "-nostdinc++"))
-                    /* -nostdinc++ causes no default C++-specific include directories. */
-                    opts->no_standard_cplusplus_includes = 1;
-                 break;
-
-              case 'u':
-                 /* Sun compiler passes undocumented switch "-undef".
-                  * Let's assume it means to inhibit the predefined symbols.  */
-                 opts->inhibit_predefs = 1;
-                 break;
-
-              case '\0':       /* JF handle '-' as file name meaning stdin or stdout */
-                 if (!opts->in_fname)
-                   {
-                      opts->in_fname = "";
-                      break;
-                   }
-                 else if (!opts->out_fname)
-                   {
-                      opts->out_fname = "";
-                      break;
-                   }           /* else fall through into error */
-              default:
-                 return i;
-              }
-         }
-     }
-   return i;
-}
-
-void
-cpp_finish(cpp_reader * pfile)
-{
-   struct cpp_options *opts = CPP_OPTIONS(pfile);
-
-   if (opts->print_deps)
-     {
-       /* Stream on which to print the dependency information.  */
-       FILE               *deps_stream;
-
-       /* Don't actually write the deps file if compilation has failed.  */
-       if (pfile->errors == 0)
-         {
-            const char         *deps_mode =
-               opts->print_deps_append ? "ab" : "wb";
-
-            if (!opts->deps_file)
-               deps_stream = stdout;
-            else if (!(deps_stream = fopen(opts->deps_file, deps_mode)))
-               cpp_pfatal_with_name(pfile, opts->deps_file);
-            fputs(pfile->deps_buffer, deps_stream);
-            putc('\n', deps_stream);
-            if (opts->deps_file)
-              {
-                 if (ferror(deps_stream) || fclose(deps_stream) != 0)
-                    cpp_fatal("I/O error on output");
-              }
-         }
-     }
-}
-
-static int
-do_assert(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-         unsigned char *buf __UNUSED__, unsigned char *limit __UNUSED__)
-{
-   long                symstart;       /* remember where symbol name starts */
-   int                 c;
-   int                 sym_length;     /* and how long it is */
-   struct arglist     *tokens = NULL;
-
-   if (CPP_PEDANTIC(pfile) && CPP_OPTIONS(pfile)->done_initializing
-       && !CPP_BUFFER(pfile)->system_header_p)
-      cpp_pedwarn(pfile, "ANSI C does not allow `#assert'");
-
-   cpp_skip_hspace(pfile);
-   symstart = CPP_WRITTEN(pfile);      /* remember where it starts */
-   parse_name(pfile, GETC());
-   sym_length = check_macro_name(pfile, pfile->token_buffer + symstart,
-                                "assertion");
-
-   cpp_skip_hspace(pfile);
-   if (PEEKC() != '(')
-     {
-       cpp_error(pfile, "missing token-sequence in `#assert'");
-       goto error;
-     }
-   {
-      int                 error_flag = 0;
-
-      tokens = read_token_list(pfile, &error_flag);
-      if (error_flag)
-        goto error;
-      if (!tokens)
-       {
-          cpp_error(pfile, "empty token-sequence in `#assert'");
-          goto error;
-       }
-      cpp_skip_hspace(pfile);
-      c = PEEKC();
-      if (c != EOF && c != '\n')
-        cpp_pedwarn(pfile, "junk at end of `#assert'");
-      skip_rest_of_line(pfile);
-   }
-
-   /* If this name isn't already an assertion name, make it one.
-    * Error if it was already in use in some other way.  */
-
-   {
-      ASSERTION_HASHNODE *hp;
-      const char         *symname = (char *)pfile->token_buffer + symstart;
-      int                 hashcode =
-        hashf(symname, sym_length, ASSERTION_HASHSIZE);
-      struct tokenlist_list *value =
-        (struct tokenlist_list *)xmalloc(sizeof(struct tokenlist_list));
-
-      hp = assertion_lookup(pfile, symname, sym_length, hashcode);
-      if (!hp)
-       {
-          if (sym_length == 7 && !strncmp(symname, "defined", sym_length))
-             cpp_error(pfile, "`defined' redefined as assertion");
-          hp = assertion_install(pfile, symname, sym_length, hashcode);
-       }
-      /* Add the spec'd token-sequence to the list of such.  */
-      value->tokens = tokens;
-      value->next = hp->value;
-      hp->value = value;
-   }
-   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
-   return 0;
- error:
-   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
-   skip_rest_of_line(pfile);
-   return 1;
-}
-
-static int
-do_unassert(cpp_reader * pfile, struct directive *keyword __UNUSED__,
-           unsigned char *buf __UNUSED__, unsigned char *limit __UNUSED__)
-{
-   long                symstart;       /* remember where symbol name starts */
-   int                 sym_length;     /* and how long it is */
-   int                 c;
-
-   struct arglist     *tokens = NULL;
-   int                 tokens_specified = 0;
-
-   if (CPP_PEDANTIC(pfile) && CPP_OPTIONS(pfile)->done_initializing
-       && !CPP_BUFFER(pfile)->system_header_p)
-      cpp_pedwarn(pfile, "ANSI C does not allow `#unassert'");
-
-   cpp_skip_hspace(pfile);
-
-   symstart = CPP_WRITTEN(pfile);      /* remember where it starts */
-   parse_name(pfile, GETC());
-   sym_length = check_macro_name(pfile, pfile->token_buffer + symstart,
-                                "assertion");
-
-   cpp_skip_hspace(pfile);
-   if (PEEKC() == '(')
-     {
-       int                 error_flag = 0;
-
-       tokens = read_token_list(pfile, &error_flag);
-       if (error_flag)
-          goto error;
-       if (!tokens)
-         {
-            cpp_error(pfile, "empty token list in `#unassert'");
-            goto error;
-         }
-       tokens_specified = 1;
-     }
-   cpp_skip_hspace(pfile);
-   c = PEEKC();
-   if (c != EOF && c != '\n')
-      cpp_error(pfile, "junk at end of `#unassert'");
-   skip_rest_of_line(pfile);
-
-   {
-      ASSERTION_HASHNODE *hp;
-      const char         *symname = (char *)pfile->token_buffer + symstart;
-      int                 hashcode =
-        hashf(symname, sym_length, ASSERTION_HASHSIZE);
-      struct tokenlist_list *tail, *prev;
-
-      hp = assertion_lookup(pfile, symname, sym_length, hashcode);
-      if (!hp)
-        return 1;
-
-      /* If no token list was specified, then eliminate this assertion
-       * entirely.  */
-      if (!tokens_specified)
-        delete_assertion(hp);
-      else
-       {
-          /* If a list of tokens was given, then delete any matching list.  */
-
-          tail = hp->value;
-          prev = 0;
-          while (tail)
-            {
-               struct tokenlist_list *next = tail->next;
-
-               if (compare_token_lists(tail->tokens, tokens))
-                 {
-                    if (prev)
-                       prev->next = next;
-                    else
-                       hp->value = tail->next;
-                    free_token_list(tail->tokens);
-                    free(tail);
-                 }
-               else
-                 {
-                    prev = tail;
-                 }
-               tail = next;
-            }
-       }
-   }
-
-   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
-   return 0;
- error:
-   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
-   skip_rest_of_line(pfile);
-   return 1;
-}
-
-/* Test whether there is an assertion named NAME
- * and optionally whether it has an asserted token list TOKENS.
- * NAME is not null terminated; its length is SYM_LENGTH.
- * If TOKENS_SPECIFIED is 0, then don't check for any token list.  */
-
-static int
-check_assertion(cpp_reader * pfile, const char *name, int sym_length,
-               int tokens_specified, struct arglist *tokens)
-{
-   ASSERTION_HASHNODE *hp;
-   int                 hashcode = hashf(name, sym_length, ASSERTION_HASHSIZE);
-
-   if (CPP_PEDANTIC(pfile) && !CPP_BUFFER(pfile)->system_header_p)
-      cpp_pedwarn(pfile, "ANSI C does not allow testing assertions");
-
-   hp = assertion_lookup(pfile, name, sym_length, hashcode);
-   if (!hp)
-      /* It is not an assertion; just return false.  */
-      return 0;
-
-   /* If no token list was specified, then value is 1.  */
-   if (!tokens_specified)
-      return 1;
-
-   {
-      struct tokenlist_list *tail;
-
-      tail = hp->value;
-
-      /* If a list of tokens was given,
-       * then succeed if the assertion records a matching list.  */
-
-      while (tail)
-       {
-          if (compare_token_lists(tail->tokens, tokens))
-             return 1;
-          tail = tail->next;
-       }
-
-      /* Fail if the assertion has no matching list.  */
-      return 0;
-   }
-}
-
-/* Compare two lists of tokens for equality including order of tokens.  */
-
-static int
-compare_token_lists(struct arglist *l1, struct arglist *l2)
-{
-   while (l1 && l2)
-     {
-       if (l1->length != l2->length)
-          return 0;
-       if (strncmp(l1->name, l2->name, l1->length))
-          return 0;
-       l1 = l1->next;
-       l2 = l2->next;
-     }
-
-   /* Succeed if both lists end at the same time.  */
-   return l1 == l2;
-}
-
-struct arglist     *
-reverse_token_list(struct arglist *tokens)
-{
-   struct arglist     *prev = 0, *cur, *next;
-
-   for (cur = tokens; cur; cur = next)
-     {
-       next = cur->next;
-       cur->next = prev;
-       prev = cur;
-     }
-   return prev;
-}
-
-/* Read a space-separated list of tokens ending in a close parenthesis.
- * Return a list of strings, in the order they were written.
- * (In case of error, return 0 and store -1 in *ERROR_FLAG.) */
-
-static struct arglist *
-read_token_list(cpp_reader * pfile, int *error_flag)
-{
-   struct arglist     *token_ptrs = 0;
-   int                 depth = 1;
-   int                 length;
-
-   *error_flag = 0;
-   FORWARD(1);                 /* Skip '(' */
-
-   /* Loop over the assertion value tokens.  */
-   while (depth > 0)
-     {
-       struct arglist     *temp;
-       long                name_written = CPP_WRITTEN(pfile);
-       int                 c;
-
-       cpp_skip_hspace(pfile);
-
-       c = GETC();
-
-       /* Find the end of the token.  */
-       if (c == '(')
-         {
-            CPP_PUTC(pfile, c);
-            depth++;
-         }
-       else if (c == ')')
-         {
-            depth--;
-            if (depth == 0)
-               break;
-            CPP_PUTC(pfile, c);
-         }
-       else if (c == '"' || c == '\'')
-         {
-            FORWARD(-1);
-            cpp_get_token(pfile);
-         }
-       else if (c == '\n')
-          break;
-       else
-         {
-            while (c != EOF && !is_space[c] && c != '(' && c != ')'
-                   && c != '"' && c != '\'')
-              {
-                 CPP_PUTC(pfile, c);
-                 c = GETC();
-              }
-            if (c != EOF)
-               FORWARD(-1);
-         }
-
-       length = CPP_WRITTEN(pfile) - name_written;
-       temp = (struct arglist *)xmalloc(sizeof(struct arglist) + length + 1);
-
-       temp->name = (char *)(temp + 1);
-       memcpy(temp->name, (char *)(pfile->token_buffer + name_written),
-              length);
-       temp->name[length] = 0;
-       temp->next = token_ptrs;
-       token_ptrs = temp;
-       temp->length = length;
-
-       CPP_ADJUST_WRITTEN(pfile, -length);     /* pop */
-
-       if (c == EOF || c == '\n')
-         {                     /* FIXME */
-            cpp_error(pfile,
-                      "unterminated token sequence following  `#' operator");
-            return 0;
-         }
-     }
-
-   /* We accumulated the names in reverse order.
-    * Now reverse them to get the proper order.  */
-   return reverse_token_list(token_ptrs);
-}
-
-static void
-free_token_list(struct arglist *tokens)
-{
-   while (tokens)
-     {
-       struct arglist     *next = tokens->next;
-
-       free(tokens->name);
-       free(tokens);
-       tokens = next;
-     }
-}
-
-/* Get the file-mode and data size of the file open on FD
- * and store them in *MODE_POINTER and *SIZE_POINTER.  */
-
-static int
-file_size_and_mode(int fd, int *mode_pointer, long int *size_pointer)
-{
-   struct stat         sbuf;
-
-   if (fstat(fd, &sbuf) < 0)
-      return (-1);
-   if (mode_pointer)
-      *mode_pointer = sbuf.st_mode;
-   if (size_pointer)
-      *size_pointer = sbuf.st_size;
-   return 0;
-}
-
-/* Read LEN bytes at PTR from descriptor DESC, for file FILENAME,
- * retrying if necessary.  Return a negative value if an error occurs,
- * otherwise return the actual number of bytes read,
- * which must be LEN unless end-of-file was reached.  */
-
-static int
-safe_read(int desc, char *ptr, int len)
-{
-   int                 left = len;
-
-   while (left > 0)
-     {
-       int                 nchars = read(desc, ptr, left);
-
-       if (nchars < 0)
-         {
-#ifdef EINTR
-            if (errno == EINTR)
-               continue;
-#endif
-            return nchars;
-         }
-       if (nchars == 0)
-          break;
-       ptr += nchars;
-       left -= nchars;
-     }
-   return len - left;
-}
-
-static char        *
-savestring(const char *input)
-{
-   unsigned            size = strlen(input);
-   char               *output = (char *)xmalloc(size + 1);
-
-   strcpy(output, input);
-   return output;
-}
-
-/* Initialize PMARK to remember the current position of PFILE. */
-void
-parse_set_mark(struct parse_marker *pmark, cpp_reader * pfile)
-{
-   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
-
-   pmark->next = pbuf->marks;
-   pbuf->marks = pmark;
-   pmark->buf = pbuf;
-   pmark->position = pbuf->cur - pbuf->buf;
-}
-
-/* Cleanup PMARK - we no longer need it. */
-static void
-parse_clear_mark(struct parse_marker *pmark)
-{
-   struct parse_marker **pp = &pmark->buf->marks;
-
-   for (;; pp = &(*pp)->next)
-     {
-       if (!*pp)
-          cpp_fatal("internal error", "in parse_set_mark");
-       if (*pp == pmark)
-          break;
-     }
-   *pp = pmark->next;
-}
-
-/* Backup the current position of PFILE to that saved in PMARK. */
-
-static void
-parse_goto_mark(struct parse_marker *pmark, cpp_reader * pfile)
-{
-   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
-
-   if (pbuf != pmark->buf)
-      cpp_fatal("internal error %s", "parse_goto_mark");
-   pbuf->cur = pbuf->buf + pmark->position;
-}
-
-/* Reset PMARK to point to the current position of PFILE.  (Same
- * as parse_clear_mark (PMARK), parse_set_mark (PMARK, PFILE) but faster. */
-
-static void
-parse_move_mark(struct parse_marker *pmark, cpp_reader * pfile)
-{
-   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
-
-   if (pbuf != pmark->buf)
-      cpp_fatal("internal error %s", "parse_move_mark");
-   pmark->position = pbuf->cur - pbuf->buf;
-}
-
-int
-cpp_read_check_assertion(cpp_reader * pfile)
-{
-   int                 name_start = CPP_WRITTEN(pfile);
-   int                 name_length, name_written;
-   int                 result;
-
-   FORWARD(1);                 /* Skip '#' */
-   cpp_skip_hspace(pfile);
-   parse_name(pfile, GETC());
-   name_written = CPP_WRITTEN(pfile);
-   name_length = name_written - name_start;
-   cpp_skip_hspace(pfile);
-   if (CPP_BUF_PEEK(CPP_BUFFER(pfile)) == '(')
-     {
-       int                 error_flag;
-       struct arglist     *token_ptrs = read_token_list(pfile, &error_flag);
-
-       result = check_assertion(pfile,
-                                (char *)pfile->token_buffer + name_start,
-                                name_length, 1, token_ptrs);
-     }
-   else
-      result = check_assertion(pfile,
-                              (char *)pfile->token_buffer + name_start,
-                              name_length, 0, NULL);
-   CPP_ADJUST_WRITTEN(pfile, -name_length);    /* pop */
-   return result;
-}
-
-static void
-cpp_print_file_and_line(cpp_reader * pfile)
-{
-   cpp_buffer         *ip = cpp_file_buffer(pfile);
-
-   if (ip)
-     {
-       long                line, col;
-
-       cpp_buf_line_and_col(ip, &line, &col);
-       cpp_file_line_for_message(pfile, ip->nominal_fname,
-                                 line, pfile->show_column ? col : -1);
-     }
-}
-
-static void
-cpp_error_v(cpp_reader * pfile, const char *msg, va_list args)
-{
-   cpp_print_containing_files(pfile);
-   cpp_print_file_and_line(pfile);
-   cpp_message_v(pfile, 1, msg, args);
-}
-
-void
-cpp_error(cpp_reader * pfile, const char *msg, ...)
-{
-   va_list             args;
-
-   va_start(args, msg);
-
-   cpp_error_v(pfile, msg, args);
-
-   va_end(args);
-}
-
-/* Print error message but don't count it.  */
-
-static void
-cpp_warning_v(cpp_reader * pfile, const char *msg, va_list args)
-{
-   if (CPP_OPTIONS(pfile)->inhibit_warnings)
-      return;
-
-   if (CPP_OPTIONS(pfile)->warnings_are_errors)
-      pfile->errors++;
-
-   cpp_print_containing_files(pfile);
-   cpp_print_file_and_line(pfile);
-   cpp_message_v(pfile, 0, msg, args);
-}
-
-void
-cpp_warning(cpp_reader * pfile, const char *msg, ...)
-{
-   va_list             args;
-
-   va_start(args, msg);
-
-   cpp_warning_v(pfile, msg, args);
-
-   va_end(args);
-}
-
-/* Print an error message and maybe count it.  */
-
-void
-cpp_pedwarn(cpp_reader * pfile, const char *msg, ...)
-{
-   va_list             args;
-
-   va_start(args, msg);
-
-   if (CPP_OPTIONS(pfile)->pedantic_errors)
-      cpp_error_v(pfile, msg, args);
-   else
-      cpp_warning_v(pfile, msg, args);
-
-   va_end(args);
-}
-
-static void
-cpp_error_with_line(cpp_reader * pfile, int line, int column, const char *msg)
-{
-   cpp_buffer         *ip = cpp_file_buffer(pfile);
-
-   cpp_print_containing_files(pfile);
-
-   if (ip)
-      cpp_file_line_for_message(pfile, ip->nominal_fname, line, column);
-
-   cpp_message(pfile, 1, msg, NULL, NULL, NULL);
-}
-
-static void
-cpp_warning_with_line(cpp_reader * pfile, int line, int column, const char *msg)
-{
-   cpp_buffer         *ip;
-
-   if (CPP_OPTIONS(pfile)->inhibit_warnings)
-      return;
-
-   if (CPP_OPTIONS(pfile)->warnings_are_errors)
-      pfile->errors++;
-
-   cpp_print_containing_files(pfile);
-
-   ip = cpp_file_buffer(pfile);
-
-   if (ip)
-      cpp_file_line_for_message(pfile, ip->nominal_fname, line, column);
-
-   cpp_message(pfile, 0, msg, NULL, NULL, NULL);
-}
-
-static void
-cpp_pedwarn_with_line(cpp_reader * pfile, int line, int column, const char *msg)
-{
-   if (CPP_OPTIONS(pfile)->pedantic_errors)
-      cpp_error_with_line(pfile, column, line, msg);
-   else
-      cpp_warning_with_line(pfile, line, column, msg);
-}
-
-/* Report a warning (or an error if pedantic_errors)
- * giving specified file name and line number, not current.  */
-
-void
-cpp_pedwarn_with_file_and_line(cpp_reader * pfile,
-                              const char *file, int line,
-                              const char *msg, const char *arg1,
-                              const char *arg2, const char *arg3)
-{
-   if (!CPP_OPTIONS(pfile)->pedantic_errors
-       && CPP_OPTIONS(pfile)->inhibit_warnings)
-      return;
-   if (file)
-      cpp_file_line_for_message(pfile, file, line, -1);
-   cpp_message(pfile, CPP_OPTIONS(pfile)->pedantic_errors,
-              msg, arg1, arg2, arg3);
-}
-
-/* This defines "errno" properly for VMS, and gives us EACCES. */
-#include <errno.h>
-#ifndef errno
-extern int          errno;
-
-#endif
-
-#ifndef HAVE_STRERROR
-extern int          sys_nerr;
-
-#if defined(bsd4_4)
-extern const char  *const sys_errlist[];
-
-#else
-extern char        *sys_errlist[];
-
-#endif
-#endif /* HAVE_STRERROR */
-
-/*
- * my_strerror - return the descriptive text associated with an `errno' code.
- */
-
-static const char  *
-my_strerror(int errnum)
-{
-   const char         *result;
-
-#ifndef HAVE_STRERROR
-   result = ((errnum < sys_nerr) ? sys_errlist[errnum] : 0);
-#else
-   result = strerror(errnum);
-#endif
-
-   if (!result)
-      result = "undocumented I/O error";
-
-   return result;
-}
-
-/* Error including a message from `errno'.  */
-
-static void
-cpp_error_from_errno(cpp_reader * pfile, const char *name)
-{
-   cpp_buffer         *ip = cpp_file_buffer(pfile);
-
-   cpp_print_containing_files(pfile);
-
-   if (ip)
-      cpp_file_line_for_message(pfile, ip->nominal_fname, ip->lineno, -1);
-
-   cpp_message(pfile, 1, "%s: %s", name, my_strerror(errno), NULL);
-}
-
-void
-cpp_perror_with_name(cpp_reader * pfile, const char *name)
-{
-   cpp_message(pfile, 1, "%s: %s: %s", progname, name, my_strerror(errno));
-}
-
-/* TODO:
- * No pre-compiled header file support.
- *
- * Possibly different enum token codes for each C/C++ token.
- *
- * Should clean up remaining directives to that do_XXX functions
- *   only take two arguments and all have command_reads_line.
- *
- * Find and cleanup remaining uses of static variables,
- *
- * Support for trigraphs.
- *
- * Support -dM flag (dump_all_macros).
- *
- * Support for_lint flag.
- */
-
-extern cpp_options         options;
-
-void
-using_file(const char *filename, const char type)
-{
-   FILE *f;
-
-   f = fopen(options.watchfile, "a");
-   if (!f) return ;
-   if (anotate)
-     {
-        fprintf(f, "%c: %s\n", type, filename);
-     }
-   else
-     {
-        fputs(filename, f);
-        fputc('\n', f);
-     }
-   fclose(f);
-}
diff --git a/legacy/edje/src/bin/epp/cpplib.h b/legacy/edje/src/bin/epp/cpplib.h
deleted file mode 100644 (file)
index 310c424..0000000
+++ /dev/null
@@ -1,646 +0,0 @@
-/* Definitions for CPP library.
-   Copyright (C) 1995 Free Software Foundation, Inc.
-   Written by Per Bothner, 1994-95.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
- In other words, you are welcome to use, share and improve this program.
- You are forbidden to forbid anyone else to use, share and improve
- what you give them.   Help stamp out software-hoarding!  */
-
-#include <stdarg.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef HOST_BITS_PER_WIDE_INT
-
-#if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
-#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
-#define HOST_WIDE_INT long
-#else
-#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
-#define HOST_WIDE_INT int
-#endif
-
-#endif
-
-#define STATIC_BUFFERS
-
-typedef struct cpp_reader cpp_reader;
-typedef struct cpp_buffer cpp_buffer;
-typedef struct cpp_options cpp_options;
-
-enum cpp_token {
-   CPP_EOF = -1,
-   CPP_OTHER = 0,
-   CPP_COMMENT = 1,
-   CPP_HSPACE,
-   CPP_VSPACE,                 /* newlines and #line directives */
-   CPP_NAME,
-   CPP_NUMBER,
-   CPP_CHAR,
-   CPP_STRING,
-   CPP_DIRECTIVE,
-   CPP_LPAREN,                 /* "(" */
-   CPP_RPAREN,                 /* ")" */
-   CPP_LBRACE,                 /* "{" */
-   CPP_RBRACE,                 /* "}" */
-   CPP_COMMA,                  /* "," */
-   CPP_SEMICOLON,              /* ";" */
-   CPP_3DOTS,                  /* "..." */
-   /* POP_TOKEN is returned when we've popped a cpp_buffer. */
-   CPP_POP
-};
-
-typedef enum cpp_token (*parse_underflow_t) (cpp_reader *);
-typedef int         (*parse_cleanup_t) (cpp_buffer *, cpp_reader *);
-
-/* A parse_marker indicates a previous position,
-   which we can backtrack to. */
-
-struct parse_marker {
-   cpp_buffer         *buf;
-   struct parse_marker *next;
-   int                 position;
-};
-
-extern int          cpp_handle_options(cpp_reader * pfile, int, char **);
-extern enum cpp_token cpp_get_token(cpp_reader * pfile);
-extern void         cpp_skip_hspace(cpp_reader * pfile);
-
-/* Maintain and search list of included files, for #import.  */
-
-#define IMPORT_HASH_SIZE 31
-
-struct import_file {
-   char               *name;
-   ino_t               inode;
-   dev_t               dev;
-   struct import_file *next;
-};
-
-/* If we have a huge buffer, may need to cache more recent counts */
-#define CPP_LINE_BASE(BUF) ((BUF)->buf + (BUF)->line_base)
-
-enum dump_type {
-   dump_none = 0, dump_only, dump_names, dump_definitions
-};
-
-struct cpp_buffer {
-   unsigned char      *buf;
-   unsigned char      *cur;
-   unsigned char      *rlimit; /* end of valid data */
-   unsigned char      *alimit; /* end of allocated buffer */
-   unsigned char      *prev;   /* start of current token */
-
-   const char         *fname;
-   /* Filename specified with #line command.  */
-   const char         *nominal_fname;
-
-   /* Record where in the search path this file was found.
-    * For #include_next.  */
-   struct file_name_list *dir;
-
-   long                line_base;
-   long                lineno; /* Line number at CPP_LINE_BASE. */
-   long                colno;  /* Column number at CPP_LINE_BASE. */
-#ifndef STATIC_BUFFERS
-   cpp_buffer         *chain;
-#endif
-   parse_underflow_t   underflow;
-   parse_cleanup_t     cleanup;
-   void               *data;
-   struct parse_marker *marks;
-   /* Value of if_stack at start of this file.
-    * Used to prohibit unmatched #endif (etc) in an include file.  */
-   struct if_stack    *if_stack;
-
-   /* True if this is a header file included using <FILENAME>.  */
-   char                system_header_p;
-   char                seen_eof;
-
-   /* True if buffer contains escape sequences.
-    * Currently there are are only two kind:
-    * "@-" means following identifier should not be macro-expanded.
-    * "@ " means a token-separator.  This turns into " " in final output
-    * if not stringizing and needed to separate tokens; otherwise nothing.
-    * "@@" means a normal '@'.
-    * (An '@' inside a string stands for itself and is never an escape.) */
-   char                has_escapes;
-};
-
-struct cpp_pending;            /* Forward declaration - for C++. */
-struct file_name_map_list;
-
-typedef struct assertion_hashnode ASSERTION_HASHNODE;
-
-#define ASSERTION_HASHSIZE 37
-
-#ifdef STATIC_BUFFERS
-/* Maximum nesting of cpp_buffers.  We use a static limit, partly for
-   efficiency, and partly to limit runaway recursion.  */
-#define CPP_STACK_MAX 200
-#endif
-
-struct cpp_reader {
-   unsigned char      *limit;
-   parse_underflow_t   get_token;
-   cpp_buffer         *buffer;
-#ifdef STATIC_BUFFERS
-   cpp_buffer          buffer_stack[CPP_STACK_MAX];
-#endif
-
-   int                 errors; /* Error counter for exit code */
-   void               *data;
-
-   unsigned char      *token_buffer;
-   int                 token_buffer_size;
-
-   /* Line where a newline was first seen in a string constant.  */
-   int                 multiline_string_line;
-
-   /* Current depth in #include directives that use <...>.  */
-   int                 system_include_depth;
-
-   /* List of included files that contained #pragma once.  */
-   struct file_name_list *dont_repeat_files;
-
-   /* List of other included files.
-    * If ->control_macro if nonzero, the file had a #ifndef
-    * around the entire contents, and ->control_macro gives the macro name.  */
-   struct file_name_list *all_include_files;
-
-   /* Current maximum length of directory names in the search path
-    * for include files.  (Altered as we get more of them.)  */
-   int                 max_include_len;
-
-   /* Hash table of files already included with #include or #import.  */
-   struct import_file *import_hash_table[IMPORT_HASH_SIZE];
-
-   struct if_stack    *if_stack;
-
-   /* Nonzero means we are inside an IF during a -pcp run.  In this mode
-    * macro expansion is done, and preconditions are output for all macro
-    * uses requiring them. */
-   char                pcp_inside_if;
-
-   /* Nonzero means we have printed (while error reporting) a list of
-    * containing files that matches the current status. */
-   char                input_stack_listing_current;
-
-   /* If non-zero, macros are not expanded. */
-   char                no_macro_expand;
-
-   /* Print column number in error messages. */
-   char                show_column;
-
-   /* We're printed a warning recommending against using #import. */
-   char                import_warning;
-
-   /* If true, character between '<' and '>' are a single (string) token. */
-   char                parsing_include_directive;
-
-   /* True if escape sequences (as described for has_escapes in
-    * parse_buffer) should be emitted. */
-   char                output_escapes;
-
-   /* 0: Have seen non-white-space on this line.
-    * 1: Only seen white space so far on this line.
-    * 2: Only seen white space so far in this file. */
-   char                only_seen_white;
-
-   /* Nonzero means this file was included with a -imacros or -include
-    * command line and should not be recorded as an include file.  */
-
-   int                 no_record_file;
-
-   long                lineno;
-
-   struct tm          *timebuf;
-
-   ASSERTION_HASHNODE *assertion_hashtab[ASSERTION_HASHSIZE];
-
-   /* Buffer of -M output.  */
-   char               *deps_buffer;
-
-   /* Number of bytes allocated in above.  */
-   int                 deps_allocated_size;
-
-   /* Number of bytes used.  */
-   int                 deps_size;
-
-   /* Number of bytes since the last newline.  */
-   int                 deps_column;
-};
-
-#define CPP_BUF_PEEK(BUFFER) \
-  ((BUFFER)->cur < (BUFFER)->rlimit ? *(BUFFER)->cur : EOF)
-#define CPP_BUF_GET(BUFFER) \
-  ((BUFFER)->cur < (BUFFER)->rlimit ? *(BUFFER)->cur++ : EOF)
-#define CPP_FORWARD(BUFFER, N) ((BUFFER)->cur += (N))
-
-/* Number of characters currently in PFILE's output buffer. */
-#define CPP_WRITTEN(PFILE) ((PFILE)->limit - (PFILE)->token_buffer)
-#define CPP_PWRITTEN(PFILE) ((PFILE)->limit)
-
-/* Make sure PFILE->token_buffer has space for at least N more characters. */
-#define CPP_RESERVE(PFILE, N) \
-  ((unsigned int)(CPP_WRITTEN (PFILE) + N) > (unsigned int) (PFILE)->token_buffer_size \
-   && (cpp_grow_buffer (PFILE, N), 0))
-
-/* Append string STR (of length N) to PFILE's output buffer.
-   Assume there is enough space. */
-#define CPP_PUTS_Q(PFILE, STR, N) \
-  do { memcpy ((PFILE)->limit, STR, (N)); (PFILE)->limit += (N); } while(0)
-/* Append string STR (of length N) to PFILE's output buffer.  Make space. */
-#define CPP_PUTS(PFILE, STR, N) \
-  do { CPP_RESERVE(PFILE, N); CPP_PUTS_Q(PFILE, STR,N); } while(0)
-/* Append character CH to PFILE's output buffer.  Assume sufficient space. */
-#define CPP_PUTC_Q(PFILE, CH) (*(PFILE)->limit++ = (CH))
-/* Append character CH to PFILE's output buffer.  Make space if need be. */
-#define CPP_PUTC(PFILE, CH) \
-  do { CPP_RESERVE (PFILE, 1); CPP_PUTC_Q (PFILE, CH); } while(0)
-/* Make sure PFILE->limit is followed by '\0'. */
-#define CPP_NUL_TERMINATE_Q(PFILE) (*(PFILE)->limit = 0)
-#define CPP_NUL_TERMINATE(PFILE) \
-  do { CPP_RESERVE(PFILE, 1); *(PFILE)->limit = 0; } while(0)
-#define CPP_ADJUST_WRITTEN(PFILE,DELTA) ((PFILE)->limit += (DELTA))
-#define CPP_SET_WRITTEN(PFILE,N) ((PFILE)->limit = (PFILE)->token_buffer + (N))
-
-#define CPP_OPTIONS(PFILE) ((cpp_options*)(PFILE)->data)
-#define CPP_BUFFER(PFILE) ((PFILE)->buffer)
-#ifdef STATIC_BUFFERS
-#define CPP_PREV_BUFFER(BUFFER) ((BUFFER)+1)
-#define CPP_NULL_BUFFER(PFILE) (&(PFILE)->buffer_stack[CPP_STACK_MAX])
-#else
-#define CPP_PREV_BUFFER(BUFFER) ((BUFFER)->chain)
-#define CPP_NULL_BUFFER(PFILE) ((cpp_buffer*)0)
-#endif
-
-/* Pointed to by parse_file::data. */
-struct cpp_options {
-   const char         *in_fname;
-
-   /* Name of output file, for error messages.  */
-   const char         *out_fname;
-
-   struct file_name_map_list *map_list;
-
-   /* Non-0 means -v, so print the full set of include dirs.  */
-   char                verbose;
-
-   /* Nonzero means use extra default include directories for C++.  */
-
-   char                cplusplus;
-
-   /* Nonzero means handle cplusplus style comments */
-
-   char                cplusplus_comments;
-
-   /* Nonzero means handle #import, for objective C.  */
-
-   char                objc;
-
-   /* Nonzero means this is an assembly file, and allow
-    * unknown directives, which could be comments.  */
-
-   int                 lang_asm;
-
-   /* Nonzero means turn NOTREACHED into #pragma NOTREACHED etc */
-
-   char                for_lint;
-
-   /* Nonzero means handle CHILL comment syntax
-    * and output CHILL string delimiter for __DATE___ etc. */
-
-   char                chill;
-
-   /* Nonzero means copy comments into the output file.  */
-
-   char                put_out_comments;
-
-   /* Nonzero means don't process the ANSI trigraph sequences.  */
-
-   char                no_trigraphs;
-
-   /* Nonzero means print the names of included files rather than
-    * the preprocessed output.  1 means just the #include "...",
-    * 2 means #include <...> as well.  */
-
-   char                print_deps;
-
-   /* Nonzero if missing .h files in -M output are assumed to be generated
-    * files and not errors.  */
-
-   char                print_deps_missing_files;
-
-   /* If true, fopen (deps_file, "a") else fopen (deps_file, "w"). */
-   char                print_deps_append;
-
-   /* Nonzero means print names of header files (-H).  */
-
-   char                print_include_names;
-
-   /* Nonzero means try to make failure to fit ANSI C an error.  */
-
-   char                pedantic_errors;
-
-   /* Nonzero means don't print warning messages.  -w.  */
-
-   char                inhibit_warnings;
-
-   /* Nonzero means warn if slash-star appears in a comment.  */
-
-   char                warn_comments;
-
-   /* Nonzero means warn if there are any trigraphs.  */
-
-   char                warn_trigraphs;
-
-   /* Nonzero means warn if #import is used.  */
-
-   char                warn_import;
-
-   /* Nonzero means warn if a macro argument is (or would be)
-    * stringified with -traditional.  */
-
-   char                warn_stringify;
-
-   /* Nonzero means turn warnings into errors.  */
-
-   char                warnings_are_errors;
-
-   /* Nonzero causes output not to be done,
-    * but directives such as #define that have side effects
-    * are still obeyed.  */
-
-   char                no_output;
-
-   /* Nonzero means don't output line number information.  */
-
-   char                no_line_commands;
-
-/* Nonzero means output the text in failing conditionals,
-   inside #failed ... #endfailed.  */
-
-   char                output_conditionals;
-
-   /* Nonzero means -I- has been seen,
-    * so don't look for #include "foo" the source-file directory.  */
-   char                ignore_srcdir;
-
-/* Zero means dollar signs are punctuation.
-   -$ stores 0; -traditional may store 1.  Default is 1 for VMS, 0 otherwise.
-   This must be 0 for correct processing of this ANSI C program:
-       #define foo(a) #a
-       #define lose(b) foo (b)
-       #define test$
-       lose (test)     */
-   char                dollars_in_ident;
-#ifndef DOLLARS_IN_IDENTIFIERS
-#define DOLLARS_IN_IDENTIFIERS 1
-#endif
-
-   /* Nonzero means try to imitate old fashioned non-ANSI preprocessor.  */
-   char                traditional;
-
-   /* Nonzero means give all the error messages the ANSI standard requires.  */
-   char                pedantic;
-
-   char                done_initializing;
-
-   struct file_name_list *include;     /* First dir to search */
-   /* First dir to search for <file> */
-   /* This is the first element to use for #include <...>.
-    * If it is 0, use the entire chain for such includes.  */
-   struct file_name_list *first_bracket_include;
-   /* This is the first element in the chain that corresponds to
-    * a directory of system header files.  */
-   struct file_name_list *first_system_include;
-   struct file_name_list *last_include;        /* Last in chain */
-
-   /* Chain of include directories to put at the end of the other chain.  */
-   struct file_name_list *after_include;
-   struct file_name_list *last_after_include;  /* Last in chain */
-
-   /* Chain to put at the start of the system include files.  */
-   struct file_name_list *before_system;
-   struct file_name_list *last_before_system;  /* Last in chain */
-
-   /* Directory prefix that should replace `/usr' in the standard
-    * include file directories.  */
-   char               *include_prefix;
-
-   char                inhibit_predefs;
-   char                no_standard_includes;
-   char                no_standard_cplusplus_includes;
-
-/* dump_only means inhibit output of the preprocessed text
-             and instead output the definitions of all user-defined
-             macros in a form suitable for use as input to cccp.
-   dump_names means pass #define and the macro name through to output.
-   dump_definitions means pass the whole definition (plus #define) through
-*/
-
-   enum dump_type      dump_macros;
-
-/* Nonzero means pass all #define and #undef directives which we actually
-   process through to the output stream.  This feature is used primarily
-   to allow cc1 to record the #defines and #undefs for the sake of
-   debuggers which understand about preprocessor macros, but it may
-   also be useful with -E to figure out how symbols are defined, and
-   where they are defined.  */
-   int                 debug_output;
-
-   /* Pending -D, -U and -A options, in reverse order. */
-   struct cpp_pending *pending;
-
-   /* File name which deps are being written to.
-    * This is 0 if deps are being written to stdout.  */
-   char               *deps_file;
-
-   /* Target-name to write with the dependency information.  */
-   char               *deps_target;
-
-   /* Target file to write all include file */
-   const char         *watchfile;
-};
-
-#define CPP_TRADITIONAL(PFILE) (CPP_OPTIONS(PFILE)-> traditional)
-#define CPP_PEDANTIC(PFILE) (CPP_OPTIONS (PFILE)->pedantic)
-#define CPP_PRINT_DEPS(PFILE) (CPP_OPTIONS (PFILE)->print_deps)
-
-/* Name under which this program was invoked.  */
-
-extern char        *progname;
-
-/* The structure of a node in the hash table.  The hash table
-   has entries for all tokens defined by #define commands (type T_MACRO),
-   plus some special tokens like __LINE__ (these each have their own
-   type, and the appropriate code is run when that type of node is seen.
-   It does not contain control words like "#define", which are recognized
-   by a separate piece of code. */
-
-/* different flavors of hash nodes --- also used in keyword table */
-enum node_type {
-   T_DEFINE = 1,               /* the `#define' keyword */
-   T_INCLUDE,                  /* the `#include' keyword */
-   T_INCLUDE_NEXT,             /* the `#include_next' keyword */
-   T_IMPORT,                   /* the `#import' keyword */
-   T_IFDEF,                    /* the `#ifdef' keyword */
-   T_IFNDEF,                   /* the `#ifndef' keyword */
-   T_IF,                       /* the `#if' keyword */
-   T_ELSE,                     /* `#else' */
-   T_PRAGMA,                   /* `#pragma' */
-   T_ELIF,                     /* `#elif' */
-   T_UNDEF,                    /* `#undef' */
-   T_LINE,                     /* `#line' */
-   T_ERROR,                    /* `#error' */
-   T_WARNING,                  /* `#warning' */
-   T_ENDIF,                    /* `#endif' */
-   T_SCCS,                     /* `#sccs', used on system V.  */
-   T_IDENT,                    /* `#ident', used on system V.  */
-   T_ASSERT,                   /* `#assert', taken from system V.  */
-   T_UNASSERT,                 /* `#unassert', taken from system V.  */
-   T_SPECLINE,                 /* special symbol `__LINE__' */
-   T_DATE,                     /* `__DATE__' */
-   T_FILE,                     /* `__FILE__' */
-   T_BASE_FILE,                        /* `__BASE_FILE__' */
-   T_INCLUDE_LEVEL,            /* `__INCLUDE_LEVEL__' */
-   T_VERSION,                  /* `__VERSION__' */
-   T_SIZE_TYPE,                        /* `__SIZE_TYPE__' */
-   T_PTRDIFF_TYPE,             /* `__PTRDIFF_TYPE__' */
-   T_WCHAR_TYPE,               /* `__WCHAR_TYPE__' */
-   T_USER_LABEL_PREFIX_TYPE,   /* `__USER_LABEL_PREFIX__' */
-   T_REGISTER_PREFIX_TYPE,     /* `__REGISTER_PREFIX__' */
-   T_TIME,                     /* `__TIME__' */
-   T_CONST,                    /* Constant value, used by `__STDC__' */
-   T_MACRO,                    /* macro defined by `#define' */
-   T_DISABLED,                 /* macro temporarily turned off for rescan */
-   T_SPEC_DEFINED,             /* special `defined' macro for use in #if statements */
-   T_PCSTRING,                 /* precompiled string (hashval is KEYDEF *) */
-   T_UNUSED                    /* Used for something not defined.  */
-};
-
-/* Structure allocated for every #define.  For a simple replacement
-   such as
-       #define foo bar ,
-   nargs = -1, the `pattern' list is null, and the expansion is just
-   the replacement text.  Nargs = 0 means a functionlike macro with no args,
-   e.g.,
-       #define getchar() getc (stdin) .
-   When there are args, the expansion is the replacement text with the
-   args squashed out, and the reflist is a list describing how to
-   build the output from the input: e.g., "3 chars, then the 1st arg,
-   then 9 chars, then the 3rd arg, then 0 chars, then the 2nd arg".
-   The chars here come from the expansion.  Whatever is left of the
-   expansion after the last arg-occurrence is copied after that arg.
-   Note that the reflist can be arbitrarily long---
-   its length depends on the number of times the arguments appear in
-   the replacement text, not how many args there are.  Example:
-   #define f(x) x+x+x+x+x+x+x would have replacement text "++++++" and
-   pattern list
-     { (0, 1), (1, 1), (1, 1), ..., (1, 1), NULL }
-   where (x, y) means (nchars, argno). */
-
-typedef struct reflist reflist;
-struct reflist {
-   reflist            *next;
-   char                stringify;      /* nonzero if this arg was preceded by a
-                                        * # operator. */
-   char                raw_before;     /* Nonzero if a ## operator before arg. */
-   char                raw_after;      /* Nonzero if a ## operator after arg. */
-   char                rest_args;      /* Nonzero if this arg. absorbs the rest */
-   int                 nchars; /* Number of literal chars to copy before
-                                * this arg occurrence.  */
-   int                 argno;  /* Number of arg to substitute (origin-0) */
-};
-
-typedef struct definition DEFINITION;
-struct definition {
-   int                 nargs;
-   int                 length; /* length of expansion string */
-   int                 predefined;     /* True if the macro was builtin or */
-   /* came from the command line */
-   unsigned char      *expansion;
-   int                 line;   /* Line number of definition */
-   const char         *file;   /* File of definition */
-   char                rest_args;      /* Nonzero if last arg. absorbs the rest */
-   reflist            *pattern;
-   union {
-      /* Names of macro args, concatenated in reverse order
-       * with comma-space between them.
-       * The only use of this is that we warn on redefinition
-       * if this differs between the old and new definitions.  */
-      unsigned char      *argnames;
-   } args;
-};
-
-extern unsigned char is_idchar[256];
-
-/* Stack of conditionals currently in progress
-   (including both successful and failing conditionals).  */
-
-struct if_stack {
-   struct if_stack    *next;   /* for chaining to the next stack frame */
-   const char         *fname;  /* copied from input when frame is made */
-   int                 lineno; /* similarly */
-   int                 if_succeeded;   /* true if a leg of this if-group
-                                        * has been passed through rescan */
-   unsigned char      *control_macro;  /* For #ifndef at start of file,
-                                        * this is the macro name tested.  */
-   enum node_type      type;   /* type of last directive seen in this group */
-};
-typedef struct if_stack IF_STACK_FRAME;
-
-extern void         cpp_buf_line_and_col(cpp_buffer *, long *, long *);
-extern cpp_buffer  *cpp_file_buffer(cpp_reader *);
-extern void         cpp_define(cpp_reader *, unsigned char *);
-
-extern void         cpp_error(cpp_reader * pfile, const char *msg, ...);
-extern void         cpp_warning(cpp_reader * pfile, const char *msg, ...);
-extern void         cpp_pedwarn(cpp_reader * pfile, const char *msg, ...);
-extern void         cpp_fatal(const char *msg, ...);
-extern void         cpp_file_line_for_message(cpp_reader * pfile,
-                                             const char *filename, int line,
-                                             int column);
-extern void         cpp_perror_with_name(cpp_reader * pfile, const char *name);
-extern void         cpp_pfatal_with_name(cpp_reader * pfile, const char *name);
-extern void         cpp_message(cpp_reader * pfile, int is_error,
-                               const char *msg, ...);
-extern void         cpp_message_v(cpp_reader * pfile, int is_error,
-                                 const char *msg, va_list args);
-
-extern void         cpp_grow_buffer(cpp_reader * pfile, long n);
-extern int          cpp_parse_escape(cpp_reader * pfile, char **string_ptr);
-
-void                cpp_print_containing_files(cpp_reader * pfile);
-HOST_WIDE_INT       cpp_parse_expr(cpp_reader * pfile);
-void                skip_rest_of_line(cpp_reader * pfile);
-void                init_parse_file(cpp_reader * pfile);
-void                init_parse_options(struct cpp_options *opts);
-int                 push_parse_file(cpp_reader * pfile, const char *fname);
-void                cpp_finish(cpp_reader * pfile);
-int                 cpp_read_check_assertion(cpp_reader * pfile);
-
-void               *xmalloc(unsigned size);
-void               *xrealloc(void *old, unsigned size);
-void               *xcalloc(unsigned number, unsigned size);
-
-void                using_file(const char *filename, const char type);
-
-#ifdef __EMX__
-#define PATH_SEPARATOR ';'
-#endif
diff --git a/legacy/edje/src/bin/epp/cppmain.c b/legacy/edje/src/bin/epp/cppmain.c
deleted file mode 100644 (file)
index ea0a0b2..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/* CPP main program, using CPP Library.
- * Copyright (C) 1995 Free Software Foundation, Inc.
- * Written by Per Bothner, 1994-95.
- * Copyright (C) 2003-2011 Kim Woelders
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * 
- * In other words, you are welcome to use, share and improve this program.
- * You are forbidden to forbid anyone else to use, share and improve
- * what you give them.   Help stamp out software-hoarding!  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "cpplib.h"
-
-#define EPP_DEBUG 0
-
-cpp_reader          parse_in;
-cpp_options         options;
-
-int
-main(int argc, char **argv)
-{
-   char               *p;
-   int                 i;
-   int                 argi = 1;       /* Next argument to handle. */
-   struct cpp_options *opts = &options;
-   enum cpp_token      kind;
-#if EPP_DEBUG
-   int                 got_text = 0;
-#endif
-
-   p = argv[0] + strlen(argv[0]);
-#ifndef __EMX__
-   while (p != argv[0] && p[-1] != '/')
-#else
-   while (p != argv[0] && p[-1] != '/' && p[-1] != '\\')
-#endif
-      --p;
-   progname = p;
-
-   init_parse_file(&parse_in);
-   parse_in.data = opts;
-
-   init_parse_options(opts);
-
-   argi += cpp_handle_options(&parse_in, argc - argi, argv + argi);
-   if (argi < argc)
-      cpp_fatal("Invalid option `%s'", argv[argi]);
-   parse_in.show_column = 1;
-
-   i = push_parse_file(&parse_in, opts->in_fname);
-   if (i != SUCCESS_EXIT_CODE)
-      return i;
-
-   /* Now that we know the input file is valid, open the output.  */
-
-   if (!opts->out_fname || !strcmp(opts->out_fname, ""))
-      opts->out_fname = "stdout";
-   else if (!freopen(opts->out_fname, "w", stdout))
-      cpp_pfatal_with_name(&parse_in, opts->out_fname);
-
-   for (i = 0;; i++)
-     {
-       kind = cpp_get_token(&parse_in);
-#if EPP_DEBUG
-       fprintf(stderr, "%03d: kind=%d len=%d out=%d text=%d\n", i,
-               kind, CPP_WRITTEN(&parse_in), !opts->no_output, got_text);
-#endif
-       switch (kind)
-         {
-         case CPP_EOF:
-            goto done;
-
-         case CPP_HSPACE:
-            continue;
-
-         case CPP_VSPACE:
-            break;
-
-         default:
-         case CPP_OTHER:
-         case CPP_NAME:
-         case CPP_NUMBER:
-         case CPP_CHAR:
-         case CPP_STRING:
-         case CPP_LPAREN:
-         case CPP_RPAREN:
-         case CPP_LBRACE:
-         case CPP_RBRACE:
-         case CPP_COMMA:
-         case CPP_SEMICOLON:
-         case CPP_3DOTS:
-#if EPP_DEBUG
-             got_text = 1;
-#endif
-            continue;
-
-         case CPP_COMMENT:
-         case CPP_DIRECTIVE:
-         case CPP_POP:
-            continue;
-         }
-#if EPP_DEBUG
-       fprintf(stderr, "'");
-       fwrite(parse_in.token_buffer, 1, CPP_WRITTEN(&parse_in), stderr);
-       fprintf(stderr, "'\n");
-#endif
-       if (!opts->no_output)
-         {
-            size_t n;
-
-            n = CPP_WRITTEN(&parse_in);
-            if (fwrite(parse_in.token_buffer, 1, n, stdout) != n)
-               exit(FATAL_EXIT_CODE);
-         }
-       parse_in.limit = parse_in.token_buffer;
-#if EPP_DEBUG
-        got_text = 0;
-#endif
-     }
-
- done:
-   cpp_finish(&parse_in);
-
-   if (parse_in.errors)
-      exit(FATAL_EXIT_CODE);
-   exit(SUCCESS_EXIT_CODE);
-}
diff --git a/legacy/edje/src/examples/Vera.ttf b/legacy/edje/src/examples/Vera.ttf
deleted file mode 100644 (file)
index 58cd6b5..0000000
Binary files a/legacy/edje/src/examples/Vera.ttf and /dev/null differ
diff --git a/legacy/edje/src/examples/animations.edc b/legacy/edje/src/examples/animations.edc
deleted file mode 100644 (file)
index f25296f..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-collections {
-   group {
-      name: "animations_group";
-      min: 100 80;
-
-      parts {
-         part {
-            name: "part_one";
-            type: RECT;
-            scale: 1;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               color: 0 0 0 255; /* black */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 0.33 1.0;
-            }
-            description {
-               state: "invert" 1.0;
-               inherit: "default" 0.0;
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 0.33;
-            }
-         }
-
-         part {
-            name: "part_two";
-            type: RECT;
-            scale: 1;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               color: 255 255 0 255; /* yellow */
-               rel1.relative: 0.33 0.0;
-               rel2.relative: 0.66 1.0;
-            }
-            description {
-               state: "invert" 1.0;
-               inherit: "default" 0.0;
-               rel1.relative: 0.0 0.66;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "part_three";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* red */
-               rel1.relative: 0.66 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-            description {
-               state: "invert" 1.0;
-               inherit: "default" 0.0;
-               rel1.relative: 0.0 0.33;
-               rel2.relative: 1.0 0.66;
-            }
-         }
-      }
-
-      program {
-         signal: "load";
-         source: "";
-         in: 2.0 0.0;
-         after: "animation,state1";
-      }
-      program {
-         name: "animation,state1";
-         signal: "animation,start";
-         source: "";
-         in: 1.0 0.0;
-         action: STATE_SET "invert" 1.0;
-         target: "part_one";
-         target: "part_two";
-         target: "part_three";
-         transition: LINEAR 0.6;
-         after: "animation,state2";
-      }
-      program {
-         name: "animation,state2";
-         signal: "animation,start";
-         source: "";
-         in: 1.0 0.0;
-         action: STATE_SET "default" 0.0;
-         target: "part_one";
-         target: "part_two";
-         target: "part_three";
-         transition: LINEAR 0.6;
-         after: "animation,state1";
-   }
-}
diff --git a/legacy/edje/src/examples/animations2.c b/legacy/edje/src/examples/animations2.c
deleted file mode 100644 (file)
index 0fa9288..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-#define PACKAGE_EXAMPLES_DIR "."
-#define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <stdio.h>
-
-#define WIDTH     (700)
-#define HEIGHT    (700)
-
-static void
-_on_delete(Ecore_Evas *ee)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char **argv)
-{
-   char edje_file_path[PATH_MAX];
-   const char *edje_file = "animations2.edj";
-   Evas *evas;
-   Ecore_Evas *ee;
-   Eina_Prefix *pfx;
-   Evas_Object *edje_obj;
-   Evas_Object *bg;
-
-   if (!ecore_evas_init()) return EXIT_FAILURE;
-
-   if (!edje_init()) goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main, "EDJE_EXAMPLES", "edje/examples",
-                         edje_file, PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
-
-   if (!pfx) goto shutdown_edje;
-
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-
-   if (!ee) goto eina_prefix_free;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Animations");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255);
-   evas_object_move(bg, 0, 0);
-   evas_object_resize(bg, WIDTH, HEIGHT);
-   evas_object_show(bg);
-
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-   evas_object_focus_set(bg, EINA_TRUE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path), "%s/examples/%s",
-            eina_prefix_data_get(pfx), edje_file);
-
-   if (!edje_object_file_set(edje_obj, edje_file_path, "animation_group"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
-        goto eina_prefix_free;
-     }
-
-   evas_object_resize(edje_obj, 700, 700);
-   evas_object_move(edje_obj, 50, 50);
-   evas_object_show(edje_obj);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   edje_shutdown();
-   ecore_evas_shutdown();
-
-   return EXIT_SUCCESS;
-
-   eina_prefix_free: eina_prefix_free(pfx);
-
-   shutdown_edje: edje_shutdown();
-
-   shutdown_ecore_evas: ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/animations2.edc b/legacy/edje/src/examples/animations2.edc
deleted file mode 100644 (file)
index eb7e81c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-collections {
-   group {
-      name: "animation_group";
-      max: 700 700;
-      min: 700 700;
-     images{
-         image: "bubble.png" COMP;
-     }
-    parts{
-              part{
-                   name: "part_bubble";
-                   type: IMAGE;
-                   description{
-                       state: "default" 0.0;
-                       max: 63 63;
-                       min: 63 63;
-                       image{
-                            normal: "bubble.png";
-                       }
-                       rel1.relative: 0.0 0.0;
-                       rel2.relative: 0.0 0.0;
-                    }
-                    description {
-                       state: "down-state" 1.0;
-                       inherit: "default" 0.0;
-                       rel1.relative: 0.0 1.0;
-                       rel2.relative: 0.0 0.0;
-                     }
-         }
-
-    }
-    programs{
-       program {
-         signal: "load";
-         source: "";
-         in: 0.5 0.0;
-         after: "animation,state1";
-       }
-       program {
-         name: "animation,state1";
-         source: "";
-         action: STATE_SET "down-state" 1.0;
-         target: "part_bubble";
-         transition: BOUNCE 2.5 0.0 5.0;
-      }
-    }
-   }
-}
diff --git a/legacy/edje/src/examples/basic.edc b/legacy/edje/src/examples/basic.edc
deleted file mode 100644 (file)
index a708b50..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-collections {
-   group {
-      name: "example_group";
-      max: 500 500;
-      min: 50 50;
-
-      data {
-         item: "example_data" "a string";
-      }
-
-      parts {
-         part {
-            name: "part_one";
-            type: RECT;
-            scale: 1;
-            description {
-               min: 50 50;
-               max: 50 50;
-               state: "default" 0.0;
-               color: 0 0 255 255; /* blue */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "part_two";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 255 0 255; /* green */
-               rel1.relative: -1.0 -1.0;
-               rel2.relative: 0.0 0.0;
-            }
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/basic2.edc b/legacy/edje/src/examples/basic2.edc
deleted file mode 100644 (file)
index e60e268..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-collections {
-   group {
-      name: "image_group";
-      max: 500 500;
-      min: 50 50;
-
-     images{
-               image: "bubble.png" COMP;
-     }
-
-    parts{
-               part{
-                   name: "part_image";
-                   type: IMAGE;
-                   description{
-                       image{
-                               normal: "bubble.png";
-                       }
-                   }
-               }
-    }
-
-   }
-}
diff --git a/legacy/edje/src/examples/box.edc b/legacy/edje/src/examples/box.edc
deleted file mode 100644 (file)
index 79d04a8..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-collections {
-
-   group {
-      name: "example/group";
-
-      parts {
-         part {
-            name: "bg";
-            type: RECT;
-
-            description {
-            state: "default" 0.0;
-               color: 128 128 128 255;
-               rel1.offset: 20 20;
-               rel2.offset: -21 -21;
-            }
-         }
-
-         part {
-            name: "example/title";
-            type: TEXT;
-
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 0 0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 0.2;
-                  offset: -1 -1;
-                  to: "bg";
-               }
-               text {
-                  text: "Box Example";
-                  size: 16;
-                  font: "sans";
-                  min: 1 1;
-               }
-            }
-         }
-
-         part {
-            name: "example/box";
-            type: BOX;
-
-            description {
-               state: "default" 0.0;
-
-               box {
-                  layout: "horizontal_flow";
-                  padding: 2 2;
-                  align: 0.5 0.5;
-                  min: 1 1;
-               }
-               rel1 {
-                  relative: 0.0 0.2;
-                  offset: 0 0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: -1 -61;
-                  to: "bg";
-               }
-            }
-         } // example/box
-      }
-   }
-
-   group {
-      name: "example/group2";
-
-      parts {
-         part {
-            name: "bg";
-            type: RECT;
-
-            description {
-            state: "default" 0.0;
-               color: 128 128 128 255;
-               rel1.offset: 20 20;
-               rel2.offset: -21 -21;
-            }
-         }
-
-         part {
-            name: "example/title";
-            type: TEXT;
-
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 0 0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 0.2;
-                  offset: -1 -1;
-                  to: "bg";
-               }
-               text {
-                  text: "Box Example 2";
-                  size: 16;
-                  font: "sans";
-                  min: 1 1;
-               }
-            }
-         }
-
-         part {
-            name: "example/box";
-            type: BOX;
-
-            description {
-               state: "default" 0.0;
-
-               box {
-                  layout: "custom_layout";
-                  padding: 2 2;
-                  align: 0.5 0.5;
-                  min: 1 1;
-               }
-               rel1 {
-                  relative: 0.0 0.2;
-                  offset: 0 0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: -1 -61;
-                  to: "bg";
-               }
-            }
-         } // example/box
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/bubble-blue.png b/legacy/edje/src/examples/bubble-blue.png
deleted file mode 100644 (file)
index 7cf4dcd..0000000
Binary files a/legacy/edje/src/examples/bubble-blue.png and /dev/null differ
diff --git a/legacy/edje/src/examples/bubble.png b/legacy/edje/src/examples/bubble.png
deleted file mode 100644 (file)
index 8fc50f9..0000000
Binary files a/legacy/edje/src/examples/bubble.png and /dev/null differ
diff --git a/legacy/edje/src/examples/codegen.edc b/legacy/edje/src/examples/codegen.edc
deleted file mode 100644 (file)
index 5560581..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-collections {
-
-   group {
-
-      name: "example_group";
-      min: 50 50;
-
-      styles {
-         style {
-            name: "textblock_style";
-            base: "font=Sans font_size=22 color=#600 wrap=word";
-            tag:  "br" "\n";
-            tag:  "hilight" "+ font_weight=Bold";
-            tag:  "b" "+ font_weight=Bold";
-            tag:  "tab" "\t";
-         }
-      }
-      parts {
-         part {
-            name: "part_one";
-            type: TEXT;
-            api: "part_one";
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               color: 0 0 255 255; /* blue */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 0.3;
-               text {
-                  font: "arial";
-                  size: 22;
-                  min: 1 1;
-               }
-            }
-         }
-         part {
-            name: "part_two";
-            type: SWALLOW;
-            api: "part_two" "The swallow";
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               rel1.relative: 0.0 0.3;
-               rel2.relative: 0.3 0.6;
-            }
-         }
-
-         part {
-            name: "part_three";
-            type: BOX;
-            api: "part_three" "The BOX";
-            description {
-               state: "default" 0.0;
-               box {
-                  layout: "vertical_homogeneous";
-               }
-               rel1.relative: 0.0 0.6;
-               rel2.relative: 0.5 1.0;
-            }
-         }
-         part {
-            name: "part_four";
-            type: TABLE;
-            api: "part_four" "The TABLE";
-            description {
-               state: "default" 0.0;
-               rel1.relative: 0.5 0.6;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-      }
-
-      programs {
-         program {
-            name: "part_below.hovered";
-            signal: "mouse,move";
-            source: "part_one";
-            action: SIGNAL_EMIT "mouse,over" "part_below";
-            api: "part_below_over" "mouse over";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/color-class.edc b/legacy/edje/src/examples/color-class.edc
deleted file mode 100644 (file)
index c025455..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-color_classes {
-    color_class {
-       name: "red_class";
-       color: 255 0 0 255;       /* red */
-       color2: 255 0 0 255;      /* red */
-       color3: 255 0 0 255;      /* red */
-    }
-    color_class {
-       name: "green_class";
-       color: 0 255 0 255;       /* green */
-       color2: 0 255 0 255;      /* green */
-       color3: 0 255 0 255;      /* green */
-    }
-    color_class {
-       name: "blue_class";
-       color: 0 0 255 255;       /* blue */
-       color2: 0 0 255 255;      /* blue */
-       color3: 0 0 255 255;      /* blue */
-    }
-}
-
-collections {
-   group {
-      name: "example_color_class";
-      max: 500 500;
-      min: 50 50;
-
-      parts {
-         part {
-            name: "part_one";
-            type: RECT;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               color_class: "blue_class";
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 0.5 0.5;
-            }
-         }
-
-         part {
-            name: "part_two";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               color_class: "green_class";
-               rel1.relative: 0.5 0.0;
-               rel2.relative: 1.0 0.5;
-            }
-         }
-         part {
-            name: "part_three";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               color_class: "red_class";
-               rel1.relative: 0.0 0.5;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-         part {
-            name: "part_four";
-            type: TEXT;
-            effect: OUTLINE_SHADOW;
-            description {
-               state: "default" 0.0;
-               min: 50 50;
-               color: 255 255 255 255;
-               color2: 255 255 255 255;
-               color3: 255 255 255 255;
-               color_class: "blue_class";
-               rel1.relative: 0.0 0.5;
-               rel2.relative: 1.0 1.0;
-               text {
-                  text_class: "example";
-                  font: "arial";
-                  size: 45;
-                  min: 1 1;
-               }
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/drag.edc b/legacy/edje/src/examples/drag.edc
deleted file mode 100644 (file)
index b9247ec..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-collections {
-   group {
-      name: "example/group";
-
-      min: 160 160;
-
-      parts {
-         part {
-            name: "bg";
-            type: RECT;
-
-            mouse_events: 0;
-
-            description {
-               state: "default" 0.0;
-            }
-         } // bg
-
-         part {
-            name: "title";
-            type: TEXT;
-            mouse_events: 0;
-
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 0 0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 0.2;
-                  offset: -1 -1;
-                  to: "bg";
-               }
-               text {
-                  text: "Drag Example";
-                  size: 16;
-                  font: "sans";
-                  min: 1 1;
-               }
-            }
-         }
-
-         part {
-            name: "drag_area";
-            type: RECT;
-
-            mouse_events: 0;
-
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-               rel1 {
-                  relative: 0.5 0.3;
-                  offset: -5 0;
-               }
-
-               rel2 {
-                  relative: 0.5 0.9;
-                  offset: 4 0;
-               }
-            }
-         } // drag_area
-
-         part {
-            name: "example/knob";
-            type: RECT;
-
-            mouse_events: 1;
-
-            dragable {
-               confine: "drag_area";
-               x: 0 0 0;
-               y: 1 1 0;
-            }
-
-            description {
-               state: "default" 0.0;
-
-               color: 255 0 0 200;
-
-            }
-         } // example/knob
-
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/duck.wav b/legacy/edje/src/examples/duck.wav
deleted file mode 100644 (file)
index 04a62dc..0000000
Binary files a/legacy/edje/src/examples/duck.wav and /dev/null differ
diff --git a/legacy/edje/src/examples/edje-animations.c b/legacy/edje/src/examples/edje-animations.c
deleted file mode 100644 (file)
index 15f2ee0..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-/**
- * Simple Edje example illustrating animations functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc animations.edc && gcc -o edje-animations edje-animations.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (400)
-#define HEIGHT (300)
-
-static const char commands[] = \
-  "commands are:\n"
-  "\t+ - increase frametime\n"
-  "\t- - decrease frametime\n"
-  "\t= - status of the animation\n"
-  "\ts - pause\n"
-  "\tp - play\n"
-  "\tf - freeze one object\n"
-  "\tF - freeze all objects\n"
-  "\tt - thaw one object\n"
-  "\tT - thaw all objects\n"
-  "\ta - start animation of one object\n"
-  "\tA - stop animation of one object\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static double frametime = 1.0 / 30.0; /* default value */
-
-static void
-_on_delete_cb(Ecore_Evas *ee __UNUSED__)
-{
-    ecore_main_loop_quit();
-}
-
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(bg, w, h);
-   evas_object_resize(edje_obj, w, h);
-}
-
-static void
-_on_key_down(void *data __UNUSED__, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Key_Down *ev;
-   double               ft;
-
-   ev = (Evas_Event_Key_Down *)event_info;
-
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   else if (!strcmp(ev->key, "plus"))
-     {
-        frametime *= 2.0;
-        fprintf(stdout, "Increasing frametime to: %f\n", frametime);
-        edje_frametime_set(frametime);
-     }
-   else if (!strcmp(ev->key, "minus"))
-     {
-        frametime /= 2.0;
-        fprintf(stdout, "Decreasing frametime to: %f\n", frametime);
-        edje_frametime_set(frametime);
-     }
-   else if (!strcmp(ev->key, "equal"))
-     {
-        ft = edje_frametime_get();
-        fprintf(stdout, "Frametime: %f\n", ft);
-        if (edje_object_play_get(obj))
-          fprintf(stdout, "Object is playing\n");
-        else
-          fprintf(stdout, "Object was paused\n");
-        if (edje_object_animation_get(obj))
-          fprintf(stdout, "Animation is running\n");
-        else
-          fprintf(stdout, "Animation was stopped\n");
-     }
-   else if (!strcmp(ev->key, "s"))
-     {
-        edje_object_play_set(obj, EINA_FALSE);
-        fprintf(stdout, "Pausing the object\n");
-     }
-   else if (!strcmp(ev->key, "p"))
-     {
-        edje_object_play_set(obj, EINA_TRUE);
-        fprintf(stdout, "Playing the object\n");
-     }
-   else if (!strcmp(ev->key, "f"))
-       fprintf(stdout, "Freezing object. Count: %d\n", edje_object_freeze(obj));
-   else if (!strcmp(ev->key, "t"))
-       fprintf(stdout, "Thawing object. Count: %d\n", edje_object_thaw(obj));
-   else if (!strcmp(ev->key, "F"))
-     {
-        edje_freeze();
-        fprintf(stdout, "Freezing all objects\n");
-     }
-   else if (!strcmp(ev->key, "T"))
-     {
-        edje_thaw();
-        fprintf(stdout, "Thawing all objects\n");
-     }
-   else if (!strcmp(ev->key, "a"))
-     {
-        edje_object_animation_set(obj, EINA_TRUE);
-        fprintf(stdout, "Starting the animation in the Edje object\n");
-     }
-   else if (!strcmp(ev->key, "A"))
-     {
-        edje_object_animation_set(obj, EINA_FALSE);
-        fprintf(stdout, "Stopping the animation in the Edje object\n");
-     }
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "animations.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete_cb);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Animations Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "animations_group");
-   evas_object_move(edje_obj, 0, 0);
-   evas_object_resize(edje_obj, WIDTH, HEIGHT);
-   evas_object_show(edje_obj);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-
-   evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_KEY_DOWN,
-                                  _on_key_down, NULL);
-   evas_object_focus_set(edje_obj, EINA_TRUE);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-basic.c b/legacy/edje/src/examples/edje-basic.c
deleted file mode 100644 (file)
index 8a85312..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * Simple Edje example illustrating the very basic functions of the
- * library
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * gcc -o edje-basic edje-basic.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <stdio.h>
-
-#include <Eina.h>
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (300)
-#define HEIGHT (300)
-
-static const char commands[] = \
-  "commands are:\n"
-  "\ts - change Edje's global scaling factor\n"
-  "\tr - change center rectangle's scaling factor\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static void
-_on_keydown(void        *data,
-            Evas        *evas __UNUSED__,
-            Evas_Object *o __UNUSED__,
-            void        *einfo)
-{
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-
-   ev = (Evas_Event_Key_Down *)einfo;
-   edje_obj = (Evas_Object *)data;
-
-   if (strcmp(ev->keyname, "h") == 0) /* print help */
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   else if (strcmp(ev->keyname, "s") == 0) /* global scaling factor */
-     {
-        double scale = edje_scale_get();
-
-        printf("got scale %f\n", scale);
-
-        if (scale != 1.0) scale = 1.0;
-        else scale = 2.0;
-
-        edje_scale_set(scale);
-
-        fprintf(stdout, "Setting global scaling factor to %f.\n", scale);
-
-        return;
-     }
-   else if (strcmp(ev->keyname, "r") == 0) /* individual scaling factor */
-     {
-        double scale = edje_object_scale_get(edje_obj);
-
-        printf("got scale %f\n", scale);
-
-        if (!scale) scale = 1.0;
-        else if (scale == 1.0) scale = 2.0;
-        else scale = 0.0;
-
-        edje_object_scale_set(edje_obj, scale);
-
-        fprintf(stdout, "Setting center rectangle's scaling factor to %f.\n",
-                scale);
-
-        return;
-     }
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         border_img_path[PATH_MAX];
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "basic.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *border;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-   int          x;
-   int          y;
-   int          w;
-   int          h;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Edje Basics Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   evas_object_focus_set(bg, EINA_TRUE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   printf("%s\n", edje_file_path);
-   /* exercising Edje loading error, on purpose */
-   if (!edje_object_file_set(edje_obj, edje_file_path, "unexistant_group"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load 'unexistant_group' from basic.edj:"
-                        " %s\n", errmsg);
-     }
-
-   if (!edje_object_file_set(edje_obj, edje_file_path, "example_group"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load 'example_group' from basic.edj: %s\n",
-                errmsg);
-
-        evas_object_del(edje_obj);
-        goto free_prefix;
-     }
-
-   fprintf(stdout, "Loaded Edje object bound to group 'example_group' from"
-                   " file basic.edj with success!\n");
-
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj);
-
-   snprintf(border_img_path, sizeof(border_img_path),
-            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
-
-   /* this is a border around the Edje object above, here just to
-    * emphasize its geometry */
-   border = evas_object_image_filled_add(evas);
-   evas_object_image_file_set(border, border_img_path, NULL);
-   evas_object_image_border_set(border, 2, 2, 2, 2);
-   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
-
-   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
-   evas_object_move(border, 20 - 2, 20 - 2);
-   evas_object_show(border);
-
-   fprintf(stdout, "'example_data' data field in group 'example_group' has "
-                   "the value: %s\n", edje_object_data_get(edje_obj,
-                                                           "example_data"));
-
-   fprintf(stdout, "Testing if 'part_one' part exists: %s\n",
-           edje_object_part_exists(edje_obj, "part_one") ? "yes!" : "no");
-
-   edje_object_part_geometry_get(edje_obj, "part_one", &x, &y, &w, &h);
-   fprintf(stdout, "The geometry of that part inside the Edje object's area "
-                   "is: x = %d, y = %d, w = %d, h = %d\n", x, y, w, h);
-
-   evas_object_color_get(edje_object_part_object_get(edje_obj, "part_one"),
-                         &x, &y, &w, &h);
-   fprintf(stdout, "That part's color components are: r = %d, g = %d, b = %d,"
-                   " a = %d\n", x, y, w, h);
-
-   edje_object_size_max_get(edje_obj, &w, &h);
-   fprintf(stdout, "The Edje object's max. size is: %d, %d\n", w, h);
-
-   edje_object_size_min_get(edje_obj, &w, &h);
-   fprintf(stdout, "The Edje object's min. size is: %d, %d\n", w, h);
-
-   edje_object_size_min_calc(edje_obj, &w, &h);
-   fprintf(stdout, "The Edje object's min. size reported by min. size"
-                   " calculation is: w = %d, h = %d\n", w, h);
-
-   edje_object_size_min_restricted_calc(edje_obj, &w, &h, 500, 500);
-   fprintf(stdout, "The Edje object's min. size reported by *restricted* "
-                   "min. size calculation is: w = %d, h = %d\n", w, h);
-
-   edje_object_parts_extends_calc(edje_obj, &x, &y, &w, &h);
-   fprintf(stdout, "The Edje object's \"extended\" geometry is: x = %d, "
-                   "y = %d, w = %d, h = %d\n", x, y, w, h);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-basic2.c b/legacy/edje/src/examples/edje-basic2.c
deleted file mode 100644 (file)
index 6233fae..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
-* @verbatim
-* gcc -o edje-basic2 edje-basic2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
-* @endverbatim
-*/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <stdio.h>
-
-#include <Eina.h>
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (700)
-#define HEIGHT (700)
-
-#define WALK 10
-
-static const char commands[] = "commands are:\nEsc - Exit\nUp - move image up\nDown - move image down\n"\
-    "Right - move image to right\nLeft - move image to left\n";
-
-static void
-_on_key_down(void *data,
-             Evas *evas __UNUSED__,
-             Evas_Object *o __UNUSED__,
-             void *einfo)
-{
-  Evas_Event_Key_Down *ev;
-  Evas_Object *edje_obj;
-  int x,y;
-
-  ev = (Evas_Event_Key_Down *)einfo;
-  edje_obj = (Evas_Object *)data;
-
-  evas_object_geometry_get(edje_obj, &x, &y, NULL, NULL);
-
-  if(strcmp(ev->keyname,"Escape") == 0)
-  {
-       ecore_main_loop_quit();
-  }
-  else if(strcmp(ev->keyname, "Down") == 0)
-  {
-       y+=WALK;
-  }
-  else if(strcmp(ev->keyname, "Up") == 0)
-  {
-       y-=WALK;
-  }
-  else if(strcmp(ev->keyname, "Right") == 0)
-  {
-       x+=WALK;
-  }
-  else if(strcmp(ev->keyname, "Left") == 0)
-  {
-       x-=WALK;
-  }
-  else
-  {
-     fprintf(stdout, "Key %s not supported.\nCommands:%s", ev->keyname, commands);
-     return;
-  }
-
-  evas_object_move(edje_obj, x, y);
-}
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char **argv)
-{
-  const char *edje_file = "basic2.edj";
-  char edje_file_path[PATH_MAX];
-  Eina_Prefix *pfx;
-  Ecore_Evas *ee;
-  Evas *evas;
-  Evas_Object *bg;
-  Evas_Object *edje_obj;
-
-  if(!ecore_evas_init())
-       return EXIT_FAILURE;
-
-  if(!edje_init())
-       goto shutdown_ecore_evas;
-
-  pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-
-  if(!pfx)
-    goto shutdown_edje;
-
-  ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-
-  if(!ee)
-    goto eina_prefix_free;
-
-  ecore_evas_callback_delete_request_set(ee, _on_delete);
-  ecore_evas_title_set(ee, "Edje show image");
-
-  evas = ecore_evas_get(ee);
-
-  bg = evas_object_rectangle_add(evas);
-  evas_object_color_set(bg, 255, 255, 255, 255); //White
-  evas_object_move(bg, 0, 0); //orign
-  evas_object_resize(bg, WIDTH, HEIGHT); //cover the window
-  evas_object_show(bg);
-
-  ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-  evas_object_focus_set(bg, EINA_TRUE);
-
-
-  edje_obj = edje_object_add(evas);
-
-  snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-
-  if(!edje_object_file_set(edje_obj, edje_file_path, "image_group"))
-  {
-    int err = edje_object_load_error_get(edje_obj);
-    const char *errmsg = edje_load_error_str(err);
-    fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
-    goto eina_prefix_free;
-  }
-
-
-
-  evas_object_move(edje_obj, 50, 50);
-  evas_object_resize(edje_obj, 64, 64);
-  evas_object_show(edje_obj);
-
-  evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_key_down, edje_obj);
-
-  ecore_evas_show(ee);
-
-  fprintf(stdout, "%s", commands);
-
-  ecore_main_loop_begin();
-
-  eina_prefix_free(pfx);
-  ecore_evas_free(ee);
-  edje_shutdown();
-  ecore_evas_shutdown();
-
-  return EXIT_SUCCESS;
-
-eina_prefix_free:
-  eina_prefix_free(pfx);
-
-shutdown_edje:
-  edje_shutdown();
-
-shutdown_ecore_evas:
-  ecore_evas_shutdown();
-
-  return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-box.c b/legacy/edje/src/examples/edje-box.c
deleted file mode 100644 (file)
index 2b0cbda..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/**
- * Simple Edje example illustrating box functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc box.edc && gcc -o edje-box edje-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  300
-#define HEIGHT 300
-
-#define RECTW 30
-#define RECTH 30
-
-#define NRECTS 20
-
-static const char commands[] = \
-  "commands are:\n"
-  "\ti - prepend rectangle\n"
-  "\ta - append rectangle\n"
-  "\tc - remove\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static void
-_on_destroy(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* here just to keep our example's window size and background image's
- * size in synchrony */
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(bg, w, h);
-   evas_object_resize(edje_obj, w, h);
-}
-
-static void
-_on_rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info)
-{
-   Ecore_Evas            *ee;
-   Evas_Event_Mouse_Down *ev;
-   Evas_Object           *edje_obj;
-
-   ee = (Ecore_Evas *)data;
-   ev = (Evas_Event_Mouse_Down *)event_info;
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-
-   if (ev->button == 1)
-     {
-       printf("Removing rect %p under the mouse pointer.\n", o);
-       edje_object_part_box_remove(edje_obj, "example/box", o);
-       evas_object_del(o);
-     }
-   else if (ev->button == 3)
-     {
-       Evas_Object *rect;
-       Eina_Bool    r;
-
-       rect = evas_object_rectangle_add(e);
-       evas_object_color_set(rect, 0, 0, 255, 255);
-       evas_object_resize(rect, RECTW + 10, RECTH);
-       evas_object_show(rect);
-
-       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
-       r = edje_object_part_box_insert_before(edje_obj, "example/box", rect, o);
-       if (!r)
-         printf("An error ocurred when appending rect %p to the box.\n", rect);
-
-       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
-     }
-}
-
-static void
-_on_bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info)
-{
-   Ecore_Evas          *ee;
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-   Evas_Object         *rect;
-   Eina_Bool            r;
-
-   ee = (Ecore_Evas *)data;
-   ev = (Evas_Event_Key_Down *)event_info;
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   if (!strcmp(ev->keyname, "i"))
-     {
-       rect = evas_object_rectangle_add(e);
-       evas_object_color_set(rect, 0, 0, 128, 255);
-       evas_object_resize(rect, RECTW + 30, RECTH);
-       evas_object_show(rect);
-
-       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
-       r = edje_object_part_box_insert_at(edje_obj, "example/box", rect, 0);
-       if (!r)
-         printf("An error ocurred when appending rect %p to the box.\n", rect);
-
-       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
-     }
-   else if (!strcmp(ev->keyname, "a"))
-     {
-       rect = evas_object_rectangle_add(e);
-       evas_object_color_set(rect, 0, 128, 0, 255);
-       evas_object_resize(rect, RECTW, RECTH);
-       evas_object_show(rect);
-
-       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
-       r = edje_object_part_box_append(edje_obj, "example/box", rect);
-       if (!r)
-         printf("An error ocurred when appending rect %p to the box.\n", rect);
-
-       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
-     }
-   else if (!strcmp(ev->keyname, "c"))
-     edje_object_part_box_remove_all(edje_obj, "example/box", EINA_TRUE);
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "box.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-   int          i;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_destroy_set(ee, _on_destroy);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Box Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255);
-   evas_object_resize(bg, WIDTH, HEIGHT);
-   evas_object_focus_set(bg, EINA_TRUE);
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example/group");
-   evas_object_move(edje_obj, 0, 0);
-   evas_object_resize(edje_obj, WIDTH, HEIGHT);
-   evas_object_show(edje_obj);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-
-   for (i = 0; i < NRECTS; i++)
-     {
-       Evas_Object *rect;
-       Eina_Bool r = EINA_FALSE;
-       int red = (i * 10) % 256;
-       rect = evas_object_rectangle_add(evas);
-       evas_object_color_set(rect, red, 0, 0, 255);
-       evas_object_resize(rect, RECTW, RECTH);
-       r = edje_object_part_box_append(edje_obj, "example/box", rect);
-       if (!r)
-         printf("An error ocurred when appending rect #%d to the box.\n", i);
-       evas_object_show(rect);
-
-       evas_object_event_callback_add(
-          rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, ee);
-     }
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-box2.c b/legacy/edje/src/examples/edje-box2.c
deleted file mode 100644 (file)
index 81f1a90..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-/**
- * Simple Edje example illustrating a custom box layout.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc box.edc && gcc -o edje-box2 edje-box2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <Ecore.h>
-#include <Evas.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-static const char commands[] = \
-  "commands are:\n"
-  "\tShift - remove box\n"
-  "\tCtrl - insert box\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static void
-custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data __UNUSED__)
-{
-   Evas_Object_Box_Option *opt;
-   Eina_List *l;
-   int x, y, w, h;
-   int xx, yy, ww, hh;
-   int count;
-
-   evas_object_geometry_get(o, &x, &y, &w, &h);
-   count = eina_list_count(p->children);
-   ww = w / (count?:1);
-   hh = h / (count?:1);
-   if (ww < 1) ww = 1;
-   if (hh < 1) hh = 1;
-
-   xx = x;
-   yy = y;
-   EINA_LIST_FOREACH(p->children, l, opt)
-     {
-       evas_object_move(opt->obj, xx, yy);
-       xx += ww;
-       yy += hh;
-     }
-}
-
-static Evas_Object *
-new_greenie_block(Evas *e)
-{
-   Evas_Object *o;
-
-   o = evas_object_rectangle_add(e);
-   evas_object_resize(o, 10, 10);
-   evas_object_color_set(o, 0, 255, 0, 255);
-   evas_object_show(o);
-
-   return o;
-}
-
-static void
-on_keydown(void *data, Evas *evas, Evas_Object *o __UNUSED__, void *einfo)
-{
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-   const Evas_Modifier *mods;
-
-   ev = (Evas_Event_Key_Down *)einfo;
-   edje_obj = (Evas_Object *)data;
-
-   mods = evas_key_modifier_get(evas);
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   if (evas_key_modifier_is_set(mods, "Shift"))
-     {
-       int pos;
-       Evas_Object *obj = NULL;
-       pos = atoi(ev->keyname);
-       obj = edje_object_part_box_remove_at(edje_obj, "example/box", pos);
-       if (obj)
-         evas_object_del(obj);
-       return;
-     }
-   if (evas_key_modifier_is_set(mods, "Control"))
-     {
-       Evas_Object *obj;
-       int pos;
-       pos = atoi(ev->keyname);
-       obj = new_greenie_block(evas);
-       if (!edje_object_part_box_insert_at(edje_obj, "example/box", obj, pos))
-         edje_object_part_box_append(edje_obj, "example/box", obj);
-       return;
-     }
-   if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-}
-
-static Evas_Object *
-box_new(Ecore_Evas *ee, const char *edje_file_path, const char *name, int x, int y, int w, int h)
-{
-   Evas_Object *edje_obj;
-
-   edje_obj = edje_object_add(ecore_evas_get(ee));
-   evas_object_move(edje_obj, x, y);
-   evas_object_resize(edje_obj, w, h);
-   if (!edje_object_file_set(edje_obj, edje_file_path, "example/group2"))
-     {
-       printf("error: could not load file object.\n");
-     }
-   evas_object_show(edje_obj);
-   evas_object_name_set(edje_obj, name);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-
-   return edje_obj;
-}
-
-static void
-on_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(bg, w, h);
-   evas_object_resize(edje_obj, w, h);
-}
-
-static void
-on_destroy(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "box.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Evas_Object *last;
-   Evas_Object *o;
-   Eina_Prefix *pfx;
-   int          w;
-   int          h;
-   int          i;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, 640, 480, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_resize_set(ee, on_resize);
-   ecore_evas_callback_destroy_set(ee, on_destroy);
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_resize(bg, w, h);
-   evas_object_show(bg);
-   evas_object_focus_set(bg, 1);
-   ecore_evas_data_set(ee, "background", bg);
-
-   edje_box_layout_register("custom_layout", custom_layout, NULL, NULL, NULL, NULL);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_obj = box_new(ee, edje_file_path, "box", 0, 0, w, h);
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, edje_obj);
-
-   for (i = 1; i <= 5; i++)
-     {
-       o = last = evas_object_rectangle_add(evas);
-        evas_object_size_hint_min_set(o, 50, 50);
-        evas_object_resize(o, 50, 50);
-       evas_object_color_set(o, 255, 0, 0, 128);
-       evas_object_show(o);
-
-       if (!edje_object_part_box_append(edje_obj, "example/box", o))
-         {
-            fprintf(stderr, "error appending child object!\n");
-            return 1;
-         }
-     }
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-codegen-example.c b/legacy/edje/src/examples/edje-codegen-example.c
deleted file mode 100644 (file)
index 23a7226..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/**
- * @since 1.8.0
- * Simple Edje example illustrating the edje_codegen usage.
- *
- * edje_codegen is a tool that generates code to acessing the parts and programs
- * with the keyword "api" of a specified group. This tool make easier working
- * with edje avoiding common errors caused by typos when acessing the parts
- * and/or programs.
- *
- * To use the edje_codegen:
- * edje_codegen --prefix <myapp_myobj> <input.edj> <a_group> <source.c> <header.h>
- *
- * In case of this example:
- * edje_codegen --prefix=codegen_example codegen.edj group_example \
-       codegen_example_generated.c codegen_example_generated.h
- *
- * @verbatim
- * edje_cc codegen.edc && edje_codegen --prefix=codegen_example codegen.edj \
- * example_group codegen_example_generated.c codegen_example_generated.h
- * gcc -c codegen_example_generated.c `pkg-config --libs --cflags ecore-evas edje`
- * gcc -o edje-codegen-example codegen_example_generated.o \
- * edje-codegen-example.c `pkg-config --libs --cflags ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include "codegen_example_generated.h"
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (800)
-#define HEIGHT (800)
-
-static void
-_on_delete(Ecore_Evas *ee)
-{
-   ecore_main_loop_quit();
-}
-
-static void
-_columns_rows_print(Evas_Object *edje_obj)
-{
-   int cols, rows;
-
-   if (codegen_example_part_four_col_row_size_get(edje_obj, &cols, &rows))
-     fprintf(stdout, "Number of columns: %d\nNumber of rows: %d\n", cols, rows);
-   else
-     fprintf(stderr, "Cannot get the number of columns and rows\n");
-}
-
-static void
-_on_mouse_over(void *data, Evas_Object *obj, const char *emission,
-              const char *source)
-{
-   Evas_Object *rect;
-   Eina_Bool disabled;
-   static int i = 0;
-
-   printf("Mouse over, source: %s - emission: %s\n",
-         source, emission);
-   if (i == 2)
-     {
-       rect = codegen_example_part_three_remove_at(obj, 0);
-       codegen_example_part_three_append(obj, rect);
-     }
-   if (i++ == 5)
-     {
-       Evas_Object *rect = codegen_example_part_two_get(obj);
-       evas_object_color_set(rect, 0, 255, 0, 255);
-       codegen_example_part_below_over_callback_del_full(obj,_on_mouse_over,
-                                                         NULL);
-       codegen_example_part_four_clear(obj, EINA_TRUE);
-       _columns_rows_print(obj);
-       codegen_example_part_three_remove_all(obj, EINA_TRUE);
-     }
-}
-
-static Evas_Object *
-_rect_create(Evas *e, unsigned char r, unsigned char g, unsigned char b)
-{
-   Evas_Object *o;
-
-   o = evas_object_rectangle_add(e);
-   evas_object_color_set(o, r, g, b, 255);
-   evas_object_size_hint_weight_set(o, 1.0, 1.0);
-   evas_object_size_hint_min_set(o, 100, 100);
-   evas_object_show(o);
-
-   return o;
-}
-
-int
-main(int argc, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "codegen.edj", *aux;
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Evas_Object *red_rect, *yellow_rect, *blue_rect, *rects[4];
-   Eina_Prefix *pfx;
-   Eina_Bool    disabled;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Edje codegen Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = _rect_create(evas, 255, 255, 255);
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   edje_obj = codegen_example_object_add(evas, edje_file_path);
-   evas_object_resize(edje_obj, WIDTH, HEIGHT);
-   evas_object_show(edje_obj);
-
-   codegen_example_part_one_set(edje_obj, "CODEGEN_EXAMPLE");
-   codegen_example_part_below_over_callback_add(edje_obj, _on_mouse_over, NULL);
-
-   red_rect = _rect_create(evas, 255, 0, 0);
-   codegen_example_part_two_set(edje_obj, red_rect);
-
-   blue_rect = _rect_create(evas, 0, 0, 255);
-   codegen_example_part_three_append(edje_obj, blue_rect);
-
-   yellow_rect = _rect_create(evas, 255, 255, 0);
-   codegen_example_part_three_prepend(edje_obj, yellow_rect);
-
-
-   rects[0] = _rect_create(evas, 0, 0, 255);
-   rects[1] = _rect_create(evas, 0, 255, 0);
-   rects[2] = _rect_create(evas, 255, 0, 0);
-   rects[3] = _rect_create(evas, 125, 140, 80);
-
-   if (!codegen_example_part_four_pack(edje_obj, rects[0], 0, 0, 1, 2))
-     fprintf(stderr, "Cannot add the rectangle 1 to table\n");
-
-   if (!codegen_example_part_four_pack(edje_obj, rects[1], 0, 1, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 2 to table\n");
-
-   if (!codegen_example_part_four_pack(edje_obj, rects[2], 1, 0, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 3 to table\n");
-
-   if (!codegen_example_part_four_pack(edje_obj, rects[3], 1, 1, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 4 to table\n");
-
-   _columns_rows_print(edje_obj);
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-color-class.c b/legacy/edje/src/examples/edje-color-class.c
deleted file mode 100644 (file)
index 8d073d0..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-/**
- * Simple Edje example illustrating color class functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc color-class.edc && gcc -o edje-table edje-color-class.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (400)
-#define HEIGHT (400)
-
-typedef int color[4];           /* rgba */
-
-static Ecore_Evas *ee1, *ee2;
-static Evas *evas1, *evas2;
-static Evas_Object *bg1, *edje_obj1, *bg2, *edje_obj2;
-static const char *selected_class;
-
-static color colors_init_data[] =
-  {{255, 0, 0, 255},            /* red */
-   {0, 255, 0, 255},            /* green */
-   {0, 0, 255, 255},            /* blue */
-   {0, 0, 0, 255},              /* black */
-   {255, 255, 255, 255},        /* white */
-   {128, 128, 128, 255},        /* gray */
-   {255, 255, 0, 255},          /* yellow */
-   {255, 0, 255, 255}           /* pink */
-  };
-
-static char *color_names[] =
-  {"red", "green", "blue", "black", "white",
-   "gray", "yellow", "pink"};
-
-static Eina_Bool
-_get_color_from_name(const char *n, color *c)
-{
-   int i;
-   for (i = 0; i < 8; i++)
-     if (!strcmp(n, color_names[i]))
-       {
-          (*c)[0] = (colors_init_data[i])[0];
-          (*c)[1] = (colors_init_data[i])[1];
-          (*c)[2] = (colors_init_data[i])[2];
-          (*c)[3] = (colors_init_data[i])[3];
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-static void
-_color_classes_print(void)
-{
-   Eina_List *classes;
-   char *class_name;
-
-   fprintf(stdout, "Getting the color classes\n\n");
-   classes = edje_color_class_list();
-   EINA_LIST_FREE(classes, class_name)
-     {
-        int r1, r2, r3, g1, g2, g3, b1, b2, b3,
-          a1, a2, a3;
-
-        fprintf(stdout, "\ncolor class: %s\n", class_name);
-        if (!edje_color_class_get(class_name, &r1, &g1, &b1, &a1,
-                                  &r2, &g2, &b2, &a2, &r3, &g3, &b3, &a3))
-          fprintf(stderr, "Cannot get the color class\n");
-        else
-          {
-
-             fprintf(stdout,"Object color r: %d g: %d b: %d a: %d\n",
-                     r1, g1, b1, a1);
-             fprintf(stdout,"Text outline color r: %d g: %d b: %d a: %d\n",
-                     r2, g2, b2, a2);
-             fprintf(stdout,"Text shadow color r: %d g: %d b: %d a: %d\n",
-                     r3, g3, b3, a3);
-          }
-        free(class_name);
-     }
-}
-
-static void
-_on_destroy(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-static void
-_on_mouse_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Down *ev = event_info;
-
-   if (ev->button == 1)
-     {
-        if (obj == edje_obj1)
-          edje_color_class_del(selected_class);
-        else
-          edje_object_color_class_del(edje_obj2, selected_class);
-     }
-}
-
-/* here just to keep our example's window size
- * in synchrony. */
-static void
-_canvas_resize_cb(Ecore_Evas *_ee)
-{
-   int w, h;
-
-   ecore_evas_geometry_get(_ee, NULL, NULL, &w, &h);
-
-   if (_ee == ee1)
-     {
-        evas_object_resize(bg1, w, h);
-        evas_object_resize(edje_obj1, w, h);
-     }
-   else
-     {
-        evas_object_resize(bg2, w, h);
-        evas_object_resize(edje_obj2, w, h);
-     }
-}
-
-static void
-_color_class_callback_delete(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
-                             const char *emission, void *source __UNUSED__)
-{
-   if (!strcmp(data, "process"))
-     fprintf(stdout, "Color class: %s deleted on process level\n", emission);
-   else
-     fprintf(stdout, "Color class: %s deleted on object level\n", emission);
-}
-
-static int
-_create_windows(const char *edje_file_path)
-{
-  /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee1 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee1)
-     return 0;
-   ee2 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee2)
-     return 0;
-
-   ecore_evas_callback_destroy_set(ee1, _on_destroy);
-   ecore_evas_callback_resize_set(ee1, _canvas_resize_cb);
-   ecore_evas_title_set(ee1, "Edje Color Class Example");
-
-   ecore_evas_callback_destroy_set(ee2, _on_destroy);
-   ecore_evas_callback_resize_set(ee2, _canvas_resize_cb);
-   ecore_evas_title_set(ee2, "Edje Object Color Class Example");
-
-   evas1 = ecore_evas_get(ee1);
-   evas2 = ecore_evas_get(ee2);
-
-   bg1 = evas_object_rectangle_add(evas1);
-   evas_object_color_set(bg1, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg1, 0, 0);                    /* at canvas' origin */
-   evas_object_resize(bg1, WIDTH, HEIGHT);         /* covers full canvas */
-   evas_object_show(bg1);
-
-   bg2 = evas_object_rectangle_add(evas2);
-   evas_object_color_set(bg2, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg2, 0, 0);                    /* at canvas' origin */
-   evas_object_resize(bg2, WIDTH, HEIGHT);         /* covers full canvas */
-   evas_object_show(bg2);
-
-   edje_obj1 = edje_object_add(evas1);
-   evas_object_event_callback_add(edje_obj1, EVAS_CALLBACK_MOUSE_DOWN,
-                                  _on_mouse_down, NULL);
-
-   edje_object_file_set(edje_obj1, edje_file_path, "example_color_class");
-   evas_object_move(edje_obj1, 0, 0); /* at canvas' origin */
-   evas_object_resize(edje_obj1, WIDTH, HEIGHT);
-   edje_object_part_text_set(edje_obj1, "part_four", "EDJE EXAMPLE");
-   edje_object_signal_callback_add(edje_obj1, "color_class,del", "*",
-                                   (Edje_Signal_Cb) _color_class_callback_delete,
-                                   "process");
-   evas_object_show(edje_obj1);
-
-   edje_obj2 = edje_object_add(evas2);
-   evas_object_event_callback_add(edje_obj2, EVAS_CALLBACK_MOUSE_DOWN,
-                                  _on_mouse_down, NULL);
-
-   edje_object_file_set(edje_obj2, edje_file_path, "example_color_class");
-   evas_object_move(edje_obj2, 0, 0); /* at canvas' origin */
-   evas_object_resize(edje_obj2, WIDTH, HEIGHT);
-   edje_object_part_text_set(edje_obj2, "part_four", "EDJE OBJECT EXAMPLE");
-   edje_object_signal_callback_add(edje_obj2, "color_class,del", "*",
-                                   (Edje_Signal_Cb) _color_class_callback_delete,
-                                   "object");
-   evas_object_show(edje_obj2);
-
-   return 1;
-}
-
-int
-main(int argc, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "color-class.edj";
-   Eina_Prefix *pfx;
-   color        c1, c2, c3;
-   int          i;
-
-   if (argc != 5)
-     {
-        fprintf(stderr, "You have to use: %s color_class_name color1, color2," \
-                "color3\n", argv[0]);
-        fprintf(stderr, "Available colors:\n");
-        for (i = 0; i < 8; i++)
-          fprintf(stderr, "%s\n", color_names[i]);
-
-        return EXIT_FAILURE;
-     }
-
-   selected_class = argv[1];
-   if (!(_get_color_from_name(argv[2], &c1) &&
-         _get_color_from_name(argv[3], &c2) &&
-         _get_color_from_name(argv[4], &c3)))
-     {
-        fprintf(stderr, "Color not available!\n");
-        return EXIT_FAILURE;
-     }
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   if (!_create_windows(edje_file_path))
-     goto free_prefix;
-
-   edje_color_class_set(argv[1],                     /* class name   */
-                        c1[0], c1[1], c1[2], c1[3],  /* Object color */
-                        c2[0], c2[1], c2[2], c2[3],  /* Text outline */
-                        c3[0], c3[1], c3[2], c3[3]); /* Text shadow  */
-
-   /* Setting an arbitrary value just to see the difference between */
-   /* process level and object level */
-   edje_object_color_class_set(edje_obj2, argv[1], /* class name   */
-                               128, 180, 77, 255,  /* Object color */
-                               200, 22, 86, 255,   /* Text outline */
-                               39, 90, 187, 255);  /* Text shadow  */
-
-   _color_classes_print();
-
-   ecore_evas_show(ee1);
-   ecore_evas_show(ee2);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee1);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-drag.c b/legacy/edje/src/examples/edje-drag.c
deleted file mode 100644 (file)
index bb61b68..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/**
- * Simple Edje example illustrating drag functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  300
-#define HEIGHT 300
-
-#define RECTW 30
-#define RECTH 30
-
-#define NRECTS 20
-
-static const char commands[] = \
-  "commands are:\n"
-  "\tDdown - set drag step to 1\n"
-  "\tUp - set drag step to -1\n"
-  "\tm - set drag value to 0.5\n"
-  "\tPrior - set drag page to -1\n"
-  "\tNext - set drag page to -1\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static const char *PARTNAME = "example/knob";
-
-static void
-_on_destroy(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* here just to keep our example's window size and background image's
- * size in synchrony */
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(bg, w, h);
-   evas_object_resize(edje_obj, w, h);
-}
-
-static void
-_on_bg_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
-{
-   Ecore_Evas          *ee;
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-
-   ee = (Ecore_Evas *)data;
-   ev = (Evas_Event_Key_Down *)event_info;
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   else if (!strcmp(ev->keyname, "Down"))
-     {
-       edje_object_part_drag_step(edje_obj, PARTNAME, 0, 1.0);
-     }
-   else if (!strcmp(ev->keyname, "Up"))
-     {
-       edje_object_part_drag_step(edje_obj, PARTNAME, 0, -1.0);
-     }
-   else if (!strcmp(ev->keyname, "m"))
-     {
-       edje_object_part_drag_value_set(edje_obj, PARTNAME, 0.0, 0.5);
-     }
-   else if (!strcmp(ev->keyname, "Prior"))
-     {
-       edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, -1.0);
-     }
-   else if (!strcmp(ev->keyname, "Next"))
-     {
-       edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, 1.0);
-     }
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-static void
-_on_knob_moved(void *data __UNUSED__, Evas_Object *o, const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   double val;
-
-   edje_object_part_drag_value_get(o, PARTNAME, NULL, &val);
-   printf("value changed to: %0.3f\n", val);
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "drag.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_destroy_set(ee, _on_destroy);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Box Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255);
-   evas_object_resize(bg, WIDTH, HEIGHT);
-   evas_object_focus_set(bg, EINA_TRUE);
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example/group");
-   evas_object_move(edje_obj, 0, 0);
-   evas_object_resize(edje_obj, WIDTH, HEIGHT);
-   evas_object_show(edje_obj);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-
-   edje_object_part_drag_size_set(edje_obj, PARTNAME, 1.0, 0.4);
-
-   if (!edje_object_part_drag_step_set(edje_obj, PARTNAME, 0.0, 0.1))
-     printf("error when setting drag step size.\n");
-
-   if (!edje_object_part_drag_page_set(edje_obj, PARTNAME, 0.0, 0.3))
-     printf("error when setting drag page step size.\n");
-
-   edje_object_signal_callback_add(edje_obj, "drag", PARTNAME, _on_knob_moved, NULL);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-multisense.c b/legacy/edje/src/examples/edje-multisense.c
deleted file mode 100644 (file)
index c66c568..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Simple example illustrating the very basic functions of multisense
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one) and multisense support ine edje. See stdout/stderr for output.
- *
- * @verbatim
- * gcc -o edje-multisense edje-multisense.c `pkg-config --libs --cflags eina evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#include <Eina.h>
-#include <Evas.h>
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  300
-#define HEIGHT 300
-
-static Evas_Object *create_my_group(Evas *canvas)
-{
-   Evas_Object *edje;
-
-   edje = edje_object_add(canvas);
-   if (!edje)
-     {
-        EINA_LOG_CRIT("could not create edje object!");
-        return NULL;
-     }
-
-   if (!edje_object_file_set(edje, "multisense.edj", "example_group"))
-     {
-        int err = edje_object_load_error_get(edje);
-        const char *errmsg = edje_load_error_str(err);
-        EINA_LOG_ERR("could not load 'example_group' from multisense.edj: %s",
-                     errmsg);
-
-        evas_object_del(edje);
-        return NULL;
-     }
-
-   evas_object_move(edje, 0, 0);
-   evas_object_resize(edje, WIDTH, HEIGHT);
-   evas_object_show(edje);
-   return edje;
-}
-
-int main(int argc, char *argv[])
-{
-   Ecore_Evas *window;
-   Evas *canvas;
-   Evas_Object *edje;
-
-   ecore_evas_init();
-   edje_init();
-
-   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!window)
-     {
-        EINA_LOG_CRIT("could not create window.");
-        return -1;
-     }
-   canvas = ecore_evas_get(window);
-
-   edje = create_my_group(canvas);
-   if (!edje)
-     return -2;
-
-   ecore_evas_show(window);
-   ecore_main_loop_begin();
-
-   evas_object_del(edje);
-   ecore_evas_free(window);
-
-   edje_shutdown();
-   ecore_evas_shutdown();
-
-   return 0;
-}
diff --git a/legacy/edje/src/examples/edje-nested.edc b/legacy/edje/src/examples/edje-nested.edc
deleted file mode 100644 (file)
index d3ea064..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-collections {
-   group {
-      name: "main";
-      parts {
-         part {
-            type: RECT;
-            name: "red_rect";
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255;
-               rel1.relative: 0.2 0.1;
-               rel2.relative: 0.4 0.8;
-            }
-
-            part {   /* This rect is nested in red_rect */
-               type: RECT;
-               name: "green_rect";
-               description {
-                  state: "default" 0.0;
-                  color: 0 255 0 255;
-                  rel2.relative: 0.8 0.5;
-               }
-
-               part {   /* This rect is nested in green_rect */
-                  type: RECT;
-                  name: "blue_rect";
-                  description {
-                     state: "default" 0.0;
-                     color: 0 0 255 255;
-                     align: 1.0 1.0;
-                     rel1.relative: 0.5 0.5;
-                     rel2.relative: 1.0 1.0;
-                  }
-               }
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/edje-perspective.c b/legacy/edje/src/examples/edje-perspective.c
deleted file mode 100644 (file)
index 1037043..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
- * Simple Edje example illustrating drag functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  480
-#define HEIGHT 320
-
-static const char commands[] = \
-  "commands are:\n"
-  "\tDown - move part down\n"
-  "\tUp -  move part up\n"
-  "\tLeft - move part left\n"
-  "\tRight - move part right\n"
-  "\tPrior - move part up-left\n"
-  "\tNext - move part down-right\n"
-  "\tInsert - increase focal\n"
-  "\tSuppr - decrease focal\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-struct _App {
-    Evas_Object *edje_obj;
-    Evas_Object *bg;
-    Edje_Perspective *ps;
-    Eina_Bool animating;
-    int x, y; // relative position of part in the screen
-    int focal;
-};
-
-static void
-_on_destroy(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* here just to keep our example's window size and background image's
- * size in synchrony */
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   int w, h;
-   struct _App *app = ecore_evas_data_get(ee, "app");
-
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(app->bg, w, h);
-   evas_object_resize(app->edje_obj, w, h);
-}
-
-static void
-_part_move(struct _App *app, int dx, int dy)
-{
-   char emission[64];
-
-   if (app->animating)
-     return;
-
-   app->x += dx;
-   app->y += dy;
-   if (app->x > 1)
-     app->x = 1;
-   if (app->x < 0)
-     app->x = 0;
-   if (app->y > 1)
-     app->y = 1;
-   if (app->y < 0)
-     app->y = 0;
-
-   snprintf(emission, sizeof(emission), "move,%d,%d", app->x, app->y);
-   edje_object_signal_emit(app->edje_obj, emission, "");
-   app->animating = EINA_TRUE;
-}
-
-
-static void
-_on_bg_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info)
-{
-   struct _App *app = data;
-   Evas_Event_Key_Down *ev = event_info;
-
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   // just moving the part and text
-   else if (!strcmp(ev->keyname, "Down"))
-     {
-       _part_move(app, 0, 1);
-     }
-   else if (!strcmp(ev->keyname, "Up"))
-     {
-       _part_move(app, 0, -1);
-     }
-   else if (!strcmp(ev->keyname, "Left"))
-     {
-       _part_move(app, -1, 0);
-     }
-   else if (!strcmp(ev->keyname, "Right"))
-     {
-       _part_move(app, 1, 0);
-     }
-   else if (!strcmp(ev->keyname, "Prior"))
-     {
-       _part_move(app, -1, -1);
-     }
-   else if (!strcmp(ev->keyname, "Next"))
-     {
-       _part_move(app, 1, 1);
-     }
-   // adjusting the perspective focal point distance
-   else if (!strcmp(ev->keyname, "KP_Add"))
-     {
-       app->focal += 5;
-       edje_perspective_set(app->ps, 240, 160, 0, app->focal);
-       edje_object_calc_force(app->edje_obj);
-     }
-   else if (!strcmp(ev->keyname, "KP_Subtract"))
-     {
-       app->focal -= 5;
-       if (app->focal < 5)
-         app->focal = 5;
-
-       edje_perspective_set(app->ps, 240, 160, 0, app->focal);
-       edje_object_calc_force(app->edje_obj);
-     }
-   // exiting
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-static void
-_animation_end_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   struct _App *app = data;
-
-   app->animating = EINA_FALSE;
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "perspective.edj";
-   struct _App  app;
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   edje_frametime_set(1.0 / 60.0);
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   app.animating = EINA_FALSE;
-   app.x = 0;
-   app.y = 0;
-   app.focal = 50;
-
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_destroy_set(ee, _on_destroy);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Box Example");
-
-   ecore_evas_data_set(ee, "app", &app);
-
-   evas = ecore_evas_get(ee);
-
-   app.bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(app.bg, 255, 255, 255, 255);
-   evas_object_resize(app.bg, WIDTH, HEIGHT);
-   evas_object_focus_set(app.bg, EINA_TRUE);
-   evas_object_show(app.bg);
-
-   evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, &app);
-
-   app.edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(app.edje_obj, edje_file_path, "example/group");
-   evas_object_move(app.edje_obj, 0, 0);
-   evas_object_resize(app.edje_obj, WIDTH, HEIGHT);
-   evas_object_show(app.edje_obj);
-
-   edje_object_signal_callback_add(app.edje_obj, "animation,end", "", _animation_end_cb, &app);
-
-   app.ps = edje_perspective_new(evas);
-   edje_perspective_set(app.ps, 240, 160, 0, app.focal);
-   edje_perspective_global_set(app.ps, EINA_TRUE);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-signals-messages.c b/legacy/edje/src/examples/edje-signals-messages.c
deleted file mode 100644 (file)
index 4949415..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/**
- * Simple Edje example illustrating the Edje signals and messages
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * gcc -o edje-signals-messages edje-signals-messages.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-#define PACKAGE_EXAMPLES_DIR "."
-#define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <stdio.h>
-
-#define WIDTH     (300)
-#define HEIGHT    (300)
-
-#define MSG_COLOR 1
-#define MSG_TEXT  2
-
-static const char commands[] = \
-  "commands are:\n"
-  "\tt - toggle right rectangle's visibility\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static Eina_Bool right_rect_show = EINA_TRUE;
-
-static void
-_on_keydown(void        *data,
-            Evas        *evas __UNUSED__,
-            Evas_Object *o __UNUSED__,
-            void        *einfo)
-{
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-
-   ev = (Evas_Event_Key_Down *)einfo;
-   edje_obj = (Evas_Object *)data;
-
-   if (!strcmp(ev->keyname, "h")) /* print help */
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   else if (!strcmp(ev->keyname, "t")) /* toggle right rectangle's visibility */
-     {
-        char buf[1024];
-
-        right_rect_show = !right_rect_show;
-        snprintf(buf, sizeof(buf), "part_right,%s",
-                 right_rect_show ? "show" : "hide");
-
-        printf("emitting %s\n", buf);
-
-        edje_object_signal_emit(edje_obj, buf, "");
-
-        return;
-     }
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* print signals coming from theme */
-static void
-_sig_print(const char *emission,
-           const char *source)
-{
-   fprintf(stdout, "Signal %s coming from part %s!\n", emission, source);
-}
-
-static void
-_on_mouse_wheel(void        *data __UNUSED__,
-                  Evas_Object *obj __UNUSED__,
-                  const char  *emission,
-                  const char  *source)
-{
-   _sig_print(emission, source);
-}
-
-/* mouse over signals */
-static void
-_on_mouse_over(void        *data __UNUSED__,
-               Evas_Object *edje_obj,
-               const char  *emission,
-               const char  *source)
-{
-   int i;
-
-   _sig_print(emission, source);
-
-   Edje_Message_Int_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(int));
-   msg->count = 4;
-   for (i = 0; i < 4; i++)
-     msg->val[i] = rand() % 256;
-
-   edje_object_message_send(edje_obj, EDJE_MESSAGE_INT_SET, MSG_COLOR, msg);
-
-   free(msg);
-}
-
-/* print out received message string */
-static void
-_message_handle(void             *data __UNUSED__,
-                Evas_Object      *obj __UNUSED__,
-                Edje_Message_Type type,
-                int               id,
-                void             *msg)
-{
-   Edje_Message_String *m;
-
-   if (type != EDJE_MESSAGE_STRING) return;
-   if (id != MSG_TEXT) return;
-
-   m = msg;
-
-   fprintf(stdout, "String message received: %s\n", m->str);
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         border_img_path[PATH_MAX];
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "signals-messages.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Evas_Object *border;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Edje Basics Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   evas_object_focus_set(bg, EINA_TRUE);
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   if (!edje_object_file_set(edje_obj, edje_file_path, "example_group"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load 'example_group' from "
-                        "signals-messages.edj: %s\n", errmsg);
-
-        evas_object_del(edje_obj);
-        goto free_prefix;
-     }
-
-   edje_object_signal_callback_add(edje_obj, "mouse,wheel,*", "part_left",
-                                   _on_mouse_wheel, NULL);
-
-   edje_object_signal_callback_add(edje_obj, "mouse,over", "part_right",
-                                   _on_mouse_over, NULL);
-
-   edje_object_message_handler_set(edje_obj, _message_handle, NULL);
-
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj);
-
-   snprintf(border_img_path, sizeof(border_img_path),
-            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
-
-   /* this is a border around the Edje object above, here just to
-    * emphasize its geometry */
-   border = evas_object_image_filled_add(evas);
-   evas_object_image_file_set(border, border_img_path, NULL);
-   evas_object_image_border_set(border, 2, 2, 2, 2);
-   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
-
-   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
-   evas_object_move(border, 20 - 2, 20 - 2);
-   evas_object_repeat_events_set(border, EINA_TRUE);
-   evas_object_show(border);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-swallow.c b/legacy/edje/src/examples/edje-swallow.c
deleted file mode 100644 (file)
index ad79ca2..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Simple Edje example illustrating swallow functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc swallow.edc && gcc -o edje-swallow edje-swallow.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (300)
-#define HEIGHT (300)
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* here just to keep our example's window size and background image's
- * size in synchrony */
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-   evas_object_resize(bg, w, h);
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "swallow.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *rect;
-   Evas_Object *obj;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Swallow Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example_group");
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-
-   rect = evas_object_rectangle_add(evas);
-   evas_object_color_set(rect, 255, 0, 0, 255);
-   edje_object_part_swallow(edje_obj, "part_one", rect);
-
-   obj = edje_object_part_swallow_get(edje_obj, "part_one");
-   if(obj == rect)
-      printf("Swallowing worked!\n");
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-swallow2.c b/legacy/edje/src/examples/edje-swallow2.c
deleted file mode 100644 (file)
index 8335828..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * Simple Edje example illustrating swallow functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc swallow.edc && gcc -o edje-swallow2 edje-swallow2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (300)
-#define HEIGHT (300)
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   char         img_file_path[PATH_MAX];
-   const char  *edje_file = "swallow.edj";
-   const char  *img_file = "bubble.png";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *img;
-   Evas_Object *obj;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-   Evas_Load_Error err;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-
-   ecore_evas_title_set(ee, "Edje Swallow Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   ecore_evas_object_associate(ee,bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example_group");
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-
-   snprintf(img_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), img_file);
-
-   img = evas_object_image_filled_add(evas);
-   evas_object_image_file_set(img, img_file_path, NULL);
-
-   err = evas_object_image_load_error_get(img);
-
-   if (err != EVAS_LOAD_ERROR_NONE)
-   {
-      fprintf(stderr, "could not load image '%s'. error string is \"%s\"\n",
-              img_file_path, evas_load_error_str(err));
-     goto free_prefix;
-   }
-
-   edje_object_part_swallow(edje_obj, "part_one", img);
-
-   obj = edje_object_part_swallow_get(edje_obj, "part_one");
-
-   if(obj == img)
-      printf("Swallowing worked!\n");
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-table.c b/legacy/edje/src/examples/edje-table.c
deleted file mode 100644 (file)
index 7780221..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/**
- * Simple Edje example illustrating table functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc table.edc && gcc -o edje-table edje-table.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (400)
-#define HEIGHT (400)
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* Try to get the number of columns and rows of the table
- * and print them. */
-static void
-_columns_rows_print(Evas_Object *edje_obj)
-{
-   int cols, rows;
-
-   if (edje_object_part_table_col_row_size_get(edje_obj, "table_part", &cols,
-                                               &rows))
-     fprintf(stdout, "Number of columns: %d\nNumber of rows: %d\n", cols, rows);
-   else
-     fprintf(stderr, "Cannot get the number of columns and rows\n");
-}
-
-/* here just to keep our example's window size and table items
- * size in synchrony. */
-static void
-_on_canvas_resize(Ecore_Evas *ee)
-{
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Evas_Object **rects;
-   int          i;
-   int          w;
-   int          h;
-
-   bg = ecore_evas_data_get(ee, "background");
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-   rects = ecore_evas_data_get(ee, "rects");
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-
-   evas_object_resize(bg, w, h);
-   evas_object_resize(edje_obj, w, h);
-
-   for (i = 0; i < 4; i++)
-     evas_object_size_hint_min_set(rects[i], w/2, h/2);
-}
-
-/* Mouse button 1 = remove the clicked item
- * any other button = remove all items. */
-static void
-_on_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Down *ev;
-   Evas_Object *edje_obj;
-
-   ev = (Evas_Event_Mouse_Down *)event_info;
-   edje_obj = (Evas_Object *)data;
-
-   if (ev->button != 1)
-     edje_object_part_table_clear(edje_obj, "table_part", EINA_TRUE);
-   else if (!edje_object_part_table_unpack(edje_obj, "table_part", obj))
-     fprintf(stderr, "Cannot remove the selected rectangle\n");
-
-   evas_object_del(obj);
-   _columns_rows_print(edje_obj);
-}
-
-static void
-_rects_create(Evas *evas, Evas_Object **rects, Evas_Object *edje_obj)
-{
-   int i;
-
-   for (i = 0; i < 4; i++)
-     {
-        rects[i] = evas_object_rectangle_add(evas);
-        evas_object_size_hint_min_set(rects[i], 200, 200);
-        evas_object_size_hint_weight_set(rects[i], 1.0, 1.0);
-        evas_object_show(rects[i]);
-        evas_object_event_callback_add(rects[i], EVAS_CALLBACK_MOUSE_DOWN,
-                                       _on_mouse_down, edje_obj);
-     }
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "table.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Evas_Object *rects[4];
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
-   ecore_evas_title_set(ee, "Edje Table Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_data_set(ee, "background", bg);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example_table");
-   evas_object_move(edje_obj, 0, 0); /* at canvas' origin */
-   evas_object_resize(edje_obj, WIDTH, HEIGHT);
-   evas_object_show(edje_obj);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-
-   _rects_create(evas, rects, edje_obj);
-   ecore_evas_data_set(ee, "rects", rects);
-
-   /* Colouring the rectangles */
-   evas_object_color_set(rects[0], 255, 0, 0, 255);
-   evas_object_color_set(rects[1], 0, 255, 0, 255);
-   evas_object_color_set(rects[2], 0, 0, 255, 255);
-   evas_object_color_set(rects[3], 128, 128, 128, 255);
-
-   /* Packing the rectangles into the table */
-   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[0],
-                                    0, 0, 1, 2))
-     fprintf(stderr, "Cannot add the rectangle 1 to table\n");
-
-   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[1],
-                                    0, 1, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 2 to table\n");
-
-   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[2],
-                                    1, 0, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 3 to table\n");
-
-   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[3],
-                                    1, 1, 1, 1))
-     fprintf(stderr, "Cannot add the rectangle 4 to table\n");
-
-   _columns_rows_print(edje_obj);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje-text.c b/legacy/edje/src/examples/edje-text.c
deleted file mode 100644 (file)
index 5f801a2..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Simple Edje example illustrating text functions.
- *
- * You'll need at least one Evas engine built for it (excluding the
- * buffer one). See stdout/stderr for output.
- *
- * @verbatim
- * edje_cc text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#else
-# define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH  (300)
-#define HEIGHT (300)
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-static void
-_on_text_change(void *data __UNUSED__, Evas_Object *obj, const char *part)
-{
-   printf("text: %s\n", edje_object_part_text_unescaped_get(obj, part));
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "text.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Edje text Example");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   edje_object_file_set(edje_obj, edje_file_path, "example_group");
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-
-   edje_object_text_change_cb_set(edje_obj, _on_text_change, NULL);
-   edje_object_part_text_set(edje_obj, "part_one", "one");
-   edje_object_part_text_set(edje_obj, "part_two", "<b>two");
-
-   edje_object_part_text_select_allow_set(edje_obj, "part_two", EINA_TRUE);
-   edje_object_part_text_select_all(edje_obj, "part_two");
-   printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two"));
-   edje_object_part_text_select_none(edje_obj, "part_two");
-   printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two"));
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/edje_example.c b/legacy/edje/src/examples/edje_example.c
deleted file mode 100644 (file)
index 103e867..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <Eina.h>
-#include <Evas.h>
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-
-#define WIDTH 320
-#define HEIGHT 240
-
-static Evas_Object *create_my_group(Evas *canvas, const char *text)
-{
-   Evas_Object *edje;
-
-   edje = edje_object_add(canvas);
-   if (!edje)
-     {
-        EINA_LOG_CRIT("could not create edje object!");
-        return NULL;
-     }
-
-   if (!edje_object_file_set(edje, "edje_example.edj", "my_group"))
-     {
-        int err = edje_object_load_error_get(edje);
-        const char *errmsg = edje_load_error_str(err);
-        EINA_LOG_ERR("could not load 'my_group' from edje_example.edj: %s",
-                     errmsg);
-
-        evas_object_del(edje);
-        return NULL;
-     }
-
-   if (text)
-     {
-        if (!edje_object_part_text_set(edje, "text", text))
-          {
-             EINA_LOG_WARN("could not set the text. "
-                           "Maybe part 'text' does not exist?");
-          }
-     }
-
-   evas_object_move(edje, 0, 0);
-   evas_object_resize(edje, WIDTH, HEIGHT);
-   evas_object_show(edje);
-   return edje;
-}
-
-int main(int argc, char *argv[])
-{
-   Ecore_Evas *window;
-   Evas *canvas;
-   Evas_Object *edje;
-   const char *text;
-
-   ecore_evas_init();
-   edje_init();
-
-   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!window)
-     {
-        EINA_LOG_CRIT("could not create window.");
-        return -1;
-     }
-   canvas = ecore_evas_get(window);
-
-   text = (argc > 1) ? argv[1] : NULL;
-
-   edje = create_my_group(canvas, text);
-   if (!edje)
-     return -2;
-
-   ecore_evas_show(window);
-   ecore_main_loop_begin();
-
-   evas_object_del(edje);
-   ecore_evas_free(window);
-
-   edje_shutdown();
-   ecore_evas_shutdown();
-
-   return 0;
-}
diff --git a/legacy/edje/src/examples/edje_example.edc b/legacy/edje/src/examples/edje_example.edc
deleted file mode 100644 (file)
index 0b15791..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-// compile: edje_cc edje_example.edc
-collections {
-   group {
-      name: "my_group"; // must be the same as in edje_example.c
-
-      parts {
-         part {
-            name: "background";
-            type: RECT; // plain boring rectangle
-            mouse_events: 0; // we don't need any mouse event on the background
-
-            // just one state "default"
-            description {
-               state: "default" 0.0; // must always exist
-               color: 255 255 255 255; // white
-
-               // define part coordinates:
-
-               rel1 { // top-left point at (0, 0) [WIDTH * 0 + 0, HEIGHT * 0 + 0]
-                  relative: 0.0 0.0;
-                  offset: 0 0;
-               }
-               rel2 { // bottom-right point at (WIDTH * 1.0 - 1, HEIGHT * 1.0 - 1)
-                  relative: 1.0 1.0;
-                  offset: -1 -1;
-               }
-            }
-         }
-
-         part {
-            name: "text";
-            type: TEXT;
-            mouse_events: 1; // we want to change the color on mouse-over
-
-            // 2 states, one "default" and another "over" to be used
-            // on mouse over effect
-
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; // red
-
-               // define part coordinates:
-
-               rel1 { // top-left at (WIDTH * 0.1 + 5, HEIGHT * 0.2 + 10)
-                  relative: 0.1 0.2;
-                  offset: 5 10;
-               }
-               rel2 { // bottom-right at (WIDTH * 0.9 - 6, HEIGHT * 0.8 - 11)
-                  relative: 0.9 0.8;
-                  offset: -6 -11;
-               }
-
-               // define text specific state details
-               text {
-                  font: "Sans"; // using fontconfig name!
-                  size: 10;
-                  text: "hello world";
-               }
-            }
-
-            description {
-               state: "over" 0.0;
-               inherit: "default" 0.0; // copy everything from "default" at this point
-
-               color: 0 255 0 255; // override color, now it is green
-            }
-         }
-
-         // do programs to change color on text mouse in/out (over)
-         programs {
-            program {
-               // what triggers this program:
-               signal: "mouse,in";
-               source: "text";
-
-               // what this program does:
-               action: STATE_SET "over" 0.0;
-               target: "text";
-
-               // do the state-set in a nice interpolation animation
-               // using linear time in 0.1 second
-               transition: LINEAR 0.1;
-            }
-
-            program {
-               // what triggers this program:
-               signal: "mouse,out";
-               source: "text";
-
-               // what this program does:
-               action: STATE_SET "default" 0.0;
-               target: "text";
-
-               // do the state-set in a nice interpolation animation
-               // using linear time in 0.1 second
-               transition: LINEAR 0.1;
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_custom_state.edc b/legacy/edje/src/examples/embryo_custom_state.edc
deleted file mode 100644 (file)
index 35a3998..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-collections {
-   images {
-      image: "bubble.png" COMP;
-      image: "bubble-blue.png" COMP;
-   }
-
-   group { name: "main";
-      script {
-         /* define 3 global vars to hold the rotation values */
-         public rotx;
-         public roty;
-         public rotz;
-
-         public change_image(part[], img[]) {
-               new imgid;
-               new partid;
-
-               partid = get_part_id(part);
-               imgid = get_image_id(img);
-
-               custom_state(partid, "default", 0.0);
-               /* change the rotation in the custom state */
-               set_state_val(partid, STATE_IMAGE, imgid);
-               /* apply the custom state */
-               set_state(partid, "custom", 0.0);
-        }
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "img";
-            type: IMAGE;
-            description { state: "default" 0.0;
-              image { normal: "bubble.png"; }
-            }
-            /* Dummy state - otherwise edje_cc discards bubble-blue.png
-               as it thinks it's unused */
-            description { state: "foo" 0.0;
-              image { normal: "bubble-blue.png"; }
-            }
-         }
-            
-         part { name: "title";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Click labels to rotate";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-         part { name: "X";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Rot X (0)";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.1 0.5;
-               }
-            }
-         }
-         part { name: "Y";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Rot Y (0)";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.5 0.9;
-               }
-            }
-         }
-         part { name: "Z";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Rot Z (0)";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.9 0.5;
-               }
-            }
-         }
-         part { name: "setimg";
-            type: TEXT;
-            description { state: "default" 0.0;
-              color: 0 0 0 255;
-              text {
-                text: "Change image";
-                font: "Sans";
-                  size: 12;
-                  align: 0.5 1;
-               }
-            }
-         }
-         part { name: "rect";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               color: 255 0 0 150;
-               max: 150 150;
-               align: 0.5 0.5;
-               map {
-                  on: 1;
-                  perspective_on: 1;
-                  smooth: 1;
-                  alpha: 1;
-               }
-            }
-         }
-      }
-      programs {
-         program {
-            signal: "mouse,down,1";
-            source: "X";
-            script {
-               /* define local vars */
-               new buf[32];
-               new Float:x;
-
-               /* get global var (and increment) */
-               x = get_int(rotx) + 10;
-               /* set global var */
-               set_int(rotx, round(x));
-               /* crete a new custom state (inherit from default 0.0) */
-               custom_state(PART:"rect", "default", 0.0);
-               /* change the rotation in the custom state */
-               set_state_val(PART:"rect", STATE_MAP_ROT_X, x);
-               /* apply the custom state */
-               set_state(PART:"rect", "custom", 0.0);
-               /* update the label to show the current value */
-               snprintf(buf, sizeof(buf), "Rot X (%d)", round(x));
-               set_text(PART:"X", buf);
-            }
-         }
-         program {
-            signal: "mouse,down,1";
-            source: "Y";
-            script {
-               new buf[32];
-               new Float:y = get_int(roty) + 10;
-               set_int(roty, round(y));
-               custom_state(PART:"rect", "default", 0.0);
-               set_state_val(PART:"rect", STATE_MAP_ROT_Y, y);
-               set_state(PART:"rect", "custom", 0.0);
-               snprintf(buf, sizeof(buf), "Rot Y (%d)", round(y));
-               set_text(PART:"Y", buf);
-            }
-         }
-         program {
-            signal: "mouse,down,1";
-            source: "Z";
-            script {
-               new buf[32];
-               new Float:z = get_int(rotz) + 10;
-               set_int(rotz, round(z));
-               custom_state(PART:"rect", "default", 0.0);
-               set_state_val(PART:"rect", STATE_MAP_ROT_Z, z);
-               set_state(PART:"rect", "custom", 0.0);
-               snprintf(buf, sizeof(buf), "Rot Z (%d)", round(z));
-               set_text(PART:"Z", buf);
-            }
-         }
-         program {
-            signal: "mouse,down,1";
-            source: "setimg";
-            script {
-               change_image("img", "bubble-blue.png");
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_pong.edc b/legacy/edje/src/examples/embryo_pong.edc
deleted file mode 100644 (file)
index 0e52ddb..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-
-#define DEBUG_ENABLE 0
-#define FPS 30
-#define COLOR_BG 50 50 50 255
-#define COLOR_FG 222 222 222 255
-#define PAD_SIZE 60
-#define PAD_DISTANCE 20
-#define BALL_SPEED 5.0
-#define BALL_SPEEDUP 0.1
-#define BALL_SIZE 10
-
-
-collections {
-   group { name: "main";
-      min: 500 300;
-      script {
-         public ballx, bally;
-         public ballspeedx, ballspeedy;
-         public player_score, ai_score;
-
-         public game_reset() {
-            set_int(ai_score, 0);
-            set_int(player_score, 0);
-            set_text(PART:"score1", "0");
-            set_text(PART:"score2", "0");
-            game_init();
-         }
-         
-         public game_init() {
-            set_float(ballspeedx, 0.0);
-            set_float(ballspeedy, 0.0);
-            set_float(ballx, 100);
-            set_float(bally, 100);
-         }
-         
-         public start_game() {
-            set_float(ballspeedx, BALL_SPEED);
-            set_float(ballspeedy, BALL_SPEED * randf());
-         }
-
-         public player_wins() {
-            new buf[16]
-            set_int(player_score, get_int(player_score) + 1);
-            snprintf(buf, sizeof(buf), "%d", get_int(player_score));
-            set_text(PART:"score1", buf);
-            game_init();
-         }
-
-         public ai_wins() {
-            new buf[16]
-            set_int(ai_score, get_int(ai_score) + 1);
-            snprintf(buf, sizeof(buf), "%d", get_int(ai_score));
-            set_text(PART:"score2", buf);
-            game_init();
-         }
-
-         public game_loop(count) {
-            count++;
-
-            /* get field geometry */
-            new fx, fy, fw, fh;
-            get_geometry(PART:"bg", fx, fy, fw, fh);
-
-            /* get mouse coords */
-            new mx, my;
-            get_mouse(mx, my);
-
-            /* get the ball info */
-            new Float:bx = get_float(ballx);
-            new Float:by = get_float(bally);
-            new Float:speedx = get_float(ballspeedx);
-            new Float:speedy = get_float(ballspeedy);
-
-            /* move the player pad */
-            new pady = my - PAD_SIZE / 2;
-            if (pady < 0) pady = 0;
-            else if (pady + PAD_SIZE > fh) pady = fh - PAD_SIZE;
-            custom_state(PART:"pad1", "default", 0.0);
-            set_state_val(PART:"pad1", STATE_REL1_OFFSET, 20, pady);
-            set_state(PART:"pad1", "custom", 0.0);
-
-            /* move the AI pad */
-            new pad2y = round(by) - PAD_SIZE / 2 - BALL_SIZE / 2;
-            if (pad2y < 0) pad2y = 0;
-            else if (pad2y + PAD_SIZE > fh) pad2y = fh - PAD_SIZE;
-            custom_state(PART:"pad2", "default", 0.0);
-            set_state_val(PART:"pad2", STATE_REL1_OFFSET, 20, pad2y);
-            set_state(PART:"pad2", "custom", 0.0);
-         
-            /* calc new ball position */
-            bx += speedx;
-            by += speedy;
-
-            /* check walls collision */
-            if (by < 0)
-            {
-               speedy = -speedy;
-               by = 0;
-            }
-            else if (by + BALL_SIZE > fh)
-            {
-               speedy = -speedy;
-               by = fh - BALL_SIZE - 1;
-            }
-
-            /* check player pad collision */
-            if ((speedx < 0) &&
-                (bx < PAD_DISTANCE + 10) && (bx > 0) &&
-                (by + BALL_SIZE > pady) && (by < pady + PAD_SIZE))
-            {
-               new Float:dy = by - pady - PAD_SIZE / 2;
-               speedy += dy / 10;
-               speedx = -speedx + BALL_SPEEDUP;
-            }
-
-            /* check AI pad collision */
-            else if ((bx + BALL_SIZE > fw - PAD_DISTANCE - 10) &&
-                     (bx + BALL_SIZE < fw) &&
-                     (by + BALL_SIZE > pad2y) && (by < pad2y + PAD_SIZE))
-            {
-               new Float:dy = by - pad2y - PAD_SIZE / 2;
-               speedy += dy / 10;
-               speedx = -speedx - BALL_SPEEDUP;
-            }
-            
-            /* apply the new ball position */
-            custom_state(PART:"ball", "default", 0.0);
-            set_state_val(PART:"ball", STATE_REL1_OFFSET, round(bx), round(by));
-            set_state(PART:"ball", "custom", 0.0);
-
-            /* update global vars */
-            set_float(ballx, bx);
-            set_float(bally, by);
-            set_float(ballspeedx, speedx);
-            set_float(ballspeedy, speedy);
-
-            /* AI score a point */
-            if (bx < 0) ai_wins();
-            /* player score a point */
-            if (bx + BALL_SIZE > fw) player_wins();
-
-            /* show debug info (if debug enabled) */
-#if DEBUG_ENABLE
-            new _buf[128];
-            snprintf(_buf, sizeof(_buf),
-                     "loop:%d  [speed %f  %f] [mouse: %d %d] [ball: %f %f]",
-                     count, speedx, speedy, mx, my, bx, by);
-            set_text(PART:"dbg", _buf);
-#endif
-
-            /* recall the loop in n seconds */
-            timer(1.0 / FPS, "game_loop", count);
-         }
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: COLOR_BG;
-            }
-         }
-         part { name: "net";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               max: 10 9999;
-            }
-         }
-         part { name: "score1";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               rel2.relative: 0.5 0.5;
-               rel2.offset: -20 0;
-               text {
-                  text: "0";
-                  font: "Sans";
-                  size: 50;
-                  align: 1.0 0.0;
-               } 
-            }
-         }
-         part { name: "score2";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               rel1.relative: 0.5 0.0;
-               rel1.offset: 20 0;
-               text {
-                  text: "0";
-                  font: "Sans";
-                  size: 50;
-                  align: 0.0 0.0;
-               } 
-            }
-         }
-         part { name: "pad1";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               max: 10 PAD_SIZE;
-               fixed: 1 1;
-               align: 0.0 0.0;
-               rel1.offset: PAD_DISTANCE 0;
-            }
-         }
-         part { name: "pad2";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               max: 10 PAD_SIZE;
-               fixed: 1 1;
-               align: 1.0 0.0;
-               rel2.offset: -PAD_DISTANCE 0;
-            }
-         }
-         part { name: "ball";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: COLOR_FG;
-               max: BALL_SIZE BALL_SIZE;
-               fixed: 1 1;
-               align: 0.0 0.0;
-               rel1.offset: 100 100;
-            }
-         }
-         #if DEBUG_ENABLE
-         part { name: "dbg";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 255 255 255 200;
-               text {
-                  font: "Sans";
-                  size: 12;
-                  align: 1.0 1.0;
-               }
-            }
-         }
-         #endif
-      }
-      programs {
-         /* on load: reset the game and start the game loop */
-         program {
-            signal: "load";
-            source: "";
-            script {
-               game_reset();
-               timer(0.1 , "game_loop", 0);
-            }
-         }
-         /* mouse left click: start the game, if not yet started */
-         program {
-            signal: "mouse,down,1";
-            source: "bg";
-            script {
-               if (get_float(ballspeedx) == 0.0)
-                  start_game();
-            }
-         }
-         /* mouse right click: restart the game*/
-         program {
-            signal: "mouse,down,3";
-            source: "bg";
-            script {
-               game_reset();
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_run_program.edc b/legacy/edje/src/examples/embryo_run_program.edc
deleted file mode 100644 (file)
index 4833b93..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-collections {
-   group { name: "main";
-      script {
-         public toggle;
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "label";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Click me.";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.5 0.8;
-               }
-            }
-         }
-         part { name: "rect";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 0 0 255;
-               max: 30 30;
-               align: 0.1 0.2;
-            }
-            description { state: "default" 1.0;
-               inherit: "default" 0.0;
-               color: 0 0 255 255;
-               align: 0.9 0.2;
-            }
-         }
-      }
-      programs {
-         program { name: "go_right";
-            action: STATE_SET "default" 1.0;
-            transition: SINUSOIDAL 1.0;
-            target: "rect";
-         }
-         program { name: "go_left";
-            action: STATE_SET "default" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "rect";
-         }
-         program {
-            signal: "mouse,down,1";
-            source: "label";
-            script {
-               if (get_int(toggle) == 0) {
-                  run_program(PROGRAM:"go_right");
-                  set_int(toggle, 1);
-               }
-               else {
-                  run_program(PROGRAM:"go_left");
-                  set_int(toggle, 0);
-               }
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_set_state.edc b/legacy/edje/src/examples/embryo_set_state.edc
deleted file mode 100644 (file)
index e752fad..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-collections {
-   group { name: "main";
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "label";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Click me.";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.0 0.7;
-               }
-            }
-         }
-         part { name: "red_rect";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 0 0 255;
-               max: 30 30;
-               align: 0.1 0.2;
-            }
-            description { state: "default" 1.0;
-               inherit: "default" 0.0;
-               color: 0 0 255 255;
-               align: 0.9 0.2;
-            }
-         }
-      }
-      programs {
-         program {
-            signal: "mouse,down,1";
-            source: "label";
-            script {
-               set_state(PART:"red_rect", "default", 1.0);
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_set_text.edc b/legacy/edje/src/examples/embryo_set_text.edc
deleted file mode 100644 (file)
index d656019..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-collections {
-   group { name: "main";
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "label";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Click me.";
-                  font: "Sans";
-                  size: 12;
-               }
-            }
-         }
-      }
-      programs {
-         program {
-            signal: "mouse,down,1";
-            source: "label";
-            script {
-               set_text(PART:"label", "Clicked!"); 
-            }
-         }
-         program {
-            signal: "mouse,up,1";
-            source: "label";
-            script {
-               set_text(PART:"label", "Click me."); 
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/embryo_timer.edc b/legacy/edje/src/examples/embryo_timer.edc
deleted file mode 100644 (file)
index 2c2f8e5..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-collections {
-   group { name: "main";
-      script {
-         public timer_cb(val) {
-            new x, y, w, h;
-            new buf[32];
-
-            /* set labels with object info */
-            get_geometry(PART:"red_rect", x, y, w, h);
-            snprintf(buf, sizeof(buf), "Timer called %d times.", val);
-            set_text(PART:"label1", buf)
-            snprintf(buf, sizeof(buf), "Object x: %d  w: %d", x, w);
-            set_text(PART:"label2", buf)
-
-            /* renew the timer */
-            timer(1 / 30, "timer_cb", val + 1);
-         }
-      }
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "label1";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.0 0.7;
-               }
-            }
-         }
-         part { name: "label2";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  font: "Sans";
-                  size: 12;
-                  align: 0.0 0.8;
-               }
-            }
-         }
-         part { name: "red_rect";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 0 0 255;
-               max: 30 30;
-               align: 0.1 0.2;
-            }
-            description { state: "default" 1.0;
-               inherit: "default" 0.0;
-               color: 0 0 255 255;
-               max: 50 30;
-               align: 0.9 0.2;
-            }
-         }
-      }
-      programs {
-         /* move the red rect back an forth in a loop */
-         program { name: "init";
-            signal: "load";
-            source: "";
-            action: STATE_SET "default" 1.0;
-            transition: SINUSOIDAL 1.0;
-            target: "red_rect";
-            after: "loop";
-         }
-         program { name: "loop";
-            action: STATE_SET "default" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "red_rect";
-            after: "init";
-         }
-         /* run the timer_cb for the first time */
-         program { name: "init2";
-            signal: "load";
-            source: "";
-            script {
-                timer_cb(0);
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/external_elm_anchorblock.edc b/legacy/edje/src/examples/external_elm_anchorblock.edc
deleted file mode 100644 (file)
index 33f99da..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-
-#define LOREM "Vestibulum nunc mi, adipiscing dapibus turpis. Integer ornare \
-vestibulum. Quisque libero augue, non tristique tortor. Praesent urna augue, \
-blandit id sodales vel, varius at purus. Ut congue mollis elit, quis vehicula \
-enim ornare vitae. Suspendisse non faucibus massa. Nunc facilisis sapien ut \
-erat laoreet vitae pharetra purus commodo. Donec in ipsum justo, sit amet \
-lacinia massa. Pellentesque sed dolor lectus. Integer nec nisi ut massa \
-vestibulum vulputate mollis ut lacus. Morbi lobortis dictum lacus nec \
-faucibus. <item relsize=16x16 vsize=full href=emoticon/angry></item> \
-<item relsize=16x16 vsize=full href=emoticon/evil></item> \
-<item relsize=16x16 vsize=full href=emoticon/google-smile></item> \
-<item relsize=16x16 vsize=full href=emoticon/omg></item><br><br> \
-Phasellus ultricies nisl sit amet ligula tristique in adipiscing neque \
-vulputate. Maecenas est ante, porttitor eget commodo non, blandit et erat. \
-Duis adipiscing, tortor quis gravida vulputate, magna lorem mollis tortor, \
-elementum ullamcorper dui mi ut metus. Nunc dictum nisi sed arcu mattis \
-pellentesque. Aliquam erat volutpat. Nullam faucibus suscipit dui a \
-condimentum. Fusce a diam tortor. Curabitur egestas gravida magna, eget \
-lacinia magna fringilla in. Donec eget tincidunt ipsum. Suspendisse velit \
-massa, sollicitudin in laoreet a, posuere malesuada enim. \
-Duis a nulla purus.<br><br> \
-Aenean nec sodales lacus. Sed ipsum felis, blandit sed aliquet ac, viverra \
-vitae odio. Proin nisi nisi, commodo at cursus ut, auctor at elit. Sed tempor \
-placerat orci eget venenatis. Duis ut dolor nibh, non luctus tellus. Duis \
-placerat aliquet sem, et dignissim tellus rutrum at. Etiam sapien lacus, \
-auctor quis interdum vel, pellentesque sit amet arcu. Proin accumsan, mauris \
-non dapibus fermentum, nisl leo cursus nisi, eget auctor lacus ante a nisl. \
-Suspendisse ullamcorper suscipit mi, et blandit augue aliquet non. Aenean \
-vulputate ullamcorper ante, ut tincidunt orci sagittis nec. In hendrerit nunc \
-eget sapien eleifend luctus. Pellentesque vulputate diam ac arcu suscipit nec \
-vestibulum dolor blandit. Sed et massa vel ante tempor fermentum nec ac arcu. \
-Duis turpis odio, vehicula sit amet pellentesque non, facilisis quis ligula. \
-Sed ante nisl, cursus in pulvinar in, interdum vitae diam. Cras condimentum \
-diam ac purus tempor suscipit eget sed metus. Nam erat nunc, eleifend vitae \
-vehicula vitae, venenatis faucibus est. Nam auctor mauris metus. Nam eget \
-vehicula nunc. Nulla ut nisi id sapien rhoncus vestibulum."
-
-collections {
-   group { name: "main";
-      /* set a min window size */
-      min: 300 400;
-
-      /* tell edje that we are going to use elementary external parts */
-      externals {
-         external: "elm";
-      }
-
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-
-         part { name: "title";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-               color3: 70 70 70 70;
-               text {
-                  text: "Elementary Anchorblock";
-                  font: "Sans";
-                  size: 16;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-
-         /* EXTERNAL elementary anchorblock */
-         part { name: "anchorblock";
-            type: EXTERNAL;
-            source: "elm/anchorblock";
-            description { state: "default" 0.0;
-               color: 200 200 0 200;
-               rel1.offset: 5 35;
-               rel2.offset: -6 -45;
-               align: 0.0 0.0;
-               map {
-                  on: 1;
-                  perspective_on: 1;
-                  smooth: 1;
-               }
-               params.string: "text" LOREM;
-            }
-            description { state: "anim" 0.0;
-               inherit: "default" 0.0;
-               map.rotation.z: 100;
-            }
-            description { state: "anim" 0.1;
-               inherit: "default" 0.0;
-               map.rotation.y: 180;
-            }
-            description { state: "anim" 0.2;
-               inherit: "default" 0.0;
-               map.rotation.x: 150;
-            }
-            description { state: "anim" 0.3;
-               inherit: "default" 0.0;
-               map.rotation.z: 100;
-               map.rotation.y: 100;
-            }
-         }
-   
-         /* EXTERNAL elementary button to trigger the animation */
-         part { name: "button";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 5 -40;
-               }
-               rel2 {
-                  offset: -6 -2;
-               }
-               params {
-                  string: "label" "Animate";
-               }
-            }
-         }
-      }
-
-      programs {
-         /* button clicked, start the animation cycle */
-         program { name: "button_click";
-            signal: "clicked";
-            source: "button";
-            action: STATE_SET "anim" 0.0;
-            transition: LINEAR 1.0;
-            target: "anchorblock";
-            after: "anim2";
-         }
-         program { name: "anim2";
-            action: STATE_SET "anim" 0.1;
-            transition: LINEAR 1.0;
-            target: "anchorblock";
-            after: "anim3";
-         }
-         program { name: "anim3";
-            action: STATE_SET "anim" 0.2;
-            transition: LINEAR 1.0;
-            target: "anchorblock";
-            after: "anim4";
-         }
-         program { name: "anim4";
-            action: STATE_SET "anim" 0.3;
-            transition: LINEAR 1.0;
-            target: "anchorblock";
-            after: "anim5";
-         }
-         program { name: "anim5";
-            action: STATE_SET "default" 0.0;
-            transition: LINEAR 1.0;
-            target: "anchorblock";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/external_elm_button.edc b/legacy/edje/src/examples/external_elm_button.edc
deleted file mode 100644 (file)
index b7796d8..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-collections {
-   /* those 2 groups are used as custom icons for the buttons */
-   group { name: "icon_green";
-      parts {
-         part { name: "icon_green";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 0 255 0 255;
-               aspect: 1 1;
-               aspect_preference: VERTICAL;
-            }
-         }
-      }
-   }
-   group { name: "icon_red";
-      parts {
-         part { name: "icon_red";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 0 0 255;
-               aspect: 1 1;
-               aspect_preference: VERTICAL;
-            }
-         }
-      }
-   }
-
-   group { name: "main";
-      /* set a min window size */
-      min: 250 250;
-      
-      /* tell edje that we are going to use elementary external parts */
-      externals {
-         external: "elm";
-      }
-      
-      /* define global variables */
-      script {
-         public counter, toggle1, toggle2, toggle3, toggle4;
-      }
-      
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-
-         part { name: "title";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-               color3: 70 70 70 70;
-               text {
-                  text: "Elementary buttons";
-                  font: "Sans";
-                  size: 16;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-
-         /* bottom label used for reporting */
-         part { name: "label";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "try every buttons";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.5 1.0;
-               }
-            }
-         }
-
-         /* EXTERNAL elementary button with a label */
-         part { name: "bt1";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  offset: 5 35;
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  offset: -6 60;
-               }
-               params {
-                  string: "label" "Label only";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary button with label + standard icon */
-         part { name: "bt2";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  to: "bt1";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "bt1";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "label" "Label + standard icon";
-                  string: "icon" "home";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary button with a label and a custom icon */
-         part { name: "bt3";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  to: "bt2";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "bt2";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "label" "Label + custom icon";
-                  string: "icon" "icon_green";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary button with just a standard icon */
-         part { name: "bt4";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  to: "bt3";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "bt3";
-                  relative: 0.5 2.0;
-                  offset: -6 5;
-               }
-               params {
-                  string: "icon" "folder";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary button with just a custom icon */
-         part { name: "bt5";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0;
-               rel1 {
-                  to: "bt3";
-                  relative: 0.5 1.0;
-                  offset: 5 5;
-               }
-               rel2 {
-                  to: "bt3";
-                  relative: 1.0 2.0;
-                  offset: 0 5;
-               }
-               params {
-                  string: "icon" "icon_green";
-               }
-            }
-         }
-      }
-
-      programs {
-         /* bt1 clicked, change it's label and count the clicks */
-         program { name: "bt1_click";
-            signal: "clicked";
-            source: "bt1";
-            script {
-               new buf[32];
-               /* increment the global counter*/
-               set_int(counter, get_int(counter) + 1);
-               /* set the button label */
-               snprintf(buf, sizeof(buf), "Clicked %d times", get_int(counter));
-               external_param_set_str(PART:"bt1", "label", buf);
-               /* set the bottom label */
-               set_text(PART:"label", "button 1 clicked: set label");
-            }
-         }
-
-         /* bt2 clicked, toggle it's standard icon */
-         program { name: "bt2_click";
-            signal: "clicked";
-            source: "bt2";
-            script {
-               if (get_int(toggle1) == 0) {
-                  external_param_set_str(PART:"bt2", "icon", "home");
-                  set_int(toggle1, 1);
-               }
-               else {
-                  external_param_set_str(PART:"bt2", "icon", "folder");
-                  set_int(toggle1, 0);
-               }
-               set_text(PART:"label", "button 2 clicked: toggle icon");
-            }
-         }
-
-         /* bt3 clicked, toggle it's custom icon */
-         program { name: "bt3_click";
-            signal: "clicked";
-            source: "bt3";
-            script {
-               if (get_int(toggle2) == 0) {
-                  external_param_set_str(PART:"bt3", "icon", "icon_red");
-                  set_int(toggle2, 1);
-               }
-               else {
-                  external_param_set_str(PART:"bt3", "icon", "icon_green");
-                  set_int(toggle2, 0);
-               }
-               set_text(PART:"label", "button 3 clicked: toggle icon");
-            }
-         }
-
-         /* bt4 clicked, toggle it's icon */
-         program { name: "bt4_click";
-            signal: "clicked";
-            source: "bt4";
-            script {
-               if (get_int(toggle3) == 0) {
-                  external_param_set_str(PART:"bt4", "icon", "home");
-                  set_int(toggle3, 1);
-               }
-               else {
-                  external_param_set_str(PART:"bt4", "icon", "folder");
-                  set_int(toggle3, 0);
-               }
-               set_text(PART:"label", "button 4 clicked: toggle icon");
-            }
-         }
-
-         /* bt5 clicked, toggle it's icon */
-         program { name: "bt5_click";
-            signal: "clicked";
-            source: "bt5";
-            script {
-               if (get_int(toggle4) == 0) {
-                  external_param_set_str(PART:"bt5", "icon", "icon_red");
-                  set_int(toggle4, 1);
-               }
-               else {
-                  external_param_set_str(PART:"bt5", "icon", "icon_green");
-                  set_int(toggle4, 0);
-               }
-               set_text(PART:"label", "button 5 clicked: toggle icon");
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/external_elm_check.edc b/legacy/edje/src/examples/external_elm_check.edc
deleted file mode 100644 (file)
index 0d5423f..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-collections {
-   /* this groups is used as custom icon */
-   group { name: "icon_green";
-      parts {
-         part { name: "icon_green";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 0 255 0 255;
-               aspect: 1 1;
-               aspect_preference: VERTICAL;
-            }
-         }
-      }
-   }
-
-   group { name: "main";
-      /* set a min window size */
-      min: 200 300;
-      
-      /* tell edje that we are going to use elementary external parts */
-      externals {
-         external: "elm";
-      }
-
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-
-         part { name: "title";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-               color3: 70 70 70 70;
-               text {
-                  text: "Elementary Checks";
-                  font: "Sans";
-                  size: 16;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-
-         /* EXTERNAL elementary check with a label */
-         part { name: "check1";
-            type: EXTERNAL;
-            source: "elm/check";
-            description { state: "default" 0;
-               rel1 {
-                  offset: 5 35;
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  offset: -6 60;
-               }
-               params {
-                  string: "label" "Label only";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary check with label + standard icon */
-         part { name: "check2";
-            type: EXTERNAL;
-            source: "elm/check";
-            description { state: "default" 0;
-               rel1 {
-                  to: "check1";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "check1";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "label" "Label + standard icon";
-                  string: "icon" "home";
-               }
-            }
-         }
-
-         /* EXTERNAL elementary check with a label and a custom icon */
-         part { name: "check3";
-            type: EXTERNAL;
-            source: "elm/check";
-            description { state: "default" 0;
-               rel1 {
-                  to: "check2";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "check2";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "label" "Label + custom icon";
-                  string: "icon" "icon_green";
-               }
-            }
-         }
-         
-         /* EXTERNAL elementary check with just a custom icon */
-         part { name: "check4";
-            type: EXTERNAL;
-            source: "elm/check";
-            description { state: "default" 0;
-               rel1 {
-                  to: "check3";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "check3";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "icon" "home";
-               }
-            }
-         }
-         
-         /* EXTERNAL elementary check with just a custom icon */
-         part { name: "check5";
-            type: EXTERNAL;
-            source: "elm/check";
-            description { state: "default" 0;
-               rel1 {
-                  to: "check4";
-                  relative: 0.0 1.0;
-                  offset: 0 5;
-               }
-               rel2 {
-                  to: "check4";
-                  relative: 1.0 2.0;
-                  offset: -1 5;
-               }
-               params {
-                  string: "icon" "icon_green";
-               }
-            }
-         }
-      }
-
-      programs {
-         /* on edje load start the programs loop */
-         program {
-            signal: "load";
-            after: "loop1";
-         }
-
-         /* wait 0.2, toggle the state of check1, trigger next prog */
-         program { name: "loop1";
-            in: 0.2 0.0;
-            script {
-               external_param_set_bool(PART:"check1", "state",
-                        !external_param_get_bool(PART:"check1", "state"));
-            }
-            after: "loop2";
-         }
-
-         /* wait 0.2, toggle the state of check2, trigger next prog */
-         program { name: "loop2";
-            in: 0.2 0.0;
-            script {
-               external_param_set_bool(PART:"check2", "state",
-                        !external_param_get_bool(PART:"check2", "state"));
-            }
-            after: "loop3";
-         }
-
-         /* wait 0.2, toggle the state of check3, trigger next prog */
-         program { name: "loop3";
-            in: 0.2 0.0;
-            script {
-               external_param_set_bool(PART:"check3", "state",
-                        !external_param_get_bool(PART:"check3", "state"));
-            }
-            after: "loop4";
-         }
-
-         /* wait 0.2, toggle the state of check4, trigger next prog */
-         program { name: "loop4";
-            in: 0.2 0.0;
-            script {
-               external_param_set_bool(PART:"check4", "state",
-                        !external_param_get_bool(PART:"check4", "state"));
-            }
-            after: "loop5";
-         }
-         
-         /* wait 0.2, toggle the state of check5, restart from the first prog */
-         program { name: "loop5";
-            in: 0.2 0.0;
-            script {
-               external_param_set_bool(PART:"check5", "state",
-                        !external_param_get_bool(PART:"check5", "state"));
-            }
-            after: "loop1";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/external_elm_panes.edc b/legacy/edje/src/examples/external_elm_panes.edc
deleted file mode 100644 (file)
index 8833668..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-collections {
-   /* tell edje that we are going to use elementary external parts */
-   externals {
-      external: "elm";
-   }
-   
-   /* those groups are the buttons used as content for the panes */
-   group { name: "button1";
-      parts {
-         part { name: "btn";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0.0;
-               params.string: "label" "Left";
-            }
-         }
-      }
-   }
-   group { name: "button2";
-      parts {
-         part { name: "btn";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0.0;
-               params.string: "label" "Top";
-            }
-         }
-      }
-   }
-   group { name: "button3";
-      parts {
-         part { name: "btn";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0.0;
-               params.string: "label" "Right";
-            }
-         }
-      }
-   }
-
-   /* this is the vertical panes */
-   group { name: "panes2";
-      parts {
-         part { name: "panes";
-            type: EXTERNAL;
-            source: "elm/panes";
-            description { state: "default" 0.0;
-               params {
-                  bool: "horizontal" 1;
-                  string: "content left" "button2";
-                  string: "content right" "button3";
-               }
-            }
-         }
-      }
-   }
-   
-   group { name: "main";
-      /* set a min window size */
-      min: 300 400;
-
-      parts {
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-
-         part { name: "title";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-               color3: 70 70 70 70;
-               text {
-                  text: "Elementary Panes";
-                  font: "Sans";
-                  size: 16;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-
-         /* first panes (horiz) */
-         part { name: "panes1";
-            type: EXTERNAL;
-            source: "elm/panes";
-            description { state: "default" 0.0;
-               rel1.offset: 0 35;
-               rel2.offset: 0 -45;
-               params {
-                  string: "content left" "button1";
-                  string: "content right" "panes2";
-               }
-            }
-            description { state: "swapped" 0.0;
-               inherit: "default" 0.0;
-               params {
-                  string: "content left" "panes2";
-                  string: "content right" "button1";
-               }
-            }
-         }
-
-         /* button used to swap the content of the panes1 */
-         part { name: "swap_button";
-            type: EXTERNAL;
-            source: "elm/button";
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 0 -40;
-               }
-               params {
-                  string: "label" "Swap & back";
-               }
-            }
-         }
-      }
-
-      programs {
-         /* when button is pressed set the 'swapped' state */
-         program { name: "swap";
-            signal: "clicked";
-            source: "swap_button";
-            action: STATE_SET "swapped" 0.0;
-            target: "panes1";
-            after: "go_back";
-         }
-         /* after 1 second return to the 'default' state */
-         program { name: "go_back";
-            in: 1.0 0.0;
-            action: STATE_SET "default" 0.0;
-            target: "panes1";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/external_emotion_elm.edc b/legacy/edje/src/examples/external_emotion_elm.edc
deleted file mode 100644 (file)
index 686e10f..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- Super-concise video player example using Edje/Emotion/Elementary.
-
- This is all in Edje by means of type:EXTERNAL, you don't need any C
- code other than emotion and edje installed with edje_external
- support enabled.
-
- Compile: edje_cc     external-emotion-elm.edc
- Run....: edje_player external-emotion-elm.edj
-
- */
-collections {
-   group { name: "main";
-      min: 350 200; /* set a min window size */
-
-      externals { /* declare the modules you want to load */
-         external: "emotion"; /* video player engine */
-         external: "elm"; /* toolkit/widgets */
-      }
-
-      parts {
-         part { name: "bg"; /* dark gray rectangle as background */
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 64 64 64 255;
-            }
-         }
-
-         part { name: "video"; /* video object */
-            type: EXTERNAL;
-            source: "emotion";
-            description { state: "default" 0.0;
-               params {
-                  /* explicitly select the emotion engine
-                   * ['xine', 'gstreamer' or 'vlc']
-                   * or comment the line to autoselect the engine */
-                  // choice: "engine" "gstreamer";
-               }
-            }
-         }
-
-         part { name: "title";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            description { state: "default" 0.0;
-               color: 255 255 255 0;
-               color3: 0 0 0 0;
-               align: 0.5 0.0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 10 2;
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  offset: -11 10;
-               }
-               text {
-                  font: "Sans:style=Bold";
-                  align: 0.5 0.0;
-                  size: 10;
-                  min: 0 1;
-                  text: "";
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 255;
-               color3: 0 0 0 255;
-            }
-         }
-
-         part { name: "controls-clipper"; /* clipper to control visibility */
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 32;
-            }
-            description { state: "visible" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-
-         part { name: "controls-bg"; /* controls background as
-                                        semi-transparent black at bottom edge */
-            type: RECT;
-            clip_to: "controls-clipper";
-            description { state: "default" 0.0;
-               color: 0 0 0 128;
-               rel1 {
-                  relative: 0.0 1.0;
-                  offset: 0 -40;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: -1 -1;
-               }
-            }
-         }
-
-         part { name: "play"; /* play button at bottom-left (relative
-                                to controls-bg) */
-            type: EXTERNAL;
-            source: "elm/button";
-            clip_to: "controls-clipper";
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 0 0;
-                  to: "controls-bg";
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  offset: 50 -1;
-                  to: "controls-bg";
-               }
-               params.string: "icon" "apps";
-            }
-         }
-
-         part { name: "open"; /* open file button next to play button */
-            type: EXTERNAL;
-            source: "elm/fileselector_button";
-            clip_to: "controls-clipper";
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 52 0;
-                  to: "controls-bg";
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  offset: 102 -1;
-                  to: "controls-bg";
-               }
-               params.string: "icon" "folder";
-            }
-         }
-
-         part { name: "time"; /* time/progress */
-            type: EXTERNAL;
-            source: "elm/slider";
-            clip_to: "controls-clipper";
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: 104 0;
-                  to: "controls-bg";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: -1 -1;
-                  to: "controls-bg";
-               }
-            }
-         }
-
-         part { name: "controls-eventarea"; /* event area so we catch mouse in
-                                               and out, repeat events so
-                                               buttons get them */
-            type: RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 0; /* fully transparent as we don't
-                                        need any visual feedback */
-               rel1.to: "controls-bg";
-               rel2.to: "controls-bg";
-            }
-         }
-
-         programs {
-            /* animated 0.2 linear fade in/out if mouse is over controls */
-            program { signal: "mouse,in";
-               source: "controls-eventarea";
-               action: STATE_SET "visible" 0.0;
-               transition: LINEAR 0.2;
-               target: "controls-clipper";
-               target: "title";
-            }
-            program { signal: "mouse,out";
-               source: "controls-eventarea";
-               action: STATE_SET "default" 0.0;
-               transition: LINEAR 0.2;
-               target: "controls-clipper";
-               target: "title";
-            }
-
-            /* toggle video playing state when play is clicked */
-            program { name: "toggle-play-video";
-               signal: "clicked";
-               source: "play";
-               script {
-                  new v = external_param_get_bool(PART:"video", "play");
-                  external_param_set_bool(PART:"video", "play", !v);
-               }
-            }
-
-            /* whenever file is chosen, set and play it */
-            program { signal: "file,chosen";
-               source: "open";
-               action: PARAM_COPY "open" "path" "video" "file";
-               after: "play-video";
-               after: "set-title";
-            }
-            program { name: "play-video";
-               action: PARAM_SET "video" "play" "1";
-            }
-            program { name: "set-title";
-               action: PARAM_COPY "open" "path" "title" "text";
-            }
-
-            /* if position changes, set slider (time) */
-            program { signal: "position_update";
-               source: "video";
-               script {
-                  new Float:p, Float:len;
-
-                  p = external_param_get_float(PART:"video", "position");
-                  len = external_param_get_float(PART:"video", "play_length");
-                  if (len > 0.0)
-                     external_param_set_float(PART:"time", "value", p / len);
-               }
-            }
-
-            /* if slider (time) changes, set the position (seek) */
-            program { signal: "changed";
-               source: "time";
-               script {
-                  new Float:v, Float:len;
-
-                  v = external_param_get_float(PART:"time", "value");
-                  len = external_param_get_float(PART:"video", "play_length");
-                  if (len > 0.0)
-                     external_param_set_float(PART:"video", "position", v * len);
-               }
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/lua_script.edc b/legacy/edje/src/examples/lua_script.edc
deleted file mode 100644 (file)
index 6365ec4..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-color_classes {
-    color_class { name: "test_colour"; color: 255 255 255 255; }
-}
-
-fonts {
-   font: "Vera.ttf" "default";
-}
-
-images {
-    image: "bubble.png" COMP;
-    image: "test.png" COMP;
-}
-
-collections {
-   group {
-      name: "main";
-      lua_script_only: 1;
-      lua_script {
-         --// stick object private/local vars here
-         local D;
-         local count = 0;
-         local fndata = 99;
-         local text_geom;
-
-         --// Functions to print tables.
-         local print_table, print_table_start;
-
-         function print_table_start(table, space, name)
-            print(space .. name .. ": ");
-            print(space .. "{");
-            print_table(table, space .. "  ");
-            print(space .. "}");
-         end
-
-         function print_table(table, space)
-            for k, v in pairs(table) do 
-               if type(v) == "table" then
-                  print_table_start(v, space, k);
-               elseif type(v) == "string" then
-                  print(space .. k .. ': "' .. v .. '";')
-               else
-                  print(space .. k .. ": " .. v .. ";")
-               end
-            end
-         end
-
-         local function mycb3 (v)
-            print("lua::callback transition " .. D.val .. " v: " .. v);
-            d = {};
-            d = edje.size(d);
-            print("lua::objsize= " .. d.w .. " , " .. d.h);
-            sz = {w=v * 80, h=v * 40};
-            D.rect:geom(((d.w / 2) * math.sin(v * 2 * math.pi)) + ((d.w - sz.w) / 2),
-                        ((d.h / 2) * math.cos(v * 2 * math.pi)) + ((d.h - sz.h) / 2),
-                        sz.w, sz.h);
-            D.rect:color(255, 128, v * 255, 255);
-            d = D.rect:move(d);
-            print("lua::pos= " .. d.x .. " , " .. d.y);
-            r = D.rect:above();
-            if (r ~= nil) then
-               print("lua::rcol");
-               r:color(20, v * 255, 60, 255);
-            else
-               print("lua::r none!!!!!!!!!!!!!!1");
-            end
-            d = edje.size();
-            D.clip:geom(10, 10, d.w - 20, d.h - 20);
-            c = D.clip:clipees();
-            for i=1,#c,1 do
-               d = c[i]:geom();
-               print("lua::" .. i .. " geom = " .. d.x .. "," .. d.y .. " " .. d.w .. "x" .. d.h);
-            end
-            return true;  --// repeat the timer
-         end
-         local function mycb2 ()
-            print("lua::callback animator " .. count .. " seconds: " .. edje.seconds() .. " looptime: " .. edje.looptime());
-            edje.color_class("test_colour", 255, (count * 10) % 255, 255, 255);
-            edje.text_class("test_text_class", "Sans:style=Bold", ((count * 3) % 100) + 8);
-            if (5 > (count % 10)) then
-               D.text:font("default", 32);
-            else
-               D.text:font("Sans:style=Bold", 32);
-            end
-            edje_geom = edje.geom();
-            text_geom = D.text:geom();
-            D.text:move((edje_geom.w - text_geom.w) / 2, (edje_geom.h - text_geom.h) / 8);
-            return true;  --// repeat the timer
-         end
-         local function mycb ()
-            print("lua::callback timer " .. count .. " fndata = " .. fndata);
-            count = count + 1; --// keep count of calls - object data
-            fndata = fndata + 3; --// play with object vars to see if they persist
-            D.tim = edje.timer(0.25, mycb); --// inside cb add new timer
-            return false; --// cease repeating the timer
-         end
-         --// init object here
-         D = {}; --// data is empty table to start
-         D.val = math.random(); --// start with some random value so
-         fndata = fndata + D.val; --// func data start point
-         print("lua::init ... " .. D.val);
-         edje.echo("lua::echo('hello world')");
-
-         --// How to check the edje version.
-         version = edje.version();
-         print("The edje version number is " .. version.major .. "." .. version.minor);
-
-         --// actually add the timer to call mycb in 1.23 sec
-         D.tim = edje.timer(1.23, mycb);
-         D.tra = edje.transition(5.0, mycb3);
-         D.ani = edje.animator(mycb2);
-         edje_geom = edje.geom();
-         if (edje.spanky) then edje.spanky(); end
-
-         local date = edje.date();
-         print("lua:: date: " ..
-            date.year .. "|" ..
-            date.month .. "|" ..
-            date.day .. "|" ..
-            date.yearday .. "|" ..
-            date.weekday .. "|" ..
-            date.hour .. "|" ..
-            date.min .. "|" ..
-            date.sec
-         );
-
-         --// send some random edje message
-         edje.messagesend(7, "none"      );
-         edje.messagesend(7, "sig",      "signal", "source");
-         edje.messagesend(7, "str",      "hello world");
-         edje.messagesend(7, "int",      987);
-         edje.messagesend(7, "float",    987.321);
-         edje.messagesend(7, "strset",   {"hello", "there", "world"});
-         edje.messagesend(7, "intset",   {1, 2, 3});
-         edje.messagesend(7, "floatset", {1.1, 2.2, 3.3});
-         edje.messagesend(7, "strint",   "hello world", 7);
-         edje.messagesend(7, "strfloat", "hello world", 7.654);
-         edje.messagesend(7, "strintset","hello world", {1, 2, 3});
-
-         D.edje = edje.edje();
-         D.edje:file("plain/edje/group");
-         D.edje:show();
-                  
-         D.rect = edje.rect();
-         D.rect:geom  (5, 10, 50, 30);
-         D.rect:color (255, 128, 60, 255);
-         D.rect:show  ();
-                  
-         D.rect2 = edje.rect();
-         D.rect2:geom  (50, 50, 50, 50);
-         D.rect2:color (20, 30, 60, 120);
-         D.rect2:show  ();
-
-         D.clip = edje.rect();
-         D.clip:geom  (10, 10, 150, 150);
-         D.clip:color (200, 200, 50, 200);
-         D.clip:show  ();
-         D.rect2:clip(D.clip);
-         D.rect:clip(D.clip);
-
-         D.text = edje.text();
-         D.text:geom  (50, 5, 150, 50);
-         D.text:color (255, 0, 0, 255);
-         D.text:font("Sans:style=Bold", 32);
-         D.text:text("Lua rocks!");
-         text_geom = D.text:geom();
-         print(D.text:text());
-         D.text:show();
-
-       --// Put a few bogus API calls here to test the bogus API protection,
-       --// If the bogus API protection works, these should get ignored, but everything else runs smoothly.
-       --// Otherwise, the map is not done, the bubbles are not done, but the timers keep runinng.
-         bogus.failme(1, "two", D.rect);
-         temp = bogus.failme2();
-         D.text.bogus();
-         edje.bogus2();
-
-         --// Fun with maps!
-         D.map = edje.map(4);  --// 4 is the only supported map size at the moment.
-         --// These all do the same thing.
-         --// Note, lua likes to start at 1, C (and thus evas) at 0.  I choose to agree with C.
-         D.map:coord(0, 50, 50, 0);
-         D.map:coord(1, 100, 50, 0);
-         D.map:coord(2, 100, 100, 0);
-         D.map:coord(3, 50, 100, 0);
-         D.map:populate(50, 50, 50, 50, 0);
-         D.map:populate(D.rect2, 0);
-         D.map:populate(D.rect2);
-
-         --// print the results
-         D.coord = D.map:coord(0);
-         print("lua::map coords for point 0 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
-         D.coord = D.map:coord(1);
-         print("lua::map coords for point 1 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
-         D.coord = D.map:coord(2);
-         print("lua::map coords for point 2 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
-         D.coord = D.map:coord(3);
-         print("lua::map coords for point 3 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
-
-         D.map:smooth(false);
-         D.map:alpha(true);
-
-         if (D.map:alpha()) then
-            print("lua::map is alpha");
-         end
-
-         if (D.map:smooth()) then
-            print("lua::map is smooooth");
-         end
-
-         if (D.map:clockwise()) then
-            print("lua::map is clockwise");
-         end
-
-         D.map:color(255, 255, 255, 255); // set all points to this colour.
-         D.map:color(1, 255, 0, 255, 255);  // set just one point to this colour.
-
-         D.map:lighting(75, 75, 10, 255, 255, 255, 0, 255, 0);  // Ambient light and a 3D light source.
-
-         --// Toss it around.
-         D.map:rotate(45.0, 75, 75);
-         D.map:zoom(1.5, 1.5, 75, 75);
-         D.map:rotate3d(10.0, 20.0, 30.0, 75, 75, 0);
-         D.map:perspective(200, 200, 0, 20);
-
-         --// For image UV mapping.
-         D.map:uv(0, 0.0, 0.0);
-         D.map:uv(1, 50.0, 0.0);
-         D.map:uv(2, 50.0, 50.0);
-         D.map:uv(3, 0.0, 50.0);
-
-         --// Actually apply the resulting transformations.
-         D.rect2:map(D.map);
-         D.rect2:map_enable(true);
-         if (D.rect2:map_enable()) then
-            print("lua::map enabled");
-         end
-
-         D.rect2:map_source(D.rect);  --// Don't think this is actually implemented in evas.
-
---//         D.map:dup();
---//         D.map:size();  --// perhaps overide the # operator?  For now it's only gonna return 4 anyway.
-
-         --// example of deleting something
-         --// D.tim:del();
-
-         --// test the color_class stuff
-         colour = edje.color_class("test_colour");
-         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
-         colour = edje.color_class("test_colour", 32, 64, 255, 128);
-         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
-         colour = edje.color_class("test_colour", { r=255, g=0, b=255, a=255 });
-         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
-         text = edje.text_class("test_text_class", "Sans:style=Bold", 8);
-         print("lua::text_class= " .. text.font .. " size " .. text.size);
-         --// Do something bad, just to see what happens.
---//         edje.color_class(nil);
-         --// shutdown func - generally empty or not there. everything garbage collected for you
-         function shutdown ()
-            print("lua::shutdown ... " .. D.val);
-         end
-
-         function show ()
-            print("lua::show ... " .. D.val);
-         end
-
-         function hide ()
-            print("lua::hide ... " .. D.val);
-         end
-
-         function move (x, y)
-            print("lua::move x=" .. x .. " x=" .. y);
-            D.edje:move(0, 0);
-         end
-
-         function resize (w, h)
-            print("lua::resize w=" .. w .. " h=" .. h);
-            D.text:move((w - text_geom.w) / 2, (h - text_geom.h) / 8);
-            D.edje:resize(w, h);
-         end
-
-         function message (id, type, ...)
-            print("lua::message id=" .. id .. " type=" .. type);
-            --// handle your message type here. check id + type then use the
-            --// vararg appropriately. they are the same as the params passed 
-            --// to edje:messagesend() (if any are passed at all).  Any array
-            --// arguments are passed as a single table.
-
-            if ("none" == type) then
-               print("lua::message no args");
-            elseif ("strset" == type) then
-               strs = ... ;
-               print_table_start(strs, "", "lua::message strings");
-            elseif ("intset" == type) then
-               ints = ... ;
-               print_table_start(ints, "", "lua::message ints");
-            elseif ("floatset" == type) then
-               floats = ... ;
-               print_table_start(floats, "", "lua::message floats");
-            elseif ("strintset" == type) then
-               str, ints = ... ;
-               print("lua::message " .. str);
-               print_table_start(ints, "", "lua::message ints");
-            elseif ("strfloatset" == type) then
-               str, floats = ... ;
-               print("lua::message " .. str);
-               print_table_start(floats, "", "lua::message floats");
-            else
-               print("lua::message " .. ... );
-            end
-         end
-
-         function signal (sig, src)
-            print("lua::signal sig= " .. sig .. " src= " .. src);
-         end
-      }
-   }
-
-   // The group name NEEDS a / in it, 
-   // or the part below that tries to swallow it won't work.
-   // Leaving just the lua part visible.
-   group {
-      name: "bubbles/lua";
-      lua_script_only: 1;
-      lua_script {
-         local bubbles = { };
-         local bubbleCols = 8;
-         local bubbleRows = 6;
-
-         for i = 1, bubbleRows do
-            row = { };
-            for j = 1, bubbleCols do
-               image = edje.image();
-               image:image("bubble.png");
-               image:show();
-               table.insert(row, image);
-            end
-            table.insert(bubbles, row);
-         end
-
-         function resize (w, h)
-            for i = 1, bubbleRows do
-               for j = 1, bubbleCols do
-                  w1 = w / bubbleCols;
-                  h1 = h / bubbleRows;
-                  bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1);
-                  if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then
-                     bubbles[i][j]:color(0, 255, 0, 200);
-                  else
-                     bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200);
-                  end
-               end
-            end
-         end
-      }
-   }
-
-   group {
-      name: "plain/edje/group";
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-            }
-         }
-
-         // A lua group embedded in an edje group.
-         part {
-            name: "bubbles_lua";
-            type: GROUP;
-            source: "bubbles/lua";
-            mouse_events: 0;
-            description { state: "default" 0.0; }
-         }
-
-         part {
-            name: "background_image";
-            type: IMAGE;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               aspect_preference: HORIZONTAL;
-               color_class: "test_colour";
-               image { normal: "test.png"; }
-            }
-         }
-
-         part {
-            name: "some_text";
-            type: TEXT;
-            mouse_events: 0;
-            description {
-               state: "default" 0;
-               text
-               {
-                  text: "This is test text.";
-                  text_class: "test_text_class";
-               }
-            }
-         }
-
-      }
-   }
-
-}
-
diff --git a/legacy/edje/src/examples/messages_echo.edc b/legacy/edje/src/examples/messages_echo.edc
deleted file mode 100644 (file)
index 045ec92..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Simple EDC exemplifying how to receive and emit all types of messages */
-
-/* Actually for sets it will send back a message of the same type with the
- * first item and N other messages with the remaining items. */
-
-collections {
-   group {
-      name: "messages_echo";
-
-      parts {
-         part {
-            name: "bg";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               min: 400 50;
-               max: 400 50;
-               color: 0 0 0 255;
-            }
-         }
-
-         part {
-            name: "text";
-            type: TEXT;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               text {
-                  font: "Sans";
-                  size: 20;
-                  text: "I will echo all your messages ;)";
-               }
-            }
-         }
-      }
-
-      script {
-         public message(Msg_Type:type, id, ...) {
-            if (type == MSG_INT)
-               send_message(type, id, getarg(2));
-            else if (type == MSG_FLOAT)
-               send_message(type, id, getfarg(2));
-            else if (type == MSG_STRING) {
-               new buf[1024];
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf);
-            }
-            else if (type == MSG_STRING_INT) {
-               new buf[1024];
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf, getarg(3));
-            }
-            else if (type == MSG_STRING_FLOAT) {
-               new buf[1024];
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf, getfarg(3));
-            }
-            else if (type == MSG_INT_SET) {
-               new i, n = numargs();
-               send_message(type, id, getarg(2));
-               for (i = 3; i < n; i++)
-                  send_message(MSG_STRING_INT, id, "Extra INT:", getarg(i));
-            }
-            else if (type == MSG_FLOAT_SET) {
-               new i, n = numargs();
-               send_message(type, id, getfarg(2));
-               for (i = 3; i < n; i++)
-                  send_message(MSG_STRING_FLOAT, id, "Extra FLOAT:",
-                        getfarg(i));
-            }
-            else if (type == MSG_STRING_SET) {
-               new buf[1024], i, n = numargs();
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf);
-               for (i = 3; i < n; i++) {
-                  getsarg(i, buf, sizeof(buf));
-                  send_message(MSG_STRING_SET, id, "Extra STRING:", buf);
-               }
-            }
-            else if (type == MSG_STRING_INT_SET) {
-               new buf[1024], i, n = numargs();
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf, getarg(3));
-               for (i = 4; i < n; i++)
-                  send_message(MSG_STRING_INT, id, "Extra INT:", getarg(i));
-            }
-            else if (type == MSG_STRING_FLOAT_SET) {
-               new buf[1024], i, n = numargs();
-               getsarg(2, buf, sizeof(buf));
-               send_message(type, id, buf, getfarg(3));
-               for (i = 4; i < n; i++)
-                  send_message(MSG_STRING_INT, id, "Extra FLOAT:", getfarg(i));
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/multisense.edc b/legacy/edje/src/examples/multisense.edc
deleted file mode 100644 (file)
index 3cbaf67..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-collections {
-   sounds {
-      sample {
-         name: "sound_name1" RAW;
-         source: "duck.wav";
-      }
-      tone: "tone-name" 2600;
-   }
-   group {
-      name: "example_group";
-      parts {
-         part {
-            name: "sample_bg";
-            type: RECT;
-            mouse_events: 1;
-            description {
-               state: "default" 0.0;
-               min: 300 150;
-               max: 300 150;
-               color: 200 200 200 100;
-               align: 0.5 0.0;
-               rel1 {
-                  relative: 0.0 0.0;
-               }
-            }
-         }
-         part {
-            name: "sample_text";
-            type: TEXT;
-            mouse_events: 1;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               rel1.to: "sample_bg";
-               rel2.to: "sample_bg";
-               text {
-                  font: "Sans";
-                  size: 20;
-                  text: "Play Sound Sample";
-               }
-            }
-         }
-         part {
-            name: "tone_bg";
-            type: RECT;
-             mouse_events: 1;
-            description {
-               state: "default" 0.0;
-               min: 300 150;
-               max: 300 150;
-               align: 0.5 0.0;
-               color: 180 180 180 100;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to: "sample_bg";
-               }
-            }
-         }
-         part {
-            name: "tone_text";
-            type: TEXT;
-             mouse_events: 1;
-             repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               rel1.to: "tone_bg";
-               rel2.to: "tone_bg";
-               text {
-                  font: "Sans";
-                  size: 20;
-                  text: "Play Tone";
-               }
-            }
-         }
-         programs {
-            program {
-               name: "click_sample1";
-               signal: "mouse,down,1";
-               source: "sample_bg";
-               action: PLAY_SAMPLE "sound_name1" 1.0;
-            }
-            program {
-               name: "click_tone";
-               signal: "mouse,down,1";
-               source: "tone_bg";
-               action: PLAY_TONE "tone-name" 0.1;
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/perspective.edc b/legacy/edje/src/examples/perspective.edc
deleted file mode 100644 (file)
index 810ae18..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-collections {
-   group {
-      name: "example/group";
-
-      min: 480 320;
-
-      parts {
-         part {
-            name: "bg";
-            type: RECT;
-            mouse_events: 1;
-
-            description {
-               state: "default" 0.0;
-            }
-         } // bg
-
-         part {
-            name: "rectangle";
-            type: RECT;
-            mouse_events: 0;
-
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 128;
-
-               rel1 {
-                  offset: -5 -5;
-                  to: "title";
-               }
-               rel2 {
-                  offset: 4 4;
-                  to: "title";
-               }
-
-               map {
-                  on: 1;
-                  perspective_on: 1;
-                  rotation {
-                     x: 45;
-                  }
-               }
-            }
-         } // rectangle
-
-         part {
-            name: "title";
-            type: TEXT;
-            mouse_events: 0;
-
-            description {
-               state: "default" 0.0;
-               color: 200 200 200 255;
-
-               align: 0.0 0.5;
-
-               rel1.relative: 0.1 0.1;
-               rel2.relative: 0.1 0.1;
-
-               text {
-                  text: "Perspective example";
-                  font: "Sans";
-                  size: 16;
-                  min: 1 1;
-               }
-
-               map {
-                  on: 1;
-                  perspective_on: 1;
-                  rotation {
-                     x: 45;
-                  }
-               }
-            }
-
-            description {
-               state: "right" 0.0;
-               inherit: "default" 0.0;
-
-               rel1.relative: 0.5 0.1;
-               rel2.relative: 0.5 0.1;
-            }
-            description {
-               state: "bottom" 0.0;
-               inherit: "default" 0.0;
-
-               rel1.relative: 0.1 0.9;
-               rel2.relative: 0.1 0.9;
-            }
-            description {
-               state: "bottomright" 0.0;
-               inherit: "default" 0.0;
-
-               rel1.relative: 0.5 0.9;
-               rel2.relative: 0.5 0.9;
-            }
-         } // title
-      }
-
-      programs {
-         program {
-            name: "move,right";
-            signal: "move,1,0";
-            action: STATE_SET "right" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "title";
-            after: "animation,end";
-         }
-         program {
-            name: "move,bottom";
-            signal: "move,0,1";
-            action: STATE_SET "bottom" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "title";
-            after: "animation,end";
-         }
-         program {
-            name: "move,bottomright";
-            signal: "move,1,1";
-            action: STATE_SET "bottomright" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "title";
-            after: "animation,end";
-         }
-         program {
-            name: "move,default";
-            signal: "move,0,0";
-            action: STATE_SET "default" 0.0;
-            transition: SINUSOIDAL 1.0;
-            target: "title";
-            after: "animation,end";
-         }
-
-         program {
-            name: "animation,end";
-            action: SIGNAL_EMIT "animation,end" "";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/physics_3d.edc b/legacy/edje/src/examples/physics_3d.edc
deleted file mode 100644 (file)
index 846f057..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/* This example demonstrates the usage of physics faces.
- *
- * Faces references other groups of the collection. The same group
- * can be used for many faces, but to illustrate it we are adding
- * a rectangle of different color for each face of a cube.
- * It will apply impulses on the cube when receiving messages, so
- * it's possible to see the cube rotating and moving.
- *
- * It can be tested with edje_player slave mode
- * $ edje_player -S -p -g example_group physics_3d.edj
- *
- * message 1 FLOAT_SET 3 80 -100 0 -> apply an impulse on red box with
- *    x = 50, y = -100, z = 0, for example
- * message 2 FLOAT_SET 3 0 100 0 -> apply a torque impulse on red box with
- *    x = 4, y = 0, z = 0.8, for example
- */
-
-#define ID_IMPULSE (1)
-#define ID_TORQUE_IMPULSE (2)
-
-collections {
-
-   group {
-      name: "right";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 0 255 255; /* blue */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "left";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 255 0 255; /* green */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "front";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255; /* black */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "back";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 120 120 120 255; /* gray */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "top";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 255 0 255 255; /* purple */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "bottom";
-      parts {
-         part {
-            name: "face";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 255 255 255; /* yellow */
-            }
-         }
-      }
-   }
-
-   group {
-      name: "example_group";
-
-      physics {
-         world {
-            gravity: 0 80 0;
-            rate: 30;
-            z: -100;
-            depth: 200;
-         }
-      }
-
-      script {
-         public message(Msg_Type:type, id, ...) {
-            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_impulse(PART:"red_box", x, y, z);
-            }
-            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_torque_impulse(PART:"red_box", x, y, z);
-            }
-         }
-      }
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "red_box";
-            type: RECT;
-            physics_body: RIGID_BOX;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* light red */
-               rel1.relative: 0.4 0.1;
-               rel2.relative: 0.55 0.3;
-               aspect: 1 1;
-               physics {
-                  mass: 30;
-                  z: -24;
-                  depth: 48;
-                  restitution: 0.85;
-                  movement_freedom {
-                     linear: 1 1 1;
-                     angular: 1 1 1;
-                  }
-                  faces {
-                     face {
-                        type: BOX_FRONT;
-                        source: "front";
-                     }
-                     face {
-                        type: BOX_BACK;
-                        source: "back";
-                     }
-                     face {
-                        type: BOX_TOP;
-                        source: "top";
-                     }
-                     face {
-                        type: BOX_BOTTOM;
-                        source: "bottom";
-                     }
-                     face {
-                        type: BOX_LEFT;
-                        source: "left";
-                     }
-                     face {
-                        type: BOX_RIGHT;
-                        source: "right";
-                     }
-                  }
-               }
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.8;
-               }
-            }
-         }
-
-         part {
-            name: "front";
-            type: RECT;
-            physics_body: BOUNDARY_FRONT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "back";
-            type: RECT;
-            physics_body: BOUNDARY_BACK;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "left";
-            type: RECT;
-            physics_body: BOUNDARY_LEFT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "right";
-            type: RECT;
-            physics_body: BOUNDARY_RIGHT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/physics_actions.edc b/legacy/edje/src/examples/physics_actions.edc
deleted file mode 100644 (file)
index abcf5f5..0000000
+++ /dev/null
@@ -1,573 +0,0 @@
-/* This example demostrates physics actions, like applying impulses and forces
- * to a body.
- *
- * There are two ways of interacting with bodies. One is using the wanted
- * action in a program. E.g.:
- *
- * action: PHYSICS_VEL_SET 0 -200 0;
- * target: "part_name";
- *
- * The other way is via script. The same action described above would be
- * physics_set_velocity(PART:"part_name", 0, -200, 0);
- *
- * This a very extensive example, because it illustrate the usage of all
- * the possible actions in the both ways.
- *
- * It can be tested with edje_player slave mode
- * $ edje_player -S -p physics_actions.edj
- *
- * signal up impulse   -> will throw both balls up
- * signal down impulse   -> will throw both balls down
- * signal left impulse -> will throw blue ball to the left
- * signal right impulse -> will throw red ball to the right
- * signal clockwise impulse -> will roll blue ball in clockwise
- * signal counterclockwise impulse -> will roll blue ball in counterclockwise
- * signal up force -> will apply a force up in blue ball
- * signal down force -> will apply a force down in blue ball
- * signal left force -> will apply a force left in blue ball
- * signal right force -> will apply a force right in blue ball
- * signal clockwise torque -> will apply a clockwise torque in blue ball
- * signal counterclockwise torque -> will apply a counterclockwise torque
- *                                   in blue ball
- * signal clear force -> will clear all forces applied over blue ball
- * signal up velocity -> will set a velocity up in blue ball
- * signal down velocity -> will set a velocity down in blue ball
- * signal left velocity -> will set a velocity left in blue ball
- * signal right velocity -> will set a velocity right in blue ball
- * signal clockwise velocity -> will set a clockwise velocity in blue ball
- * signal counterclockwise velocity -> will set a counterclockwise velocity
- *                                   in blue ball
- * signal stop velocity -> will stop the blue ball
- * signal clockwise rotation -> will rotate blue ball 90o degrees clockwise
- * signal counterclockwise rotation -> will rotate blue ball 90o degrees
- *                                     counterclockwise
- *
- * message 1 FLOAT_SET 3 50 -100 0 -> apply an impulse on blue ball with
- *    x = 50, y = -100, z = 0, for example
- * message 2 FLOAT_SET 3 0 0 8.2 -> apply a torque impulse on blue ball with
- *    x = 4, y = 0, z = 0.8, for example
- * message 3 FLOAT_SET 3 80 100.4 0 -> apply a force on blue ball with
- *    x = 80, y = 100.4, z = 0, for example
- * message 4 FLOAT_SET 3 0 0 -5.6 -> apply a torque on blue ball with
- *    x = 0, y = 0, z = -5.6, for example
- * message 5 STRING "blue_circle" -> clear all forces of part.
- *    It will clear all forces (linear and torque) over "blue_circle",
- *    for example.
- * message 6 STRING "blue_circle" -> return a message with all forces applied
- *    over the part.
- * message 7 STRING "blue_circle" -> return a message with all torques applied
- *    over the part.
- * message 8 FLOAT_SET 3 300 -103.2 0 -> set linear velocity of the blue ball
- *    with x = 300, y = -103.2, z = 150, for example
- * message 9 STRING "blue_circle" -> return a message with part's linear
- *    velocity.
- * message 10 FLOAT_SET 3 0 0 150 -> set angular velocity of the blue ball
- *    with x = 0, y = 0, z = 150, for example
- * message 11 STRING "blue_circle" -> return a message with part's angular
- *    velocity.
- * message 12 STRING "blue_circle" -> stop the part.
- * message 13 FLOAT_SET 4 0.707 0 0 0.707 -> set blue ball rotation with
- *    quaternion w = 0.707, x = 0, y = 0, z = 0.707
- * message 14 STRING "blue_circle" -> return a message with part's rotation
- */
-
-#define ID_IMPULSE (1)
-#define ID_TORQUE_IMPULSE (2)
-#define ID_FORCE (3)
-#define ID_TORQUE (4)
-#define ID_FORCES_CLEAR (5)
-#define ID_FORCES_GET (6)
-#define ID_TORQUES_GET (7)
-#define ID_VEL_SET (8)
-#define ID_VEL_GET (9)
-#define ID_ANG_VEL_SET (10)
-#define ID_ANG_VEL_GET (11)
-#define ID_STOP (12)
-#define ID_ROT_SET (13)
-#define ID_ROT_GET (14)
-
-collections {
-
-   images {
-      image: "bubble-blue.png" COMP;
-   }
-
-   group {
-      name: "example_group";
-
-      script {
-         public message(Msg_Type:type, id, ...) {
-            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_impulse(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_torque_impulse(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_FORCE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_force(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_TORQUE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_torque(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_FORCES_CLEAR) && (type == MSG_STRING)) {
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_clear_forces(pid);
-            }
-            else if ((id == ID_FORCES_GET) && (type == MSG_STRING)) {
-               new Float:x, Float:y, Float:z;
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_get_forces(pid, x, y, z);
-               send_message(MSG_FLOAT_SET, id, x, y, z);
-            }
-            else if ((id == ID_TORQUES_GET) && (type == MSG_STRING)) {
-               new Float:x, Float:y, Float:z;
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_get_torques(pid, x, y, z);
-               send_message(MSG_FLOAT_SET, id, x, y, z);
-            }
-            else if ((id == ID_VEL_SET) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_set_velocity(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_VEL_GET) && (type == MSG_STRING)) {
-               new Float:x, Float:y, Float:z;
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_get_velocity(pid, x, y, z);
-               send_message(MSG_FLOAT_SET, id, x, y, z);
-            }
-            else if ((id == ID_ANG_VEL_SET) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_set_ang_velocity(PART:"blue_circle", x, y, z);
-            }
-            else if ((id == ID_ANG_VEL_GET) && (type == MSG_STRING)) {
-               new Float:x, Float:y, Float:z;
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_get_ang_velocity(pid, x, y, z);
-               send_message(MSG_FLOAT_SET, id, x, y, z);
-            }
-            else if ((id == ID_STOP) && (type == MSG_STRING)) {
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_stop(pid);
-            }
-            else if ((id == ID_ROT_SET) && (type == MSG_FLOAT_SET)) {
-               new Float:w, Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 6) return;
-               w = getfarg(2);
-               x = getfarg(3);
-               y = getfarg(4);
-               z = getfarg(5);
-               physics_set_rotation(PART:"blue_circle", w, x, y, z);
-            }
-            else if ((id == ID_ROT_GET) && (type == MSG_STRING)) {
-               new Float:w, Float:x, Float:y, Float:z;
-               new pid, name[1024];
-               getsarg(2, name, sizeof(name));
-               pid = get_part_id(name);
-               if (!pid) return;
-               physics_get_rotation(pid, w, x, y, z);
-               send_message(MSG_FLOAT_SET, id, w, x, y, z);
-            }
-         }
-      }
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "blue_circle";
-            type: IMAGE;
-            physics_body: RIGID_SPHERE;
-            description {
-               state: "default" 0.0;
-               rel1.relative: 0.35 0.1;
-               rel2.relative: 0.55 0.2;
-               aspect: 1 1;
-               image {
-                  normal: "bubble-blue.png";
-               }
-               physics {
-                  restitution: 0.85;
-                  friction: 1.0;
-               }
-            }
-         }
-
-         part {
-            name: "red_circle";
-            type: IMAGE;
-            physics_body: RIGID_SPHERE;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* light red */
-               rel1.relative: 0.65 0.1;
-               rel2.relative: 0.85 0.2;
-               aspect: 1 1;
-               image {
-                  normal: "bubble-blue.png";
-               }
-               physics {
-                  restitution: 0.85;
-                  friction: 1.0;
-               }
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.6;
-                  friction: 1.0;
-               }
-            }
-         }
-
-         part {
-            name: "right_wall";
-            type: RECT;
-            physics_body: BOUNDARY_RIGHT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.3;
-               }
-            }
-         }
-
-         part {
-            name: "left_wall";
-            type: RECT;
-            physics_body: BOUNDARY_LEFT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.3;
-               }
-            }
-         }
-
-         part {
-            name: "roof";
-            type: RECT;
-            physics_body: BOUNDARY_TOP;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.2;
-               }
-            }
-         }
-      }
-
-      programs {
-
-         program {
-            name: "impulse_up";
-            signal: "up";
-            source: "impulse";
-            action: PHYSICS_IMPULSE 0 -300 0;
-            target: "blue_circle";
-            target: "red_circle";
-         }
-
-         program {
-            name: "impulse_down";
-            signal: "down";
-            source: "impulse";
-            action: PHYSICS_IMPULSE 0 300 0;
-            target: "red_circle";
-            target: "blue_circle";
-         }
-
-         program {
-            name: "impulse_left";
-            signal: "left";
-            source: "impulse";
-            action: PHYSICS_IMPULSE -300 0 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "impulse_right";
-            signal: "right";
-            source: "impulse";
-            action: PHYSICS_IMPULSE 300 0 0;
-            target: "red_circle";
-         }
-
-         program {
-            name: "impulse_clockwise";
-            signal: "clockwise";
-            source: "impulse";
-            action: PHYSICS_TORQUE_IMPULSE 0 0 4;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "impulse_counterclockwise";
-            signal: "counterclockwise";
-            source: "impulse";
-            action: PHYSICS_TORQUE_IMPULSE 0 0 -4;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "force_up";
-            signal: "up";
-            source: "force";
-            action: PHYSICS_FORCE 0 -300 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "force_down";
-            signal: "down";
-            source: "force";
-            action: PHYSICS_FORCE 0 300 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "force_left";
-            signal: "left";
-            source: "force";
-            action: PHYSICS_FORCE -300 0 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "force_right";
-            signal: "right";
-            source: "force";
-            action: PHYSICS_FORCE 300 0 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "torque_clockwise";
-            signal: "clockwise";
-            source: "torque";
-            action: PHYSICS_TORQUE 0 0 4;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "torque_counterclockwise";
-            signal: "counterclockwise";
-            source: "torque";
-            action: PHYSICS_TORQUE 0 0 -4;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "forces_clear";
-            signal: "clear";
-            source: "force";
-            action: PHYSICS_FORCES_CLEAR;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_up";
-            signal: "up";
-            source: "velocity";
-            action: PHYSICS_VEL_SET 0 -200 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_down";
-            signal: "down";
-            source: "velocity";
-            action: PHYSICS_VEL_SET 0 200 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_left";
-            signal: "left";
-            source: "velocity";
-            action: PHYSICS_VEL_SET -200 0 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_right";
-            signal: "right";
-            source: "velocity";
-            action: PHYSICS_VEL_SET 200 0 0;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_clockwise";
-            signal: "clockwise";
-            source: "velocity";
-            action: PHYSICS_ANG_VEL_SET 0 0 80;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "velocity_counterclockwise";
-            signal: "counterclockwise";
-            source: "velocity";
-            action: PHYSICS_ANG_VEL_SET 0 0 -80;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "stop";
-            signal: "stop";
-            source: "velocity";
-            action: PHYSICS_STOP;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "rotation_clockwise";
-            signal: "clockwise";
-            source: "rotation";
-            action: PHYSICS_ROT_SET 0.707 0 0 0.707;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "rotation_counterclockwise";
-            signal: "counterclockwise";
-            source: "rotation";
-            action: PHYSICS_ROT_SET 0.707 0 0 -0.707;
-            target: "blue_circle";
-         }
-
-         program {
-            name: "customize";
-            signal: "custom";
-            script {
-               new Float: mass, Float:rest, Float:fric;
-               new Float: linear, Float:angular;
-               new val;
-
-               custom_state(PART:"red_circle", "default", 0.0);
-               set_state_val(PART:"red_circle", STATE_COLOR, 0, 0, 0, 255);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_MASS, 4.5);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_RESTITUTION, 0.1);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_FRICTION, 0.345);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_DAMPING, 0.3,
-                       0.1);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_SLEEP, 34.1,
-                       12.83);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_LIGHT_ON, 1);
-               set_state_val(PART:"red_circle",
-                       STATE_PHYSICS_IGNORE_PART_POS, 1);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_Z, -40);
-               set_state_val(PART:"red_circle", STATE_PHYSICS_DEPTH, 80);
-               set_state(PART:"red_circle", "custom", 0.0);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_MASS, mass);
-               get_state_val(PART:"red_circle", STATE_PHYSICS_RESTITUTION,
-                     rest);
-               get_state_val(PART:"red_circle", STATE_PHYSICS_FRICTION,
-                     fric);
-               send_message(MSG_STRING_FLOAT_SET, 1, "Mass", mass);
-               send_message(MSG_STRING_FLOAT_SET, 1, "Friction", fric);
-               send_message(MSG_STRING_FLOAT_SET, 1, "Restitution", rest);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_DAMPING,
-                     linear, angular);
-               send_message(MSG_STRING_FLOAT_SET, 1, "Damping", linear,
-                       angular);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_SLEEP,
-                     linear, angular);
-               send_message(MSG_STRING_FLOAT_SET, 1, "Sleep", linear,
-                       angular);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_LIGHT_ON, val);
-               send_message(MSG_STRING_INT, 1, "Light On", val);
-
-               get_state_val(PART:"red_circle",
-                       STATE_PHYSICS_IGNORE_PART_POS, val);
-               send_message(MSG_STRING_INT, 1, "Ignore Part Pos", val);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_Z, val);
-               send_message(MSG_STRING_INT, 1, "Z", val);
-
-               get_state_val(PART:"red_circle", STATE_PHYSICS_DEPTH, val);
-               send_message(MSG_STRING_INT, 1, "Depth", val);
-            }
-         }
-
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/physics_backcull.edc b/legacy/edje/src/examples/physics_backcull.edc
deleted file mode 100644 (file)
index 3628e65..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-/* This example demonstrates how to customize movement freedom and backface
- * culling.
- *
- * By default, bodies only will move on x and y axis, and rotate only
- * aroud the z axis. To modify it, the block "movement freedom" should be used.
- * This block consists of the "linear" and "angular" attributes, each one
- * receiving 3 booleans, to set if movement in each axis is allowed or not.
- *
- * When a body has backface culling activated, it will be hidden when
- * it's not facing the camera. It's deactivated by default.
- *
- * It can be tested with edje_player slave mode
- * $ edje_player -S -p physics_backcull.edj
- *
- * signal on backcull -> allow movement in all axes, enable backface cull
- * signal off backcull -> allow movement in all axes, disable backface cull
- *
- * message 1 FLOAT_SET 3 50 -100 0 -> apply an impulse on red box with
- *    x = 50, y = -100, z = 0, for example
- * message 2 FLOAT_SET 3 0 0 8.2 -> apply a torque impulse on red box with
- *    x = 4, y = 0, z = 0.8, for example
- * message 3 FLOAT_SET 3 0 1 0 -> allow linear movement on axes x, y, z
- * message 4 FLOAT_SET 3 0 1 0 -> allow angular movement on axes x, y, z
- * message 5 STRING "linear" -> return a message with part's movement freedom
- *                              for "linear" or "angular.
- */
-
-#define ID_IMPULSE (1)
-#define ID_TORQUE_IMPULSE (2)
-#define ID_LIN_SET (3)
-#define ID_ANG_SET (4)
-#define ID_GET (5)
-
-collections {
-
-   group {
-      name: "example_group";
-
-      script {
-         public message(Msg_Type:type, id, ...) {
-            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_impulse(PART:"red_box", x, y, z);
-            }
-            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               physics_torque_impulse(PART:"red_box", x, y, z);
-            }
-            else if ((id == ID_LIN_SET) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               custom_state(PART:"red_box", "default", 0.0);
-               set_state_val(PART:"red_box", STATE_PHYSICS_MOV_FREEDOM_LIN,
-                  x, y, z);
-               set_state(PART:"red_box", "custom", 0.0);
-            }
-            else if ((id == ID_ANG_SET) && (type == MSG_FLOAT_SET)) {
-               new Float:x, Float:y, Float:z;
-               new n = numargs();
-               if (n < 5) return;
-               x = getfarg(2);
-               y = getfarg(3);
-               z = getfarg(4);
-               custom_state(PART:"red_box", "default", 0.0);
-               set_state_val(PART:"red_box", STATE_PHYSICS_MOV_FREEDOM_ANG,
-                  x, y, z);
-               set_state(PART:"red_box", "custom", 0.0);
-            }
-            else if ((id == ID_GET) && (type == MSG_STRING)) {
-               new Float:x, Float:y, Float:z;
-               new name[1024];
-               getsarg(2, name, sizeof(name));
-               if (!strcmp(name, "linear"))
-               {
-                  get_state_val(PART:"red_box",
-                     STATE_PHYSICS_MOV_FREEDOM_LIN, x, y, z);
-                  send_message(MSG_STRING_FLOAT_SET, 1, "Linear", x, y, z);
-               }
-               else if (!strcmp(name, "angular"))
-               {
-                  get_state_val(PART:"red_box",
-                     STATE_PHYSICS_MOV_FREEDOM_ANG, x, y, z);
-                  send_message(MSG_STRING_FLOAT_SET, 1, "Angular", x, y, z);
-               }
-            }
-         }
-      }
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "red_box";
-            type: RECT;
-            physics_body: RIGID_BOX;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* light red */
-               rel1.relative: 0.45 0.1;
-               rel2.relative: 0.55 0.2;
-               aspect: 1 1;
-               physics {
-                  mass: 30;
-                  restitution: 0.85;
-                  movement_freedom {
-                     linear: 1 1 1;
-                     angular: 1 1 1;
-                  }
-               }
-            }
-            description {
-               state: "backface_culled" 0.0;
-               inherit: "default" 0.0;
-               physics.backface_cull: 1;
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.8;
-               }
-            }
-         }
-
-         part {
-            name: "front";
-            type: RECT;
-            physics_body: BOUNDARY_FRONT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "back";
-            type: RECT;
-            physics_body: BOUNDARY_BACK;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "left";
-            type: RECT;
-            physics_body: BOUNDARY_LEFT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "right";
-            type: RECT;
-            physics_body: BOUNDARY_RIGHT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.4;
-               }
-            }
-         }
-      }
-
-      programs {
-         program {
-            name: "backcull,on";
-            signal: "on";
-            source: "backcull";
-            action: STATE_SET "backface_culled" 0.0;
-            target: "red_box";
-         }
-
-         program {
-            name: "backcull,off";
-            signal: "off";
-            source: "backcull";
-            action: STATE_SET "default" 0.0;
-            target: "red_box";
-         }
-
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/physics_basic.edc b/legacy/edje/src/examples/physics_basic.edc
deleted file mode 100644 (file)
index 0003b4c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/* This example demonstrates the most basic usage of physics.
- *
- * To make a part behaves like a body in a physics simulation,
- * all that is needed is to set its attribute part.physics_body
- * to something different from NONE. For example, RIGID_BOX,
- * or CLOTH. It will define the shape of the part, and how it
- * will interact with the environment.
- *
- * The remaining body attributes should be set inside the physics
- * block of description. In this example we are customizing
- * the restitution, that is how much the body bounces, and friction.
- *
- * It can be tested with edje_player
- * $ edje_player physics_basic.edj
- */
-
-collections {
-
-   images {
-      image: "bubble-blue.png" COMP;
-   }
-
-   group {
-      name: "example_group";
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "red_box";
-            type: RECT;
-            physics_body: RIGID_BOX;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* red */
-               rel1.relative: 0.75 0.1;
-               rel2.relative: 0.95 0.3;
-               aspect: 1 1;
-               physics {
-                  restitution: 0.85;
-               }
-            }
-         }
-
-         part {
-            name: "blue_circle";
-            type: IMAGE;
-            physics_body: RIGID_SPHERE;
-            description {
-               state: "default" 0.0;
-               rel1.relative: 0.25 0.1;
-               rel2.relative: 0.45 0.3;
-               aspect: 1 1;
-               image {
-                  normal: "bubble-blue.png";
-               }
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.92;
-                  friction: 0.6;
-               }
-            }
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/physics_complex.edc b/legacy/edje/src/examples/physics_complex.edc
deleted file mode 100644 (file)
index c09edea..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-collections {
-
-   images {
-      image: "bubble-blue.png" COMP;
-   }
-
-   group {
-      name: "example_group";
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "red_box";
-            type: RECT;
-            physics_body: RIGID_BOX;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* light red */
-               rel1.relative: 0.45 0.1;
-               rel2.relative: 0.55 0.2;
-               aspect: 1 1;
-               physics {
-                  mass: 10.8;
-                  restitution: 0.85;
-                  friction: 1.0;
-                  light_on: 1;
-               }
-            }
-            description {
-               state: "heavier" 0.0;
-               inherit: "default" 0.0;
-               color: 120 0 0 255; /* dark red */
-               physics {
-                  mass: 30;
-                  restitution: 0;
-                  damping: 0.4 0.2;
-                  sleep: 18 13.4;
-               }
-            }
-         }
-
-         part {
-            name: "box_shadow";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 120;
-               rel1 {
-                  to_y: "red_box";
-                  relative: 0.9 0.1;
-               }
-               rel2 {
-                  to_y: "red_box";
-                  relative: 1 0.9;
-               }
-            }
-         }
-
-         part {
-            name: "blue_circle";
-            type: IMAGE;
-            physics_body: RIGID_SPHERE;
-            description {
-               state: "default" 0.0;
-               rel1.relative: 0.75 0.1;
-               rel2.relative: 1 0.3;
-               aspect: 1 1;
-               image {
-                  normal: "bubble-blue.png";
-               }
-               physics {
-                  ignore_part_pos: 0;
-                  material: IRON;
-               }
-            }
-            description {
-               state: "left" 0.0;
-               inherit: "default" 0.0;
-               rel1.relative: 0 0.1;
-               rel2.relative: 0.25 0.3;
-               physics {
-                  material: CUSTOM;
-                  density: 40;
-               }
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.9;
-               }
-            }
-         }
-      }
-
-      programs {
-         program {
-            name: "change_box";
-            signal: "load";
-            in: 2 0;
-            action: STATE_SET "heavier" 0.0;
-            transition: LINEAR 1.5;
-            target: "red_box";
-         }
-
-         program {
-            name: "change_circle";
-            signal: "load";
-            in: 3 0;
-            action: STATE_SET "left" 0.0;
-            target: "blue_circle";
-            after: "change_circle_2";
-         }
-
-         program {
-            name: "change_circle_2";
-            in: 3 0;
-            action: STATE_SET "default" 0.0;
-            target: "blue_circle";
-            after: "change_circle";
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/physics_soft_bodies.edc b/legacy/edje/src/examples/physics_soft_bodies.edc
deleted file mode 100644 (file)
index fa9e053..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-/* This example shows how to use soft bodies.
- *
- * Soft bodies have an attribute to change how much it will
- * deforms when colliding. It's called "hardness", and can
- * be set to any value between 0.0 (soft) and 1.0 (hard).
- * By default, all the soft bodies are hard (1.0).
- *
- * This example will make a box and a sphere collide
- * many times against the floor and will be placed at
- * top of the screen again. They will have their hardness
- * modified each time, going from the default to a very
- * soft state.
- *
- * It can be tested with edje_player
- * $ edje_player physics_soft_bodies.edj
- */
-
-collections {
-
-   images {
-      image: "bubble-blue.png" COMP;
-   }
-
-   group {
-      name: "example_group";
-
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            physics_body: NONE;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255; /* white */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-
-         part {
-            name: "red_box";
-            type: RECT;
-            physics_body: SOFT_BOX;
-            description {
-               state: "default" 0.0;
-               color: 255 0 0 255; /* red */
-               rel1.relative: 0.75 0.1;
-               rel2.relative: 0.95 0.3;
-               aspect: 1 1;
-               physics {
-                  ignore_part_pos: 0;
-                  restitution: 0.85;
-               }
-            }
-            description {
-               state: "soft" 0.0;
-               inherit: "default" 0.0;
-               physics {
-                  hardness: 0.8;
-               }
-            }
-            description {
-               state: "very_soft" 0.0;
-               inherit: "default" 0.0;
-               physics {
-                  hardness: 0.4;
-               }
-            }
-         }
-
-         part {
-            name: "blue_circle";
-            type: IMAGE;
-            physics_body: SOFT_CYLINDER;
-            description {
-               state: "default" 0.0;
-               rel1.relative: 0.25 0.1;
-               rel2.relative: 0.45 0.3;
-               aspect: 1 1;
-               image {
-                  normal: "bubble-blue.png";
-               }
-               physics {
-                  ignore_part_pos: 0;
-                  restitution: 0.85;
-                  hardness: 1;
-               }
-            }
-            description {
-               state: "soft" 0.0;
-               inherit: "default" 0.0;
-               physics.hardness: 0.8;
-            }
-            description {
-               state: "very_soft" 0.0;
-               inherit: "default" 0.0;
-               physics.hardness: 0.4;
-            }
-         }
-
-         part {
-            name: "floor";
-            type: RECT;
-            physics_body: BOUNDARY_BOTTOM;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 0.7;
-               }
-            }
-         }
-
-         part {
-            name: "right_wall";
-            type: RECT;
-            physics_body: BOUNDARY_RIGHT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 1.0;
-               }
-            }
-         }
-
-         part {
-            name: "left_wall";
-            type: RECT;
-            physics_body: BOUNDARY_LEFT;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               physics {
-                  restitution: 1.0;
-               }
-            }
-         }
-
-      }
-
-      programs {
-         program {
-            name: "stop,go_soft";
-            signal: "load";
-            in: 3 0;
-            action: PHYSICS_STOP;
-            target: "red_box";
-            target: "blue_circle";
-            after: "go_soft";
-         }
-
-         program {
-            name: "go_soft";
-            action: STATE_SET "soft" 0.0;
-            target: "red_box";
-            target: "blue_circle";
-            after: "stop,go_very_soft";
-         }
-
-         program {
-            name: "stop,go_very_soft";
-            in: 3 0;
-            action: PHYSICS_STOP;
-            target: "red_box";
-            target: "blue_circle";
-            after: "go_very_soft";
-         }
-
-         program {
-            name: "go_very_soft";
-            action: STATE_SET "very_soft" 0.0;
-            target: "red_box";
-            target: "blue_circle";
-            after: "stop,go_default";
-         }
-
-         program {
-            name: "stop,go_default";
-            in: 3 0;
-            action: PHYSICS_STOP;
-            target: "red_box";
-            target: "blue_circle";
-            after: "go_default";
-         }
-
-         program {
-            name: "go_default";
-            action: STATE_SET "default" 0.0;
-            target: "red_box";
-            target: "blue_circle";
-            after: "stop,go_soft";
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/signals-messages.edc b/legacy/edje/src/examples/signals-messages.edc
deleted file mode 100644 (file)
index b251368..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-#define MSG_COLOR 1
-#define MSG_TEXT 2
-
-collections {
-   group {
-      name: "example_group";
-
-      parts {
-         part {
-            name: "part_right";
-            type: RECT;
-            clip_to: "part_right_clipper";
-            description {
-               min: 50 50;
-               max: 50 50;
-               state: "default" 0.0;
-               color: 0 0 255 255; /* blue */
-               rel1.relative: 1.0 0.5;
-               rel1.offset: -49 0;
-               rel2.relative: 1.0 0.5;
-            }
-         }
-
-         part {
-            name: "part_left";
-            type: RECT;
-            description {
-               color_class: "cc";
-               min: 50 50;
-               max: 50 50;
-               state: "default" 0.0;
-               rel1.relative: 0.0 0.5;
-               rel2.relative: 0.0 0.5;
-               rel2.offset: 50 -1;
-            }
-         }
-
-         part {
-            name: "text";
-            type: TEXT;
-            description {
-               min: 150 50;
-               max: 150 50;
-               fixed: 1 1;
-               color: 0 0 0 255;
-               state: "default" 0.0;
-               rel1.relative: 0.5 0.5;
-               rel2.relative: 0.5 0.5;
-               text {
-                  font:     "Sans";
-                  size:     20;
-                  min:      1 1;
-                  align:    0.5 0.5;
-               }
-            }
-         }
-
-         part {
-            name: "part_right_clipper";
-            type: RECT;
-            repeat_events: 1;
-
-            description {
-               min: 50 50;
-               max: 50 50;
-
-               state: "default" 0.0;
-               rel1.relative: 1.0 0.5;
-               rel1.offset: -49 0;
-               rel2.relative: 1.0 0.5;
-            }
-
-            description {
-               state: "hidden" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
-         }
-      }
-
-      script {
-        public global_str0;
-        public global_str1;
-        public global_str2;
-        public str_idx;
-
-        public set_text_string() {
-           new tmp[1024];
-           new idx;
-           idx = get_int(str_idx);
-
-           if (idx == 0)
-              get_str(global_str0, tmp, 1024);
-           else if (idx == 1)
-              get_str(global_str1, tmp, 1024);
-           else if (idx == 2)
-              get_str(global_str2, tmp, 1024);
-              else return;
-
-           set_text(PART:"text", tmp);
-           send_message(MSG_STRING, MSG_TEXT, tmp);
-        }
-
-        public message(Msg_Type:type, id, ...) {
-           if ((type == MSG_INT_SET) && (id == MSG_COLOR)) {
-               new r, g, b, a;
-
-               r = getarg(2);
-               g = getarg(3);
-               b = getarg(4);
-               a = getarg(5);
-
-               set_color_class("cc", r, g, b, a);
-           }
-        }
-      }
-
-      programs {
-         program {
-            name: "bootstrap";
-            signal: "load";
-            source: "";
-            script {
-               set_str(global_str0, "String one");
-               set_str(global_str1, "String two");
-               set_str(global_str2, "String three");
-               set_int(str_idx, 0);
-               set_text_string();
-            }
-         }
-
-         program { /* custom signal */
-            name: "part_right,hovered";
-            signal: "mouse,move";
-            source: "part_right";
-            action: SIGNAL_EMIT "mouse,over" "part_right";
-         }
-
-         program { /* hide right rectangle */
-            name: "part_right,hide";
-            signal: "part_right,hide";
-            source: "";
-            action: STATE_SET "hidden" 0.0;
-            target: "part_right_clipper";
-         }
-
-         program {
-            name: "part_right,show";
-            signal: "part_right,show";
-            source: "";
-            action: STATE_SET "default" 0.0;
-            target: "part_right_clipper";
-         }
-
-         program { /* change text part's string value */
-            name: "text,change";
-            signal: "mouse,clicked,1";
-            source: "part_left";
-            script {
-               new idx;
-               idx = get_int(str_idx);
-               idx = idx + 1;
-
-               if (idx > 2)
-                  set_int(str_idx, 0);
-               else
-                  set_int(str_idx, idx);
-
-               set_text_string();
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/signals2.c b/legacy/edje/src/examples/signals2.c
deleted file mode 100644 (file)
index 077cf0e..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-#define PACKAGE_EXAMPLES_DIR "."
-#define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <stdio.h>
-
-#define WIDTH     (700)
-#define HEIGHT    (700)
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-/* mouse over signals */
-static void
-_on_mouse_over(void *data, Evas_Object *edje_obj,
-               const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   Evas *evas;
-   int x, y, mouseX, mouseY;
-
-   evas = (Evas *) data;
-   evas_object_geometry_get(edje_obj, &x, &y, NULL, NULL);
-
-   evas_pointer_output_xy_get(evas, &mouseX, &mouseY);
-
-   if ((rand() % 2) == 0)
-     x += ((mouseX - x) + (x / 4 + mouseY / 2));
-   else
-     x -= ((mouseX - x) + (x / 4 + mouseY / 2));
-
-   if ((rand() % 2) == 0)
-     y += ((mouseY - y) + (y / 4 + mouseX / 2));
-   else
-     y -= ((mouseY - y) + (y / 4 + mouseX / 2));
-
-   if (x > WIDTH)
-     x = WIDTH;
-   else if (x < 0) x = 0;
-
-   if (y > HEIGHT)
-     y = HEIGHT;
-   else if (y < 0) y = 0;
-
-   fprintf(stdout, "Moving object to - (%d,%d)\n", x, y);
-
-   evas_object_move(edje_obj, x, y);
-}
-
-int
-main(int argc __UNUSED__, char **argv)
-{
-   const char *edje_file = "signalsBubble.edj";
-   char edje_file_path[PATH_MAX];
-   Eina_Prefix *pfx;
-   Ecore_Evas *ee;
-   Evas *evas;
-   Evas_Object *bg;
-   Evas_Object *edje_obj;
-
-   if (!ecore_evas_init()) return EXIT_FAILURE;
-
-   if (!edje_init()) goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main, "EDJE_EXAMPLES", "edje/examples",
-                         edje_file, PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
-
-   if (!pfx) goto shutdown_edje;
-
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-
-   if (!ee) goto eina_prefix_free;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Edje animations and signals");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); //White
-   evas_object_move(bg, 0, 0); //orign
-   evas_object_resize(bg, WIDTH, HEIGHT); //cover the window
-   evas_object_show(bg);
-
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-   evas_object_focus_set(bg, EINA_TRUE);
-
-   edje_obj = edje_object_add(evas);
-
-   snprintf(edje_file_path, sizeof(edje_file_path), "%s/examples/%s",
-            eina_prefix_data_get(pfx), edje_file);
-
-   if (!edje_object_file_set(edje_obj, edje_file_path, "image_group"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
-        goto eina_prefix_free;
-     }
-
-   edje_object_signal_callback_add(edje_obj, "mouse,move", "part_image",
-                                   _on_mouse_over, evas);
-   evas_object_resize(edje_obj, 63, 63);
-   evas_object_move(edje_obj, 50, 50);
-   evas_object_show(edje_obj);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   edje_shutdown();
-   ecore_evas_shutdown();
-
-   return EXIT_SUCCESS;
-
-   eina_prefix_free: eina_prefix_free(pfx);
-
-   shutdown_edje: edje_shutdown();
-
-   shutdown_ecore_evas: ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/signalsBubble.edc b/legacy/edje/src/examples/signalsBubble.edc
deleted file mode 100644 (file)
index c6f85be..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-collections{
-   group{
-      name: "image_group";
-      max: 500 500;
-      min: 50 50;
-      images{
-           image: "bubble.png" COMP;
-     }
-    parts{
-            part{
-                   name: "part_image";
-                   type: IMAGE;
-                   description{
-                       min:63 63;
-                       image{
-                            normal: "bubble.png";
-                       }
-                   }
-                 }
-          }
-   }
-}
diff --git a/legacy/edje/src/examples/sigtest.c b/legacy/edje/src/examples/sigtest.c
deleted file mode 100644 (file)
index 9538e13..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-#define PACKAGE_EXAMPLES_DIR "."
-#define __UNUSED__
-#endif
-
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <stdio.h>
-
-#define WIDTH  (300)
-#define HEIGHT (300)
-
-static const char commands[] = \
-  "commands are:\n"
-  "\te - change te edje base\n"
-  "\tl - change to lua base\n"
-  "\tm - send message\n"
-  "\ts - send signal\n"
-  "\tEsc - exit\n"
-  "\th - print help\n";
-
-static void
-_on_keydown(void        *data,
-            Evas        *evas __UNUSED__,
-            Evas_Object *o __UNUSED__,
-            void        *einfo)
-{
-   Ecore_Evas          *ee;
-   Evas_Event_Key_Down *ev;
-   Evas_Object         *edje_obj;
-   char                *edje_file_path;
-
-   ee = (Ecore_Evas *)data;
-   ev = (Evas_Event_Key_Down *)einfo;
-   edje_obj = ecore_evas_data_get(ee, "edje_obj");
-   edje_file_path = ecore_evas_data_get(ee, "file_path");
-
-   if (!strcmp(ev->keyname, "h"))
-     {
-        fprintf(stdout, commands);
-        return;
-     }
-   else if (!strcmp(ev->keyname, "e"))
-     {
-      if (!edje_object_file_set(edje_obj, edje_file_path, "plain/edje/group"))
-        {
-           int err = edje_object_load_error_get(edje_obj);
-           const char *errmsg = edje_load_error_str(err);
-
-           fprintf(stderr, "Could not load 'plain/edje/group' from sigtest.edj: %s\n", errmsg);
-        }
-      else
-         fprintf(stdout, "Loaded Edje object bound to group 'plain/edje/group' from"
-                         " file sigtest.edj with success!\n");
-        return;
-     }
-   else if (!strcmp(ev->keyname, "l"))
-     {
-      if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base"))
-        {
-           int err = edje_object_load_error_get(edje_obj);
-           const char *errmsg = edje_load_error_str(err);
-
-           fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n", errmsg);
-        }
-      else
-         fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from"
-                         " file sigtest.edj with success!\n");
-        return;
-     }
-   else if (!strcmp(ev->keyname, "m"))
-     {
-        Edje_Message_String *msg = malloc(sizeof(*msg));
-
-       fprintf(stdout, "\n");
-        msg->str = strdup("C message text");
-        edje_object_message_send(edje_obj, EDJE_MESSAGE_STRING, 2, msg);
-        free(msg);
-       fprintf(stdout, "C message sent\n");
-        return;
-     }
-   else if (!strcmp(ev->keyname, "s"))
-     {
-       fprintf(stdout, "\n");
-        edje_object_signal_emit(edje_obj, "C signal 1", "Csource");
-        edje_object_signal_emit(edje_obj, "bubbles_lua:C signal 2", "Csource");
-       fprintf(stdout, "C signal sent\n");
-        return;
-     }
-   else if (!strcmp(ev->keyname, "Escape"))
-     ecore_main_loop_quit();
-   else
-     {
-        printf("unhandled key: %s\n", ev->keyname);
-        fprintf(stdout, commands);
-     }
-}
-
-static void
-_on_message(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Edje_Message_Type type, int id, void *msg)
-{
-   int i;
-
-   fprintf(stdout, "C::message id=%d type=%d ", id, type);
-   switch (type)
-     {
-        case EDJE_MESSAGE_NONE :
-          {
-             fprintf(stdout, " NONE");
-             break;
-          }
-
-        case EDJE_MESSAGE_SIGNAL :
-          {
-             fprintf(stdout, " SIGNAL ");
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING :
-          {
-             Edje_Message_String *mmsg = msg;
-
-             fprintf(stdout, " STRING %s", mmsg->str);
-             break;
-          }
-
-        case EDJE_MESSAGE_INT :
-          {
-             Edje_Message_Int *mmsg = msg;
-
-             fprintf(stdout, " INT %d", mmsg->val);
-             break;
-          }
-
-        case EDJE_MESSAGE_FLOAT :
-          {
-             Edje_Message_Float *mmsg = msg;
-
-             fprintf(stdout, " FLOAT %f", mmsg->val);
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING_SET :
-          {
-             Edje_Message_String_Set *mmsg = msg;
-
-             fprintf(stdout, " STRING_SET -\n");
-             for (i = 0; i < mmsg->count; i++)
-                fprintf(stdout, "  %s\n", mmsg->str[i]);
-             break;
-          }
-
-        case EDJE_MESSAGE_INT_SET :
-          {
-             Edje_Message_Int_Set *mmsg = msg;
-
-             fprintf(stdout, " INT_SET -\n");
-             for (i = 0; i < mmsg->count; i++)
-                fprintf(stdout, "  %d\n", mmsg->val[i]);
-             break;
-          }
-
-        case EDJE_MESSAGE_FLOAT_SET :
-          {
-             Edje_Message_Float_Set *mmsg = msg;
-
-             fprintf(stdout, " FLOAT_SET -\n");
-             for (i = 0; i < mmsg->count; i++)
-                fprintf(stdout, "  %f\n", mmsg->val[i]);
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING_INT :
-          {
-             Edje_Message_String_Int *mmsg = msg;
-
-             fprintf(stdout, " STRING_INT %s %d", mmsg->str, mmsg->val);
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING_FLOAT :
-          {
-             Edje_Message_String_Float *mmsg = msg;
-
-             fprintf(stdout, " STRING_FLOAT %s %f", mmsg->str, mmsg->val);
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING_INT_SET :
-          {
-             Edje_Message_String_Int_Set *mmsg = msg;
-
-             fprintf(stdout, " STRING_INT_SET %s -\n", mmsg->str);
-             for (i = 0; i < mmsg->count; i++)
-                fprintf(stdout, "  %d\n", mmsg->val[i]);
-             break;
-          }
-
-        case EDJE_MESSAGE_STRING_FLOAT_SET :
-          {
-             Edje_Message_String_Float_Set *mmsg = msg;
-
-             fprintf(stdout, " STRING_FLOAT_SET %s -\n", mmsg->str);
-             for (i = 0; i < mmsg->count; i++)
-                fprintf(stdout, "  %f\n", mmsg->val[i]);
-             break;
-          }
-     }
-   fprintf(stdout, "\n");
-}
-
-static void
-_on_signal(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char  *emission, const char  *source)
-{
-   fprintf(stdout, "C::signal sig=|%s| src=|%s|\n", emission, source);
-}
-
-static void
-_on_delete(Ecore_Evas *ee __UNUSED__)
-{
-   ecore_main_loop_quit();
-}
-
-int
-main(int argc __UNUSED__, char *argv[])
-{
-   char         border_img_path[PATH_MAX];
-   char         edje_file_path[PATH_MAX];
-   const char  *edje_file = "sigtest.edj";
-   Ecore_Evas  *ee;
-   Evas        *evas;
-   Evas_Object *bg;
-   Evas_Object *border;
-   Evas_Object *edje_obj;
-   Eina_Prefix *pfx;
-
-   if (!ecore_evas_init())
-     return EXIT_FAILURE;
-
-   if (!edje_init())
-     goto shutdown_ecore_evas;
-
-   pfx = eina_prefix_new(argv[0], main,
-                         "EDJE_EXAMPLES",
-                         "edje/examples",
-                         edje_file,
-                         PACKAGE_BIN_DIR,
-                         PACKAGE_LIB_DIR,
-                         PACKAGE_DATA_DIR,
-                         PACKAGE_DATA_DIR);
-   if (!pfx)
-     goto shutdown_edje;
-
-   /* this will give you a window with an Evas canvas under the first
-    * engine available */
-   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
-   if (!ee)
-     goto free_prefix;
-
-   ecore_evas_callback_delete_request_set(ee, _on_delete);
-   ecore_evas_title_set(ee, "Signals and wessages tester");
-
-   evas = ecore_evas_get(ee);
-
-   bg = evas_object_rectangle_add(evas);
-   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(bg);
-   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
-
-   evas_object_focus_set(bg, EINA_TRUE);
-
-   edje_obj = edje_object_add(evas);
-
-   edje_object_message_handler_set(edje_obj, _on_message, NULL);
-   edje_object_signal_callback_add(edje_obj, "*", "*", _on_signal, NULL);
-
-   snprintf(edje_file_path, sizeof(edje_file_path),
-            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
-   if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base"))
-     {
-        int err = edje_object_load_error_get(edje_obj);
-        const char *errmsg = edje_load_error_str(err);
-        fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n",
-                errmsg);
-
-        evas_object_del(edje_obj);
-        goto free_prefix;
-     }
-
-   fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from"
-                   " file sigtest.edj with success!\n");
-
-   evas_object_move(edje_obj, 20, 20);
-   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
-   evas_object_show(edje_obj);
-   ecore_evas_data_set(ee, "edje_obj", edje_obj);
-   ecore_evas_data_set(ee, "file_path", edje_file_path);
-
-   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, ee);
-
-   snprintf(border_img_path, sizeof(border_img_path),
-            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
-
-   /* this is a border around the Edje object above, here just to
-    * emphasize its geometry */
-   border = evas_object_image_filled_add(evas);
-   evas_object_image_file_set(border, border_img_path, NULL);
-   evas_object_image_border_set(border, 2, 2, 2, 2);
-   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
-
-   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
-   evas_object_move(border, 20 - 2, 20 - 2);
-   evas_object_show(border);
-
-   fprintf(stdout, commands);
-
-   ecore_evas_show(ee);
-
-   ecore_main_loop_begin();
-
-   eina_prefix_free(pfx);
-   ecore_evas_free(ee);
-   ecore_evas_shutdown();
-   edje_shutdown();
-
-   return EXIT_SUCCESS;
-
- free_prefix:
-   eina_prefix_free(pfx);
- shutdown_edje:
-   edje_shutdown();
- shutdown_ecore_evas:
-   ecore_evas_shutdown();
-
-   return EXIT_FAILURE;
-}
diff --git a/legacy/edje/src/examples/sigtest.edc b/legacy/edje/src/examples/sigtest.edc
deleted file mode 100644 (file)
index ef2a854..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-fonts {
-   font: "Vera.ttf" "default";
-}
-
-images {
-    image: "bubble.png" COMP;
-}
-
-collections {
-   group {
-      name: "lua_base";
-      lua_script_only: 1;
-      lua_script {
-         --// stick object private/local vars here
-         local D;
-         local text_geom;
-
-         --// Functions to print tables.
-         local print_table, print_table_start;
-
-         function print_table_start(table, space, name)
-            print(space .. name .. ": ");
-            print(space .. "{");
-            print_table(table, space .. "  ");
-            print(space .. "}");
-         end
-
-         function print_table(table, space)
-            for k, v in pairs(table) do 
-               if type(v) == "table" then
-                  print_table_start(v, space, k);
-               elseif type(v) == "string" then
-                  print(space .. k .. ': "' .. v .. '";')
-               else
-                  print(space .. k .. ": " .. v .. ";")
-               end
-            end
-         end
-
-         --// init object here
-         D = {}; --// data is empty table to start
-         edje_geom = edje.geom();
-
-         D.edje = edje.edje();
-         D.edje:file("plain/edje/group");
-         D.edje:move(0, 0);
-         D.edje:resize(edje_geom.w, edje_geom.h);
-         D.edje:show();
-
-         edje.text_class("test_text_class", "Sans:style=Bold", 10);
-
-         --// send some random edje message
-         edje.messagesend(7, "none"      );
-         edje.messagesend(7, "sig",      "lua message signal", "luaSource");
-         edje.messagesend(7, "str",      "hello world");
-         edje.messagesend(7, "int",      987);
-         edje.messagesend(7, "float",    987.321);
-         edje.messagesend(7, "strset",   {"hello", "there", "world"});
-         edje.messagesend(7, "intset",   {1, 2, 3});
-         edje.messagesend(7, "floatset", {1.1, 2.2, 3.3});
-         edje.messagesend(7, "strint",   "hello world", 7);
-         edje.messagesend(7, "strfloat", "hello world", 7.654);
-         edje.messagesend(7, "strintset","hello world", {1, 2, 3});
-         --// and a signal
-         edje.emit("lua signal", "luaSource");
-
-         function move (x, y)
-            print("lua::move x=" .. x .. " x=" .. y);
-            D.edje:move(0, 0);
-         end
-
-         function resize (w, h)
-            print("lua::resize w=" .. w .. " h=" .. h);
-            D.edje:resize(w, h);
-         end
-
-         function message (id, type, ...)
-            print("lua::message id=" .. id .. " type=" .. type);
-            --// handle your message type here. check id + type then use the
-            --// vararg appropriately. they are the same as the params passed 
-            --// to edje:messagesend() (if any are passed at all).  Any array
-            --// arguments are passed as a single table.
-
-            if ("none" == type) then
-               print("lua::message no args");
-            elseif ("strset" == type) then
-               strs = ... ;
-               print_table_start(strs, "", "lua::message strings");
-            elseif ("intset" == type) then
-               ints = ... ;
-               print_table_start(ints, "", "lua::message ints");
-            elseif ("floatset" == type) then
-               floats = ... ;
-               print_table_start(floats, "", "lua::message floats");
-            elseif ("strintset" == type) then
-               str, ints = ... ;
-               print("lua::message " .. str);
-               print_table_start(ints, "", "lua::message ints");
-            elseif ("strfloatset" == type) then
-               str, floats = ... ;
-               print("lua::message " .. str);
-               print_table_start(floats, "", "lua::message floats");
-            else
-               print("lua::message " .. ... );
-            end
-         end
-
-         function signal (sig, src)
-            print("lua::signal sig=|" .. sig .. "| src=" .. src .. "|");
-         end
-      }
-   }
-
-   // The group name NEEDS a / in it, 
-   // or the part below that tries to swallow it won't work.
-   // Leaving just the lua part visible.
-   group {
-      name: "bubbles/lua";
-      lua_script_only: 1;
-      lua_script {
-         local bubbles = { };
-         local bubbleCols = 8;
-         local bubbleRows = 6;
-
-         --// Functions to print tables.
-         local print_table, print_table_start;
-
-         function print_table_start(table, space, name)
-            print(space .. name .. ": ");
-            print(space .. "{");
-            print_table(table, space .. "  ");
-            print(space .. "}");
-         end
-
-         function print_table(table, space)
-            for k, v in pairs(table) do 
-               if type(v) == "table" then
-                  print_table_start(v, space, k);
-               elseif type(v) == "string" then
-                  print(space .. k .. ': "' .. v .. '";')
-               else
-                  print(space .. k .. ": " .. v .. ";")
-               end
-            end
-         end
-
-
-         for i = 1, bubbleRows do
-            row = { };
-            for j = 1, bubbleCols do
-               image = edje.image();
-               image:image("bubble.png");
-               image:show();
-               table.insert(row, image);
-            end
-            table.insert(bubbles, row);
-         end
-
-         function resize (w, h)
-            for i = 1, bubbleRows do
-               for j = 1, bubbleCols do
-                  w1 = w / bubbleCols;
-                  h1 = h / bubbleRows;
-                  bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1);
-                  if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then
-                     bubbles[i][j]:color(0, 255, 0, 200);
-                  else
-                     bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200);
-                  end
-               end
-            end
-         end
-
-         function message (id, type, ...)
-            print("bubbles::message id=" .. id .. " type=" .. type);
-            --// handle your message type here. check id + type then use the
-            --// vararg appropriately. they are the same as the params passed 
-            --// to edje:messagesend() (if any are passed at all).  Any array
-            --// arguments are passed as a single table.
-
-            if ("none" == type) then
-               print("bubbles::message no args");
-            elseif ("strset" == type) then
-               strs = ... ;
-               print_table_start(strs, "", "bubbles::message strings");
-            elseif ("intset" == type) then
-               ints = ... ;
-               print_table_start(ints, "", "bubbles::message ints");
-            elseif ("floatset" == type) then
-               floats = ... ;
-               print_table_start(floats, "", "bubbles::message floats");
-            elseif ("strintset" == type) then
-               str, ints = ... ;
-               print("bubbles::message " .. str);
-               print_table_start(ints, "", "bubbles::message ints");
-            elseif ("strfloatset" == type) then
-               str, floats = ... ;
-               print("bubbles::message " .. str);
-               print_table_start(floats, "", "bubbles::message floats");
-            else
-               print("bubbles::message " .. ... );
-            end
-         end
-
-         function signal (sig, src)
-            print("bubbles::signal sig=|" .. sig .. "| src=|" .. src .. "|");
-         end
-      }
-   }
-
-   group {
-      name: "plain/edje/group";
-      parts {
-         part {
-            name: "background";
-            type: RECT;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 255;
-            }
-         }
-
-         // A lua group embedded in an edje group.
-         part {
-            name: "bubbles_lua";
-            type: GROUP;
-            source: "bubbles/lua";
-            mouse_events: 0;
-            description { state: "default" 0.0; visible: 1; }
-         }
-
-         part {
-            name: "some_text";
-            type: TEXT;
-            mouse_events: 0;
-            description {
-               state: "default" 0;
-               visible: 1;
-               text
-               {
-                  text: "This is test text.";
-                  text_class: "test_text_class";
-               }
-            }
-         }
-
-         program { name: "show_signals";
-            signal: "*";
-            source: "*";
-            script
-            {
-               new buf[128];
-
-               snprintf(buf, 128, "edje::signal sig=%s sig=%s", sig, src);
-               set_text(PART:"some_text", buf);
-            }
-        }
-
-      script {
-        public global_str0;
-        public global_str1;
-        public global_str2;
-        public str_idx;
-
-        public set_text_string() {
-           new tmp[1024];
-           new idx;
-           idx = get_int(str_idx);
-
-           if (idx == 0)
-              get_str(global_str0, tmp, 1024);
-           else if (idx == 1)
-              get_str(global_str1, tmp, 1024);
-           else if (idx == 2)
-              get_str(global_str2, tmp, 1024);
-              else return;
-
-           set_text(PART:"some_text", tmp);
-           send_message(MSG_STRING, 1, tmp);
-        }
-
-        public message(Msg_Type:type, id, ...) {
-           if (type == MSG_STRING) {
-              new text[64];
-              new buf[128];
-
-              getsarg(3, text, 64);
-              snprintf(buf, 128, "embryo::message |%s|", text);
-              set_text(PART:"some_text", buf);
-           }
-        }
-
-
-      }
-
-      }
-   }
-
-}
-
diff --git a/legacy/edje/src/examples/swallow.edc b/legacy/edje/src/examples/swallow.edc
deleted file mode 100644 (file)
index a62a0b5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-collections {
-   group {
-      name: "example_group";
-      max: 500 500;
-      min: 50 50;
-
-      parts {
-         part {
-            name: "part_one";
-            type: SWALLOW;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-      }
-
-   }
-}
diff --git a/legacy/edje/src/examples/table.edc b/legacy/edje/src/examples/table.edc
deleted file mode 100644 (file)
index 5453705..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-collections {
-   group {
-      name: "example_table";
-      min: 50 50;
-
-      parts {
-         part {
-            name: "table_part";
-            type: TABLE;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/test.png b/legacy/edje/src/examples/test.png
deleted file mode 100644 (file)
index fb620d7..0000000
Binary files a/legacy/edje/src/examples/test.png and /dev/null differ
diff --git a/legacy/edje/src/examples/text.edc b/legacy/edje/src/examples/text.edc
deleted file mode 100644 (file)
index 257a078..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-collections {
-   group {
-      name: "sel_group";
-      parts {
-         part {
-            name: "rect";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 255 0 255; /* green */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 1.0;
-            }
-         }
-      }
-   }
-   group {
-      name: "example_group";
-      max: 500 500;
-      min: 50 50;
-
-      styles {
-         style {
-            name: "textblock_style";
-            base: "font=Sans font_size=22 color=#600 wrap=word";
-            tag:  "br" "\n";
-            tag:  "hilight" "+ font_weight=Bold";
-            tag:  "b" "+ font_weight=Bold";
-            tag:  "tab" "\t";
-         }
-      }
-      parts {
-         part {
-            name: "part_one";
-            type: TEXT;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               color: 0 0 255 255; /* blue */
-               rel1.relative: 0.0 0.0;
-               rel2.relative: 1.0 0.5;
-               text {
-                  font: "arial";
-                  size: 22;
-                  min: 1 1;
-               }
-            }
-         }
-         part {
-            name: "part_two";
-            type: TEXTBLOCK;
-            select_mode: EXPLICIT;
-            source: "sel_group";
-            entry_mode: PLAIN;
-            description {
-               min: 50 50;
-               state: "default" 0.0;
-               rel1.relative: 0.0 0.5;
-               rel2.relative: 1.0 1.0;
-               text {
-                  style: "textblock_style";
-                  min: 1 1;
-               }
-            }
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/examples/toggle_using_filter.edc b/legacy/edje/src/examples/toggle_using_filter.edc
deleted file mode 100644 (file)
index 9971fc0..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-collections {
-   group { name: "main";
-      parts {
-         /* white background */
-         part { name: "bg";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
-         /* title label */
-         part { name: "title";
-            type: TEXT;
-            description { state: "default" 0.0;
-               color: 0 0 0 255;
-               text {
-                  text: "Toggle using filter";
-                  font: "Sans";
-                  size: 12;
-                  align: 0.5 0.0;
-               }
-            }
-         }
-         /* the rectangle, will toggle color on click */
-         part { name: "rect";
-            type: RECT;
-            mouse_events: 1;
-            description { state: "default" 0.0;
-               color: 255 0 0 150;
-               max: 150 150;
-               align: 0.5 0.5;
-               map {
-                  on: 1;
-                  perspective_on: 1;
-                  smooth: 1;
-                  alpha: 1;
-               }
-            }
-            description { state: "blue" 0.0;
-               inherit: "default" 0.0;
-               color: 0 0 255 255;
-            }
-         }
-      }
-      programs {
-         /* on mouse click set the blue state, if we are in the default state */
-         program {
-            signal: "mouse,down,1";
-            source: "rect";
-            filter: "rect" "default";
-            action: STATE_SET "blue" 0.0;
-            transition: SINUSOIDAL 0.4;
-            target: "rect";
-         }
-         /* or back to the default state if we are in the blue state */
-         program {
-            signal: "mouse,down,1";
-            source: "rect";
-            filter: "rect" "blue";
-            action: STATE_SET "default" 0.0;
-            transition: SINUSOIDAL 0.4;
-            target: "rect";
-         }
-      }
-   }
-}
diff --git a/legacy/edje/src/lib/Edje.h b/legacy/edje/src/lib/Edje.h
deleted file mode 100644 (file)
index 4d51404..0000000
+++ /dev/null
@@ -1,6711 +0,0 @@
-/**
-@brief Edje Graphical Design Library
-
-These routines are used for Edje.
-
-@mainpage Edje Library Documentation
-@version 1.7
-@date 2003-2012
-
-Please see the @ref authors page for contact details.
-
-@section intro What is Edje?
-
-Edje is a complex graphical design & layout library.
-
-It doesn't intend to do containing and regular layout like a widget
-set, but it is the base for such components. Based on the requirements
-of Enlightenment 0.17, Edje should serve all the purposes of creating
-visual elements (borders of windows, buttons, scrollbars, etc.) and
-allow the designer the ability to animate, layout and control the look
-and feel of any program using Edje as its basic GUI constructor. This
-library allows for multiple collections of Layouts in one file,
-sharing the same image and font database and thus allowing a whole
-theme to be conveniently packaged into 1 file and shipped around.
-
-Edje separates the layout and behavior logic. Edje files ship with an
-image and font database, used by all the parts in all the collections
-to source graphical data. It has a directory of logical part names
-pointing to the part collection entry ID in the file (thus allowing
-for multiple logical names to point to the same part collection,
-allowing for the sharing of data between display elements). Each part
-collection consists of a list of visual parts, as well as a list of
-programs. A program is a conditionally run program that if a
-particular event occurs (a button is pressed, a mouse enters or leaves
-a part) will trigger an action that may affect other parts. In this
-way a part collection can be "programmed" via its file as to hilight
-buttons when the mouse passes over them or show hidden parts when a
-button is clicked somewhere etc. The actions performed in changing
-from one state to another are also allowed to transition over a period
-of time, allowing animation. Programs and animations can be run in
-"parallel".
-
-This separation and simplistic event driven style of programming can produce
-almost any look and feel one could want for basic visual elements. Anything
-more complex is likely the domain of an application or widget set that may
-use Edje as a convenient way of being able to configure parts of the display.
-
-For details of Edje's history, see the \ref history section.
-
-
-@section requirements What does Edje require?
-
-Edje requires fairly little on your system. to use the Edje runtime library
-you need:
-
-  - Evas (library)
-  - Ecore (library)
-  - Eet (library)
-  - Embryo (library)
-  - Eina (library)
-  - Lua 5.1 (library)
-
-Evas needs to be build with the JPEG, PNG and EET image loaders enabled at a
-minimum. You will also need the buffer engine (which requires the
-software_generic engine) as well.
-
-Ecore (library) needs the ECORE and ECORE_EVAS modules built at a minimum.
-It's suggested to build all the Ecore modules. You will beed the Buffer
-engine support built into Ecore_Evas for edje_cc to function.
-
-
-@section compiling How to compile and test Edje
-
-Now you need to compile and install Edje.
-
-@verbatim
-  ./configure
-  make
-  sudo make install
-@endverbatim
-
-You now have it installed and ready to go, but you need input
-data. There are lots of examples in SVN, the best one is
-Enlightenment's own theme file.
-
-You may use different tools to edit and view the generated ".edj"
-files, for instance:
-
-  - edje_player (provided by Edje)
-  - edje_codegen (provided by Edje) @since 1.8.0
-  - editje (http://trac.enlightenment.org/e/wiki/Editje)
-  - edje_viewer (http://trac.enlightenment.org/e/wiki/Edje_Viewer)
-
-
-@section details So how does this all work?
-
-Edje internally holds a geometry state machine and state graph of what is
-visible, not, where, at what size, with what colors etc. This is described
-to Edje from an Edje .edj file containing this information. These files can
-be produced by using edje_cc to take a text file (a .edc file) and "compile"
-an output .edj file that contains this information, images and any other
-data needed.
-
-The application using Edje will then create an object in its Evas
-canvas and set the bundle file to use, specifying the @b group name to
-use. Edje will load such information and create all the required
-children objects with the specified properties as defined in each @b
-part of the given group. See the following example:
-@include edje_example.c
-
-The above example requires the following annotated source Edje file:
-@include edje_example.edc
-
-
-One should save these files as edje_example.c and edje_example.edc then:
-@verbatim
-gcc -o edje_example edje_example.c `pkg-config --cflags --libs eina evas ecore ecore-evas edje`
-edje_cc edje_example.edc
-
-./edje_example "some text"
-@endverbatim
-
-Although simple, this example illustrates that animations and state
-changes can be done from the Edje file itself without any requirement
-in the C application.
-
-Before digging into changing or creating your own Edje source (edc)
-files, read the @ref edcref.
-
-
-@section history Edje History
-
-It's a sequel to "Ebits" which has serviced the needs of Enlightenment
-development for early version 0.17. The original design parameters under
-which Ebits came about were a lot more restricted than the resulting
-use of them, thus Edje was born.
-
-Edje is a more complex layout engine compared to Ebits. It doesn't
-pretend to do containing and regular layout like a widget set. It
-still inherits the more simplistic layout ideas behind Ebits, but it
-now does them a lot more cleanly, allowing for easy expansion, and the
-ability to cover much more ground than Ebits ever could. For the
-purposes of Enlightenment 0.17, Edje was conceived to serve all the
-purposes of creating visual elements (borders of windows, buttons,
-scrollbars, etc.) and allow the designer the ability to animate,
-layout and control the look and feel of any program using Edje as its
-basic GUI constructor.
-
-Unlike Ebits, Edje separates the layout and behavior logic.
-
-
-@section Edje_Examples Examples on Edje's usage
-
-What follows is a list with various commented examples, covering a great
-part of Edje's API:
-
-@note The example files are located at /Where/Enlightenment/is/installed/share/edje/examples
-
-- @ref Example_Edje_Basics
-- @ref tutorial_edje_basic2
-- @ref tutorial_edje_swallow
-- @ref tutorial_edje_swallow2
-- @ref tutorial_edje_table
-- @ref tutorial_edje_box
-- @ref tutorial_edje_box2
-- @ref tutorial_edje_color_class
-- @ref tutorial_edje_animations
-- @ref tutorial_edje_animations_2
-- @ref Example_Edje_Signals_Messages
-- @ref tutorial_edje_signals_2
-- @ref tutorial_edje_text
-- @ref tutorial_edje_drag
-- @ref tutorial_edje_perspective
-*/
-
-/**
-@page authors Authors
-@author Carsten Haitzler <raster@@rasterman.com>
-@author Tilman Sauerbeck (tilman at code-monkey de)
-@author ZigsMcKenzie <zigsmckenzie@@gmail.com>
-@author Cedric BAIL <cedric.bail@@free.fr>
-@author Brian Mattern <rephorm@@rephorm.com>
-@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
-@author Tristan <blunderer@@gmail.com>
-@author Gustavo Lima Chaves <glima@@profusion.mobi>
-@author Bruno Dilly <bdilly@@profusion.mobi>
-@author Fabiano Fidêncio <fidencio@@profusion.mobi>
-@author Jihoon Kim <jihoon48.kim@@samsung.com>
-@author Tiago Falcão <tiago@@profusion.mobi>
-@author Davide Andreoli <dave@@gurumeditation.it>
-@author Sebastian Dransfeld <sd@@tango.flipp.net>
-@author Tom Hacohen <tom@@stosb.com>
-@author Aharon Hillel <a.hillel@@samsung.com>
-@author Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
-@author Mike Blumenkrantz <michael.blumenkrantz@gmail.com
-@author Jaehwan Kim <jae.hwan.kim@samsung.com>
-@author billiob (Boris Faure) <billiob@gmail.com>
-@author Govindaraju SM <govi.sm@samsung.com> <govism@gmail.com>
-@author Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
-@author David Seikel <onefang at gmail.com>
-@author Guilherme Íscaro <iscaro@profusion.mobi>
-
-Please contact <enlightenment-devel@lists.sourceforge.net> to get in
-contact with the developers and maintainers.
-*/
-
-
-/**
-
-@example embryo_custom_state.edc
-This example show how to create a custom state from embryo. Clicking on the
-3 labels will rotate the object in the given direction.
-
-@example embryo_pong.edc
-Super-simple Pong implementation in pure embryo.
-
-@example embryo_run_program.edc
-This example show how to run an edje program from embryo code.
-
-@example embryo_set_state.edc
-This example show how to change the state of a part from embryo code.
-
-@example embryo_set_text.edc
-This example show how to set the text in TEXT part from embryo code.
-
-@example embryo_timer.edc
-This example show the usage of timers in embryo.
-
-@example external_elm_anchorblock.edc
-This example use an elementary anchorblock and a button to animate the text.
-
-@example external_elm_button.edc
-This example create some elementary buttons and do some actions on user click.
-
-@example external_elm_check.edc
-This example show EXTERNAL checkbox in action.
-
-@example external_elm_panes.edc
-This example show EXTERNAL elementary panes in action.
-
-@example external_emotion_elm.edc
-Super-concise video player example using Edje/Emotion/Elementary.
-
-@example lua_script.edc
-This example show the usage of lua scripting to create and animate some
-objects in the canvas.
-
-@example toggle_using_filter.edc
-This example show how to toggle the state of a part using the 'filter'
-param in edje programs
-
-*/
-
-/**
- * @file Edje.h
- * @brief Edje Graphical Design Library
- *
- * These routines are used for Edje.
- */
-
-/**
- * @defgroup Edje_General_Group Edje General
- *
- * @brief This group discusses functions that have general purposes or affect Edje as a whole.
- *
- * Besides containing the initialize and shutdown functions of the library, which should
- * always be called when we are using Edje, this module contains some other utilities that
- * could be used in many contexts or should do their jobs independent of the context inside Edje.
- *
- * @{
- */
-
-#ifndef _EDJE_H
-#define _EDJE_H
-
-#ifndef _MSC_VER
-# include <stdint.h>
-#endif
-#include <math.h>
-#include <float.h>
-#include <limits.h>
-
-#include <Evas.h>
-
-#ifdef EAPI
-# undef EAPI
-#endif
-
-#ifdef HAVE_ECORE_IMF
-#include <Ecore_IMF.h>
-#endif
-
-#ifdef _WIN32
-# ifdef EFL_EDJE_BUILD
-#  ifdef DLL_EXPORT
-#   define EAPI __declspec(dllexport)
-#  else
-#   define EAPI
-#  endif /* ! DLL_EXPORT */
-# else
-#  define EAPI __declspec(dllimport)
-# endif /* ! EFL_EDJE_BUILD */
-#else
-# ifdef __GNUC__
-#  if __GNUC__ >= 4
-#   define EAPI __attribute__ ((visibility("default")))
-#  else
-#   define EAPI
-#  endif
-# else
-#  define EAPI
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EDJE_VERSION_MAJOR 1
-#define EDJE_VERSION_MINOR 8
-
-typedef struct _Edje_Version
-{
-   int major;
-   int minor;
-   int micro;
-   int revision;
-} Edje_Version;
-
-EAPI extern Edje_Version *edje_version;
-
-/**
- * @brief Initialize the Edje library.
- *
- * @return The new init count. The initial value is zero.
- *
- * This function initializes the Edje library, making the proper calls
- * to internal initialization functions. It will also initialize its
- * @b dependencies, making calls to @c eina_init(), @c ecore_init(),
- * @c embryo_init() and @c eet_init(). So, there is no need to call
- * those functions again, in your code. To shutdown Edje there is the
- * function edje_shutdown().
- *
- * @see edje_shutdown()
- * @see eina_init()
- * @see ecore_init()
- * @see embryo_init()
- * @see eet_init()
- *
- */
-EAPI int          edje_init                       (void);
-
-/**
- * @brief Shutdown the Edje library.
- *
- * @return The number of times the library has been initialised
- *         without being shutdown.
- *
- * This function shuts down the Edje library. It will also call the
- * shutdown functions of its @b dependencies, which are @c
- * eina_shutdown(), @c ecore_shutdown(), @c embryo_shutdown() and @c
- * eet_shutdown(), so there is no need to call these functions again,
- * in your code.
- *
- * @see edje_init()
- * @see eina_shutdown()
- * @see ecore_shutdown()
- * @see embryo_shutdown()
- * @see eet_shutdown()
- *
- */
-EAPI int               edje_shutdown                   (void);
-
-/**
- * @brief Set the edje append fontset.
- *
- * @param fonts The fontset to append.
- *
- * This function sets the edje append fontset.
- *
- */
-EAPI void              edje_fontset_append_set         (const char *fonts);
-
-/**
- * Get data from the file level data block of an edje file
- * @param file The path to the .edj file
- * @param key The data key
- * @return The string value of the data. Must be freed by the user when no
- * longer needed.
- *
- * If an edje file is built from the following edc:
- *
- * data {
- *   item: "key1" "value1";
- *   item: "key2" "value2";
- * }
- * collections { ... }
- *
- * Then, edje_file_data_get("key1") will return "value1"
- */
-EAPI char        *edje_file_data_get              (const char *file, const char *key);
-
-/**
- * @brief Load a new module in Edje.
- * @param module The name of the module that will be added to Edje.
- * @return EINA_TRUE if if the module was successfully loaded. Otherwise, EINA_FALSE.
- *
- * Modules are used to add functionality to Edje.
- * So, when a module is loaded, its functionality should be available for use.
- *
- */
-EAPI Eina_Bool               edje_module_load                (const char *module);
-
-/**
- * @brief Retrieves all modules that can be loaded.
- * @return A list of all loadable modules.
- *
- * This function retrieves all modules that can be loaded by edje_module_load().
- *
- * @see edje_module_load().
- *
- */
-EAPI const Eina_List        *edje_available_modules_get      (void);
-
-/**
- * @brief Get the edje append fontset.
- *
- * @return The edje append fontset.
- *
- * This function returns the edje append fontset set by
- * edje_fontset_append_set() function.
- *
- * @see edje_fontset_append_set().
- *
- */
-EAPI const char                *edje_fontset_append_get        (void);
-
-/**
- * @brief Set the file cache size.
- *
- * @param count The file cache size in edje file units. Default is 16.
- *
- * This function sets the file cache size. Edje keeps this cache in
- * order to prevent duplicates of edje file entries in memory. The
- * file cache size can be retrieved with edje_file_cache_get().
- *
- * @see edje_file_cache_get()
- * @see edje_file_cache_flush()
- *
- */
-EAPI void         edje_file_cache_set             (int count);
-
-/**
- * @brief Return the file cache size.
- *
- * @return The file cache size in edje file units. Default is 16.
- *
- * This function returns the file cache size set by
- * edje_file_cache_set().
- *
- * @see edje_file_cache_set()
- * @see edje_file_cache_flush()
- *
- */
-EAPI int          edje_file_cache_get             (void);
-
-/**
- * @brief Clean the file cache.
- *
- * This function cleans the file cache entries, but keeps this cache's
- * size to the last value set.
- *
- * @see edje_file_cache_set()
- * @see edje_file_cache_get()
- *
- */
-EAPI void         edje_file_cache_flush           (void);
-
-/**
- * @brief Set the collection cache size.
- *
- * @param count The collection cache size, in edje object units. Default is 16.
- *
- * This function sets the collection cache size. Edje keeps this cache
- * in order to prevent duplicates of edje {collection,group,part}
- * entries in memory. The collection cache size can be retrieved with
- * edje_collection_cache_get().
- *
- * @see edje_collection_cache_get()
- * @see edje_collection_cache_flush()
- *
- */
-EAPI void         edje_collection_cache_set       (int count);
-
-/**
- * @brief Return the collection cache size.
- *
- * @return The collection cache size, in edje object units. Default is 16.
- *
- * This function returns the collection cache size set by
- * edje_collection_cache_set().
- *
- * @see edje_collection_cache_set()
- * @see edje_collection_cache_flush()
- *
- */
-EAPI int          edje_collection_cache_get       (void);
-
-/**
- * @brief Clean the collection cache.
- *
- * This function cleans the collection cache, but keeps this cache's
- * size to the last value set.
- *
- * @see edje_collection_cache_set()
- * @see edje_collection_cache_get()
- *
- */
-EAPI void         edje_collection_cache_flush     (void);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_External_Group Edje External
- *
- * @brief This group discusses functions of the external section of Edje.
- *
- * The programmer can create new types for parts, that will be called generically
- * EXTERNALS as they are not native of Edje. The developer must also create
- * plugins that will define the meaning of each extra properties carried by
- * these parts of type EXTERNAL.
- *
- * As long as there are new types properly registered with the plugins created,
- * the user can use the parts of type EXTERNAL as all the parts of native types.
- *
- * @{
- */
-
-/**
- * The possible types the parameters of an EXTERNAL part can be.
- */
-typedef enum _Edje_External_Param_Type
-{
-   EDJE_EXTERNAL_PARAM_TYPE_INT, /**< Parameter value is an integer. */
-   EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, /**< Parameter value is a double. */
-   EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Parameter value is a string. */
-   EDJE_EXTERNAL_PARAM_TYPE_BOOL, /**< Parameter value is boolean. */
-   EDJE_EXTERNAL_PARAM_TYPE_CHOICE, /**< Parameter value is one of a set of
-                                      predefined string choices. */
-   EDJE_EXTERNAL_PARAM_TYPE_MAX /**< Sentinel. Don't use. */
-} Edje_External_Param_Type;
-
-/**
- * Flags that determine how a parameter may be accessed in different
- * circumstances.
- */
-typedef enum _Edje_External_Param_Flags
-{
-   EDJE_EXTERNAL_PARAM_FLAGS_NONE        = 0, /**< Property is incapable of operations, this is used to catch bogus flags. */
-   EDJE_EXTERNAL_PARAM_FLAGS_GET         = (1 << 0), /**< Property can be read/get. */
-   EDJE_EXTERNAL_PARAM_FLAGS_SET         = (1 << 1), /**< Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */
-   EDJE_EXTERNAL_PARAM_FLAGS_STATE       = (1 << 2), /**< Property can be set from state description. */
-   EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), /**< This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */
-   EDJE_EXTERNAL_PARAM_FLAGS_REGULAR     = (EDJE_EXTERNAL_PARAM_FLAGS_GET |
-                                            EDJE_EXTERNAL_PARAM_FLAGS_SET |
-                                            EDJE_EXTERNAL_PARAM_FLAGS_STATE) /**< Convenience flag that sets property as GET, SET and STATE. */
-} Edje_External_Param_Flags;
-
-/**
- * @brief Converts type identifier to string nicer representation.
- *
- * This may be used to debug or other informational purposes.
- *
- * @param type the identifier to convert.
- * @return the string with the string representation, or @c "(unknown)".
- */
-EAPI const char *edje_external_param_type_str(Edje_External_Param_Type type) EINA_PURE;
-
-/**
- * Struct that holds parameters for parts of type EXTERNAL.
- */
-struct _Edje_External_Param
-{
-   const char               *name; /**< The name of the parameter. */
-   Edje_External_Param_Type  type; /**< The type of the parameter. This defines
-                                     which of the next three variables holds
-                                     the value for it. */
-   // XXX these could be in a union, but eet doesn't support them (or does it?)
-   int                       i; /**< Used by both integer and boolean */
-   double                    d; /**< Used by double */
-   const char               *s; /**< Used by both string and choice */
-};
-/**
- * Struct that holds parameters for parts of type EXTERNAL.
- */
-typedef struct _Edje_External_Param Edje_External_Param;
-
-/**
- * Helper macro to indicate an EXTERNAL's integer parameter is undefined.
- */
-#define EDJE_EXTERNAL_INT_UNSET INT_MAX
-/**
- * Helper macro to indicate an EXTERNAL's double parameter is undefined.
- */
-#define EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX
-
-/**
- * Struct holding information about an EXTERNAL part's parameters.
- *
- * When creating types to use with EXTERNAL parts, an array of this type is
- * used to describe the different parameters the object uses.
- *
- * This struct holds the name, type and flags that define how and when the
- * parameter is used, as well as information specific to each type, like the
- * maximum or minimum value, that can be used by editors to restrict the
- * range of values to set for each parameter.
- */
-typedef struct _Edje_External_Param_Info Edje_External_Param_Info;
-
-/**
- * Struct holding information about an EXTERNAL part's parameters.
- *
- * When creating types to use with EXTERNAL parts, an array of this type is
- * used to describe the different parameters the object uses.
- *
- * This struct holds the name, type and flags that define how and when the
- * parameter is used, as well as information specific to each type, like the
- * maximum or minimum value, that can be used by editors to restrict the
- * range of values to set for each parameter.
- */
-struct _Edje_External_Param_Info
-{
-   const char               *name; /**< Name of the parameter. */
-   Edje_External_Param_Type  type; /**< Type of the parameter. */
-   Edje_External_Param_Flags flags; /**< Flags indicating how this parameter is
-                                      used. */
-   union {
-      struct {
-         int                 def, /**< Default value for the parameter. */
-                             min, /**< Minimum value it can have. */
-                             max, /**< Maximum value it can have. */
-                             step; /**< Values will be a multiple of this. */
-      } i; /**< Info about integer type parameters. Use #EDJE_EXTERNAL_INT_UNSET
-             on any of them to indicate they are not defined.*/
-      struct {
-         double              def, /**< Default value for the parameter. */
-                             min, /**< Minimum value it can have. */
-                             max, /**< Maximum value it can have. */
-                             step; /**< Values will be a multiple of this. */
-      } d; /**< Info about double type parameters. Use
-#EDJE_EXTERNAL_DOUBLE_UNSET on any of them to indicate they are not defined.*/
-      struct {
-         const char         *def; /**< Default value. */
-         const char         *accept_fmt; /**< Not implemented. */
-         const char         *deny_fmt; /**< Not implemented */
-      } s; /**< Info about string type parameters. NULL indicates undefined. */
-      struct {
-         int                 def; /**< Default value. */
-         const char         *false_str; /**< String shown by editors to indicate the false state. */
-         const char         *true_str; /**< String shown by editors to indicate the true state. */
-      } b; /**< Info about boolean type parameters.*/
-      struct {
-         const char         *def; /**< Default value. */
-         const char        **choices; /* Array of strings, each represents a
-                                         valid value for this parameter. The
-                                         last element of the array must be
-                                         NULL. */
-         char               *(*def_get)(void *data, const Edje_External_Param_Info *info); /** return malloc() memory with the default choice, should be used if def is NULL. First parameter is Edje_External_Type::data */
-         char              **(*query)(void *data, const Edje_External_Param_Info *info); /** NULL terminated array of strings, memory is dynamically allocated and should be freed with free() for array and each element. First parameter is Edje_External_Type::data */
-      } c; /**< Info about choice type parameters. */
-   } info;
-};
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}}
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}}
-#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}}
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}}
-#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}}
-#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) \
-  {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}}
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \
-  EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \
-  EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \
-  EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \
-  EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \
-  EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) \
-  EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \
-   EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET)
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \
-   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET)
-#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \
-   EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL)
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \
-   EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true")
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags)    \
-  EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) \
-  EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) \
-  EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags)   \
-  EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags)
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT(name) \
-   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0)
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \
-   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0)
-#define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \
-   EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL)
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \
-   EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0)
-
-#define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) \
-   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) \
-   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) \
-   EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags)
-#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) \
-   EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags)
-
-#define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}}
-
-#define EDJE_EXTERNAL_TYPE_ABI_VERSION (3)
-
-/**
- * @struct _Edje_External_Type
- *
- * @brief Information about an external type to be used.
- *
- * This structure provides information on how to display and modify a
- * third party Evas_Object in Edje.
- *
- * Some function pointers are not really used by Edje, but provide
- * means for Edje users to better interact with such objects. For
- * instance, an editor may use label_get() and icon_get() to list all
- * registered external types.
- *
- * @note The function pointers provided in this structure must check
- *       for errors and invalid or out-of-range values as for
- *       performance reasons Edje will not enforce hints provided as
- *       #Edje_External_Param_Info in the member parameters_info.
- */
-struct _Edje_External_Type
-{
-  unsigned int  abi_version; /**< always use:
-                              *  - #EDJE_EXTERNAL_TYPE_ABI_VERSION to declare.
-                              *  - edje_external_type_abi_version_get() to check.
-                              */
-  const char    *module; /**< Name of the module that holds these definitions,
-                           as used in the externals {} block of a theme
-                           definition. */
-  const char    *module_name; /**< Canonical name of the module, for displaying
-                                in edition programs, for example. */
-  Evas_Object *(*add) (void *data, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name); /**< Creates the object to be used by Edje as the part. @p part_name is the name of the part that holds the object and can be used to forward callbacks from the object as signals from Edje. @p params is the list of #Edje_External_Param, not parsed, from the default state of the part. Parameters of type #EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR should be set on
- the object here. */
-  void         (*state_set) (void *data, Evas_Object *obj, const void *from_params, const void *to_params, float pos); /**< Called upon state changes, including the initial "default" 0.0 state. Parameters are the value returned by params_parse(). The @p pos parameter is a value between 0.0 and 1.0 indicating the position in time within the state transition. */
-  void         (*signal_emit) (void *data, Evas_Object *obj, const char *emission, const char *source); /**< Feed a signal emitted with emission originally set as part_name:signal to this object (without the "part_name:" prefix) */
-  Eina_Bool    (*param_set) (void *data, Evas_Object *obj, const Edje_External_Param *param); /**< Dynamically change a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success */
-  Eina_Bool    (*param_get) (void *data, const Evas_Object *obj, Edje_External_Param *param); /**< Dynamically fetch a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success. (Must check parameter name and type!) */
-  Evas_Object *(*content_get) (void *data, const Evas_Object *obj, const char *content); /**< Dynamically fetch a sub object of this external, called by scripts and user code. Returns @c Evas_Object * on success. (Must check parameter name and type!) */
-  void        *(*params_parse) (void *data, Evas_Object *obj, const Eina_List *params); /**< Parses the list of parameters, converting into a friendly representation. Used with state_set() */
-  void         (*params_free) (void *params); /**< Free parameters parsed with params_parse() */
-
-  /* The following callbacks aren't used by Edje itself, but by UI design
-     tools instead */
-  const char  *(*label_get) (void *data); /**< Get a label to use to identify this EXTERNAL. (For editors) */
-  const char  *(*description_get) (void *data); /**< Get a user friendly description of this EXTERNAL. (For editors) */
-  Evas_Object *(*icon_add) (void *data, Evas *e); /**< Get an icon to use to identify this EXTERNAL. (For editors) */
-  Evas_Object *(*preview_add) (void *data, Evas *e); /**< Get a preview of the EXTERNAL object in use. (For editors) */
-  const char  *(*translate) (void *data, const char *orig); /**< called to translate parameters_info name properties for use in user interfaces that support internationalization (i18n) (For editors) */
-
-  Edje_External_Param_Info *parameters_info; /**< An array of #Edje_External_Param_Info describing the different parameters this EXTERNAL may have. The last element in the array must be #EDJE_EXTERNAL_PARAM_INFO_SENTINEL. */
-  void                     *data; /**< Private user data that will be passed to all of the class functions. */
-};
-typedef struct _Edje_External_Type Edje_External_Type;
-
-/**
- * Convenience struct used to mass-register types of EXTERNAL objects.
- *
- * Used with edje_external_type_array_register().
- */
-struct _Edje_External_Type_Info
-{
-   const char               *name; /**< The name of the type to register. */
-   const Edje_External_Type *info; /**< The type definition. */
-};
-
-typedef struct _Edje_External_Type_Info Edje_External_Type_Info;
-
-/**
- * @}
- */
-
-#define EDJE_OBJ_CLASS edje_object_class_get()
-
-const Eo_Class *edje_object_class_get(void) EINA_CONST;
-
-extern EAPI Eo_Op EDJE_OBJ_BASE_ID;
-
-enum
-{
-   EDJE_OBJ_SUB_ID_SCALE_SET,
-   EDJE_OBJ_SUB_ID_SCALE_GET,
-   EDJE_OBJ_SUB_ID_MIRRORED_GET,
-   EDJE_OBJ_SUB_ID_MIRRORED_SET,
-   EDJE_OBJ_SUB_ID_DATA_GET,
-   EDJE_OBJ_SUB_ID_FREEZE,
-   EDJE_OBJ_SUB_ID_THAW,
-   EDJE_OBJ_SUB_ID_COLOR_CLASS_SET,
-   EDJE_OBJ_SUB_ID_COLOR_CLASS_GET,
-   EDJE_OBJ_SUB_ID_TEXT_CLASS_SET,
-   EDJE_OBJ_SUB_ID_PART_EXISTS,
-   EDJE_OBJ_SUB_ID_PART_OBJECT_GET,
-   EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET,
-   EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET,
-   EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH,
-   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP,
-   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INSERT,
-   EDJE_OBJ_SUB_ID_PART_TEXT_APPEND,
-   EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN,
-   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND,
-   EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET,
-   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET,
-   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD,
-   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL,
-   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL,
-   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD,
-   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL,
-   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL,
-   EDJE_OBJ_SUB_ID_PART_SWALLOW,
-   EDJE_OBJ_SUB_ID_PART_UNSWALLOW,
-   EDJE_OBJ_SUB_ID_PART_SWALLOW_GET,
-   EDJE_OBJ_SUB_ID_SIZE_MIN_GET,
-   EDJE_OBJ_SUB_ID_SIZE_MAX_GET,
-   EDJE_OBJ_SUB_ID_CALC_FORCE,
-   EDJE_OBJ_SUB_ID_SIZE_MIN_CALC,
-   EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC,
-   EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC,
-   EDJE_OBJ_SUB_ID_PART_STATE_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET,
-   EDJE_OBJ_SUB_ID_PART_DRAG_STEP,
-   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE,
-   EDJE_OBJ_SUB_ID_PART_BOX_APPEND,
-   EDJE_OBJ_SUB_ID_PART_BOX_PREPEND,
-   EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE,
-   EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT,
-   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE,
-   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT,
-   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL,
-   EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET,
-   EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET,
-   EDJE_OBJ_SUB_ID_PART_TABLE_PACK,
-   EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK,
-   EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET,
-   EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR,
-   EDJE_OBJ_SUB_ID_PERSPECTIVE_SET,
-   EDJE_OBJ_SUB_ID_PERSPECTIVE_GET,
-   EDJE_OBJ_SUB_ID_PRELOAD,
-   EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET,
-   EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET,
-
-   EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET,
-   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET,
-   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET,
-   EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET,
-   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET,
-
-   EDJE_OBJ_SUB_ID_FILE_SET,
-   EDJE_OBJ_SUB_ID_FILE_GET,
-   EDJE_OBJ_SUB_ID_LOAD_ERROR_GET,
-
-   EDJE_OBJ_SUB_ID_MESSAGE_SEND,
-   EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET,
-   EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS,
-
-   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD,
-   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL,
-   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL,
-   EDJE_OBJ_SUB_ID_SIGNAL_EMIT,
-   EDJE_OBJ_SUB_ID_PLAY_SET,
-   EDJE_OBJ_SUB_ID_PLAY_GET,
-   EDJE_OBJ_SUB_ID_ANIMATION_SET,
-   EDJE_OBJ_SUB_ID_ANIMATION_GET,
-
-   EDJE_OBJ_SUB_ID_LAST
-};
-
-#define EDJE_OBJ_ID(sub_id) (EDJE_OBJ_BASE_ID + sub_id)
-
-
-/**
- * @def edje_obj_scale_set
- * @since 1.8
- *
- * @brief Set the scaling factor for a given Edje object.
- *
- * @param[in] scale
- * @param[out] ret
- *
- * @see edje_object_scale_set
- */
-#define edje_obj_scale_set(scale, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_SET), EO_TYPECHECK(double, scale), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_scale_get
- * @since 1.8
- *
- * @brief Get a given Edje object's scaling factor.
- *
- * @param[out] ret
- *
- * @see edje_object_scale_get
- */
-#define edje_obj_scale_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_GET), EO_TYPECHECK(double *, ret)
-
-/**
- * @def edje_obj_mirrored_get
- * @since 1.8
- *
- * @brief Get the RTL orientation for this object.
- *
- * @param[out] ret
- *
- * @see edje_object_mirrored_get
- */
-#define edje_obj_mirrored_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_GET), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_mirrored_set
- * @since 1.8
- *
- * @brief Set the RTL orientation for this object.
- *
- * @param[in] rtl
- *
- * @see edje_object_mirrored_set
- */
-#define edje_obj_mirrored_set(rtl) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, rtl)
-
-/**
- * @def edje_obj_data_get
- * @since 1.8
- *
- * @brief Retrieve an <b>EDC data field's value</b> from a given Edje.
- *
- * @param[in] key
- * @param[out] ret
- *
- * @see edje_object_data_get
- */
-#define edje_obj_data_get(key, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_DATA_GET), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def edje_obj_freeze
- * @since 1.8
- *
- * @brief Freezes the Edje object.
- *
- * @param[out] ret
- *
- * @see edje_object_freeze
- */
-#define edje_obj_freeze(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FREEZE), EO_TYPECHECK(int *, ret)
-
-/**
- * @def edje_obj_thaw
- * @since 1.8
- *
- * @brief Thaws the Edje object.
- *
- * @param[out] ret
- *
- * @see edje_object_thaw
- */
-#define edje_obj_thaw(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_THAW), EO_TYPECHECK(int *, ret)
-
-/**
- * @def edje_obj_color_class_set
- * @since 1.8
- *
- * @brief Sets the object color class.
- *
- * @param[in] color_class
- * @param[in] r
- * @param[in] g
- * @param[in] b
- * @param[in] a
- * @param[in] r2
- * @param[in] g2
- * @param[in] b2
- * @param[in] a2
- * @param[in] r3
- * @param[in] g3
- * @param[in] b3
- * @param[in] a3
- * @param[out] ret
- *
- * @see edje_object_color_class_set
- */
-#define edje_obj_color_class_set(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int, r), EO_TYPECHECK(int, g), EO_TYPECHECK(int, b), EO_TYPECHECK(int, a), EO_TYPECHECK(int, r2), EO_TYPECHECK(int, g2), EO_TYPECHECK(int, b2), EO_TYPECHECK(int, a2), EO_TYPECHECK(int, r3), EO_TYPECHECK(int, g3), EO_TYPECHECK(int, b3), EO_TYPECHECK(int, a3), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_color_class_get
- * @since 1.8
- *
- * @brief Gets the object color class.
- *
- * @param[in] color_class
- * @param[out] r
- * @param[out] g
- * @param[out] b
- * @param[out] a
- * @param[out] r2
- * @param[out] g2
- * @param[out] b2
- * @param[out] a2
- * @param[out] r3
- * @param[out] g3
- * @param[out] b3
- * @param[out] a3
- * @param[out] ret
- *
- * @see edje_object_color_class_get
- */
-#define edje_obj_color_class_get(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int *, r), EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b), EO_TYPECHECK(int *, a), EO_TYPECHECK(int *, r2), EO_TYPECHECK(int *, g2), EO_TYPECHECK(int *, b2), EO_TYPECHECK(int *, a2), EO_TYPECHECK(int *, r3), EO_TYPECHECK(int *, g3), EO_TYPECHECK(int *, b3), EO_TYPECHECK(int *, a3), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_text_class_set
- * @since 1.8
- *
- * @brief Sets Edje text class.
- *
- * @param[in] text_class
- * @param[in] font
- * @param[in] size
- * @param[out] ret
- *
- * @see edje_object_text_class_set
- */
-#define edje_obj_text_class_set(text_class, font, size, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET), EO_TYPECHECK(const char *, text_class), EO_TYPECHECK(const char *, font), EO_TYPECHECK(Evas_Font_Size, size), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_exists
- * @since 1.8
- *
- * @brief Check if an Edje part exists in a given Edje object's group
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_exists
- */
-#define edje_obj_part_exists(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXISTS), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_object_get
- * @since 1.8
- *
- * @brief Get a handle to the Evas object implementing a given Edje
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_object_get
- */
-#define edje_obj_part_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_geometry_get
- * @since 1.8
- *
- * @brief Retrieve the geometry of a given Edje part, in a given Edje
- *
- * @param[in] part
- * @param[out] x
- * @param[out] y
- * @param[out] w
- * @param[out] h
- * @param[out] ret
- *
- * @see edje_object_part_geometry_get
- */
-#define edje_obj_part_geometry_get(part, x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_item_provider_set
- * @since 1.8
- *
- * @brief Set the function that provides item objects for named items in an edje entry text
- *
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_item_provider_set
- */
-#define edje_obj_item_provider_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET), EO_TYPECHECK(Edje_Item_Provider_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_text_change_cb_set
- * @since 1.8
- *
- * @brief Set the object text callback.
- *
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_text_change_cb_set
- */
-#define edje_obj_text_change_cb_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET), EO_TYPECHECK(Edje_Text_Change_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_part_text_style_user_push
- * @since 1.8
- *
- * @brief Set the style of the part.
- *
- * @param[in] part
- * @param[in] style
- *
- * @see edje_object_part_text_style_user_push
- */
-#define edje_obj_part_text_style_user_push(part, style) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, style)
-
-/**
- * @def edje_obj_part_text_style_user_pop
- * @since 1.8
- *
- * @brief Delete the top style form the user style stack.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_style_user_pop
- */
-#define edje_obj_part_text_style_user_pop(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_style_user_peek
- * @since 1.8
- *
- * @brief Return the text of the object part.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_style_user_peek
- */
-#define edje_obj_part_text_style_user_peek(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def edje_obj_part_text_set
- * @since 1.8
- *
- * @brief Sets the text for an object part
- *
- * @param[in] part
- * @param[in] text
- * @param[out] ret
- *
- * @see edje_object_part_text_set
- */
-#define edje_obj_part_text_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_get
- * @since 1.8
- *
- * @brief Return the text of the object part.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_get
- */
-#define edje_obj_part_text_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def edje_obj_part_text_escaped_set
- * @since 1.8
- *
- * @brief Sets the text for an object part, but converts HTML escapes to UTF8
- *
- * @param[in] part
- * @param[in] text
- * @param[out] ret
- *
- * @see edje_object_part_text_escaped_set
- */
-#define edje_obj_part_text_escaped_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_unescaped_set
- * @since 1.8
- *
- * @brief Sets the raw (non escaped) text for an object part.
- *
- * @param[in] part
- * @param[in] text_to_escape
- * @param[out] ret
- *
- * @see edje_object_part_text_unescaped_set
- */
-#define edje_obj_part_text_unescaped_set(part, text_to_escape, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text_to_escape), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_unescaped_get
- * @since 1.8
- *
- * @brief Returns the text of the object part, without escaping.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_unescaped_get
- */
-#define edje_obj_part_text_unescaped_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(char **, ret)
-
-/**
- * @def edje_obj_part_text_selection_get
- * @since 1.8
- *
- * @brief Return the selection text of the object part.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_selection_get
- */
-#define edje_obj_part_text_selection_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def edje_obj_part_text_select_none
- * @since 1.8
- *
- * @brief Set the selection to be none.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_select_none
- */
-#define edje_obj_part_text_select_none(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_select_all
- * @since 1.8
- *
- * @brief Set the selection to be everything.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_select_all
- */
-#define edje_obj_part_text_select_all(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_insert
- * @since 1.8
- *
- * @brief Insert text for an object part.
- *
- * @param[in] part
- * @param[in] text
- *
- * @see edje_object_part_text_insert
- */
-#define edje_obj_part_text_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
-
-/**
- * @def edje_obj_part_text_append
- * @since 1.8
- *
- * @brief Insert text for an object part.
- *
- * @param[in] part
- * @param[in] text
- *
- * @see edje_object_part_text_append
- */
-#define edje_obj_part_text_append(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
-
-/**
- * @def edje_obj_part_text_anchor_list_get
- * @since 1.8
- *
- * @brief Return a list of char anchor names.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_anchor_list_get
- */
-#define edje_obj_part_text_anchor_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
-
-/**
- * @def edje_obj_part_text_anchor_geometry_get
- * @since 1.8
- *
- * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
- *
- * @param[in] part
- * @param[in] anchor
- * @param[out] ret
- *
- * @see edje_object_part_text_anchor_geometry_get
- */
-#define edje_obj_part_text_anchor_geometry_get(part, anchor, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, anchor), EO_TYPECHECK(const Eina_List **, ret)
-
-/**
- * @def edje_obj_part_text_item_list_get
- * @since 1.8
- *
- * @brief Return a list of char item names.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_item_list_get
- */
-#define edje_obj_part_text_item_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
-
-/**
- * @def edje_obj_part_text_item_geometry_get
- * @since 1.8
- *
- * @brief Return item geometry.
- *
- * @param[in] part
- * @param[in] item
- * @param[out] cx
- * @param[out] cy
- * @param[out] cw
- * @param[out] ch
- * @param[out] ret
- *
- * @see edje_object_part_text_item_geometry_get
- */
-#define edje_obj_part_text_item_geometry_get(part, item, cx, cy, cw, ch, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, item), EO_TYPECHECK(Evas_Coord *, cx), EO_TYPECHECK(Evas_Coord *, cy), EO_TYPECHECK(Evas_Coord *, cw), EO_TYPECHECK(Evas_Coord *, ch), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_geometry_get
- * @since 1.8
- *
- * @brief Returns the cursor geometry of the part relative to the edje
- *
- * @param[in] part
- * @param[out] x
- * @param[out] y
- * @param[out] w
- * @param[out] h
- *
- * @see edje_object_part_text_cursor_geometry_get
- */
-#define edje_obj_part_text_cursor_geometry_get(part, x, y, w, h) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
-
-/**
- * @def edje_obj_part_text_user_insert
- * @since 1.8
- *
- * @brief This function inserts text as if the user has inserted it.
- *
- * @param[in] part
- * @param[in] text
- *
- * @see edje_object_part_text_user_insert
- */
-#define edje_obj_part_text_user_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
-
-/**
- * @def edje_obj_part_text_select_allow_set
- * @since 1.8
- *
- * @brief Enables selection if the entry is an EXPLICIT selection mode
- *
- * @param[in] part
- * @param[in] allow
- *
- * @see edje_object_part_text_select_allow_set
- */
-#define edje_obj_part_text_select_allow_set(part, allow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, allow)
-
-/**
- * @def edje_obj_part_text_select_abort
- * @since 1.8
- *
- * @brief Aborts any selection action on a part.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_select_abort
- */
-#define edje_obj_part_text_select_abort(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_select_begin
- * @since 1.8
- *
- * @brief Starts selecting at current cursor position
- *
- * @param[in] part
- *
- * @see edje_object_part_text_select_begin
- */
-#define edje_obj_part_text_select_begin(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_select_extend
- * @since 1.8
- *
- * @brief Extends the current selection to the current cursor position
- *
- * @param[in] part
- *
- * @see edje_object_part_text_select_extend
- */
-#define edje_obj_part_text_select_extend(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_imf_context_get
- * @since 1.8
- *
- * @brief Get the input method context in entry.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_imf_context_get
- */
-#define edje_obj_part_text_imf_context_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_part_text_cursor_next
- * @since 1.8
- *
- * @brief Advances the cursor to the next cursor position.
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_next
- */
-#define edje_obj_part_text_cursor_next(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_prev
- * @since 1.8
- *
- * @brief Moves the cursor to the previous char
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_prev
- */
-#define edje_obj_part_text_cursor_prev(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_up
- * @since 1.8
- *
- * @brief Move the cursor to the char above the current cursor position.
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_up
- */
-#define edje_obj_part_text_cursor_up(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_down
- * @since 1.8
- *
- * @brief Moves the cursor to the char below the current cursor position.
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_down
- */
-#define edje_obj_part_text_cursor_down(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_begin_set
- * @since 1.8
- *
- * @brief Moves the cursor to the beginning of the text part
- *
- * @param[in] part
- * @param[in] cur
- *
- * @see edje_object_part_text_cursor_begin_set
- */
-#define edje_obj_part_text_cursor_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
-
-/**
- * @def edje_obj_part_text_cursor_end_set
- * @since 1.8
- *
- * @brief Moves the cursor to the end of the text part.
- *
- * @param[in] part
- * @param[in] cur
- *
- * @see edje_object_part_text_cursor_end_set
- */
-#define edje_obj_part_text_cursor_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
-
-/**
- * @def edje_obj_part_text_cursor_copy
- * @since 1.8
- *
- * @brief Copy the cursor to another cursor.
- *
- * @param[in] part
- * @param[in] src
- * @param[in] dst
- *
- * @see edje_object_part_text_cursor_copy
- */
-#define edje_obj_part_text_cursor_copy(part, src, dst) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, src), EO_TYPECHECK(Edje_Cursor, dst)
-
-/**
- * @def edje_obj_part_text_cursor_line_begin_set
- * @since 1.8
- *
- * @brief Move the cursor to the beginning of the line.
- *
- * @param[in] part
- * @param[in] cur
- *
- * @see edje_object_part_text_cursor_line_begin_set
- */
-#define edje_obj_part_text_cursor_line_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
-
-/**
- * @def edje_obj_part_text_cursor_line_end_set
- * @since 1.8
- *
- * @brief Move the cursor to the end of the line.
- *
- * @param[in] part
- * @param[in] cur
- *
- * @see edje_object_part_text_cursor_line_end_set
- */
-#define edje_obj_part_text_cursor_line_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
-
-/**
- * @def edje_obj_part_text_cursor_coord_set
- * @since 1.8
- *
- * Position the given cursor to a X,Y position.
- *
- * @param[in] part
- * @param[in] cur
- * @param[in] x
- * @param[in] y
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_coord_set
- */
-#define edje_obj_part_text_cursor_coord_set(part, cur, x, y, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_is_format_get
- * @since 1.8
- *
- * @brief Returns whether the cursor points to a format.
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_is_format_get
- */
-#define edje_obj_part_text_cursor_is_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_is_visible_format_get
- * @since 1.8
- *
- * @brief Return true if the cursor points to a visible format
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_is_visible_format_get
- */
-#define edje_obj_part_text_cursor_is_visible_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_cursor_content_get
- * @since 1.8
- *
- * @brief Returns the content (char) at the cursor position.
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_content_get
- */
-#define edje_obj_part_text_cursor_content_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(char **, ret)
-
-/**
- * @def edje_obj_part_text_cursor_pos_set
- * @since 1.8
- *
- * @brief Sets the cursor position to the given value
- *
- * @param[in] part
- * @param[in] cur
- * @param[in] pos
- *
- * @see edje_object_part_text_cursor_pos_set
- */
-#define edje_obj_part_text_cursor_pos_set(part, cur, pos) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int, pos)
-
-/**
- * @def edje_obj_part_text_cursor_pos_get
- * @since 1.8
- *
- * @brief Retrieves the current position of the cursor
- *
- * @param[in] part
- * @param[in] cur
- * @param[out] ret
- *
- * @see edje_object_part_text_cursor_pos_get
- */
-#define edje_obj_part_text_cursor_pos_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int *, ret)
-
-/**
- * @def edje_obj_part_text_imf_context_reset
- * @since 1.8
- *
- * @brief Reset the input method context if needed.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_imf_context_reset
- */
-#define edje_obj_part_text_imf_context_reset(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_input_panel_layout_set
- * @since 1.8
- *
- * @brief Set the layout of the input panel.
- *
- * @param[in] part
- * @param[in] layout
- *
- * @see edje_object_part_text_input_panel_layout_set
- */
-#define edje_obj_part_text_input_panel_layout_set(part, layout) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout, layout)
-
-/**
- * @def edje_obj_part_text_input_panel_layout_get
- * @since 1.8
- *
- * @brief Get the layout of the input panel.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_input_panel_layout_get
- */
-#define edje_obj_part_text_input_panel_layout_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout *, ret)
-
-/**
- * @def edje_obj_part_text_autocapital_type_set
- * @since 1.8
- *
- * @brief Set the autocapitalization type on the immodule.
- *
- * @param[in] part
- * @param[in] autocapital_type
- *
- * @see edje_object_part_text_autocapital_type_set
- */
-#define edje_obj_part_text_autocapital_type_set(part, autocapital_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type, autocapital_type)
-
-/**
- * @def edje_obj_part_text_autocapital_type_get
- * @since 1.8
- *
- * @brief Retrieves the autocapitalization type
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_autocapital_type_get
- */
-#define edje_obj_part_text_autocapital_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type *, ret)
-
-/**
- * @def edje_obj_part_text_prediction_allow_set
- * @since 1.8
- *
- * @brief Set whether the prediction is allowed or not.
- *
- * @param[in] part
- * @param[in] prediction
- *
- * @see edje_object_part_text_prediction_allow_set
- */
-#define edje_obj_part_text_prediction_allow_set(part, prediction) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, prediction)
-
-/**
- * @def edje_obj_part_text_prediction_allow_get
- * @since 1.8
- *
- * @brief Get whether the prediction is allowed or not.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_prediction_allow_get
- */
-#define edje_obj_part_text_prediction_allow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_input_panel_enabled_set
- * @since 1.8
- *
- * @brief Sets the attribute to show the input panel automatically.
- *
- * @param[in] part
- * @param[in] enabled
- *
- * @see edje_object_part_text_input_panel_enabled_set
- */
-#define edje_obj_part_text_input_panel_enabled_set(part, enabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, enabled)
-
-/**
- * @def edje_obj_part_text_input_panel_enabled_get
- * @since 1.8
- *
- * @brief Retrieve the attribute to show the input panel automatically.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_input_panel_enabled_get
- */
-#define edje_obj_part_text_input_panel_enabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_text_input_panel_show
- * @since 1.8
- *
- * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
- *
- * @param[in] part
- *
- * @see edje_object_part_text_input_panel_show
- */
-#define edje_obj_part_text_input_panel_show(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_input_panel_hide
- * @since 1.8
- *
- * @brief Hide the input panel (virtual keyboard).
- *
- * @param[in] part
- *
- * @see edje_object_part_text_input_panel_hide
- */
-#define edje_obj_part_text_input_panel_hide(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE), EO_TYPECHECK(const char *, part)
-
-/**
- * @def edje_obj_part_text_input_panel_language_set
- * @since 1.8
- *
- * Set the language mode of the input panel.
- *
- * @param[in] part
- * @param[in] lang
- *
- * @see edje_object_part_text_input_panel_language_set
- */
-#define edje_obj_part_text_input_panel_language_set(part, lang) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang, lang)
-
-/**
- * @def edje_obj_part_text_input_panel_language_get
- * @since 1.8
- *
- * Get the language mode of the input panel.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_input_panel_language_get
- */
-#define edje_obj_part_text_input_panel_language_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang *, ret)
-
-/**
- * @def edje_obj_part_text_input_panel_imdata_set
- * @since 1.8
- *
- * Set the input panel-specific data to deliver to the input panel.
- *
- * @param[in] part
- * @param[in] data
- * @param[in] len
- *
- * @see edje_object_part_text_input_panel_imdata_set
- */
-#define edje_obj_part_text_input_panel_imdata_set(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const void *, data), EO_TYPECHECK(int, len)
-
-/**
- * @def edje_obj_part_text_input_panel_imdata_get
- * @since 1.8
- *
- * Get the specific data of the current active input panel.
- *
- * @param[in] part
- * @param[in] data
- * @param[in] len
- *
- * @see edje_object_part_text_input_panel_imdata_get
- */
-#define edje_obj_part_text_input_panel_imdata_get(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void *, data), EO_TYPECHECK(int *, len)
-
-/**
- * @def edje_obj_part_text_input_panel_return_key_type_set
- * @since 1.8
- *
- * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
- *
- * @param[in] part
- * @param[out] return_key_type
- *
- * @see edje_object_part_text_input_panel_return_key_type_set
- */
-#define edje_obj_part_text_input_panel_return_key_type_set(part, return_key_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type, return_key_type)
-
-/**
- * @def edje_obj_part_text_input_panel_return_key_type_get
- * @since 1.8
- *
- * Get the "return" key type.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_input_panel_return_key_type_get
- */
-#define edje_obj_part_text_input_panel_return_key_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type *, ret)
-
-/**
- * @def edje_obj_part_text_input_panel_return_key_disabled_set
- * @since 1.8
- *
- * Set the return key on the input panel to be disabled.
- *
- * @param[in] part
- * @param[in] disabled
- *
- * @see edje_object_part_text_input_panel_return_key_disabled_set
- */
-#define edje_obj_part_text_input_panel_return_key_disabled_set(part, disabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, disabled)
-
-/**
- * @def edje_obj_part_text_input_panel_return_key_disabled_get
- * @since 1.8
- *
- * Get whether the return key on the input panel should be disabled or not.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_text_input_panel_return_key_disabled_get
- */
-#define edje_obj_part_text_input_panel_return_key_disabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_text_insert_filter_callback_add
- * @since 1.8
- *
- * Add a filter function for newly inserted text.
- *
- * @param[in] part
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_text_insert_filter_callback_add
- */
-#define edje_obj_text_insert_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_text_insert_filter_callback_del
- * @since 1.8
- *
- * Delete a function from the filter list.
- *
- * @param[in] part
- * @param[in] func
- * @param[out] ret
- *
- * @see edje_object_text_insert_filter_callback_del
- */
-#define edje_obj_text_insert_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_text_insert_filter_callback_del_full
- * @since 1.8
- *
- * Delete a function and matching user data from the filter list.
- *
- * @param[in] part
- * @param[in] func
- * @param[in] data
- * @param[out] ret
- *
- * @see edje_object_text_insert_filter_callback_del_full
- */
-#define edje_obj_text_insert_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_text_markup_filter_callback_add
- * @since 1.8
- *
- * Add a markup filter function for newly inserted text.
- *
- * @param[in] part
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_text_markup_filter_callback_add
- */
-#define edje_obj_text_markup_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_text_markup_filter_callback_del
- * @since 1.8
- *
- * Delete a function from the markup filter list.
- *
- * @param[in] part
- * @param[in] func
- * @param[out] ret
- *
- * @see edje_object_text_markup_filter_callback_del
- */
-#define edje_obj_text_markup_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_text_markup_filter_callback_del_full
- * @since 1.8
- *
- * Delete a function and matching user data from the markup filter list.
- *
- * @param[in] part
- * @param[in] func
- * @param[in] data
- * @param[out] ret
- *
- * @see edje_object_text_markup_filter_callback_del_full
- */
-#define edje_obj_text_markup_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_part_swallow
- * @since 1.8
- *
- * @brief "Swallows" an object into one of the Edje object SWALLOW
- *
- * @param[in] part
- * @param[in] obj_swallow
- * @param[out] ret
- *
- * @see edje_object_part_swallow
- */
-#define edje_obj_part_swallow(part, obj_swallow, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, obj_swallow), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_unswallow
- * @since 1.8
- *
- * @brief Unswallow an object.
- *
- * @param[in] obj_swallow
- *
- * @see edje_object_part_unswallow
- */
-#define edje_obj_part_unswallow(obj_swallow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_UNSWALLOW), EO_TYPECHECK(Evas_Object *, obj_swallow)
-
-/**
- * @def edje_obj_part_swallow_get
- * @since 1.8
- *
- * @brief Get the object currently swallowed by a part.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_swallow_get
- */
-#define edje_obj_part_swallow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_size_min_get
- * @since 1.8
- *
- * @brief Get the minimum size specified -- as an EDC property -- for a
- * given Edje object
- *
- * @param[out] minw
- * @param[out] minh
- *
- * @see edje_object_size_min_get
- */
-#define edje_obj_size_min_get(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_GET), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
-
-/**
- * @def edje_obj_size_max_get
- * @since 1.8
- *
- * @brief Get the maximum size specified -- as an EDC property -- for a
- * given Edje object
- *
- * @param[out] maxw
- * @param[out] maxh
- *
- * @see edje_object_size_max_get
- */
-#define edje_obj_size_max_get(maxw, maxh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MAX_GET), EO_TYPECHECK(Evas_Coord *, maxw), EO_TYPECHECK(Evas_Coord *, maxh)
-
-/**
- * @def edje_obj_calc_force
- * @since 1.8
- *
- * @brief Force a Size/Geometry calculation.
- *
- *
- * @see edje_object_calc_force
- */
-#define edje_obj_calc_force() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_CALC_FORCE)
-
-/**
- * @def edje_obj_size_min_calc
- * @since 1.8
- *
- * @brief Calculate the minimum required size for a given Edje object.
- *
- * @param[out] minw
- * @param[out] minh
- *
- * @see edje_object_size_min_calc
- */
-#define edje_obj_size_min_calc(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
-
-/**
- * @def edje_obj_parts_extends_calc
- * @since 1.8
- *
- * Calculate the geometry of the region, relative to a given Edje
- *
- * @param[out] x
- * @param[out] y
- * @param[out] w
- * @param[out] h
- * @param[out] ret
- *
- * @see edje_object_parts_extends_calc
- */
-#define edje_obj_parts_extends_calc(x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_size_min_restricted_calc
- * @since 1.8
- *
- * @brief Calculate the minimum required size for a given Edje object.
- *
- * @param[out] minw
- * @param[out] minh
- * @param[in] restrictedw
- * @param[in] restrictedh
- *
- * @see edje_object_size_min_restricted_calc
- */
-#define edje_obj_size_min_restricted_calc(minw, minh, restrictedw, restrictedh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh), EO_TYPECHECK(Evas_Coord, restrictedw), EO_TYPECHECK(Evas_Coord, restrictedh)
-
-/**
- * @def edje_obj_part_state_get
- * @since 1.8
- *
- * @brief Returns the state of the Edje part.
- *
- * @param[in] part
- * @param[out] val_ret
- * @param[out] ret
- *
- * @see edje_object_part_state_get
- */
-#define edje_obj_part_state_get(part, val_ret, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_STATE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, val_ret), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def edje_obj_part_drag_dir_get
- * @since 1.8
- *
- * @brief Determine dragable directions.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_drag_dir_get
- */
-#define edje_obj_part_drag_dir_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Drag_Dir *, ret)
-
-/**
- * @def edje_obj_part_drag_value_set
- * @since 1.8
- *
- * @brief Set the dragable object location.
- *
- * @param[in] part
- * @param[in] dx
- * @param[in] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_value_set
- */
-#define edje_obj_part_drag_value_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_value_get
- * @since 1.8
- *
- * @brief Get the dragable object location.
- *
- * @param[in] part
- * @param[out] dx
- * @param[out] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_value_get
- */
-#define edje_obj_part_drag_value_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_size_set
- * @since 1.8
- *
- * @brief Set the dragable object size.
- *
- * @param[in] part
- * @param[in] dw
- * @param[in] dh
- * @param[out] ret
- *
- * @see edje_object_part_drag_size_set
- */
-#define edje_obj_part_drag_size_set(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dw), EO_TYPECHECK(double, dh), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_size_get
- * @since 1.8
- *
- * @brief Get the dragable object size.
- *
- * @param[in] part
- * @param[out] dw
- * @param[out] dh
- * @param[out] ret
- *
- * @see edje_object_part_drag_size_get
- */
-#define edje_obj_part_drag_size_get(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dw), EO_TYPECHECK(double *, dh), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_step_set
- * @since 1.8
- *
- * @brief Sets the drag step increment.
- *
- * @param[in] part
- * @param[in] dx
- * @param[in] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_step_set
- */
-#define edje_obj_part_drag_step_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_step_get
- * @since 1.8
- *
- * @brief Gets the drag step increment values.
- *
- * @param[in] part
- * @param[out] dx
- * @param[out] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_step_get
- */
-#define edje_obj_part_drag_step_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_page_set
- * @since 1.8
- *
- * @brief Sets the page step increments.
- *
- * @param[in] part
- * @param[in] dx
- * @param[in] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_page_set
- */
-#define edje_obj_part_drag_page_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_page_get
- * @since 1.8
- *
- * @brief Gets the page step increments.
- *
- * @param[in] part
- * @param[out] dx
- * @param[out] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_page_get
- */
-#define edje_obj_part_drag_page_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_step
- * @since 1.8
- *
- * @brief Steps the dragable x,y steps.
- *
- * @param[in] part
- * @param[in] dx
- * @param[in] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_step
- */
-#define edje_obj_part_drag_step(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_drag_page
- * @since 1.8
- *
- * @brief Pages x,y steps.
- *
- * @param[in] part
- * @param[in] dx
- * @param[in] dy
- * @param[out] ret
- *
- * @see edje_object_part_drag_page
- */
-#define edje_obj_part_drag_page(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_box_append
- * @since 1.8
- *
- * @brief Appends an object to the box.
- *
- * @param[in] part
- * @param[in] child
- * @param[out] ret
- *
- * @see edje_object_part_box_append
- */
-#define edje_obj_part_box_append(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_box_prepend
- * @since 1.8
- *
- * @brief Prepends an object to the box.
- *
- * @param[in] part
- * @param[in] child
- * @param[out] ret
- *
- * @see edje_object_part_box_prepend
- */
-#define edje_obj_part_box_prepend(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_box_insert_before
- * @since 1.8
- *
- * @brief Adds an object to the box.
- *
- * @param[in] part
- * @param[in] child
- * @param[in] reference
- * @param[out] ret
- *
- * @see edje_object_part_box_insert_before
- */
-#define edje_obj_part_box_insert_before(part, child, reference, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(const Evas_Object *, reference), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_box_insert_at
- * @since 1.8
- *
- * @brief Inserts an object to the box.
- *
- * @param[in] part
- * @param[in] child
- * @param[in] pos
- * @param[out] ret
- *
- * @see edje_object_part_box_insert_at
- */
-#define edje_obj_part_box_insert_at(part, child, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_box_remove
- * @since 1.8
- *
- * @brief Removes an object from the box.
- *
- * @param[in] part
- * @param[in] child
- * @param[out] ret
- *
- * @see edje_object_part_box_remove
- */
-#define edje_obj_part_box_remove(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_box_remove_at
- * @since 1.8
- *
- * @brief Removes an object from the box.
- *
- * @param[in] part
- * @param[in] pos
- * @param[out] ret
- *
- * @see edje_object_part_box_remove_at
- */
-#define edje_obj_part_box_remove_at(part, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_box_remove_all
- * @since 1.8
- *
- * @brief Removes all elements from the box.
- *
- * @param[in] part
- * @param[in] clear
- * @param[out] ret
- *
- * @see edje_object_part_box_remove_all
- */
-#define edje_obj_part_box_remove_all(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_access_part_list_get
- * @since 1.8
- *
- * @brief Retrieve a list all accessibility part names
- *
- * @param[out] ret
- *
- * @see edje_object_access_part_list_get
- */
-#define edje_obj_access_part_list_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET), EO_TYPECHECK(Eina_List **, ret)
-
-/**
- * @def edje_obj_part_table_child_get
- * @since 1.8
- *
- * @brief Retrieve a child from a table
- *
- * @param[in] part
- * @param[in] col
- * @param[in] row
- * @param[out] ret
- *
- * @see edje_object_part_table_child_get
- */
-#define edje_obj_part_table_child_get(part, col, row, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, col), EO_TYPECHECK(unsigned int, row), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_table_pack
- * @since 1.8
- *
- * @brief Packs an object into the table.
- *
- * @param[in] part
- * @param[in] child_obj
- * @param[in] col
- * @param[in] row
- * @param[in] colspan
- * @param[in] rowspan
- * @param[out] ret
- *
- * @see edje_object_part_table_pack
- */
-#define edje_obj_part_table_pack(part, child_obj, col, row, colspan, rowspan, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_PACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_table_unpack
- * @since 1.8
- *
- * @brief Removes an object from the table.
- *
- * @param[in] part
- * @param[in] child_obj
- * @param[out] ret
- *
- * @see edje_object_part_table_unpack
- */
-#define edje_obj_part_table_unpack(part, child_obj, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_table_col_row_size_get
- * @since 1.8
- *
- * @brief Gets the number of columns and rows the table has.
- *
- * @param[in] part
- * @param[out] cols
- * @param[out] rows
- * @param[out] ret
- *
- * @see edje_object_part_table_col_row_size_get
- */
-#define edje_obj_part_table_col_row_size_get(part, cols, rows, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(int *, cols), EO_TYPECHECK(int *, rows), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_table_clear
- * @since 1.8
- *
- * @brief Removes all object from the table.
- *
- * @param[in] part
- * @param[in] clear
- * @param[out] ret
- *
- * @see edje_object_part_table_clear
- */
-#define edje_obj_part_table_clear(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_perspective_set
- * @since 1.8
- *
- * Set the given perspective object on this Edje object.
- *
- * @param[in] ps
- *
- * @see edje_object_perspective_set
- */
-#define edje_obj_perspective_set(ps) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET), EO_TYPECHECK(Edje_Perspective *, ps)
-
-/**
- * @def edje_obj_perspective_get
- * @since 1.8
- *
- * Get the current perspective used on this Edje object.
- *
- * @param[out] ret
- *
- * @see edje_object_perspective_get
- */
-#define edje_obj_perspective_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET), EO_TYPECHECK(const Edje_Perspective **, ret)
-
-/**
- * @def edje_obj_preload
- * @since 1.8
- *
- * @brief Preload the images on the Edje Object in the background.
- *
- * @param[in] cancel
- * @param[out] ret
- *
- * @see edje_object_preload
- */
-#define edje_obj_preload(cancel, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PRELOAD), EO_TYPECHECK(Eina_Bool, cancel), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_update_hints_set
- * @since 1.8
- *
- * @brief Edje will automatically update the size hints on itself.
- *
- * @param[in] update
- *
- * @see edje_object_update_hints_set
- */
-#define edje_obj_update_hints_set(update) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET), EO_TYPECHECK(Eina_Bool, update)
-
-/**
- * @def edje_obj_update_hints_get
- * @since 1.8
- *
- * @brief Wether or not Edje will update size hints on itself.
- *
- * @param[out] ret
- *
- * @see edje_object_update_hints_get
- */
-#define edje_obj_update_hints_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET), EO_TYPECHECK(Eina_Bool *, ret)
-
-
-/**
- * @def edje_obj_part_external_object_get
- * @since 1.8
- *
- * @brief Get the object created by this external part.
- *
- * @param[in] part
- * @param[out] ret
- *
- * @see edje_object_part_external_object_get
- */
-#define edje_obj_part_external_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_external_param_set
- * @since 1.8
- *
- * @brief Set the parameter for the external part.
- *
- * @param[in] part
- * @param[in] param
- * @param[out] ret
- *
- * @see edje_object_part_external_param_set
- */
-#define edje_obj_part_external_param_set(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_external_param_get
- * @since 1.8
- *
- * @brief Get the parameter for the external part.
- *
- * @param[in] part
- * @param[out] param
- * @param[out] ret
- *
- * @see edje_object_part_external_param_get
- */
-#define edje_obj_part_external_param_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_part_external_content_get
- * @since 1.8
- *
- * @brief Get an object contained in an part of type EXTERNAL
- *
- * @param[in] part
- * @param[out] content
- * @param[out] ret
- *
- * @see edje_object_part_external_content_get
- */
-#define edje_obj_part_external_content_get(part, content, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, content), EO_TYPECHECK(Evas_Object **, ret)
-
-/**
- * @def edje_obj_part_external_param_type_get
- * @since 1.8
- *
- * Facility to query the type of the given parameter of the given part.
- *
- * @param[in] part
- * @param[out] param
- * @param[out] ret
- *
- * @see edje_object_part_external_param_type_get
- */
-#define edje_obj_part_external_param_type_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, param), EO_TYPECHECK(Edje_External_Param_Type *, ret)
-
-/**
- * @def edje_obj_file_set
- * @since 1.8
- *
- * @param[in] file in
- * @param[in] group in
- * @param[in] nested in
- * @param[out] ret out
- *
- * @see edje_object_file_set
- */
-#define edje_obj_file_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), EO_TYPECHECK(const char*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_file_get
- * @since 1.8
- *
- * @brief Get the file and group name that a given Edje object is bound to
- *
- * @param[out] file
- * @param[out] group
- *
- * @see edje_object_file_get
- */
-#define edje_obj_file_get(file, group) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file), EO_TYPECHECK(const char **, group)
-
-/**
- * @def edje_obj_load_error_get
- * @since 1.8
- *
- * @brief Gets the (last) file loading error for a given Edje object
- *
- * @param[out] ret
- *
- * @see edje_object_load_error_get
- */
-#define edje_obj_load_error_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET), EO_TYPECHECK(Edje_Load_Error *, ret)
-
-
-/**
- * @def edje_obj_message_send
- * @since 1.8
- *
- * @brief Send an (Edje) message to a given Edje object
- *
- * @param[in] type
- * @param[in] id
- * @param[in] msg
- *
- * @see edje_object_message_send
- */
-#define edje_obj_message_send(type, id, msg) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SEND), EO_TYPECHECK(Edje_Message_Type, type), EO_TYPECHECK(int, id), EO_TYPECHECK(void *, msg)
-
-/**
- * @def edje_obj_message_handler_set
- * @since 1.8
- *
- * @brief Set an Edje message handler function for a given Edje object.
- *
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_message_handler_set
- */
-#define edje_obj_message_handler_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET), EO_TYPECHECK(Edje_Message_Handler_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_message_signal_process
- * @since 1.8
- *
- * @brief Process an object's message queue.
- *
- *
- * @see edje_object_message_signal_process
- */
-#define edje_obj_message_signal_process() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS)
-
-
-/**
- * @def edje_obj_signal_callback_add
- * @since 1.8
- *
- * @brief Add a callback for an arriving Edje signal, emitted by
- * a given Ejde object.
- *
- * @param[in] emission
- * @param[in] source
- * @param[in] func
- * @param[in] data
- *
- * @see edje_object_signal_callback_add
- */
-#define edje_obj_signal_callback_add(emission, source, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data)
-
-/**
- * @def edje_obj_signal_callback_del
- * @since 1.8
- *
- * @brief Remove a signal-triggered callback from an object.
- *
- * @param[in] emission
- * @param[in] source
- * @param[in] func
- * @param[out] ret
- *
- * @see edje_object_signal_callback_del
- */
-#define edje_obj_signal_callback_del(emission, source, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_signal_callback_del_full
- * @since 1.8
- *
- * @brief Unregister/delete a callback set for an arriving Edje
- *
- * @param[in] emission
- * @param[in] source
- * @param[in] func
- * @param[in] data
- * @param[out] ret
- *
- * @see edje_object_signal_callback_del_full
- */
-#define edje_obj_signal_callback_del_full(emission, source, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
-
-/**
- * @def edje_obj_signal_emit
- * @since 1.8
- *
- * @brief Send/emit an Edje signal to a given Edje object
- *
- * @param[in] emission
- * @param[in] source
- *
- * @see edje_object_signal_emit
- */
-#define edje_obj_signal_emit(emission, source) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_EMIT), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source)
-
-/**
- * @def edje_obj_play_set
- * @since 1.8
- *
- * @brief Set the Edje object to playing or paused states.
- *
- * @param[in] play
- *
- * @see edje_object_play_set
- */
-#define edje_obj_play_set(play) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_SET), EO_TYPECHECK(Eina_Bool, play)
-
-/**
- * @def edje_obj_play_get
- * @since 1.8
- *
- * @brief Get the Edje object's state.
- *
- * @param[out] ret
- *
- * @see edje_object_play_get
- */
-#define edje_obj_play_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_GET), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def edje_obj_animation_set
- * @since 1.8
- *
- * @brief Set the object's animation state.
- *
- * @param[in] on
- *
- * @see edje_object_animation_set
- */
-#define edje_obj_animation_set(on) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_SET), EO_TYPECHECK(Eina_Bool, on)
-
-/**
- * @def edje_obj_animation_get
- * @since 1.8
- *
- * @brief Get the Edje object's animation state.
- *
- * @param[out] ret
- *
- * @see edje_object_animation_get
- */
-#define edje_obj_animation_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_GET), EO_TYPECHECK(Eina_Bool *, ret)
-
-#define EDJE_EDIT_CLASS edje_edit_class_get()
-
-const Eo_Class *edje_edit_class_get(void) EINA_CONST;
-
-/**
- * @defgroup Edje_External_Part_Group Edje Use of External Parts
- *
- * @brief Functions to manipulate parts of type EXTERNAL.
- *
- * Edje supports parts of type EXTERNAL, which will call plugins defined by the user
- * to create and manipulate the object that's allocated in that part.
- *
- * Parts of type external may carry extra properties that have meanings defined
- * by the external plugin. For instance, it may be a string that defines a button
- * label and setting this property will change that label on the fly.
- *
- * @ingroup Edje_External_Group
- *
- * @{
- */
-
-/**
- * @brief Get the object created by this external part.
- *
- * Parts of type external creates the part object using information
- * provided by external plugins. It's somehow like "swallow"
- * (edje_object_part_swallow()), but it's all set automatically.
- *
- * This function returns the part created by such external plugins and
- * being currently managed by this Edje.
- *
- * @note Almost all swallow rules apply: you should not move, resize,
- *       hide, show, set the color or clipper of such part. It's a bit
- *       more restrictive as one must @b never delete this object!
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The externally created object, or NULL if there is none or
- *         part is not an external.
- */
-EAPI Evas_Object              *edje_object_part_external_object_get     (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the parameter for the external part.
- *
- * Parts of type external may carry extra properties that have
- * meanings defined by the external plugin. For instance, it may be a
- * string that defines a button label and setting this property will
- * change that label on the fly.
- *
- * @note external parts have parameters set when they change
- *       states. Those parameters will never be changed by this
- *       function. The interpretation of how state_set parameters and
- *       param_set will interact is up to the external plugin.
- *
- * @note this function will not check if parameter value is valid
- *       using #Edje_External_Param_Info minimum, maximum, valid
- *       choices and others. However these should be checked by the
- *       underlying implementation provided by the external
- *       plugin. This is done for performance reasons.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param param the parameter details, including its name, type and
- *        actual value. This pointer should be valid, and the
- *        parameter must exist in
- *        #Edje_External_Type::parameters_info, with the exact type,
- *        otherwise the operation will fail and @c EINA_FALSE will be
- *        returned.
- *
- * @return @c EINA_TRUE if everything went fine, @c EINA_FALSE on errors.
- */
-EAPI Eina_Bool                 edje_object_part_external_param_set      (Evas_Object *obj, const char *part, const Edje_External_Param *param);
-
-/**
- * @brief Get the parameter for the external part.
- *
- * Parts of type external may carry extra properties that have
- * meanings defined by the external plugin. For instance, it may be a
- * string that defines a button label. This property can be modified by
- * state parameters, by explicit calls to
- * edje_object_part_external_param_set() or getting the actual object
- * with edje_object_part_external_object_get() and calling native
- * functions.
- *
- * This function asks the external plugin what is the current value,
- * independent on how it was set.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
-
- * @param param the parameter details. It is used as both input and
- *        output variable. This pointer should be valid, and the
- *        parameter must exist in
- *        #Edje_External_Type::parameters_info, with the exact type,
- *        otherwise the operation will fail and @c EINA_FALSE will be
- *        returned.
- *
- * @return @c EINA_TRUE if everything went fine and @p param members
- *         are filled with information, @c EINA_FALSE on errors and @p
- *         param member values are not set or valid.
- */
-EAPI Eina_Bool                 edje_object_part_external_param_get      (const Evas_Object *obj, const char *part, Edje_External_Param *param);
-
-/**
- * @brief Get an object contained in an part of type EXTERNAL
- *
- * The @p content string must not be NULL. Its actual value depends on the
- * code providing the EXTERNAL.
- *
- * @param obj The Edje object
- * @param part The name of the part holding the EXTERNAL
- * @param content A string identifying which content from the EXTERNAL to get
- */
-EAPI Evas_Object              *edje_object_part_external_content_get    (const Evas_Object *obj, const char *part, const char *content);
-
-/**
- * Facility to query the type of the given parameter of the given part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param param the parameter name to use.
- *
- * @return @c EDJE_EXTERNAL_PARAM_TYPE_MAX on errors, or another value
- *         from #Edje_External_Param_Type on success.
- */
-EAPI Edje_External_Param_Type  edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_External_Plugin_Development_Group Edje Development of External Plugins
- *
- * @brief Functions to register, unregister EXTERNAL types and develop the plugins.
- *
- * This group dicusses functions useful for the development of new plugins.
- * These functions deal with the newly EXTERNAL types by registering, unregistering and manipulating them.
- *
- * @ingroup Edje_External_Group
- *
- * @{
- */
-
-/**
- * Register a type to be used by EXTERNAL parts.
- *
- * Parts of type EXTERNAL will call user defined functions
- * to create and manipulate the object that's allocated in that part. This is
- * done by expecifying in the @c source property of the part the name of the
- * external to use, which must be one registered with this function.
- *
- * @param type_name name to register and be known by edje's "source:"
- *        parameter of "type: EXTERNAL" parts.
- * @param type_info meta-information describing how to interact with it.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
- *         type already registered).
- *
- * @see edje_external_type_array_register()
- */
-EAPI Eina_Bool    edje_external_type_register             (const char *type_name, const Edje_External_Type *type_info);
-
-/**
- * Unregister a previously registered EXTERNAL type.
- *
- * @param type_name name to unregister. It should have been registered with
- *        edje_external_type_register() before.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
- *         type_name did not exist).
- *
- * @see edje_external_type_array_unregister()
- */
-EAPI Eina_Bool    edje_external_type_unregister           (const char *type_name);
-
-/**
- * Register a batch of types and their information.
- *
- * When several types will be registered it is recommended to use this
- * function instead of several calls to edje_external_type_register(), as it
- * is faster.
- *
- * @note The contents of the array will be referenced directly for as long as
- * the type remains registered, so both the @c name and @c info in the
- * @p array must be kept alive during all this period (usually, the entire
- * program lifetime). The most common case would be to keep the array as a
- * @c static @c const type anyway.
- *
- * @param array @c NULL terminated array with type name and
- *        information. Note that type name or information are
- *        referenced directly, so they must be kept alive after
- *        this function returns!
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
- *         type already registered).
- *
- * @see edje_external_type_register()
- */
-EAPI void         edje_external_type_array_register       (const Edje_External_Type_Info *array);
-
-/**
- * Unregister a batch of given external type previously registered.
- *
- * @param array @c NULL terminated array, should be the same as the
- *        one used to register with edje_external_type_array_register()
- *
- * @see edje_external_type_unregister()
- */
-EAPI void         edje_external_type_array_unregister     (const Edje_External_Type_Info *array);
-
-/**
- * Return the current ABI version for Edje_External_Type structure.
- *
- * Always check this number before accessing Edje_External_Type in
- * your own software. If the number is not the same, your software may
- * access invalid memory and crash, or just get garbage values.
- *
- * @warning @b NEVER, EVER define your own Edje_External_Type using the
- *          return of this function as it will change as Edje library
- *          (libedje.so) changes, but your type definition will
- *          not. Instead, use #EDJE_EXTERNAL_TYPE_ABI_VERSION.
- *
- * Summary:
- *   - use edje_external_type_abi_version_get() to check.
- *   - use #EDJE_EXTERNAL_TYPE_ABI_VERSION to define/declare.
- *
- * @return The external ABI version the Edje library was compiled with. That
- * is, the value #EDJE_EXTERNAL_TYPE_ABI_VERSION had at that moment.
- */
-EAPI unsigned int edje_external_type_abi_version_get      (void) EINA_CONST;
-
-/**
- * Returns an interator of all the registered EXTERNAL types.
- *
- * Each item in the iterator is an @c Eina_Hash_Tuple which has the type
- * of the external in the @c key and #Edje_External_Type as @c data.
- *
- * @code
- * const Eina_Hash_Tuple *tuple;
- * Eina_Iterator *itr;
- * const Eina_List *l, *modules;
- * const char *s;
- *
- * modules = edje_available_modules_get();
- * EINA_LIST_FOREACH(modules, l, s)
- *   {
- *      if (!edje_module_load(s))
- *        printf("Error loading edje module: %s\n", s);
- *   }
- *
- * itr = edje_external_iterator_get();
- * EINA_ITERATOR_FOREACH(itr, tuple)
- *   {
- *      const char *name = tuple->key;
- *      const Edje_External_Type *type = tuple->data;
- *
- *      if ((!type) ||
- *          (type->abi_version != edje_external_type_abi_version_get()))
- *        {
- *           printf("Error: invalid type %p (abi: %d, expected: %d)\n",
- *                   type, type ? type->abi_version : 0,
- *                   edje_external_type_abi_version_get());
- *           continue;
- *        }
- *
- *      printf("%s: %s (%s) label='%s' desc='%s'\n",
- *             name, type->module, type->module_name,
- *             type->label_get ? type->label_get(type->data) : "",
- *             type->description_get ? type->description_get(type->data) : "");
- *   }
- *
- * @endcode
- */
-EAPI Eina_Iterator                  *edje_external_iterator_get     (void);
-
-/**
- * Conevenience function to find a specific parameter in a list of them.
- *
- * @param params The list of parameters for the external
- * @param key The parameter to look for
- *
- * @return The matching #Edje_External_Param or NULL if it's not found.
- */
-EAPI Edje_External_Param            *edje_external_param_find       (const Eina_List *params, const char *key);
-
-/**
- * Get the value of the given parameter of integer type.
- *
- * Look for the @p key parameter in the @p params list and return its value in
- * @p ret. If the parameter is found and is of type
- * #EDJE_EXTERNAL_PARAM_TYPE_INT, its value will be stored in the int pointed
- * by @p ret, returning EINA_TRUE. In any other case, the function returns
- * EINA_FALSE.
- *
- * @param params List of parameters where to look
- * @param key Name of the parameter to fetch
- * @param ret Int pointer where to store the value, must not be NULL.
- *
- * @return EINA_TRUE if the parameter was found and is of integer type,
- * EINA_FALSE otherwise.
- */
-EAPI Eina_Bool                       edje_external_param_int_get    (const Eina_List *params, const char *key, int *ret);
-
-/**
- * Get the value of the given parameter of double type.
- *
- * Look for the @p key parameter in the @p params list and return its value in
- * @p ret. If the parameter is found and is of type
- * #EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, its value will be stored in the double
- * pointed by @p ret, returning EINA_TRUE. In any other case, the function
- * returns EINA_FALSE.
- *
- * @param params List of parameters where to look
- * @param key Name of the parameter to fetch
- * @param ret Double pointer where to store the value, must not be NULL.
- *
- * @return EINA_TRUE if the parameter was found and is of double type,
- * EINA_FALSE otherwise.
- */
-EAPI Eina_Bool                       edje_external_param_double_get (const Eina_List *params, const char *key, double *ret);
-
-/**
- * Get the value of the given parameter of string type.
- *
- * Look for the @p key parameter in the @p params list and return its value in
- * @p ret. If the parameter is found and is of type
- * #EDJE_EXTERNAL_PARAM_TYPE_STRING, its value will be stored in the pointer
- * pointed by @p ret, returning EINA_TRUE. In any other case, the function
- * returns EINA_FALSE.
- *
- * The string stored in @p ret must not be freed or modified.
- *
- * @param params List of parameters where to look
- * @param key Name of the parameter to fetch
- * @param ret String pointer where to store the value, must not be NULL.
- *
- * @return EINA_TRUE if the parameter was found and is of string type,
- * EINA_FALSE otherwise.
- */
-EAPI Eina_Bool                       edje_external_param_string_get (const Eina_List *params, const char *key, const char **ret);
-
-/**
- * Get the value of the given parameter of boolean type.
- *
- * Look for the @p key parameter in the @p params list and return its value in
- * @p ret. If the parameter is found and is of type
- * #EDJE_EXTERNAL_PARAM_TYPE_BOOL, its value will be stored in the Eina_Bool
- * pointed by @p ret, returning EINA_TRUE. In any other case, the function
- * returns EINA_FALSE.
- *
- * @param params List of parameters where to look
- * @param key Name of the parameter to fetch
- * @param ret Eina_Bool pointer where to store the value, must not be NULL.
- *
- * @return EINA_TRUE if the parameter was found and is of boolean type,
- * EINA_FALSE otherwise.
- */
-EAPI Eina_Bool                       edje_external_param_bool_get   (const Eina_List *params, const char *key, Eina_Bool *ret);
-
-/**
- * Get the value of the given parameter of choice type.
- *
- * Look for the @p key parameter in the @p params list and return its value in
- * @p ret. If the parameter is found and is of type
- * #EDJE_EXTERNAL_PARAM_TYPE_CHOICE, its value will be stored in the string
- * pointed by @p ret, returning EINA_TRUE. In any other case, the function
- * returns EINA_FALSE.
- *
- * The string stored in @p ret must not be freed or modified.
- *
- * @param params List of parameters where to look
- * @param key Name of the parameter to fetch
- * @param ret String pointer where to store the value, must not be NULL.
- *
- * @return EINA_TRUE if the parameter was found and is of integer type,
- * EINA_FALSE otherwise.
- */
-EAPI Eina_Bool                       edje_external_param_choice_get (const Eina_List *params, const char *key, const char **ret);
-
-/**
- * Get the array of parameters information about a type given its name.
- *
- * @note the type names and other strings are static, that means they are
- *       @b NOT translated. One must use
- *       Edje_External_Type::translate() to translate those.
- *
- * @return the NULL terminated array, or @c NULL if type is unknown or
- *         it does not have any parameter information.
- *
- * @see edje_external_type_get()
- */
-EAPI const Edje_External_Param_Info *edje_external_param_info_get   (const char *type_name);
-
-/**
- * Get the #Edje_External_Type that defines an EXTERNAL type registered with
- * the name @p type_name.
- */
-EAPI const Edje_External_Type       *edje_external_type_get         (const char *type_name);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Group Edje Object
- *
- * @brief This group discusses functions that deal with Edje layouts and its components
- *
- * An important thing to know about this group is that there is no
- * Edje_Object in @b code. What we refer here as object are layouts (or themes)
- * defined by groups, and parts, both declared in EDC files. They are of
- * type Evas_Object as the other native objects of Evas, but they only exist
- * in Edje, so that is why we are calling them "edje objects".
- *
- * With the Edje Object Group functions we can deal with layouts by managing
- * its aspect, content, message and signal exchange and animation, among others.
- *
- * @{
- */
-
-/**
- * @brief Instantiate a new Edje object
- *
- * @param evas A valid Evas handle, the canvas to place the new object
- * in
- * @return A handle to the new object created or @c NULL, on errors.
- *
- * This function creates a new Edje smart object, returning its @c
- * Evas_Object handle. An Edje object is useless without a (source)
- * file set to it, so you'd most probably call edje_object_file_set()
- * afterwards, like in:
- * @code
- * Evas_Object *edje;
- *
- * edje = edje_object_add(canvas);
- * if (!edje)
- *   {
- *      fprintf(stderr, "could not create edje object!\n");
- *      return NULL;
- *   }
- *
- * if (!edje_object_file_set(edje, "theme.edj", "group_name"))
- *   {
- *      int err = edje_object_load_error_get(edje);
- *      const char *errmsg = edje_load_error_str(err);
- *      fprintf(stderr, "could not load 'group_name' from theme.edj: %s",
- *             errmsg);
- *
- *      evas_object_del(edje);
- *      return NULL;
- *   }
- *
- * @endcode
- *
- * @note You can get a callback every time edje re-calculates the object
- * (either due to animation or some kind of signal or input). This is called
- * in-line just after the recalculation has occurred. It is a good idea not
- * to go and delete or alter the object inside this callbacks, simply make
- * a note that the recalculation has taken place and then do something about
- * it outside the callback. to register a callback use code like:
- *
- * @code
- *    evas_object_smart_callback_add(edje_obj, "recalc", my_cb, my_cb_data);
- * @endcode
- *
- * @see evas_object_smart_callback_add()
- *
- * @note Before creating the first Edje object in your code, remember
- * to initialize the library, with edje_init(), or unexpected behavior
- * might occur.
- */
-EAPI Evas_Object *edje_object_add                 (Evas *evas);
-
-/**
- * @brief Preload the images on the Edje Object in the background.
- *
- * @param obj A handle to an Edje object
- * @param cancel @c EINA_FALSE will add it the preloading work queue,
- *               @c EINA_TRUE will remove it (if it was issued before).
- * @return @c EINA_FASLE if obj was not a valid Edje object
- *         otherwise @c EINA_TRUE
- *
- * This function requests the preload of all data images (on the given
- * object) in the background. The work is queued before being processed
- * (because there might be other pending requests of this type).
- * It emits a signal "preload,done" when finished.
- *
- * @note Use @c EINA_TRUE on scenarios where you don't need
- *       the image data preloaded anymore.
- */
-EAPI Eina_Bool        edje_object_preload         (Evas_Object *obj, Eina_Bool cancel);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Scale Edje Scale
- *
- * @brief Functions that deal with scaling objects
- *
- * Edje allows one to build scalable interfaces. Scaling factors,
- * which are set to neutral (@c 1.0) values by default (no scaling,
- * actual sizes), are of two types: @b global and @b individual.
- *
- * Scaling affects the values of minimum/maximum @b part sizes, which
- * are @b multiplied by it. Font sizes are scaled, too.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/**
- * @brief Set Edje's global scaling factor.
- *
- * @param scale The global scaling factor (the default value is @c 1.0)
- *
- * Edje's global scaling factor will affect all its objects which
- * hadn't their individual scaling factors altered from the default
- * value (which is zero). If they had it set differently, by
- * edje_object_scale_set(), that factor will @b override the global
- * one.
- *
- * @warning Only parts which, at EDC level, had the @c "scale"
- * property set to @c 1, will be affected by this function. Check the
- * complete @ref edcref "syntax reference" for EDC files.
- *
- * @see edje_scale_get().
- */
-EAPI void         edje_scale_set                  (double scale);
-
-/**
- * @brief Retrieve Edje's global scaling factor.
- *
- * @return The global scaling factor
- *
- * This function returns Edje's global scaling factor.
- *
- * @see edje_scale_set() for more details
- *
- */
-EAPI double       edje_scale_get                  (void);
-
-/**
- * @brief Set the scaling factor for a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param scale The scaling factor (the default value is @c 0.0,
- * meaning individual scaling @b not set)
- *
- * This function sets an @b individual scaling factor on the @a obj
- * Edje object. This property (or Edje's global scaling factor, when
- * applicable), will affect this object's part sizes. If @p scale is
- * not zero, than the individual scaling will @b override any global
- * scaling set, for the object @p obj's parts. Put it back to zero to
- * get the effects of the global scaling again.
- *
- * @warning Only parts which, at EDC level, had the @c "scale"
- * property set to @c 1, will be affected by this function. Check the
- * complete @ref edcref "syntax reference" for EDC files.
- *
- * @see edje_object_scale_get()
- * @see edje_scale_get() for more details
- */
-EAPI Eina_Bool    edje_object_scale_set           (Evas_Object *obj, double scale);
-
-/**
- * @brief Get a given Edje object's scaling factor.
- *
- * @param obj A handle to an Edje object
- *
- * This function returns the @c individual scaling factor set on the
- * @a obj Edje object.
- *
- * @see edje_object_scale_set() for more details
- *
- */
-EAPI double       edje_object_scale_get           (const Evas_Object *obj);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Color_Class Edje Class: Color
- *
- * @brief Functions that deal with Color Classes
- *
- * Sometimes we want to change the color of two or more parts equally and
- * that's when we use color classes.
- *
- * If one or more parts are assigned with a color class, when we set color
- * values to this class it will cause all these parts to have their colors
- * multiplied by the values. Setting values to a color class at a process level
- * will affect all parts with that color class, while at a object level will
- * affect only the parts inside an specified object.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/**
- * @brief Set Edje color class.
- *
- * @param color_class
- * @param r Object Red value
- * @param g Object Green value
- * @param b Object Blue value
- * @param a Object Alpha value
- * @param r2 Outline Red value
- * @param g2 Outline Green value
- * @param b2 Outline Blue value
- * @param a2 Outline Alpha value
- * @param r3 Shadow Red value
- * @param g3 Shadow Green value
- * @param b3 Shadow Blue value
- * @param a3 Shadow Alpha value
- *
- * This function sets the color values for a process level color
- * class.  This will cause all edje parts in the current process that
- * have the specified color class to have their colors multiplied by
- * these values.  (Object level color classes set by
- * edje_object_color_class_set() will override the values set by this
- * function).
- *
- * The first color is the object, the second is the text outline, and
- * the third is the text shadow. (Note that the second two only apply
- * to text parts).
- *
- * Setting color emits a signal "color_class,set" with source being
- * the given color class in all objects.
- *
- * @see edje_color_class_set().
- *
- * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
- *       half-transparent white is 255 255 255 128.
- */
-EAPI Eina_Bool    edje_color_class_set            (const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
-
-/**
- * @brief Get Edje color class.
- *
- * @param color_class
- * @param r Object Red value
- * @param g Object Green value
- * @param b Object Blue value
- * @param a Object Alpha value
- * @param r2 Outline Red value
- * @param g2 Outline Green value
- * @param b2 Outline Blue value
- * @param a2 Outline Alpha value
- * @param r3 Shadow Red value
- * @param g3 Shadow Green value
- * @param b3 Shadow Blue value
- * @param a3 Shadow Alpha value
- *
- * @return EINA_TRUE if found or EINA_FALSE if not found and all
- *         values are zeroed.
- *
- * This function gets the color values for a process level color
- * class. This value is the globally set and not per-object, that is,
- * the value that would be used by objects if they did not override with
- * edje_object_color_class_set().
- *
- * The first color is the object, the second is the text outline, and
- * the third is the text shadow. (Note that the second two only apply
- * to text parts).
- *
- * @see edje_color_class_set().
- *
- * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
- *       half-transparent white is 255 255 255 128.
- */
-EAPI Eina_Bool    edje_color_class_get            (const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
-
-/**
- * @brief Delete edje color class.
- *
- * @param color_class
- *
- * This function deletes any values at the process level for the
- * specified color class.
- * @note Deleting the color class will revert it to the
- *       values defined in the theme file.
- *
- * Deleting the color class will emit the signal "color_class,del"
- * to all the Edje objects in the running program.
- */
-EAPI void         edje_color_class_del            (const char *color_class);
-
-/**
- * @brief Lists color classes.
- *
- * @return A list of color class names (strings). These strings and
- * the list must be free()'d by the caller.
- *
- * This function lists all color classes known about by the current
- * process.
- *
- */
-EAPI Eina_List   *edje_color_class_list           (void);
-
-/**
- * @brief Sets the object color class.
- *
- * @param obj A valid Evas_Object handle
- * @param color_class
- * @param r Object Red value
- * @param g Object Green value
- * @param b Object Blue value
- * @param a Object Alpha value
- * @param r2 Outline Red value
- * @param g2 Outline Green value
- * @param b2 Outline Blue value
- * @param a2 Outline Alpha value
- * @param r3 Shadow Red value
- * @param g3 Shadow Green value
- * @param b3 Shadow Blue value
- * @param a3 Shadow Alpha value
- *
- * This function sets the color values for an object level color
- * class. This will cause all edje parts in the specified object that
- * have the specified color class to have their colors multiplied by
- * these values.
- *
- * The first color is the object, the second is the text outline, and
- * the third is the text shadow. (Note that the second two only apply
- * to text parts).
- *
- * Setting color emits a signal "color_class,set" with source being
- * the given color.
- *
- * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
- *       half-transparent white is 255 255 255 128.
- */
-EAPI Eina_Bool    edje_object_color_class_set         (Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
-
-/**
- * @brief Gets the object color class.
- *
- * @param o A valid Evas_Object handle
- * @param color_class
- * @param r Object Red value
- * @param g Object Green value
- * @param b Object Blue value
- * @param a Object Alpha value
- * @param r2 Outline Red value
- * @param g2 Outline Green value
- * @param b2 Outline Blue value
- * @param a2 Outline Alpha value
- * @param r3 Shadow Red value
- * @param g3 Shadow Green value
- * @param b3 Shadow Blue value
- * @param a3 Shadow Alpha value
- *
- * @return EINA_TRUE if found or EINA_FALSE if not found and all
- *         values are zeroed.
- *
- * This function gets the color values for an object level color
- * class. If no explicit object color is set, then global values will
- * be used.
- *
- * The first color is the object, the second is the text outline, and
- * the third is the text shadow. (Note that the second two only apply
- * to text parts).
- *
- * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
- *       half-transparent white is 255 255 255 128.
- */
-EAPI Eina_Bool    edje_object_color_class_get         (const Evas_Object *o, const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
-
-/**
- * @brief Delete the object color class.
- *
- * @param obj The edje object's reference.
- * @param color_class The color class to be deleted.
- *
- * This function deletes any values at the object level for the
- * specified object and color class.
- * @note Deleting the color class will revert it to the values
- *       defined by edje_color_class_set() or the color class
- *       defined in the theme file.
- *
- * Deleting the color class will emit the signal "color_class,del"
- * for the given Edje object.
- */
- EAPI void         edje_object_color_class_del         (Evas_Object *obj, const char *color_class);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Text_Class Edje Class: Text
- *
- * @brief Functions that deal with Text Classes
- *
- * Sometimes we want to change the text of two or more parts equally and
- * that's when we use text classes.
- *
- * If one or more parts are assigned with a text class, when we set font
- * attributes to this class will update all these parts with the new font
- * attributes. Setting values to a text class at a process level will affect
- * all parts with that text class, while at object level will affect only
- * the parts inside an specified object.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/**
- * @brief Set the Edje text class.
- *
- * @param text_class The text class name
- * @param font The font name
- * @param size The font size
- *
- * @return @c EINA_TRUE, on success or @c EINA_FALSE, on error
- *
- * This function updates all Edje members at the process level which
- * belong to this text class with the new font attributes.
- * If the @p size is 0 then the font size will be kept with the previous size.
- * If the @p size is less then 0 then the font size will be calculated in the
- * percentage. For example, if the @p size is -50, then the font size will be
- * scaled to half of the original size and if the @p size is -10 then the font
- * size will be scaled as much as 0.1x.
- *
- * @see edje_text_class_get().
- *
- */
-EAPI Eina_Bool    edje_text_class_set             (const char *text_class, const char *font, Evas_Font_Size size);
-
-/**
- * @brief Delete the text class.
- *
- * @param text_class The text class name string
- *
- * This function deletes any values at the process level for the
- * specified text class.
- *
- */
-EAPI void         edje_text_class_del             (const char *text_class);
-
-/**
- * @brief List text classes.
- *
- * @return A list of text class names (strings). These strings are
- * stringshares and the list must be free()'d by the caller.
- *
- * This function lists all text classes known about by the current
- * process.
- *
- */
-EAPI Eina_List   *edje_text_class_list            (void);
-
-/**
- * @brief Sets Edje text class.
- *
- * @param obj A valid Evas_Object handle
- * @param text_class The text class name
- * @param font Font name
- * @param size Font Size
- *
- * @return @c EINA_TRUE, on success or @c EINA_FALSE, on error
- *
- * This function sets the text class for the Edje.
- *
- */
-EAPI Eina_Bool    edje_object_text_class_set          (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_File Edje Object File
- *
- * @brief Functions to deals with EDJ files.
- *
- * Layouts in Edje are usually called themes and they are
- * created using the EDC language. The EDC language is declarative
- * and must be compiled before being used. The output of this
- * compilation is an EDJ file, this file can be loaded by Edje,
- * and the result is a edje object.
- *
- * This groups of functions interact with these EDJ files,
- * either by loading them or retrieving information of the EDC
- * file about objects.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-typedef enum _Edje_Load_Error
-{
-   EDJE_LOAD_ERROR_NONE = 0, /**< No error happened, the loading was successful */
-   EDJE_LOAD_ERROR_GENERIC = 1, /**< A generic error happened during the loading */
-   EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< The file pointed to did not exist */
-   EDJE_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission to read the given file was denied */
-   EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Resource allocation failed during the loading */
-   EDJE_LOAD_ERROR_CORRUPT_FILE = 5, /**< The file pointed to was corrupt */
-   EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6, /**< The file pointed to had an unknown format */
-   EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7, /**< The file pointed to is incompatible, i.e., it doesn't match the library's current version's format */
-   EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8, /**< The group/collection set to load from was @b not found in the file */
-   EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9 /**< The group/collection set to load from had <b>recursive references</b> on its components */
-} Edje_Load_Error; /**< Edje file loading error codes one can get - see edje_load_error_str() too. */
-
-/**
- * Get a list of groups in an edje file
- * @param file The path to the edje file
- *
- * @return The Eina_List of group names (char *)
- *
- * Note: the list must be freed using edje_file_collection_list_free()
- * when you are done with it.
- */
-EAPI Eina_List        *edje_file_collection_list  (const char *file);
-
-/**
- * Free file collection list
- * @param lst The Eina_List of groups
- *
- * Frees the list returned by edje_file_collection_list().
- */
-EAPI void             edje_file_collection_list_free (Eina_List *lst);
-
-/**
- * Determine whether a group matching glob exists in an edje file.
- * @param file The file path
- * @param glob A glob to match on
- *
- * @return 1 if a match is found, 0 otherwise
- */
-EAPI Eina_Bool        edje_file_group_exists      (const char *file, const char *glob);
-
-/**
- * @brief Retrive an <b>EDC data field's value</b> from a given Edje
- * object's group.
- *
- * @param obj A handle to an Edje object
- * @param key The data field's key string
- * @return The data's value string. Must not be freed.
- *
- * This function fetches an EDC data field's value, which is declared
- * on the objects building EDC file, <b>under its group</b>. EDC data
- * blocks are most commonly used to pass arbitrary parameters from an
- * application's theme to its code.
- *
- * They look like the following:
- *
- * @code
- * collections {
- *   group {
- *     name: "a_group";
- *     data {
- *      item: "key1" "value1";
- *      item: "key2" "value2";
- *     }
- *   }
- * }
- * @endcode
- *
- * EDC data fields always hold @b strings as values, hence the return
- * type of this function. Check the complete @ref edcref "syntax reference"
- * for EDC files.
- *
- * @warning Do not confuse this call with edje_file_data_get(), which
- * queries for a @b global EDC data field on an EDC declaration file.
- *
- * @see edje_object_file_set()
- */
-EAPI const char  *edje_object_data_get            (const Evas_Object *obj, const char *key);
-
-/**
- * @brief Sets the @b EDJ file (and group within it) to load an Edje
- * object's contents from
- *
- * @param obj A handle to an Edje object
- * @param file The path to the EDJ file to load @p from
- * @param group The name of the group, in @p file, which implements an
- * Edje object
- * @return @c EINA_TRUE, on success or @c EINA_FALSE, on errors (check
- * edje_object_load_error_get() after this call to get errors causes)
- *
- * Edje expects EDJ files, which are theming objects' descriptions and
- * resources packed together in an EET file, to read Edje object
- * definitions from. They usually are created with the @c .edj
- * extension. EDJ files, in turn, are assembled from @b textual object
- * description files, where one describes Edje objects declaratively
- * -- the EDC files (see @ref edcref "the syntax" for those files).
- *
- * Those description files were designed so that many Edje object
- * definitions -- also called @b groups (or collections) -- could be
- * packed together <b>in the same EDJ file</b>, so that a whole
- * application's theme could be packed in one file only. This is the
- * reason for the @p group argument.
- *
- * Use this function after you instantiate a new Edje object, so that
- * you can "give him life", telling where to get its contents from.
- *
- * @see edje_object_add()
- * @see edje_object_file_get()
- */
-EAPI Eina_Bool        edje_object_file_set        (Evas_Object *obj, const char *file, const char *group);
-
-/**
- * @brief Get the file and group name that a given Edje object is bound to
- *
- * @param obj A handle to an Edje object
- * @param file A pointer to a variable whero to store the <b>file's
- * path</b>
- * @param group A pointer to a variable where to store the <b>group
- * name</b> in
- *
- * This gets the EDJ file's path, with the respective group set for
- * the given Edje object. If @a obj is either not an Edje file, or has
- * not had its file/group set previously, by edje_object_file_set(),
- * then both @p file and @p group will be set to @c NULL, indicating
- * an error.
- *
- * @see edje_object_file_set()
- *
- * @note Use @c NULL pointers on the file/group components you're not
- * interested in: they'll be ignored by the function.
- */
-EAPI void             edje_object_file_get        (const Evas_Object *obj, const char **file, const char **group);
-
-/**
- * @brief Gets the (last) file loading error for a given Edje object
- *
- * @param obj A handlet to an Edje object
- *
- * @return The Edje loading error, one of:
- * - #EDJE_LOAD_ERROR_NONE
- * - #EDJE_LOAD_ERROR_GENERIC
- * - #EDJE_LOAD_ERROR_DOES_NOT_EXIST
- * - #EDJE_LOAD_ERROR_PERMISSION_DENIED
- * - #EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
- * - #EDJE_LOAD_ERROR_CORRUPT_FILE
- * - #EDJE_LOAD_ERROR_UNKNOWN_FORMAT
- * - #EDJE_LOAD_ERROR_INCOMPATIBLE_FILE
- * - #EDJE_LOAD_ERROR_UNKNOWN_COLLECTION
- * - #EDJE_LOAD_ERROR_RECURSIVE_REFERENCE
- *
- * This function is meant to be used after an Edje EDJ <b>file
- * loading</b>, what takes place with the edje_object_file_set()
- * function. If that function does not return @c EINA_TRUE, one should
- * check for the reason of failure with this one.
- *
- * @see edje_load_error_str()
- */
-EAPI Edje_Load_Error  edje_object_load_error_get  (const Evas_Object *obj);
-
-/**
- * Converts the given Edje file load error code into a string
- * describing it in English.
- *
- * @param error the error code, a value in ::Edje_Load_Error.
- * @return Always returns a valid string. If the given @p error is not
- *         supported, <code>"Unknown error"</code> is returned.
- *
- * edje_object_file_set() is a function which sets an error value,
- * afterwards, which can be fetched with
- * edje_object_load_error_get(). The function in question is meant
- * to be used in conjunction with the latter, for pretty-printing any
- * possible error cause.
- */
-EAPI const char              *edje_load_error_str        (Edje_Load_Error error);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Communication_Interface_Signal Edje Communication Interface: Signal
- *
- * @brief Functions that deal with signals.
- *
- * Edje has two communication interfaces between @b code and @b theme.
- * Signals and messages.
- *
- * This group has functions that deal with signals. One can either
- * emit a signal from @b code to a @b theme or create handles for
- * the ones emitted from @b themes. Signals are identified by strings.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-typedef void         (*Edje_Signal_Cb)          (void *data, Evas_Object *obj, const char *emission, const char *source); /**< Edje signal callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the signal comes from. @c emission will identify the exact signal's emission string and @c source the exact signal's source one. */
-
-/**
- * @brief Add a callback for an arriving Edje signal, emitted by
- * a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param emission The signal's "emission" string
- * @param source The signal's "source" string
- * @param func The callback function to be executed when the signal is
- * emitted.
- * @param data A pointer to data to pass in to @p func.
- *
- * Edje signals are one of the communication interfaces between
- * @b code and a given Edje object's @b theme. With signals, one can
- * communicate two string values at a time, which are:
- * - "emission" value: the name of the signal, in general
- * - "source" value: a name for the signal's context, in general
- *
- * Though there are those common uses for the two strings, one is free
- * to use them however they like.
- *
- * This function adds a callback function to a signal emitted by @a obj, to
- * be issued every time an EDC program like the following
- * @code
- * program {
- *   name: "emit_example";
- *   action: SIGNAL_EMIT "a_signal" "a_source";
- * }
- * @endcode
- * is run, if @p emission and @p source are given those same values,
- * here.
- *
- * Signal callback registration is powerful, in the way that @b blobs
- * may be used to match <b>multiple signals at once</b>. All the @c
- * "*?[\" set of @c fnmatch() operators can be used, both for @p
- * emission and @p source.
- *
- * Edje has @b internal signals it will emit, automatically, on
- * various actions taking place on group parts. For example, the mouse
- * cursor being moved, pressed, released, etc., over a given part's
- * area, all generate individual signals.
- *
- * By using something like
- * @code
- * edje_object_signal_callback_add(obj, "mouse,down,*", "button.*",
- *                                 signal_cb, NULL);
- * @endcode
- * being @c "button.*" the pattern for the names of parts implementing
- * buttons on an interface, you'd be registering for notifications on
- * events of mouse buttons being pressed down on either of those parts
- * (those events all have the @c "mouse,down," common prefix on their
- * names, with a suffix giving the button number). The actual emission
- * and source strings of an event will be passed in as the @a emission
- * and @a source parameters of the callback function (e.g. @c
- * "mouse,down,2" and @c "button.close"), for each of those events.
- *
- * @note See @ref edcref "the syntax" for EDC files
- * @see edje_object_signal_emit() on how to emits Edje signals from
- * code to a an object
- * @see edje_object_signal_callback_del_full()
- */
-EAPI void         edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
-
-/**
- * @brief Remove a signal-triggered callback from an object.
- *
- * @param obj A valid Evas_Object handle.
- * @param emission The emission string.
- * @param source The source string.
- * @param func The callback function.
- * @return The data pointer
- *
- * This function removes a callback, previously attached to the
- * emittion of a signal, from the object @a obj. The parameters @a
- * emission, @a source and @a func must match exactly those passed to
- * a previous call to edje_object_signal_callback_add(). The data
- * pointer that was passed to this call will be returned.
- *
- * @see edje_object_signal_callback_add().
- * @see edje_object_signal_callback_del_full().
- *
- */
-EAPI void        *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func);
-
-/**
- * @brief Unregister/delete a callback set for an arriving Edje
- * signal, emitted by a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param emission The signal's "emission" string
- * @param source The signal's "source" string
- * @param func The callback function passed on the callback's
- * registration
- * @param data The pointer given to be passed as data to @p func
- * @return @p data, on success or @c NULL, on errors (or if @p data
- * had this value)
- *
- * This function removes a callback, previously attached to the
- * emittion of a signal, from the object @a obj. The parameters
- * @a emission, @a source, @a func and @a data must match exactly those
- * passed to a previous call to edje_object_signal_callback_add(). The
- * data pointer that was passed to this call will be returned.
- *
- * @see edje_object_signal_callback_add().
- * @see edje_object_signal_callback_del().
- *
- */
-EAPI void        *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
-
-/**
- * @brief Send/emit an Edje signal to a given Edje object
- *
- * @param obj A handle to an Edje object
- * @param emission The signal's "emission" string
- * @param source The signal's "source" string
- *
- * This function sends a signal to the object @a obj. An Edje program,
- * at @p obj's EDC specification level, can respond to a signal by
- * having declared matching @c 'signal' and @c 'source' fields on its
- * block (see @ref edcref "the syntax" for EDC files).
- *
- * As an example,
- * @code
- * edje_object_signal_emit(obj, "a_signal", "");
- * @endcode
- * would trigger a program which had an EDC declaration block like
- * @code
- * program {
- *  name: "a_program";
- *  signal: "a_signal";
- *  source: "";
- *  action: ...
- * }
- * @endcode
- *
- * @see edje_object_signal_callback_add() for more on Edje signals.
- */
-EAPI void         edje_object_signal_emit         (Evas_Object *obj, const char *emission, const char *source);
-
-/**
- * @brief Get extra data passed to callbacks.
- *
- * @return the extra data for that callback.
- *
- * Some callbacks pass extra information. This function gives access to that
- * extra information. It's somehow like event_info in smart callbacks.
- *
- * @see edje_object_signal_callback_add() for more on Edje signals.
- * @since 1.1.0
- */
-EAPI void *       edje_object_signal_callback_extra_data_get(void);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Animation Edje Object Animation
- *
- * @brief Functions that deal with animations.
- *
- * Edje has the ability to animate objects. One can start, stop, play,
- * pause, freeze and thaw edje animations using the functions of this section.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-typedef enum _Edje_Tween_Mode
-{
-   EDJE_TWEEN_MODE_NONE              = 0,
-   EDJE_TWEEN_MODE_LINEAR            = 1,
-   EDJE_TWEEN_MODE_SINUSOIDAL        = 2,
-   EDJE_TWEEN_MODE_ACCELERATE        = 3,
-   EDJE_TWEEN_MODE_DECELERATE        = 4,
-   EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5,
-   EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6,
-   EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7,
-   EDJE_TWEEN_MODE_DIVISOR_INTERP    = 8,
-   EDJE_TWEEN_MODE_BOUNCE            = 9,
-   EDJE_TWEEN_MODE_SPRING            = 10,
-   EDJE_TWEEN_MODE_LAST              = 11,
-   EDJE_TWEEN_MODE_MASK              = 0xff,
-   EDJE_TWEEN_MODE_OPT_FROM_CURRENT  = (1 << 31)
-} Edje_Tween_Mode;
-
-typedef enum _Edje_Action_Type
-{
-   EDJE_ACTION_TYPE_NONE                     = 0,
-   EDJE_ACTION_TYPE_STATE_SET                = 1,
-   EDJE_ACTION_TYPE_ACTION_STOP              = 2,
-   EDJE_ACTION_TYPE_SIGNAL_EMIT              = 3,
-   EDJE_ACTION_TYPE_DRAG_VAL_SET             = 4,
-   EDJE_ACTION_TYPE_DRAG_VAL_STEP            = 5,
-   EDJE_ACTION_TYPE_DRAG_VAL_PAGE            = 6,
-   EDJE_ACTION_TYPE_SCRIPT                   = 7,
-   EDJE_ACTION_TYPE_FOCUS_SET                = 8,
-   EDJE_ACTION_TYPE_RESERVED00               = 9,
-   EDJE_ACTION_TYPE_FOCUS_OBJECT             = 10,
-   EDJE_ACTION_TYPE_PARAM_COPY               = 11,
-   EDJE_ACTION_TYPE_PARAM_SET                = 12,
-   EDJE_ACTION_TYPE_SOUND_SAMPLE             = 13, /**< @since 1.1 */
-   EDJE_ACTION_TYPE_SOUND_TONE               = 14, /**< @since 1.1 */
-   EDJE_ACTION_TYPE_PHYSICS_IMPULSE          = 15, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE   = 16, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_FORCE            = 17, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_TORQUE           = 18, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR     = 19, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_VEL_SET          = 20, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET      = 21, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_STOP             = 22, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_PHYSICS_ROT_SET          = 23, /**< @since 1.8 */
-   EDJE_ACTION_TYPE_LAST                     = 24
-} Edje_Action_Type;
-
-/**
- * @brief Set edje trasitions' frame time.
- *
- * @param t The frame time, in seconds. Default value is 1/30.
- *
- * This function sets the edje built-in animations' frame time (thus,
- * affecting their resolution) by calling
- * ecore_animator_frametime_set(). This frame time can be retrieved
- * with edje_frametime_get().
- *
- * @see edje_frametime_get()
- *
- */
-EAPI void         edje_frametime_set              (double t);
-
-/**
- * @brief Get edje trasitions' frame time.
- *
- * @return The frame time, in seconds.
- *
- * This function returns the edje frame time set by
- * edje_frametime_set() or the default value 1/30.
- *
- * @see edje_frametime_set()
- *
- */
-EAPI double       edje_frametime_get              (void);
-
-/**
- * @brief Freeze Edje objects.
- *
- * This function freezes all Edje animations in the current process.
- *
- * @note: for freeze a specific object @see edje_object_freeze().
- *
- * @see edje_thaw()
- *
- */
-EAPI void         edje_freeze                     (void);
-
-/**
- * @brief Thaw Edje objects.
- *
- * This function thaws all Edje animations in the current process.
- *
- * @note for thaw a specific object @see edje_object_thaw().
- *
- * @see edje_freeze()
- *
- */
-EAPI void         edje_thaw                       (void);
-
-/**
- * @brief Set the Edje object to playing or paused states.
- *
- * @param obj A handle to an Edje object.
- * @param play Object state (@c EINA_TRUE to playing,
- *                           @c EINA_FALSE to paused).
- *
- * This function sets the Edje object @a obj to playing or paused
- * states, depending on the parameter @a play. This has no effect if
- * the object was already at that state.
- *
- * @see edje_object_play_get().
- *
- */
-EAPI void         edje_object_play_set            (Evas_Object *obj, Eina_Bool play);
-
-/**
- * @brief Get the Edje object's state.
- *
- * @param obj A handle to an Edje object.
- * @return @c EINA_FALSE if the object is not connected, its @c delete_me flag
- * is set, or it is at paused state; @c EINA_TRUE if the object is at playing
- * state.
- *
- * This function tells if an Edje object is playing or not. This state
- * is set by edje_object_play_set().
- *
- * @see edje_object_play_set().
- *
- */
-EAPI Eina_Bool    edje_object_play_get            (const Evas_Object *obj);
-
-/**
- * @brief Set the object's animation state.
- *
- * @param obj A handle to an Edje object.
- * @param on The animation state. @c EINA_TRUE to starts or
- *           @c EINA_FALSE to stops.
- *
- * This function starts or stops an Edje object's animation. The
- * information if it's stopped can be retrieved by
- * edje_object_animation_get().
- *
- * @see edje_object_animation_get()
- *
- */
-EAPI void         edje_object_animation_set       (Evas_Object *obj, Eina_Bool on);
-
-/**
- * @brief Get the Edje object's animation state.
- *
- * @param obj A handle to an Edje object.
- * @return @c EINA_FALSE on error or if object is not animated;
- *         @c EINA_TRUE if animated.
- *
- * This function returns if the animation is stopped or not. The
- * animation state is set by edje_object_animation_set().
- *
- * @see edje_object_animation_set().
- *
- */
-EAPI Eina_Bool    edje_object_animation_get       (const Evas_Object *obj);
-
-/**
- * @brief Freezes the Edje object.
- *
- * @param obj A handle to an Edje object.
- * @return The frozen state or 0 on Error
- *
- * This function puts all changes on hold. Successive freezes will
- * nest, requiring an equal number of thaws.
- *
- * @see edje_object_thaw()
- */
-EAPI int          edje_object_freeze                  (Evas_Object *obj);
-
-/**
- * @brief Thaws the Edje object.
- *
- * @param obj A handle to an Edje object.
- * @return The frozen state or 0 if the object is not frozen or on error.
- *
- * This function thaws the given Edje object.
- *
- * @note: If sucessives freezes were done, an equal number of
- *        thaws will be required.
- *
- * @see edje_object_freeze()
- */
-EAPI int          edje_object_thaw                    (Evas_Object *obj);
-
-/**
- * @brief Returns the state of the Edje part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param val_ret
- *
- * @return The part state:\n
- * "default" for the default state\n
- * "" for other states
- */
-EAPI const char      *edje_object_part_state_get      (const Evas_Object *obj, const char *part, double *val_ret);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Geometry_Group Edje Object Geometry
- *
- * @brief Functions that deal with object's geometry.
- *
- * By geometry we mean size and position. So in this groups there are
- * functions to manipulate object's geometry or retrieve information
- * about it.
- *
- * Keep in mind that by changing an object's geometry, it may affect
- * the appearance in the screen of the parts inside. Most times
- * that is what you want.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/**
- * @brief Get the minimum size specified -- as an EDC property -- for a
- * given Edje object
- *
- * @param obj A handle to an Edje object
- * @param minw Pointer to a variable where to store the minimum width
- * @param minh Pointer to a variable where to store the minimum height
- *
- * This function retrieves the @p obj object's minimum size values,
- * <b>as declared in its EDC group definition</b>. Minimum size of
- * groups have the following syntax
- * @code
- * collections {
- *   group {
- *     name: "a_group";
- *     min: 100 100;
- *   }
- * }
- * @endcode
- *
- * where one declares a minimum size of 100 pixels both for width and
- * height. Those are (hint) values which should be respected when the
- * given object/group is to be controlled by a given container object
- * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
- * typed part, as in edje_object_part_swallow()). Check the complete
- * @ref edcref "syntax reference" for EDC files.
- *
- * @note If the @c min EDC property was not declared for @p obj, this
- * call will return the value 0, for each axis.
- *
- * @note On failure, this function will make all non-@c NULL size
- * pointers' pointed variables be set to zero.
- *
- * @see edje_object_size_max_get()
- */
-EAPI void         edje_object_size_min_get            (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
-
-/**
- * @brief Edje will automatically update the size hints on itself.
- *
- * @param obj A handle to an Edje object.
- * @param update Wether or not update the size hints.
- *
- * By default edje doesn't set size hints on itself. With this function
- * call, it will do so if update is true. Be carefully, it cost a lot to
- * trigger this feature as it will recalc the object every time it make
- * sense to be sure that's its minimal size hint is always accurate.
- */
-EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update);
-
-/**
- * @brief Wether or not Edje will update size hints on itself.
- *
- * @param obj A handle to an Edje object.
- * @return @c true if does, @c false if it doesn't.
- */
-EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj);
-
-/**
- * @brief Get the maximum size specified -- as an EDC property -- for a
- * given Edje object
- *
- * @param obj A handle to an Edje object
- * @param maxw Pointer to a variable where to store the maximum width
- * @param maxh Pointer to a variable where to store the maximum height
- *
- * This function retrieves the @p obj object's maximum size values,
- * <b>as declared in its EDC group definition</b>. Maximum size of
- * groups have the following syntax
- * @code
- * collections {
- *   group {
- *     name: "a_group";
- *     max: 100 100;
- *   }
- * }
- * @endcode
- *
- * where one declares a maximum size of 100 pixels both for width and
- * height. Those are (hint) values which should be respected when the
- * given object/group is to be controlled by a given container object
- * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
- * typed part, as in edje_object_part_swallow()). Check the complete
- * @ref edcref "syntax reference" for EDC files.
- *
- * @note If the @c max EDC property was not declared for @p obj, this
- * call will return the maximum size a given Edje object may have, for
- * each axis.
- *
- * @note On failure, this function will make all non-@c NULL size
- * pointers' pointed variables be set to zero.
- *
- * @see edje_object_size_min_get()
- */
-EAPI void         edje_object_size_max_get            (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
-
-/**
- * @brief Force a Size/Geometry calculation.
- *
- * @param obj A valid Evas_Object handle
- *
- * Forces the object @p obj to recalculation layout regardless of
- * freeze/thaw.
- */
-EAPI void         edje_object_calc_force              (Evas_Object *obj);
-
-/**
- * @brief Calculate the minimum required size for a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param minw Pointer to a variable where to store the minimum
- * required width
- * @param minh Pointer to a variable where to store the minimum
- * required height
- *
- * This call works exactly as edje_object_size_min_restricted_calc(),
- * with the last two arguments set to 0. Please refer to its
- * documentation, then.
- */
-EAPI void         edje_object_size_min_calc           (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
-
-/**
- * Calculate the geometry of the region, relative to a given Edje
- * object's area, <b>occupied by all parts in the object</b>
- *
- * @param obj A handle to an Edje object
- * @param x A pointer to a variable where to store the parts region's
- * x coordinate
- * @param y A pointer to a variable where to store the parts region's
- * y coordinate
- * @param w A pointer to a variable where to store the parts region's
- * width
- * @param h A pointer to a variable where to store the parts region's
- * height
- *
- * This function gets the geometry of the rectangle equal to the area
- * required to group all parts in @p obj's group/collection. The @p x
- * and @p y coordinates are relative to the top left corner of the
- * whole @p obj object's area. Parts placed out of the group's
- * boundaries will also be taken in account, so that @p x and @p y
- * <b>may be negative</b>.
- *
- * @note Use @c NULL pointers on the geometry components you're not
- * interested in: they'll be ignored by the function.
- *
- * @note On failure, this function will make all non-@c NULL geometry
- * pointers' pointed variables be set to zero.
- */
-EAPI Eina_Bool    edje_object_parts_extends_calc      (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * @brief Calculate the minimum required size for a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param minw Pointer to a variable where to store the minimum
- * required width
- * @param minh Pointer to a variable where to store the minimum
- * required height
- * @param restrictedw Do not allow object's calculated (minimum) width
- * to be less than this value
- * @param restrictedh Do not allow object's calculated (minimum)
- * height to be less than this value
- *
- * This call will trigger an internal recalculation of all parts of
- * the @p obj object, in order to return its minimum required
- * dimensions for width and height. The user might choose to @b impose
- * those minimum sizes, making the resulting calculation to get to values
- * equal or bigger than @p restrictedw and @p restrictedh, for width and
- * height, respectively.
- *
- * @note At the end of this call, @p obj @b won't be automatically
- * resized to new dimensions, but just return the calculated
- * sizes. The caller is the one up to change its geometry or not.
- *
- * @warning Be advised that invisible parts in @p obj @b will be taken
- * into account in this calculation.
- */
-EAPI void         edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Part Edje Part
- *
- * @brief Functions that deal with layout components
- *
- * Parts are layout components, but as a layout, they are objects too.
- *
- * There are several types of parts, these types can be divided into two
- * main categories, the first being containers. Containers are parts
- * that are in effect a group of elements. The second group is that of
- * the elements, these part types may not contain others.
- *
- * This section has some functions specific for some types and others that
- * could be applied to any type.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-typedef enum _Edje_Part_Type
-{
-   EDJE_PART_TYPE_NONE      = 0,
-   EDJE_PART_TYPE_RECTANGLE = 1,
-   EDJE_PART_TYPE_TEXT      = 2,
-   EDJE_PART_TYPE_IMAGE     = 3,
-   EDJE_PART_TYPE_SWALLOW   = 4,
-   EDJE_PART_TYPE_TEXTBLOCK = 5,
-   EDJE_PART_TYPE_GRADIENT  = 6,
-   EDJE_PART_TYPE_GROUP     = 7,
-   EDJE_PART_TYPE_BOX       = 8,
-   EDJE_PART_TYPE_TABLE     = 9,
-   EDJE_PART_TYPE_EXTERNAL  = 10,
-   EDJE_PART_TYPE_PROXY     = 11,
-   EDJE_PART_TYPE_SPACER    = 12, /**< @since 1.7 */
-   EDJE_PART_TYPE_LAST      = 13
-} Edje_Part_Type;
-
-/**
- * @brief Check if an Edje part exists in a given Edje object's group
- * definition.
- *
- * @param obj A handle to an Edje object
- * @param part The part's name to check for existence in @p obj's
- * group
- * @return @c EINA_TRUE, if the Edje part exists in @p obj's group or
- * @c EINA_FALSE, otherwise (and on errors)
- *
- * This function returns if a given part exists in the Edje group
- * bound to object @p obj (with edje_object_file_set()).
- *
- * This call is useful, for example, when one could expect or not a
- * given GUI element, depending on the @b theme applied to @p obj.
- */
-EAPI Eina_Bool    edje_object_part_exists             (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Get a handle to the Evas object implementing a given Edje
- * part, in an Edje object.
- *
- * @param obj A handle to an Edje object
- * @param part The Edje part's name
- * @return A pointer to the Evas object implementing the given part,
- * or @c NULL on failure (e.g. the given part doesn't exist)
- *
- * This function gets a pointer of the Evas object corresponding to a
- * given part in the @p obj object's group.
- *
- * You should @b never modify the state of the returned object (with
- * @c evas_object_move() or @c evas_object_hide() for example),
- * because it's meant to be managed by Edje, solely. You are safe to
- * query information about its current state (with @c
- * evas_object_visible_get() or @c evas_object_color_get() for
- * example), though.
- */
-EAPI const Evas_Object *edje_object_part_object_get   (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Retrieve the geometry of a given Edje part, in a given Edje
- * object's group definition, <b>relative to the object's area</b>
- *
- * @param obj A handle to an Edje object
- * @param part The Edje part's name
- * @param x A pointer to a variable where to store the part's x
- * coordinate
- * @param y A pointer to a variable where to store the part's y
- * coordinate
- * @param w A pointer to a variable where to store the part's width
- * @param h A pointer to a variable where to store the part's height
- *
- * This function gets the geometry of an Edje part within its
- * group. The @p x and @p y coordinates are relative to the top left
- * corner of the whole @p obj object's area.
- *
- * @note Use @c NULL pointers on the geometry components you're not
- * interested in: they'll be ignored by the function.
- *
- * @note On failure, this function will make all non-@c NULL geometry
- * pointers' pointed variables be set to zero.
- */
-EAPI Eina_Bool    edje_object_part_geometry_get       (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * @brief Retrieve a list all accessibility part names
- *
- * @param obj A valid Evas_Object handle
- * @return A list all accessibility part names on @p obj
- * @since 1.7.0
- */
-EAPI Eina_List    *edje_object_access_part_list_get   (const Evas_Object *obj);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Part_Text Edje Text Part
- *
- * @brief Functions that deal with parts of type text
- *
- * Text is an element type for parts. It's basic functionality is to
- * display a string on the layout, but a lot more things can be done
- * with texts, like string selection, setting the cursor and include
- * a input panel, where one can set a virtual keyboard to handle
- * keyboard entry easily.
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
-typedef enum _Edje_Text_Effect
-{
-#define EDJE_TEXT_EFFECT_MASK_BASIC 0xf
-#define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \
-   do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0)
-   EDJE_TEXT_EFFECT_NONE                = 0,
-   EDJE_TEXT_EFFECT_PLAIN               = 1,
-   EDJE_TEXT_EFFECT_OUTLINE             = 2,
-   EDJE_TEXT_EFFECT_SOFT_OUTLINE        = 3,
-   EDJE_TEXT_EFFECT_SHADOW              = 4,
-   EDJE_TEXT_EFFECT_SOFT_SHADOW         = 5,
-   EDJE_TEXT_EFFECT_OUTLINE_SHADOW      = 6,
-   EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7,
-   EDJE_TEXT_EFFECT_FAR_SHADOW          = 8,
-   EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW     = 9,
-   EDJE_TEXT_EFFECT_GLOW                = 10,
-
-   EDJE_TEXT_EFFECT_LAST                = 11,
-
-#define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4)
-#define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \
-   do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0)
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM       = (0x1 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT  = (0x2 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT         = (0x3 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT     = (0x4 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP          = (0x5 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT    = (0x6 << 4),
-   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT        = (0x7 << 4)
-} Edje_Text_Effect;
-
-typedef void         (*Edje_Text_Change_Cb)     (void *data, Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the object text callback.
- *
- * @param obj A valid Evas_Object handle
- * @param func The callback function to handle the text change
- * @param data The data associated to the callback function.
- *
- * This function sets the callback to be called when the text changes.
- */
-EAPI void         edje_object_text_change_cb_set      (Evas_Object *obj, Edje_Text_Change_Cb func, void *data);
-
-/**
- * @brief Sets the text for an object part
- *
- * @param obj A valid Evas Object handle
- * @param part The part name
- * @param text The text string
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool    edje_object_part_text_set           (Evas_Object *obj, const char *part, const char *text);
-
-/**
- * @brief Sets the text for an object part, but converts HTML escapes to UTF8
- *
- * This converts the given string @p text to UTF8 assuming it contains HTML
- * style escapes like "&amp;" and "&copy;" etc. IF the part is of type TEXT,
- * as opposed to TEXTBLOCK.
- *
- * @param obj A valid Evas Object handle
- * @param part The part name
- * @param text The text string
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- *
- * @since 1.2
- */
-EAPI Eina_Bool    edje_object_part_text_escaped_set   (Evas_Object *obj, const char *part, const char *text);
-
-/**
- * @brief Return the text of the object part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return The text string
- *
- * This function returns the text associated to the object part.
- *
- * @see edje_object_part_text_set().
- */
-EAPI const char  *edje_object_part_text_get           (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the style of the
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param style The style to set (textblock conventions).
- *
- * This function sets the style associated with the textblock part.
- *
- * @since 1.2.0
- */
-EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style);
-
-/**
- * @brief Return the text of the object part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return The text string
- *
- * This function returns the style associated with the textblock part.
- *
- * @since 1.2.0
- */
-EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part);
-
-/**
- * @brief Delete the top style form the user style stack.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @since 1.2.0
- */
-EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part);
-
-/**
- * @brief Sets the raw (non escaped) text for an object part.
- *
- * @param obj A valid Evas Object handle
- * @param part The part name
- * @param text_to_escape The text string
- *
- * This funciton will not do escape for you if it is a TEXTBLOCK part, that is,
- * if text contain tags, these tags will not be interpreted/parsed by TEXTBLOCK.
- *
- * @see edje_object_part_text_unescaped_get().
- */
-EAPI Eina_Bool    edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape);
-
-/**
- * @brief Returns the text of the object part, without escaping.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The @b allocated text string without escaping, or NULL on
- * problems.
- *
- * This function is the counterpart of
- * edje_object_part_text_unescaped_set(). Please notice that the
- * result is newly allocated memory and should be released with free()
- * when done.
- *
- * @see edje_object_part_text_unescaped_set().
- */
-EAPI char        *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Insert text for an object part.
- *
- * @param obj A valid Evas Object handle
- * @param part The part name
- * @param text The text string
- *
- * This function inserts the text for an object part just before the
- * cursor position.
- *
- */
-EAPI void             edje_object_part_text_insert                  (Evas_Object *obj, const char *part, const char *text);
-
-/**
- * @brief Insert text for an object part.
- *
- * @param obj A valid Evas Object handle
- * @param part The part name
- * @param text The text string
- *
- * This function inserts the text for an object part at the end; It does not
- * move the cursor.
- *
- * @since 1.1
- */
-EAPI void             edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text);
-
-/**
- * @brief Return a list of char anchor names.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return The list of anchors (const char *), do not modify!
- *
- * This function returns a list of char anchor names.
- *
- */
-EAPI const Eina_List *edje_object_part_text_anchor_list_get         (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param anchor The anchor name
- *
- * @return The list of anchor rects (const Evas_Textblock_Rectangle
- * *), do not modify! Geometry is relative to entry part.
- *
- * This function return a list of Evas_Textblock_Rectangle anchor
- * rectangles.
- *
- */
-EAPI const Eina_List *edje_object_part_text_anchor_geometry_get     (const Evas_Object *obj, const char *part, const char *anchor);
-
-/**
- * @brief Return a list of char item names.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return The list of items (const char *), do not modify!
- *
- * This function returns a list of char item names.
- *
- */
-EAPI const Eina_List *edje_object_part_text_item_list_get           (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Return item geometry.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param item The item name
- * @param cx Item x return (relative to entry part)
- * @param cy Item y return (relative to entry part)
- * @param cw Item width return
- * @param ch Item height return
- *
- * @return 1 if item exists, 0 if not
- *
- * This function return a list of Evas_Textblock_Rectangle item
- * rectangles.
- *
- */
-EAPI Eina_Bool        edje_object_part_text_item_geometry_get       (const Evas_Object *obj, const char *part, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
-
-/**
- * @brief This function inserts text as if the user has inserted it.
- *
- * This means it actually registers as a change and emits signals, triggers
- * callbacks as appropriate.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param text The text string
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_user_insert        (const Evas_Object *obj, const char *part, const char *text);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Text_Selection Edje Text Selection
- *
- * @brief Functions that deal with selection in text parts
- *
- * Selection is a known functionality for texts in the whole computational
- * world. It is a block of text marked for further manipulation.
- *
- * Edje is responsible for handling this functionality through the
- * following functions.
- *
- * @ingroup Edje_Part_Text
- *
- * @{
- */
-
-/**
- * @brief Return the selection text of the object part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The text string
- *
- * This function returns selection text of the object part.
- *
- * @see edje_object_part_text_select_all()
- * @see edje_object_part_text_select_none()
- */
-EAPI const char      *edje_object_part_text_selection_get           (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the selection to be none.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * This function sets the selection text to be none.
- */
-EAPI void             edje_object_part_text_select_none             (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the selection to be everything.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * This function selects all text of the object of the part.
- */
-EAPI void             edje_object_part_text_select_all              (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Enables selection if the entry is an EXPLICIT selection mode
- * type.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param allow EINA_TRUE to enable, EINA_FALSE otherwise
- *
- * The default is to @b not allow selection. This function only affects user
- * selection, functions such as edje_object_part_text_select_all() and
- * edje_object_part_text_select_none() are not affected.
- */
-EAPI void             edje_object_part_text_select_allow_set        (const Evas_Object *obj, const char *part, Eina_Bool allow);
-
-/**
- * @brief Aborts any selection action on a part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- */
-EAPI void             edje_object_part_text_select_abort            (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Starts selecting at current cursor position
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- */
-EAPI void             edje_object_part_text_select_begin            (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Extends the current selection to the current cursor position
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- */
-EAPI void             edje_object_part_text_select_extend           (const Evas_Object *obj, const char *part);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Text_Cursor Edje Text Cursor
- *
- * @brief Functions that deal with cursor in text parts
- *
- * Cursor is a known functionality for texts in the whole computational
- * world. It marks a position in the text from where one may want
- * to make a insertion, deletion or selection.
- *
- * Edje is responsible for handling this functionality through the
- * following functions.
- *
- * @ingroup Edje_Part_Text
- *
- * @{
- */
-
-typedef enum _Edje_Cursor
-{
-   EDJE_CURSOR_MAIN,
-   EDJE_CURSOR_SELECTION_BEGIN,
-   EDJE_CURSOR_SELECTION_END,
-   EDJE_CURSOR_PREEDIT_START,
-   EDJE_CURSOR_PREEDIT_END,
-   EDJE_CURSOR_USER,
-   EDJE_CURSOR_USER_EXTRA,
-   // more later
-} Edje_Cursor;
-
-/**
- * @brief Advances the cursor to the next cursor position.
- * @see evas_textblock_cursor_char_next
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The edje cursor to advance
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_next                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Moves the cursor to the previous char
- * @see evas_textblock_cursor_char_prev
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_prev                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Move the cursor to the char above the current cursor position.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_up                   (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Moves the cursor to the char below the current cursor position.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_down                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Moves the cursor to the beginning of the text part
- * @see evas_textblock_cursor_paragraph_first
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI void             edje_object_part_text_cursor_begin_set            (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Moves the cursor to the end of the text part.
- * @see evas_textblock_cursor_paragraph_last
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI void             edje_object_part_text_cursor_end_set              (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Copy the cursor to another cursor.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param src the cursor to copy from
- * @param dst the cursor to copy to
- */
-EAPI void             edje_object_part_text_cursor_copy                 (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
-
-/**
- * @brief Move the cursor to the beginning of the line.
- * @see evas_textblock_cursor_line_char_first
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI void             edje_object_part_text_cursor_line_begin_set       (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Move the cursor to the end of the line.
- * @see evas_textblock_cursor_line_char_last
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur the edje cursor to work on
- */
-EAPI void             edje_object_part_text_cursor_line_end_set         (Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * Position the given cursor to a X,Y position.
- *
- * This is frequently used with the user cursor.
- *
- * @param obj An Edje object.
- * @param part The part containing the object.
- * @param cur The cursor to adjust.
- * @param x X Coordinate.
- * @param y Y Coordinate.
- * @return True on success, false on error.
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_coord_set            (Evas_Object *obj, const char *part, Edje_Cursor cur, Evas_Coord x, Evas_Coord y);
-
-/**
- * @brief Returns whether the cursor points to a format.
- * @see evas_textblock_cursor_is_format
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The cursor to adjust.
- * @return EINA_TRUE if it's true, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_is_format_get        (const Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Return true if the cursor points to a visible format
- * For example \\t, \\n, item and etc.
- * @see  evas_textblock_cursor_format_is_visible_get
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The cursor to adjust.
- */
-EAPI Eina_Bool        edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Returns the content (char) at the cursor position.
- * @see evas_textblock_cursor_content_get
- *
- * You must free the return (if not NULL) after you are done with it.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The cursor to use
- * @return The character string pointed to (may be a multi-byte utf8 sequence) terminated by a nul byte.
- */
-EAPI char            *edje_object_part_text_cursor_content_get          (const Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Sets the cursor position to the given value
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The cursor to move
- * @param pos the position of the cursor
- * @since 1.1.0
- */
-EAPI void             edje_object_part_text_cursor_pos_set              (Evas_Object *obj, const char *part, Edje_Cursor cur, int pos);
-
-/**
- * @brief Retrieves the current position of the cursor
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cur The cursor to get the position
- * @return The cursor position
- * @since 1.1.0
- */
-EAPI int              edje_object_part_text_cursor_pos_get              (const Evas_Object *obj, const char *part, Edje_Cursor cur);
-
-/**
- * @brief Returns the cursor geometry of the part relative to the edje
- * object.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param x Cursor X position
- * @param y Cursor Y position
- * @param w Cursor width
- * @param h Cursor height
- *
- */
-EAPI void             edje_object_part_text_cursor_geometry_get     (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Text_Entry Edje Text Entry
- *
- * @brief Functions that deal with text entries
- *
- * In Edje it's possible to use a text part as a entry so the user is
- * able to make inputs of text. To do so, the text part must be set
- * with a input panel taht will work as a virtual keyboard.
- *
- * Some of effects can be applied to the entered text and also plenty
- * actions can be performed after any input.
- *
- * Use the functions of this section to handle the user input of text.
- *
- * @ingroup Edje_Part_Text
- *
- * @{
- */
-
-struct _Edje_Entry_Change_Info
-{
-   union {
-        struct {
-             const char *content;
-             size_t pos;
-             size_t plain_length; /* Number of cursor positions represented
-                                     in content. */
-        } insert;
-        struct {
-             const char *content;
-             size_t start, end;
-        } del;
-   } change;
-   Eina_Bool insert : 1; /**< True if the "change" union's "insert" is valid */
-   Eina_Bool merge : 1; /**< True if can be merged with the previous one. Used for example with insertion when something is already selected. */
-};
-
-/**
- * @since 1.1.0
- */
-typedef struct _Edje_Entry_Change_Info        Edje_Entry_Change_Info;
-
-typedef enum _Edje_Text_Filter_Type
-{
-   EDJE_TEXT_FILTER_TEXT = 0,
-   EDJE_TEXT_FILTER_FORMAT = 1,
-   EDJE_TEXT_FILTER_MARKUP = 2
-} Edje_Text_Filter_Type;
-
-typedef enum _Edje_Text_Autocapital_Type
-{
-   EDJE_TEXT_AUTOCAPITAL_TYPE_NONE,
-   EDJE_TEXT_AUTOCAPITAL_TYPE_WORD,
-   EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE,
-   EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER
-} Edje_Text_Autocapital_Type;
-
-typedef enum _Edje_Input_Panel_Lang
-{
-   EDJE_INPUT_PANEL_LANG_AUTOMATIC,    /**< Automatic @since 1.2 */
-   EDJE_INPUT_PANEL_LANG_ALPHABET      /**< Alphabet @since 1.2 */
-} Edje_Input_Panel_Lang;
-
-typedef enum _Edje_Input_Panel_Return_Key_Type
-{
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE,    /**< Done @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO,      /**< Go @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN,    /**< Join @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN,   /**< Login @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT,    /**< Next @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH,  /**< Search or magnifier icon @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND,    /**< Send @since 1.2 */
-   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN   /**< Sign-in @since 1.8 */
-} Edje_Input_Panel_Return_Key_Type;
-
-typedef enum _Edje_Input_Panel_Layout
-{
-   EDJE_INPUT_PANEL_LAYOUT_NORMAL,          /**< Default layout */
-   EDJE_INPUT_PANEL_LAYOUT_NUMBER,          /**< Number layout */
-   EDJE_INPUT_PANEL_LAYOUT_EMAIL,           /**< Email layout */
-   EDJE_INPUT_PANEL_LAYOUT_URL,             /**< URL layout */
-   EDJE_INPUT_PANEL_LAYOUT_PHONENUMBER,     /**< Phone Number layout */
-   EDJE_INPUT_PANEL_LAYOUT_IP,              /**< IP layout */
-   EDJE_INPUT_PANEL_LAYOUT_MONTH,           /**< Month layout */
-   EDJE_INPUT_PANEL_LAYOUT_NUMBERONLY,      /**< Number Only layout */
-   EDJE_INPUT_PANEL_LAYOUT_INVALID,         /**< Never use this */
-   EDJE_INPUT_PANEL_LAYOUT_HEX,             /**< Hexadecimal layout @since 1.2 */
-   EDJE_INPUT_PANEL_LAYOUT_TERMINAL,        /**< Command-line terminal layout including esc, alt, ctrl key, so on (no auto-correct, no auto-capitalization) @since 1.2 */
-   EDJE_INPUT_PANEL_LAYOUT_PASSWORD         /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */
-} Edje_Input_Panel_Layout;
-
-typedef void         (*Edje_Text_Filter_Cb)     (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text);
-typedef void         (*Edje_Markup_Filter_Cb)   (void *data, Evas_Object *obj, const char *part, char **text);
-typedef Evas_Object *(*Edje_Item_Provider_Cb)   (void *data, Evas_Object *obj, const char *part, const char *item);
-
-/**
- * @brief Show last character in password mode.
- *
- * @param password_show_last If TRUE enable last character show in password mode.
- *
- * This function enables last input to be visible when in password mode for few seconds
- * or until the next input is entered.
- *
- * The time out value is obtained by edje_password_show_last_timeout_set function.
- *
- * @see edje_password_show_last_timeout_set().
- */
-EAPI void edje_password_show_last_set(Eina_Bool password_show_last);
-
-/**
- * @brief Set's the timeout value in last show password mode.
- *
- * @param password_show_last_timeout The timeout value.
- *
- * This functions sets the time out value for which the last input entered in password
- * mode will be visible.
- *
- * This value can be used only when last show mode is set in password mode.
- *
- * @see edje_password_show_last_set().
- *
- */
-EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout);
-
-/**
- * @brief Set the RTL orientation for this object.
- *
- * @param obj A handle to an Edje object.
- * @param rtl new value of flag EINA_TRUE/EINA_FALSE
- * @since 1.1.0
- */
-EAPI void         edje_object_mirrored_set        (Evas_Object *obj, Eina_Bool rtl);
-
-/**
- * @brief Get the RTL orientation for this object.
- *
- * You can RTL orientation explicitly with edje_object_mirrored_set.
- *
- * @param obj A handle to an Edje object.
- * @return @c EINA_TRUE if the flag is set or @c EINA_FALSE if not.
- * @since 1.1.0
- */
-EAPI Eina_Bool    edje_object_mirrored_get        (const Evas_Object *obj);
-
-/**
- * @brief Set the function that provides item objects for named items in an edje entry text
- *
- * @param obj A valid Evas Object handle
- * @param func The function to call (or NULL to disable) to get item objects
- * @param data The data pointer to pass to the @p func callback
- *
- * Item objects may be deleted any time by Edje, and will be deleted when the
- * Edje object is deleted (or file is set to a new file).
- */
-EAPI void         edje_object_item_provider_set       (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data);
-
-/**
- * @brief Reset the input method context if needed.
- *
- * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_imf_context_reset           (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Get the input method context in entry.
- *
- * If ecore_imf was not available when edje was compiled, this function returns NULL
- * otherwise, the returned pointer is an Ecore_IMF *
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return The input method context (Ecore_IMF_Context *) in entry
- * @since 1.2.0
- */
-EAPI void              *edje_object_part_text_imf_context_get           (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the layout of the input panel.
- *
- * The layout of the input panel or virtual keyboard can make it easier or
- * harder to enter content. This allows you to hint what kind of input you
- * are expecting to enter and thus have the input panel automatically
- * come up with the right mode.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param layout layout type
- * @since 1.1
- */
-EAPI void             edje_object_part_text_input_panel_layout_set      (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout);
-
-/**
- * @brief Get the layout of the input panel.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * @return Layout type of the input panel
- *
- * @see edje_object_part_text_input_panel_layout_set
- * @since 1.1
- */
-EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the autocapitalization type on the immodule.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param autocapital_type The type of autocapitalization
- * @since 1.1.0
- */
-EAPI void         edje_object_part_text_autocapital_type_set            (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type);
-
-/**
- * @brief Retrieves the autocapitalization type
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The autocapitalization type
- * @since 1.1.0
- */
-EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set whether the prediction is allowed or not.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param prediction If true, the prediction feature is allowed.
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_prediction_allow_set        (Evas_Object *obj, const char *part, Eina_Bool prediction);
-
-/**
- * @brief Get whether the prediction is allowed or not.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return EINA_TRUE if prediction feature is allowed.
- * @since 1.2.0
- */
-EAPI Eina_Bool        edje_object_part_text_prediction_allow_get        (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Sets the attribute to show the input panel automatically.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
- * @since 1.1.0
- */
-EAPI void             edje_object_part_text_input_panel_enabled_set     (Evas_Object *obj, const char *part, Eina_Bool enabled);
-
-/**
- * @brief Retrieve the attribute to show the input panel automatically.
- * @see edje_object_part_text_input_panel_enabled_set
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return EINA_TRUE if it supports or EINA_FALSE otherwise
- * @since 1.1.0
- */
-EAPI Eina_Bool        edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
- *
- * Note that input panel is shown or hidden automatically according to the focus state.
- * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part);
-
-/**
- * @brief Hide the input panel (virtual keyboard).
- * @see edje_object_part_text_input_panel_show
- *
- * Note that input panel is shown or hidden automatically according to the focus state.
- * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part);
-
-/**
- * Set the language mode of the input panel.
- *
- * This API can be used if you want to show the Alphabet keyboard.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param lang the language to be set to the input panel.
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang);
-
-/**
- * Get the language mode of the input panel.
- *
- * See @ref edje_object_part_text_input_panel_language_set for more details.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return input panel language type
- * @since 1.2.0
- */
-EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part);
-
-/**
- * Set the input panel-specific data to deliver to the input panel.
- *
- * This API is used by applications to deliver specific data to the input panel.
- * The data format MUST be negotiated by both application and the input panel.
- * The size and format of data are defined by the input panel.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param data The specific data to be set to the input panel.
- * @param len the length of data, in bytes, to send to the input panel
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len);
-
-/**
- * Get the specific data of the current active input panel.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param data The specific data to be got from the input panel
- * @param len The length of data
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len);
-
-/**
- * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
- *
- * An input panel displays the string or icon associated with this type
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param return_key_type The type of "return" key on the input panel
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type);
-
-/**
- * Get the "return" key type.
- *
- * @see edje_object_part_text_input_panel_return_key_type_set() for more details
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The type of "return" key on the input panel
- * @since 1.2.0
- */
-EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part);
-
-/**
- * Set the return key on the input panel to be disabled.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param disabled The state
- * @since 1.2.0
- */
-EAPI void             edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled);
-
-/**
- * Get whether the return key on the input panel should be disabled or not.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return EINA_TRUE if it should be disabled
- * @since 1.2.0
- */
-EAPI Eina_Bool        edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part);
-
-/**
- * Add a filter function for newly inserted text.
- *
- * Whenever text is inserted (not the same as set) into the given @p part,
- * the list of filter functions will be called to decide if and how the new
- * text will be accepted.
- * There are three types of filters, EDJE_TEXT_FILTER_TEXT,
- * EDJE_TEXT_FILTER_FORMAT and EDJE_TEXT_FILTER_MARKUP.
- * The text parameter in the @p func filter can be modified by the user and
- * it's up to him to free the one passed if he's to change the pointer. If
- * doing so, the newly set text should be malloc'ed, as once all the filters
- * are called Edje will free it.
- * If the text is to be rejected, freeing it and setting the pointer to NULL
- * will make Edje break out of the filter cycle and reject the inserted
- * text.
- *
- * @warning This function will be deprecated because of difficulty in use.
- *          The type(format, text, or markup) of text should be always
- *          checked in the filter function for correct filtering.
- *          Please use edje_object_text_markup_filter_callback_add() instead. There
- *          is no need to check the type of text in the filter function
- *          because the text is always markup.
- * @warning If you use this function with
- *          edje_object_text_markup_filter_callback_add() together, all
- *          Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
- *          will be executed, and then filtered text will be inserted.
- *
- * @see edje_object_text_insert_filter_callback_del
- * @see edje_object_text_insert_filter_callback_del_full
- * @see edje_object_text_markup_filter_callback_add
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The callback function that will act as filter
- * @param data User provided data to pass to the filter function
- */
-EAPI void             edje_object_text_insert_filter_callback_add       (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
-
-/**
- * Delete a function from the filter list.
- *
- * Delete the given @p func filter from the list in @p part. Returns
- * the user data pointer given when added.
- *
- * @see edje_object_text_insert_filter_callback_add
- * @see edje_object_text_insert_filter_callback_del_full
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The function callback to remove
- *
- * @return The user data pointer if successful, or NULL otherwise
- */
-EAPI void            *edje_object_text_insert_filter_callback_del       (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func);
-
-/**
- * Delete a function and matching user data from the filter list.
- *
- * Delete the given @p func filter and @p data user data from the list
- * in @p part.
- * Returns the user data pointer given when added.
- *
- * @see edje_object_text_insert_filter_callback_add
- * @see edje_object_text_insert_filter_callback_del
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The function callback to remove
- * @param data The data passed to the callback function
- *
- * @return The same data pointer if successful, or NULL otherwise
- */
-EAPI void            *edje_object_text_insert_filter_callback_del_full  (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
-
-/**
- * Add a markup filter function for newly inserted text.
- *
- * Whenever text is inserted (not the same as set) into the given @p part,
- * the list of markup filter functions will be called to decide if and how
- * the new text will be accepted.
- * The text parameter in the @p func filter is always markup. It can be
- * modified by the user and it's up to him to free the one passed if he's to
- * change the pointer. If doing so, the newly set text should be malloc'ed,
- * as once all the filters are called Edje will free it.
- * If the text is to be rejected, freeing it and setting the pointer to NULL
- * will make Edje break out of the filter cycle and reject the inserted
- * text.
- * This function is different from edje_object_text_insert_filter_callback_add()
- * in that the text parameter in the @p fucn filter is always markup.
- *
- * @warning If you use this function with
- *          edje_object_text_insert_filter_callback_add() togehter, all
- *          Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
- *          will be executed, and then filtered text will be inserted.
- *
- * @see edje_object_text_markup_filter_callback_del
- * @see edje_object_text_markup_filter_callback_del_full
- * @see edje_object_text_insert_filter_callback_add
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The callback function that will act as markup filter
- * @param data User provided data to pass to the filter function
- * @since 1.2.0
- */
-EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
-
-/**
- * Delete a function from the markup filter list.
- *
- * Delete the given @p func filter from the list in @p part. Returns
- * the user data pointer given when added.
- *
- * @see edje_object_text_markup_filter_callback_add
- * @see edje_object_text_markup_filter_callback_del_full
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The function callback to remove
- *
- * @return The user data pointer if successful, or NULL otherwise
- * @since 1.2.0
- */
-EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func);
-
-/**
- * Delete a function and matching user data from the markup filter list.
- *
- * Delete the given @p func filter and @p data user data from the list
- * in @p part.
- * Returns the user data pointer given when added.
- *
- * @see edje_object_text_markup_filter_callback_add
- * @see edje_object_text_markup_filter_callback_del
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param func The function callback to remove
- * @param data The data passed to the callback function
- *
- * @return The same data pointer if successful, or NULL otherwise
- * @since 1.2.0
- */
-EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Part_Swallow Edje Swallow Part
- *
- * @brief Functions that deal with parts of type swallow and swallowed objects.
- *
- * A important feature of Edje is to be able to create Evas_Objects
- * in code and place them in a layout. And that is what swallowing
- * is all about.
- *
- * Swallow parts are place holders defined in the EDC file for
- * objects that one may want to include in the layout later, or for
- * objects that are not native of Edje. In this last case, Edje will
- * only treat the Evas_Object properties of the swallowed objects.
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
-typedef enum _Edje_Aspect_Control
-{
-   EDJE_ASPECT_CONTROL_NONE = 0,
-   EDJE_ASPECT_CONTROL_NEITHER = 1,
-   EDJE_ASPECT_CONTROL_HORIZONTAL = 2,
-   EDJE_ASPECT_CONTROL_VERTICAL = 3,
-   EDJE_ASPECT_CONTROL_BOTH = 4
-} Edje_Aspect_Control;
-
-/**
- * @brief Set the object minimum size.
- *
- * @param obj A valid Evas_Object handle
- * @param minw The minimum width
- * @param minh The minimum height
- *
- * This sets the minimum size restriction for the object.
- */
-EAPI void         edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
-
-/**
- * @brief Set the object maximum size.
- *
- * @param obj A valid Evas_Object handle
- * @param maxw The maximum width
- * @param maxh The maximum height
- *
- * This sets the maximum size restriction for the object.
- */
-EAPI void         edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
-
-/**
- * @brief Set the object aspect size.
- *
- * @param obj A valid Evas_Object handle
- * @param aspect The aspect control axes
- * @param aw The aspect radio width
- * @param ah The aspect ratio height
- *
- * This sets the desired aspect ratio to keep an object that will be
- * swallowed by Edje. The width and height define a preferred size
- * ASPECT and the object may be scaled to be larger or smaller, but
- * retaining the relative scale of both aspect width and height.
- */
-EAPI void         edje_extern_object_aspect_set   (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah);
-
-/**
- * @brief "Swallows" an object into one of the Edje object @c SWALLOW
- * parts.
- *
- * @param obj A valid Edje object handle
- * @param part The swallow part's name
- * @param obj_swallow The object to occupy that part
- *
- * Swallowing an object into an Edje object is, for a given part of
- * type @c SWALLOW in the EDC group which gave life to @a obj, to set
- * an external object to be controlled by @a obj, being displayed
- * exactly over that part's region inside the whole Edje object's
- * viewport.
- *
- * From this point on, @a obj will have total control over @a
- * obj_swallow's geometry and visibility. For instance, if @a obj is
- * visible, as in @c evas_object_show(), the swallowed object will be
- * visible too -- if the given @c SWALLOW part it's in is also
- * visible. Other actions on @a obj will also reflect on the swallowed
- * object as well (e.g. resizing, moving, raising/lowering, etc.).
- *
- * Finally, all internal changes to @a part, specifically, will
- * reflect on the displaying of @a obj_swallow, for example state
- * changes leading to different visibility states, geometries,
- * positions, etc.
- *
- * If an object has already been swallowed into this part, then it
- * will first be unswallowed (as in edje_object_part_unswallow())
- * before the new object is swallowed.
- *
- * @note @a obj @b won't delete the swallowed object once it is
- * deleted -- @a obj_swallow will get to an unparented state again.
- *
- * For more details on EDC @c SWALLOW parts, see @ref edcref "syntax
- * reference".
- */
-EAPI Eina_Bool        edje_object_part_swallow        (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
-
-/**
- * @brief Unswallow an object.
- *
- * @param obj A valid Evas_Object handle
- * @param obj_swallow The swallowed object
- *
- * Causes the edje to regurgitate a previously swallowed object. :)
- *
- * @note @p obj_swallow will @b not be deleted or hidden.
- * @note @p obj_swallow may appear shown on the evas depending on its state when
- * it got unswallowed. Make sure you delete it or hide it if you do not want it to.
- */
-EAPI void             edje_object_part_unswallow      (Evas_Object *obj, Evas_Object *obj_swallow);
-
-/**
- * @brief Get the object currently swallowed by a part.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @return The swallowed object, or NULL if there is none.
- */
-EAPI Evas_Object     *edje_object_part_swallow_get    (const Evas_Object *obj, const char *part);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Part_Drag Edje Drag
- *
- * @brief Functions that deal with dragable parts.
- *
- * To create a movable part it must be declared as dragable
- * in EDC file. To do so, one must define a "dragable" block inside
- * the "part" block.
- *
- * These functions are used to set dragging properties to a
- * part or get dragging information about it.
- *
- * @see @ref tutorial_edje_drag
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
-typedef enum _Edje_Drag_Dir
-{
-   EDJE_DRAG_DIR_NONE = 0,
-   EDJE_DRAG_DIR_X = 1,
-   EDJE_DRAG_DIR_Y = 2,
-   EDJE_DRAG_DIR_XY = 3
-} Edje_Drag_Dir;
-
-/**
- * @brief Determine dragable directions.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- *
- * The dragable directions are defined in the EDC file, inside the @c dragable
- * section, by the attributes @c x and @c y. See the @ref edcref for more
- * information.
- *
- * @return #EDJE_DRAG_DIR_NONE: Not dragable\n
- * #EDJE_DRAG_DIR_X: Dragable in X direction\n
- * #EDJE_DRAG_DIR_Y: Dragable in Y direction\n
- * #EDJE_DRAG_DIR_XY: Dragable in X & Y directions
- */
-EAPI Edje_Drag_Dir    edje_object_part_drag_dir_get   (const Evas_Object *obj, const char *part);
-
-/**
- * @brief Set the dragable object location.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The x value
- * @param dy The y value
- *
- * Places the dragable object at the given location.
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1,
- * representing the relative position to the dragable area on that axis.
- *
- * This value means, for the vertical axis, that 0.0 will be at the top if the
- * first parameter of @c y in the dragable part theme is 1, and at bottom if it
- * is -1.
- *
- * For the horizontal axis, 0.0 means left if the first parameter of @c x in the
- * dragable part theme is 1, and right if it is -1.
- *
- * @see edje_object_part_drag_value_get()
- */
-EAPI Eina_Bool        edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy);
-
-/**
- * @brief Get the dragable object location.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The X value pointer
- * @param dy The Y value pointer
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1,
- * representing the relative position to the dragable area on that axis.
- *
- * @see edje_object_part_drag_value_set()
- *
- * Gets the drag location values.
- */
-EAPI Eina_Bool        edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy);
-
-/**
- * @brief Set the dragable object size.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dw The drag width
- * @param dh The drag height
- *
- * Values for @p dw and @p dh are real numbers that range from 0 to 1,
- * representing the relative size of the dragable area on that axis.
- *
- * Sets the size of the dragable object.
- *
- * @see edje_object_part_drag_size_get()
- */
-EAPI Eina_Bool        edje_object_part_drag_size_set  (Evas_Object *obj, const char *part, double dw, double dh);
-
-/**
- * @brief Get the dragable object size.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dw The drag width pointer
- * @param dh The drag height pointer
- *
- * Gets the dragable object size.
- *
- * @see edje_object_part_drag_size_set()
- */
-EAPI Eina_Bool        edje_object_part_drag_size_get  (const Evas_Object *obj, const char *part, double *dw, double *dh);
-
-/**
- * @brief Sets the drag step increment.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The x step amount
- * @param dy The y step amount
- *
- * Sets the x,y step increments for a dragable object.
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1,
- * representing the relative size of the dragable area on that axis by which the
- * part will be moved.
- *
- * @see edje_object_part_drag_step_get()
- */
-EAPI Eina_Bool        edje_object_part_drag_step_set  (Evas_Object *obj, const char *part, double dx, double dy);
-
-/**
- * @brief Gets the drag step increment values.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part
- * @param dx The x step increment pointer
- * @param dy The y step increment pointer
- *
- * Gets the x and y step increments for the dragable object.
- *
- *
- * @see edje_object_part_drag_step_set()
- */
-EAPI Eina_Bool        edje_object_part_drag_step_get  (const Evas_Object *obj, const char *part, double *dx, double *dy);
-
-/**
- * @brief Sets the page step increments.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The x page step increment
- * @param dy The y page step increment
- *
- * Sets the x,y page step increment values.
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1,
- * representing the relative size of the dragable area on that axis by which the
- * part will be moved.
- *
- * @see edje_object_part_drag_page_get()
- */
-EAPI Eina_Bool        edje_object_part_drag_page_set  (Evas_Object *obj, const char *part, double dx, double dy);
-
-/**
- * @brief Gets the page step increments.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The dx page increment pointer
- * @param dy The dy page increment pointer
- *
- * Gets the x,y page step increments for the dragable object.
- *
- * @see edje_object_part_drag_page_set()
- */
-EAPI Eina_Bool        edje_object_part_drag_page_get  (const Evas_Object *obj, const char *part, double *dx, double *dy);
-
-/**
- * @brief Steps the dragable x,y steps.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The x step
- * @param dy The y step
- *
- * Steps x,y where the step increment is the amount set by
- * edje_object_part_drag_step_set.
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1.
- *
- * @see edje_object_part_drag_page()
- */
-EAPI Eina_Bool        edje_object_part_drag_step      (Evas_Object *obj, const char *part, double dx, double dy);
-
-/**
- * @brief Pages x,y steps.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param dx The x step
- * @param dy The y step
- *
- * Pages x,y where the increment is defined by
- * edje_object_part_drag_page_set.
- *
- * Values for @p dx and @p dy are real numbers that range from 0 to 1.
- *
- * @warning Paging is bugged!
- *
- * @see edje_object_part_drag_step()
- */
-EAPI Eina_Bool        edje_object_part_drag_page      (Evas_Object *obj, const char *part, double dx, double dy);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Part_Box Edje Box Part
- *
- * @brief Functions that deal with parts of type box.
- *
- * Box is a container type for parts, that means it can contain
- * other parts.
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
-/**
- * @brief Registers a custom layout to be used in edje boxes.
- *
- * @param name The name of the layout
- * @param func The function defining the layout
- * @param layout_data_get This function gets the custom data pointer
- * for func
- * @param layout_data_free Passed to func to free its private data
- * when needed
- * @param free_data Frees data
- * @param data Private pointer passed to layout_data_get
- *
- * This function registers custom layouts that can be referred from
- * themes by the registered name. The Evas_Object_Box_Layout
- * functions receive two pointers for internal use, one being private
- * data, and the other the function to free that data when it's not
- * longer needed. From Edje, this private data will be retrieved by
- * calling layout_data_get, and layout_data_free will be the free
- * function passed to func. layout_data_get will be called with data
- * as its parameter, and this one will be freed by free_data whenever
- * the layout is unregistered from Edje.
- */
-EAPI void         edje_box_layout_register        (const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data);
-
-/**
- * @brief Appends an object to the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child The object to append
- *
- * @return @c EINA_TRUE: Successfully added.\n
- * @c EINA_FALSE: An error occurred.
- *
- * Appends child to the box indicated by part.
- *
- * @see edje_object_part_box_prepend()
- * @see edje_object_part_box_insert_before()
- * @see edje_object_part_box_insert_at()
- */
-EAPI Eina_Bool    edje_object_part_box_append             (Evas_Object *obj, const char *part, Evas_Object *child);
-
-/**
- * @brief Prepends an object to the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child The object to prepend
- *
- * @return @c EINA_TRUE: Successfully added.\n
- * @c EINA_FALSE: An error occurred.
- *
- * Prepends child to the box indicated by part.
- *
- * @see edje_object_part_box_append()
- * @see edje_object_part_box_insert_before()
- * @see edje_object_part_box_insert_at()
- */
-EAPI Eina_Bool    edje_object_part_box_prepend            (Evas_Object *obj, const char *part, Evas_Object *child);
-
-/**
- * @brief Adds an object to the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child The object to insert
- * @param reference The object to be used as reference
- *
- * @return @c EINA_TRUE: Successfully added.\n
- * @c EINA_FALSE: An error occurred.
- *
- * Inserts child in the box given by part, in the position marked by
- * reference.
- *
- * @see edje_object_part_box_append()
- * @see edje_object_part_box_prepend()
- * @see edje_object_part_box_insert_at()
- */
-EAPI Eina_Bool    edje_object_part_box_insert_before      (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
-
-/**
- * @brief Inserts an object to the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child The object to insert
- * @param pos The position where to insert child
- *
- * @return @c EINA_TRUE: Successfully added.\n
- * @c EINA_FALSE: An error occurred.
- *
- * Adds child to the box indicated by part, in the position given by
- * pos.
- *
- * @see edje_object_part_box_append()
- * @see edje_object_part_box_prepend()
- * @see edje_object_part_box_insert_before()
- */
-EAPI Eina_Bool    edje_object_part_box_insert_at          (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
-
-/**
- * @brief Removes an object from the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child The object to remove
- *
- * @return Pointer to the object removed, or @c NULL.
- *
- * Removes child from the box indicated by part.
- *
- * @see edje_object_part_box_remove_at()
- * @see edje_object_part_box_remove_all()
- */
-EAPI Evas_Object *edje_object_part_box_remove             (Evas_Object *obj, const char *part, Evas_Object *child);
-
-/**
- * @brief Removes an object from the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param pos The position index of the object (starts counting from 0)
- *
- * @return Pointer to the object removed, or @c NULL.
- *
- * Removes from the box indicated by part, the object in the position
- * pos.
- *
- * @see edje_object_part_box_remove()
- * @see edje_object_part_box_remove_all()
- */
-EAPI Evas_Object *edje_object_part_box_remove_at          (Evas_Object *obj, const char *part, unsigned int pos);
-
-/**
- * @brief Removes all elements from the box.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param clear Delete objects on removal
- *
- * @return 1: Successfully cleared.\n
- * 0: An error occurred.
- *
- * Removes all the external objects from the box indicated by part.
- * Elements created from the theme will not be removed.
- *
- * @see edje_object_part_box_remove()
- * @see edje_object_part_box_remove_at()
- */
-EAPI Eina_Bool    edje_object_part_box_remove_all         (Evas_Object *obj, const char *part, Eina_Bool clear);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Part_Table Edje Table Part
- *
- * @brief Functions that deal with parts of type table.
- *
- * Table is a container type for parts, that means it can contain
- * other parts.
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
-typedef enum _Edje_Object_Table_Homogeneous_Mode
-{
-   EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
-   EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
-   EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
-} Edje_Object_Table_Homogeneous_Mode;
-
-/**
- * @brief Retrieve a child from a table
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param col The column of the child to get
- * @param row The row of the child to get
- * @return The child Evas_Object
- */
-EAPI Evas_Object *edje_object_part_table_child_get        (const Evas_Object *obj, const char *part, unsigned int col, unsigned int row);
-
-/**
- * @brief Packs an object into the table.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child_obj The object to pack in
- * @param col The column to place it in
- * @param row The row to place it in
- * @param colspan Columns the child will take
- * @param rowspan Rows the child will take
- *
- * @return @c EINA_TRUE object was added, @c EINA_FALSE on failure
- *
- * Packs an object into the table indicated by part.
- */
-EAPI Eina_Bool    edje_object_part_table_pack             (Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
-
-/**
- * @brief Removes an object from the table.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param child_obj The object to pack in
- *
- * @return @c EINA_TRUE object removed, @c EINA_FALSE on failure
- *
- * Removes an object from the table indicated by part.
- */
-EAPI Eina_Bool    edje_object_part_table_unpack           (Evas_Object *obj, const char *part, Evas_Object *child_obj);
-
-/**
- * @brief Gets the number of columns and rows the table has.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param cols Pointer where to store number of columns (can be NULL)
- * @param rows Pointer where to store number of rows (can be NULL)
- *
- * @return @c EINA_TRUE get some data, @c EINA_FALSE on failure
- *
- * Retrieves the size of the table in number of columns and rows.
- */
-EAPI Eina_Bool    edje_object_part_table_col_row_size_get (const Evas_Object *obj, const char *part, int *cols, int *rows);
-
-/**
- * @brief Removes all object from the table.
- *
- * @param obj A valid Evas_Object handle
- * @param part The part name
- * @param clear If set, will delete subobjs on remove
- *
- * @return @c EINA_TRUE clear the table, @c EINA_FALSE on failure
- *
- * Removes all object from the table indicated by part, except the
- * internal ones set from the theme.
- */
-EAPI Eina_Bool    edje_object_part_table_clear            (Evas_Object *obj, const char *part, Eina_Bool clear);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Object_Communication_Interface_Message Edje Communication Interface: Message
- *
- * @brief Functions that deal with messages.
- *
- * Edje has two communication interfaces between @b code and @b theme.
- * Signals and messages.
- *
- * Edje messages are one of the communication interfaces between
- * @b code and a given Edje object's @b theme. With messages, one can
- * communicate values like strings, float numbers and integer
- * numbers. Moreover, messages can be identified by integer
- * numbers. See #Edje_Message_Type for the full list of message types.
- *
- * @note Messages must be handled by scripts.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/**
- * Identifiers of Edje message types, which can be sent back and forth
- * code and a given Edje object's theme file/group.
- *
- * @see edje_object_message_send()
- * @see edje_object_message_handler_set()
- */
-typedef enum _Edje_Message_Type
-{
-   EDJE_MESSAGE_NONE = 0,
-
-   EDJE_MESSAGE_SIGNAL = 1, /* DONT USE THIS */
-
-   EDJE_MESSAGE_STRING = 2, /**< A message with a string as value. Use #Edje_Message_String structs as message body, for this type. */
-   EDJE_MESSAGE_INT = 3, /**< A message with an integer number as value. Use #Edje_Message_Int structs as message body, for this type. */
-   EDJE_MESSAGE_FLOAT = 4, /**< A message with a floating pointer number as value. Use #Edje_Message_Float structs as message body, for this type. */
-
-   EDJE_MESSAGE_STRING_SET = 5, /**< A message with a list of strings as value. Use #Edje_Message_String_Set structs as message body, for this type. */
-   EDJE_MESSAGE_INT_SET = 6, /**< A message with a list of integer numbers as value. Use #Edje_Message_Int_Set structs as message body, for this type. */
-   EDJE_MESSAGE_FLOAT_SET = 7, /**< A message with a list of floating point numbers as value. Use #Edje_Message_Float_Set structs as message body, for this type. */
-
-   EDJE_MESSAGE_STRING_INT = 8, /**< A message with a struct containing a string and an integer number as value. Use #Edje_Message_String_Int structs as message body, for this type. */
-   EDJE_MESSAGE_STRING_FLOAT = 9, /**< A message with a struct containing a string and a floating point number as value. Use #Edje_Message_String_Float structs as message body, for this type. */
-
-   EDJE_MESSAGE_STRING_INT_SET = 10, /**< A message with a struct containing a string and list of integer numbers as value. Use #Edje_Message_String_Int_Set structs as message body, for this type. */
-   EDJE_MESSAGE_STRING_FLOAT_SET = 11 /**< A message with a struct containing a string and list of floating point numbers as value. Use #Edje_Message_String_Float_Set structs as message body, for this type. */
-} Edje_Message_Type;
-
-typedef struct _Edje_Message_String           Edje_Message_String;
-typedef struct _Edje_Message_Int              Edje_Message_Int;
-typedef struct _Edje_Message_Float            Edje_Message_Float;
-typedef struct _Edje_Message_String_Set       Edje_Message_String_Set;
-typedef struct _Edje_Message_Int_Set          Edje_Message_Int_Set;
-typedef struct _Edje_Message_Float_Set        Edje_Message_Float_Set;
-typedef struct _Edje_Message_String_Int       Edje_Message_String_Int;
-typedef struct _Edje_Message_String_Float     Edje_Message_String_Float;
-typedef struct _Edje_Message_String_Int_Set   Edje_Message_String_Int_Set;
-typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set;
-
-struct _Edje_Message_String
-{
-   char *str; /**< The message's string pointer */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING messages. The string in it is automatically freed Edje if passed to you by Edje */
-
-struct _Edje_Message_Int
-{
-   int val; /**< The message's value */
-}; /**< Structure passed as value on #EDJE_MESSAGE_INT messages */
-
-struct _Edje_Message_Float
-{
-   double val; /**< The message's value */
-}; /**< Structure passed as value on #EDJE_MESSAGE_FLOAT messages */
-
-struct _Edje_Message_String_Set
-{
-   int count; /**< The size of the message's array (may be greater than 1) */
-   char *str[1]; /**< The message's @b array of string pointers */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_SET messages. The array in it is automatically freed if passed to you by Edje */
-
-struct _Edje_Message_Int_Set
-{
-   int count; /**< The size of the message's array (may be greater than 1) */
-   int val[1]; /**< The message's @b array of integers */
-}; /**< Structure passed as value on #EDJE_MESSAGE_INT_SET messages. The array in it is automatically freed if passed to you by Edje */
-
-struct _Edje_Message_Float_Set
-{
-   int count; /**< The size of the message's array (may be greater than 1) */
-   double val[1]; /**< The message's @b array of floats */
-}; /**< Structure passed as value on #EDJE_MESSAGE_FLOAT_SET messages. The array in it is automatically freed if passed to you by Edje */
-
-struct _Edje_Message_String_Int
-{
-   char *str; /**< The message's string value */
-   int val; /**< The message's integer value */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_INT messages. The string in it is automatically freed if passed to you by Edje */
-
-struct _Edje_Message_String_Float
-{
-   char *str; /**< The message's string value */
-   double val; /**< The message's float value */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_FLOAT messages. The string in it is automatically freed if passed to you by Edje */
-
-struct _Edje_Message_String_Int_Set
-{
-   char *str; /**< The message's string value */
-   int count; /**< The size of the message's array (may be greater than 1) */
-   int val[1]; /**< The message's @b array of integers */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_INT_SET messages. The array and string in it are automatically freed if passed to you by Edje */
-
-struct _Edje_Message_String_Float_Set
-{
-   char *str; /**< The message's string value */
-   int count; /**< The size of the message's array (may be greater than 1) */
-   double val[1]; /**< The message's @b array of floats */
-}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_FLOAT_SET messages. The array and string in it are automatically freed if passed to you by Edje */
-
-typedef void         (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); /**< Edje message handler callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the message comes from. @c type will identify the type of the given message and @c msg will be a pointer the message's contents, de facto, which depend on @c type. */
-
-/**
- * @brief Send an (Edje) message to a given Edje object
- *
- * @param obj A handle to an Edje object
- * @param type The type of message to send to @p obj
- * @param id A identification number for the message to be sent
- * @param msg The message's body, a struct depending on @p type
- *
- * This function sends an Edje message to @p obj and to all of its
- * child objects, if it has any (swallowed objects are one kind of
- * child object). @p type and @p msg @b must be matched accordingly,
- * as documented in #Edje_Message_Type.
- *
- * The @p id argument as a form of code and theme defining a common
- * interface on message communication. One should define the same IDs
- * on both code and EDC declaration (see @ref edcref "the syntax" for
- * EDC files), to individualize messages (binding them to a given
- * context).
- *
- * The function to handle messages arriving @b from @b obj is set with
- * edje_object_message_handler_set().
- */
-EAPI void         edje_object_message_send                (Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
-
-/**
- * @brief Set an Edje message handler function for a given Edje object.
- *
- * @param obj A handle to an Edje object
- * @param func The function to handle messages @b coming from @p obj
- * @param data Auxiliary data to be passed to @p func
- *
- * For scriptable programs on an Edje object's defining EDC file which
- * send messages with the @c send_message() primitive, one can attach
- * <b>handler functions</b>, to be called in the code which creates
- * that object (see @ref edcref "the syntax" for EDC files).
- *
- * This function associates a message handler function and the
- * attached data pointer to the object @p obj.
- *
- * @see edje_object_message_send()
- */
-EAPI void         edje_object_message_handler_set         (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data);
-
-/**
- * @brief Process an object's message queue.
- *
- * @param obj A handle to an Edje object.
- *
- * This function goes through the object message queue processing the
- * pending messages for @b this specific Edje object. Normally they'd
- * be processed only at idle time.
- *
- */
-EAPI void         edje_object_message_signal_process      (Evas_Object *obj);
-
-
-/**
- * @brief Process all queued up edje messages.
- *
- * This function triggers the processing of messages addressed to any
- * (alive) edje objects.
- *
- */
-EAPI void         edje_message_signal_process             (void);
-
-/**
- * @}
- */
-
-/**
- * @defgroup Edje_Perspective Edje Perspective
- *
- * @brief Functions that deal with 3D projection of an 2D object.
- *
- * Perspective is a graphical tool that makes objets represented in 2D
- * look like they have a 3D appearance.
- *
- * Edje allows us to use perspective on any edje object. This group of
- * functions deal with the use of perspective, by creating and configuring
- * a perspective object that must set to a edje object or a canvas,
- * affecting all the objects inside that have no particular perspective
- * set already.
- *
- * @ingroup Edje_Object_Group
- *
- * @{
- */
-
-/* perspective info for maps inside edje objects */
-typedef struct _Edje_Perspective Edje_Perspective;
-
-/**
- * Creates a new perspective in the given canvas.
- *
- * @param e The given canvas (Evas).
- * @return An @ref Edje_Perspective object for this canvas, or @c NULL on errors.
- *
- * This function creates a perspective object that can be set on an Edje
- * object, or globally to all Edje objects on this canvas.
- *
- * @see edje_perspective_set()
- * @see edje_perspective_free()
- */
-EAPI Edje_Perspective       *edje_perspective_new            (Evas *e);
-/**
- * Delete the given perspective object.
- *
- * @param ps A valid perspective object, or @c NULL.
- *
- * This function will delete the perspective object. If the perspective
- * effect was being applied to any Edje object or part, this effect won't be
- * applied anymore.
- *
- * @see edje_perspective_new()
- */
-EAPI void                    edje_perspective_free           (Edje_Perspective *ps);
-/**
- * Setup the transform for this perspective object.
- *
- * This sets the parameters of the perspective transformation. X, Y and Z
- * values are used. The px and py points specify the "infinite distance" point
- * in the 3D conversion (where all lines converge to like when artists draw
- * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1
- * mapping between spatial coordinates and screen coordinates. Any points
- * on this z value will not have their X and Y values modified in the transform.
- * Those further away (Z value higher) will shrink into the distance, and
- * those less than this value will expand and become bigger. The @p foc value
- * determines the "focal length" of the camera. This is in reality the distance
- * between the camera lens plane itself (at or closer than this rendering
- * results are undefined) and the "z0" z value. This allows for some "depth"
- * control and @p foc must be greater than 0.
- *
- * @param ps The perspective object
- * @param px The perspective distance X coordinate
- * @param py The perspective distance Y coordinate
- * @param z0 The "0" z plane value
- * @param foc The focal distance
- */
-EAPI void                    edje_perspective_set            (Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc);
-/**
- * Make this perspective object be global for its canvas.
- *
- * @param ps The given perspective object
- * @param global @c EINA_TRUE if the perspective should be global, @c
- * EINA_FALSE otherwise.
- *
- * The canvas which this perspective object is being set as global is the one
- * given as argument upon the object creation (the @p evas parameter on the
- * function @c edje_perspective_new(evas) ).
- *
- * There can be only one global perspective object set per canvas, and if
- * a perspective object is set to global when there was already another
- * global perspective set, the old one will be set as non-global.
- *
- * A global perspective just affects a part if its Edje object doesn't have a
- * perspective object set to it, and if the part doesn't point to another
- * part to be used as perspective.
- *
- * @see edje_object_perspective_set()
- * @see edje_perspective_global_get()
- * @see edje_perspective_new()
- */
-EAPI void                    edje_perspective_global_set     (Edje_Perspective *ps, Eina_Bool global);
-/**
- * Get whether the given perspective object is global or not.
- *
- * @param ps The given perspective object.
- * @return @c EINA_TRUE if this perspective object is global, @c EINA_FALSE
- * otherwise.
- *
- * @see edje_perspective_global_set()
- */
-EAPI Eina_Bool               edje_perspective_global_get     (const Edje_Perspective *ps);
-/**
- * Get the global perspective object set for this canvas.
- *
- * @param e The given canvas (Evas).
- * @return The perspective object set as global for this canvas. Or @c NULL
- * if there is no global perspective set and on errors.
- *
- * This function will return the perspective object that was set as global
- * with edje_perspective_global_set().
- *
- * @see edje_perspective_global_set()
- * @see edje_perspective_global_get()
- */
-EAPI const Edje_Perspective *edje_evas_global_perspective_get(const Evas *e);
-/**
- * Set the given perspective object on this Edje object.
- *
- * @param obj The Edje object on the perspective will be set.
- * @param ps The perspective object that will be used.
- *
- * Make the given perspective object be the default perspective for this Edje
- * object.
- *
- * There can be only one perspective object per Edje object, and if a
- * previous one was set, it will be removed and the new perspective object
- * will be used.
- *
- * An Edje perspective will only affect a part if it doesn't point to another
- * part to be used as perspective.
- *
- * @see edje_object_perspective_new()
- * @see edje_object_perspective_get()
- * @see edje_perspective_set()
- */
-EAPI void                    edje_object_perspective_set     (Evas_Object *obj, Edje_Perspective *ps);
-/**
- * Get the current perspective used on this Edje object.
- *
- * @param obj the given Edje object.
- * @return The perspective object being used on this Edje object. Or @c NULL
- * if there was none, and on errors.
- *
- * @see edje_object_perspective_set()
- */
-EAPI const Edje_Perspective *edje_object_perspective_get     (const Evas_Object *obj);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/legacy/edje/src/lib/Edje_Edit.h b/legacy/edje/src/lib/Edje_Edit.h
deleted file mode 100644 (file)
index 935d661..0000000
+++ /dev/null
@@ -1,3539 +0,0 @@
-#ifndef _EDJE_EDIT_H
-#define _EDJE_EDIT_H
-
-#ifndef EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT
-#error "Do not use the Edje_Edit API unless you know what you are doing. It's meant only for writing editors and nothing else."
-#endif
-
-#include <Edje.h>
-
-#ifdef EAPI
-# undef EAPI
-#endif
-
-#ifdef _WIN32
-# ifdef EFL_EDJE_BUILD
-#  ifdef DLL_EXPORT
-#   define EAPI __declspec(dllexport)
-#  else
-#   define EAPI
-#  endif /* ! DLL_EXPORT */
-# else
-#  define EAPI __declspec(dllimport)
-# endif /* ! EFL_EDJE_BUILD */
-#else
-# ifdef __GNUC__
-#  if __GNUC__ >= 4
-#   define EAPI __attribute__ ((visibility("default")))
-#  else
-#   define EAPI
-#  endif
-# else
-#  define EAPI
-# endif
-#endif
-
-
-typedef enum _Edje_Edit_Image_Comp
-{
-   EDJE_EDIT_IMAGE_COMP_RAW,
-   EDJE_EDIT_IMAGE_COMP_USER,
-   EDJE_EDIT_IMAGE_COMP_COMP,
-   EDJE_EDIT_IMAGE_COMP_LOSSY
-} Edje_Edit_Image_Comp;
-
-struct _Edje_Edit_Script_Error
-{
-   const char *program_name; /* null == group shared script */
-   int line;
-   const char *error_str;
-};
-typedef struct _Edje_Edit_Script_Error Edje_Edit_Script_Error;
-
-/**
- * @file
- * @brief Functions to deal with edje internal object. Don't use in standard
- * situations. The use of any of the edje_edit_* functions can break your
- * theme ability, remember that the program must be separated from the interface!
- * 
- * This was intended ONLY for use in an actual edje editor program. Unless
- * you are writing one of these, do NOT use this API here.
- *
- * The API can be used to query or set every part of an edje object in real time.
- * You can manage every aspect of parts, part states, programs, script and whatever
- * is contained in the edje file. For a reference of what all parameter means
- * look at the complete @ref edcref.
- *
- * Don't forget to free all the strings and the lists returned by any edje_edit_*()
- * functions using edje_edit_string_free() and edje_edit_string_list_free() when
- * you don't need anymore.
- *
- * Example: print all the part in a loaded edje_object
- * @code
- *  Eina_List *parts, *l;
- *  char *part;
- *
- *  parts = edje_edit_parts_list_get(edje_object);
- *  EINA_LIST_FOREACH(parts, l, part)
- *  {
- *     printf("Part: %s\n", part);
- *  }
- *  edje_edit_string_list_free(parts);
- * @endcode
- *
- * Example: Change the color of a rect inside an edje file
- * @code
- * Evas_Object *edje;
- *
- * edje = edje_edit_object_add(evas);
- * edje_object_file_set(edje, "edj/file/name", "group to load");
- * edje_edit_state_color_set(edje, "MyRectName", "default", 0.00, 255, 255, 0, 255);
- * edje_edit_save(edje);
- * @endcode
- *
-*/
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/******************************************************************************/
-/**************************   GENERAL API   ***********************************/
-/******************************************************************************/
-/** @name General API
- *  General functions that don't fit in other cateories.
- */ //@{
-
-/** Adds an editable Edje object to the canvas.
- *
- * An Edje_Edit object is, for the most part, a standard Edje object. Only
- * difference is you can use the Edje_Edit API on them.
- *
- * @param e Evas canvas where to add the object.
- *
- * @return An Evas_Object of type Edje_Edit, or NULL if an error occurred.
- */
-EAPI Evas_Object * edje_edit_object_add(Evas *e);
-
-/** Free a generic Eina_List of (char *) allocated by an edje_edit_*_get() function.
- *
- * @param lst List of strings to free.
- */
-EAPI void edje_edit_string_list_free(Eina_List *lst);
-
-/** Free a generic string (char *) allocated by an edje_edit_*_get() function.
- *
- * @param str String to free.
- */
-EAPI void edje_edit_string_free(const char *str);
-
-/** Get the name of the program that compiled the edje file.
-  * Can be 'edje_cc' or 'edje_edit'
-  *
-  * @param obj Object being edited.
-  *
-  * @return Compiler stored in the Edje file
-  */
-EAPI const char * edje_edit_compiler_get(Evas_Object *obj);
-
-/** Save the modified edje object back to his file.
- *
- * Use this function when you are done with your editing, all the change made
- * to the current loaded group will be saved back to the original file.
- *
- * @note Source for the whole file will be auto generated and will overwrite
- * any previously stored source.
- *
- * @param obj Object to save back to the file it was loaded from.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- *
- * @todo Add a way to check what the error actually was, the way Edje Load does.
- */
-EAPI Eina_Bool edje_edit_save(Evas_Object *obj);
-
-/** Saves every group back into the file.
- *
- * @param obj Object to save.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- *
- * @see edje_edit_save()
- */
-EAPI Eina_Bool edje_edit_save_all(Evas_Object *obj);
-
-/** Print on standard output many information about the internal status
- * of the edje object.
- *
- * This is probably only useful to debug.
- *
- * @param obj Object being edited.
- */
-EAPI void edje_edit_print_internal_status(Evas_Object *obj);
-
-
-//@}
-/******************************************************************************/
-/**************************   GROUPS API   ************************************/
-/******************************************************************************/
-/** @name Groups API
- *  Functions to deal with groups property (see @ref edcref).
- */ //@{
-
-/** Create a new empty group in the given edje.
- *
- * If a group with the same name exist none is created.
- *
- * @param obj Object being edited.
- * @param name Name of the new group.
- *
- * @return EINA_TRUE if successfully added the group, EINA_FALSE if an error
- * occurred or if a group with the same name exists.
- */
-
-/**
- * @brief Add an edje (empty) group to an edje object's group set.
- *
- * @param obj The pointer to edje object.
- * @param name The name of the group.
- *
- * @return 1 If it could allocate memory to the part group added
- * or zero if not.
- *
- * This function adds, at run time, one more group, which will reside
- * in memory, to the group set found in the .edj file which @a obj was
- * loaded with. This group can be manipulated by other API functions,
- * like @c edje_edit_part_add(), for example. If desired, the new
- * group can be actually committed the respective .edj by use of @c
- * edje_edit_save().
- *
- */
-EAPI Eina_Bool edje_edit_group_add(Evas_Object *obj, const char *name);
-
-/** Delete the specified group from the given edje.
- *
- * You can only delete a currently unused group.
- * All the parts and the programs inside the group will be deleted as well,
- * but not image or font embedded in the edje.
- *
- * @param obj Object being edited.
- * @param group_name Name of group to delete.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-
-/**
- * @brief Delete the specified group from the edje file.
- *
- * @param obj The pointer to the edje object.
- * @param group_name Group to delete.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- *
- * This function deletes the given group from the file @a obj is set to. This
- * operation can't be undone as all references to the group are removed from
- * the file.
- * This function may fail if the group to be deleted is currently in use.
- *
- */
-EAPI Eina_Bool edje_edit_group_del(Evas_Object *obj, const char *group_name);
-
-/** Check if a group with the given name exist in the edje.
- *
- * @param obj Object being edited.
- * @param group Group name to check for.
- *
- * @return EINA_TRUE if group exists, EINA_FALSE if not.
- */
-EAPI Eina_Bool edje_edit_group_exist(Evas_Object *obj, const char *group);
-
-/** Set a new name for the current open group.
- *
- * You can only rename a group that is currently loaded
- * Note that the relative getter function don't exist as it doesn't make sense ;)
- * @param obj Object being edited.
- * @param new_name New name for the group.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_group_name_set(Evas_Object *obj, const char *new_name);
-
-/** Get the group minimum width.
- *
- * @param obj Object being edited.
- *
- * @return The minimum width set for the group. -1 if an error occurred.
- */
-EAPI int edje_edit_group_min_w_get(Evas_Object *obj);
-
-/** Set the group minimum width.
- *
- * @param obj Object being edited.
- * @param w New minimum width for the group.
- */
-EAPI void edje_edit_group_min_w_set(Evas_Object *obj, int w);
-
-/** Get the group minimum height.
- *
- * @param obj Object being edited.
- *
- * @return The minimum height set for the group. -1 if an error occurred.
- */
-EAPI int edje_edit_group_min_h_get(Evas_Object *obj);
-
-/** Set the group minimum height.
- *
- * @param obj Object being edited.
- * @param h New minimum height for the group.
- */
-EAPI void edje_edit_group_min_h_set(Evas_Object *obj, int h);
-
-/** Get the group maximum width.
- *
- * @param obj Object being edited.
- *
- * @return The maximum width set for the group. -1 if an error occurred.
- */
-EAPI int edje_edit_group_max_w_get(Evas_Object *obj);
-
-/** Set the group maximum width.
- *
- * @param obj Object being edited.
- * @param w New maximum width for the group.
- */
-EAPI void edje_edit_group_max_w_set(Evas_Object *obj, int w);
-
-/** Get the group maximum height.
- *
- * @param obj Object being edited.
- *
- * @return The maximum height set for the group. -1 if an error occurred.
- */
-EAPI int edje_edit_group_max_h_get(Evas_Object *obj);
-
-/** Set the group maximum height.
- *
- * @param obj Object being edited.
- * @param h New maximum height for the group.
- */
-EAPI void edje_edit_group_max_h_set(Evas_Object *obj, int h);
-
-
-//@}
-/******************************************************************************/
-/**************************   DATA API   **************************************/
-/******************************************************************************/
-/** @name Data API
- *  Functions to deal with data embedded in the edje (see @ref edcref).
- */ //@{
-
-/** Retrieves a list with the item names inside the data block.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being a name entry in the global data block for the file.
- */
-EAPI Eina_List * edje_edit_data_list_get(Evas_Object *obj);
-
-/** Create a new *global* data object in the given edje file.
- *
- * If another data entry with the same name exists, nothing is created and
- * EINA_FALSE is returned.
- *
- * @param obj Object being edited.
- * @param itemname Name for the new data entry.
- * @param value Value for the new data entry.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_data_add(Evas_Object *obj, const char *itemname, const char *value);
-
-/** Delete the given data object from edje.
- *
- * @param obj Object being edited.
- * @param itemname Data entry to remove from the global data block.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_data_del(Evas_Object *obj, const char *itemname);
-
-/** Get the data associated with the given itemname.
- *
- * @param obj Object being edited.
- * @param itemname Name of the data entry to fetch the value for.
- *
- * @return Value of the given entry, or NULL if not found.
- */
-EAPI const char * edje_edit_data_value_get(Evas_Object *obj, const char *itemname);
-
-/** Set the data associated with the given itemname.
- *
- * @param obj Object being edited.
- * @param itemname Name of data entry to change the value.
- * @param value New value for the entry.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_data_value_set(Evas_Object *obj, const char *itemname, const char *value);
-
-/** Change the name of the given data object.
- *
- * @param obj Object being edited.
- * @param itemname Data entry to rename.
- * @param newname New name for the data entry.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_data_name_set(Evas_Object *obj, const char *itemname, const char *newname);
-
-/** Retrieves a list with the item names inside the data block at the group level.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being a name entry in the data block for the group.
- */
-EAPI Eina_List * edje_edit_group_data_list_get(Evas_Object *obj);
-
-/** Create a new data object in the given edje file *belonging to the current group*.
- *
- * If another data entry with the same name exists,
- * nothing is created and EINA_FALSE is returned.
- *
- * @param obj Object being edited.
- * @param itemname Name for the new data entry.
- * @param value Value for the new data entry.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_group_data_add(Evas_Object *obj, const char *itemname, const char *value);
-
-/** Delete the given data object from the group.
- *
- * @param obj Object being edited.
- * @param itemname Name of the data entry to remove.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_group_data_del(Evas_Object *obj, const char *itemname);
-
-/** Get the data associated with the given itemname.
- *
- * @param obj Object being edited.
- * @param itemname Name of the data entry.
- *
- * @return Value of the data entry or NULL if not found.
- */
-EAPI const char * edje_edit_group_data_value_get(Evas_Object *obj, const char *itemname);
-
-/** Set the data associated with the given itemname.
- *
- * @param obj Object being edited.
- * @param itemname Name of the data entry to set the value.
- * @param value Value to set for the data entry.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_group_data_value_set(Evas_Object *obj, const char *itemname, const char *value);
-
-/** Change the name of the given data object.
- *
- * @param obj Object being edited.
- * @param itemname Name of the data entry to rename.
- * @param newname New name for the data entry.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_group_data_name_set(Evas_Object *obj, const char *itemname, const char *newname);
-
-
-//@}
-/******************************************************************************/
-/***********************   COLOR CLASSES API   ********************************/
-/******************************************************************************/
-/** @name Color Classes API
- *  Functions to deal with Color Classes (see @ref edcref).
- */ //@{
-
-/** Get the list of all the Color Classes in the given edje object.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being one color class.
- */
-EAPI Eina_List * edje_edit_color_classes_list_get(Evas_Object *obj);
-
-/** Create a new color class object in the given edje.
- *
- * If another class with the same name exists nothing is created and EINA_FALSE is returned.
- *
- * @param obj Object being edited.
- * @param name Name for the new color class.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_color_class_add(Evas_Object *obj, const char *name);
-
-/** Delete the given class object from edje.
- *
- * @param obj Object being edited.
- * @param name Color class to delete.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_color_class_del(Evas_Object *obj, const char *name);
-
-/** Get all the colors that compose the class.
- *
- * You can pass NULL to colors you are not intrested in.
- *
- * @param obj Object being edited.
- * @param class_name Color class to fetch values.
- * @param r Red component of main color.
- * @param g Green component of main color.
- * @param b Blue component of main color.
- * @param a Alpha component of main color.
- * @param r2 Red component of secondary color.
- * @param g2 Green component of secondary color.
- * @param b2 Blue component of secondary color.
- * @param a2 Alpha component of secondary color.
- * @param r3 Red component of tertiary color.
- * @param g3 Green component of tertiary color.
- * @param b3 Blue component of tertiary color.
- * @param a3 Alpha component of tertiary color.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_color_class_colors_get(Evas_Object *obj, const char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
-
-/** Set the colors for the given color class.
- *
- * If you set a color to -1 it will not be touched.
- *
- * @param obj Object being edited.
- * @param class_name Color class to fetch values.
- * @param r Red component of main color.
- * @param g Green component of main color.
- * @param b Blue component of main color.
- * @param a Alpha component of main color.
- * @param r2 Red component of secondary color.
- * @param g2 Green component of secondary color.
- * @param b2 Blue component of secondary color.
- * @param a2 Alpha component of secondary color.
- * @param r3 Red component of tertiary color.
- * @param g3 Green component of tertiary color.
- * @param b3 Blue component of tertiary color.
- * @param a3 Alpha component of tertiary color.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_color_class_colors_set(Evas_Object *obj, const char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
-
-/** Change the name of a color class.
- *
- * @param obj Object being edited.
- * @param name Color class to rename.
- * @param newname New name for the color class.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_color_class_name_set(Evas_Object *obj, const char *name, const char *newname);
-
-//@}
-
-
-/******************************************************************************/
-/**************************   TEXT STYLES *************************************/
-/******************************************************************************/
-/** @name Text styles API
- *  Functions to deal with text styles (see @ref edcref).
- */ //@{
-
-/** Get the list of all the text styles in the given edje object.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being the name for a text style.
- */
-EAPI Eina_List * edje_edit_styles_list_get(Evas_Object *obj);
-
-/** Create a new text style object in the given edje.
- *
- * If another style with the same name exists nothing is created and EINA_FALSE is returned.
- *
- * @param obj Object being edited.
- * @param style Name for the new style.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_style_add(Evas_Object *obj, const char *style);
-
-/** Delete the given text style and all the child tags.
- *
- * @param obj Object being edited.
- * @param style Style to delete.
- */
-EAPI void edje_edit_style_del(Evas_Object *obj, const char *style);
-
-/** Get the list of all the tags name in the given text style.
- *
- * @param obj Object being edited.
- * @param style Style to get the tags for.
- *
- * @return List of strings, each being one tag in the given style.
- */
-EAPI Eina_List * edje_edit_style_tags_list_get(Evas_Object *obj, const char *style);
-
-/** Get the value of the given tag.
- *
- * @param obj Object being edited.
- * @param style Style containing the tag being.
- * @param tag Tag to get the value for.
- *
- * @return Value of the given tag.
- */
-EAPI const char * edje_edit_style_tag_value_get(Evas_Object *obj, const char *style, const char *tag);
-
-/** Set the value of the given tag.
- *
- * @param obj Object being edited.
- * @param style Style containing the tag to change.
- * @param tag Name of the tag to set the value for.
- * @param new_value Value for the tag.
- */
-EAPI void edje_edit_style_tag_value_set(Evas_Object *obj, const char *style, const char *tag, const char *new_value);
-
-/** Set the name of the given tag.
- *
- * @param obj Object being edited.
- * @param style Style containing the tag to rename.
- * @param tag Tag to rename.
- * @param new_name New name for the tag.
- */
-EAPI void edje_edit_style_tag_name_set(Evas_Object *obj, const char *style, const char *tag, const char *new_name);
-
-/** Add a new tag to the given text style.
- *
- * If another tag with the same name exists nothing is created and EINA_FALSE is returned.
- *
- * @param obj Object being edited.
- * @param style Style where to add the new tag.
- * @param tag_name Name for the new tag.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_style_tag_add(Evas_Object *obj, const char *style, const char *tag_name);
-
-/** Delete the given tag.
- *
- * @param obj Object being edited.
- * @param style Style from where to remove the tag.
- * @param tag Tag to delete.
- */
-EAPI void edje_edit_style_tag_del(Evas_Object *obj, const char *style, const char *tag);
-
-
-//@}
-/******************************************************************************/
-/************************   EXTERNALS API   ***********************************/
-/******************************************************************************/
-/** @name Externals API
- *  Functions to deal with list of external modules (see @ref edcref).
- */ //@{
-
-/** Get the list of all the externals requested in the given edje object.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being an entry in the block of automatically loaded external modules.
- */
-EAPI Eina_List * edje_edit_externals_list_get(Evas_Object *obj);
-
-/** Add an external module to be requested on edje load.
- *
- * @param obj Object being edited.
- * @param external Name of the external module to add to the list of autoload.
- *
- * @return EINA_TRUE on success (or it was already there), EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_external_add(Evas_Object *obj, const char *external);
-
-/** Delete the given external from the list.
- *
- * @param obj Object being edited.
- * @param external Name of the external module to remove from the autoload list.
- *
- * @return EINA_TRUE on success, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_external_del(Evas_Object *obj, const char *external);
-
-
-//@}
-/******************************************************************************/
-/**************************   PARTS API   *************************************/
-/******************************************************************************/
-/** @name Parts API
- *  Functions to deal with part objects (see @ref edcref).
- */ //@{
-
-/** Get the list of all the parts in the given edje object.
- *
- * @param obj Object being edited.
- *
- * @return List of strings, each being the name for a part in the open group.
- */
-EAPI Eina_List * edje_edit_parts_list_get(Evas_Object *obj);
-
-/** Create a new part in the given edje.
- *
- * If another part with the same name just exists nothing is created and EINA_FALSE is returned.
- * Note that this function also create a default description for the part.
- *
- * @param obj Object being edited.
- * @param name Name for the new part.
- * @param type Type of the new part. See @ref edcref for more info on this.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type);
-
-/** Create a new part of type EXTERNAL in the given edje.
- *
- * If another part with the same name just exists nothing is created and EINA_FALSE is returned.
- * Note that this function also create a default description for the part.
- *
- * @param obj Object being edited.
- * @param name Name for the new part.
- * @param source The registered external type to use for this part.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_external_add(Evas_Object *obj, const char *name, const char *source);
-
-/** Delete the given part from the edje.
- *
- * All the reference to this part will be zeroed.
- *
- * @param obj Object being edited.
- * @param part Name of part to delete.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_del(Evas_Object *obj, const char *part);
-
-/** Check if a part with the given name exist in the edje object.
- *
- * @param obj Object being edited.
- * @param part Name of part to check for its existence.
- *
- * @return EINA_TRUE if the part exists, EINA_FALSE if not.
- */
-EAPI Eina_Bool edje_edit_part_exist(Evas_Object *obj, const char *part);
-
-/** Get the name of part stacked above the one passed.
- *
- * @param obj Object being edited.
- * @param part Name of part of which to check the one above.
- *
- * @return Name of the part above. NULL if an error occurred or if @p part is
- * the topmost part in the group.
- */
-EAPI const char * edje_edit_part_above_get(Evas_Object *obj, const char *part);
-
-/** Get the name of part stacked below the one passed.
- *
- * @param obj Object being edited.
- * @param part Name of part of which to check the one below.
- *
- * @return Name of the part below. NULL if an error occurred or if @p part is
- * the bottommost part in the group.
- */
-EAPI const char * edje_edit_part_below_get(Evas_Object *obj, const char *part);
-
-/** Move the given part below the previous one.
- *
- * @param obj Object being edited.
- * @param part Name of part to move one step below.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_restack_below(Evas_Object *obj, const char *part);
-
-/** Move the given part above the next one.
- *
- * @param obj Object being edited.
- * @param part Name of part to move one step above.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_restack_above(Evas_Object *obj, const char *part);
-
-/** Set a new name for part.
- *
- * Note that the relative getter function don't exist as it don't make sense ;)
- *
- * @param obj Object being edited.
- * @param part Name of part to rename.
- * @param new_name New name for the given part.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_name_set(Evas_Object *obj, const char *part, const char *new_name);
-
-/** Get api's name of a part.
- *
- * @param obj Object being edited.
- * @param part Name of the part.
- *
- * @return name of the api if successful, NULL otherwise.
- */
-EAPI const char * edje_edit_part_api_name_get(Evas_Object *obj, const char *part);
-
-/** Get api's description of a part.
- *
- * @param obj Object being edited.
- * @param part Name of the part.
- *
- * @return description of the api if successful, NULL otherwise.
- */
-EAPI const char * edje_edit_part_api_description_get(Evas_Object *obj, const char *part);
-
-/** Set api's name of a part.
- *
- * @param obj Object being edited.
- * @param part Name of the part.
- * @param name New name for the api property.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_api_name_set(Evas_Object *obj, const char *part, const char *name);
-
-/** Set api's description of a part.
- *
- * @param obj Object being edited.
- * @param part Name of part.
- * @param description New description for the api property.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_api_description_set(Evas_Object *obj, const char *part, const char *description);
-
-/** Get the type of a part.
- *
- * @param obj Object being edited.
- * @param part Name of part to get the type of.
- *
- * @return Type of the part. See @ref edcref for details.
- */
-EAPI Edje_Part_Type edje_edit_part_type_get(Evas_Object *obj, const char *part);
-
-/** Get the clip_to part.
- *
- * @param obj Object being edited.
- * @param part Name of the part whose clipper to get.
- *
- * @return Name of the part @p part is clipped to. NULL is returned on errors and if the part don't have a clip.
- */
-EAPI const char * edje_edit_part_clip_to_get(Evas_Object *obj, const char *part);
-
-/** Set a part to clip part to.
- *
- * @param obj Object being edited.
- * @param part Part to set the clipper to.
- * @param clip_to Part to use as clipper, if NULL then the clipping value will be cancelled (unset clipping).
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_to);
-
-/** Get the source of part.
- *
- * The meaning of this parameter varies depending on the type of the part.
- * For GROUP parts, it's the name of another group in the Edje file which will
- * be autoloaded and swallowed on this part.
- * For TEXTBLOCK parts, it's the name of a group to be used for selection
- * display under the text.
- * For EXTERNAL parts, it's the name of the registered external widget to load
- * and swallow on this part.
- *
- * @param obj Object being edited.
- * @param part Part to get the source from.
- *
- * @return Content of the source parameter or NULL if nothing set or an error occurred.
- */
-EAPI const char * edje_edit_part_source_get(Evas_Object *obj, const char *part);
-
-/** Set the source of part.
- *
- * @param obj Object being edited.
- * @param part Part to set the source of.
- * @param source Value for the source parameter.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- *
- * @see edje_edit_part_source_get()
- *
- * @note You can't change the source for EXTERNAL parts, it's akin to changing
- * the type of the part.
- *
- * NOTE: This is not applied now. You must reload the edje to see the change.
- */
-EAPI Eina_Bool edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source);
-
-/** Get the effect for a given part.
- *
- * Gets the effect used for parts of type TEXT. See @ref edcref for more details.
- *
- * @param obj Object being edited.
- * @param part Part to get the effect of.
- *
- * @return The effect set for the part.
- */
-EAPI Edje_Text_Effect edje_edit_part_effect_get(Evas_Object *obj, const char *part);
-
-/** Set the effect for a given part.
- *
- * @param obj Object being edited.
- * @param part Part to set the effect to. Only makes sense on type TEXT.
- * @param effect Effect to set for the part.
- */
-EAPI void edje_edit_part_effect_set(Evas_Object *obj, const char *part, Edje_Text_Effect effect);
-
-/** Get the current selected state in part.
- *
- * @param obj Object being edited.
- * @param part Part to get the selected state of.
- * @param value Pointer to a double where the value of the state will be stored.
- *
- * @return The name of the currently selected state for the part.
- */
-EAPI const char * edje_edit_part_selected_state_get(Evas_Object *obj, const char *part, double *value);
-
-/** Set the current state in part.
- *
- * @param obj Object being edited.
- * @param part Part to set the state of.
- * @param state Name of the state to set.
- * @param value Value of the state.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get mouse_events for part.
- *
- * @param obj Object being edited.
- * @param part Part to get if the mouse events is accepted.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_mouse_events_get(Evas_Object *obj, const char *part);
-
-/** Set mouse_events for part.
- *
- * @param obj Object being edited.
- * @param part The part to set if the mouse events is accepted.
- * @param mouse_events EINA_TRUE if part will accept mouse events, EINA_FALSE otherwise.
- */
-EAPI void edje_edit_part_mouse_events_set(Evas_Object *obj, const char *part, Eina_Bool mouse_events);
-
-/** Get repeat_events for part.
- *
- * @param obj Object being edited.
- * @param part Part to set if will pass all events to the other parts.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_part_repeat_events_get(Evas_Object *obj, const char *part);
-
-/** Set repeat_events for part.
- *
- * @param obj Object being edited.
- * @param part Part to set if will repeat all the received mouse events to other parts.
- * @param repeat_events EINA_TRUE if the events received will propagate to other parts, EINA_FALSE otherwise
- */
-EAPI void edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool repeat_events);
-
-/** Get ignore_flags for part.
- *
- * @param obj Object being edited.
- * @param part Part to get which event_flags are being ignored.
- *
- * @return The Event flags set to the part.
- */
-EAPI Evas_Event_Flags edje_edit_part_ignore_flags_get(Evas_Object *obj, const char *part);
-
-/** Set ignore_flags for part.
- *
- * @param obj Object being edited.
- * @param part Part to set which event flags will be ignored.
- * @param ignore_flags The Event flags to be ignored by the part.
- */
-EAPI void edje_edit_part_ignore_flags_set(Evas_Object *obj, const char *part, Evas_Event_Flags ignore_flags);
-
-/** Set scale property for the part.
- *
- * This property tells Edje that the given part should be scaled by the
- * Edje scale factor.
- *
- * @param obj Object being edited.
- * @param part Part to set scale for.
- * @param scale Scale value to set.
- */
-EAPI void edje_edit_part_scale_set(Evas_Object *obj, const char *part, Eina_Bool scale);
-
-/** Get scale for the part.
- *
- * @param obj Object being edited.
- * @param part Part to get the scale value of.
- *
- * @return Whether scale is on (EINA_TRUE) or not.
- */
-EAPI Eina_Bool edje_edit_part_scale_get(Evas_Object *obj, const char *part);
-
-/** Get horizontal dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to get if can be dragged horizontally;
- *
- * @return 1 (or -1) if the part can be dragged horizontally, 0 otherwise.
- */
-EAPI int edje_edit_part_drag_x_get(Evas_Object *obj, const char *part);
-
-/** Set horizontal dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to set if should be dragged horizontally.
- * @param drag 1 (or -1) if the part should be dragged horizontally, 0 otherwise.
- */
-EAPI void edje_edit_part_drag_x_set(Evas_Object *obj, const char *part, int drag);
-
-/** Get vertical dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to get if can be dragged vertically.
- *
- * @return 1 (or - 1) if the part can be dragged vertically, 0 otherwise.
- */
-EAPI int edje_edit_part_drag_y_get(Evas_Object *obj, const char *part);
-
-/** Set vertical dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to set if should be dragged vertically.
- * @param drag 1 (or -1) of the part shpuld be dragged vertically, 0 otherwise.
- */
-EAPI void edje_edit_part_drag_y_set(Evas_Object *obj, const char *part, int drag);
-
-/** Get horizontal dragable step for part.
- *
- * @param obj Object being edited.
- * @param part Part to get the drag horizontal step value.
- *
- * @return The step value.
- */
-EAPI int edje_edit_part_drag_step_x_get(Evas_Object *obj, const char *part);
-
-/** Set horizontal dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to set the drag horizontal step value.
- * @param step The step the will be dragged.
- */
-EAPI void edje_edit_part_drag_step_x_set(Evas_Object *obj, const char *part, int step);
-
-/** Get vertical dragable step for part.
- *
- * @param obj Object being edited.
- * @param part Part to get the drag vertical step value.
- *
- * @return The step value.
- */
-EAPI int edje_edit_part_drag_step_y_get(Evas_Object *obj, const char *part);
-
-/** Set vertical dragable state for part.
- *
- * @param obj Object being edited.
- * @param part Part to set the drag vertical step value.
- * @param step The step the will be dragged.
- */
-EAPI void edje_edit_part_drag_step_y_set(Evas_Object *obj, const char *part, int step);
-
-/** Get horizontal dragable count for part.
- *
- * @param obj Object being edited.
- * @param part Part to get the drag horizontal count value.
- */
-EAPI int edje_edit_part_drag_count_x_get(Evas_Object *obj, const char *part);
-
-/** Set horizontal dragable count for part.
- *
- * @param obj Object being edited.
- * @param part Part to set the drag horizontal count value.
- * @param count The count value.
- */
-EAPI void edje_edit_part_drag_count_x_set(Evas_Object *obj, const char *part, int count);
-
-/** Get vertical dragable count for part.
- *
- * @param obj Object being edited.
- * @param part Part to get the drag vertical count value.
- */
-EAPI int edje_edit_part_drag_count_y_get(Evas_Object *obj, const char *part);
-
-/** Set vertical dragable count for part.
- *
- * @param obj Object being edited.
- * @param part Part to set the drag vertical count value.
- * @param count The count value.
- */
-EAPI void edje_edit_part_drag_count_y_set(Evas_Object *obj, const char *part, int count);
-
-/** Get the name of the part that is used as 'confine' for the given draggies.
- *
- * @param obj Object being edited.
- * @param part Part to get the name that is used as 'confine' for the given draggies.
- *
- * @return The name of the confine part or NULL (if unset).
- */
-EAPI const char * edje_edit_part_drag_confine_get(Evas_Object *obj, const char *part);
-
-/** Set the name of the part that is used as 'confine' for the given draggies.
- *
- * @param obj Object being edited.
- * @param part Part to set the name that is used as 'confine' for the given draggies.
- * @param confine The name of the confine part or NULL to unset confine.
- */
-EAPI void edje_edit_part_drag_confine_set(Evas_Object *obj, const char *part, const char *confine);
-
-/** Get the name of the part that is used as the receiver of the drag event.
- *
- * @param obj Object being edited.
- * @param part Part to get the name that is used as the receiver of the drag event.
- *
- * @return The name of the part that will receive events, or NULL (if unset).
- */
-EAPI const char * edje_edit_part_drag_event_get(Evas_Object *obj, const char *part);
-
-/** Set the name of the part that will receive events from the given draggies.
- *
- * @param obj Object being edited.
- * @param part Part to set the name that will receive events from the given draggies.
- * @param event The name of the part that will receive events, or NULL to unset.
- */
-EAPI void edje_edit_part_drag_event_set(Evas_Object *obj, const char *part, const char *event);
-
-
-//@}
-/******************************************************************************/
-/**************************   STATES API   ************************************/
-/******************************************************************************/
-/** @name States API
- *  Functions to deal with part states (see @ref edcref).
- */ //@{
-
-/** Get the list of all the states in the given part.
- *
- * @param obj Object being edited.
- * @param part Part to get the states names list.
- *
- * @return An Eina_List* of string (char *)containing all the states names found
- * in part, including the float value (ex: "default 0.00").
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- */
-EAPI Eina_List * edje_edit_part_states_list_get(Evas_Object *obj, const char *part);
-
-/** Set a new name for the given state in the given part.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state Name of the state to rename.
- * @param value Value of the state to rename.
- * @param new_name The new name for the state.
- * @param new_value The new value for the state.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state, double value, const char *new_name, double new_value);
-
-/** Create a new state to the give part.
- *
- * @param obj Object being edited.
- * @param part Part to set the name of the new state.
- * @param name Name for the new state (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE if successfully, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double value);
-
-/** Delete the given part state from the edje.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The current name of the state (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE if successfully, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_del(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Check if a part state with the given name exist.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to check (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE if the part state exist, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_exist(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Copies the state @p from into @p to. If @p to doesn't exist it will be created.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param from State to copy from (not including state value).
- * @param val_from The value of the state to copy from.
- * @param to State to copy into (not including state value).
- * @param val_to The value of the state to copy into.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, double val_from, const char *to, double val_to);
-
-/** Get the 'rel1 relative X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel1 relative X' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel1 relative X' value of the part state.
- */
-EAPI double edje_edit_state_rel1_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel1 relative Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel1 relative Y' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel1 relative Y' value of the part state.
- */
-EAPI double edje_edit_state_rel1_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel2 relative X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel2 relative X' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel2 relative X' value of the part state.
- */
-EAPI double edje_edit_state_rel2_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel2 relative Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel2 relative Y' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel2 relative Y' value of the part state.
- */
-EAPI double edje_edit_state_rel2_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the 'rel1 relative X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel1 relative X' (not including the state value).
- * @param value The state value.
- * @param x The new 'rel1 relative X' value to set'.
- */
-EAPI void edje_edit_state_rel1_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the 'rel1 relative Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel1 relative Y' (not including the state value).
- * @param value The state value.
- * @param y The new 'rel1 relative Y' value to set'.
- */
-EAPI void edje_edit_state_rel1_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Set the 'rel2 relative X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel2 relative X' (not including the state value).
- * @param value The state value.
- * @param x The new 'rel2 relative X' value to set'.
- */
-EAPI void edje_edit_state_rel2_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the 'rel2 relative Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel2 relative Y' (not including the state value).
- * @param value The state value.
- * @param y The new 'rel2 relative Y' value to set'.
- */
-EAPI void edje_edit_state_rel2_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Get the 'rel1 offset X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel1 offset X' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel1 offset X' value of the part state.
- */
-EAPI int edje_edit_state_rel1_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel1 offset Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel1 offset Y' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel1 offset Y' value of the part state.
- */
-EAPI int edje_edit_state_rel1_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel2 offset X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel2 offset X' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel2 offset X' value of the part state.
- */
-EAPI int edje_edit_state_rel2_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the 'rel2 offset Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get 'rel2 offset Y' (not including the state value).
- * @param value The state value.
- *
- * @return The 'rel2 offset Y' value of the part state.
- */
-EAPI int edje_edit_state_rel2_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the 'rel1 offset X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel1 offset X' (not including the state value).
- * @param value The state value.
- * @param x The new 'rel1 offset X' value to set'.
- */
-EAPI void edje_edit_state_rel1_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the 'rel1 offset Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel1 offset Y' (not including the state value).
- * @param value The state value.
- * @param y The new 'rel1 offset Y' value to set'.
- */
-EAPI void edje_edit_state_rel1_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Set the 'rel2 offset X' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel2 offset X' (not including the state value).
- * @param value The state value.
- * @param x The new 'rel2 offset X' value to set'.
- */
-EAPI void edje_edit_state_rel2_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the 'rel2 offset Y' value of state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set 'rel2 offset Y' (not including the state value).
- * @param value The state value.
- * @param y The new 'rel2 offset Y' value to set'.
- */
-EAPI void edje_edit_state_rel2_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Get the part name rel1x is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The state that contain which the part name rel1x is relative to (not including the state value).
- * @param value The state value.
- *
- * @return The part name rel1x is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI const char * edje_edit_state_rel1_to_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the part name rel1y is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The state that contain which the part name rel1y is relative to (not including the state value).
- * @param value The state value.
- *
- * @return The part name rel1y is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI const char * edje_edit_state_rel1_to_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the part name rel2x is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The state that contain which the part name rel2x is relative to (not including the state value).
- * @param value The state value.
- *
- * @return The part name rel2x is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI const char * edje_edit_state_rel2_to_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the part name rel2y is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The state that contain which the part name rel2y is relative to (not including the state value).
- * @param value The state value.
- *
- * @return The part name rel2y is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI const char * edje_edit_state_rel2_to_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the part rel1x is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set rel1x is relative to (not including the state value).
- * @param value The state value.
- * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
- *
- * @return The part name rel1x is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI void edje_edit_state_rel1_to_x_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
-
-/** Set the part rel1y is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set rel1y is relative to (not including the state value).
- * @param value The state value.
- * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
- *
- * @return The part name rel1y is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI void edje_edit_state_rel1_to_y_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
-
-/** Set the part rel2x is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set rel2x is relative to (not including the state value).
- * @param value The state value.
- * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
- *
- * @return The part name rel2x is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI void edje_edit_state_rel2_to_x_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
-
-/** Set the part rel2y is relative to.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set rel2y is relative to (not including the state value).
- * @param value The state value.
- * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
- *
- * @return The part name rel2y is relative to or NULL if the part is relative to the whole interface.
- */
-EAPI void edje_edit_state_rel2_to_y_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
-
-/** Get the color of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get color (not including the state value).
- * @param value The state value.
- * @param r A pointer to store the red value.
- * @param g A pointer to store the green value.
- * @param b A pointer to store the blue value.
- * @param a A pointer to store the alpha value.
- */
-EAPI void edje_edit_state_color_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
-
-/** Get the color2 of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get color (not including the state value).
- * @param value The state value.
- * @param r A pointer to store the red value.
- * @param g A pointer to store the green value.
- * @param b A pointer to store the blue value.
- * @param a A pointer to store the alpha value.
- */
-EAPI void edje_edit_state_color2_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
-
-/** Get the color3 of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get color (not including the state value).
- * @param value The state value.
- * @param r A pointer to store the red value.
- * @param g A pointer to store the green value.
- * @param b A pointer to store the blue value.
- * @param a A pointer to store the alpha value.
- */
-EAPI void edje_edit_state_color3_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
-
-/** Set the color of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set color (not including the state value).
- * @param value The state value.
- * @param r The red value of the color.
- * @param g The green value of the color.
- * @param b The blue value of the color.
- * @param a The alpha value of the color.
- */
-EAPI void edje_edit_state_color_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
-
-/** Set the color2 of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set color (not including the state value).
- * @param value The state value.
- * @param r The red value of the color.
- * @param g The green value of the color.
- * @param b The blue value of the color.
- * @param a The alpha value of the color.
- */
-EAPI void edje_edit_state_color2_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
-
-/** Set the color3 of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set color (not including the state value).
- * @param value The state value.
- * @param r The red value of the color.
- * @param g The green value of the color.
- * @param b The blue value of the color.
- * @param a The alpha value of the color.
- */
-EAPI void edje_edit_state_color3_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
-
-/** Get the horizontal align value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get horizontal align (not including the state value).
- * @param value The state value.
- *
- * @return The horizontal align value for the given state
- */
-EAPI double edje_edit_state_align_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the vertical align value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get horizontal align (not including the state value).
- * @param value The state value.
- *
- * @return The vertical align value for the given state
- */
-EAPI double edje_edit_state_align_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the horizontal align value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get horizontal align (not including the state value).
- * @param value The state value.
- * @param align The new vertical align value.
- */
-EAPI void edje_edit_state_align_x_set(Evas_Object *obj, const char *part, const char *state, double value,  double align);
-
-/** Set the vertical align value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get vertical align (not including the state value).
- * @param value The state value.
- * @param align The new vertical align value.
- */
-EAPI void edje_edit_state_align_y_set(Evas_Object *obj, const char *part, const char *state, double value,  double align);
-
-/** Get the minimum width value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get minimum width (not including the state value).
- * @param value The state value.
- *
- * @return The minimum width value.
- */
-EAPI int edje_edit_state_min_w_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the minimum width value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set minimum width (not including the state value).
- * @param value The state value.
- * @param min_w Minimum width value.
- */
-EAPI void edje_edit_state_min_w_set(Evas_Object *obj, const char *part, const char *state, double value, int min_w);
-
-/** Get the minimum height value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get minimum height (not including the state value).
- * @param value The state value.
- *
- * @return The minimum height value.
- */
-EAPI int edje_edit_state_min_h_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the minimum height value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set minimum height (not including the state value).
- * @param value The state value.
- * @param min_h Minimum height value.
- */
-EAPI void edje_edit_state_min_h_set(Evas_Object *obj, const char *part, const char *state, double value, int min_h);
-
-/** Get the maximum width value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get maximum width (not including the state value).
- * @param value The state value.
- *
- * @return The maximum width value.
- */
-EAPI int edje_edit_state_max_w_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the maximum width value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set maximum width (not including the state value).
- * @param value The state value.
- * @param max_w Maximum width value.
- */
-EAPI void edje_edit_state_max_w_set(Evas_Object *obj, const char *part, const char *state, double value, int max_w);
-
-/** Get the maximum height value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get maximum height (not including the state value).
- * @param value The state value.
- *
- * @return The maximum height value.
- */
-EAPI int edje_edit_state_max_h_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the maximum height value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set maximum height (not including the state value).
- * @param value The state value.
- * @param max_h Maximum height value.
- */
-EAPI void edje_edit_state_max_h_set(Evas_Object *obj, const char *part, const char *state, double value, int max_h);
-
-/** Get the minimum aspect value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get minimum aspect (not including the state value).
- * @param value The state value.
- *
- * @return The minimum aspect
- */
-EAPI double edje_edit_state_aspect_min_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the maximum aspect value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get maximum aspect (not including the state value).
- * @param value The state value.
- *
- * @return The maximum aspect
- */
-EAPI double edje_edit_state_aspect_max_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the minimum aspect value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set minimum aspect (not including the state value).
- * @param value The state value.
- * @param aspect Minimum aspect value.
- */
-EAPI void edje_edit_state_aspect_min_set(Evas_Object *obj, const char *part, const char *state, double value, double aspect);
-
-/** Set the maximum aspect value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set maximum aspect (not including the state value).
- * @param value The state value.
- * @param aspect Maximum aspect value.
- */
-EAPI void edje_edit_state_aspect_max_set(Evas_Object *obj, const char *part, const char *state, double value, double aspect);
-
-/** Get the aspect preference of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get aspect preference (not including the state value).
- * @param value The state value.
- *
- * @return The aspect preference (0 = None, 1 = Vertical, 2 = Horizontal, 3 = Both)
- */
-EAPI unsigned char edje_edit_state_aspect_pref_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the aspect preference of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set aspect preference (not
- *              including the state value).
- * @param value The state value.
- * @param pref The aspect preference to set (0 = None, 1 = Vertical, 2
- *             = Horizontal, 3 = Both)
- */
-EAPI void edje_edit_state_aspect_pref_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char pref);
-
-/** Get the fill horizontal origin relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the fill horizontal origin relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill horizontal origin relative to area.
- */
-EAPI double edje_edit_state_fill_origin_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill vertical origin relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill vertical origin relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill vertical origin relative to area.
- */
-EAPI double edje_edit_state_fill_origin_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill horizontal origin offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill horizontal origin offset relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill horizontal origin offset relative to area.
- */
-EAPI int edje_edit_state_fill_origin_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill vertical origin offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill vertical origin offset relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill vertical origin offset value.
- */
-EAPI int edje_edit_state_fill_origin_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the fill horizontal origin relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill horizontal origin relative to area (not including the state value).
- * @param value The state value.
- * @param x The fill horizontal origin value.
- */
-EAPI void edje_edit_state_fill_origin_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the fill horizontal origin relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill vertical origin relative to area (not including the state value).
- * @param value The state value.
- * @param y The fill vertical origin value.
- */
-EAPI void edje_edit_state_fill_origin_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Set the fill horizontal origin offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill horizontal origin offset relative to area (not including the state value).
- * @param value The state value.
- * @param x The fill horizontal origin offset value.
- */
-EAPI void edje_edit_state_fill_origin_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the fill vertical origin offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill vertical origin offset relative to area (not including the state value).
- * @param value The state value.
- * @param y The fill vertical origin offset value.
- */
-EAPI void edje_edit_state_fill_origin_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Get the fill horizontal size relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill horizontal size relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill horizontal size relative to area.
- */
-EAPI double edje_edit_state_fill_size_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill vertical size relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill vertical size relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill vertical size relative to area.
- */
-EAPI double edje_edit_state_fill_size_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill horizontal size offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill horizontal size
- * offset relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill horizontal size offset relative to area.
- */
-EAPI int edje_edit_state_fill_size_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the fill vertical size offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get fill vertical size offset
- * relative to area (not including the state value).
- * @param value The state value.
- *
- * @return The fill vertical size offset relative to area.
- */
-EAPI int edje_edit_state_fill_size_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the fill horizontal size relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill horizontal size
- * relative value (not including the state value).
- * @param value The state value.
- * @param x The horizontal size relative value.
- */
-EAPI void edje_edit_state_fill_size_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the fill vertical size relative value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill vertical size
- * relative value (not including the state value).
- * @param value The state value.
- * @param x The vertical size relative value.
- */
-EAPI void edje_edit_state_fill_size_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the fill horizontal size offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill horizontal size
- * offset relative value (not including the state value).
- * @param value The state value.
- * @param x The horizontal size offset value.
- */
-EAPI void edje_edit_state_fill_size_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
-
-/** Set the fill vertical size offset value of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set fill vertical size offset
- * relative value (not including the state value).
- * @param value The state value.
- * @param y The vertical size offset value.
- */
-EAPI void edje_edit_state_fill_size_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
-
-/** Get the visibility of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get visibility (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE if the state is visible, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_visible_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the visibility of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set visibility (not including the state value).
- * @param value The state value.
- * @param visible To set state visible (EINA_TRUE if the state is visible, EINA_FALSE otherwise)
- */
-EAPI void edje_edit_state_visible_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool visible);
-
-/** Get the color class of the given part state.
- *
- * Remember to free the string with edje_edit_string_free()
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get color class (not including the state value).
- * @param value The state value.
- *
- * @return The current color class.
- */
-EAPI const char *edje_edit_state_color_class_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the color class of the given part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set color class (not including the state value).
- * @param value The state value.
- * @param color_class The color class to assign.
- */
-EAPI void edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char *state, double value, const char *color_class);
-
-/** Get the list of parameters for an external part.
- *
- * DO NOT FREE THE LIST!
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get list of Edje_External_Param (not including the state value).
- * @param value The state value.
- *
- * @return The list of Edje_External_Param.
- */
-EAPI const Eina_List * edje_edit_state_external_params_list_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the external parameter type and value.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter to look for.
- * @param type The type of the parameter will be stored here.
- * @param val Pointer to value will be stored here - DO NOT FREE IT!
- *
- * @return EINA_TRUE if the parameter was found, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type *type, void **val);
-
-/** Get external parameter of type INT.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type INT (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val The value of the parameter.
- *
- * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
- */
-EAPI Eina_Bool edje_edit_state_external_param_int_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int *val);
-
-/** Get external parameter of type BOOL.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type BOOL (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val The value of the parameter.
- *
- * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
- */
-EAPI Eina_Bool edje_edit_state_external_param_bool_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool *val);
-
-/** Get external parameter of type DOUBLE.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type DOUBLE (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val The value of the parameter.
- *
- * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
- */
-EAPI Eina_Bool edje_edit_state_external_param_double_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double *val);
-
-/** Get external parameter of type STRING.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of
- *              type STRING (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val The value of the parameter.
- *
- * @return EINA_TRUE if successful. EINA_FALSE if not found or is of
- * different type.
- */
-EAPI Eina_Bool edje_edit_state_external_param_string_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val);
-
-/** Get external parameter of type CHOICE.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of
- *        type CHOICE (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val The value of the parameter.
- *
- * @return EINA_TRUE if successful. EINA_FALSE if not found or is of
- * different type.
- */
-EAPI Eina_Bool edje_edit_state_external_param_choice_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val);
-
-/** Set the external parameter type and value, adding it if it didn't
- * exist before.
- *
- * @param obj Object being edited.
-
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter (not
- *              including the state value).
- * @param value The state value.
- * @param param The name of the paramter set.
- * @param type The type of the parameter.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-
-/**
- * Arguments should have proper sized values matching their types:
- *   - EDJE_EXTERNAL_PARAM_TYPE_INT: int
- *   - EDJE_EXTERNAL_PARAM_TYPE_BOOL: int
- *   - EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: double
- *   - EDJE_EXTERNAL_PARAM_TYPE_STRING: char*
- *   - EDJE_EXTERNAL_PARAM_TYPE_CHOICE: char*
- *
- * @note: The validation of the parameter will occur only if the part
- * is in the same state as the one being modified.
- */
-EAPI Eina_Bool edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type type, ...);
-
-/** Set external parameter of type INT.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of
- *              type INT (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val Value will be stored here.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_int_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int val);
-
-/** Set external parameter of type BOOL.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type BOOL (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val Value will be stored here.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_bool_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool val);
-
-/** Set external parameter of type DOUBLE.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type DOUBLE (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val Value will be stored here.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_double_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double val);
-
-/** Set external parameter of type STRING.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type STRING (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val Value will be stored here.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_string_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val);
-
-/** Set external parameter of type CHOICE.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get external parameter of type CHOICE (not including the state value).
- * @param value The state value.
- * @param param The name of the paramter.
- * @param val Value will be stored here.
- *
- * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_external_param_choice_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val);
-
-
-//@}
-/******************************************************************************/
-/**************************   TEXT API   ************************************/
-/******************************************************************************/
-/** @name Text API
- *  Functions to deal with text objects (see @ref edcref).
- */ //@{
-
-/** Get the text of a part state.
- *
- * Remember to free the returned string with edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get text (not including the state value).
- * @param value The state value.
- *
- * @return A newly allocated string containing the text for the given state.
- */
-EAPI const char * edje_edit_state_text_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the text of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set text (not including the state value).
- * @param value The state value.
- * @param text The new text to assign.
- */
-EAPI void edje_edit_state_text_set(Evas_Object *obj, const char *part, const char *state, double value,const char *text);
-
-/** Get font name for a given part state.
- *
- * @param obj Object being edited.
- * @param part The name of the part to get the font of.
- * @param state The state of the part to get the font of.
- * @param value Value of the state.
- *
- * @return Font used by the part or NULL if error or nothing is set.
- */
-EAPI const char * edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set font name for a given part state.
- *
- * Font name can be any alias of an internal font in the Edje file and,
- * if it doesn't match any, Edje will look for a font with the given name
- * in the system fonts.
- *
- * @param obj Object being edited.
- * @param part Part to set the font of.
- * @param state State in which the font is set.
- * @param value Value of the state.
- * @param font The font name to use.
- */
-EAPI void edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font);
-
-/** Get the text size of a part state
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get text size (not including the state value).
- * @param value The state value.
- *
- * @return The text size or -1 on errors.
- */
-EAPI int edje_edit_state_text_size_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the text size of a part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set text size (not including the state value).
- * @param value The state value.
- * @param size The new font size to set (in pixel)
- */
-EAPI void edje_edit_state_text_size_set(Evas_Object *obj, const char *part, const char *state, double value, int size);
-
-/** Get the text horizontal align of a part state.
- *
- * The value range is from 0.0(right) to 1.0(left)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the text horizontal align (not including the state value).
- * @param value The state value.
- *
- * @return The text horizont align value
- */
-EAPI double edje_edit_state_text_align_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the text vertical align of a part state.
- *
- * The value range is from 0.0(top) to 1.0(bottom)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the text vertical align (not including the state value).
- * @param value The state value.
- *
- * @return The text horizont align value
- */
-EAPI double edje_edit_state_text_align_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the text horizontal align of a part state.
- *
- * The value range is from 0.0(right) to 1.0(left)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the text horizontal align (not including the state value).
- * @param value The state value.
- * @param align The new text horizontal align value
- */
-EAPI void edje_edit_state_text_align_x_set(Evas_Object *obj, const char *part, const char *state, double value, double align);
-
-/** Set the text vertical align of a part state.
- *
- * The value range is from 0.0(top) to 1.0(bottom)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the text vertical align (not including the state value).
- * @param value The state value.
- * @param align The new text vertical align value
- */
-EAPI void edje_edit_state_text_align_y_set(Evas_Object *obj, const char *part, const char *state, double value, double align);
-
-/** Get the text elipsis of a part state.
- *
- * The value range is from 0.0(right) to 1.0(left)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the text elipses value (not including the state value).
- * @param value The state value.
- *
- * @return The text elipsis value
- */
-EAPI double edje_edit_state_text_elipsis_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the text vertical align of a part state.
- *
- * The value range is from 0.0(right) to 1.0(left)
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the text elipses value (not including the state value).
- * @param value The state value.
- * @param balance The position where to cut the string
- */
-EAPI void edje_edit_state_text_elipsis_set(Evas_Object *obj, const char *part, const char *state, double value, double balance);
-
-/** Get if the text part fit it's container horizontally
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the if the text part fit it's container horizontally (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE If the part fit it's container horizontally, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_text_fit_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set if the text part should fit it's container horizontally
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the if the text part fit it's container horizontally (not including the state value).
- * @param value The state value.
- * @param fit EINA_TRUE to make the text fit it's container horizontally, EINA_FALSE otherwise.
- */
-EAPI void edje_edit_state_text_fit_x_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit);
-
-/** Get if the text part fit it's container vertically
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the if the text part fit it's container vertically (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE If the part fit it's container vertically, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_text_fit_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set if the text part should fit it's container vertically
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the if the text part fit it's container vertically (not including the state value).
- * @param value The state value.
- * @param fit EINA_TRUE to make the text fit it's container vertically, EINA_FALSE otherwise.
- */
-EAPI void edje_edit_state_text_fit_y_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit);
-
-/** Get the list of all the fonts in the given edje.
- *
- * Use edje_edit_string_list_free() when you don't need the list anymore.
- *
- * @param obj Object being edited.
- *
- * @return A list containing all the fonts names found in the edje file.
- */
-EAPI Eina_List * edje_edit_fonts_list_get(Evas_Object *obj);
-
-/** Add a new font to the edje file.
- *
- * The newly created font will be available to all the groups in the edje, not only the current one.
- *
- * @param obj Object being edited.
- * @param path The file path to load the font from.
- * @param alias The alias for file, or NULL to use filename
- *
- * @return EINA_TRUE if font cat be loaded, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_font_add(Evas_Object *obj, const char *path, const char* alias);
-
-/** Delete font from the edje file.
- *
- * The font will be removed from all the groups in the edje, not only the current one.
- *
- * @param obj Object being edited.
- * @param alias The font alias
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise (including the
- * case when the alias is not valid).
- */
-EAPI Eina_Bool edje_edit_font_del(Evas_Object *obj, const char* alias);
-
-/** Get font path for a given font alias.
- *
- * Remember to free the string with edje_edit_string_free()
- *
- * @param obj Object being edited.
- * @param alias The font alias.
- *
- * @return The path of the given font alias.
- */
-EAPI const char *edje_edit_font_path_get(Evas_Object *obj, const char *alias);
-
-
-/** Get font name for a given part state.
- *
- * Remember to free the returned string using edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the name of the font used (not including the state value).
- * @param value The state value.
- *
- * @return The name of the font used in the given part state.
- */
-EAPI const char * edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set font name for a given part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the name of the font that will be used (not including the state value).
- * @param value The state value.
- * @param font The name of the font to use in the given part state.
- */
-EAPI void edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font);
-
-
-//@}
-/******************************************************************************/
-/**************************   IMAGES API   ************************************/
-/******************************************************************************/
-/** @name Images API
- *  Functions to deal with image objects (see @ref edcref).
- */ //@{
-
-/** Get the list of all the images in the given edje.
- * Use edje_edit_string_list_free() when you don't need the list anymore.
- *
- * @param obj Object being edited.
- *
- * @return A List containing all images names found in the edje file.
- */
-EAPI Eina_List * edje_edit_images_list_get(Evas_Object *obj);
-
-/** Add an new image to the image collection
- *
- * This function add the given image inside the edje. Don't add a new image part
- * but only put the image inside the edje file. It actually write directly to
- * the file so you don't have to save.
- * After you have to create a new image_part that use this image. Note that all
- * the parts in the edje share the same image collection, thus you can/must use
- * the same image for different part.
- *
- * The format of the image files that can be loaded depend on the evas engine on your system
- *
- * @param obj Object being edited.
- * @param path The name of the image file to include in the edje.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_image_add(Evas_Object *obj, const char *path);
-
-/** Delete an image from the image collection
- *
- * It actually write directly to the file so you don't have to save.
- *
- * @param obj Object being edited.
- * @param name The name of the image file to include in the edje.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise (including the
- * case when the name is not valid).
- */
-EAPI Eina_Bool edje_edit_image_del(Evas_Object *obj, const char *name);
-
-/** Add an image entry to the image collection
- *
- * This function adds the given image entry to the edje image collection. The
- * image needs to be inside the eet already, with key name "images/id". After
- * you have to create a new image_part that use this image, referring to it as
- * "name". Note that all the parts in the edje share the same image collection,
- * thus you can/must use the same image for different part.
- *
- * @param obj Object being edited.
- * @param name The image entry name.
- * @param id The image id.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_image_data_add(Evas_Object *obj, const char *name, int id);
-
-/** Get normal image name for a given part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the name that is being used (not including the state value).
- * @param value The state value.
- *
- * @return The name of the image used by state.
- */
-EAPI const char * edje_edit_state_image_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set normal image for a given part state.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the image that will be used (not including the state value).
- * @param value The state value.
- * @param image The name of the image (must be an image contained in the edje file).
- */
-EAPI void edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image);
-
-/** Get image id for a given image name.
- *
- * @param obj Object being edited.
- * @param image_name The image name.
- *
- * @return The id of the given image name.
- */
-EAPI int edje_edit_image_id_get(Evas_Object *obj, const char *image_name);
-
-/** Get compression type for the given image.
- *
- * @param obj Object being edited.
- * @param image The name of the image.
- *
- * @return One of Image Compression types.
- * (EDJE_EDIT_IMAGE_COMP_RAW, EDJE_EDIT_IMAGE_COMP_USER, EDJE_EDIT_IMAGE_COMP_COMP, EDJE_EDIT_IMAGE_COMP_LOSSY).
- */
-EAPI Edje_Edit_Image_Comp edje_edit_image_compression_type_get(Evas_Object *obj, const char *image);
-
-/** Get compression rate for the given image.
- *
- * @param obj Object being edited.
- * @param image The name of the image.
- *
- * @return The compression rate (if the imnage is @c
- *         EDJE_EDIT_IMAGE_COMP_LOSSY) or < 0, on errors.
- */
-EAPI int edje_edit_image_compression_rate_get(Evas_Object *obj, const char *image);
-
-/** Get the image border of a part state.
- *
- * Pass NULL to any of [r,g,b,a] to get only the others.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the image border (not
- *              including the state value).
- * @param value The state value.
- * @param l A pointer to store the left value
- * @param r A pointer to store the right value
- * @param t A pointer to store the top value
- * @param b A pointer to store the bottom value
- */
-EAPI void edje_edit_state_image_border_get(Evas_Object *obj, const char *part, const char *state, double value, int *l, int *r, int *t, int *b);
-
-/** Set the image border of a part state.
- *
- * Pass -1 to any of [l,r,t,b] to leave the value untouched.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the image border (not
- *              including the state value).
- * @param value The state value.
- * @param l Left border value (or -1).
- * @param r Right border value (or -1).
- * @param t Top border value (or -1).
- * @param b Bottom border value (or -1).
- */
-EAPI void edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b);
-
-/** Get if the image center should be draw.
- *
- * 1 means to draw the center, 0 to don't draw it.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the image border fill (not including the state value).
- * @param value The state value.
- *
- * @return 1 if the center of the bordered image is draw, 0 otherwise.
- */
-EAPI unsigned char edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set if the image center should be draw.
- *
- * 1 means to draw the center, 0 to don't draw it.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to set the image border fill (not including the state value).
- * @param value The state value.
- * @param fill Fill to be se. 1 if the center of the bordered image is draw, 0 otherwise.
- */
-EAPI void edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill);
-
-/** Get the list of all the tweens images in the given part state.
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to get the list of all the tweens images (not including the state value).
- * @param value The state value.
- *
- * @return A string list containing all the image name that form a tween animation in the given part state.
- */
-EAPI Eina_List * edje_edit_state_tweens_list_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Add a new tween frame to the given part state.
- *
- * The tween param must be the name of an existing image.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to add a new tween frame (not including the state value).
- * @param value The state value.
- * @param tween The name of the image to add.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_tween_add(Evas_Object *obj, const char *part, const char *state, double value, const char *tween);
-
-/** Remove the first tween with the given name.
- *
- * The image is not removed from the edje.
- *
- * @param obj Object being edited.
- * @param part Part that contain state.
- * @param state The name of the state to del the tween (not including the state value).
- * @param value The state value.
- * @param tween The name of the image to del.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_tween_del(Evas_Object *obj, const char *part, const char *state, double value, const char *tween);
-
-
-//@}
-/******************************************************************************/
-/*************************   SPECTRUM API   ***********************************/
-/******************************************************************************/
-/** @name Spectrum API
- *  Functions to manage spectrum (see @ref edcref).
- */ //@{
-
-/** Get the list of all the spectrum in the given edje object.
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- *
- * @param obj Object being edited.
- *
- * @return A list containing all the spectra names.
- */
-EAPI Eina_List * edje_edit_spectrum_list_get(Evas_Object *obj);
-
-/** Add a new spectra in the given edje object.
- *
- * @param obj Object being edited.
- * @param name The name of the spectra to include in the edje.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_spectra_add(Evas_Object *obj, const char *name);
-
-/** Delete the given spectra from the edje object.
- *
- * @param obj Object being edited.
- * @param spectra The name of the spectra to delete.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_spectra_del(Evas_Object *obj, const char *spectra);
-
-/** Change the name of the given spectra.
- *
- * @param obj Object being edited.
- * @param spectra The name of the current spectra.
- * @param name The new name to assign.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_spectra_name_set(Evas_Object *obj, const char *spectra, const char *name);
-
-/** Get the number of stops in the given spectra.
- *
- * @param obj Object being edited.
- * @param spectra The name of the spectra.
- *
- * @return The number of stops (or 0 on errors).
- */
-EAPI int edje_edit_spectra_stop_num_get(Evas_Object *obj, const char *spectra);
-
-/** Set the number of stops in the given spectra.
- *
- * @param obj Object being edited.
- * @param spectra The name of the spectra.
- * @param num The number of stops you want
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_spectra_stop_num_set(Evas_Object *obj, const char *spectra, int num);
-
-/** Get the colors of the given stop.
- *
- * @param obj Object being edited.
- * @param spectra The name of the spectra.
- * @param stop_number The number of the stop,
- * @param r Where to store the red color value,
- * @param g Where to store the green color value,
- * @param b Where to store the blue color value,
- * @param a Where to store the alpha color value,
- * @param d Where to store the delta stop value,
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_spectra_stop_color_get(Evas_Object *obj, const char *spectra, int stop_number, int *r, int *g, int *b, int *a, int *d);
-
-/** Set the colors of the given stop.
- *
- * @param obj Object being edited.
- * @param spectra The name of the spectra.
- * @param stop_number The number of the stops,
- * @param r The red color value to set,
- * @param g The green color value to set,
- * @param b The blue color value to set,
- * @param a The alpha color value to set,
- * @param d The delta stop value to set,
- */
-EAPI Eina_Bool edje_edit_spectra_stop_color_set(Evas_Object *obj, const char *spectra, int stop_number, int r, int g, int b, int a, int d);
-
-
-//@}
-/******************************************************************************/
-/*************************   GRADIENT API   ***********************************/
-/******************************************************************************/
-/** @name Gradient API
- *  Functions to deal with gradient objects (see @ref edcref).
- */ //@{
-
-/** Get the type of gradient.
- *
- * Remember to free the string with edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get the gradient type (not including the state value).
- * @param value The state value.
- *
- * @return The type of gradient used in state.
- * (linear, linear.diag, linear.codiag, radial, rectangular, angular, sinosoidal)
- */
-EAPI const char * edje_edit_state_gradient_type_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the type of gradient.
- *
- * Gradient type can be on of the following: linear, linear.diag, linear.codiag, radial, rectangular, angular, sinusoidal
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set the gradient type (not including the state value).
- * @param value The state value.
- * @param type The type of gradient to use.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_type_set(Evas_Object *obj, const char *part, const char *state, double value, const char *type);
-
-/** Get if the current gradient use the fill properties or the gradient_rel as params.
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set the gradient type (not including the state value).
- * @param value The state value.
- *
- * @return EINA_TRUE if gradient use the fill properties, EINA_FALSE otherwise.
- * */
-EAPI Eina_Bool edje_edit_state_gradient_use_fill_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the spectra used by part state.
- *
- * Remember to free the string with edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get the spectra name used (not including the state value).
- * @param value The state value.
- *
- * @return The spectra name used in state.
- */
-EAPI const char * edje_edit_state_gradient_spectra_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the spectra used by part state.
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set the spectra (not including the state value).
- * @param value The state value.
- * @param spectra The spectra name to assign
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_spectra_set(Evas_Object *obj, const char *part, const char *state, double value, const char *spectra);
-
-/** Get the angle of the gradient.
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get the angle (not including the state value).
- * @param value The state value.
- *
- * @return The angle of the gradient.
- */
-EAPI int edje_edit_state_gradient_angle_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the angle of the gradient.
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set the angle (not including the state value).
- * @param value The state value.
- * @param angle The angle to set.
- */
-EAPI void edje_edit_state_gradient_angle_set(Evas_Object *obj, const char *part, const char *state, double value, int angle);
-
-/** Get the gradient rel1 horizontal relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel1 relative x value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel1 horizontal relative value.
- */
-EAPI double edje_edit_state_gradient_rel1_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel1 vertical relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel1 relative y value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel1 vertical relative value.
- */
-EAPI double edje_edit_state_gradient_rel1_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel2 horizontal relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel2 relative x value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel2 horizontal relative value.
- */
-EAPI double edje_edit_state_gradient_rel2_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel2 vertical relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel2 relative y value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel2 vertical relative value.
- */
-EAPI double edje_edit_state_gradient_rel2_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-
-/** Set the gradient rel1 horizontal relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel1 relative x value (not including the state value).
- * @param value The state value.
- * @param val The rel1 relative x to be set,
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise..
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel1_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
-
-
-/** Set the gradient rel1 vertical relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel1 relative y value (not including the state value).
- * @param value The state value.
- * @param val The rel1 relative y to be set,
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise..
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel1_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
-
-/** Set the gradient rel2 horizontal relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel2 relative x value (not including the state value).
- * @param value The state value.
- * @param val The rel2 relative x to be set,
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise..
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel2_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
-
-/** Set the gradient rel2 vertical relative value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel2 relative y value (not including the state value).
- * @param value The state value.
- * @param val The rel2 relative y to be set,
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise..
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel2_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
-
-/** Get the gradient rel1 horizontal offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel1 offset x value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel1 horizontal offset value.
- */
-EAPI int edje_edit_state_gradient_rel1_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel1 vertical offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel1 offset y value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel1 vertical offset value.
- */
-EAPI int edje_edit_state_gradient_rel1_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel2 horizontal offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel2 offset x value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel2 horizontal offset value.
- */
-EAPI int edje_edit_state_gradient_rel2_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Get the gradient rel2 vertical offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to get rel2 offset y value (not including the state value).
- * @param value The state value.
- *
- * @return The gradient rel2 vertical offset value.
- */
-EAPI int edje_edit_state_gradient_rel2_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
-
-/** Set the gradient rel1 horizontal offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel1 offset x value (not including the state value).
- * @param value The state value.
- * @param val The rel1 offset x value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel1_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
-
-/** Set the gradient rel1 vertical offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel1 offset y value (not including the state value).
- * @param value The state value.
- * @param val The rel1 offset y value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel1_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
-
-/** Set the gradient rel2 horizontal offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel2 offset x value (not including the state value).
- * @param value The state value.
- * @param val The rel2 offset x value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel2_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
-
-/** Set the gradient rel2 vertical offset value
- *
- * @param obj Object being edited.
- * @param part The part that contain state.
- * @param state The name of the state to set rel2 offset y value (not including the state value).
- * @param value The state value.
- * @param val The rel2 offset y value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_state_gradient_rel2_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
-
-
-//@}
-/******************************************************************************/
-/*************************   PROGRAMS API   ***********************************/
-/******************************************************************************/
-/** @name Programs API
- *  Functions to deal with programs (see @ref edcref).
- */ //@{
-
-/** Get the list of all the programs in the given edje object.
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- *
- * @param obj Object being edited.
- *
- * @return A list containing all the program names.
- */
-EAPI Eina_List * edje_edit_programs_list_get(Evas_Object *obj);
-
-/** Add a new program to the edje file
- *
- * If a program with the same name just exist the function will fail.
- *
- * @param obj Object being edited.
- * @param name The name of the new program.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_add(Evas_Object *obj, const char *name);
-
-/** Remove the given program from the edje file.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to remove.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_del(Evas_Object *obj, const char *prog);
-
-/** Check if a program with the given name exist in the edje object.
- *
- * @param obj Object being edited.
- * @param prog The prog of the program that will be searched.
- *
- * @return EINA_TRUE if the program exist, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_exist(Evas_Object *obj, const char *prog);
-
-/** Run the given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to execute.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_run(Evas_Object *obj, const char *prog);
-
-/** Set a new name for the given program
- *
- * @param obj Object being edited.
- * @param prog The current program name.
- * @param new_name The new name to assign.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char *new_name);
-
-/** Get source of a given program.
- *
- * Remember to free the returned string using edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get source.
- *
- * @return The source value por program.
- */
-EAPI const char * edje_edit_program_source_get(Evas_Object *obj, const char *prog);
-
-/** Set source of the given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set source.
- * @param source The new source value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_source_set(Evas_Object *obj, const char *prog, const char *source);
-
-/** Get signal of a given program.
- *
- * Remember to free the returned string using edje_edit_string_free().
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the signal.
- *
- * @return The signal value for program.
- */
-EAPI const char * edje_edit_program_signal_get(Evas_Object *obj, const char *prog);
-
-/** Set signal of the given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the signal.
- * @param signal The new signal value.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_signal_set(Evas_Object *obj, const char *prog, const char *signal);
-
-/** Get in.from of a given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the delay.
- *
- * @return The delay.
- */
-EAPI double edje_edit_program_in_from_get(Evas_Object *obj, const char *prog);
-
-/** Set in.from of a given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the delay.
- * @param seconds Number of seconds to delay the program execution
- *
- * */
-EAPI Eina_Bool edje_edit_program_in_from_set(Evas_Object *obj, const char *prog, double seconds);
-
-/** Get in.range of a given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get random delay.
- *
- * @return The delay random.
- */
-EAPI double edje_edit_program_in_range_get(Evas_Object *obj, const char *prog);
-
-/** Set in.range of a given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set random delay.
- * @param seconds Max random number of seconds to delay.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_in_range_set(Evas_Object *obj, const char *prog, double seconds);
-
-/** Get the action of a given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the action.
- *
- * @return The action type, or -1 on errors.
- * Action can be one of EDJE_ACTION_TYPE_NONE, _STATE_SET, ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, _DRAG_VAL_STEP, _DRAG_VAL_PAGE, _SCRIPT
- */
-EAPI Edje_Action_Type edje_edit_program_action_get(Evas_Object *obj, const char *prog);
-
-/** Set the action of a given program.
- *
- * Action can be one of EDJE_ACTION_TYPE_NONE, _STATE_SET, ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, _DRAG_VAL_STEP, _DRAG_VAL_PAGE, _SCRIPT
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the action.
- * @param action The new action type.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_action_set(Evas_Object *obj, const char *prog, Edje_Action_Type action);
-
-/** Get the list of the targets for the given program.
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- *
- * @param obj Object being edited.
- * @param prog The name of the progrem to get the list of the targets.
- *
- * @return A list with all the targets names, or NULL on error.
- */
-EAPI Eina_List * edje_edit_program_targets_get(Evas_Object *obj, const char *prog);
-
-/** Add a new target program to the list of 'targets' in the given program.
- *
- * If program action is @c EDJE_ACTION_TYPE_ACTION_STOP, then 'target'
- * must be an existing program name. If it's @c
- * EDJE_ACTION_TYPE_STATE_SET, then 'target' must be an existing part
- * name.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to add a new target.
- * @param target The name of the new target itself.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_target_add(Evas_Object *obj, const char *prog, const char *target);
-
-/** Deletes a target from the list of 'targets' in the given program.
- *
- * If program action is EDJE_ACTION_TYPE_ACTION_STOP then 'target' must be an existing program name.
- * If action is EDJE_ACTION_TYPE_STATE_SET then 'target' must be an existing part name.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to del a target from the list of targets.
- * @param target The name of another program or another part.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_target_del(Evas_Object *obj, const char *prog, const char *target);
-
-/** Clear the 'targets' list of the given program
- *
- * @param obj Object being edited.
- * @param prog The name of the program to cleaar the 'targets' list.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_targets_clear(Evas_Object *obj, const char *prog);
-
-/** Get the list of action that will be run after the give program
- *
- * Use edje_edit_string_list_free() when you don't need it anymore.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the list of actions
- *
- * @return A list with all program names. or NULL on error.
- */
-EAPI Eina_List * edje_edit_program_afters_get(Evas_Object *obj, const char *prog);
-
-/** Add a new program name to the list of 'afters' in the given program.
- *
- * All the programs listed in 'afters' will be executed after program execution.
- *
- * @param obj Object being edited.
- * @param prog The name of the program that contains the list of afters
- * @param after The name of another program to add to the afters list
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_after_add(Evas_Object *obj, const char *prog, const char *after);
-
-/** Delete the given program from the list of 'afters' of the program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program from where to remove the after.
- * @param after The name of the program to remove from the list of afters.
- *
- * @return EINA_TRUE is successful or not in the list, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_after_del(Evas_Object *obj, const char *prog, const char *after);
-
-/** Clear the 'afters' list of the given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to clear the 'afters' list.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_afters_clear(Evas_Object *obj, const char *prog);
-
-/** Get the state for the given program
- *
- * In a STATE_SET action this is the name of state to set.
- * In a SIGNAL_EMIT action is the name of the signal to emit.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the state.
- *
- * @return The name of the state.
- */
-EAPI const char * edje_edit_program_state_get(Evas_Object *obj, const char *prog);
-
-/** Get api's name of a program.
- *
- * @param obj Object being edited.
- * @param prog Name of program.
- *
- * @return name of the api if successful, NULL otherwise.
- */
-EAPI const char * edje_edit_program_api_name_get(Evas_Object *obj, const char *prog);
-
-/** Get api's description of a program.
- *
- * @param obj Object being edited.
- * @param prog Name of program.
- *
- * @return description of the api if successful, NULL otherwise.
- */
-EAPI const char * edje_edit_program_api_description_get(Evas_Object *obj, const char *prog);
-
-/** Set api's name of a program.
- *
- * @param obj Object being edited.
- * @param prog Name of the part.
- * @param name New name for the api property.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_api_name_set(Evas_Object *obj, const char *prog, const char *name);
-
-/** Set api's description of a program.
- *
- * @param obj Object being edited.
- * @param prog Name of the program.
- * @param description New description for the api property.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_api_description_set(Evas_Object *obj, const char *prog, const char *description);
-
-/** Set the state for the given program
- *
- * In a STATE_SET action this is the name of state to set.
- * In a SIGNAL_EMIT action is the name of the signal to emit.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set a state.
- * @param state The nameo of the state to set (not including the state value)
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_state_set(Evas_Object *obj, const char *prog, const char *state);
-
-/** Get the value of state for the given program.
- *
- * In a STATE_SET action this is the value of state to set.
- * Not used on SIGNAL_EMIT action.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the value of state.
- *
- * @return The value of state for the program.
- */
-EAPI double edje_edit_program_value_get(Evas_Object *obj, const char *prog);
-
-/** Set the value of state for the given program.
- *
- * In a STATE_SET action this is the value of state to set.
- * Not used on SIGNAL_EMIT action.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the value of state.
- * @param value The vale to set.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_value_set(Evas_Object *obj, const char *prog, double value);
-
-/** Get the state2 for the given program
- *
- * In a STATE_SET action is not used
- * In a SIGNAL_EMIT action is the source of the emitted signal.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the state2.
- *
- * @return The source to emit for the program.
- */
-EAPI const char * edje_edit_program_state2_get(Evas_Object *obj, const char *prog);
-
-/** Set the state2 for the given program
- *
- * In a STATE_SET action is not used
- * In a SIGNAL_EMIT action is the source of the emitted signal.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the state2.
- * @param state2 The name of the state to set.
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_state2_set(Evas_Object *obj, const char *prog, const char *state2);
-
-/** Get the value of state2 for the given program.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the state2 value.
- *
- * @return The vale of the state2 for the program.
- */
-EAPI double edje_edit_program_value2_get(Evas_Object *obj, const char *prog);
-
-/** Set the value2 of state for the given program.
- *
- * This is used in DRAG_ACTION
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the state2 value.
- * @param value The value of the state2 to set.
- */
-EAPI Eina_Bool edje_edit_program_value2_set(Evas_Object *obj, const char *prog, double value);
-
-/** Get the type of transition to use when apply animations.
- *
- * Can be one of: EDJE_TWEEN_MODE_NONE, EDJE_TWEEN_MODE_LINEAR, EDJE_TWEEN_MODE_SINUSOIDAL, EDJE_TWEEN_MODE_ACCELERATE or EDJE_TWEEN_MODE_DECELERATE.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the transition.
- *
- * @return The type of transition used by program.
- */
-EAPI Edje_Tween_Mode edje_edit_program_transition_get(Evas_Object *obj, const char *prog);
-
-/** Set the type of transition to use when apply animations.
- *
- * Can be one of: EDJE_TWEEN_MODE_NONE, EDJE_TWEEN_MODE_LINEAR, EDJE_TWEEN_MODE_SINUSOIDAL, EDJE_TWEEN_MODE_ACCELERATE or EDJE_TWEEN_MODE_DECELERATE.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the transition.
- * @param transition The transition type to set
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_transition_set(Evas_Object *obj, const char *prog, Edje_Tween_Mode transition);
-
-/** Get the duration of the transition in seconds.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to get the transition time.
- *
- * @return The duration of the transition.
- */
-EAPI double edje_edit_program_transition_time_get(Evas_Object *obj, const char *prog);
-
-/** Set the duration of the transition in seconds.
- *
- * @param obj Object being edited.
- * @param prog The name of the program to set the transition time.
- * @param seconds The duration of the transition (in seconds).
- *
- * @return EINA_TRUE if successful, EINA_FALSE otherwise.
- */
-EAPI Eina_Bool edje_edit_program_transition_time_set(Evas_Object *obj, const char *prog, double seconds);
-
-EAPI const char * edje_edit_program_filter_part_get(Evas_Object *obj, const char *prog);
-EAPI Eina_Bool edje_edit_program_filter_part_set(Evas_Object *obj, const char *prog, const char *filter_part);
-
-//@}
-/******************************************************************************/
-/**************************   SCRIPTS API   ***********************************/
-/******************************************************************************/
-/** @name Scripts API
- *  Functions to deal with embryo scripts (see @ref edcref).
- */ //@{
-
-/**
- * Get the Embryo script for the group of the given object.
- *
- * Get the shared script for the group under edition. Shared script means
- * the script {} block for the group, not counting what's in each program.
- * It returns a malloc'd duplicate of the code, so users are free to modify
- * the contents directly and they should remember to free() it when done.
- * NULL will be returned if there's no script or an error occurred.
- *
- * @param obj Object being edited.
- *
- * @return The shared script code for this group.
- */
-EAPI char *edje_edit_script_get(Evas_Object *obj);
-
-/**
- * Set the code for the group script.
- *
- * Set the Embryo source code for the shared script of the edited group.
- * Note that changing the code itself will not update the running VM, you
- * need to call edje_edit_script_compile for it to get updated.
- *
- * @param obj The object being edited
- * @param code The Embryo source
- */
-EAPI void edje_edit_script_set(Evas_Object *obj, const char *code);
-
-/**
- * Get the Embryo script for the given program.
- *
- * Get the script code for the given program. Like the group script, this
- * function returns a duplicate of the code that the user can modify at will
- * and must free when done using it.
- * NULL will be returned if the program doesn't exist, doesn't have any
- * script or is not of type script.
- *
- * @param obj Object being edited
- * @param prog Program name
- *
- * @return The program script code
- */
-EAPI char *edje_edit_script_program_get(Evas_Object *obj, const char *prog);
-
-/**
- * Set the Embryo script for the given program.
- *
- * Set the Embryo source code for the program @p prog. It must be an
- * existing program of type EDJE_ACTION_TYPE_SCRIPT, or the function
- * will fail and do nothing.
- * Note that changing the code itself will not update the running VM, you
- * need to call edje_edit_script_compile for it to get updated.
- *
- * @param obj The object being edited
- * @param prog The program name.
- * @param code The Embryo source
- */
-EAPI void edje_edit_script_program_set(Evas_Object *obj, const char *prog, const char *code);
-
-/**
- * Compile the Embryo script for the given object
- *
- * If required, this function will process all script code for the group and
- * build the bytecode, updating the running Embryo VM Program if the build
- * is succesful.
- *
- * @param obj The object being edited
- *
- */
-EAPI Eina_Bool edje_edit_script_compile(Evas_Object *obj);
-
-/**
- * Get the list of errors resulting from the last script build
- *
- * Get the list of errors that resulted from the last attempt to rebuild
- * the Embryo script for the edited group. This will be a standard Eina_List
- * with Edje_Edit_Script_Error pointers as its data.
- * The user should not do anything else but read the contents of this list.
- * These errors can be the output of the embryo compiler, or internal errors
- * generated by Edje_Edit if the preprocessing of the scripts failed.
- *
- * @param obj The object being edited
- *
- * @return A constant list of Edje_Edit_Script_Error, or NULL if there are none
- */
-EAPI const Eina_List *edje_edit_script_error_list_get(Evas_Object *obj);
-
-//@}
-/******************************************************************************/
-/**************************   ERROR API   ***********************************/
-/******************************************************************************/
-/** @name Error API
- *   to deal with error messages (see @ref edcref).
- */ //@{
-
-EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED;
-EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_REFERENCED;
-EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/legacy/edje/src/lib/edje_box_layout.c b/legacy/edje/src/lib/edje_box_layout.c
deleted file mode 100644 (file)
index 66b71c9..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-#include "edje_private.h"
-
-#include <Eo.h>
-
-typedef struct _Edje_Transition_Animation_Data Edje_Transition_Animation_Data;
-struct _Edje_Transition_Animation_Data
-{
-   Evas_Object *obj;
-   struct
-   {
-      Evas_Coord x, y, w, h;
-   } start, end;
-};
-
-struct _Edje_Part_Box_Animation
-{
-   struct
-   {
-      Evas_Object_Box_Layout layout;
-      void *data;
-      void(*free_data)(void *data);
-      Edje_Alignment align;
-      Evas_Point padding;
-   } start, end;
-   Eina_List *objs;
-   Eina_Bool recalculate:1;
-   Evas_Object *box;
-   double progress;
-   double start_progress;
-   int box_start_w, box_start_h;
-};
-
-static void
-_edje_box_layout_find_all(const char *name, const char *name_alt, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data))
-{
-   if (!_edje_box_layout_find(name, cb, data, free_data))
-     {
-        if ((!name_alt) ||
-            (!_edje_box_layout_find(name_alt, cb, data, free_data)))
-          {
-             ERR("box layout '%s' (fallback '%s') not available, using horizontal.",
-                 name, name_alt);
-             *cb = evas_object_box_layout_horizontal;
-             *free_data = NULL;
-             *data = NULL;
-          }
-     }
-}
-
-static void
-_edje_box_layout_calculate_coords(Evas_Object *obj, Evas_Object_Box_Data *priv, Edje_Part_Box_Animation *anim)
-{
-   Eina_List *l;
-   Edje_Transition_Animation_Data *tad;
-   Evas_Coord x, y;
-
-   evas_object_geometry_get(obj, &x, &y, &anim->box_start_w, &anim->box_start_h);
-   EINA_LIST_FOREACH(anim->objs, l, tad)
-     {
-        evas_object_geometry_get(tad->obj, &tad->start.x, &tad->start.y,
-              &tad->start.w, &tad->start.h);
-        tad->start.x = tad->start.x - x;
-        tad->start.y = tad->start.y - y;
-     }
-   evas_object_box_padding_set(obj, anim->end.padding.x, anim->end.padding.y);
-   evas_object_box_align_set(obj, TO_DOUBLE(anim->end.align.x), TO_DOUBLE(anim->end.align.y));
-   anim->end.layout(obj, priv, anim->end.data);
-   EINA_LIST_FOREACH(anim->objs, l, tad)
-     {
-        evas_object_geometry_get(tad->obj, &tad->end.x, &tad->end.y,
-              &tad->end.w, &tad->end.h);
-        tad->end.x = tad->end.x - x;
-        tad->end.y = tad->end.y - y;
-     }
-}
-
-static void
-_edje_box_layout_exec(Evas_Object *obj, Edje_Part_Box_Animation *anim)
-{
-   Eina_List *l;
-   Edje_Transition_Animation_Data *tad;
-   Evas_Coord x, y, w, h;
-   Evas_Coord cur_x, cur_y, cur_w, cur_h;
-   double progress;
-
-   evas_object_geometry_get(obj, &x, &y, &w, &h);
-   progress = (anim->progress - anim->start_progress) / (1 - anim->start_progress);
-
-   EINA_LIST_FOREACH(anim->objs, l, tad)
-     {
-        cur_x = x + (tad->start.x + ((tad->end.x - tad->start.x) * progress)) * (w / (double)anim->box_start_w);
-        cur_y = y + (tad->start.y + ((tad->end.y - tad->start.y) * progress)) * (h / (double)anim->box_start_h);
-        cur_w = (w / (double)anim->box_start_w) * (tad->start.w + ((tad->end.w - tad->start.w) * progress));
-        cur_h = (h / (double)anim->box_start_h) * (tad->start.h + ((tad->end.h - tad->start.h) * progress));
-        evas_object_move(tad->obj, cur_x, cur_y);
-        evas_object_resize(tad->obj, cur_w, cur_h);
-     }
-}
-
-static void
-_edje_box_layout(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data)
-{
-   Edje_Part_Box_Animation *anim = data;
-   if (anim->progress < 0.01)
-     {
-        if (anim->start.layout)
-          {
-             evas_object_box_padding_set(obj, anim->start.padding.x, anim->start.padding.y);
-             evas_object_box_align_set(obj, TO_DOUBLE(anim->start.align.x), TO_DOUBLE(anim->start.align.y));
-             anim->start.layout(obj, priv, anim->start.data);
-          }
-        return;
-     }
-
-   if (anim->recalculate)
-     {
-        _edje_box_layout_calculate_coords(obj, priv, anim);
-        anim->start_progress = anim->progress;
-        anim->recalculate = EINA_FALSE;
-     }
-
-   if ((anim->progress > 0) && (anim->start_progress < 1))
-      _edje_box_layout_exec(obj, anim);
-}
-
-void
-_edje_box_layout_free_data(void *data)
-{
-   Edje_Transition_Animation_Data *tad;
-   Edje_Part_Box_Animation *anim = data;
-   if (anim->start.free_data && anim->start.data)
-      anim->start.free_data(anim->start.data);
-   if (anim->end.free_data && anim->end.data)
-      anim->end.free_data(anim->end.data);
-   EINA_LIST_FREE(anim->objs, tad)
-      free(tad);
-   free(data);
-}
-
-Edje_Part_Box_Animation *
-_edje_box_layout_anim_new(Evas_Object *box)
-{
-   Edje_Part_Box_Animation *anim = calloc(1, sizeof(Edje_Part_Box_Animation));
-   if (!anim)
-      return NULL;
-
-   anim->box = box;
-   evas_object_box_layout_set(box, _edje_box_layout, anim, NULL);
-
-   return anim;
-}
-
-void
-_edje_box_recalc_apply(Edje *ed __UNUSED__, Edje_Real_Part *ep, Edje_Calc_Params *p3 __UNUSED__, Edje_Part_Description_Box *chosen_desc)
-{
-   Evas_Object_Box_Data *priv;
-#if 0
-   int min_w, min_h;
-#endif
-   if ((ep->type != EDJE_RP_TYPE_CONTAINER) ||
-       (!ep->typedata.container)) return;
-     
-   if ((ep->param2) && (ep->description_pos != ZERO))
-     {
-        Edje_Part_Description_Box *param2_desc = (Edje_Part_Description_Box *)ep->param2->description;
-        if (ep->typedata.container->anim->end.layout == NULL)
-          {
-             _edje_box_layout_find_all(param2_desc->box.layout, param2_desc->box.alt_layout, &ep->typedata.container->anim->end.layout, &ep->typedata.container->anim->end.data, &ep->typedata.container->anim->end.free_data);
-             ep->typedata.container->anim->end.padding.x = param2_desc->box.padding.x;
-             ep->typedata.container->anim->end.padding.y = param2_desc->box.padding.y;
-             ep->typedata.container->anim->end.align.x = param2_desc->box.align.x;
-             ep->typedata.container->anim->end.align.y = param2_desc->box.align.y;
-
-             priv = eo_data_get(ep->object, EVAS_OBJ_BOX_CLASS);
-             if (priv == NULL)
-                return;
-
-             evas_object_box_padding_set(ep->object, ep->typedata.container->anim->start.padding.x, ep->typedata.container->anim->start.padding.y);
-             evas_object_box_align_set(ep->object, TO_DOUBLE(ep->typedata.container->anim->start.align.x), TO_DOUBLE(ep->typedata.container->anim->start.align.y));
-             ep->typedata.container->anim->start.layout(ep->object, priv, ep->typedata.container->anim->start.data);
-             _edje_box_layout_calculate_coords(ep->object, priv, ep->typedata.container->anim);
-             ep->typedata.container->anim->start_progress = 0.0;
-          }
-        evas_object_smart_changed(ep->object);
-     }
-   else
-     {
-        ep->typedata.container->anim->end.layout = NULL;
-     }
-
-   if (ep->description_pos < 0.01 || !ep->typedata.container->anim->start.layout)
-     {
-        _edje_box_layout_find_all(chosen_desc->box.layout, chosen_desc->box.alt_layout, &ep->typedata.container->anim->start.layout, &ep->typedata.container->anim->start.data, &ep->typedata.container->anim->start.free_data);
-        ep->typedata.container->anim->start.padding.x = chosen_desc->box.padding.x;
-        ep->typedata.container->anim->start.padding.y = chosen_desc->box.padding.y;
-        ep->typedata.container->anim->start.align.x = chosen_desc->box.align.x;
-        ep->typedata.container->anim->start.align.y = chosen_desc->box.align.y;
-        evas_object_smart_changed(ep->object);
-     }
-
-   ep->typedata.container->anim->progress = ep->description_pos;
-
-   if (evas_object_smart_need_recalculate_get(ep->object))
-     {
-       evas_object_smart_need_recalculate_set(ep->object, 0);
-       evas_object_smart_calculate(ep->object);
-     }
-#if 0 /* Why the hell do we affect part size after resize ??? */
-   evas_object_size_hint_min_get(ep->object, &min_w, &min_h);
-   if (chosen_desc->box.min.h && (p3->w < min_w))
-     p3->w = min_w;
-   if (chosen_desc->box.min.v && (p3->h < min_h))
-     p3->h = min_h;
-#endif
-}
-
-Eina_Bool
-_edje_box_layout_add_child(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   Edje_Transition_Animation_Data *tad;
-   
-   if ((rp->type != EDJE_RP_TYPE_CONTAINER) ||
-       (!rp->typedata.container)) return EINA_FALSE;
-   tad = calloc(1, sizeof(Edje_Transition_Animation_Data));
-   if (!tad) return EINA_FALSE;
-   tad->obj = child_obj;
-   rp->typedata.container->anim->objs = eina_list_append(rp->typedata.container->anim->objs, tad);
-   rp->typedata.container->anim->recalculate = EINA_TRUE;
-   return EINA_TRUE;
-}
-
-void
-_edje_box_layout_remove_child(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   Eina_List *l;
-   Edje_Transition_Animation_Data *tad;
-
-   if ((rp->type != EDJE_RP_TYPE_CONTAINER) ||
-       (!rp->typedata.container)) return;
-   EINA_LIST_FOREACH(rp->typedata.container->anim->objs, l, tad)
-     {
-        if (tad->obj == child_obj)
-          {
-             free(eina_list_data_get(l));
-             rp->typedata.container->anim->objs = eina_list_remove_list(rp->typedata.container->anim->objs, l);
-             rp->typedata.container->anim->recalculate = EINA_TRUE;
-             break;
-          }
-     }
-   rp->typedata.container->anim->recalculate = EINA_TRUE;
-}
diff --git a/legacy/edje/src/lib/edje_cache.c b/legacy/edje/src/lib/edje_cache.c
deleted file mode 100644 (file)
index 26fc6e5..0000000
+++ /dev/null
@@ -1,671 +0,0 @@
-#include "edje_private.h"
-
-
-static Eina_Hash   *_edje_file_hash = NULL;
-static int          _edje_file_cache_size = 16;
-static Eina_List   *_edje_file_cache = NULL;
-
-static int          _edje_collection_cache_size = 16;
-
-EAPI void
-edje_cache_emp_alloc(Edje_Part_Collection_Directory_Entry *ce)
-{  /* Init Eina Mempools this is also used in edje_pick.c */
-   char *buffer;
-#define INIT_EMP(Tp, Sz, Ce)                                           \
-   buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2);               \
-   sprintf(buffer, "%s/%s", ce->entry, #Tp);                           \
-   Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp); \
-   _emp_##Tp = Ce->mp.Tp;
-
-#define INIT_EMP_BOTH(Tp, Sz, Ce)                                       \
-   INIT_EMP(Tp, Sz, Ce)                                                 \
-   Ce->mp_rtl.Tp = eina_mempool_add("one_big", buffer, NULL,            \
-         sizeof (Sz), Ce->count.Tp);
-
-   INIT_EMP_BOTH(RECTANGLE, Edje_Part_Description_Common, ce);
-   INIT_EMP_BOTH(TEXT, Edje_Part_Description_Text, ce);
-   INIT_EMP_BOTH(IMAGE, Edje_Part_Description_Image, ce);
-   INIT_EMP_BOTH(PROXY, Edje_Part_Description_Proxy, ce);
-   INIT_EMP_BOTH(SWALLOW, Edje_Part_Description_Common, ce);
-   INIT_EMP_BOTH(TEXTBLOCK, Edje_Part_Description_Text, ce);
-   INIT_EMP_BOTH(GROUP, Edje_Part_Description_Common, ce);
-   INIT_EMP_BOTH(BOX, Edje_Part_Description_Box, ce);
-   INIT_EMP_BOTH(TABLE, Edje_Part_Description_Table, ce);
-   INIT_EMP_BOTH(EXTERNAL, Edje_Part_Description_External, ce);
-   INIT_EMP_BOTH(SPACER, Edje_Part_Description_Common, ce);
-   INIT_EMP(part, Edje_Part, ce);
-}
-
-EAPI void
-edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce)
-{  /* Free Eina Mempools this is also used in edje_pick.c */
-   /* Destroy all part and description. */
-   eina_mempool_del(ce->mp.RECTANGLE);
-   eina_mempool_del(ce->mp.TEXT);
-   eina_mempool_del(ce->mp.IMAGE);
-   eina_mempool_del(ce->mp.PROXY);
-   eina_mempool_del(ce->mp.SWALLOW);
-   eina_mempool_del(ce->mp.TEXTBLOCK);
-   eina_mempool_del(ce->mp.GROUP);
-   eina_mempool_del(ce->mp.BOX);
-   eina_mempool_del(ce->mp.TABLE);
-   eina_mempool_del(ce->mp.EXTERNAL);
-   eina_mempool_del(ce->mp.SPACER);
-   eina_mempool_del(ce->mp.part);
-   memset(&ce->mp, 0, sizeof (ce->mp));
-
-   eina_mempool_del(ce->mp_rtl.RECTANGLE);
-   eina_mempool_del(ce->mp_rtl.TEXT);
-   eina_mempool_del(ce->mp_rtl.IMAGE);
-   eina_mempool_del(ce->mp_rtl.PROXY);
-   eina_mempool_del(ce->mp_rtl.SWALLOW);
-   eina_mempool_del(ce->mp_rtl.TEXTBLOCK);
-   eina_mempool_del(ce->mp_rtl.GROUP);
-   eina_mempool_del(ce->mp_rtl.BOX);
-   eina_mempool_del(ce->mp_rtl.TABLE);
-   eina_mempool_del(ce->mp_rtl.EXTERNAL);
-   eina_mempool_del(ce->mp_rtl.SPACER);
-   memset(&ce->mp_rtl, 0, sizeof (ce->mp_rtl));
-   ce->ref = NULL;
-}
-
-static Edje_Part_Collection *
-_edje_file_coll_open(Edje_File *edf, const char *coll)
-{
-   Edje_Part_Collection *edc = NULL;
-   Edje_Part_Collection_Directory_Entry *ce;
-   int id = -1, size = 0;
-   Eina_List *l;
-   char buf[256];
-   void *data;
-
-   ce = eina_hash_find(edf->collection, coll);
-   if (!ce) return NULL;
-
-   if (ce->ref)
-     {
-       ce->ref->references++;
-       return ce->ref;
-     }
-
-   EINA_LIST_FOREACH(edf->collection_cache, l, edc)
-     {
-       if (!strcmp(edc->part, coll))
-         {
-            edc->references = 1;
-            ce->ref = edc;
-
-            edf->collection_cache = eina_list_remove_list(edf->collection_cache, l);
-            return ce->ref;
-         }
-     }
-
-   id = ce->id;
-   if (id < 0) return NULL;
-
-   edje_cache_emp_alloc(ce);
-   snprintf(buf, sizeof(buf), "edje/collections/%i", id);
-   edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf);
-   if (!edc) return NULL;
-
-   edc->references = 1;
-   edc->part = ce->entry;
-
-   /* For Edje file build with Edje 1.0 */
-   if (edf->version <= 3 && edf->minor <= 1)
-     {
-        /* This will preserve previous rendering */
-        unsigned int i;
-
-       /* people expect signal to not be broadcasted */
-       edc->broadcast_signal = EINA_FALSE;
-
-       /* people expect text.align to be 0.0 0.0 */
-        for (i = 0; i < edc->parts_count; ++i)
-          {
-             if (edc->parts[i]->type == EDJE_PART_TYPE_TEXTBLOCK)
-               {
-                  Edje_Part_Description_Text *text;
-                  unsigned int j;
-
-                  text = (Edje_Part_Description_Text*) edc->parts[i]->default_desc;
-                  text->text.align.x = TO_DOUBLE(0.0);
-                  text->text.align.y = TO_DOUBLE(0.0);
-
-                  for (j = 0; j < edc->parts[i]->other.desc_count; ++j)
-                    {
-                       text =  (Edje_Part_Description_Text*) edc->parts[i]->other.desc[j];
-                       text->text.align.x = TO_DOUBLE(0.0);
-                       text->text.align.y = TO_DOUBLE(0.0);
-                    }
-               }
-          }
-     }
-
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", id);
-   data = eet_read(edf->ef, buf, &size);
-
-   if (data)
-     {
-       edc->script = embryo_program_new(data, size);
-       _edje_embryo_script_init(edc);
-       free(data);
-     }
-
-   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", id);
-   data = eet_read(edf->ef, buf, &size);
-
-   if (data)
-     {
-        _edje_lua2_script_load(edc, data, size);
-       free(data);
-     }
-
-   ce->ref = edc;
-
-   return edc;
-}
-
-#ifdef HAVE_EIO
-static Eina_Bool
-_edje_file_warn(void *data)
-{
-   Edje_File *edf = data;
-   Eina_List *l, *ll;
-   Edje *ed;
-
-   edf->references++;
-
-   EINA_LIST_FOREACH(edf->edjes, l, ed)
-     _edje_ref(ed);
-
-   EINA_LIST_FOREACH(edf->edjes, l, ed)
-     {
-        _edje_emit(ed, "edje,change,file", "edje");
-     }
-
-   EINA_LIST_FOREACH_SAFE(edf->edjes, l, ll, ed)
-     _edje_unref(ed);
-
-   edf->references--;
-
-   edf->timeout = NULL;
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_edje_file_change(void *data, int ev_type __UNUSED__, void *event)
-{
-   Edje_File *edf = data;
-   Eio_Monitor_Event *ev = event;
-
-   if (ev->monitor == edf->monitor)
-     {
-        if (edf->timeout) ecore_timer_del(edf->timeout);
-        edf->timeout = ecore_timer_add(0.5, _edje_file_warn, edf);
-     }
-   return ECORE_CALLBACK_PASS_ON;
-}
-#endif
-
-static Edje_File *
-_edje_file_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, time_t mtime)
-{
-   Edje_Color_Class *cc;
-   Edje_File *edf;
-   Eina_List *l;
-   Edje_Part_Collection *edc;
-   Eet_File *ef;
-#ifdef HAVE_EIO
-   Ecore_Event_Handler *ev;
-#endif
-
-   ef = eet_open(file, EET_FILE_MODE_READ);
-   if (!ef)
-     {
-       *error_ret = EDJE_LOAD_ERROR_UNKNOWN_FORMAT;
-       return NULL;
-     }
-   edf = eet_data_read(ef, _edje_edd_edje_file, "edje/file");
-   if (!edf)
-     {
-       *error_ret = EDJE_LOAD_ERROR_CORRUPT_FILE;
-       eet_close(ef);
-       return NULL;
-     }
-
-   edf->ef = ef;
-   edf->mtime = mtime;
-#ifdef HAVE_EIO
-   edf->monitor = eio_monitor_add(file);
-   ev = ecore_event_handler_add(EIO_MONITOR_FILE_DELETED, _edje_file_change, edf);
-   edf->handlers = eina_list_append(edf->handlers, ev);
-   ev = ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, _edje_file_change, edf);
-   edf->handlers = eina_list_append(edf->handlers, ev);
-   ev = ecore_event_handler_add(EIO_MONITOR_FILE_CREATED, _edje_file_change, edf);
-   edf->handlers = eina_list_append(edf->handlers, ev);
-   ev = ecore_event_handler_add(EIO_MONITOR_SELF_DELETED, _edje_file_change, edf);
-   edf->handlers = eina_list_append(edf->handlers, ev);
-#endif
-
-   if (edf->version != EDJE_FILE_VERSION)
-     {
-       *error_ret = EDJE_LOAD_ERROR_INCOMPATIBLE_FILE;
-       _edje_file_free(edf);
-       return NULL;
-     }
-   if (!edf->collection)
-     {
-       *error_ret = EDJE_LOAD_ERROR_CORRUPT_FILE;
-       _edje_file_free(edf);
-       return NULL;
-     }
-
-   if (edf->minor > EDJE_FILE_MINOR)
-     {
-       WRN("`%s` may use feature from a newer edje and could not show up as expected.", file);
-     }
-
-   edf->path = eina_stringshare_add(file);
-   edf->references = 1;
-
-   /* This should be done at edje generation time */
-   _edje_textblock_style_parse_and_fix(edf);
-   edf->color_hash = eina_hash_string_small_new(NULL);
-   EINA_LIST_FOREACH(edf->color_classes, l, cc)
-     if (cc->name)
-       eina_hash_direct_add(edf->color_hash, cc->name, cc);
-
-   if (coll)
-     {
-       edc = _edje_file_coll_open(edf, coll);
-       if (!edc)
-         {
-            *error_ret = EDJE_LOAD_ERROR_UNKNOWN_COLLECTION;
-         }
-       if (edc_ret) *edc_ret = edc;
-     }
-
-   return edf;
-}
-
-static void
-_edje_file_dangling(Edje_File *edf)
-{
-   if (edf->dangling) return;
-   edf->dangling = EINA_TRUE;
-
-   eina_hash_del(_edje_file_hash, edf->path, edf);
-   if (!eina_hash_population(_edje_file_hash))
-     {
-       eina_hash_free(_edje_file_hash);
-       _edje_file_hash = NULL;
-     }
-}
-
-Edje_File *
-_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed)
-{
-   Edje_File *edf;
-   Eina_List *l, *hist;
-   Edje_Part_Collection *edc;
-   Edje_Part *ep;
-   struct stat st;
-
-   if (stat(file, &st) != 0)
-      return NULL;
-
-   if (!_edje_file_hash)
-     {
-       _edje_file_hash = eina_hash_string_small_new(NULL);
-       goto open_new;
-     }
-
-   edf = eina_hash_find(_edje_file_hash, file);
-   if (edf)
-     {
-       if (edf->mtime != st.st_mtime)
-         {
-            _edje_file_dangling(edf);
-            goto open_new;
-         }
-
-       edf->references++;
-       goto open;
-     }
-
-   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
-     {
-       if (!strcmp(edf->path, file))
-         {
-            if (edf->mtime != st.st_mtime)
-              {
-                 _edje_file_cache = eina_list_remove_list(_edje_file_cache, l);
-                 _edje_file_free(edf);
-                 goto open_new;
-              }
-
-            edf->references = 1;
-            _edje_file_cache = eina_list_remove_list(_edje_file_cache, l);
-            eina_hash_add(_edje_file_hash, file, edf);
-            goto open;
-         }
-     }
-
-open_new:
-   if (!_edje_file_hash)
-      _edje_file_hash = eina_hash_string_small_new(NULL);
-
-   edf = _edje_file_open(file, coll, error_ret, edc_ret, st.st_mtime);
-   if (!edf)
-      return NULL;
-
-#ifdef HAVE_EIO
-   if (ed) edf->edjes = eina_list_append(edf->edjes, ed);
-#else
-   (void) ed;
-#endif
-
-   eina_hash_add(_edje_file_hash, file, edf);
-   return edf;
-
-open:
-   if (!coll)
-      return edf;
-
-   edc = _edje_file_coll_open(edf, coll);
-   if (!edc)
-     {
-       *error_ret = EDJE_LOAD_ERROR_UNKNOWN_COLLECTION;
-     }
-   else
-     {
-       if (!edc->checked)
-         {
-            unsigned int j;
-
-            for (j = 0; j < edc->parts_count; ++j)
-              {
-                 Edje_Part *ep2;
-
-                 ep = edc->parts[j];
-
-                 /* Register any color classes in this parts descriptions. */
-                 hist = NULL;
-                 hist = eina_list_append(hist, ep);
-                 ep2 = ep;
-                 while (ep2->dragable.confine_id >= 0)
-                   {
-                      if (ep2->dragable.confine_id >= (int) edc->parts_count)
-                        {
-                           ERR("confine_to above limit. invalidating it.");
-                           ep2->dragable.confine_id = -1;
-                           break;
-                        }
-
-                      ep2 = edc->parts[ep2->dragable.confine_id];
-                      if (eina_list_data_find(hist, ep2))
-                        {
-                           ERR("confine_to loops. invalidating loop.");
-                           ep2->dragable.confine_id = -1;
-                           break;
-                        }
-                      hist = eina_list_append(hist, ep2);
-                   }
-                 eina_list_free(hist);
-                 hist = NULL;
-                 hist = eina_list_append(hist, ep);
-                 ep2 = ep;
-                 while (ep2->dragable.event_id >= 0)
-                   {
-                      Edje_Part* prev;
-
-                      if (ep2->dragable.event_id >= (int) edc->parts_count)
-                        {
-                           ERR("event_id above limit. invalidating it.");
-                           ep2->dragable.event_id = -1;
-                           break;
-                        }
-                      prev = ep2;
-
-                      ep2 = edc->parts[ep2->dragable.event_id];
-                      if (!ep2->dragable.x && !ep2->dragable.y)
-                        {
-                           prev->dragable.event_id = -1;
-                           break;
-                        }
-
-                      if (eina_list_data_find(hist, ep2))
-                        {
-                           ERR("events_to loops. invalidating loop.");
-                           ep2->dragable.event_id = -1;
-                           break;
-                        }
-                      hist = eina_list_append(hist, ep2);
-                   }
-                 eina_list_free(hist);
-                 hist = NULL;
-                 hist = eina_list_append(hist, ep);
-                 ep2 = ep;
-                 while (ep2->clip_to_id >= 0)
-                   {
-                      if (ep2->clip_to_id >= (int) edc->parts_count)
-                        {
-                           ERR("clip_to_id above limit. invalidating it.");
-                           ep2->clip_to_id = -1;
-                           break;
-                        }
-
-                      ep2 = edc->parts[ep2->clip_to_id];
-                      if (eina_list_data_find(hist, ep2))
-                        {
-                           ERR("clip_to loops. invalidating loop.");
-                           ep2->clip_to_id = -1;
-                           break;
-                        }
-                      hist = eina_list_append(hist, ep2);
-                   }
-                 eina_list_free(hist);
-                 hist = NULL;
-              }
-           edc->checked = 1;
-         }
-     }
-#ifdef HAVE_EIO
-   if (edc && ed) edf->edjes = eina_list_append(edf->edjes, ed);
-#else
-   (void) ed;
-#endif
-
-   if (edc_ret) *edc_ret = edc;
-
-   return edf;
-}
-
-void
-_edje_cache_coll_clean(Edje_File *edf)
-{
-   while ((edf->collection_cache) &&
-         (eina_list_count(edf->collection_cache) > (unsigned int) _edje_collection_cache_size))
-     {
-       Edje_Part_Collection_Directory_Entry *ce;
-       Edje_Part_Collection *edc;
-
-       edc = eina_list_data_get(eina_list_last(edf->collection_cache));
-       edf->collection_cache = eina_list_remove_list(edf->collection_cache, eina_list_last(edf->collection_cache));
-
-       ce = eina_hash_find(edf->collection, edc->part);
-       _edje_collection_free(edf, edc, ce);
-     }
-}
-
-void
-_edje_cache_coll_flush(Edje_File *edf)
-{
-   while (edf->collection_cache)
-     {
-       Edje_Part_Collection_Directory_Entry *ce;
-       Edje_Part_Collection *edc;
-       Eina_List *last;
-
-       last = eina_list_last(edf->collection_cache);
-       edc = eina_list_data_get(last);
-       edf->collection_cache = eina_list_remove_list(edf->collection_cache,
-                                                     last);
-
-       ce = eina_hash_find(edf->collection, edc->part);
-       _edje_collection_free(edf, edc, ce);
-     }
-}
-
-void
-_edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-
-   edc->references--;
-   if (edc->references != 0) return;
-
-   ce = eina_hash_find(edf->collection, edc->part);
-   if (!ce)
-     {
-       ERR("Something is wrong with reference count of '%s'.", edc->part);
-     }
-   else if (ce->ref)
-     {
-       ce->ref = NULL;
-
-       if (edf->dangling)
-         {
-            /* No need to keep the collection around if the file is dangling */
-            _edje_collection_free(edf, edc, ce);
-            _edje_cache_coll_flush(edf);
-         }
-       else
-         {
-            edf->collection_cache = eina_list_prepend(edf->collection_cache, edc);
-            _edje_cache_coll_clean(edf);
-         }
-     }
-}
-
-static void
-_edje_cache_file_clean(void)
-{
-   int count;
-
-   count = eina_list_count(_edje_file_cache);
-   while ((_edje_file_cache) && (count > _edje_file_cache_size))
-     {
-       Eina_List *last;
-       Edje_File *edf;
-
-       last = eina_list_last(_edje_file_cache);
-       edf = eina_list_data_get(last);
-       _edje_file_cache = eina_list_remove_list(_edje_file_cache, last);
-       _edje_file_free(edf);
-       count = eina_list_count(_edje_file_cache);
-     }
-}
-
-EAPI void
-_edje_cache_file_unref(Edje_File *edf)
-{
-   edf->references--;
-   if (edf->references != 0) return;
-
-   if (edf->dangling)
-     {
-       _edje_file_free(edf);
-       return;
-     }
-
-   eina_hash_del(_edje_file_hash, edf->path, edf);
-   if (!eina_hash_population(_edje_file_hash))
-     {
-       eina_hash_free(_edje_file_hash);
-       _edje_file_hash = NULL;
-     }
-   _edje_file_cache = eina_list_prepend(_edje_file_cache, edf);
-   _edje_cache_file_clean();
-}
-
-void
-_edje_file_cache_shutdown(void)
-{
-   edje_file_cache_flush();
-}
-
-
-/*============================================================================*
- *                                 Global                                     *
- *============================================================================*/
-
-/*============================================================================*
- *                                   API                                      *
- *============================================================================*/
-
-
-EAPI void
-edje_file_cache_set(int count)
-{
-   if (count < 0) count = 0;
-   _edje_file_cache_size = count;
-   _edje_cache_file_clean();
-}
-
-
-EAPI int
-edje_file_cache_get(void)
-{
-   return _edje_file_cache_size;
-}
-
-
-EAPI void
-edje_file_cache_flush(void)
-{
-   int ps;
-
-   ps = _edje_file_cache_size;
-   _edje_file_cache_size = 0;
-   _edje_cache_file_clean();
-   _edje_file_cache_size = ps;
-}
-
-
-EAPI void
-edje_collection_cache_set(int count)
-{
-   Eina_List *l;
-   Edje_File *edf;
-
-   if (count < 0) count = 0;
-   _edje_collection_cache_size = count;
-   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
-     _edje_cache_coll_clean(edf);
-   /* FIXME: freach in file hash too! */
-}
-
-
-EAPI int
-edje_collection_cache_get(void)
-{
-   return _edje_collection_cache_size;
-}
-
-
-EAPI void
-edje_collection_cache_flush(void)
-{
-   int ps;
-   Eina_List *l;
-   Edje_File *edf;
-
-   ps = _edje_collection_cache_size;
-   _edje_collection_cache_size = 0;
-   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
-     _edje_cache_coll_flush(edf);
-   /* FIXME: freach in file hash too! */
-   _edje_collection_cache_size = ps;
-}
diff --git a/legacy/edje/src/lib/edje_calc.c b/legacy/edje/src/lib/edje_calc.c
deleted file mode 100644 (file)
index 8218088..0000000
+++ /dev/null
@@ -1,3498 +0,0 @@
-#include "edje_private.h"
-
-static void _edje_part_make_rtl(Edje_Part_Description_Common *desc);
-static Edje_Part_Description_Common *_edje_get_description_by_orientation(Edje *ed, Edje_Part_Description_Common *src, Edje_Part_Description_Common **dst, unsigned char type);
-
-static void _edje_part_recalc_single(Edje *ed, Edje_Real_Part *ep,
-                                     Edje_Part_Description_Common *desc, Edje_Part_Description_Common *chosen_desc,
-                                     Edje_Real_Part *center, Edje_Real_Part *light, Edje_Real_Part *persp,
-                                     Edje_Real_Part *rel1_to_x, Edje_Real_Part *rel1_to_y,
-                                     Edje_Real_Part *rel2_to_x, Edje_Real_Part *rel2_to_y,
-                                     Edje_Real_Part *confine_to, Edje_Calc_Params *params,
-                                     FLOAT_T pos);
-
-void
-_edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T v1, FLOAT_T v2)
-{
-   FLOAT_T fp_pos;
-   FLOAT_T npos;
-
-   pos = CLAMP(pos, ZERO, FROM_INT(1));
-
-   fp_pos = pos;
-
-#if 0 // old code - easy to enable for comparing float vs fixed point
-   /* take linear pos along timescale and use interpolation method */
-   switch (mode)
-     {
-      case EDJE_TWEEN_MODE_SINUSOIDAL:
-        /* npos = (1.0 - cos(pos * PI)) / 2.0; */
-        npos = DIV2(SUB(FROM_INT(1),
-                        COS(MUL(fp_pos,
-                                PI))));
-        break;
-      case EDJE_TWEEN_MODE_ACCELERATE:
-        /* npos = 1.0 - sin((PI / 2.0) + (pos * PI / 2.0)); */
-        npos = SUB(FROM_INT(1),
-                   SIN(ADD(DIV2(PI),
-                           MUL(fp_pos,
-                               DIV2(PI)))));
-        break;
-      case EDJE_TWEEN_MODE_DECELERATE:
-        /* npos = sin(pos * PI / 2.0); */
-        npos = SIN(MUL(fp_pos,
-                       DIV2(PI)));
-       break;
-      case EDJE_TWEEN_MODE_LINEAR:
-        npos = fp_pos;
-        break;
-      default:
-         npos = fp_pos;
-         break;
-     }
-#else
-   switch (mode & EDJE_TWEEN_MODE_MASK)
-     {
-      case EDJE_TWEEN_MODE_SINUSOIDAL:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_SINUSOIDAL,
-                                                  0.0, 0.0));
-        break;
-      case EDJE_TWEEN_MODE_ACCELERATE:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_ACCELERATE,
-                                                  0.0, 0.0));
-        break;
-      case EDJE_TWEEN_MODE_DECELERATE:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_DECELERATE,
-                                                  0.0, 0.0));
-        break;
-      case EDJE_TWEEN_MODE_LINEAR:
-        npos = fp_pos;
-/*        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_LINEAR, 
-                                                  0.0, 0.0));
- */
-        break;
-      case EDJE_TWEEN_MODE_ACCELERATE_FACTOR:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_ACCELERATE_FACTOR,
-                                                  TO_DOUBLE(v1), 0.0));
-        break;
-      case EDJE_TWEEN_MODE_DECELERATE_FACTOR:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_DECELERATE_FACTOR,
-                                                  TO_DOUBLE(v1), 0.0));
-        break;
-      case EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_SINUSOIDAL_FACTOR,
-                                                  TO_DOUBLE(v1), 0.0));
-        break;
-      case EDJE_TWEEN_MODE_DIVISOR_INTERP:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_DIVISOR_INTERP,
-                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
-        break;
-      case EDJE_TWEEN_MODE_BOUNCE:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_BOUNCE,
-                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
-        break;
-      case EDJE_TWEEN_MODE_SPRING:
-        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
-                                                  ECORE_POS_MAP_SPRING,
-                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
-        break;
-      default:
-        npos = fp_pos;
-        break;
-     }
-#endif
-   if (npos == ep->description_pos) return;
-
-   ep->description_pos = npos;
-
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ep->invalidate = 1;
-#endif
-}
-
-
-/**
- * Returns part description
- *
- * @internal
- *
- * Converts part description to RTL-desc.
- *
- * @param desc Pointer to desc buffer.
- *
- **/
-static void
-_edje_part_make_rtl(Edje_Part_Description_Common *desc)
-{
-   double t;
-   int i;
-
-   if(!desc)
-     return;
-
-   /* This makes alignment right-oriented */
-   desc->align.x = 1.0 - desc->align.x;
-
-   /* same as above for relative components */
-   t = desc->rel1.relative_x;
-   desc->rel1.relative_x = 1.0 - desc->rel2.relative_x;
-   desc->rel2.relative_x = 1.0 - t;
-
-   /* +1 and +1 are because how edje works with right
-    * side borders - nothing is printed beyond that limit
-    *
-    * rel2 is now to the left of rel1, and Edje assumes
-    * the opposite so we switch corners on x-axis to define
-    * offset from right to left */
-   i = desc->rel1.offset_x;
-   desc->rel1.offset_x = -(desc->rel2.offset_x + 1);
-   desc->rel2.offset_x = -(i + 1);
-
-   i = desc->rel1.id_x;
-   desc->rel1.id_x = desc->rel2.id_x;
-   desc->rel2.id_x = i;
-}
-
-/**
- * Returns part description
- *
- * @internal
- *
- * Returns part description according to object orientation.
- * When object is in RTL-orientation (RTL flag is set)
- * this returns the RTL-desc of it.
- * RTL-desc would be allocated if was not created by a previous call.
- * The dst pointer is updated in case of an allocation.
- *
- * @param ed Edje object.
- * @param src The Left To Right (LTR), original desc.
- * @param dst Pointer to Right To Left (RTL) desc-list.
- * @param type name of dec type. Example: "default".
- *
- * @return Edje part description.
- *
- **/
-static Edje_Part_Description_Common *
-_edje_get_description_by_orientation(Edje *ed, Edje_Part_Description_Common *src, Edje_Part_Description_Common **dst, unsigned char type)
-{
-   Edje_Part_Description_Common *desc_rtl = NULL;
-   Edje_Part_Collection_Directory_Entry *ce;
-   size_t memsize = 0;
-
-   /* RTL flag is not set, return original description */
-   if(!edje_object_mirrored_get(ed->obj))
-      return src;
-
-   if(*dst)
-     return *dst; /* Was allocated before and we should use it */
-
-#define EDIT_ALLOC_POOL_RTL(Short, Type, Name)                          \
-         case EDJE_PART_TYPE_##Short:                                   \
-           {                                                            \
-              Edje_Part_Description_##Type *Name;                       \
-              Name = eina_mempool_malloc(ce->mp_rtl.Short,              \
-                    sizeof (Edje_Part_Description_##Type));             \
-              memset(Name, 0, sizeof(Edje_Part_Description_##Type));    \
-              desc_rtl = &Name->common;                                 \
-              memsize = sizeof(Edje_Part_Description_##Type);           \
-              break;                                                    \
-           }
-
-   ce = eina_hash_find(ed->file->collection, ed->group);
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_RECTANGLE:
-         desc_rtl = eina_mempool_malloc(ce->mp_rtl.RECTANGLE,
-                                        sizeof (Edje_Part_Description_Common));
-         ce->count.RECTANGLE++;
-         memsize = sizeof(Edje_Part_Description_Common);
-         break;
-      case EDJE_PART_TYPE_SWALLOW:
-         desc_rtl = eina_mempool_malloc(ce->mp_rtl.SWALLOW,
-                                        sizeof (Edje_Part_Description_Common));
-         ce->count.SWALLOW++;
-         memsize = sizeof(Edje_Part_Description_Common);
-         break;
-      case EDJE_PART_TYPE_GROUP:
-         desc_rtl = eina_mempool_malloc(ce->mp_rtl.GROUP,
-                                        sizeof (Edje_Part_Description_Common));
-         ce->count.GROUP++;
-         memsize = sizeof(Edje_Part_Description_Common);
-         break;
-     case EDJE_PART_TYPE_SPACER:
-         desc_rtl = eina_mempool_malloc(ce->mp_rtl.SPACER,
-                                        sizeof (Edje_Part_Description_Common));
-         ce->count.SPACER++;
-         memsize = sizeof(Edje_Part_Description_Common);
-         break;
-         EDIT_ALLOC_POOL_RTL(TEXT, Text, text);
-         EDIT_ALLOC_POOL_RTL(TEXTBLOCK, Text, text);
-         EDIT_ALLOC_POOL_RTL(IMAGE, Image, image);
-         EDIT_ALLOC_POOL_RTL(PROXY, Proxy, proxy);
-         EDIT_ALLOC_POOL_RTL(BOX, Box, box);
-         EDIT_ALLOC_POOL_RTL(TABLE, Table, table);
-         EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params);
-     }
-
-   if (desc_rtl)
-      memcpy(desc_rtl, src, memsize);
-
-   _edje_part_make_rtl(desc_rtl);
-
-   *dst = desc_rtl;
-   return desc_rtl;
-}
-
-Edje_Part_Description_Common *
-_edje_part_description_find(Edje *ed, Edje_Real_Part *rp, const char *name,
-                            double val)
-{
-   Edje_Part *ep = rp->part;
-   Edje_Part_Description_Common *ret = NULL;
-   Edje_Part_Description_Common *d;
-
-   double min_dst = 99999.0;
-   unsigned int i;
-
-   /* RTL flag is set, return RTL description */
-   if(edje_object_mirrored_get(ed->obj))
-     if(!ep->other.desc_rtl)
-       ep->other.desc_rtl = (Edje_Part_Description_Common **)
-          calloc(ep->other.desc_count,
-                sizeof (Edje_Part_Description_Common *));
-
-   if (!strcmp(name, "default") && val == 0.0)
-     return _edje_get_description_by_orientation(ed,
-           ep->default_desc, &ep->default_desc_rtl, ep->type);
-
-   if (!strcmp(name, "custom"))
-     return rp->custom ?
-        _edje_get_description_by_orientation(ed, rp->custom->description,
-              &rp->custom->description_rtl, ep->type) : NULL;
-
-   if (!strcmp(name, "default"))
-     {
-        ret = _edje_get_description_by_orientation(ed, ep->default_desc,
-                                                   &ep->default_desc_rtl,
-                                                   ep->type);
-
-        min_dst = ABS(ep->default_desc->state.value - val);
-     }
-
-   for (i = 0; i < ep->other.desc_count; ++i)
-     {
-        d = ep->other.desc[i];
-
-        if (d->state.name && (d->state.name == name ||
-                              !strcmp(d->state.name, name)))
-          {
-             double dst;
-
-             dst = ABS(d->state.value - val);
-             if (dst < min_dst)
-               {
-                  ret = _edje_get_description_by_orientation(ed, d,
-                                                             &ep->other.desc_rtl[i], ep->type);
-                  min_dst = dst;
-               }
-          }
-     }
-
-   return ret;
-}
-
-static int
-_edje_image_find(Evas_Object *obj, Edje *ed, Edje_Real_Part_Set **eps, 
-                 Edje_Part_Description_Image *st, Edje_Part_Image_Id *imid)
-{
-   Edje_Image_Directory_Set_Entry *entry;
-   Edje_Image_Directory_Set *set = NULL;
-   Eina_List *l;
-   int w = 0, h = 0, id;
-   
-   if (!st && !imid)         return -1;
-   if (st && !st->image.set) return st->image.id;
-   if (imid && !imid->set)   return imid->id;
-   
-   if (imid) id = imid->id;
-   else      id = st->image.id;
-   
-   evas_object_geometry_get(obj, NULL, NULL, &w, &h);
-   if (eps && *eps)
-     {
-        if ((*eps)->id == id) set = (*eps)->set;
-        if (set)
-          {
-             if (((*eps)->entry->size.min.w <= w) && 
-                 (w <= (*eps)->entry->size.max.w))
-               {
-                  if (((*eps)->entry->size.min.h <= h) && 
-                      (h <= (*eps)->entry->size.max.h))
-                    {
-                       return (*eps)->entry->id;
-                    }
-               }
-          }
-     }
-   
-   if (!set) set = ed->file->image_dir->sets + id;
-   
-   EINA_LIST_FOREACH(set->entries, l, entry)
-     {
-        if ((entry->size.min.w <= w) && (w <= entry->size.max.w))
-          {
-             if ((entry->size.min.h <= h) && (h <= entry->size.max.h))
-               {
-                  if (eps)
-                    {
-                       if (!*eps) *eps = calloc(1, sizeof(Edje_Real_Part_Set));
-                       if (*eps)
-                         {
-                            (*eps)->entry = entry;
-                            (*eps)->set = set;
-                            (*eps)->id = id;
-                         }
-                    }
-                  return entry->id;
-               }
-          }
-     }
-   
-   return -1;
-}
-
-static void
-_edje_real_part_image_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T pos)
-{
-   int image_id;
-   int image_count, image_num;
-
-   image_id = _edje_image_find(ep->object, ed,
-                               &ep->param1.set,
-                               (Edje_Part_Description_Image*) ep->param1.description,
-                               NULL);
-   if (image_id < 0)
-     {
-        Edje_Image_Directory_Entry *ie;
-
-        if (!ed->file->image_dir) ie = NULL;
-        else ie = ed->file->image_dir->entries + (-image_id) - 1;
-        if ((ie) &&
-            (ie->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) &&
-            (ie->entry))
-          {
-             evas_object_image_file_set(ep->object, ie->entry, NULL);
-          }
-     }
-   else
-     {
-        image_count = 2;
-        if (ep->param2)
-          image_count += ((Edje_Part_Description_Image*) ep->param2->description)->image.tweens_count;
-        image_num = TO_INT(MUL(pos, SUB(FROM_INT(image_count),
-                                        FROM_DOUBLE(0.5))));
-        if (image_num > (image_count - 1))
-          image_num = image_count - 1;
-        if (image_num <= 0)
-          {
-             image_id = _edje_image_find(ep->object, ed,
-                                         &ep->param1.set,
-                                         (Edje_Part_Description_Image*) ep->param1.description,
-                                         NULL);
-          }
-        else
-          if (ep->param2)
-            {
-               if (image_num == (image_count - 1))
-                 {
-                    image_id = _edje_image_find(ep->object, ed,
-                                                &ep->param2->set,
-                                                (Edje_Part_Description_Image*) ep->param2->description,
-                                                NULL);
-                 }
-               else
-                 {
-                    Edje_Part_Image_Id *imid;
-
-                    imid = ((Edje_Part_Description_Image*) ep->param2->description)->image.tweens[image_num - 1];
-                    image_id = _edje_image_find(ep->object, ed, NULL, NULL, imid);
-                 }
-            }
-        if (image_id < 0)
-          {
-             ERR("¨Part \"%s\" description, "
-                 "\"%s\" %3.3f with image %i index has a missing image id in a set of %i !!!",
-                 ep->part->name,
-                 ep->param1.description->state.name,
-                 ep->param1.description->state.value,
-                 image_num,
-                 image_count);
-          }
-        else
-          {
-             char buf[1024] = "edje/images/";
-
-             /* Replace snprint("edje/images/%i") == memcpy + itoa */
-             eina_convert_itoa(image_id, buf + 12); /* No need to check length as 2³² need only 10 characteres. */
-
-             evas_object_image_file_set(ep->object, ed->file->path, buf);
-             if (evas_object_image_load_error_get(ep->object) != EVAS_LOAD_ERROR_NONE)
-               {
-                  ERR("Error loading image collection \"%s\" from "
-                      "file \"%s\". Missing EET Evas loader module?",
-                      buf, ed->file->path);
-                  switch (evas_object_image_load_error_get(ep->object))
-                    {
-                     case EVAS_LOAD_ERROR_GENERIC:
-                        ERR("Error type: EVAS_LOAD_ERROR_GENERIC");
-                        break;
-                     case EVAS_LOAD_ERROR_DOES_NOT_EXIST:
-                        ERR("Error type: EVAS_LOAD_ERROR_DOES_NOT_EXIST");
-                        break;
-                     case EVAS_LOAD_ERROR_PERMISSION_DENIED:
-                        ERR("Error type: EVAS_LOAD_ERROR_PERMISSION_DENIED");
-                        break;
-                     case EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
-                        ERR("Error type: EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED");
-                        break;
-                     case EVAS_LOAD_ERROR_CORRUPT_FILE:
-                        ERR("Error type: EVAS_LOAD_ERROR_CORRUPT_FILE");
-                        break;
-                     case EVAS_LOAD_ERROR_UNKNOWN_FORMAT:
-                        ERR("Error type: EVAS_LOAD_ERROR_UNKNOWN_FORMAT");
-                        break;
-                     default:
-                        ERR("Error type: ???");
-                        break;
-                    }
-               }
-          }
-     }
-}
-
-static void
-_edje_real_part_rel_to_apply(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part_State *state)
-{
-   state->rel1_to_x = state->rel1_to_y = NULL;
-   state->rel2_to_x = state->rel2_to_y = NULL;
-
-   if (state->description)
-     {
-        if (state->description->rel1.id_x >= 0)
-          state->rel1_to_x = ed->table_parts[state->description->rel1.id_x % ed->table_parts_size];
-        if (state->description->rel1.id_y >= 0)
-          state->rel1_to_y = ed->table_parts[state->description->rel1.id_y % ed->table_parts_size];
-        if (state->description->rel2.id_x >= 0)
-          state->rel2_to_x = ed->table_parts[state->description->rel2.id_x % ed->table_parts_size];
-        if (state->description->rel2.id_y >= 0)
-          state->rel2_to_y = ed->table_parts[state->description->rel2.id_y % ed->table_parts_size];
-
-        if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
-          {
-             Edje_Part_Description_External *external;
-
-             if ((ep->type != EDJE_RP_TYPE_SWALLOW) ||
-                 (!ep->typedata.swallow)) return;
-             
-             external = (Edje_Part_Description_External*)state->description;
-             
-             if (state->external_params)
-               _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object, state->external_params);
-             state->external_params = _edje_external_params_parse(ep->typedata.swallow->swallowed_object, external->external_params);
-          }
-     }
-}
-
-void
-_edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, double v1, const char *d2, double v2)
-{
-   Edje_Part_Description_Common *epd1;
-   Edje_Part_Description_Common *epd2 = NULL;
-   Edje_Part_Description_Common *chosen_desc;
-
-   Edje_Part_Description_Image *epdi;
-
-   if (!d1) d1 = "default";
-
-   epd1 = _edje_part_description_find(ed, ep, d1, v1);
-   if (!epd1)
-     epd1 = ep->part->default_desc; /* never NULL */
-
-   if (d2)
-     epd2 = _edje_part_description_find(ed, ep, d2, v2);
-
-   epdi = (Edje_Part_Description_Image*) epd2;
-
-   /* There is an animation if both description are different or if description is an image with tweens */
-   if (epd2 && (epd1 != epd2 || (ep->part->type == EDJE_PART_TYPE_IMAGE && epdi->image.tweens_count)))
-     {
-        if (!ep->param2)
-          {
-             ep->param2 = eina_mempool_malloc(_edje_real_part_state_mp,
-                                              sizeof(Edje_Real_Part_State));
-             memset(ep->param2, 0, sizeof(Edje_Real_Part_State));
-          }
-        else if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
-          {
-             if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-                 (ep->typedata.swallow))
-               _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object,
-                                                 ep->param2->external_params);
-          }
-        ep->param2->external_params = NULL;
-     }
-   else
-     if (ep->param2)
-       {
-          if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
-            {
-               if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-                   (ep->typedata.swallow))
-                 _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object,
-                                                   ep->param2->external_params);
-            }
-          if (ep->param2)
-            free(ep->param2->set);
-          eina_mempool_free(_edje_real_part_state_mp, ep->param2);
-          ep->param2 = NULL;
-       }
-
-   chosen_desc = ep->chosen_description;
-   ep->param1.description = epd1;
-   ep->chosen_description = epd1;
-
-   _edje_real_part_rel_to_apply(ed, ep, &ep->param1);
-
-   if (ep->param2)
-     {
-        ep->param2->description = epd2;
-
-        _edje_real_part_rel_to_apply(ed, ep, ep->param2);
-
-        if (ep->description_pos > FROM_DOUBLE(0.0))
-          ep->chosen_description = epd2;
-     }
-
-   if (chosen_desc != ep->chosen_description &&
-       ep->part->type == EDJE_PART_TYPE_EXTERNAL)
-     _edje_external_recalc_apply(ed, ep, NULL, chosen_desc);
-
-   ed->recalc_hints = EINA_TRUE;
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ep->invalidate = 1;
-#endif
-}
-
-void
-_edje_recalc(Edje *ed)
-{
-   if ((ed->freeze > 0) || (_edje_freeze_val > 0))
-     {
-        ed->recalc = EINA_TRUE;
-        if (!ed->calc_only)
-          {
-             if (_edje_freeze_val > 0)
-               {
-                  if (!ed->freeze_calc)
-                    {
-                       _edje_freeze_calc_count++;
-                       _edje_freeze_calc_list = eina_list_append(_edje_freeze_calc_list, ed);
-                       ed->freeze_calc = EINA_TRUE;
-                    }
-               }
-             return;
-          }
-     }
-// XXX: dont need this with current smart calc infra. remove me later
-//   if (ed->postponed) return;
-//   if (!ed->calc_only)
-     evas_object_smart_changed(ed->obj);
-// XXX: dont need this with current smart calc infra. remove me later
-//   ed->postponed = EINA_TRUE;
-}
-
-void
-_edje_recalc_do(Edje *ed)
-{
-   unsigned int i;
-   Eina_Bool need_calc;
-
-// XXX: dont need this with current smart calc infra. remove me later
-//   ed->postponed = EINA_FALSE;
-   need_calc = evas_object_smart_need_recalculate_get(ed->obj);
-   evas_object_smart_need_recalculate_set(ed->obj, 0);
-   if (!ed->dirty) return;
-   ed->have_mapped_part = EINA_FALSE;
-   ed->dirty = EINA_FALSE;
-   ed->state++;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *ep;
-
-        ep = ed->table_parts[i];
-        ep->calculated = FLAG_NONE;
-        ep->calculating = FLAG_NONE;
-     }
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *ep;
-
-        ep = ed->table_parts[i];
-        if (ep->calculated != FLAG_XY)
-          _edje_part_recalc(ed, ep, (~ep->calculated) & FLAG_XY, NULL);
-     }
-   if (!ed->calc_only) ed->recalc = EINA_FALSE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_FALSE;
-   ed->text_part_change = EINA_FALSE;
-#endif
-   if (!ed->calc_only)
-     {
-        if (ed->recalc_call)
-          evas_object_smart_callback_call(ed->obj, "recalc", NULL);
-     }
-   else
-     evas_object_smart_need_recalculate_set(ed->obj, need_calc);
-   ed->recalc_call = EINA_FALSE;
-
-   if (ed->update_hints && ed->recalc_hints && !ed->calc_only)
-     {
-        Evas_Coord w, h;
-
-        ed->recalc_hints = EINA_FALSE;
-
-       eo_do(ed->obj, edje_obj_size_min_calc(&w, &h));
-       eo_do(ed->obj, evas_obj_size_hint_min_set(w, h));
-     }
-
-   if (!ed->collection) return ;
-
-   for (i = 0; i < ed->collection->limits.parts_count; i++)
-     {
-        const char *name;
-        unsigned char limit;
-        int part;
-
-        part = ed->collection->limits.parts[i].part;
-        name = ed->collection->parts[part]->name;
-        limit = ed->table_parts[part]->chosen_description->limit;
-        switch (limit)
-          {
-           case 0:
-              ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_UNKNOWN;
-              ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_UNKNOWN;
-              break;
-           case 1:
-              ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_UNKNOWN;
-              break;
-           case 2:
-              ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_UNKNOWN;
-              break;
-           case 3:
-              break;
-          }
-
-        if ((limit & 1) == 1)
-          {
-             if (ed->table_parts[part]->w > 0 &&
-                 (ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_OVER))
-               {
-                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_OVER;
-                  _edje_emit(ed, "limit,width,over", name);
-               }
-             else if (ed->table_parts[part]->w < 0 &&
-                      ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_BELOW)
-               {
-                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_BELOW;
-                  _edje_emit(ed, "limit,width,below", name);
-               }
-             else if (ed->table_parts[part]->w == 0 &&
-                      ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_ZERO)
-               {
-                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_ZERO;
-                  _edje_emit(ed, "limit,width,zero", name);
-               }
-          }
-        if ((limit & 2) == 2)
-          {
-             if (ed->table_parts[part]->h > 0 &&
-                 (ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_OVER))
-               {
-                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_OVER;
-                  _edje_emit(ed, "limit,height,over", name);
-               }
-             else if (ed->table_parts[part]->h < 0 &&
-                      ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_BELOW)
-               {
-                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_BELOW;
-                  _edje_emit(ed, "limit,height,below", name);
-               }
-             else if (ed->table_parts[part]->h == 0 &&
-                      ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_ZERO)
-               {
-                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_ZERO;
-                  _edje_emit(ed, "limit,height,zero", name);
-               }
-          }
-     }
-}
-
-void
-_edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep)
-{
-  _edje_part_recalc(ed, ep, FLAG_XY, NULL);
-}
-
-int
-_edje_part_dragable_calc(Edje *ed __UNUSED__, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y)
-{
-   if (ep->drag)
-     {
-        if (ep->drag->confine_to)
-          {
-             FLOAT_T dx, dy, dw, dh;
-             int ret = 0;
-
-             if ((ep->part->dragable.x != 0) &&
-                 (ep->part->dragable.y != 0 )) ret = 3;
-             else if (ep->part->dragable.x != 0) ret = 1;
-             else if (ep->part->dragable.y != 0) ret = 2;
-
-             dx = FROM_INT(ep->x - ep->drag->confine_to->x);
-             dw = FROM_INT(ep->drag->confine_to->w - ep->w);
-             if (dw != ZERO) dx = DIV(dx, dw);
-             else dx = ZERO;
-
-             dy = FROM_INT(ep->y - ep->drag->confine_to->y);
-             dh = FROM_INT(ep->drag->confine_to->h - ep->h);
-             if (dh != ZERO) dy = DIV(dy, dh);
-             else dy = ZERO;
-
-             if (x) *x = dx;
-             if (y) *y = dy;
-
-             return ret;
-          }
-        else
-          {
-             if (x) *x = ADD(FROM_INT(ep->drag->tmp.x), ep->drag->x);
-             if (y) *y = ADD(FROM_INT(ep->drag->tmp.y), ep->drag->y);
-             return 0;
-          }
-     }
-   if (x) *x = ZERO;
-   if (y) *y = ZERO;
-   return 0;
-}
-
-void
-_edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
-{
-   /* check whether this part is dragable at all */
-   if (!ep->drag) return ;
-
-   /* instead of checking for equality, we really should check that
-    * the difference is greater than foo, but I have no idea what
-    * value we would set foo to, because it would depend on the
-    * size of the dragable...
-    */
-   if (ep->drag->x != x || ep->drag->tmp.x)
-     {
-        ep->drag->x = x;
-        ep->drag->tmp.x = 0;
-        ep->drag->need_reset = 0;
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-     }
-
-   if (ep->drag->y != y || ep->drag->tmp.y)
-     {
-        ep->drag->y = y;
-        ep->drag->tmp.y = 0;
-        ep->drag->need_reset = 0;
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-     }
-
-#ifdef EDJE_CALC_CACHE
-   ep->invalidate = 1;
-#endif
-   _edje_recalc(ed); /* won't do anything if dirty flag isn't set */
-}
-
-static void
-_edje_part_recalc_single_rel(Edje *ed,
-                             Edje_Real_Part *ep __UNUSED__,
-                             Edje_Part_Description_Common *desc,
-                             Edje_Real_Part *rel1_to_x,
-                             Edje_Real_Part *rel1_to_y,
-                             Edje_Real_Part *rel2_to_x,
-                             Edje_Real_Part *rel2_to_y,
-                             Edje_Calc_Params *params)
-{
-   FLOAT_T x, w;
-   FLOAT_T y, h;
-
-   if (rel1_to_x)
-     x = ADD(FROM_INT(desc->rel1.offset_x + rel1_to_x->x),
-             SCALE(desc->rel1.relative_x, rel1_to_x->w));
-   else
-     x = ADD(FROM_INT(desc->rel1.offset_x),
-             SCALE(desc->rel1.relative_x, ed->w));
-   params->x = TO_INT(x);
-
-   if (rel2_to_x)
-     w = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_x + rel2_to_x->x),
-                     SCALE(desc->rel2.relative_x, rel2_to_x->w)),
-                 x),
-             FROM_INT(1));
-   else
-     w = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_x),
-                     SCALE(desc->rel2.relative_x, ed->w)),
-                 x),
-             FROM_INT(1));
-   params->w = TO_INT(w);
-
-   if (rel1_to_y)
-     y = ADD(FROM_INT(desc->rel1.offset_y + rel1_to_y->y),
-             SCALE(desc->rel1.relative_y, rel1_to_y->h));
-   else
-     y = ADD(FROM_INT(desc->rel1.offset_y),
-             SCALE(desc->rel1.relative_y, ed->h));
-   params->y = TO_INT(y);
-
-   if (rel2_to_y)
-     h = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_y + rel2_to_y->y),
-                     SCALE(desc->rel2.relative_y, rel2_to_y->h)),
-                 y),
-             FROM_INT(1));
-   else
-     h = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_y),
-                     SCALE(desc->rel2.relative_y, ed->h)),
-                 y),
-             FROM_INT(1));
-   params->h = TO_INT(h);
-}
-
-static Edje_Internal_Aspect
-_edje_part_recalc_single_aspect(Edje *ed,
-                                Edje_Real_Part *ep,
-                                Edje_Part_Description_Common *desc,
-                                Edje_Calc_Params *params,
-                                int *minw, int *minh,
-                                int *maxw, int *maxh,
-                                FLOAT_T pos)
-{
-   Edje_Internal_Aspect apref = EDJE_ASPECT_PREFER_NONE;
-   FLOAT_T aspect, amax, amin;
-   FLOAT_T new_w = ZERO, new_h = ZERO, want_x, want_y, want_w, want_h;
-
-   if (params->h <= ZERO) aspect = FROM_INT(999999);
-   else aspect = DIV(FROM_INT(params->w), FROM_INT(params->h));
-   amax = desc->aspect.max;
-   amin = desc->aspect.min;
-   if (desc->aspect.prefer == EDJE_ASPECT_PREFER_SOURCE &&
-       ep->part->type == EDJE_PART_TYPE_IMAGE)
-     {
-        Evas_Coord w, h;
-
-        /* We only need pose to find the right image that would be displayed,
-           and the right aspect ratio in that case */
-        _edje_real_part_image_set(ed, ep, pos);
-        evas_object_image_size_get(ep->object, &w, &h);
-        amin = amax = DIV(FROM_INT(w), FROM_INT(h));
-     }
-   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-       (ep->typedata.swallow))
-     {
-        if ((ep->typedata.swallow->swallow_params.aspect.w > 0) &&
-            (ep->typedata.swallow->swallow_params.aspect.h > 0))
-          amin = amax =
-          DIV(FROM_INT(ep->typedata.swallow->swallow_params.aspect.w),
-              FROM_INT(ep->typedata.swallow->swallow_params.aspect.h));
-     }
-   want_x = FROM_INT(params->x);
-   want_w = new_w = FROM_INT(params->w);
-
-   want_y = FROM_INT(params->y);
-   want_h = new_h = FROM_INT(params->h);
-
-   if ((amin > ZERO) && (amax > ZERO))
-     {
-        apref = desc->aspect.prefer;
-        if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-            (ep->typedata.swallow))
-          {
-             if (ep->typedata.swallow->swallow_params.aspect.mode > EDJE_ASPECT_CONTROL_NONE)
-               {
-                  switch (ep->typedata.swallow->swallow_params.aspect.mode)
-                    {
-                     case EDJE_ASPECT_CONTROL_NEITHER:
-                       apref = EDJE_ASPECT_PREFER_NONE;
-                       break;
-                     case EDJE_ASPECT_CONTROL_HORIZONTAL:
-                       apref = EDJE_ASPECT_PREFER_HORIZONTAL;
-                       break;
-                     case EDJE_ASPECT_CONTROL_VERTICAL:
-                       apref = EDJE_ASPECT_PREFER_VERTICAL;
-                       break;
-                     case EDJE_ASPECT_CONTROL_BOTH:
-                       apref = EDJE_ASPECT_PREFER_BOTH;
-                       break;
-                     default:
-                       break;
-                    }
-               }
-          }
-        switch (apref)
-          {
-           case EDJE_ASPECT_PREFER_NONE:
-              /* keep both dimensions in check */
-              /* adjust for min aspect (width / height) */
-              if ((amin > ZERO) && (aspect < amin))
-                {
-                   new_h = DIV(FROM_INT(params->w), amin);
-                   new_w = SCALE(amin, params->h);
-                }
-              /* adjust for max aspect (width / height) */
-              if ((amax > ZERO) && (aspect > amax))
-                {
-                   new_h = DIV(FROM_INT(params->w), amax);
-                   new_w = SCALE(amax, params->h);
-                }
-              if ((amax > ZERO) && (new_w < FROM_INT(params->w)))
-                {
-                   new_w = FROM_INT(params->w);
-                   new_h = DIV(FROM_INT(params->w), amax);
-                }
-              if ((amax > ZERO) && (new_h < FROM_INT(params->h)))
-                {
-                   new_w = SCALE(amax, params->h);
-                   new_h = FROM_INT(params->h);
-                }
-              break;
-              /* prefer vertical size as determiner */
-           case  EDJE_ASPECT_PREFER_VERTICAL:
-              /* keep both dimensions in check */
-              /* adjust for max aspect (width / height) */
-              if ((amax > ZERO) && (aspect > amax))
-                new_w = SCALE(amax, params->h);
-              /* adjust for min aspect (width / height) */
-              if ((amin > ZERO) && (aspect < amin))
-                new_w = SCALE(amin, params->h);
-              break;
-              /* prefer horizontal size as determiner */
-           case EDJE_ASPECT_PREFER_HORIZONTAL:
-              /* keep both dimensions in check */
-              /* adjust for max aspect (width / height) */
-              if ((amax > ZERO) && (aspect > amax))
-                new_h = DIV(FROM_INT(params->w), amax);
-              /* adjust for min aspect (width / height) */
-              if ((amin > ZERO) && (aspect < amin))
-                new_h = DIV(FROM_INT(params->w), amin);
-              break;
-           case EDJE_ASPECT_PREFER_SOURCE:
-           case EDJE_ASPECT_PREFER_BOTH:
-              /* keep both dimensions in check */
-              /* adjust for max aspect (width / height) */
-              if ((amax > ZERO) && (aspect > amax))
-                {
-                   new_w = SCALE(amax, params->h);
-                   new_h = DIV(FROM_INT(params->w), amax);
-                }
-              /* adjust for min aspect (width / height) */
-              if ((amin > ZERO) && (aspect < amin))
-                {
-                   new_w = SCALE(amin, params->h);
-                   new_h = DIV(FROM_INT(params->w), amin);
-                }
-              break;
-           default:
-              break;
-          }
-
-        if (!((amin > ZERO) && (amax > ZERO) &&
-              (apref == EDJE_ASPECT_PREFER_NONE)))
-          {
-             if ((*maxw >= 0) && (new_w > FROM_INT(*maxw)))
-               new_w = FROM_INT(*maxw);
-             if (new_w < FROM_INT(*minw))
-               new_w = FROM_INT(*minw);
-
-             if ((FROM_INT(*maxh) >= 0) && (new_h > FROM_INT(*maxh)))
-               new_h = FROM_INT(*maxh);
-             if (new_h < FROM_INT(*minh))
-               new_h = FROM_INT(*minh);
-          }
-
-        /* do real adjustment */
-        if (apref == EDJE_ASPECT_PREFER_BOTH)
-          {
-             if (amin == ZERO) amin = amax;
-             if (amin != ZERO)
-               {
-                  /* fix h and vary w */
-                  if (new_w > FROM_INT(params->w))
-                    {
-                       //                params->w = new_w;
-                       // EXCEEDS BOUNDS in W
-                       new_h = DIV(FROM_INT(params->w), amin);
-                       new_w = FROM_INT(params->w);
-                       if (new_h > FROM_INT(params->h))
-                         {
-                            new_h = FROM_INT(params->h);
-                            new_w = SCALE(amin, params->h);
-                         }
-                    }
-                  /* fix w and vary h */
-                  else
-                    {
-                       //                params->h = new_h;
-                       // EXCEEDS BOUNDS in H
-                       new_h = FROM_INT(params->h);
-                       new_w = SCALE(amin, params->h);
-                       if (new_w > FROM_INT(params->w))
-                         {
-                            new_h = DIV(FROM_INT(params->w), amin);
-                            new_w = FROM_INT(params->w);
-                         }
-                    }
-                  params->w = TO_INT(new_w);
-                  params->h = TO_INT(new_h);
-               }
-          }
-     }
-   if (apref != EDJE_ASPECT_PREFER_BOTH)
-     {
-        if ((amin > 0.0) && (amax > ZERO) && (apref == EDJE_ASPECT_PREFER_NONE))
-          {
-             params->w = TO_INT(new_w);
-             params->h = TO_INT(new_h);
-          }
-        else if ((FROM_INT(params->h) - new_h) > (FROM_INT(params->w) - new_w))
-          {
-             if (params->h < TO_INT(new_h))
-               params->h = TO_INT(new_h);
-             else if (params->h > TO_INT(new_h))
-               params->h = TO_INT(new_h);
-             if (apref == EDJE_ASPECT_PREFER_VERTICAL)
-               params->w = TO_INT(new_w);
-          }
-        else
-          {
-             if (params->w < TO_INT(new_w))
-               params->w = TO_INT(new_w);
-             else if (params->w > TO_INT(new_w))
-               params->w = TO_INT(new_w);
-             if (apref == EDJE_ASPECT_PREFER_HORIZONTAL)
-               params->h = TO_INT(new_h);
-          }
-     }
-   params->x = TO_INT(ADD(want_x,
-                          MUL(SUB(want_w, FROM_INT(params->w)),
-                              desc->align.x)));
-   params->y = TO_INT(ADD(want_y,
-                          MUL(SUB(want_h, FROM_INT(params->h)),
-                              desc->align.y)));
-   return apref;
-}
-
-static void
-_edje_part_recalc_single_step(Edje_Part_Description_Common *desc,
-                              Edje_Calc_Params *params)
-{
-   if (desc->step.x > 0)
-     {
-        int steps;
-        int new_w;
-
-        steps = params->w / desc->step.x;
-        new_w = desc->step.x * steps;
-        if (params->w > new_w)
-          {
-             params->x += TO_INT(SCALE(desc->align.x, (params->w - new_w)));
-             params->w = new_w;
-          }
-     }
-
-   if (desc->step.y > 0)
-     {
-        int steps;
-        int new_h;
-
-        steps = params->h / desc->step.y;
-        new_h = desc->step.y * steps;
-        if (params->h > new_h)
-          {
-             params->y += TO_INT(SCALE(desc->align.y, (params->h - new_h)));
-             params->h = new_h;
-          }
-     }
-}
-
-static void
-_edje_part_recalc_single_textblock(FLOAT_T sc,
-                                   Edje *ed,
-                                   Edje_Real_Part *ep,
-                                   Edje_Part_Description_Text *chosen_desc,
-                                   Edje_Calc_Params *params,
-                                   int *minw, int *minh,
-                                   int *maxw, int *maxh)
-{
-   if ((ep->type != EDJE_RP_TYPE_TEXT) ||
-       (!ep->typedata.text))
-     return;
-   if (chosen_desc)
-     {
-        Evas_Coord tw, th, ins_l, ins_r, ins_t, ins_b;
-        const char *text = "";
-        const char *style = "";
-        Edje_Style *stl  = NULL;
-        const char *tmp;
-        Eina_List *l;
-
-        if (chosen_desc->text.id_source >= 0)
-          {
-             ep->typedata.text->source = ed->table_parts[chosen_desc->text.id_source % ed->table_parts_size];
-
-             tmp = edje_string_get(&((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.style);
-             if (tmp) style = tmp;
-          }
-        else
-          {
-             ep->typedata.text->source = NULL;
-
-             tmp = edje_string_get(&chosen_desc->text.style);
-             if (tmp) style = tmp;
-          }
-
-        if (chosen_desc->text.id_text_source >= 0)
-          {
-             ep->typedata.text->text_source = ed->table_parts[chosen_desc->text.id_text_source % ed->table_parts_size];
-             text = edje_string_get(&((Edje_Part_Description_Text*)ep->typedata.text->text_source->chosen_description)->text.text);
-
-             if (ep->typedata.text->text_source->typedata.text->text) text = ep->typedata.text->text_source->typedata.text->text;
-          }
-        else
-          {
-             ep->typedata.text->text_source = NULL;
-             text = edje_string_get(&chosen_desc->text.text);
-             if (ep->typedata.text->text) text = ep->typedata.text->text;
-          }
-
-        EINA_LIST_FOREACH(ed->file->styles, l, stl)
-          {
-             if ((stl->name) && (!strcmp(stl->name, style))) break;
-             stl = NULL;
-          }
-
-        if (ep->part->scale)
-          evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-
-        if (stl)
-          {
-             const char *ptxt;
-
-             if (evas_object_textblock_style_get(ep->object) != stl->style)
-               evas_object_textblock_style_set(ep->object, stl->style);
-             // FIXME: need to account for editing
-             if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-               {
-                  // do nothing - should be done elsewhere
-               }
-             else
-               {
-                  ptxt = evas_object_textblock_text_markup_get(ep->object);
-                  if (((!ptxt) && (text)) ||
-                      ((ptxt) && (text) && (strcmp(ptxt, text))) ||
-                      ((ptxt) && (!text)))
-                    evas_object_textblock_text_markup_set(ep->object, text);
-               }
-             if ((chosen_desc->text.min_x) || (chosen_desc->text.min_y))
-               {
-                  int mw = 0, mh = 0;
-
-                  tw = th = 0;
-                  if (!chosen_desc->text.min_x)
-                    {
-                      eo_do(ep->object,
-                            evas_obj_size_set(params->w, params->h),
-                            evas_obj_textblock_size_formatted_get(&tw, &th));
-                    }
-                  else
-                    evas_object_textblock_size_native_get(ep->object, &tw, &th);
-                  evas_object_textblock_style_insets_get(ep->object, &ins_l,
-                                                         &ins_r, &ins_t, &ins_b);
-                  mw = ins_l + tw + ins_r;
-                  mh = ins_t + th + ins_b;
-                  if (minw && chosen_desc->text.min_x)
-                    {
-                       if (mw > *minw) *minw = mw;
-                    }
-                  if (minh && chosen_desc->text.min_y)
-                    {
-                       if (mh > *minh) *minh = mh;
-                    }
-               }
-          }
-        if ((chosen_desc->text.max_x) || (chosen_desc->text.max_y))
-          {
-             int mw = 0, mh = 0;
-
-             tw = th = 0;
-             if (!chosen_desc->text.max_x)
-               {
-                 eo_do(ep->object,
-                       evas_obj_size_set(params->w, params->h),
-                       evas_obj_textblock_size_formatted_get(&tw, &th));
-               }
-             else
-               evas_object_textblock_size_native_get(ep->object, &tw, &th);
-             evas_object_textblock_style_insets_get(ep->object, &ins_l, &ins_r,
-                                                    &ins_t, &ins_b);
-             mw = ins_l + tw + ins_r;
-             mh = ins_t + th + ins_b;
-             if (maxw && chosen_desc->text.max_x)
-               {
-                  if (mw > *maxw) *maxw = mw;
-                  if (minw && (*maxw < *minw)) *maxw = *minw;
-               }
-             if (maxh && chosen_desc->text.max_y)
-               {
-                  if (mh > *maxh) *maxh = mh;
-                  if (minh && (*maxh < *minh)) *maxh = *minh;
-               }
-          }
-        if ((chosen_desc->text.fit_x) || (chosen_desc->text.fit_y))
-          {
-             double s = 1.0;
-
-             if (ep->part->scale) s = TO_DOUBLE(sc);
-            eo_do(ep->object,
-                  evas_obj_scale_set(s),
-                  evas_obj_textblock_size_formatted_get(&tw, &th));
-             if (chosen_desc->text.fit_x)
-               {
-                  if ((tw > 0) && (tw > params->w))
-                    {
-                       s = (s * params->w) / (double)tw;
-                      eo_do(ep->object,
-                            evas_obj_scale_set(s),
-                            evas_obj_textblock_size_formatted_get(&tw, &th));
-                    }
-               }
-             if (chosen_desc->text.fit_y)
-               {
-                  if ((th > 0) && (th > params->h))
-                    {
-                       s = (s * params->h) / (double)th;
-                      eo_do(ep->object,
-                            evas_obj_scale_set(s),
-                            evas_obj_textblock_size_formatted_get(&tw, &th));
-                    }
-               }
-          }
-        evas_object_textblock_valign_set(ep->object, TO_DOUBLE(chosen_desc->text.align.y));
-     }
-}
-
-static void
-_edje_textblock_recalc_apply(Edje *ed, Edje_Real_Part *ep,
-                       Edje_Calc_Params *params,
-                       Edje_Part_Description_Text *chosen_desc)
-{
-   /* FIXME: this is just an hack. */
-   FLOAT_T sc;
-   sc = ed->scale;
-   if (sc == ZERO) sc = _edje_scale;
-   if (chosen_desc->text.fit_x || chosen_desc->text.fit_y)
-     {
-        _edje_part_recalc_single_textblock(sc, ed, ep, chosen_desc, params,
-              NULL, NULL, NULL, NULL);
-     }
-}
-
-static void
-_edje_part_recalc_single_text(FLOAT_T sc __UNUSED__,
-                              Edje *ed,
-                              Edje_Real_Part *ep,
-                              Edje_Part_Description_Text *desc,
-                              Edje_Part_Description_Text *chosen_desc,
-                              Edje_Calc_Params *params,
-                              int *minw, int *minh,
-                              int *maxw, int *maxh)
-#define RECALC_SINGLE_TEXT_USING_APPLY 1
-#if RECALC_SINGLE_TEXT_USING_APPLY
-/*
- * XXX TODO NOTE:
- *
- * Original _edje_part_recalc_single_text() was not working as
- * expected since it was not doing size fit, range, ellipsis and so
- * on.
- *
- * The purpose of this function compared with
- * _edje_text_recalc_apply() is to be faster, not calling Evas update
- * functions. However for text this is quite difficult given that to
- * fit we need to set the font, size, style, etc. If it was done
- * correctly, we'd save some calls to move and some color sets,
- * however those shouldn't matter much in the overall picture.
- *
- * I've changed this to force applying the value, it should be more
- * correct and not so slow. The previous code is kept below for
- * reference but should be removed before next release!
- *
- * -- Gustavo Barbieri at 20-Aug-2011
- */
-{
-   int tw, th, mw, mh, l, r, t, b, size;
-   char *sfont = NULL;
-
-   _edje_text_class_font_get(ed, desc, &size, &sfont);
-   free(sfont);
-   params->type.text.size = size; /* XXX TODO used by further calcs, go inside recalc_apply? */
-
-   _edje_text_recalc_apply(ed, ep, params, chosen_desc);
-
-   evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
-
-   if ((!chosen_desc) ||
-       ((!chosen_desc->text.min_x) && (!chosen_desc->text.min_y) &&
-        (!chosen_desc->text.max_x) && (!chosen_desc->text.max_y)))
-     return;
-
-   eo_do(ep->object,
-        evas_obj_size_get(&tw, &th),
-        evas_obj_text_style_pad_get(&l, &r, &t, &b));
-
-   mw = tw + l + r;
-   mh = th + t + b;
-
-   if (chosen_desc->text.max_x)
-     {
-        if ((*maxw < 0) || (mw < *maxw)) *maxw = mw;
-     }
-   if (chosen_desc->text.max_y)
-     {
-        if ((*maxh < 0) || (mh < *maxh)) *maxh = mh;
-     }
-   if (chosen_desc->text.min_x)
-     {
-        if (mw > *minw) *minw = mw;
-     }
-   if (chosen_desc->text.min_y)
-     {
-        if (mh > *minh) *minh = mh;
-     }
-}
-#else
-{
-   char *sfont = NULL;
-   int size;
-
-   if (chosen_desc)
-     {
-        const char *text;
-        const char *font;
-        Evas_Coord tw, th;
-        int inlined_font = 0;
-
-        /* Update a object_text part */
-
-        if (chosen_desc->text.id_source >= 0)
-          ep->text.source = ed->table_parts[chosen_desc->text.id_source % ed->table_parts_size];
-        else
-          ep->text.source = NULL;
-
-        if (chosen_desc->text.id_text_source >= 0)
-          ep->text.text_source = ed->table_parts[chosen_desc->text.id_text_source % ed->table_parts_size];
-        else
-          ep->text.text_source = NULL;
-
-        if (ep->text.text_source)
-          text = edje_string_get(&(((Edje_Part_Description_Text*)ep->text.text_source->chosen_description)->text.text));
-        else
-          text = edje_string_get(&chosen_desc->text.text);
-
-        if (ep->text.source)
-          font = _edje_text_class_font_get(ed, ((Edje_Part_Description_Text*)ep->text.source->chosen_description), &size, &sfont);
-        else
-          font = _edje_text_class_font_get(ed, chosen_desc, &size, &sfont);
-
-        if (!font) font = "";
-
-        if (ep->text.text_source)
-          {
-             if (ep->text.text_source->text.text) text = ep->text.text_source->text.text;
-          }
-        else
-          {
-             if (ep->text.text) text = ep->text.text;
-          }
-
-        if (ep->text.source)
-          {
-             if (ep->text.source->text.font) font = ep->text.source->text.font;
-             if (ep->text.source->text.size > 0) size = ep->text.source->text.size;
-          }
-        else
-          {
-             if (ep->text.font) font = ep->text.font;
-             if (ep->text.size > 0) size = ep->text.size;
-          }
-        if (!text) text = "";
-
-        /* check if the font is embedded in the .eet */
-        if (ed->file->fonts)
-          {
-             Edje_Font_Directory_Entry *fnt;
-
-             fnt = eina_hash_find(ed->file->fonts, font);
-
-             if (fnt)
-               {
-                  char *font2;
-
-                  size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
-                  font2 = alloca(len);
-                  sprintf(font2, "edje/fonts/%s", font);
-                  font = font2;
-                  inlined_font = 1;
-               }
-          }
-        if (ep->part->scale)
-          evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-        if (inlined_font)
-          {
-             evas_object_text_font_source_set(ep->object, ed->path);
-          }
-        else evas_object_text_font_source_set(ep->object, NULL);
-
-        if ((_edje_fontset_append) && (font))
-          {
-             char *font2;
-
-             font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 1);
-             if (font2)
-               {
-                  strcpy(font2, font);
-                  strcat(font2, ",");
-                  strcat(font2, _edje_fontset_append);
-                  evas_object_text_font_set(ep->object, font2, size);
-                  free(font2);
-               }
-          }
-        else
-          evas_object_text_font_set(ep->object, font, size);
-        if ((chosen_desc->text.min_x) || (chosen_desc->text.min_y) ||
-            (chosen_desc->text.max_x) || (chosen_desc->text.max_y))
-          {
-             int mw, mh;
-             Evas_Text_Style_Type
-                style = EVAS_TEXT_STYLE_PLAIN,
-                      shadow = EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT;
-             const Evas_Text_Style_Type styles[] = {
-                  EVAS_TEXT_STYLE_PLAIN,
-                  EVAS_TEXT_STYLE_PLAIN,
-                  EVAS_TEXT_STYLE_OUTLINE,
-                  EVAS_TEXT_STYLE_SOFT_OUTLINE,
-                  EVAS_TEXT_STYLE_SHADOW,
-                  EVAS_TEXT_STYLE_SOFT_SHADOW,
-                  EVAS_TEXT_STYLE_OUTLINE_SHADOW,
-                  EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW,
-                  EVAS_TEXT_STYLE_FAR_SHADOW,
-                  EVAS_TEXT_STYLE_FAR_SOFT_SHADOW,
-                  EVAS_TEXT_STYLE_GLOW
-             };
-             const Evas_Text_Style_Type shadows[] = {
-                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT,
-                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM,
-                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT,
-                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT,
-                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT,
-                EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP,
-                EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT,
-                EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT
-             };
-
-             if ((ep->part->effect & EVAS_TEXT_STYLE_MASK_BASIC)
-                 < EDJE_TEXT_EFFECT_LAST)
-               style = styles[ep->part->effect];
-             shadow = shadows
-                [(ep->part->effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) >> 4];
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(style, shadow);
-
-            eo_do(ep->object,
-                  evas_obj_text_style_set(style),
-                  evas_obj_text_text_set(text),
-                  evas_obj_size_get(&tw, &th));
-             if (chosen_desc->text.max_x)
-               {
-                  int l, r;
-                  evas_object_text_style_pad_get(ep->object, &l, &r, NULL, NULL);
-                  mw = tw + l + r;
-                  if ((*maxw < 0) || (mw < *maxw)) *maxw = mw;
-               }
-             if (chosen_desc->text.max_y)
-               {
-                  int t, b;
-                  evas_object_text_style_pad_get(ep->object, NULL, NULL, &t, &b);
-                  mh = th + t + b;
-                  if ((*maxh < 0) || (mh < *maxh)) *maxh = mh;
-               }
-             if (chosen_desc->text.min_x)
-               {
-                  int l, r;
-                  evas_object_text_style_pad_get(ep->object, &l, &r, NULL, NULL);
-                  mw = tw + l + r;
-                  if (mw > *minw) *minw = mw;
-               }
-             if (chosen_desc->text.min_y)
-               {
-                  int t, b;
-                  evas_object_text_style_pad_get(ep->object, NULL, NULL, &t, &b);
-                  mh = th + t + b;
-                  if (mh > *minh) *minh = mh;
-               }
-          }
-        if (sfont) free(sfont);
-     }
-
-   /* FIXME: Do we really need to call it twice if chosen_desc ? */
-   sfont = NULL;
-   _edje_text_class_font_get(ed, desc, &size, &sfont);
-   free(sfont);
-   params->type.text.size = size;
-}
-#endif
-
-static void
-_edje_part_recalc_single_min_length(FLOAT_T align, int *start, int *length, int min)
-{
-   if (min >= 0)
-     {
-        if (*length < min)
-          {
-             *start += TO_INT(SCALE(align, (*length - min)));
-             *length = min;
-          }
-     }
-}
-
-static void
-_edje_part_recalc_single_min(Edje_Part_Description_Common *desc,
-                             Edje_Calc_Params *params,
-                             int minw, int minh,
-                             Edje_Internal_Aspect aspect)
-{
-   int tmp;
-   int w;
-   int h;
-
-   w = params->w ? params->w : 99999;
-   h = params->h ? params->h : 99999;
-
-   switch (aspect)
-     {
-      case EDJE_ASPECT_PREFER_NONE:
-         break;
-      case EDJE_ASPECT_PREFER_VERTICAL:
-         tmp = minh * params->w / h;
-         if (tmp >= minw)
-           {
-              minw = tmp;
-              break;
-           }
-      case EDJE_ASPECT_PREFER_HORIZONTAL:
-         tmp = minw * params->h / w;
-         if (tmp >= minh)
-           {
-              minh = tmp;
-              break;
-           }
-      case EDJE_ASPECT_PREFER_SOURCE:
-      case EDJE_ASPECT_PREFER_BOTH:
-         tmp = minh * params->w / h;
-         if (tmp >= minw)
-           {
-              minw = tmp;
-              break;
-           }
-
-         tmp = minw * params->h / w;
-         if (tmp >= minh)
-           {
-              minh = tmp;
-              break;
-           }
-
-         break;
-     }
-
-   _edje_part_recalc_single_min_length(desc->align.x, &params->x, &params->w, minw);
-   _edje_part_recalc_single_min_length(desc->align.y, &params->y, &params->h, minh);
-}
-
-static void
-_edje_part_recalc_single_max_length(FLOAT_T align, int *start, int *length, int max)
-{
-   if (max >= 0)
-     {
-        if (*length > max)
-          {
-             *start += TO_INT(SCALE(align, (*length - max)));
-             *length = max;
-          }
-     }
-}
-
-static void
-_edje_part_recalc_single_max(Edje_Part_Description_Common *desc,
-                             Edje_Calc_Params *params,
-                             int maxw, int maxh,
-                             Edje_Internal_Aspect aspect)
-{
-   int tmp;
-   int w;
-   int h;
-
-   w = params->w ? params->w : 99999;
-   h = params->h ? params->h : 99999;
-
-   switch (aspect)
-     {
-      case EDJE_ASPECT_PREFER_NONE:
-         break;
-      case EDJE_ASPECT_PREFER_VERTICAL:
-         tmp = maxh * params->w / h;
-         if (tmp <= maxw)
-           {
-              maxw = tmp;
-              break;
-           }
-      case EDJE_ASPECT_PREFER_HORIZONTAL:
-         tmp = maxw * params->h / w;
-         if (tmp <= maxh)
-           {
-              maxh = tmp;
-              break;
-           }
-      case EDJE_ASPECT_PREFER_SOURCE:
-      case EDJE_ASPECT_PREFER_BOTH:
-         tmp = maxh * params->w / h;
-         if (tmp <= maxw)
-           {
-              maxw = tmp;
-              break;
-           }
-
-         tmp = maxw * params->h / w;
-         if (tmp <= maxh)
-           {
-              maxh = tmp;
-              break;
-           }
-
-         break;
-     }
-
-   _edje_part_recalc_single_max_length(desc->align.x, &params->x, &params->w, maxw);
-   _edje_part_recalc_single_max_length(desc->align.y, &params->y, &params->h, maxh);
-}
-
-static void
-_edje_part_recalc_single_drag(Edje_Real_Part *ep,
-                              Edje_Real_Part *confine_to,
-                              Edje_Calc_Params *params,
-                              int minw, int minh,
-                              int maxw, int maxh)
-{
-   /* confine */
-   if (confine_to)
-     {
-        int offset;
-        int step;
-        FLOAT_T v;
-
-        /* complex dragable params */
-        v = SCALE(ep->drag->size.x, confine_to->w);
-
-        if ((minw > 0) && (TO_INT(v) < minw)) params->w = minw;
-        else if ((maxw >= 0) && (TO_INT(v) > maxw)) params->w = maxw;
-        else params->w = TO_INT(v);
-
-        offset = TO_INT(SCALE(ep->drag->x, (confine_to->w - params->w)))
-           + ep->drag->tmp.x;
-        if (ep->part->dragable.step_x > 0)
-          {
-             params->x = confine_to->x +
-                ((offset / ep->part->dragable.step_x) * ep->part->dragable.step_x);
-          }
-        else if (ep->part->dragable.count_x > 0)
-          {
-             step = (confine_to->w - params->w) / ep->part->dragable.count_x;
-             if (step < 1) step = 1;
-             params->x = confine_to->x +
-                ((offset / step) * step);
-          }
-        params->req_drag.x = params->x;
-        params->req_drag.w = params->w;
-
-        v = SCALE(ep->drag->size.y, confine_to->h);
-
-        if ((minh > 0) && (TO_INT(v) < minh)) params->h = minh;
-        else if ((maxh >= 0) && (TO_INT(v) > maxh)) params->h = maxh;
-        else params->h = TO_INT(v);
-
-        offset = TO_INT(SCALE(ep->drag->y, (confine_to->h - params->h)))
-           + ep->drag->tmp.y;
-        if (ep->part->dragable.step_y > 0)
-          {
-             params->y = confine_to->y +
-                ((offset / ep->part->dragable.step_y) * ep->part->dragable.step_y);
-          }
-        else if (ep->part->dragable.count_y > 0)
-          {
-             step = (confine_to->h - params->h) / ep->part->dragable.count_y;
-             if (step < 1) step = 1;
-             params->y = confine_to->y +
-                ((offset / step) * step);
-          }
-        params->req_drag.y = params->y;
-        params->req_drag.h = params->h;
-
-        /* limit to confine */
-        if (params->x < confine_to->x)
-          {
-             params->x = confine_to->x;
-          }
-        if ((params->x + params->w) > (confine_to->x + confine_to->w))
-          {
-             params->x = confine_to->x + confine_to->w - params->w;
-          }
-        if (params->y < confine_to->y)
-          {
-             params->y = confine_to->y;
-          }
-        if ((params->y + params->h) > (confine_to->y + confine_to->h))
-          {
-             params->y = confine_to->y + confine_to->h - params->h;
-          }
-     }
-   else
-     {
-        /* simple dragable params */
-        params->x += TO_INT(ep->drag->x) + ep->drag->tmp.x;
-        params->req_drag.x = params->x;
-        params->req_drag.w = params->w;
-
-        params->y += TO_INT(ep->drag->y) + ep->drag->tmp.y;
-        params->req_drag.y = params->y;
-        params->req_drag.h = params->h;
-     }
-}
-
-static void
-_edje_part_recalc_single_fill(Edje_Real_Part *ep,
-                              Edje_Part_Description_Spec_Fill *fill,
-                              Edje_Calc_Params *params)
-{
-   int fw;
-   int fh;
-
-   params->smooth = fill->smooth;
-
-   if (fill->type == EDJE_FILL_TYPE_TILE)
-     evas_object_image_size_get(ep->object, &fw, NULL);
-   else
-     fw = params->w;
-
-   params->type.common.fill.x = fill->pos_abs_x
-      + TO_INT(SCALE(fill->pos_rel_x, fw));
-   params->type.common.fill.w = fill->abs_x
-      + TO_INT(SCALE(fill->rel_x, fw));
-
-   if (fill->type == EDJE_FILL_TYPE_TILE)
-     evas_object_image_size_get(ep->object, NULL, &fh);
-   else
-     fh = params->h;
-
-   params->type.common.fill.y = fill->pos_abs_y
-      + TO_INT(SCALE(fill->pos_rel_y, fh));
-   params->type.common.fill.h = fill->abs_y
-      + TO_INT(SCALE(fill->rel_y, fh));
-
-   params->type.common.fill.angle = fill->angle;
-   params->type.common.fill.spread = fill->spread;
-}
-
-static void
-_edje_part_recalc_single_min_max(FLOAT_T sc,
-                                 Edje_Real_Part *ep,
-                                 Edje_Part_Description_Common *desc,
-                                 int *minw, int *minh,
-                                 int *maxw, int *maxh)
-{
-   *minw = desc->min.w;
-   if (ep->part->scale) *minw = TO_INT(SCALE(sc, *minw));
-   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-       (ep->typedata.swallow))
-     {
-        if (ep->typedata.swallow->swallow_params.min.w > desc->min.w)
-          *minw = ep->typedata.swallow->swallow_params.min.w;
-     }
-
-   if (ep->edje->calc_only)
-     {
-        if (desc->minmul.have)
-          {
-             FLOAT_T mmw = desc->minmul.w;
-             if (mmw != FROM_INT(1)) *minw = TO_INT(SCALE(mmw, *minw));
-          }
-     }
-
-   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-       (ep->typedata.swallow))
-     {
-        /* XXX TODO: remove need of EDJE_INF_MAX_W, see edje_util.c */
-        if ((ep->typedata.swallow->swallow_params.max.w <= 0) ||
-            (ep->typedata.swallow->swallow_params.max.w == EDJE_INF_MAX_W))
-          {
-             *maxw = desc->max.w;
-             if (*maxw > 0)
-               {
-                  if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
-                  if (*maxw < 1) *maxw = 1;
-               }
-          }
-        else
-          {
-             if (desc->max.w <= 0)
-               *maxw = ep->typedata.swallow->swallow_params.max.w;
-             else
-               {
-                  *maxw = desc->max.w;
-                  if (*maxw > 0)
-                    {
-                       if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
-                       if (*maxw < 1) *maxw = 1;
-                    }
-                  if (ep->typedata.swallow->swallow_params.max.w < *maxw)
-                    *maxw = ep->typedata.swallow->swallow_params.max.w;
-               }
-          }
-     }
-   else
-     {
-        *maxw = desc->max.w;
-        if (*maxw > 0)
-          {
-             if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
-             if (*maxw < 1) *maxw = 1;
-          }
-     }
-   if ((ep->edje->calc_only) && (desc->minmul.have) &&
-       (desc->minmul.w != FROM_INT(1))) *maxw = *minw;
-   if (*maxw >= 0)
-     {
-        if (*maxw < *minw) *maxw = *minw;
-     }
-
-   *minh = desc->min.h;
-   if (ep->part->scale) *minh = TO_INT(SCALE(sc, *minh));
-   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-       (ep->typedata.swallow))
-     {
-        if (ep->typedata.swallow->swallow_params.min.h > desc->min.h)
-          *minh = ep->typedata.swallow->swallow_params.min.h;
-     }
-
-   if (ep->edje->calc_only)
-     {
-        if (desc->minmul.have)
-          {
-             FLOAT_T mmh = desc->minmul.h;
-             if (mmh != FROM_INT(1)) *minh = TO_INT(SCALE(mmh, *minh));
-          }
-     }
-
-   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-       (ep->typedata.swallow))
-     {
-        /* XXX TODO: remove need of EDJE_INF_MAX_H, see edje_util.c */
-        if ((ep->typedata.swallow->swallow_params.max.h <= 0) ||
-            (ep->typedata.swallow->swallow_params.max.h == EDJE_INF_MAX_H))
-          {
-             *maxh = desc->max.h;
-             if (*maxh > 0)
-               {
-                  if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
-                  if (*maxh < 1) *maxh = 1;
-               }
-          }
-        else
-          {
-             if (desc->max.h <= 0)
-               *maxh = ep->typedata.swallow->swallow_params.max.h;
-             else
-               {
-                  *maxh = desc->max.h;
-                  if (*maxh > 0)
-                    {
-                       if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
-                       if (*maxh < 1) *maxh = 1;
-                    }
-                  if (ep->typedata.swallow->swallow_params.max.h < *maxh)
-                    *maxh = ep->typedata.swallow->swallow_params.max.h;
-               }
-          }
-     }
-   else
-     {
-        *maxh = desc->max.h;
-        if (*maxh > 0)
-          {
-             if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
-             if (*maxh < 1) *maxh = 1;
-          }
-     }
-   if ((ep->edje->calc_only) && (desc->minmul.have) &&
-       (desc->minmul.h != FROM_INT(1))) *maxh = *minh;
-   if (*maxh >= 0)
-     {
-        if (*maxh < *minh) *maxh = *minh;
-     }
-}
-
-static void
-_edje_part_recalc_single_map(Edje *ed,
-                             Edje_Real_Part *ep __UNUSED__,
-                             Edje_Real_Part *center,
-                             Edje_Real_Part *light,
-                             Edje_Real_Part *persp,
-                             Edje_Part_Description_Common *desc,
-                             Edje_Part_Description_Common *chosen_desc,
-                             Edje_Calc_Params *params)
-{
-   params->mapped = chosen_desc->map.on;
-   params->lighted = params->mapped ? !!light : 0;
-   params->persp_on = params->mapped ? !!persp : 0;
-
-   if (!params->mapped) return ;
-
-   if (center)
-     {
-        params->map.center.x = ed->x + center->x + (center->w / 2);
-        params->map.center.y = ed->y + center->y + (center->h / 2);
-     }
-   else
-     {
-        params->map.center.x = ed->x + params->x + (params->w / 2);
-        params->map.center.y = ed->y + params->y + (params->h / 2);
-     }
-   params->map.center.z = 0;
-
-   params->map.rotation.x = desc->map.rot.x;
-   params->map.rotation.y = desc->map.rot.y;
-   params->map.rotation.z = desc->map.rot.z;
-
-   if (light)
-     {
-        Edje_Part_Description_Common *light_desc2;
-        FLOAT_T pos, pos2;
-
-        params->map.light.x = ed->x + light->x + (light->w / 2);
-        params->map.light.y = ed->y + light->y + (light->h / 2);
-
-        pos = light->description_pos;
-        pos2 = (pos < ZERO) ? ZERO : ((pos > FROM_INT(1)) ? FROM_INT(1) : pos);
-
-        light_desc2 = light->param2 ? light->param2->description : NULL;
-
-        /* take into account CURRENT state also */
-        if (pos != ZERO && light_desc2)
-          {
-             params->map.light.z = light->param1.description->persp.zplane +
-               TO_INT(SCALE(pos, light_desc2->persp.zplane - light->param1.description->persp.zplane));
-             params->map.light.r = light->param1.description->color.r +
-               TO_INT(SCALE(pos2, light_desc2->color.r - light->param1.description->color.r));
-             params->map.light.g = light->param1.description->color.g +
-               TO_INT(SCALE(pos2, light_desc2->color.g - light->param1.description->color.g));
-             params->map.light.b = light->param1.description->color.b +
-               TO_INT(SCALE(pos2, light_desc2->color.b - light->param1.description->color.b));
-             params->map.light.ar = light->param1.description->color2.r +
-               TO_INT(SCALE(pos2, light_desc2->color2.r - light->param1.description->color2.r));
-             params->map.light.ag = light->param1.description->color2.g +
-               TO_INT(SCALE(pos2, light_desc2->color2.g - light->param1.description->color2.g));
-             params->map.light.ab = light->param1.description->color2.b +
-               TO_INT(SCALE(pos2, light_desc2->color2.b - light->param1.description->color2.b));
-          }
-        else
-          {
-             params->map.light.z = light->param1.description->persp.zplane;
-             params->map.light.r = light->param1.description->color.r;
-             params->map.light.g = light->param1.description->color.g;
-             params->map.light.b = light->param1.description->color.b;
-             params->map.light.ar = light->param1.description->color2.r;
-             params->map.light.ag = light->param1.description->color2.g;
-             params->map.light.ab = light->param1.description->color2.b;
-          }
-     }
-
-   if (persp)
-     {
-        FLOAT_T pos;
-
-        params->map.persp.x = ed->x + persp->x + (persp->w / 2);
-        params->map.persp.y = ed->y + persp->y + (persp->h / 2);
-
-        pos = persp->description_pos;
-
-        if (pos != 0 && persp->param2)
-          {
-             params->map.persp.z = persp->param1.description->persp.zplane +
-               TO_INT(SCALE(pos, persp->param2->description->persp.zplane -
-                            persp->param1.description->persp.zplane));
-             params->map.persp.focal = persp->param1.description->persp.focal +
-               TO_INT(SCALE(pos, persp->param2->description->persp.focal -
-                            persp->param1.description->persp.focal));
-          }
-        else
-          {
-             params->map.persp.z = persp->param1.description->persp.zplane;
-             params->map.persp.focal = persp->param1.description->persp.focal;
-          }
-     }
-}
-
-static void
-_edje_part_recalc_single(Edje *ed,
-                         Edje_Real_Part *ep,
-                         Edje_Part_Description_Common *desc,
-                         Edje_Part_Description_Common *chosen_desc,
-                         Edje_Real_Part *center,
-                         Edje_Real_Part *light,
-                         Edje_Real_Part *persp,
-                         Edje_Real_Part *rel1_to_x,
-                         Edje_Real_Part *rel1_to_y,
-                         Edje_Real_Part *rel2_to_x,
-                         Edje_Real_Part *rel2_to_y,
-                         Edje_Real_Part *confine_to,
-                         Edje_Calc_Params *params,
-                         FLOAT_T pos)
-{
-   Edje_Color_Class *cc = NULL;
-   Edje_Internal_Aspect apref;
-   int minw = 0, minh = 0, maxw = 0, maxh = 0;
-   FLOAT_T sc;
-
-   sc = ed->scale;
-   if (sc == ZERO) sc = _edje_scale;
-   _edje_part_recalc_single_min_max(sc, ep, desc, &minw, &minh, &maxw, &maxh);
-
-   /* relative coords of top left & bottom right */
-   _edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params);
-
-   /* aspect */
-   apref = _edje_part_recalc_single_aspect(ed, ep, desc, params, &minw, &minh, &maxw, &maxh, pos);
-
-   /* size step */
-   _edje_part_recalc_single_step(desc, params);
-
-   /* if we have text that wants to make the min size the text size... */
-   if (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-     _edje_part_recalc_single_textblock(sc, ed, ep, (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, &maxw, &maxh);
-   else if (ep->part->type == EDJE_PART_TYPE_TEXT)
-     _edje_part_recalc_single_text(sc, ed, ep, (Edje_Part_Description_Text*) desc, (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, &maxw, &maxh);
-
-   if ((ep->part->type == EDJE_PART_TYPE_TABLE) &&
-       (((((Edje_Part_Description_Table *)chosen_desc)->table.min.h) ||
-         (((Edje_Part_Description_Table *)chosen_desc)->table.min.v))))
-     {
-        Evas_Coord lminw = 0, lminh = 0;
-
-       eo_do(ep->object,
-             evas_obj_smart_need_recalculate_set(1),
-             evas_obj_smart_calculate(),
-             evas_obj_size_hint_min_get(&lminw, &lminh));
-        if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h)
-          {
-             if (lminw > minw) minw = lminw;
-          }
-        if (((Edje_Part_Description_Table *)chosen_desc)->table.min.v)
-          {
-             if (lminh > minh) minh = lminh;
-          }
-     }
-   else if ((ep->part->type == EDJE_PART_TYPE_BOX) &&
-            ((((Edje_Part_Description_Box *)chosen_desc)->box.min.h) ||
-             (((Edje_Part_Description_Box *)chosen_desc)->box.min.v)))
-     {
-        Evas_Coord lminw = 0, lminh = 0;
-
-       eo_do(ep->object,
-             evas_obj_smart_need_recalculate_set(1),
-             evas_obj_smart_calculate(),
-             evas_obj_size_hint_min_get(&lminw, &lminh));
-        if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h)
-          {
-             if (lminw > minw) minw = lminw;
-          }
-        if (((Edje_Part_Description_Box *)chosen_desc)->box.min.v)
-          {
-             if (lminh > minh) minh = lminh;
-          }
-     }
-   else if ((ep->part->type == EDJE_PART_TYPE_IMAGE) &&
-            (chosen_desc->min.limit || chosen_desc->max.limit))
-     {
-        Evas_Coord w, h;
-
-        /* We only need pos to find the right image that would be displayed */
-        /* Yes, if someone set aspect preference to SOURCE and also max,min
-           to SOURCE, it will be under efficient, but who cares at the
-           moment. */
-        _edje_real_part_image_set(ed, ep, pos);
-        evas_object_image_size_get(ep->object, &w, &h);
-
-        if (chosen_desc->min.limit)
-          {
-             if (w > minw) minw = w;
-             if (h > minh) minh = h;
-          }
-        if (chosen_desc->max.limit)
-          {
-             if ((maxw <= 0) || (w < maxw)) maxw = w;
-             if ((maxh <= 0) || (h < maxh)) maxh = h;
-          }
-     }
-
-   /* remember what our size is BEFORE we go limit it */
-   params->req.x = params->x;
-   params->req.y = params->y;
-   params->req.w = params->w;
-   params->req.h = params->h;
-
-   /* adjust for min size */
-   _edje_part_recalc_single_min(desc, params, minw, minh, apref);
-
-   /* adjust for max size */
-   _edje_part_recalc_single_max(desc, params, maxw, maxh, apref);
-
-   /* take care of dragable part */
-   if (ep->drag)
-     _edje_part_recalc_single_drag(ep, confine_to, params, minw, minh, maxw, maxh);
-
-   /* fill */
-   if (ep->part->type == EDJE_PART_TYPE_IMAGE)
-     _edje_part_recalc_single_fill(ep, &((Edje_Part_Description_Image *)desc)->image.fill, params);
-   else if (ep->part->type == EDJE_PART_TYPE_PROXY)
-     _edje_part_recalc_single_fill(ep, &((Edje_Part_Description_Proxy *)desc)->proxy.fill, params);
-
-   if (ep->part->type != EDJE_PART_TYPE_SPACER)
-     {
-        /* colors */
-        if ((desc->color_class) && (*desc->color_class))
-          cc = _edje_color_class_find(ed, desc->color_class);
-
-        if (cc)
-          {
-             params->color.r = (((int)cc->r + 1) * desc->color.r) >> 8;
-             params->color.g = (((int)cc->g + 1) * desc->color.g) >> 8;
-             params->color.b = (((int)cc->b + 1) * desc->color.b) >> 8;
-             params->color.a = (((int)cc->a + 1) * desc->color.a) >> 8;
-          }
-        else
-          {
-             params->color.r = desc->color.r;
-             params->color.g = desc->color.g;
-             params->color.b = desc->color.b;
-             params->color.a = desc->color.a;
-          }
-     }
-
-   /* visible */
-   params->visible = desc->visible;
-
-   switch (ep->part->type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-           {
-              Edje_Part_Description_Image *img_desc = (Edje_Part_Description_Image*) desc;
-
-              /* border */
-              params->type.common.spec.image.l = img_desc->image.border.l;
-              params->type.common.spec.image.r = img_desc->image.border.r;
-
-              params->type.common.spec.image.t = img_desc->image.border.t;
-              params->type.common.spec.image.b = img_desc->image.border.b;
-
-              params->type.common.spec.image.border_scale_by = img_desc->image.border.scale_by;
-              break;
-           }
-      case EDJE_PART_TYPE_TEXT:
-      case EDJE_PART_TYPE_TEXTBLOCK:
-           {
-              Edje_Part_Description_Text *text_desc = (Edje_Part_Description_Text*) desc;
-
-              /* text.align */
-              params->type.text.align.x = text_desc->text.align.x;
-              params->type.text.align.y = text_desc->text.align.y;
-              params->type.text.elipsis = text_desc->text.elipsis;
-
-              /* text colors */
-              if (cc)
-                {
-                   params->type.text.color2.r = (((int)cc->r2 + 1) * text_desc->common.color2.r) >> 8;
-                   params->type.text.color2.g = (((int)cc->g2 + 1) * text_desc->common.color2.g) >> 8;
-                   params->type.text.color2.b = (((int)cc->b2 + 1) * text_desc->common.color2.b) >> 8;
-                   params->type.text.color2.a = (((int)cc->a2 + 1) * text_desc->common.color2.a) >> 8;
-                   params->type.text.color3.r = (((int)cc->r3 + 1) * text_desc->text.color3.r) >> 8;
-                   params->type.text.color3.g = (((int)cc->g3 + 1) * text_desc->text.color3.g) >> 8;
-                   params->type.text.color3.b = (((int)cc->b3 + 1) * text_desc->text.color3.b) >> 8;
-                   params->type.text.color3.a = (((int)cc->a3 + 1) * text_desc->text.color3.a) >> 8;
-                }
-              else
-                {
-                   params->type.text.color2.r = text_desc->common.color2.r;
-                   params->type.text.color2.g = text_desc->common.color2.g;
-                   params->type.text.color2.b = text_desc->common.color2.b;
-                   params->type.text.color2.a = text_desc->common.color2.a;
-                   params->type.text.color3.r = text_desc->text.color3.r;
-                   params->type.text.color3.g = text_desc->text.color3.g;
-                   params->type.text.color3.b = text_desc->text.color3.b;
-                   params->type.text.color3.a = text_desc->text.color3.a;
-                }
-
-              break;
-           }
-      case EDJE_PART_TYPE_SPACER:
-      case EDJE_PART_TYPE_RECTANGLE:
-      case EDJE_PART_TYPE_BOX:
-      case EDJE_PART_TYPE_TABLE:
-      case EDJE_PART_TYPE_SWALLOW:
-      case EDJE_PART_TYPE_GROUP:
-      case EDJE_PART_TYPE_PROXY:
-         break;
-      case EDJE_PART_TYPE_GRADIENT:
-         /* FIXME: THIS ONE SHOULD NEVER BE TRIGGERED. */
-         break;
-      default:
-         break;
-     }
-
-#ifdef HAVE_EPHYSICS
-   params->physics.mass = desc->physics.mass;
-   params->physics.restitution = desc->physics.restitution;
-   params->physics.friction = desc->physics.friction;
-   params->physics.damping.linear = desc->physics.damping.linear;
-   params->physics.damping.angular = desc->physics.damping.angular;
-   params->physics.sleep.linear = desc->physics.sleep.linear;
-   params->physics.sleep.angular = desc->physics.sleep.angular;
-   params->physics.material = desc->physics.material;
-   params->physics.density = desc->physics.density;
-   params->physics.hardness = desc->physics.hardness;
-   params->physics.ignore_part_pos = desc->physics.ignore_part_pos;
-   params->physics.light_on = desc->physics.light_on;
-   params->physics.mov_freedom.lin.x = desc->physics.mov_freedom.lin.x;
-   params->physics.mov_freedom.lin.y = desc->physics.mov_freedom.lin.y;
-   params->physics.mov_freedom.lin.z = desc->physics.mov_freedom.lin.z;
-   params->physics.mov_freedom.ang.x = desc->physics.mov_freedom.ang.x;
-   params->physics.mov_freedom.ang.y = desc->physics.mov_freedom.ang.y;
-   params->physics.mov_freedom.ang.z = desc->physics.mov_freedom.ang.z;
-   params->physics.backcull = desc->physics.backcull;
-   params->physics.z = desc->physics.z;
-   params->physics.depth = desc->physics.depth;
-#endif
-   _edje_part_recalc_single_map(ed, ep, center, light, persp, desc, chosen_desc, params);
-}
-
-static void
-_edje_table_recalc_apply(Edje *ed __UNUSED__,
-                         Edje_Real_Part *ep,
-                         Edje_Calc_Params *p3 __UNUSED__,
-                         Edje_Part_Description_Table *chosen_desc)
-{
-   eo_do(ep->object,
-        evas_obj_table_homogeneous_set(chosen_desc->table.homogeneous),
-        evas_obj_table_align_set(TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y)),
-        evas_obj_table_padding_set(chosen_desc->table.padding.x, chosen_desc->table.padding.y));
-   if (evas_object_smart_need_recalculate_get(ep->object))
-     {
-        eo_do(ep->object,
-             evas_obj_smart_need_recalculate_set(0),
-             evas_obj_smart_calculate());
-     }
-}
-
-static void
-_edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Proxy *chosen_desc, FLOAT_T pos)
-{
-   Edje_Real_Part *pp;
-   int part_id = -1;
-
-   if (pos >= FROM_DOUBLE(0.5))
-     part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
-   else
-     part_id = chosen_desc->proxy.id;
-
-   if ((p3->type.common.fill.w == 0) || (p3->type.common.fill.h == 0) ||
-       (part_id < 0))
-     {
-        evas_object_image_source_set(ep->object, NULL);
-        return;
-     }
-   pp = ed->table_parts[part_id % ed->table_parts_size];
-
-   if (pp->nested_smart)  /* using nested_smart for nested parts */
-     {
-        evas_object_image_source_set(ep->object, pp->nested_smart);
-     }
-   else
-     {
-        switch (pp->part->type)
-          {
-           case EDJE_PART_TYPE_IMAGE:
-           case EDJE_PART_TYPE_TEXT:
-           case EDJE_PART_TYPE_TEXTBLOCK:
-           case EDJE_PART_TYPE_RECTANGLE:
-           case EDJE_PART_TYPE_BOX:
-           case EDJE_PART_TYPE_TABLE:
-           case EDJE_PART_TYPE_PROXY:
-              evas_object_image_source_set(ep->object, pp->object);
-              break;
-           case EDJE_PART_TYPE_GRADIENT:
-              /* FIXME: THIS ONE SHOULD NEVER BE TRIGGERED. */
-              break;
-           case EDJE_PART_TYPE_GROUP:
-           case EDJE_PART_TYPE_SWALLOW:
-           case EDJE_PART_TYPE_EXTERNAL:
-             if ((pp->type == EDJE_RP_TYPE_SWALLOW) &&
-                 (pp->typedata.swallow))
-               {
-                  evas_object_image_source_set(ep->object, pp->typedata.swallow->swallowed_object);
-               }
-              break;
-           case EDJE_PART_TYPE_SPACER:
-              /* FIXME: detect that at compile time and prevent it */
-              break;
-          }
-     }
-
-   eo_do(ep->object,
-        evas_obj_image_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
-                                p3->type.common.fill.w, p3->type.common.fill.h),
-        evas_obj_image_smooth_scale_set(p3->smooth));
-}
-
-static void
-_edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Image *chosen_desc, FLOAT_T pos)
-{
-   FLOAT_T sc;
-
-   sc = ed->scale;
-   if (sc == 0.0) sc = _edje_scale;
-   eo_do(ep->object,
-        evas_obj_image_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
-                                p3->type.common.fill.w, p3->type.common.fill.h),
-        evas_obj_image_smooth_scale_set(p3->smooth));
-   if (chosen_desc->image.border.scale)
-     {
-        if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
-          {
-             FLOAT_T sc2 = MUL(sc, p3->type.common.spec.image.border_scale_by);
-             evas_object_image_border_scale_set(ep->object, TO_DOUBLE(sc2));
-          }
-        else
-           evas_object_image_border_scale_set(ep->object, TO_DOUBLE(sc));
-     }
-   else
-     {
-        if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
-           evas_object_image_border_scale_set
-           (ep->object, TO_DOUBLE(p3->type.common.spec.image.border_scale_by));
-        else
-          evas_object_image_border_scale_set(ep->object, 1.0);
-     }
-   evas_object_image_border_set(ep->object, p3->type.common.spec.image.l, p3->type.common.spec.image.r,
-                                p3->type.common.spec.image.t, p3->type.common.spec.image.b);
-   if (chosen_desc->image.border.no_fill == 0)
-     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_DEFAULT);
-   else if (chosen_desc->image.border.no_fill == 1)
-     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_NONE);
-   else if (chosen_desc->image.border.no_fill == 2)
-     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_SOLID);
-
-   _edje_real_part_image_set(ed, ep, pos);
-}
-
-static Edje_Real_Part *
-_edje_real_part_state_get(Edje *ed, Edje_Real_Part *ep, int flags, int id, int *state)
-{
-   Edje_Real_Part *result = NULL;
-
-   if (id >= 0 && id != ep->part->id)
-     {
-        result = ed->table_parts[id % ed->table_parts_size];
-        if (result)
-          {
-             if (!result->calculated) _edje_part_recalc(ed, result, flags, NULL);
-#ifdef EDJE_CALC_CACHE
-             if (state) *state = result->state;
-#else
-             (void) state;
-#endif
-          }
-     }
-   return result;
-}
-
-#ifdef HAVE_EPHYSICS
-static Eina_Bool
-_edje_physics_world_geometry_check(EPhysics_World *world)
-{
-   Evas_Coord w, h, d;
-   ephysics_world_render_geometry_get(world, NULL, NULL, NULL, &w, &h, &d);
-   return (w && h && d);
-}
-
-static void
-_edje_physics_body_props_update(Edje_Real_Part *ep, Edje_Calc_Params *pf, Eina_Bool pos_update)
-{
-   ephysics_body_linear_movement_enable_set(ep->body,
-                                            pf->physics.mov_freedom.lin.x,
-                                            pf->physics.mov_freedom.lin.y,
-                                            pf->physics.mov_freedom.lin.z);
-   ephysics_body_angular_movement_enable_set(ep->body,
-                                             pf->physics.mov_freedom.ang.x,
-                                             pf->physics.mov_freedom.ang.y,
-                                             pf->physics.mov_freedom.ang.z);
-
-   /* Boundaries geometry and mass shouldn't be changed */
-   if (ep->part->physics_body < EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP)
-     {
-        Evas_Coord x, y, z, w, h, d;
-
-        if (pos_update)
-          {
-             ephysics_body_move(ep->body, ep->edje->x + pf->x,
-                                ep->edje->y + pf->y, pf->physics.z);
-             ep->x = pf->x;
-             ep->y = pf->y;
-             ep->w = pf->w;
-             ep->h = pf->h;
-          }
-
-        ephysics_body_geometry_get(ep->body, &x, &y, &z, &w, &h, &d);
-        if ((d) && (d != pf->physics.depth))
-          ephysics_body_resize(ep->body, w, h, pf->physics.depth);
-        if (z != pf->physics.z)
-          ephysics_body_move(ep->body, x, y, pf->physics.z);
-
-        ephysics_body_material_set(ep->body, pf->physics.material);
-        if (!pf->physics.material)
-          {
-             if (pf->physics.density)
-               ephysics_body_density_set(ep->body, pf->physics.density);
-             else
-               ephysics_body_mass_set(ep->body, pf->physics.mass);
-          }
-
-        if ((ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_BOX) ||
-            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_SPHERE) ||
-            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER) ||
-            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_CLOTH))
-          ephysics_body_soft_body_hardness_set(ep->body,
-                                               pf->physics.hardness * 100);
-     }
-
-   if (!pf->physics.material)
-     {
-        ephysics_body_restitution_set(ep->body, pf->physics.restitution);
-        ephysics_body_friction_set(ep->body, pf->physics.friction);
-     }
-
-   ephysics_body_damping_set(ep->body, pf->physics.damping.linear,
-                             pf->physics.damping.angular);
-   ephysics_body_sleeping_threshold_set(ep->body, pf->physics.sleep.linear,
-                                        pf->physics.sleep.angular);
-   ephysics_body_light_set(ep->body, pf->physics.light_on);
-   ephysics_body_back_face_culling_set(ep->body, pf->physics.backcull);
-}
-
-static void
-_edje_physics_body_update_cb(void *data, EPhysics_Body *body, void *event_info __UNUSED__)
-{
-   Edje_Real_Part *rp = data;
-   ephysics_body_geometry_get(body, &(rp->x), &(rp->y), NULL,
-                              &(rp->w), &(rp->h), NULL);
-   ephysics_body_evas_object_update(body);
-   rp->edje->dirty = EINA_TRUE;
-}
-
-static void
-_edje_physics_body_add(Edje_Real_Part *rp, EPhysics_World *world)
-{
-   Eina_Bool resize = EINA_TRUE;
-   Edje_Physics_Face *pface;
-   Eina_List *l;
-
-   switch (rp->part->physics_body)
-     {
-      case EDJE_PART_PHYSICS_BODY_RIGID_BOX:
-         rp->body = ephysics_body_box_add(world);
-         break;
-      case EDJE_PART_PHYSICS_BODY_RIGID_SPHERE:
-         rp->body = ephysics_body_sphere_add(world);
-         break;
-      case EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER:
-         rp->body = ephysics_body_cylinder_add(world);
-         break;
-      case EDJE_PART_PHYSICS_BODY_SOFT_BOX:
-         rp->body = ephysics_body_soft_box_add(world);
-         break;
-      case EDJE_PART_PHYSICS_BODY_SOFT_SPHERE:
-         rp->body = ephysics_body_soft_sphere_add(world, 0);
-         break;
-      case EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER:
-         rp->body = ephysics_body_soft_cylinder_add(world);
-         break;
-      case EDJE_PART_PHYSICS_BODY_CLOTH:
-         rp->body = ephysics_body_cloth_add(world, 0, 0);
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP:
-         rp->body = ephysics_body_top_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM:
-         rp->body = ephysics_body_bottom_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT:
-         rp->body = ephysics_body_right_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT:
-         rp->body = ephysics_body_left_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT:
-         rp->body = ephysics_body_front_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      case EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK:
-         rp->body = ephysics_body_back_boundary_add(world);
-         resize = EINA_FALSE;
-         break;
-      default:
-         ERR("Invalid body: %i", rp->part->physics_body);
-         return;
-     }
-
-   EINA_LIST_FOREACH(rp->part->default_desc->physics.faces, l, pface)
-     {
-        Evas_Object *edje_obj;
-        Evas *evas;
-
-        if (!pface->source) continue;
-
-        evas = evas_object_evas_get(rp->object);
-        edje_obj = edje_object_add(evas);
-        if (!edje_obj) continue;
-
-        edje_object_file_set(edje_obj, rp->edje->path, pface->source);
-        evas_object_resize(edje_obj, 1, 1);
-        ephysics_body_face_evas_object_set(rp->body, pface->type,
-                                           edje_obj, EINA_FALSE);
-        rp->body_faces = eina_list_append(rp->body_faces, edje_obj);
-     }
-
-   ephysics_body_evas_object_set(rp->body, rp->object, resize);
-   ephysics_body_event_callback_add(rp->body, EPHYSICS_CALLBACK_BODY_UPDATE,
-                                    _edje_physics_body_update_cb, rp);
-}
-#endif
-
-void
-_edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *state)
-{
-#ifdef EDJE_CALC_CACHE
-   Eina_Bool proxy_invalidate = EINA_FALSE;
-   int state1 = -1;
-   int state2 = -1;
-   int statec = -1;
-#else
-   Edje_Calc_Params lp1, lp2;
-#endif
-   int statec1 = -1;
-   int statec2 = -1;
-   int statel1 = -1;
-   int statel2 = -1;
-   int statep1 = -1;
-   int statep2 = -1;
-   Edje_Real_Part *center[2] = { NULL, NULL };
-   Edje_Real_Part *light[2] = { NULL, NULL };
-   Edje_Real_Part *persp[2] = { NULL, NULL };
-   Edje_Calc_Params *p1, *pf;
-   Edje_Part_Description_Common *chosen_desc;
-   Edje_Real_Part *confine_to = NULL;
-   FLOAT_T pos = ZERO, pos2;
-   Edje_Calc_Params lp3;
-
-   /* GRADIENT ARE GONE, WE MUST IGNORE IT FROM OLD FILE. */
-   if (ep->part->type == EDJE_PART_TYPE_GRADIENT)
-     {
-        ERR("GRADIENT spotted during recalc ! That should never happen ! Send your edje file to devel ml.");
-        return;
-     }
-
-   if ((ep->calculated & FLAG_XY) == FLAG_XY && !state)
-     {
-        return;
-     }
-   if (ep->calculating & flags)
-     {
-#if 1
-        const char *axes = "NONE", *faxes = "NONE";
-
-        if ((ep->calculating & FLAG_X) &&
-            (ep->calculating & FLAG_Y))
-          axes = "XY";
-        else if ((ep->calculating & FLAG_X))
-          axes = "X";
-        else if ((ep->calculating & FLAG_Y))
-          axes = "Y";
-
-        if ((flags & FLAG_X) &&
-            (flags & FLAG_Y))
-          faxes = "XY";
-        else if ((flags & FLAG_X))
-          faxes = "X";
-        else if ((flags & FLAG_Y))
-          faxes = "Y";
-        ERR("Circular dependency when calculating part \"%s\". "
-            "Already calculating %s [%02x] axes. "
-            "Need to calculate %s [%02x] axes",
-            ep->part->name,
-            axes, ep->calculating,
-            faxes, flags);
-#endif
-        return;
-     }
-
-   if (ep->part->scale &&
-       ep->part->type == EDJE_PART_TYPE_GROUP &&
-       ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-           (ep->typedata.swallow)) &&
-       ep->typedata.swallow->swallowed_object)
-     {
-        edje_object_scale_set(ep->typedata.swallow->swallowed_object, TO_DOUBLE(ed->scale));
-
-        if (ep->description_pos > FROM_DOUBLE(0.5) && ep->param2)
-          {
-             edje_object_update_hints_set(ep->typedata.swallow->swallowed_object, ep->param2->description->min.limit);
-          }
-        else
-          {
-             edje_object_update_hints_set(ep->typedata.swallow->swallowed_object, ep->param1.description->min.limit);
-          }
-        if (edje_object_update_hints_get(ep->typedata.swallow->swallowed_object))
-          {
-             Edje *ted;
-
-             ted = _edje_fetch(ep->typedata.swallow->swallowed_object);
-             _edje_recalc_do(ted);
-          }
-     }
-
-#ifdef EDJE_CALC_CACHE
-   if (ep->state == ed->state && !state)
-     return ;
-#endif
-
-   if (flags & FLAG_X)
-     {
-        ep->calculating |= flags & FLAG_X;
-        if (ep->param1.rel1_to_x)
-          {
-             _edje_part_recalc(ed, ep->param1.rel1_to_x, FLAG_X, NULL);
-#ifdef EDJE_CALC_CACHE
-             state1 = ep->param1.rel1_to_x->state;
-#endif
-          }
-        if (ep->param1.rel2_to_x)
-          {
-             _edje_part_recalc(ed, ep->param1.rel2_to_x, FLAG_X, NULL);
-#ifdef EDJE_CALC_CACHE
-             if (state1 < ep->param1.rel2_to_x->state)
-               state1 = ep->param1.rel2_to_x->state;
-#endif
-          }
-        if (ep->param2)
-          {
-             if (ep->param2->rel1_to_x)
-               {
-                  _edje_part_recalc(ed, ep->param2->rel1_to_x, FLAG_X, NULL);
-#ifdef EDJE_CALC_CACHE
-                  state2 = ep->param2->rel1_to_x->state;
-#endif
-               }
-             if (ep->param2->rel2_to_x)
-               {
-                  _edje_part_recalc(ed, ep->param2->rel2_to_x, FLAG_X, NULL);
-#ifdef EDJE_CALC_CACHE
-                  if (state2 < ep->param2->rel2_to_x->state)
-                    state2 = ep->param2->rel2_to_x->state;
-#endif
-               }
-          }
-     }
-   if (flags & FLAG_Y)
-     {
-        ep->calculating |= flags & FLAG_Y;
-        if (ep->param1.rel1_to_y)
-          {
-             _edje_part_recalc(ed, ep->param1.rel1_to_y, FLAG_Y, NULL);
-#ifdef EDJE_CALC_CACHE
-             if (state1 < ep->param1.rel1_to_y->state)
-               state1 = ep->param1.rel1_to_y->state;
-#endif
-          }
-        if (ep->param1.rel2_to_y)
-          {
-             _edje_part_recalc(ed, ep->param1.rel2_to_y, FLAG_Y, NULL);
-#ifdef EDJE_CALC_CACHE
-             if (state1 < ep->param1.rel2_to_y->state)
-               state1 = ep->param1.rel2_to_y->state;
-#endif
-          }
-        if (ep->param2)
-          {
-             if (ep->param2->rel1_to_y)
-               {
-                  _edje_part_recalc(ed, ep->param2->rel1_to_y, FLAG_Y, NULL);
-#ifdef EDJE_CALC_CACHE
-                  if (state2 < ep->param2->rel1_to_y->state)
-                    state2 = ep->param2->rel1_to_y->state;
-#endif
-               }
-             if (ep->param2->rel2_to_y)
-               {
-                  _edje_part_recalc(ed, ep->param2->rel2_to_y, FLAG_Y, NULL);
-#ifdef EDJE_CALC_CACHE
-                  if (state2 < ep->param2->rel2_to_y->state)
-                    state2 = ep->param2->rel2_to_y->state;
-#endif
-               }
-          }
-     }
-   if (ep->drag && ep->drag->confine_to)
-     {
-        confine_to = ep->drag->confine_to;
-        _edje_part_recalc(ed, confine_to, flags, NULL);
-#ifdef EDJE_CALC_CACHE
-        statec = confine_to->state;
-#endif
-     }
-   //   if (ep->text.source)       _edje_part_recalc(ed, ep->text.source, flags);
-   //   if (ep->text.text_source)  _edje_part_recalc(ed, ep->text.text_source, flags);
-
-   /* actually calculate now */
-   chosen_desc = ep->chosen_description;
-   if (!chosen_desc)
-     {
-        ep->calculating = FLAG_NONE;
-        ep->calculated |= flags;
-        return;
-     }
-
-   pos = ep->description_pos;
-
-   if (ep->part->type == EDJE_PART_TYPE_PROXY)
-     {
-        Edje_Real_Part *pp;
-        int part_id = -1;
-
-        if (pos >= FROM_DOUBLE(0.5))
-          part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
-        else
-          part_id = ((Edje_Part_Description_Proxy*) chosen_desc)->proxy.id;
-
-        pp = _edje_real_part_state_get(ed, ep, flags, part_id, NULL);
-#ifdef EDJE_CALC_CACHE
-        if (pp && pp->invalidate) proxy_invalidate = EINA_TRUE;
-#endif
-     }
-
-   /* Recalc if needed the map center && light source */
-   if (ep->param1.description->map.on)
-     {
-        center[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.rot.id_center, &statec1);
-        light[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.id_light, &statel1);
-
-        if (chosen_desc->map.persp_on)
-          {
-             persp[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.id_persp, &statep1);
-          }
-     }
-
-   if (ep->param2 && ep->param2->description->map.on)
-     {
-        center[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.rot.id_center, &statec2);
-        light[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.id_light, &statel2);
-
-        if (chosen_desc->map.persp_on)
-          {
-             persp[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.id_persp, &statep2);
-          }
-     }
-
-#ifndef EDJE_CALC_CACHE
-   p1 = &lp1;
-#else
-   p1 = &ep->param1.p;
-#endif
-
-   if (ep->param1.description)
-     {
-#ifdef EDJE_CALC_CACHE
-        if (ed->all_part_change ||
-            ep->invalidate ||
-            state1 >= ep->param1.state ||
-            statec >= ep->param1.state ||
-            statec1 >= ep->param1.state ||
-            statel1 >= ep->param1.state ||
-            statep1 >= ep->param1.state ||
-            proxy_invalidate ||
-            state ||
-            ((ep->part->type == EDJE_PART_TYPE_TEXT || ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && ed->text_part_change))
-#endif
-          {
-             _edje_part_recalc_single(ed, ep, ep->param1.description, chosen_desc, center[0], light[0], persp[0],
-                                      ep->param1.rel1_to_x, ep->param1.rel1_to_y, ep->param1.rel2_to_x, ep->param1.rel2_to_y,
-                                      confine_to,
-                                      p1, pos);
-#ifdef EDJE_CALC_CACHE
-             if (flags == FLAG_XY)
-               ep->param1.state = ed->state;
-#endif
-          }
-     }
-   if (ep->param2)
-     {
-        int beginning_pos, part_type;
-        Edje_Calc_Params *p2, *p3;
-
-        if (ep->current)
-          {
-             /* FIXME: except for text, we don't need in that case to recalc p1 at all*/
-             memcpy(p1, ep->current, sizeof (Edje_Calc_Params));
-             p1->x += ed->x;
-             p1->y += ed->y;
-             p1->map.center.x += ed->x;
-             p1->map.center.y += ed->y;
-             p1->map.light.x += ed->x;
-             p1->map.light.y += ed->y;
-             p1->map.persp.x += ed->x;
-             p1->map.persp.y += ed->y;
-          }
-
-        p3 = &lp3;
-
-#ifndef EDJE_CALC_CACHE
-        p2 = &lp2;
-#else
-        p2 = &ep->param2->p;
-
-        if (ed->all_part_change ||
-            ep->invalidate ||
-            state2 >= ep->param2->state ||
-            statec >= ep->param2->state ||
-            statec2 >= ep->param2->state ||
-            statel2 >= ep->param2->state ||
-            statep2 >= ep->param2->state ||
-            proxy_invalidate ||
-            state ||
-            ((ep->part->type == EDJE_PART_TYPE_TEXT || ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && ed->text_part_change))
-#endif
-          {
-             _edje_part_recalc_single(ed, ep, ep->param2->description,
-                                      chosen_desc,
-                                      center[1], light[1], persp[1],
-                                      ep->param2->rel1_to_x,
-                                      ep->param2->rel1_to_y,
-                                      ep->param2->rel2_to_x,
-                                      ep->param2->rel2_to_y,
-                                      confine_to,
-                                      p2, pos);
-#ifdef EDJE_CALC_CACHE
-             if (flags == FLAG_XY)
-               ep->param2->state = ed->state;
-#endif
-          }
-
-        pos2 = pos;
-        if (pos2 < ZERO) pos2 = ZERO;
-        else if (pos2 > FROM_INT(1)) pos2 = FROM_INT(1);
-        beginning_pos = (pos < FROM_DOUBLE(0.5));
-        part_type = ep->part->type;
-
-        /* visible is special */
-        if ((p1->visible) && (!p2->visible))
-          p3->visible = (pos != FROM_INT(1));
-        else if ((!p1->visible) && (p2->visible))
-          p3->visible = (pos != ZERO);
-        else
-          p3->visible = p1->visible;
-
-        p3->smooth = (beginning_pos) ? p1->smooth : p2->smooth;
-
-        /* FIXME: do x and y separately base on flag */
-#define FINTP(_x1, _x2, _p)                     \
-        (((_x1) == (_x2))                       \
-         ? FROM_INT((_x1))                      \
-         : ADD(FROM_INT(_x1),                   \
-               SCALE((_p), (_x2) - (_x1))))
-
-#define FFP(_x1, _x2, _p)                       \
-        (((_x1) == (_x2))                       \
-         ? (_x1)                                \
-         : ADD(_x1, MUL(_p, SUB(_x2, _x1))));
-
-#define INTP(_x1, _x2, _p) TO_INT(FINTP(_x1, _x2, _p))
-
-        p3->x = INTP(p1->x, p2->x, pos);
-        p3->y = INTP(p1->y, p2->y, pos);
-        p3->w = INTP(p1->w, p2->w, pos);
-        p3->h = INTP(p1->h, p2->h, pos);
-
-        p3->req.x = INTP(p1->req.x, p2->req.x, pos);
-        p3->req.y = INTP(p1->req.y, p2->req.y, pos);
-        p3->req.w = INTP(p1->req.w, p2->req.w, pos);
-        p3->req.h = INTP(p1->req.h, p2->req.h, pos);
-
-        if (ep->part->dragable.x)
-          {
-             p3->req_drag.x = INTP(p1->req_drag.x, p2->req_drag.x, pos);
-             p3->req_drag.w = INTP(p1->req_drag.w, p2->req_drag.w, pos);
-          }
-        if (ep->part->dragable.y)
-          {
-             p3->req_drag.y = INTP(p1->req_drag.y, p2->req_drag.y, pos);
-             p3->req_drag.h = INTP(p1->req_drag.h, p2->req_drag.h, pos);
-          }
-
-        p3->color.r = INTP(p1->color.r, p2->color.r, pos2);
-        p3->color.g = INTP(p1->color.g, p2->color.g, pos2);
-        p3->color.b = INTP(p1->color.b, p2->color.b, pos2);
-        p3->color.a = INTP(p1->color.a, p2->color.a, pos2);
-
-#ifdef HAVE_EPHYSICS
-        p3->physics.mass = TO_DOUBLE(FINTP(p1->physics.mass, p2->physics.mass,
-                                         pos));
-        p3->physics.restitution = TO_DOUBLE(FINTP(p1->physics.restitution,
-                                                  p2->physics.restitution,
-                                                  pos));
-        p3->physics.friction = TO_DOUBLE(FINTP(p1->physics.friction,
-                                               p2->physics.friction, pos));
-        p3->physics.density = TO_DOUBLE(FINTP(p1->physics.density,
-                                              p2->physics.density, pos));
-        p3->physics.hardness = TO_DOUBLE(FINTP(p1->physics.hardness,
-                                               p2->physics.hardness, pos));
-
-        p3->physics.damping.linear = TO_DOUBLE(FINTP(
-              p1->physics.damping.linear, p2->physics.damping.linear, pos));
-        p3->physics.damping.angular = TO_DOUBLE(FINTP(
-              p1->physics.damping.angular, p2->physics.damping.angular, pos));
-
-        p3->physics.sleep.linear = TO_DOUBLE(FINTP(
-              p1->physics.sleep.linear, p2->physics.sleep.linear, pos));
-        p3->physics.sleep.angular = TO_DOUBLE(FINTP(
-              p1->physics.sleep.angular, p2->physics.sleep.angular, pos));
-
-        p3->physics.z = INTP(p1->physics.z, p2->physics.z, pos);
-        p3->physics.depth = INTP(p1->physics.depth, p2->physics.depth, pos);
-
-        if ((p1->physics.ignore_part_pos) && (p2->physics.ignore_part_pos))
-          p3->physics.ignore_part_pos = 1;
-        else
-          p3->physics.ignore_part_pos = 0;
-
-        if ((p1->physics.material) && (p2->physics.material))
-          p3->physics.material = p1->physics.material;
-        else
-          p3->physics.material = EPHYSICS_BODY_MATERIAL_CUSTOM;
-
-        p3->physics.light_on = p1->physics.light_on || p2->physics.light_on;
-        p3->physics.backcull = p1->physics.backcull || p2->physics.backcull;
-
-        p3->physics.mov_freedom.lin.x = p1->physics.mov_freedom.lin.x ||
-           p2->physics.mov_freedom.lin.x;
-        p3->physics.mov_freedom.lin.y = p1->physics.mov_freedom.lin.y ||
-           p2->physics.mov_freedom.lin.y;
-        p3->physics.mov_freedom.lin.z = p1->physics.mov_freedom.lin.z ||
-           p2->physics.mov_freedom.lin.z;
-        p3->physics.mov_freedom.ang.x = p1->physics.mov_freedom.ang.x ||
-           p2->physics.mov_freedom.ang.x;
-        p3->physics.mov_freedom.ang.y = p1->physics.mov_freedom.ang.y ||
-           p2->physics.mov_freedom.ang.y;
-        p3->physics.mov_freedom.ang.z = p1->physics.mov_freedom.ang.z ||
-           p2->physics.mov_freedom.ang.z;
-#endif
-
-        switch (part_type)
-          {
-           case EDJE_PART_TYPE_IMAGE:
-              p3->type.common.spec.image.l = INTP(p1->type.common.spec.image.l, p2->type.common.spec.image.l, pos);
-              p3->type.common.spec.image.r = INTP(p1->type.common.spec.image.r, p2->type.common.spec.image.r, pos);
-              p3->type.common.spec.image.t = INTP(p1->type.common.spec.image.t, p2->type.common.spec.image.t, pos);
-              p3->type.common.spec.image.b = INTP(p1->type.common.spec.image.b, p2->type.common.spec.image.b, pos);
-              p3->type.common.spec.image.border_scale_by = INTP(p1->type.common.spec.image.border_scale_by, p2->type.common.spec.image.border_scale_by, pos);
-           case EDJE_PART_TYPE_PROXY:
-              p3->type.common.fill.x = INTP(p1->type.common.fill.x, p2->type.common.fill.x, pos);
-              p3->type.common.fill.y = INTP(p1->type.common.fill.y, p2->type.common.fill.y, pos);
-              p3->type.common.fill.w = INTP(p1->type.common.fill.w, p2->type.common.fill.w, pos);
-              p3->type.common.fill.h = INTP(p1->type.common.fill.h, p2->type.common.fill.h, pos);
-              break;
-           case EDJE_PART_TYPE_TEXT:
-              p3->type.text.size = INTP(p1->type.text.size, p2->type.text.size, pos);
-           case EDJE_PART_TYPE_TEXTBLOCK:
-              p3->type.text.color2.r = INTP(p1->type.text.color2.r, p2->type.text.color2.r, pos2);
-              p3->type.text.color2.g = INTP(p1->type.text.color2.g, p2->type.text.color2.g, pos2);
-              p3->type.text.color2.b = INTP(p1->type.text.color2.b, p2->type.text.color2.b, pos2);
-              p3->type.text.color2.a = INTP(p1->type.text.color2.a, p2->type.text.color2.a, pos2);
-
-              p3->type.text.color3.r = INTP(p1->type.text.color3.r, p2->type.text.color3.r, pos2);
-              p3->type.text.color3.g = INTP(p1->type.text.color3.g, p2->type.text.color3.g, pos2);
-              p3->type.text.color3.b = INTP(p1->type.text.color3.b, p2->type.text.color3.b, pos2);
-              p3->type.text.color3.a = INTP(p1->type.text.color3.a, p2->type.text.color3.a, pos2);
-
-              p3->type.text.align.x = FFP(p1->type.text.align.x, p2->type.text.align.x, pos);
-              p3->type.text.align.y = FFP(p1->type.text.align.y, p2->type.text.align.y, pos);
-              p3->type.text.elipsis = TO_DOUBLE(FINTP(p1->type.text.elipsis, p2->type.text.elipsis, pos2));
-              break;
-          }
-
-        p3->mapped = p1->mapped;
-        p3->persp_on = p3->mapped ? p1->persp_on | p2->persp_on : 0;
-        p3->lighted = p3->mapped ? p1->lighted | p2->lighted : 0;
-        if (p1->mapped)
-          {
-             p3->map.center.x = INTP(p1->map.center.x, p2->map.center.x, pos);
-             p3->map.center.y = INTP(p1->map.center.y, p2->map.center.y, pos);
-             p3->map.center.z = INTP(p1->map.center.z, p2->map.center.z, pos);
-             p3->map.rotation.x = FFP(p1->map.rotation.x, p2->map.rotation.x, pos);
-             p3->map.rotation.y = FFP(p1->map.rotation.y, p2->map.rotation.y, pos);
-             p3->map.rotation.z = FFP(p1->map.rotation.z, p2->map.rotation.z, pos);
-
-#define MIX(P1, P2, P3, pos, info)              \
-             P3->info = P1->info + TO_INT(SCALE(pos, P2->info - P1->info));
-
-             if (p1->lighted && p2->lighted)
-               {
-                  MIX(p1, p2, p3, pos, map.light.x);
-                  MIX(p1, p2, p3, pos, map.light.y);
-                  MIX(p1, p2, p3, pos, map.light.z);
-                  MIX(p1, p2, p3, pos, map.light.r);
-                  MIX(p1, p2, p3, pos, map.light.g);
-                  MIX(p1, p2, p3, pos, map.light.b);
-                  MIX(p1, p2, p3, pos, map.light.ar);
-                  MIX(p1, p2, p3, pos, map.light.ag);
-                  MIX(p1, p2, p3, pos, map.light.ab);
-               }
-             else if (p1->lighted)
-               {
-                  memcpy(&p3->map.light, &p1->map.light, sizeof (p1->map.light));
-               }
-             else if (p2->lighted)
-               {
-                  memcpy(&p3->map.light, &p2->map.light, sizeof (p2->map.light));
-               }
-
-             if (p1->persp_on && p2->persp_on)
-               {
-                  MIX(p1, p2, p3, pos, map.persp.x);
-                  MIX(p1, p2, p3, pos, map.persp.y);
-                  MIX(p1, p2, p3, pos, map.persp.z);
-                  MIX(p1, p2, p3, pos, map.persp.focal);
-               }
-             else if (p1->persp_on)
-               {
-                  memcpy(&p3->map.persp, &p1->map.persp, sizeof (p1->map.persp));
-               }
-             else if (p2->persp_on)
-               {
-                  memcpy(&p3->map.persp, &p2->map.persp, sizeof (p2->map.persp));
-               }
-          }
-
-        pf = p3;
-     }
-   else
-     {
-        pf = p1;
-     }
-
-   if (!pf->persp_on && chosen_desc->map.persp_on)
-     {
-        if (ed->persp)
-          {
-             pf->map.persp.x = ed->persp->px;
-             pf->map.persp.y = ed->persp->py;
-             pf->map.persp.z = ed->persp->z0;
-             pf->map.persp.focal = ed->persp->foc;
-          }
-        else
-          {
-             const Edje_Perspective *ps;
-
-             // fixme: a tad inefficient as this is a has lookup
-             ps = edje_object_perspective_get(ed->obj);
-             if (!ps)
-               ps = edje_evas_global_perspective_get(evas_object_evas_get(ed->obj));
-             if (ps)
-               {
-                  pf->map.persp.x = ps->px;
-                  pf->map.persp.y = ps->py;
-                  pf->map.persp.z = ps->z0;
-                  pf->map.persp.focal = ps->foc;
-               }
-             else
-               {
-                  pf->map.persp.x = ed->x + (ed->w / 2);
-                  pf->map.persp.y = ed->y + (ed->h / 2);
-                  pf->map.persp.z = 0;
-                  pf->map.persp.focal = 1000;
-               }
-          }
-     }
-
-   if (state)
-     {
-        memcpy(state, pf, sizeof (Edje_Calc_Params));
-     }
-
-   ep->req = pf->req;
-
-   if (ep->drag && ep->drag->need_reset)
-     {
-        FLOAT_T dx, dy;
-
-        dx = ZERO;
-        dy = ZERO;
-        _edje_part_dragable_calc(ed, ep, &dx, &dy);
-        ep->drag->x = dx;
-        ep->drag->y = dy;
-        ep->drag->tmp.x = 0;
-        ep->drag->tmp.y = 0;
-        ep->drag->need_reset = 0;
-     }
-   if (!ed->calc_only)
-     {
-        Evas_Object *mo;
-
-        /* Common move, resize and color_set for all part. */
-        switch (ep->part->type)
-          {
-           case EDJE_PART_TYPE_IMAGE:
-                {
-                   Edje_Part_Description_Image *img_desc = (Edje_Part_Description_Image*) chosen_desc;
-
-                   evas_object_image_scale_hint_set(ep->object,
-                                                    img_desc->image.scale_hint);
-                }
-           case EDJE_PART_TYPE_PROXY:
-           case EDJE_PART_TYPE_RECTANGLE:
-           case EDJE_PART_TYPE_TEXTBLOCK:
-           case EDJE_PART_TYPE_BOX:
-           case EDJE_PART_TYPE_TABLE:
-              evas_object_color_set(ep->object,
-                                    (pf->color.r * pf->color.a) / 255,
-                                    (pf->color.g * pf->color.a) / 255,
-                                    (pf->color.b * pf->color.a) / 255,
-                                    pf->color.a);
-
-#ifdef HAVE_EPHYSICS
-/* body attributes should be updated for invisible objects */
-              if (!ep->part->physics_body)
-                {
-                   if (!pf->visible)
-                     {
-                        evas_object_hide(ep->object);
-                        break;
-                     }
-                   evas_object_show(ep->object);
-                }
-              else if (!pf->visible)
-                {
-                   Evas_Object *face_obj;
-                   Eina_List *l;
-
-                   EINA_LIST_FOREACH(ep->body_faces, l, face_obj)
-                      evas_object_hide(face_obj);
-                   evas_object_hide(ep->object);
-                }
-#else
-              if (!pf->visible)
-                {
-                   evas_object_hide(ep->object);
-                   break;
-                }
-              evas_object_show(ep->object);
-#endif
-              /* move and resize are needed for all previous object => no break here. */
-           case EDJE_PART_TYPE_SWALLOW:
-           case EDJE_PART_TYPE_GROUP:
-           case EDJE_PART_TYPE_EXTERNAL:
-              /* visibility and color have no meaning on SWALLOW and GROUP part. */
-#ifdef HAVE_EPHYSICS
-              eo_do(ep->object,
-                    evas_obj_size_set(pf->w, pf->h));
-              if ((ep->part->physics_body) && (!ep->body))
-                {
-                   if (_edje_physics_world_geometry_check(ep->edje->world))
-                     {
-                        _edje_physics_body_add(ep, ep->edje->world);
-                        _edje_physics_body_props_update(ep, pf, EINA_TRUE);
-                     }
-                }
-              else if (ep->body)
-                {
-                   if (((ep->prev_description) &&
-                        (chosen_desc != ep->prev_description)) ||
-                       (pf != p1))
-                     _edje_physics_body_props_update(
-                        ep, pf, !pf->physics.ignore_part_pos);
-                }
-              else
-                eo_do(ep->object,
-                      evas_obj_position_set(ed->x + pf->x, ed->y + pf->y));
-#else
-             eo_do(ep->object,
-                    evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
-                   evas_obj_size_set(pf->w, pf->h));
-#endif
-
-              if (ep->nested_smart)
-                {  /* Move, Resize all nested parts */
-                   /* Not really needed but will improve the bounding box evaluation done by Evas */
-                  eo_do(ep->nested_smart,
-                        evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
-                        evas_obj_size_set(pf->w, pf->h));
-                }
-              if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-                _edje_entry_real_part_configure(ep);
-              break;
-           case EDJE_PART_TYPE_TEXT:
-              /* This is correctly handle in _edje_text_recalc_apply at the moment. */
-              break;
-           case EDJE_PART_TYPE_GRADIENT:
-              /* FIXME: definitivly remove this code when we switch to new format. */
-              abort();
-              break;
-           case EDJE_PART_TYPE_SPACER:
-              /* We really should do nothing on SPACER part */
-              break;
-          }
-
-        /* Some object need special recalc. */
-        switch (ep->part->type)
-          {
-           case EDJE_PART_TYPE_TEXT:
-              _edje_text_recalc_apply(ed, ep, pf, (Edje_Part_Description_Text*) chosen_desc);
-              break;
-           case EDJE_PART_TYPE_PROXY:
-              _edje_proxy_recalc_apply(ed, ep, pf, (Edje_Part_Description_Proxy*) chosen_desc, pos);
-              break;
-           case EDJE_PART_TYPE_IMAGE:
-              _edje_image_recalc_apply(ed, ep, pf, (Edje_Part_Description_Image*) chosen_desc, pos);
-              break;
-           case EDJE_PART_TYPE_BOX:
-              _edje_box_recalc_apply(ed, ep, pf, (Edje_Part_Description_Box*) chosen_desc);
-              break;
-           case EDJE_PART_TYPE_TABLE:
-              _edje_table_recalc_apply(ed, ep, pf, (Edje_Part_Description_Table*) chosen_desc);
-              break;
-           case EDJE_PART_TYPE_TEXTBLOCK:
-              _edje_textblock_recalc_apply(ed, ep, pf, (Edje_Part_Description_Text*) chosen_desc);
-              break;
-           case EDJE_PART_TYPE_EXTERNAL:
-           case EDJE_PART_TYPE_RECTANGLE:
-           case EDJE_PART_TYPE_SWALLOW:
-           case EDJE_PART_TYPE_GROUP:
-              /* Nothing special to do for this type of object. */
-              break;
-           case EDJE_PART_TYPE_GRADIENT:
-              /* FIXME: definitivly remove this code when we switch to new format. */
-              abort();
-              break;
-           case EDJE_PART_TYPE_SPACER:
-              /* We really should do nothing on SPACER part */
-              break;
-          }
-
-        if (((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-             (ep->typedata.swallow)) &&
-            (ep->typedata.swallow->swallowed_object))
-          {
-             //// the below really is wrong - swallow color shouldn't affect swallowed object
-             //// color - the edje color as a WHOLE should though - and that should be
-             //// done via the clipper anyway. this created bugs when objects had their
-             //// colro set and were swallowed - then had their color changed.
-             //             evas_object_color_set(ep->typedata.swallow->swallowed_object,
-             //                                   (pf->color.r * pf->color.a) / 255,
-             //                                   (pf->color.g * pf->color.a) / 255,
-             //                                   (pf->color.b * pf->color.a) / 255,
-             //                                   pf->color.a);
-             if (pf->visible)
-               {
-                 eo_do(ep->typedata.swallow->swallowed_object,
-                       evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
-                       evas_obj_size_set(pf->w, pf->h),
-                       evas_obj_visibility_set(EINA_TRUE));
-               }
-             else evas_object_hide(ep->typedata.swallow->swallowed_object);
-             mo = ep->typedata.swallow->swallowed_object;
-          }
-        else mo = ep->object;
-        if (chosen_desc->map.on && ep->part->type != EDJE_PART_TYPE_SPACER)
-          {
-             static Evas_Map *map = NULL;
-
-             ed->have_mapped_part = EINA_TRUE;
-             // create map and populate with part geometry
-             if (!map) map = evas_map_new(4);
-             evas_map_util_points_populate_from_object(map, ep->object);
-             if (ep->part->type == EDJE_PART_TYPE_IMAGE ||
-                 ((ep->part->type == EDJE_PART_TYPE_SWALLOW) &&
-                  (!strcmp(evas_object_type_get(mo), "image") &&
-                  (!evas_object_image_source_get(mo))))
-                )
-               {
-                  int iw = 1, ih = 1;
-
-                  evas_object_image_size_get(mo, &iw, &ih);
-                  evas_map_point_image_uv_set(map, 0, 0.0, 0.0);
-                  evas_map_point_image_uv_set(map, 1, iw , 0.0);
-                  evas_map_point_image_uv_set(map, 2, iw , ih );
-                  evas_map_point_image_uv_set(map, 3, 0.0, ih );
-               }
-             evas_map_util_3d_rotate(map,
-                                     TO_DOUBLE(pf->map.rotation.x),
-                                     TO_DOUBLE(pf->map.rotation.y),
-                                     TO_DOUBLE(pf->map.rotation.z),
-                                     pf->map.center.x, pf->map.center.y,
-                                     pf->map.center.z);
-
-             // calculate light color & position etc. if there is one
-             if (pf->lighted)
-               {
-                  evas_map_util_3d_lighting(map,
-                                            pf->map.light.x, pf->map.light.y, pf->map.light.z,
-                                            pf->map.light.r, pf->map.light.g, pf->map.light.b,
-                                            pf->map.light.ar, pf->map.light.ag, pf->map.light.ab);
-               }
-
-             // calculate perspective point
-             if (chosen_desc->map.persp_on)
-               {
-                  evas_map_util_3d_perspective(map,
-                                               pf->map.persp.x, pf->map.persp.y, pf->map.persp.z,
-                                               pf->map.persp.focal);
-               }
-
-             // handle backface culling (object is facing away from view
-             if (chosen_desc->map.backcull)
-               {
-                  if (pf->visible)
-                    {
-                       if (evas_map_util_clockwise_get(map))
-                         evas_object_show(mo);
-                       else evas_object_hide(mo);
-                    }
-               }
-
-             // handle smooth
-             if (chosen_desc->map.smooth) evas_map_smooth_set(map, 1);
-             else evas_map_smooth_set(map, 0);
-             // handle alpha
-             if (chosen_desc->map.alpha) evas_map_alpha_set(map, 1);
-             else evas_map_alpha_set(map, 0);
-
-
-             if (ep->nested_smart)
-               {  /* Apply map to smart obj holding nested parts */
-                 eo_do(ep->nested_smart,
-                       evas_obj_map_set(map),
-                       evas_obj_map_enable_set(1));
-               }
-             else
-               {
-                  if (mo)
-                    eo_do(mo,
-                          evas_obj_map_set(map),
-                          evas_obj_map_enable_set(1));
-               }
-          }
-        else
-          {
-             if (ep->nested_smart)
-               {  /* Cancel map of smart obj holding nested parts */
-                 eo_do(ep->nested_smart,
-                       evas_obj_map_enable_set(0),
-                       evas_obj_map_set(NULL));
-               }
-             else
-               {
-#ifdef HAVE_EPHYSICS
-                  if (!ep->body)
-                    {
-#endif
-                       if (mo)
-                         eo_do(mo,
-                               evas_obj_map_enable_set(0),
-                               evas_obj_map_set(NULL));
-#ifdef HAVE_EPHYSICS
-                    }
-#endif
-               }
-          }
-     }
-
-#ifdef HAVE_EPHYSICS
-   ep->prev_description = chosen_desc;
-   if (!ep->body)
-     {
-#endif
-   ep->x = pf->x;
-   ep->y = pf->y;
-   ep->w = pf->w;
-   ep->h = pf->h;
-#ifdef HAVE_EPHYSICS
-     }
-#endif
-
-   ep->calculated |= flags;
-   ep->calculating = FLAG_NONE;
-
-#ifdef EDJE_CALC_CACHE
-   if (ep->calculated == FLAG_XY)
-     {
-        ep->state = ed->state;
-        ep->invalidate = 0;
-     }
-#endif
-}
diff --git a/legacy/edje/src/lib/edje_callbacks.c b/legacy/edje/src/lib/edje_callbacks.c
deleted file mode 100644 (file)
index 9457244..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-#include "edje_private.h"
-
-static void
-_edje_hold_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Hold *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if (!rp) return;
-   if (ev->hold)
-     _edje_emit(ed, "hold,on", rp->part->name);
-   else
-     _edje_emit(ed, "hold,off", rp->part->name);
-}
-
-static void
-_edje_focus_in_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
-{
-   Edje *ed;
-   Edje_Real_Part *rp;
-
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if ((!rp) || (!ed))
-     return;
-
-   _edje_emit(ed, "focus,part,in", rp->part->name);
-}
-
-static void
-_edje_focus_out_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
-{
-   Edje *ed;
-   Edje_Real_Part *rp;
-
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if ((!rp) || (!ed))
-     return;
-
-   _edje_emit(ed, "focus,part,out", rp->part->name);
-}
-
-static void
-_edje_mouse_in_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_In *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if ((!rp) ||
-       ((ev->event_flags) &&
-       (rp->part->ignore_flags & ev->event_flags))) return;
-   _edje_emit(ed, "mouse,in", rp->part->name);
-}
-
-static void
-_edje_mouse_out_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Out *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if ((!rp) ||
-       ((ev->event_flags) &&
-       (rp->part->ignore_flags & ev->event_flags))) return;
-   _edje_emit(ed, "mouse,out", rp->part->name);
-}
-
-static void
-_edje_mouse_down_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Down *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-   char buf[256];
-   int ignored;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if (!rp) return;
-
-   ignored = rp->part->ignore_flags & ev->event_flags;
-
-   _edje_ref(ed);
-   _edje_freeze(ed);
-
-   if ((!ev->event_flags) || (!ignored))
-     {
-       if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
-         snprintf(buf, sizeof(buf), "mouse,down,%i,triple", ev->button);
-       else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
-         snprintf(buf, sizeof(buf), "mouse,down,%i,double", ev->button);
-       else
-         snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
-       _edje_emit(ed, buf, rp->part->name);
-     }
-
-   if (rp->events_to)
-     {
-        rp = rp->events_to;
-        if (!ignored)
-          {
-             snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
-             _edje_emit(ed, buf, rp->part->name);
-          }
-     }
-
-   if (rp->drag)
-     {
-       if (rp->drag->down.count == 0)
-         {
-            if (rp->part->dragable.x)
-              rp->drag->down.x = ev->canvas.x;
-            if (rp->part->dragable.y)
-              rp->drag->down.y = ev->canvas.y;
-            if (!ignored)
-              _edje_emit(ed, "drag,start", rp->part->name);
-         }
-       rp->drag->down.count++;
-     }
-
-   if (rp->clicked_button == 0)
-     {
-       rp->clicked_button = ev->button;
-        if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
-         rp->still_in = 1;
-     }
-//   _edje_recalc_do(ed);
-   _edje_thaw(ed);
-   _edje_unref(ed);
-}
-
-static void
-_edje_mouse_up_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Up *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-   char buf[256];
-   int ignored;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if (!rp) return;
-
-   ignored = rp->part->ignore_flags & ev->event_flags;
-
-   _edje_ref(ed);
-   _edje_freeze(ed);
-
-   if ((!ev->event_flags) || (!ignored))
-     {
-       snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
-       _edje_emit(ed, buf, rp->part->name);
-     }
-
-   if (rp->events_to)
-     {
-       rp = rp->events_to;
-       if (!ignored)
-         {
-            snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
-            _edje_emit(ed, buf, rp->part->name);
-         }
-     }
-
-   if (rp->drag)
-     {
-       if (rp->drag->down.count > 0)
-         {
-            rp->drag->down.count--;
-            if (rp->drag->down.count == 0)
-              {
-                 rp->drag->need_reset = 1;
-                  ed->recalc_call = EINA_TRUE;
-                 ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 if (!ignored)
-                   _edje_emit(ed, "drag,stop", rp->part->name);
-              }
-         }
-     }
-
-   if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
-     {
-       snprintf(buf, sizeof(buf), "mouse,clicked,%i", ev->button);
-       _edje_emit(ed, buf, rp->part->name);
-     }
-   rp->clicked_button = 0;
-   rp->still_in = 0;
-
-//   _edje_recalc_do(ed);
-   _edje_thaw(ed);
-   _edje_unref(ed);
-}
-
-static void
-_edje_mouse_move_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Move *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-   int ignored;
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if (!rp) return;
-   if (rp->events_to) rp = rp->events_to;
-
-   ignored = rp->part->ignore_flags & ev->event_flags;
-
-   _edje_ref(ed);
-   if ((!ev->event_flags) || (!ignored))
-     _edje_emit(ed, "mouse,move", rp->part->name);
-
-   if (rp->still_in)
-     {
-
-        if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
-          rp->still_in = 0;
-        else
-          {
-            Evas_Coord x, y, w, h;
-            
-            evas_object_geometry_get(obj, &x, &y, &w, &h);
-            if ((ev->cur.canvas.x < x) || (ev->cur.canvas.y < y) ||
-                (ev->cur.canvas.x >= (x + w)) || (ev->cur.canvas.y >= (y + h)))
-              rp->still_in = 0;
-          }
-     }
-   else
-     {
-        if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
-          {
-            Evas_Coord x, y, w, h;
-
-            evas_object_geometry_get(obj, &x, &y, &w, &h);
-            if ((ev->cur.canvas.x >= x) && (ev->cur.canvas.y >= y) &&
-                (ev->cur.canvas.x < (x + w)) && (ev->cur.canvas.y < (y + h)))
-              rp->still_in = 1;
-          }
-     }
-   _edje_freeze(ed);
-   if (rp->drag)
-     {
-       if (rp->drag->down.count > 0)
-         {
-            if (rp->part->dragable.x)
-              rp->drag->tmp.x = ev->cur.canvas.x - rp->drag->down.x;
-            if (rp->part->dragable.y)
-              rp->drag->tmp.y = ev->cur.canvas.y - rp->drag->down.y;
-             ed->recalc_call = EINA_TRUE;
-            ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-            rp->invalidate = 1;
-#endif
-         }
-       _edje_recalc_do(ed);
-
-       if (rp->drag->down.count > 0)
-         {
-            FLOAT_T dx, dy;
-
-            _edje_part_dragable_calc(ed, rp, &dx, &dy);
-            if ((dx != rp->drag->val.x) || (dy != rp->drag->val.y))
-              {
-                 rp->drag->val.x = dx;
-                 rp->drag->val.y = dy;
-                 if (!ignored)
-                   _edje_emit(ed, "drag", rp->part->name);
-                  ed->recalc_call = EINA_TRUE;
-                 ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 _edje_recalc_do(ed);
-              }
-         }
-     }
-   _edje_unref(ed);
-   _edje_thaw(ed);
-}
-
-static void
-_edje_mouse_wheel_signal_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Wheel *ev;
-   Edje *ed;
-   Edje_Real_Part *rp;
-   char buf[256];
-
-   ev = event_info;
-   ed = data;
-   rp = evas_object_data_get(obj, "real_part");
-   if ((!rp) || 
-       ((ev->event_flags) && 
-       (!(rp->part->ignore_flags & ev->event_flags)))) return;
-
-   snprintf(buf, sizeof(buf), "mouse,wheel,%i,%i", ev->direction, (ev->z < 0) ? (-1) : (1));
-   _edje_emit(ed, buf, rp->part->name);
-}
-
-Eina_Bool
-_edje_timer_cb(void *data __UNUSED__)
-{
-   double t;
-   Eina_List *l;
-   Eina_List *animl = NULL;
-   Edje *ed;
-
-   t = ecore_loop_time_get();
-   EINA_LIST_FOREACH(_edje_animators, l, ed)
-     {
-       _edje_ref(ed);
-       animl = eina_list_append(animl, ed);
-     }
-   while (animl)
-     {
-       Eina_List *newl = NULL;
-
-       ed = eina_list_data_get(animl);
-       _edje_block(ed);
-       _edje_freeze(ed);
-       animl = eina_list_remove(animl, eina_list_data_get(animl));
-       if ((!ed->paused) && (!ed->delete_me))
-         {
-            const void *tmp;
-
-            ed->walking_actions = EINA_TRUE;
-            EINA_LIST_FOREACH(ed->actions, l, tmp)
-              newl = eina_list_append(newl, tmp);
-            while (newl)
-              {
-                 Edje_Running_Program *runp;
-
-                 runp = eina_list_data_get(newl);
-                 newl = eina_list_remove(newl, eina_list_data_get(newl));
-                 if (!runp->delete_me)
-                   _edje_program_run_iterate(runp, t);
-                 if (_edje_block_break(ed))
-                   {
-                      eina_list_free(newl);
-                      newl = NULL;
-                      goto break_prog;
-                   }
-              }
-            EINA_LIST_FOREACH(ed->actions, l, tmp)
-              newl = eina_list_append(newl, tmp);
-            while (newl)
-              {
-                 Edje_Running_Program *runp;
-
-                 runp = eina_list_data_get(newl);
-                 newl = eina_list_remove(newl, eina_list_data_get(newl));
-                 if (runp->delete_me)
-                   {
-                      _edje_anim_count--;
-                      runp->edje->actions =
-                        eina_list_remove(runp->edje->actions, runp);
-                      if (!runp->edje->actions)
-                        _edje_animators =
-                        eina_list_remove(_edje_animators, runp->edje);
-                      free(runp);
-                   }
-              }
-            ed->walking_actions = EINA_FALSE;
-         }
-       break_prog:
-       _edje_unblock(ed);
-       _edje_thaw(ed);
-       _edje_unref(ed);
-     }
-   if (_edje_anim_count > 0) return ECORE_CALLBACK_RENEW;
-   _edje_timer = NULL;
-   return ECORE_CALLBACK_CANCEL;
-}
-
-Eina_Bool
-_edje_pending_timer_cb(void *data)
-{
-   Edje_Pending_Program *pp;
-
-   pp = data;
-   pp->edje->pending_actions = eina_list_remove(pp->edje->pending_actions, pp);
-   _edje_program_run(pp->edje, pp->program, 1, "", "");
-   free(pp);
-   return ECORE_CALLBACK_CANCEL;
-}
-
-void
-_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
-{
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_HOLD,
-                                  _edje_hold_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_IN,
-                                  _edje_mouse_in_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_OUT,
-                                  _edje_mouse_out_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_DOWN,
-                                  _edje_mouse_down_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_UP,
-                                  _edje_mouse_up_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_MOVE,
-                                  _edje_mouse_move_signal_cb,
-                                  ed);
-   evas_object_event_callback_add(obj,
-                                  EVAS_CALLBACK_MOUSE_WHEEL,
-                                  _edje_mouse_wheel_signal_cb,
-                                  ed);
-   evas_object_data_set(obj, "real_part", rp);
-}
-
-void
-_edje_callbacks_del(Evas_Object *obj, Edje *ed)
-{
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_HOLD,
-                                      _edje_hold_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_IN,
-                                      _edje_mouse_in_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_OUT,
-                                      _edje_mouse_out_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_DOWN,
-                                      _edje_mouse_down_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_UP,
-                                      _edje_mouse_up_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_MOVE,
-                                      _edje_mouse_move_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_MOUSE_WHEEL,
-                                      _edje_mouse_wheel_signal_cb,
-                                      ed);
-   evas_object_data_del(obj, "real_part");
-}
-
-void
-_edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
-{
-   evas_object_event_callback_add(obj,
-                                 EVAS_CALLBACK_FOCUS_IN,
-                                 _edje_focus_in_signal_cb,
-                                 ed);
-   evas_object_event_callback_add(obj,
-                                 EVAS_CALLBACK_FOCUS_OUT,
-                                 _edje_focus_out_signal_cb,
-                                 ed);
-   evas_object_data_set(obj, "real_part", rp);
-}
-
-void
-_edje_callbacks_focus_del(Evas_Object *obj, Edje *ed)
-{
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_FOCUS_IN,
-                                      _edje_focus_in_signal_cb,
-                                      ed);
-   evas_object_event_callback_del_full(obj,
-                                      EVAS_CALLBACK_FOCUS_OUT,
-                                      _edje_focus_out_signal_cb,
-                                      ed);
-}
diff --git a/legacy/edje/src/lib/edje_container.c b/legacy/edje/src/lib/edje_container.c
deleted file mode 100644 (file)
index 8a9ff71..0000000
+++ /dev/null
@@ -1,955 +0,0 @@
-#include "edje_private.h"
-#include "edje_container.h"
-
-#if 0
-
-static void
-_edje_container_relayout(Smart_Data *sd)
-{
-   Eina_List *l;
-   Evas_Coord x, y, w, h, sw;
-   Edje_Item *ei;
-
-   if (sd->freeze > 0) return;
-   if (!sd->need_layout) return;
-
-   if (sd->w < sd->min_w) sw = sd->min_w;
-   else if (sd->w > sd->max_w) sw = sd->max_w;
-   else sw = sd->w;
-
-   y = 0;
-   x = 0;
-   w = 0;
-   h = 0;
-
-   EINA_LIST_FOREACH(sd->children, l, ei)
-     {
-       if (sd->homogenous) h = sd->min_row_h;
-
-       ei->y = y;
-       ei->h = h;
-//     ei->w = w;
-//     ei->h = h;
-     }
-
-   sd->need_layout = 0;
-}
-
-static void
-_edje_container_recalc(Smart_Data *sd)
-{
-   Eina_List *l;
-   Edje_Item *ei;
-   int any_max_h = 0, any_max_w = 0;
-   int i;
-
-   if (sd->freeze > 0) return;
-   if (!sd->changed) return;
-
-   sd->min_h = 0;
-   sd->max_h = -1;
-   sd->min_w = 0;
-   sd->max_w = -1;
-   sd->min_row_h = 0;
-   sd->max_row_h = -1;
-   sd->contents_h = 0;
-   sd->contents_w = 0;
-
-   for (i = 0; i < sd->cols; i++)
-     {
-       sd->min_w += sd->colinfo[i].minw;
-       if (sd->colinfo[i].maxw >= 0)
-         {
-            if (sd->max_w >= 0)
-              sd->max_w += sd->colinfo[i].maxw;
-            else
-              sd->max_w = sd->colinfo[i].maxw;
-         }
-       else
-         any_max_w = 1;
-     }
-   if (any_max_w) sd->max_w = -1;
-
-   if (sd->w < sd->min_w)
-     sd->contents_w = sd->min_w;
-   else if ((sd->max_w >= 0) && (sd->w < sd->max_w))
-     sd->w = sd->max_w;
-
-   EINA_LIST_FOREACH(sd->children, l, ei)
-     {
-       if (ei->minh > sd->min_row_h)
-         sd->min_row_h = ei->minh;
-       if (sd->max_row_h >= 0)
-         {
-            if (ei->maxh >= 0)
-              {
-                 if (sd->max_row_h > ei->maxh)
-                   sd->max_row_h = ei->maxh;
-              }
-            else
-              any_max_h = 1;
-         }
-       sd->min_h += ei->minh;
-       if (ei->maxh >= 0)
-         {
-            if (sd->max_h >= 0)
-              sd->max_h += ei->maxh;
-            else
-              sd->max_h = ei->maxh;
-         }
-       else
-         any_max_h = 1;
-     }
-   if (any_max_h)
-     {
-       sd->max_h = -1;
-       sd->max_row_h = -1;
-     }
-   if (sd->homogenous)
-     {
-       sd->min_h = eina_list_count(sd->children) * sd->min_row_h;
-     }
-
-   sd->changed = 0;
-   sd->change_child = 0;
-   sd->change_child_list = 0;
-   sd->change_cols = 0;
-
-   sd->need_layout = 1;
-   _edje_container_relayout(sd);
-}
-
-static void
-_edje_item_recalc(Edje_Item *ei)
-{
-   int i;
-
-   if (ei->freeze > 0) return;
-   if (!ei->recalc) return;
-   if (!ei->sd) return;
-
-   ei->minh = 0;
-   ei->maxh = -1;
-   for (i = 0; i < ((Smart_Data *)(ei->sd))->cols; i++)
-     {
-       if (ei->cells[i].minh > ei->minh) ei->minh = ei->cells[i].minh;
-       if (ei->cells[i].maxh >= 0)
-         {
-            if (ei->maxh >= 0)
-              {
-                 if (ei->cells[i].maxh < ei->maxh)
-                   ei->maxh = ei->cells[i].maxh;
-              }
-            else
-              ei->maxh = ei->cells[i].maxh;
-         }
-       if (((Smart_Data *)(ei->sd))->colinfo[i].minw < ei->cells[i].minw)
-         ((Smart_Data *)(ei->sd))->colinfo[i].minw = ei->cells[i].minw;
-       if (((Smart_Data *)(ei->sd))->colinfo[i].maxw >= 0)
-         {
-            if (ei->cells[i].maxw >= 0)
-              {
-                 if (((Smart_Data *)(ei->sd))->colinfo[i].maxw > ei->cells[i].maxw)
-                   ((Smart_Data *)(ei->sd))->colinfo[i].maxw = ei->cells[i].maxw;
-              }
-         }
-       else
-         ((Smart_Data *)(ei->sd))->colinfo[i].maxw = ei->cells[i].maxw;
-     }
-
-   ei->recalc = EINA_FALSE;
-
-   _edje_container_recalc(ei->sd);
-}
-
-
-/*****************************/
-/**
- * @endcond
- */
-
-/*============================================================================*
- *                                 Global                                     *
- *============================================================================*/
-
-/*============================================================================*
- *                                   API                                      *
- *============================================================================*/
-
-/**
- * @addtogroup Edje_container_Group Container
- *
- * @brief These functions provides an abstraction layer between the application
- * code and the interface, while allowing extremely flexible dynamic layouts
- * and animations.
- *
- * For more information, you can look at the @ref tutorial_list_page.
- *
- * @{
- */
-
-/**
- * @brief Create an edje item.
- *
- * @param cl The edje item of type Edje_Item_Class.
- * @param data The edje item data.
- *
- * @return The new edje item created.
- *
- * This function creates an new edje item. The edje item data can be
- * retrieved with edje_item_data_get().
- *
- * @see edje_item_del()
- * @see edje_item_data_set()
- * @see edje_item_data_get()
- *
- */
-
-Edje_Item *
-edje_item_add(Edje_Item_Class *cl, void *data)
-{
-   Edje_Item *ei;
-
-   ei = calloc(sizeof(Edje_Item), 1);
-
-   ei->class = cl;
-   ei->class_data = data;
-
-   return ei;
-}
-
-/**
- * @brief Delete an edje item.
- *
- * @param ei The edje item to be deleted.
- *
- * This function deletes the edje item from memory.
- *
- * @see edje_item_add()
- * @see edje_item_data_set()
- * @see edje_item_data_get()
- *
- */
-
-void
-edje_item_del(Edje_Item *ei)
-{
-   Smart_Data *sd;
-
-   sd = ei->sd;
-   if (ei->object) evas_object_del(ei->object);
-   if (ei->overlay_object) evas_object_del(ei->overlay_object);
-   free(ei);
-   if (!sd) return;
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   _edje_container_recalc(sd);
-}
-
-/**
- * @brief Return the smart object of the edje item.
- *
- * @param ei The edje item which the smart object of type Evas_Object is get
- * from.
- *
- * This function returns the smart object in the edje item.
- *
- */
-
-Evas_Object *
-edje_item_container_get(Edje_Item *ei)
-{
-   if (!ei->sd) return NULL;
-   return ((Smart_Data *)(ei->sd))->smart_obj;
-}
-
-/* an arbitrary data pointer to use to track other data */
-/**
- * @brief Set the edje item data.
- *
- * @param ei The edje item of type Edje_Item_Class.
- * @param data The edje item data.
- *
- * This function set the data of the edje item. The edje item data can be
- * retrieved with edje_item_data_get().
- *
- * @see edje_item_add()
- * @see edje_item_del()
- * @see edje_item_data_get()
- *
- */
-
-void
-edje_item_data_set(Edje_Item *ei, void *data)
-{
-   ei->data = data;
-}
-
-/**
- * @brief Get the data of the edje item.
- *
- * @param ei The edje item of type Edje_Item_Class.
- *
- * This function get the data of the edje item set by edje_item_data_set().
- *
- * @see edje_item_data_set()
- * @see edje_item_add()
- * @see edje_item_del()
- *
- */
-
-void *
-edje_item_data_get(Edje_Item *ei)
-{
-   return ei->data;
-}
-
-/* this object covers the entire item */
-
-void
-edje_item_overlay_object_set(Edje_Item *ei, Evas_Object *obj)
-{
-   if (ei->overlay_object)
-     {
-       /* FIXME: if it changed - remove...*/
-     }
-   ei->overlay_object = obj;
-   if (ei->sd)
-     evas_object_smart_member_add(((Smart_Data *)(ei->sd))->smart_obj, obj);
-}
-
-
-
-Evas_Object *
-edje_item_overlay_object_get(Edje_Item *ei)
-{
-   return ei->overlay_object;
-}
-
-/* this object goes under entire item */
-void
-edje_item_object_set(Edje_Item *ei, Evas_Object *obj)
-{
-   if (ei->object)
-     {
-       /* FIXME: if it changed - remove...*/
-     }
-   ei->object = obj;
-   if (ei->sd)
-     evas_object_smart_member_add(((Smart_Data *)(ei->sd))->smart_obj, obj);
-}
-
-Evas_Object *
-edje_item_object_get(Edje_Item *ei)
-{
-   return ei->object;
-}
-
-/* optionally you can manage each column's object yourself OR let Edje do it */
-void
-edje_item_object_column_set(Edje_Item *ei, int col, Evas_Object *obj)
-{
-   if (ei->cells_num <= (col + 1))
-     {
-       /* FIXME: unsafe realloc */
-       ei->cells = realloc(ei->cells, sizeof(Edje_Item_Cell) * col);
-       ei->cells_num = col + 1;
-     }
-   ei->cells[col].obj = obj;
-}
-
-Evas_Object *
-edje_item_object_column_get(Edje_Item *ei, int col)
-{
-   if (ei->cells_num <= (col + 1)) return NULL;
-   return ei->cells[col].obj;
-}
-
-/* query the item for the items preferred co-ords */
-void
-edje_item_geometry_get(Edje_Item *ei, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
-   if (!ei->sd)
-     {
-       if (x) *x = 0;
-       if (y) *y = 0;
-       if (w) *w = 0;
-       if (h) *h = 0;
-       return;
-     }
-   if (x) *x = ((Smart_Data *)(ei->sd))->x;
-   if (y) *y = ((Smart_Data *)(ei->sd))->y + ei->y;
-   if (w) *w = ((Smart_Data *)(ei->sd))->w;
-   if (h) *h = ei->h;
-}
-
-/* freeze and thaw items if u are about to do a bunch of changes */
-int
-edje_item_freeze(Edje_Item *ei)
-{
-   ei->freeze++;
-   return ei->freeze;
-}
-
-int
-edje_item_thaw(Edje_Item *ei)
-{
-   ei->freeze--;
-   if (ei->freeze > 0) return ei->freeze;
-   if (!ei->sd) return ei->freeze;
-   if (ei->recalc) _edje_item_recalc(ei);
-   return ei->freeze;
-}
-
-/* column info */
-void
-edje_item_column_size_set(Edje_Item *ei, int col, Evas_Coord minw, Evas_Coord maxw, Evas_Coord minh, Evas_Coord maxh)
-{
-   if (ei->cells_num <= (col + 1))
-     {
-       /* FIXME: unsafe realloc */
-       ei->cells = realloc(ei->cells, sizeof(Edje_Item_Cell) * col);
-       ei->cells_num = col + 1;
-     }
-   if ((ei->cells[col].minw == minw) &&
-       (ei->cells[col].minh == minh) &&
-       (ei->cells[col].maxw == maxw) &&
-       (ei->cells[col].maxh == maxh)) return;
-   ei->cells[col].minh = minh;
-   ei->cells[col].maxh = maxh;
-   ei->cells[col].minw = minw;
-   ei->cells[col].maxw = maxw;
-   ei->recalc = EINA_TRUE;
-   if (ei->sd)
-     {
-       ((Smart_Data *)(ei->sd))->changed = 1;
-       ((Smart_Data *)(ei->sd))->change_child = 1;
-     }
-   _edje_item_recalc(ei);
-}
-
-void
-edje_item_column_size_get(Edje_Item *ei, int col, Evas_Coord *minw, Evas_Coord *maxw, Evas_Coord *minh, Evas_Coord *maxh)
-{
-   if (ei->cells_num <= (col + 1))
-     {
-       if (minw) *minw = 0;
-       if (minh) *minh = 0;
-       if (maxw) *maxw = -1;
-       if (maxh) *maxh = -1;
-     }
-   if (minw) *minw = ei->cells[col].minw;
-   if (minh) *minh = ei->cells[col].minh;
-   if (maxw) *maxw = ei->cells[col].maxw;
-   if (maxh) *maxh = ei->cells[col].maxh;
-}
-
-/* selection stuff */
-void
-edje_item_select(Edje_Item *ei)
-{
-   ei->selected = 1;
-   /* FIXME: trigger item to change visually */
-}
-
-void
-edje_item_unselect(Edje_Item *ei)
-{
-   ei->selected = 0;
-   /* FIXME: trigger item to change visually */
-}
-
-/* focus stuff - only 1 can be focuesd */
-void
-edje_item_focus(Edje_Item *ei)
-{
-//   ei->focused = 1;
-}
-
-void
-edje_item_unfocus(Edje_Item *ei)
-{
-//   ei->focused = 0;
-}
-
-/* disable/enable stuff - stops focus and selection working on these items */
-void
-edje_item_enable(Edje_Item *ei)
-{
-//   ei->disabled = 0;
-}
-
-void
-edje_item_disable(Edje_Item *ei)
-{
-//   ei->disabled = 1;
-}
-
-/* item utils */
-int
-edje_item_selected_get(Edje_Item *ei)
-{
-   return ei->selected;
-}
-
-int
-edje_item_focused_get(Edje_Item *ei)
-{
-   return ei->focused;
-}
-
-int
-edje_item_disabled_get(Edje_Item *ei)
-{
-   return ei->disabled;
-}
-
-/***** container calls *****/
-
-int
-edje_container_freeze(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return 0;
-   sd->freeze++;
-   return sd->freeze;
-}
-
-int
-edje_container_thaw(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return 0;
-   sd->freeze--;
-   if (sd->freeze <= 0) _edje_container_recalc(sd);
-   return sd->freeze;
-}
-
-void
-edje_container_item_append(Evas_Object *obj, Edje_Item *ei)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   sd->children = eina_list_append(sd->children, ei);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_item_prepend(Evas_Object *obj, Edje_Item *ei)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   sd->children = eina_list_prepend(sd->children, ei);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_item_append_relative(Evas_Object *obj, Edje_Item *ei, Edje_Item *rel)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   sd->children = eina_list_append_relative(sd->children, ei, rel);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_item_prepend_relative(Evas_Object *obj, Edje_Item *ei, Edje_Item *rel)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   sd->children = eina_list_prepend_relative(sd->children, ei, rel);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_item_insert(Evas_Object *obj, Edje_Item *ei, int n)
-{
-   Smart_Data *sd;
-   void *rel;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   rel = eina_list_nth(sd->children, n);
-   if (!rel)
-     sd->children = eina_list_append(sd->children, ei);
-   else
-     sd->children = eina_list_append_relative(sd->children, ei, rel);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_item_remove(Evas_Object *obj, Edje_Item *ei)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   sd->children = eina_list_remove(sd->children, ei);
-   sd->changed = 1;
-   sd->change_child_list = 1;
-   sd->rows = eina_list_count(sd->children);
-   _edje_container_recalc(sd);
-}
-
-void
-edje_container_columns_set(Evas_Object *obj, int cols)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (sd->cols == cols) return;
-   sd->colinfo = realloc(sd->colinfo, cols * sizeof(Smart_Data_Colinfo));
-   if (cols > sd->cols)
-     {
-       int i;
-
-       for (i = sd->cols; i < cols; i++)
-         {
-            sd->colinfo[i].minw = 0;
-            sd->colinfo[i].maxw = -1;
-         }
-     }
-   sd->cols = cols;
-   sd->changed = 1;
-   sd->change_cols = 1;
-   _edje_container_recalc(sd);
-}
-
-int
-edje_container_columns_get(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return 0;
-   return sd->cols;
-}
-
-void
-edje_container_min_size_get(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (sd->changed)
-     {
-       int freeze;
-
-       freeze = sd->freeze;
-       sd->freeze = 0;
-       _edje_container_recalc(sd);
-       sd->freeze = freeze;
-     }
-   if (minw) *minw = sd->min_w;
-   if (minh) *minh = sd->min_h;
-}
-
-void
-edje_container_max_size_get(Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (sd->changed)
-     {
-       int freeze;
-
-       freeze = sd->freeze;
-       sd->freeze = 0;
-       _edje_container_recalc(sd);
-       sd->freeze = freeze;
-     }
-   if (maxw) *maxw = sd->max_w;
-   if (maxh) *maxh = sd->max_h;
-}
-
-void
-edje_containter_align_set(Evas_Object *obj, double halign, double valign)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if ((sd->align_x == halign) && (sd->align_y == valign)) return;
-   sd->align_x = halign;
-   sd->align_y = valign;
-   sd->need_layout = 1;
-   _edje_container_relayout(sd);
-}
-
-void
-edje_container_align_get(Evas_Object *obj, double *halign, double *valign)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (halign) *halign = sd->align_x;
-   if (valign) *valign = sd->align_y;
-}
-
-int
-edje_container_count_get(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return 0;
-   return eina_list_count(sd->children);
-}
-
-Edje_Item *
-edje_container_item_first_get(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return NULL;
-   if (!sd->children) return NULL;
-   return eina_list_data_get(sd->children);
-}
-
-Edje_Item *
-edje_container_item_last_get(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return NULL;
-   if (!sd->children) return NULL;
-   return0 eina_list_data_get(eina_list_last(sd->children));
-}
-
-Edje_Item *
-edje_container_item_nth_get(Evas_Object *obj, int n)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return NULL;
-   return eina_list_nth(sd->children, n);
-}
-
-void
-edje_container_homogenous_size_set(Evas_Object *obj, int homog)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (((homog) && (sd->homogenous)) ||
-       ((!homog) && (!sd->homogenous))) return;
-   sd->homogenous = homog;
-   sd->changed = 1;
-   sd->change_child = 1;
-   _edje_container_recalc(sd);
-}
-
-int
-edje_container_homogenous_size_get(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return 0;
-   return sd->homogenous;
-}
-
-void
-edje_container_scroll_set(Evas_Object *obj, double pos, double shift)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if ((sd->scroll_y == pos) && (sd->scroll_x == shift)) return;
-   sd->scroll_y = pos;
-   sd->scroll_x = shift;
-   sd->need_layout = 1;
-   _edje_container_relayout(sd);
-}
-
-void
-edje_container_scroll_get(Evas_Object *obj, double *pos, double *shift)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (pos) *pos = sd->scroll_y;
-   if (shift) *shift = sd->scroll_x;
-}
-
-static void _smart_init(void);
-static void _smart_add(Evas_Object * obj);
-static void _smart_del(Evas_Object * obj);
-static void _smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y);
-static void _smart_resize(Evas_Object * obj, Evas_Coord w, Evas_Coord h);
-static void _smart_show(Evas_Object * obj);
-static void _smart_hide(Evas_Object * obj);
-static void _smart_color_set(Evas_Object * obj, int r, int g, int b, int a);
-static void _smart_clip_set(Evas_Object * obj, Evas_Object * clip);
-static void _smart_clip_unset(Evas_Object * obj);
-
-static Evas_Smart  *smart = NULL;
-
-Evas_Object *
-edje_container_object_add(Evas *evas)
-{
-   _smart_init();
-   return evas_object_smart_add(evas, smart);
-}
-
-/*******************************************/
-/* Internal smart object required routines */
-/*******************************************/
-static void
-_smart_init(void)
-{
-   if (smart) return;
-     {
-       static const Evas_Smart_Class sc =
-         {
-            E_OBJ_NAME,
-              _smart_add,
-              _smart_del,
-              _smart_move,
-              _smart_resize,
-              _smart_show,
-              _smart_hide,
-              _smart_color_set,
-              _smart_clip_set,
-              _smart_clip_unset,
-              NULL,
-              NULL,
-              NULL
-         };
-        smart = evas_smart_class_new(&sc);
-     }
-}
-
-static void
-_smart_add(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = calloc(1, sizeof(Smart_Data));
-   if (!sd) return;
-//   evas_object_smart_member_add(sd->obj, obj);
-   evas_object_smart_data_set(obj, sd);
-   sd->smart_obj = obj;
-}
-
-static void
-_smart_del(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-   if (sd->colinfo) free(sd->colinfo);
-//   evas_object_del(sd->obj);
-   free(sd);
-}
-
-static void
-_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_move(sd->obj, x, y);
-}
-
-static void
-_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_resize(sd->obj, w, h);
-}
-
-static void
-_smart_show(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_show(sd->obj);
-}
-
-static void
-_smart_hide(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_hide(sd->obj);
-}
-
-static void
-_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_color_set(sd->obj, r, g, b, a);
-}
-
-static void
-_smart_clip_set(Evas_Object *obj, Evas_Object *clip)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_clip_set(sd->obj, clip);
-}
-
-static void
-_smart_clip_unset(Evas_Object *obj)
-{
-   Smart_Data *sd;
-
-   sd = evas_object_smart_data_get(obj);
-   if (!sd) return;
-//   evas_object_clip_unset(sd->obj);
-}
-
-#endif
diff --git a/legacy/edje/src/lib/edje_container.h b/legacy/edje/src/lib/edje_container.h
deleted file mode 100644 (file)
index 0fba62c..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include "edje_private.h"
-
-
-#define E_SMART_OBJ_GET(smart, o, type) \
-     { \
-       char *_e_smart_str; \
-       \
-       if (!o) return; \
-       smart = evas_object_smart_data_get(o); \
-       if (!smart) return; \
-       _e_smart_str = (char *)evas_object_type_get(o); \
-       if (!_e_smart_str) return; \
-       if (strcmp(_e_smart_str, type)) return; \
-     }
-
-#define E_SMART_OBJ_GET_RETURN(smart, o, type, ret) \
-   { \
-      char *_e_smart_str; \
-      \
-      if (!o) return ret; \
-      smart = evas_object_smart_data_get(o); \
-      if (!smart) return ret; \
-      _e_smart_str = (char *)evas_object_type_get(o); \
-      if (!_e_smart_str) return ret; \
-      if (strcmp(_e_smart_str, type)) return ret; \
-   }
-
-#define E_OBJ_NAME "edje_container_object"
-
-typedef struct _Smart_Data         Smart_Data;
-typedef struct _Smart_Data_Colinfo Smart_Data_Colinfo;
-
-struct _Smart_Data
-{
-   Evas_Coord     x, y, w, h;
-   Eina_List     *children;
-   Evas_Object   *smart_obj;
-   int            cols, rows;
-
-   Evas_Coord     contents_w, contents_h;
-   Evas_Coord     min_row_h, max_row_h;
-   Evas_Coord     min_w, max_w, min_h, max_h;
-
-   Smart_Data_Colinfo *colinfo;
-
-   int            freeze;
-
-   double         scroll_x, scroll_y;
-   double         align_x, align_y;
-
-   unsigned char  changed : 1;
-   unsigned char  change_child : 1;
-   unsigned char  change_child_list : 1;
-   unsigned char  change_cols : 1;
-   unsigned char  change_scroll : 1;
-
-   unsigned char  need_layout : 1;
-
-   unsigned char  homogenous : 1;
-};
-
-struct _Smart_Data_Colinfo
-{
-   Evas_Coord minw, maxw;
-};
-
-/* All items are virtual constructs that provide Evas_Objects at some point.
- * Edje may move, resize, show, hide, clip, unclip, raise, lower etc. this
- * item AFTER it calls the item's add() method and before it calls the del()
- * method. Edje may call add() and del() at any time as often items may not
- * be visible and so may not need to exist at all - they are merely information
- * used for layout, and nothing more. this helps save cpu and memory keeping
- * things responsive for BIG lists of items. you create an item from an item
- * class then ask that item to be appended/prepended etc. to the container.
- */
-typedef struct _Edje_Item       Edje_Item;
-typedef struct _Edje_Item_Cell  Edje_Item_Cell;
-typedef struct _Edje_Item_Class Edje_Item_Class;
-
-struct _Edje_Item_Class
-{
-   Evas_Object *(*add)      (Edje_Item *ei);
-   void         (*del)      (Edje_Item *ei);
-   void         (*select)   (Edje_Item *ei);
-   void         (*deselect) (Edje_Item *ei);
-   void         (*focus)    (Edje_Item *ei);
-   void         (*unfocus)  (Edje_Item *ei);
-};
-
-/* private */
-struct _Edje_Item
-{
-   Edje_Item_Class *class;
-   void            *class_data;
-
-   void            *sd;
-
-   void            *data;
-
-   Evas_Object     *object;
-   Evas_Object     *overlay_object;
-   int              freeze;
-   Evas_Coord       y, h;
-
-   Evas_Coord       minh, maxh;
-
-   int              cells_num;
-   Edje_Item_Cell  *cells;
-
-   unsigned char    accessible : 1;
-
-   unsigned char    recalc : 1;
-   unsigned char    selected : 1;
-   unsigned char    disabled : 1;
-   unsigned char    focused : 1;
-};
-
-struct _Edje_Item_Cell
-{
-   Evas_Object *obj;
-   Evas_Coord   x, w;
-   Evas_Coord   minw, minh, maxw, maxh;
-};
-
-/* here is an item for a vertical list - with 1 or more columns. this has 3 */
-/* just rotate for a horizontal list */
-
-/*
- *             COL 0                 COL 1          COL 2
- *
- * +-----------------------------+ +-------+ +----------------+
- * |          pad_top            | |       | |                |
- * | pad_left  OBJECT  pad_right | |  OBJ  | |     OBJECT     | ROW 0
- * |         pad_bottom          | |       | |                |
- * +-----------------------------+ +-------+ +----------------+
- *               /\              /|\
- *     space_row ||               +-- space_col
- *               \/
- * +-----------------------------+ +-------+ +----------------+
- * |                             | |       | |                |
- * |                             | |       | |                | ROW 1
- * |                             | |       | |                |
- * +-----------------------------+ +-------+ +----------------+
- *
- * spacer object:
- * 1 Edje object goes in-between each row as a spacer object (opt)
- * 1 Edje object goes in-between each column as a spacer object (opt)
- *
- * surround object:
- * 1 Edje object goes around each item - item swallowed into "item" part (opt)
- *   if no "item" part then just underlay it
- *   on select send "select" "" signal
- *   on unselect send "unselect" "" signal
- *   on focus send "focus" "" signal
- *   on unfocus send "unfocus" signal
- *
- *   if any list item/cell is an Edje object emit this to them too.
- *
- *   also call callbacks.
- *   if a surround object emits such a signal itself then call callbacks too
- *
- * only 1 or 0 items can be focused
- * disabled items cannot be focused or selected/deselected
- *
- */
diff --git a/legacy/edje/src/lib/edje_convert.c b/legacy/edje/src/lib/edje_convert.c
deleted file mode 100644 (file)
index 07d43ce..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-#include "edje_private.h"
-
-static const Edje_File *_current_edje_file = NULL;
-
-const Edje_File *
-_edje_file_get(void)
-{
-   return _current_edje_file;
-}
-
-void
-_edje_file_set(const Edje_File *edf)
-{
-   _current_edje_file = edf;
-}
-
-static void
-_edje_font_string_free(void *data)
-{
-   Edje_Font_Directory_Entry *fe = data;
-
-   eina_stringshare_del(fe->path);
-   free(fe);
-}
-
-static void
-_edje_collection_string_free(void *data)
-{
-   Edje_Part_Collection_Directory_Entry *ce = data;
-
-   eina_stringshare_del(ce->entry);
-
-   if (ce->ref)
-     {
-       Edje_File *edf;
-
-       edf = (Edje_File*) _edje_file_get();
-
-       if (!edf->warning)
-         CRITICAL("This program as probably called edje_shutdown() with "
-                   "active Edje objects still around. "
-                   "This can cause problems as both Evas and Edje retain "
-                   "references to the objects. "
-                   "You should shut down all canvases and objects "
-                   "before calling edje_shutdown(). "
-                   "The following errors are the edje object files and "
-                   "parts that are still hanging around, with their reference "
-                   "counts");
-
-       edf->warning = 1;
-       ERR("file: '%s', references: %i, part: '%s', references: %i",
-           edf->path, edf->references,
-           ce->ref->part, ce->ref->references);
-
-       _edje_collection_free(edf, ce->ref, ce);
-     }
-
-   free(ce);
-}
-
-static Eina_Bool
-_edje_file_convert_external(Edje_File *edf, Old_Edje_File *oedf)
-{
-   Edje_External_Directory_Entry *ede;
-   unsigned int max;
-   unsigned int i = 0;
-
-   edf->external_dir = calloc(1, sizeof (Edje_External_Directory));
-   if (!edf->external_dir) return EINA_FALSE;
-   if (!oedf->external_dir) return EINA_TRUE;
-
-   max = eina_list_count(oedf->external_dir->entries);
-   edf->external_dir->entries = calloc(1, sizeof (Edje_External_Directory_Entry) * max);
-   edf->external_dir->entries_count = max;
-
-   if (!edf->external_dir->entries && max)
-     return EINA_FALSE;
-
-   EINA_LIST_FREE(oedf->external_dir->entries, ede)
-     {
-       edf->external_dir->entries[i++].entry = ede->entry;
-       free(ede);
-     }
-
-   free(oedf->external_dir);
-   oedf->external_dir = NULL;
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf)
-{
-   Edje_Image_Directory_Entry *de;
-   Edje_Image_Directory_Set *ds;
-   Eina_List *l;
-   int max;
-
-   edf->image_dir = calloc(1, sizeof (Edje_Image_Directory));
-   if (!edf->image_dir) return EINA_FALSE;
-   if (!oedf->image_dir) return EINA_TRUE;
-
-   max = -1;
-   EINA_LIST_FOREACH(oedf->image_dir->entries, l, de)
-     if (max < de->id)
-       max = de->id;
-
-   edf->image_dir->entries = calloc(1, sizeof (Edje_Image_Directory_Entry) * (max + 1));
-   edf->image_dir->entries_count = max + 1;
-
-   if (!edf->image_dir->entries && edf->image_dir->entries_count)
-     return EINA_FALSE;
-
-   EINA_LIST_FREE(oedf->image_dir->entries, de)
-     {
-       memcpy(edf->image_dir->entries + de->id,
-              de,
-              sizeof (Edje_Image_Directory_Entry));
-       free(de);
-     }
-
-   max = -1;
-   EINA_LIST_FOREACH(oedf->image_dir->sets, l, ds)
-     if (max < ds->id)
-       max = ds->id;
-
-   edf->image_dir->sets = calloc(1, sizeof (Edje_Image_Directory_Set) * (max + 1));
-   edf->image_dir->sets_count = max + 1;
-
-   if (!edf->image_dir->sets && edf->image_dir->sets_count)
-     {
-       free(edf->image_dir->entries);
-       edf->image_dir->entries = NULL;
-       return EINA_FALSE;
-     }
-
-   EINA_LIST_FREE(oedf->image_dir->sets, ds)
-     {
-       memcpy(edf->image_dir->sets + ds->id,
-              ds,
-              sizeof (Edje_Image_Directory_Set));
-       free(ds);
-     }
-
-   return EINA_TRUE;
-}
-
-Edje_File *
-_edje_file_convert(Eet_File *file, Old_Edje_File *oedf)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Font_Directory_Entry *fnt;
-   Edje_File *edf;
-   Eina_List *l;
-   Edje_Data *ed;
-
-   edf = calloc(1, sizeof (Edje_File));
-   if (!edf) return NULL;
-
-   edf->free_strings = eet_dictionary_get(file) ? 0 : 1;
-
-   if (edf->free_strings)
-     {
-       edf->fonts = eina_hash_string_small_new(_edje_font_string_free);
-       edf->collection = eina_hash_string_small_new(_edje_collection_string_free);
-       edf->data = eina_hash_string_small_new((Eina_Free_Cb) eina_stringshare_del);
-     }
-   else
-     {
-       edf->fonts = eina_hash_string_small_new(free);
-       edf->collection = eina_hash_string_small_new(free);
-       edf->data = eina_hash_string_small_new(NULL);
-     }
-
-   if (!edf->fonts || !edf->collection || !edf->data)
-     goto on_error;
-
-   EINA_LIST_FREE(oedf->data, ed)
-     {
-       eina_hash_direct_add(edf->data, ed->key, ed->value);
-       free(ed);
-     }
-
-   EINA_LIST_FOREACH(oedf->collection_dir->entries, l, ce)
-     if (ce->entry)
-       eina_hash_direct_add(edf->collection, ce->entry, ce);
-
-   if (oedf->font_dir)
-     EINA_LIST_FOREACH(oedf->font_dir->entries, l, fnt)
-       {
-         char *tmp;
-         int length;
-
-         length = strlen(fnt->entry) + 7;
-         tmp = alloca(length);
-
-         snprintf(tmp, length, "fonts/%s", fnt->entry);
-         fnt->path = eina_stringshare_add(tmp);
-         if (edf->free_strings)
-           eina_stringshare_del(fnt->entry);
-         fnt->entry = fnt->path + 6;
-
-         eina_hash_direct_add(edf->fonts, fnt->entry, fnt);
-       }
-
-   if (!_edje_file_convert_images(edf, oedf))
-     goto on_error;
-
-   if (!_edje_file_convert_external(edf, oedf))
-     goto on_error;
-
-   edf->oef = oedf;
-   edf->styles = oedf->styles;
-   edf->color_classes = oedf->color_classes;
-   edf->version = oedf->version;
-   edf->feature_ver = oedf->feature_ver;
-   edf->compiler = oedf->compiler;
-
-   edf->dangling = EINA_FALSE;
-   edf->warning = EINA_FALSE;
-
-   /* Below you will find all memory structure that could be cleaned when under
-      memory pressure */
-   edf->collection_cache = NULL;
-   edf->collection_patterns = NULL;
-
-   return edf;
-
- on_error:
-   eina_hash_free(edf->fonts);
-   eina_hash_free(edf->collection);
-   eina_hash_free(edf->data);
-   free(edf->image_dir);
-   free(edf->external_dir);
-   free(edf);
-   return NULL;
-}
-
-static void
-_edje_collection_program_add(Edje_Program ***array,
-                            unsigned int *count,
-                            Edje_Program *add)
-{
-   Edje_Program **tmp;
-
-   tmp = realloc(*array, sizeof (Edje_Program*) * (*count + 1));
-   if (!tmp) return ;
-
-   tmp[(*count)++] = add;
-   *array = tmp;
-}
-
-Edje_Part_Collection *
-_edje_collection_convert(Edje_File *file, Old_Edje_Part_Collection *oedc)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Part_Collection *edc;
-   Old_Edje_Part *part;
-   Edje_Program *pg;
-   Edje_Data *di;
-   Eina_List *l;
-   unsigned int k;
-
-   ce = eina_hash_find(file->collection, oedc->part);
-
-   /* Count each type part and their respective state */
-   EINA_LIST_FOREACH(oedc->parts, l, part)
-     {
-       int *count;
-       int dummy = 0;
-
-
-       switch (part->type)
-         {
-#define CSP(Tp, Ce)                                            \
-            case EDJE_PART_TYPE_##Tp :                         \
-               count = &Ce->count.Tp;                          \
-               break;
-
-            CSP(RECTANGLE, ce);
-            CSP(TEXT, ce);
-            CSP(IMAGE, ce);
-            CSP(SWALLOW, ce);
-            CSP(TEXTBLOCK, ce);
-            CSP(GROUP, ce);
-            CSP(BOX, ce);
-            CSP(TABLE, ce);
-            CSP(EXTERNAL, ce);
-          default:
-             count = &dummy;
-             break;
-         }
-
-       *count += eina_list_count(part->other_desc) + 1;
-     }
-   ce->count.part = eina_list_count(oedc->parts);
-
-#define CONVERT_EMN(Tp, Sz, Ce)                                                        \
-   Ce->mp.Tp = eina_mempool_add("one_big", #Tp, NULL, sizeof (Sz), Ce->count.Tp);
-
-   CONVERT_EMN(RECTANGLE, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(TEXT, Edje_Part_Description_Text, ce);
-   CONVERT_EMN(IMAGE, Edje_Part_Description_Image, ce);
-   CONVERT_EMN(SWALLOW, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(TEXTBLOCK, Edje_Part_Description_Text, ce);
-   CONVERT_EMN(GROUP, Edje_Part_Description_Common, ce);
-   CONVERT_EMN(BOX, Edje_Part_Description_Box, ce);
-   CONVERT_EMN(TABLE, Edje_Part_Description_Table, ce);
-   CONVERT_EMN(EXTERNAL, Edje_Part_Description_External, ce);
-   CONVERT_EMN(part, Edje_Part, ce);
-
-   /* Change structure layout */
-   edc = calloc(1, sizeof (Edje_Part_Collection));
-   if (!edc) return NULL;
-   ce->ref = edc;
-
-   EINA_LIST_FREE(oedc->programs, pg)
-     {
-       if (!pg->signal && !pg->source)
-         _edje_collection_program_add(&edc->programs.nocmp,
-                                      &edc->programs.nocmp_count,
-                                      pg);
-       else if (pg->signal && !strpbrk(pg->signal, "*?[\\")
-                && pg->source && !strpbrk(pg->source, "*?[\\"))
-         _edje_collection_program_add(&edc->programs.strcmp,
-                                      &edc->programs.strcmp_count,
-                                      pg);
-       else if (pg->signal && edje_program_is_strncmp(pg->signal)
-                && pg->source && edje_program_is_strncmp(pg->source))
-         _edje_collection_program_add(&edc->programs.strncmp,
-                                      &edc->programs.strncmp_count,
-                                      pg);
-       else if (pg->signal && edje_program_is_strrncmp(pg->signal)
-                && pg->source && edje_program_is_strrncmp(pg->source))
-         _edje_collection_program_add(&edc->programs.strrncmp,
-                                      &edc->programs.strrncmp_count,
-                                      pg);
-       else
-         _edje_collection_program_add(&edc->programs.fnmatch,
-                                      &edc->programs.fnmatch_count,
-                                      pg);
-     }
-
-   edc->data = eina_hash_string_small_new(NULL);
-   EINA_LIST_FREE(oedc->data, di)
-     {
-       eina_hash_direct_add(edc->data, di->key, di->value);
-       free(di);
-     }
-
-   edc->parts_count = eina_list_count(oedc->parts);
-   edc->parts = calloc(edc->parts_count, sizeof (Edje_Part *));
-   k = 0;
-
-   EINA_LIST_FREE(oedc->parts, part)
-     {
-       Old_Edje_Part_Description *oepd;
-       Edje_Pack_Element *elm;
-       Edje_Part *replacement;
-       unsigned int i;
-
-       replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part));
-
-       replacement->name = part->name;
-       replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc);
-
-       replacement->other_count = eina_list_count(part->other_desc);
-       replacement->other_desc = calloc(replacement->other_count, sizeof (Edje_Part_Description_Common*));
-
-       i = 0;
-       EINA_LIST_FREE(part->other_desc, oepd)
-         replacement->other_desc[i++] = _edje_description_convert(part->type, ce, oepd);
-
-       replacement->source = part->source;
-       replacement->source2 = part->source2;
-       replacement->source3 = part->source3;
-       replacement->source4 = part->source4;
-       replacement->source5 = part->source5;
-       replacement->source6 = part->source6;
-       replacement->id = part->id;
-       replacement->clip_to_id = part->clip_to_id;
-       replacement->dragable = part->dragable;
-       replacement->items_count = eina_list_count(part->items);
-       replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element*));
-
-       i = 0;
-       EINA_LIST_FREE(part->items, elm)
-         replacement->items[i++] = elm;
-
-       replacement->type = part->type;
-       replacement->effect = part->effect;
-       replacement->mouse_events = part->mouse_events;
-       replacement->repeat_events = part->repeat_events;
-       replacement->ignore_flags = part->ignore_flags;
-       replacement->scale = part->scale;
-       replacement->precise_is_inside = part->precise_is_inside;
-       replacement->use_alternate_font_metrics = part->use_alternate_font_metrics;
-       replacement->pointer_mode = part->pointer_mode;
-       replacement->entry_mode = part->entry_mode;
-       replacement->select_mode = part->select_mode;
-       replacement->multiline = part->multiline;
-       replacement->api = part->api;
-
-       edc->parts[k++] = replacement;
-
-       free(part);
-     }
-
-   edc->id = oedc->id;
-   edc->alias = oedc->alias;
-   edc->prop.min = oedc->prop.min;
-   edc->prop.max = oedc->prop.max;
-   edc->script = oedc->script;
-   edc->part = oedc->part;
-   edc->script_only = oedc->script_only;
-   edc->lua_script_only = oedc->lua_script_only;
-   edc->checked = oedc->checked;
-
-   free(oedc);
-
-   return edc;
-}
-
-Edje_Part_Description_Common*
-_edje_description_convert(int type,
-                         Edje_Part_Collection_Directory_Entry *ce,
-                         Old_Edje_Part_Description *oed)
-{
-   Edje_Part_Description_Common *result = NULL;
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_RECTANGLE:
-        result = eina_mempool_malloc(ce->mp.RECTANGLE,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-      case EDJE_PART_TYPE_SWALLOW:
-        result = eina_mempool_malloc(ce->mp.SWALLOW,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-      case EDJE_PART_TYPE_GROUP:
-        result = eina_mempool_malloc(ce->mp.GROUP,
-                                     sizeof (Edje_Part_Description_Common));
-        break;
-
-      case EDJE_PART_TYPE_IMAGE:
-       {
-          Edje_Part_Description_Image *img;
-          Edje_Part_Image_Id *id;
-          unsigned int i = 0;
-
-          img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image));
-
-          img->image.tweens_count = eina_list_count(oed->image.tween_list);
-          img->image.tweens = calloc(img->image.tweens_count,
-                                     sizeof (Edje_Part_Image_Id*));
-          if (img->image.tweens_count > 0 && !img->image.tweens)
-            {
-               eina_mempool_free(ce->mp.IMAGE, img);
-               return NULL;
-            }
-
-          EINA_LIST_FREE(oed->image.tween_list, id)
-            img->image.tweens[i++] = id;
-
-          img->image.id = oed->image.id;
-          img->image.scale_hint = oed->image.scale_hint;
-          img->image.set = oed->image.set;
-
-          img->image.border = oed->image.border;
-          img->image.fill = oed->image.fill;
-
-          result = &img->common;
-          break;
-       }
-
-#define CONVERT_ALLOC_POOL(Short, Type, Name)                          \
-        case EDJE_PART_TYPE_##Short:                                   \
-          {                                                            \
-             Edje_Part_Description_##Type *Name;                       \
-                                                                       \
-             Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \
-             Name->Name = oed->Name;                                   \
-             result = &Name->common;                                   \
-             break;                                                    \
-          }
-
-        CONVERT_ALLOC_POOL(TEXT, Text, text);
-        CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text);
-        CONVERT_ALLOC_POOL(BOX, Box, box);
-        CONVERT_ALLOC_POOL(TABLE, Table, table);
-        CONVERT_ALLOC_POOL(EXTERNAL, External, external_params);
-     }
-
-   *result = oed->common;
-
-   free(oed);
-   return result;
-}
diff --git a/legacy/edje/src/lib/edje_convert.h b/legacy/edje/src/lib/edje_convert.h
deleted file mode 100644 (file)
index fcc2781..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef EDJE_CONVERT_H__
-# define EDJE_CONVERT_H__
-
-typedef struct _Old_Edje_Image_Directory       Old_Edje_Image_Directory;
-typedef struct _Old_Edje_Font_Directory         Old_Edje_Font_Directory;
-typedef struct _Old_Edje_External_Directory    Old_Edje_External_Directory;
-typedef struct _Old_Edje_Part                  Old_Edje_Part;
-typedef struct _Old_Edje_Part_Collection       Old_Edje_Part_Collection;
-typedef struct _Old_Edje_Part_Description       Old_Edje_Part_Description;
-typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image;
-typedef struct _Edje_Data                       Edje_Data;
-
-struct _Edje_Data
-{
-   const char *key;
-   char *value;
-};
-
-/*----------*/
-
-struct _Old_Edje_Font_Directory
-{
-   Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
-};
-
-struct _Old_Edje_Image_Directory
-{
-   Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
-   Eina_List *sets; /* a list of Edje_Image_Directory_Set */
-};
-
-struct _Old_Edje_External_Directory
-{
-   Eina_List *entries; /* a list of Edje_External_Directory_Entry */
-};
-
-struct _Old_Edje_File
-{
-   const char                     *path;
-   time_t                          mtime;
-
-   Old_Edje_External_Directory    *external_dir;
-   Old_Edje_Font_Directory        *font_dir;
-   Old_Edje_Image_Directory       *image_dir;
-   Edje_Part_Collection_Directory *collection_dir;
-   Eina_List                      *data;
-   Eina_List                      *styles;
-   Eina_List                      *color_classes;
-
-   const char                     *compiler;
-   int                             version;
-   int                             feature_ver;
-};
-
-struct _Old_Edje_Part_Collection
-{
-   Eina_List *programs; /* a list of Edje_Program */
-   Eina_List *parts; /* a list of Edje_Part */
-   Eina_List *data;
-
-   int        id; /* the collection id */
-
-   Eina_Hash *alias; /* aliasing part*/
-
-   struct {
-      Edje_Size min, max;
-   } prop;
-
-   int        references;
-#ifdef EDJE_PROGRAM_CACHE
-   struct {
-      Eina_Hash                   *no_matches;
-      Eina_Hash                   *matches;
-   } prog_cache;
-#endif
-
-   Embryo_Program   *script; /* all the embryo script code for this group */
-   const char       *part;
-
-   unsigned char    script_only;
-
-   unsigned char    lua_script_only;
-
-   unsigned char    checked : 1;
-};
-
-struct _Old_Edje_Part
-{
-   const char            *name; /* the name if any of the part */
-   Old_Edje_Part_Description *default_desc; /* the part descriptor for default */
-   Eina_List             *other_desc; /* other possible descriptors */
-   const char            *source, *source2, *source3, *source4, *source5, *source6;
-   int                    id; /* its id number */
-   int                    clip_to_id; /* the part id to clip this one to */
-   Edje_Part_Dragable     dragable;
-   Eina_List             *items; /* packed items for box and table */
-   unsigned char          type; /* what type (image, rect, text) */
-   unsigned char          effect; /* 0 = plain... */
-   unsigned char          mouse_events; /* it will affect/respond to mouse events */
-   unsigned char          repeat_events; /* it will repeat events to objects below */
-   Evas_Event_Flags       ignore_flags;
-   unsigned char          scale; /* should certain properties scale with edje scale factor? */
-   unsigned char          precise_is_inside;
-   unsigned char          use_alternate_font_metrics;
-   unsigned char          pointer_mode;
-   unsigned char          entry_mode;
-   unsigned char          select_mode;
-   unsigned char          multiline;
-   Edje_Part_Api         api;
-};
-
-struct _Old_Edje_Part_Description_Spec_Image
-{
-   Eina_List     *tween_list; /* list of Edje_Part_Image_Id */
-   int            id; /* the image id to use */
-   int            scale_hint; /* evas scale hint */
-   Eina_Bool      set; /* if image condition it's content */
-
-   Edje_Part_Description_Spec_Border border;
-   Edje_Part_Description_Spec_Fill   fill;
-};
-
-struct _Old_Edje_Part_Description
-{
-   Edje_Part_Description_Common common;
-   Old_Edje_Part_Description_Spec_Image image;
-   Edje_Part_Description_Spec_Text text;
-   Edje_Part_Description_Spec_Box box;
-   Edje_Part_Description_Spec_Table table;
-
-   Eina_List *external_params; /* parameters for external objects */
-};
-
-Edje_File *_edje_file_convert(Eet_File *file, Old_Edje_File *oedf);
-Edje_Part_Collection *_edje_collection_convert(Edje_File *file,
-                                              Old_Edje_Part_Collection *oedc);
-Edje_Part_Description_Common *_edje_description_convert(int type,
-                                                       Edje_Part_Collection_Directory_Entry *ce,
-                                                       Old_Edje_Part_Description *oed);
-const Edje_File *_edje_file_get(void);
-void _edje_file_set(const Edje_File *edf);
-
-#endif
diff --git a/legacy/edje/src/lib/edje_data.c b/legacy/edje/src/lib/edje_data.c
deleted file mode 100644 (file)
index 4837085..0000000
+++ /dev/null
@@ -1,1022 +0,0 @@
-#include "edje_private.h"
-
-EAPI Eet_Data_Descriptor *_edje_edd_edje_file = NULL;
-EAPI Eet_Data_Descriptor *_edje_edd_edje_part_collection = NULL;
-
-Eet_Data_Descriptor *_edje_edd_edje_string = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_style = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_style_tag = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_color_class = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_external_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_external_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_font_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_image_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_image_directory_set = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_image_directory_set_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_limit = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_limit_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_sound_sample = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_sound_tone = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_sound_directory = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_program = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_program_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_program_target = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_program_after = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory_entry = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_pack_element = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_pack_element_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_variant = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_spacer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_group = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_image = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_proxy = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_text = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_box = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_spacer_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_group_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_image_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_proxy_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_text_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_box_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_table_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_external_param = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_limit = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_physics_face = NULL;
-
-#define EMP(Type, Minus)                               \
-  EAPI Eina_Mempool *_emp_##Type = NULL;               \
-                                                       \
-  static void *                                                \
-  mem_alloc_##Minus(size_t size)                       \
-  {                                                    \
-     void *data;                                       \
-                                                       \
-     data = eina_mempool_malloc(_emp_##Type, size);    \
-     memset(data, 0, size);                            \
-     return data;                                      \
-  }                                                    \
-                                                       \
-  static void                                          \
-  mem_free_##Minus(void *data)                         \
-  {                                                    \
-     eina_mempool_free(_emp_##Type, data);             \
-  }
-
-EMP(RECTANGLE, rectangle);
-EMP(TEXT, text);
-EMP(IMAGE, image);
-EMP(PROXY, proxy);
-EMP(SWALLOW, swallow);
-EMP(TEXTBLOCK, textblock);
-EMP(GROUP, group);
-EMP(BOX, box);
-EMP(TABLE, table);
-EMP(EXTERNAL, external);
-EMP(SPACER, spacer);
-EMP(part, part);
-
-#define FREED(eed) \
-   if (eed) \
-   { \
-      eet_data_descriptor_free((eed)); \
-      (eed) = NULL; \
-   }
-
-struct {
-   Edje_Part_Type type;
-   const char *name;
-} variant_convertion[] = {
-  { EDJE_PART_TYPE_RECTANGLE, "rectangle" },
-  { EDJE_PART_TYPE_SWALLOW,   "swallow" },
-  { EDJE_PART_TYPE_GROUP,     "group" },
-  { EDJE_PART_TYPE_IMAGE,     "image" },
-  { EDJE_PART_TYPE_TEXT,      "text" },
-  { EDJE_PART_TYPE_TEXTBLOCK, "textblock" },
-  { EDJE_PART_TYPE_BOX,       "box" },
-  { EDJE_PART_TYPE_TABLE,     "table" },
-  { EDJE_PART_TYPE_EXTERNAL,  "external" },
-  { EDJE_PART_TYPE_PROXY,     "proxy" },
-  { EDJE_PART_TYPE_SPACER,    "spacer" }
-};
-
-static const char *
-_edje_description_variant_type_get(const void *data, Eina_Bool *unknow __UNUSED__)
-{
-   const unsigned char *type;
-   unsigned int i;
-
-   type = data;
-
-   for (i = 0; i < (sizeof (variant_convertion) / sizeof (variant_convertion[0])); ++i)
-     if (*type == variant_convertion[i].type)
-       return variant_convertion[i].name;
-
-   return NULL;
-}
-
-static Eina_Bool
-_edje_description_variant_type_set(const char *type, void *data, Eina_Bool unknow __UNUSED__)
-{
-   unsigned char *dt;
-   unsigned int i;
-
-   dt = data;
-
-   for (i = 0; i < (sizeof (variant_convertion) / sizeof (variant_convertion[0])); ++i)
-     if (!strcmp(variant_convertion[i].name, type))
-       {
-         *dt = variant_convertion[i].type;
-         return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-static Eina_Hash *
-_edje_eina_hash_add_alloc(Eina_Hash  *hash,
-                         const char *key,
-                         void       *data)
-{
-   if (!hash)
-     hash = eina_hash_string_small_new(free);
-
-   if (!hash)
-     return NULL;
-
-   eina_hash_add(hash, key, data);
-   return hash;
-}
-
-// FIXME: remove EAPI when edje_convert goes
-EAPI void
-_edje_edd_shutdown(void)
-{
-   FREED(_edje_edd_edje_file);
-   FREED(_edje_edd_edje_string);
-   FREED(_edje_edd_edje_style);
-   FREED(_edje_edd_edje_style_tag);
-   FREED(_edje_edd_edje_color_class);
-   FREED(_edje_edd_edje_external_directory);
-   FREED(_edje_edd_edje_external_directory_entry);
-   FREED(_edje_edd_edje_font_directory_entry);
-   FREED(_edje_edd_edje_image_directory);
-   FREED(_edje_edd_edje_image_directory_entry);
-   FREED(_edje_edd_edje_limit);
-   FREED(_edje_edd_edje_limit_pointer);
-   FREED(_edje_edd_edje_sound_sample);
-   FREED(_edje_edd_edje_sound_tone);
-   FREED(_edje_edd_edje_sound_directory);
-   FREED(_edje_edd_edje_program);
-   FREED(_edje_edd_edje_program_pointer);
-   FREED(_edje_edd_edje_program_target);
-   FREED(_edje_edd_edje_program_after);
-   FREED(_edje_edd_edje_part_collection_directory_entry);
-   FREED(_edje_edd_edje_pack_element);
-   FREED(_edje_edd_edje_pack_element_pointer);
-   FREED(_edje_edd_edje_part_collection);
-   FREED(_edje_edd_edje_part);
-   FREED(_edje_edd_edje_part_pointer);
-   FREED(_edje_edd_edje_part_description_variant);
-   FREED(_edje_edd_edje_part_description_rectangle);
-   FREED(_edje_edd_edje_part_description_spacer);
-   FREED(_edje_edd_edje_part_description_swallow);
-   FREED(_edje_edd_edje_part_description_group);
-   FREED(_edje_edd_edje_part_description_image);
-   FREED(_edje_edd_edje_part_description_proxy);
-   FREED(_edje_edd_edje_part_description_text);
-   FREED(_edje_edd_edje_part_description_textblock);
-   FREED(_edje_edd_edje_part_description_box);
-   FREED(_edje_edd_edje_part_description_table);
-   FREED(_edje_edd_edje_part_description_external);
-   FREED(_edje_edd_edje_part_description_variant_list);
-   FREED(_edje_edd_edje_part_description_rectangle_pointer);
-   FREED(_edje_edd_edje_part_description_spacer_pointer);
-   FREED(_edje_edd_edje_part_description_swallow_pointer);
-   FREED(_edje_edd_edje_part_description_group_pointer);
-   FREED(_edje_edd_edje_part_description_image_pointer);
-   FREED(_edje_edd_edje_part_description_proxy_pointer);
-   FREED(_edje_edd_edje_part_description_text_pointer);
-   FREED(_edje_edd_edje_part_description_textblock_pointer);
-   FREED(_edje_edd_edje_part_description_box_pointer);
-   FREED(_edje_edd_edje_part_description_table_pointer);
-   FREED(_edje_edd_edje_part_description_external_pointer);
-   FREED(_edje_edd_edje_part_image_id);
-   FREED(_edje_edd_edje_part_image_id_pointer);
-   FREED(_edje_edd_edje_external_param);
-   FREED(_edje_edd_edje_image_directory_set);
-   FREED(_edje_edd_edje_image_directory_set_entry);
-   FREED(_edje_edd_edje_part_limit);
-   FREED(_edje_edd_edje_physics_face);
-}
-
-#define EDJE_DEFINE_POINTER_TYPE(Type, Name)                           \
-   {                                                                   \
-     typedef struct _Edje_##Type##_Pointer Edje_##Type##_Pointer;      \
-     struct _Edje_##Type##_Pointer                                     \
-     {                                                                 \
-       Edje_##Type *pointer;                                           \
-     };                                                                        \
-                                                                       \
-     EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_##Type##_Pointer); \
-     _edje_edd_edje_##Name##_pointer =                                 \
-       eet_data_descriptor_file_new(&eddc);                            \
-     EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_##Name##_pointer, Edje_##Type##_Pointer, "pointer", pointer, _edje_edd_edje_##Name); \
-   }
-
-// FIXME: remove EAPI when edje_convert goes
-EAPI void
-_edje_edd_init(void)
-{
-   Eet_Data_Descriptor_Class eddc;
-
-   /* localisable string */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_String);
-   _edje_edd_edje_string = eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_string, Edje_String, "str", str, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_string, Edje_String, "id", id, EET_T_UINT);
-
-   /* external directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory_Entry);
-   _edje_edd_edje_external_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_directory_entry, Edje_External_Directory_Entry, "entry", entry, EET_T_STRING);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory);
-   _edje_edd_edje_external_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_external_directory, Edje_External_Directory, "entries", entries, _edje_edd_edje_external_directory_entry);
-
-   /* font directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Font_Directory_Entry);
-   _edje_edd_edje_font_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_font_directory_entry, Edje_Font_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_font_directory_entry, Edje_Font_Directory_Entry, "file", file, EET_T_STRING);
-
-   /* image directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Entry);
-   _edje_edd_edje_image_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_type", source_type, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_param", source_param, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set_Entry);
-   _edje_edd_edje_image_directory_set_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.w", size.min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.h", size.min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.w", size.max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.h", size.max.h, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set);
-   _edje_edd_edje_image_directory_set =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set,  "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_edje_image_directory_set_entry);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory);
-   _edje_edd_edje_image_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "entries", entries, _edje_edd_edje_image_directory_entry);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "sets", sets, _edje_edd_edje_image_directory_set);
-
-   /* Sound */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Sample);
-   _edje_edd_edje_sound_sample =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "snd_src", snd_src, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "compression", compression, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "mode", mode, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "quality", quality, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "id", id, EET_T_INT);
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Tone);
-   _edje_edd_edje_sound_tone =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "value", value, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Directory);
-   _edje_edd_edje_sound_directory =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_sound_directory, Edje_Sound_Directory, "samples", samples, _edje_edd_edje_sound_sample);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_sound_directory, Edje_Sound_Directory, "tones", tones, _edje_edd_edje_sound_tone);
-
-   /* collection directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection_Directory_Entry);
-   _edje_edd_edje_part_collection_directory_entry =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "entry", entry, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.RECTANGLE", count.RECTANGLE, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TEXT", count.TEXT, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.IMAGE", count.IMAGE, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.PROXY", count.PROXY, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SWALLOW", count.SWALLOW, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TEXTBLOCK", count.TEXTBLOCK, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.GROUP", count.GROUP, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.BOX", count.BOX, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TABLE", count.TABLE, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.EXTERNAL", count.EXTERNAL, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SPACER", count.SPACER, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style_Tag);
-   _edje_edd_edje_style_tag =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style_tag, Edje_Style_Tag, "key", key, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style_tag, Edje_Style_Tag, "value", value, EET_T_STRING);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style);
-   _edje_edd_edje_style =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style, Edje_Style, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_style, Edje_Style, "tags", tags, _edje_edd_edje_style_tag);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color_Class);
-   _edje_edd_edje_color_class =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r", r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g", g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b", b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a", a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r2", r2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g2", g2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b2", b2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a2", a2, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r3", r3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g3", g3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b3", b3, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a3", a3, EET_T_UCHAR);
-
-   /* the main file directory */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_File);
-   eddc.func.hash_add = (void * (*)(void *, const char *, void *)) _edje_eina_hash_add_alloc;
-   _edje_edd_edje_file = eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "compiler", compiler, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "version", version, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "minor", minor, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "feature_ver", feature_ver, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "external_dir", external_dir, _edje_edd_edje_external_directory);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "image_dir", image_dir, _edje_edd_edje_image_directory);
-   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "sound_dir", sound_dir, _edje_edd_edje_sound_directory);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_file, Edje_File, "styles", styles, _edje_edd_edje_style);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_file, Edje_File, "color_classes", color_classes, _edje_edd_edje_color_class);
-   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "data", data, _edje_edd_edje_string);
-   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "fonts", fonts, _edje_edd_edje_font_directory_entry);
-   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "collection", collection, _edje_edd_edje_part_collection_directory_entry);
-
-   /* parts & limit & programs - loaded induvidually */
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Limit);
-   _edje_edd_edje_limit = eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_limit, Edje_Limit, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_limit, Edje_Limit, "value", value, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_Target);
-   _edje_edd_edje_program_target =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program_target, Edje_Program_Target, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_After);
-   _edje_edd_edje_program_after =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program_after,
-                                 Edje_Program_After, "id", id, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program);
-   _edje_edd_edje_program =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "signal", signal, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.range", in.range, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "action", action, EET_T_INT);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "sample_name", sample_name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tone_name", tone_name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program ,"duration", duration, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program ,"speed", speed, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "state", state, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "state2", state2, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "value", value, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "value2", value2, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tween.mode", tween.mode, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tween.time", tween.time, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "v1", tween.v1, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "v2", tween.v2, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_program, Edje_Program, "targets", targets, _edje_edd_edje_program_target);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_program, Edje_Program, "after", after, _edje_edd_edje_program_after);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "api.name", api.name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "api.description", api.description, EET_T_STRING);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.src", param.src, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT);
-
-#ifdef HAVE_EPHYSICS
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.w", physics.w, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.x", physics.x, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.y", physics.y, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.z", physics.z, EET_T_DOUBLE);
-#endif
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id);
-   _edje_edd_edje_part_image_id =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "set", set, EET_T_UCHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Param);
-   _edje_edd_edje_external_param =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "type", type, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "i", i, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "d", d, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "s", s, EET_T_STRING);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Physics_Face);
-   _edje_edd_edje_physics_face = eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_physics_face, Edje_Physics_Face, "type", type, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_physics_face, Edje_Physics_Face, "source", source, EET_T_STRING);
-
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.name", state.name, EET_T_STRING); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.value", state.value, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", visible, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.have", minmul.have, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.w", minmul.w, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.h", minmul.h, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", min.w, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", min.h, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.limit", min.limit, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", max.w, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.h", max.h, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.limit", max.limit, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.x", step.x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.y", step.y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.min", aspect.min, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.max", aspect.max, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.prefer", aspect.prefer, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_x", rel1.relative_x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_y", rel1.relative_y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_x", rel1.offset_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_y", rel1.offset_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_x", rel1.id_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_y", rel1.id_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_x", rel2.relative_x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_y", rel2.relative_y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_x", rel2.offset_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_y", rel2.offset_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_x", rel2.id_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_y", rel2.id_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color_class", color_class, EET_T_STRING); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.r", color.r, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.g", color.g, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.b", color.b, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.a", color.a, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.r", color2.r, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.g", color2.g, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.b", color2.b, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.a", color2.a, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_persp", map.id_persp, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_light", map.id_light, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.id_center", map.rot.id_center, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.x", map.rot.x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.y", map.rot.y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.z", map.rot.z, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.on", map.on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.smooth", map.smooth, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.alpha", map.alpha, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.persp_on", map.persp_on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.backcull", map.backcull, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.zplane", persp.zplane, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.focal", persp.focal, EET_T_INT);
-
-#ifdef HAVE_EPHYSICS
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(Edd, Type)     \
-   {                                                           \
-      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mass", physics.mass, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.restitution", physics.restitution, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.friction", physics.friction, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.linear", physics.damping.linear, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.angular", physics.damping.angular, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.linear", physics.sleep.linear, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.angular", physics.sleep.angular, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.material", physics.material, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.density", physics.density, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.hardness", physics.hardness, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.z", physics.z, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.depth", physics.depth, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.ignore_part_pos", physics.ignore_part_pos, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.light_on", physics.light_on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.backcull", physics.backcull, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.x", physics.mov_freedom.lin.x, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.y", physics.mov_freedom.lin.y, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.z", physics.mov_freedom.lin.z, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.x", physics.mov_freedom.ang.x, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.y", physics.mov_freedom.ang.y, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.z", physics.mov_freedom.ang.z, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_LIST(Edd, Type, "physics.faces", physics.faces, _edje_edd_edje_physics_face); \
-   }
-#else
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(Edd, Type)     \
-   {                                                           \
-      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
-   }
-#endif
-
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.name", Dec.state.name, EET_T_STRING); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.value", Dec.state.value, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", Dec.visible, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", Dec.align.x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", Dec.align.y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", Dec.fixed.w, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", Dec.fixed.h, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", Dec.min.w, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", Dec.min.h, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", Dec.max.w, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.h", Dec.max.h, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.x", Dec.step.x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.y", Dec.step.y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.min", Dec.aspect.min, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.max", Dec.aspect.max, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.prefer", Dec.aspect.prefer, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_x", Dec.rel1.relative_x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_y", Dec.rel1.relative_y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_x", Dec.rel1.offset_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_y", Dec.rel1.offset_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_x", Dec.rel1.id_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_y", Dec.rel1.id_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_x", Dec.rel2.relative_x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_y", Dec.rel2.relative_y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_x", Dec.rel2.offset_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_y", Dec.rel2.offset_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_x", Dec.rel2.id_x, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_y", Dec.rel2.id_y, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color_class", Dec.color_class, EET_T_STRING); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.r", Dec.color.r, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.g", Dec.color.g, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.b", Dec.color.b, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.a", Dec.color.a, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.r", Dec.color2.r, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.g", Dec.color2.g, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.b", Dec.color2.b, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.a", Dec.color2.a, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_persp", Dec.map.id_persp, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_light", Dec.map.id_light, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.id_center", Dec.map.rot.id_center, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.x", Dec.map.rot.x, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.y", Dec.map.rot.y, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.z", Dec.map.rot.z, EDJE_T_FLOAT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.on", Dec.map.on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.smooth", Dec.map.smooth, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.alpha", Dec.map.alpha, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.persp_on", Dec.map.persp_on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.backcull", Dec.map.backcull, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.zplane", Dec.persp.zplane, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.focal", Dec.persp.focal, EET_T_INT); \
-
-#ifdef HAVE_EPHYSICS
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(Edd, Type, Dec)     \
-   {                                                                    \
-      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mass", Dec.physics.mass, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.restitution", Dec.physics.restitution, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.friction", Dec.physics.friction, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.linear", Dec.physics.damping.linear, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.angular", Dec.physics.damping.angular, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.linear", Dec.physics.sleep.linear, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.angular", Dec.physics.sleep.angular, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.material", Dec.physics.material, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.density", Dec.physics.density, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.hardness", Dec.physics.hardness, EET_T_DOUBLE); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.z", Dec.physics.z, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.depth", Dec.physics.depth, EET_T_INT); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.ignore_part_pos", Dec.physics.ignore_part_pos, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.light_on", Dec.physics.light_on, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.backcull", Dec.physics.backcull, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.x", Dec.physics.mov_freedom.lin.x, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.y", Dec.physics.mov_freedom.lin.y, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.z", Dec.physics.mov_freedom.lin.z, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.x", Dec.physics.mov_freedom.ang.x, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.y", Dec.physics.mov_freedom.ang.y, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.z", Dec.physics.mov_freedom.ang.z, EET_T_UCHAR); \
-      EET_DATA_DESCRIPTOR_ADD_LIST(Edd, Type, "physics.faces", Dec.physics.faces, _edje_edd_edje_physics_face); \
-   }
-#else
-#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(Edd, Type, Dec)     \
-   {                                                                    \
-      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
-   }
-#endif
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
-   eddc.func.mem_free = mem_free_rectangle;
-   eddc.func.mem_alloc = mem_alloc_rectangle;
-   _edje_edd_edje_part_description_rectangle =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_rectangle, Edje_Part_Description_Common);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
-   eddc.func.mem_free = mem_free_spacer;
-   eddc.func.mem_alloc = mem_alloc_spacer;
-   _edje_edd_edje_part_description_spacer =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_spacer, Edje_Part_Description_Common);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
-   eddc.func.mem_free = mem_free_swallow;
-   eddc.func.mem_alloc = mem_alloc_swallow;
-   _edje_edd_edje_part_description_swallow =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_swallow, Edje_Part_Description_Common);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
-   eddc.func.mem_free = mem_free_group;
-   eddc.func.mem_alloc = mem_alloc_group;
-   _edje_edd_edje_part_description_group =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_group, Edje_Part_Description_Common);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Image);
-   eddc.func.mem_free = mem_free_image;
-   eddc.func.mem_alloc = mem_alloc_image;
-   _edje_edd_edje_part_description_image =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, common);
-
-   EDJE_DEFINE_POINTER_TYPE(Part_Image_Id, part_image_id);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.tweens", image.tweens, _edje_edd_edje_part_image_id_pointer);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.id", image.id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.set", image.set, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.l", image.border.l, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.r", image.border.r, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.t", image.border.t, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.b", image.border.b, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.no_fill", image.border.no_fill, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.scale", image.border.scale, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.scale_by", image.border.scale_by, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.smooth", image.fill.smooth, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_rel_x", image.fill.pos_rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_abs_x", image.fill.pos_abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.rel_x", image.fill.rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.abs_x", image.fill.abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_rel_y", image.fill.pos_rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_abs_y", image.fill.pos_abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.rel_y", image.fill.rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.abs_y", image.fill.abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.angle", image.fill.angle, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.spread", image.fill.spread, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.type", image.fill.type, EET_T_CHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Proxy);
-   eddc.func.mem_free = mem_free_proxy;
-   eddc.func.mem_alloc = mem_alloc_proxy;
-   _edje_edd_edje_part_description_proxy =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, common);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.id", proxy.id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.smooth", proxy.fill.smooth, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_rel_x", proxy.fill.pos_rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_abs_x", proxy.fill.pos_abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.rel_x", proxy.fill.rel_x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.abs_x", proxy.fill.abs_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_rel_y", proxy.fill.pos_rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_abs_y", proxy.fill.pos_abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.rel_y", proxy.fill.rel_y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.abs_y", proxy.fill.abs_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.angle", proxy.fill.angle, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.spread", proxy.fill.spread, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
-   eddc.func.mem_free = mem_free_text;
-   eddc.func.mem_alloc = mem_alloc_text;
-   _edje_edd_edje_part_description_text =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, common);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.r", text.color3.r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.g", text.color3.g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.b", text.color3.b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.a", text.color3.a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.text", text.text, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.text_class", text.text_class, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.style", text.style, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.font", text.font, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size_range_min", text.size_range_min, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size_range_max", text.size_range_max, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.repch", text.repch, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size", text.size, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.fit_x", text.fit_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.fit_y", text.fit_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.min_x", text.min_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.min_y", text.min_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.max_x", text.max_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.max_y", text.max_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.align.x", text.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.align.y", text.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.id_source", text.id_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.id_text_source", text.id_text_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.elipsis", text.elipsis, EET_T_DOUBLE);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
-   eddc.func.mem_free = mem_free_textblock;
-   eddc.func.mem_alloc = mem_alloc_textblock;
-   _edje_edd_edje_part_description_textblock =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, common);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.r", text.color3.r, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.g", text.color3.g, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.b", text.color3.b, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.a", text.color3.a, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.text", text.text, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.text_class", text.text_class, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.style", text.style, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.font", text.font, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.repch", text.repch, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size", text.size, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size_range_min", text.size_range_min, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size_range_max", text.size_range_max, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.fit_x", text.fit_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.fit_y", text.fit_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.min_x", text.min_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.min_y", text.min_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.max_x", text.max_x, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.max_y", text.max_y, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.align.x", text.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.align.y", text.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.id_source", text.id_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.id_text_source", text.id_text_source, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.elipsis", text.elipsis, EET_T_DOUBLE);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Box);
-   eddc.func.mem_free = mem_free_box;
-   eddc.func.mem_alloc = mem_alloc_box;
-   _edje_edd_edje_part_description_box =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, common);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.layout", box.layout, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.alt_layout", box.alt_layout, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.align.x", box.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.align.y", box.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.padding.x", box.padding.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.padding.y", box.padding.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.min.h", box.min.h, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.min.v", box.min.v, EET_T_UCHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Table);
-   eddc.func.mem_free = mem_free_table;
-   eddc.func.mem_alloc = mem_alloc_table;
-   _edje_edd_edje_part_description_table =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, common);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.homogeneous", table.homogeneous, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.align.x", table.align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.align.y", table.align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.padding.x", table.padding.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.padding.y", table.padding.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.min.h", table.min.h, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.min.v", table.min.v, EET_T_UCHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_External);
-   eddc.func.mem_free = mem_free_external;
-   eddc.func.mem_alloc = mem_alloc_external;
-   _edje_edd_edje_part_description_external =
-     eet_data_descriptor_file_new(&eddc);
-   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_external, Edje_Part_Description_External, common);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description_external, Edje_Part_Description_External, "external_params", external_params, _edje_edd_edje_external_param);
-
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_spacer);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_rectangle);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_swallow);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_group);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Image, part_description_image);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Proxy, part_description_proxy);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Text, part_description_text);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Text, part_description_textblock);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Box, part_description_box);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Table, part_description_table);
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_External, part_description_external);
-
-   eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
-   eddc.func.type_get = _edje_description_variant_type_get;
-   eddc.func.type_set = _edje_description_variant_type_set;
-   _edje_edd_edje_part_description_variant = eet_data_descriptor_file_new(&eddc);
-
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "spacer",    _edje_edd_edje_part_description_spacer);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "rectangle", _edje_edd_edje_part_description_rectangle);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "swallow",   _edje_edd_edje_part_description_swallow);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "group",     _edje_edd_edje_part_description_group);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "image",     _edje_edd_edje_part_description_image);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "proxy",     _edje_edd_edje_part_description_proxy);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "text",      _edje_edd_edje_part_description_text);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "textblock", _edje_edd_edje_part_description_textblock);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "box",       _edje_edd_edje_part_description_box);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "table",     _edje_edd_edje_part_description_table);
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "external",  _edje_edd_edje_part_description_external);
-
-#define EDJE_ADD_ARRAY_MAPPING(Variant, Type, Minus)                   \
-   {                                                                   \
-     Edje_Part_Description_List tmp;                                   \
-                                                                       \
-     eet_data_descriptor_element_add(Variant, Type,                    \
-                                    EET_T_UNKNOW, EET_G_VAR_ARRAY,     \
-                                    0, (char*)(&tmp.desc_count) - (char*)(&tmp), \
-                                    NULL,                              \
-                                    _edje_edd_edje_part_description_##Minus##_pointer); \
-   }
-
-   _edje_edd_edje_part_description_variant_list = eet_data_descriptor_file_new(&eddc);
-
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "rectangle", rectangle);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "spacer",    spacer);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "swallow",   swallow);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "group",     group);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "image",     image);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "proxy",     proxy);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "text",      text);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "textblock", textblock);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "box",       box);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "table",     table);
-   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "external",  external);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
-   _edje_edd_edje_pack_element =
-      eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "type", type, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "min.w", min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "min.h", min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "prefer.w", prefer.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "prefer.h", prefer.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "max.w", max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "max.h", max.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.l", padding.l, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.r", padding.r, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.t", padding.t, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.b", padding.b, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "align.x", align.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "align.y", align.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "weight.x", weight.x, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "weight.y", weight.y, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.w", aspect.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.h", aspect.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.mode", aspect.mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "options", options, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "col", col, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "row", row, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "colspan", colspan, EET_T_USHORT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "rowspan", rowspan, EET_T_USHORT);
-
-   EDJE_DEFINE_POINTER_TYPE(Pack_Element, pack_element);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part);
-   eddc.func.mem_free = mem_free_part;
-   eddc.func.mem_alloc = mem_alloc_part;
-   _edje_edd_edje_part =
-     eet_data_descriptor_file_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "name", name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "default_desc", default_desc, type, _edje_edd_edje_part_description_variant);
-   EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "other", other, type, _edje_edd_edje_part_description_variant_list);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source", source, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source2", source2, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source3", source3, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source4", source4, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source5", source5, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source6", source6, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.x", dragable.x, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.step_x", dragable.step_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.count_x", dragable.count_x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.y", dragable.y, EET_T_CHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.step_y", dragable.step_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.count_y", dragable.count_y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.counfine_id", dragable.confine_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.events_id", dragable.event_id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part, Edje_Part, "items", items, _edje_edd_edje_pack_element_pointer);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "type", type, EET_T_UCHAR);
-#ifdef HAVE_EPHYSICS
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "physics_body", physics_body, EET_T_UCHAR);
-#endif
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect", effect, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "mouse_events", mouse_events, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "repeat_events", repeat_events, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "scale", scale, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "precise_is_inside", precise_is_inside, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "pointer_mode", pointer_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "entry_mode", entry_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "select_mode", select_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "cursor_mode", cursor_mode, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "multiline", multiline, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "access", access, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.name", api.name, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.description", api.description, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "nested_children_count", nested_children_count, EET_T_UCHAR);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Limit);
-   _edje_edd_edje_part_limit = eet_data_descriptor_file_new(&eddc);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_limit, Edje_Part_Limit, "part", part, EET_T_INT);
-
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection);
-   _edje_edd_edje_part_collection  =
-     eet_data_descriptor_file_new(&eddc);
-
-   EDJE_DEFINE_POINTER_TYPE(Program, program);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.fnmatch", programs.fnmatch, _edje_edd_edje_program_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strcmp", programs.strcmp, _edje_edd_edje_program_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strncmp", programs.strncmp, _edje_edd_edje_program_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strrncmp", programs.strrncmp, _edje_edd_edje_program_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.nocmp", programs.nocmp, _edje_edd_edje_program_pointer);
-
-   EDJE_DEFINE_POINTER_TYPE(Part, part);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "parts", parts, _edje_edd_edje_part_pointer);
-
-   EDJE_DEFINE_POINTER_TYPE(Limit, limit);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.vertical", limits.vertical, _edje_edd_edje_limit_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.horizontal", limits.horizontal, _edje_edd_edje_limit_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.parts", limits.parts, _edje_edd_edje_part_limit);
-
-   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_part_collection, Edje_Part_Collection, "data", data, _edje_edd_edje_string);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "id", id, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_HASH_STRING(_edje_edd_edje_part_collection, Edje_Part_Collection, "alias", alias);
-   EET_DATA_DESCRIPTOR_ADD_HASH_STRING(_edje_edd_edje_part_collection, Edje_Part_Collection, "aliased", aliased);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.min.w", prop.min.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.min.h", prop.min.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.max.w", prop.max.w, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.max.h", prop.max.h, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "part", part, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "script_only", script_only, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "lua_script_only", lua_script_only, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.orientation", prop.orientation, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "broadcast_signal", broadcast_signal, EET_T_UCHAR);
-#ifdef HAVE_EPHYSICS
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.rate", physics.world.rate, EET_T_DOUBLE);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.x", physics.world.gravity.x, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.y", physics.world.gravity.y, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.z", physics.world.gravity.z, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.z", physics.world.z, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.depth", physics.world.depth, EET_T_INT);
-#endif
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics_enabled", physics_enabled, EET_T_UCHAR);
-}
-
-EAPI void
-_edje_data_font_list_desc_make(Eet_Data_Descriptor **_font_list_edd,
-                              Eet_Data_Descriptor **_font_edd)
-{  /* User have to free: _font_list_edd, _font_edd */
-   Eet_Data_Descriptor_Class eddc;
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                             "font", sizeof (Edje_Font));
-   *_font_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(*_font_edd, Edje_Font,
-                                 "file", file, EET_T_INLINED_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(*_font_edd, Edje_Font,
-                                 "name", name, EET_T_INLINED_STRING);
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc),
-                                             "font_list", sizeof (Edje_Font_List));
-   *_font_list_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(*_font_list_edd, Edje_Font_List,
-                                "list", list, *_font_edd);
-}
diff --git a/legacy/edje/src/lib/edje_edit.c b/legacy/edje/src/lib/edje_edit.c
deleted file mode 100644 (file)
index d688821..0000000
+++ /dev/null
@@ -1,7830 +0,0 @@
-/*
- * TODO
- * -----------------------------------------------------------------
- * Add LUA Support :)
- * Remove images/fonts
- * Clean the saving routines
- *
- */
-
-#include "edje_private.h"
-
-#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT
-#include "Edje_Edit.h"
-
-#include <Eo.h>
-
-#ifdef MY_CLASS
-# undef MY_CLASS
-#endif
-
-#define MY_CLASS EDJE_EDIT_CLASS
-
-static const char EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED_STR[] = "Current group cannot be deleted";
-static const char EDJE_EDIT_ERROR_GROUP_REFERENCED_STR[] = "Group still in use";
-static const char EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST_STR[] = "Group does not exist";
-
-EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED = 0 ;
-EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_REFERENCED = 0;
-EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST = 0;
-
-/* Get eed(Edje_Edit*) from obj(Evas_Object*) */
-#define GET_EED_OR_RETURN(RET) \
-   Edje_Edit *eed; \
-   if (!eo_isa(obj, MY_CLASS)) \
-     return RET; \
-   eed = eo_data_get(obj, MY_CLASS); \
-   if (!eed) return RET;
-
-/* Get ed(Edje*) from obj(Evas_Object*) */
-#define GET_ED_OR_RETURN(RET) \
-   Edje *ed; \
-   if (!eo_isa(obj, EDJE_OBJ_CLASS)) \
-     return RET; \
-   ed = eo_data_get(obj, EDJE_OBJ_CLASS); \
-
-/* Get rp(Edje_Real_Part*) from obj(Evas_Object*) and part(char*) */
-#define GET_RP_OR_RETURN(RET) \
-   GET_EED_OR_RETURN(RET) \
-   GET_ED_OR_RETURN(RET) \
-   Edje_Real_Part *rp; \
-   rp = _edje_real_part_get(ed, part); \
-   if (!rp) return RET;
-
-/* Get pd(Edje_Part_Description*) from obj(Evas_Object*), part(char*) and state (char*) */
-#define GET_PD_OR_RETURN(RET) \
-   GET_EED_OR_RETURN(RET) \
-   GET_ED_OR_RETURN(RET) \
-   Edje_Real_Part *rp; \
-   Edje_Part_Description_Common *pd; \
-   rp = _edje_real_part_get(ed, part); \
-   if (!rp) return RET; \
-   pd = _edje_part_description_find_byname(eed, part, state, value); \
-   if (!pd) return RET;
-
-/* Get epr(Edje_Program*) from obj(Evas_Object*) and prog(char*)*/
-#define GET_EPR_OR_RETURN(RET) \
-   Edje_Program *epr; \
-   if (!eo_isa(obj, MY_CLASS)) \
-     return RET; \
-   epr = _edje_program_get_byname(obj, prog); \
-   if (!epr) return RET;
-
-static void *
-_alloc(size_t size)
-{
-   void *mem;
-
-   mem = calloc(1, size);
-   if (mem) return mem;
-   ERR("Edje_Edit: Error. memory allocation of %i bytes failed. %s",
-       (int)size, strerror(errno));
-   return NULL;
-}
-
-/*************/
-/* INTERNALS */
-/*************/
-
-/* Edje_Edit smart! Overloads the edje one adding some more control stuff */
-static const char _edje_edit_type[] = "edje_edit";
-
-typedef struct _Edje_Edit Edje_Edit;
-struct _Edje_Edit
-{
-   Edje *base;
-
-   void *bytecode;
-   int bytecode_size;
-
-   char *embryo_source;
-   char *embryo_processed;
-   Eina_Hash *program_scripts;
-
-   Eina_List *errors;
-
-   Eina_Bool bytecode_dirty:1;
-   Eina_Bool embryo_source_dirty:1;
-   Eina_Bool all_dirty:1;
-   Eina_Bool script_need_recompile:1;
-};
-
-typedef struct _Program_Script Program_Script;
-struct _Program_Script
-{
-   int id;
-   char *code;
-   char *processed;
-   Eina_Bool dirty:1;
-   Eina_Bool delete_me:1;
-};
-
-static Eina_Bool _edje_edit_edje_file_save(Eet_File *eetf, Edje_File *ef);
-
-static void
-_edje_edit_data_clean(Edje_Edit *eed)
-{
-   Edje_Edit_Script_Error *se;
-
-   free(eed->bytecode);
-   free(eed->embryo_source);
-   free(eed->embryo_processed);
-
-   if (eed->program_scripts)
-     eina_hash_free(eed->program_scripts);
-
-   EINA_LIST_FREE(eed->errors, se)
-     {
-        eina_stringshare_del(se->program_name);
-        eina_stringshare_del(se->error_str);
-        free(se);
-     }
-
-   eed->bytecode = NULL;
-   eed->embryo_source = NULL;
-   eed->embryo_processed = NULL;
-   eed->program_scripts = NULL;
-   eed->bytecode_size = 0;
-   eed->bytecode_dirty = EINA_FALSE;
-   eed->embryo_source_dirty = EINA_FALSE;
-   eed->all_dirty = EINA_FALSE;
-   eed->script_need_recompile = EINA_FALSE;
-}
-
-static void
-_edje_edit_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje_Edit *eed = _pd;
-   _edje_edit_data_clean(eed);
-
-   eo_do_super(obj, evas_obj_smart_del());
-}
-
-static void
-_edje_edit_program_script_free(Program_Script *ps)
-{
-   free(ps->code);
-   free(ps->processed);
-   free(ps);
-}
-
-static void
-_edje_edit_smart_file_set(Eo *obj, void *_pd, va_list *list)
-{
-   const char *file = va_arg(*list, const char *);
-   const char *group= va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje_Edit *eed = _pd;
-   Eet_File *ef;
-   char **keys, buf[64];
-   int count, i;
-   int len = strlen("edje/scripts/embryo/source/");
-
-   if (ret) *ret = EINA_FALSE;
-
-   _edje_edit_data_clean(eed);
-
-   /* TODO and maybes:
-    *  * The whole point of this thing is keep track of stuff such as
-    *    strings to free and who knows what, so we need to take care
-    *    of those if the file/group changes.
-    *  * Maybe have the possibility to open just files, not always with
-    *    a group given.
-    *  * A way to skip the cache? Could help avoid some issues when editing
-    *    a group being used by the application in some other way, or multiple
-    *    opens of the same file.
-    *  * Here we probably want to allow opening groups with broken references
-    *    (GROUP parts or BOX/TABLE items pointing to non-existent/renamed
-    *    groups).
-    */
-   Eina_Bool int_ret = EINA_FALSE;
-   eo_do_super(obj, edje_obj_file_set(file, group, &int_ret));
-   if (!int_ret)
-     return;
-
-   eed->program_scripts = eina_hash_int32_new((Eina_Free_Cb)_edje_edit_program_script_free);
-
-   ef = eet_open(file, EET_FILE_MODE_READ);
-
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
-            eed->base->collection->id);
-   eed->embryo_source = eet_read(ef, buf, &count);
-
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/*",
-            eed->base->collection->id);
-   keys = eet_list(ef, buf, &count);
-   for (i = 0; i < count; i++)
-     {
-        Program_Script *ps;
-        int size;
-
-        ps = calloc(1, sizeof(Program_Script));
-
-        sscanf(keys[i] + len, "%*i/%i", &ps->id);
-        ps->code = eet_read(ef, keys[i], &size);
-        eina_hash_add(eed->program_scripts, &ps->id, ps);
-     }
-   if (keys) free(keys);
-   eet_close(ef);
-
-   if (ret) *ret = EINA_TRUE;
-}
-
-static void
-_edje_edit_error_register(void)
-{
-   EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST =
-     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST_STR);
-   EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED =
-     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED_STR);
-   EDJE_EDIT_ERROR_GROUP_REFERENCED =
-     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_REFERENCED_STR);
-}
-
-EAPI Evas_Object *
-edje_edit_object_add(Evas *evas)
-{
-   Evas_Object *e;
-   e = eo_add(MY_CLASS, evas);
-   eo_unref(e);
-   return e;
-}
-
-static void
-_edje_edit_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
-{
-   Edje_Edit *eed = class_data;
-   eed->base = eo_data_get(obj, EDJE_OBJ_CLASS);
-
-   eo_do_super(obj, eo_constructor());
-   eina_error_set(0);
-
-   if (!EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST)
-     _edje_edit_error_register();
-}
-/* End of Edje_Edit smart stuff */
-
-static Edje_Part_Description_Common *
-_edje_part_description_find_byname(Edje_Edit *eed, const char *part, const char *state, double value)
-{
-   Edje_Real_Part *rp;
-   Edje_Part_Description_Common *pd;
-
-   if (!eed || !part || !state) return NULL;
-
-   rp = _edje_real_part_get((Edje *)eed, part);
-   if (!rp) return NULL;
-
-   pd = _edje_part_description_find((Edje *)eed, rp, state, value);
-
-   return pd;
-}
-
-static int
-_edje_image_id_find(Edje_Edit *eed, const char *image_name)
-{
-   unsigned int i;
-
-   if (!eed->base->file) return -1;
-   if (!eed->base->file->image_dir) return -1;
-
-   //printf("SEARCH IMAGE %s\n", image_name);
-
-   for (i = 0; i < eed->base->file->image_dir->entries_count; ++i)
-     if (eed->base->file->image_dir->entries[i].entry
-        && !strcmp(image_name, eed->base->file->image_dir->entries[i].entry))
-       return i;
-
-   return -1;
-}
-
-static const char *
-_edje_image_name_find(Edje_Edit *eed, int image_id)
-{
-   if (!eed->base->file) return NULL;
-   if (!eed->base->file->image_dir) return NULL;
-
-   /* Special case for external image */
-   if (image_id < 0) image_id = -image_id - 1;
-
-   //printf("SEARCH IMAGE ID %d\n", image_id);
-   if ((unsigned int) image_id >= eed->base->file->image_dir->entries_count)
-     return NULL;
-   return eed->base->file->image_dir->entries[image_id].entry;
-}
-
-static void
-_edje_real_part_free(Edje_Real_Part *rp)
-{
-   if (!rp) return;
-
-   if (rp->object)
-     {
-       _edje_callbacks_del(rp->object, rp->edje);
-       evas_object_del(rp->object);
-     }
-
-   if (rp->typedata.swallow->swallowed_object)
-     {
-       evas_object_smart_member_del(rp->typedata.swallow->swallowed_object);
-       evas_object_event_callback_del(rp->typedata.swallow->swallowed_object,
-                                      EVAS_CALLBACK_FREE,
-                                      _edje_object_part_swallow_free_cb);
-       evas_object_clip_unset(rp->typedata.swallow->swallowed_object);
-       evas_object_data_del(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part");
-       if (rp->part->mouse_events)
-         _edje_callbacks_del(rp->typedata.swallow->swallowed_object, rp->edje);
-
-       if (rp->part->type == EDJE_PART_TYPE_GROUP ||
-           rp->part->type == EDJE_PART_TYPE_EXTERNAL)
-         evas_object_del(rp->typedata.swallow->swallowed_object);
-
-       rp->typedata.swallow->swallowed_object = NULL;
-     }
-
-   if (rp->typedata.text->text) eina_stringshare_del(rp->typedata.text->text);
-   if (rp->typedata.text->font) eina_stringshare_del(rp->typedata.text->font);
-   if (rp->typedata.text->cache.in_str) eina_stringshare_del(rp->typedata.text->cache.in_str);
-   if (rp->typedata.text->cache.out_str) eina_stringshare_del(rp->typedata.text->cache.out_str);
-
-   if (rp->custom)
-     {
-       _edje_collection_free_part_description_clean(rp->part->type, rp->custom->description, 0);
-        if (rp->custom) free(rp->custom->set);
-        eina_mempool_free(_edje_real_part_state_mp, rp->custom);
-       rp->custom = NULL;
-     }
-
-   free(rp->drag);
-
-   if (rp->param2) free(rp->param2->set);
-   eina_mempool_free(_edje_real_part_state_mp, rp->param2);
-
-   _edje_unref(rp->edje);
-   eina_mempool_free(_edje_real_part_mp, rp);
-}
-
-static Eina_Bool
-_edje_import_font_file(Edje *ed, const char *path, const char *entry)
-{
-   Eina_File *f;
-   Eet_File *eetf = NULL;
-   void *fdata = NULL;
-   long fsize = 0;
-
-   /* Read font data from file */
-   f = eina_file_open(path, 0);
-   if (!f)
-     {
-        ERR("Unable to open font file \"%s\"", path);
-        return EINA_FALSE;
-     }
-
-   fsize = eina_file_size_get(f);
-   fdata = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
-   if (!fdata)
-     {
-        ERR("Unable to map font file \"%s\"", path);
-        goto on_error;
-     }
-
-   /* Write font to edje file */
-   eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
-   if (!eetf)
-     {
-        ERR("Unable to open \"%s\" for writing output", ed->path);
-        goto on_error;
-     }
-
-   if (eet_write(eetf, entry, fdata, fsize, 1) <= 0)
-     {
-        ERR("Unable to write font part \"%s\" as \"%s\" part entry",
-            path, entry);
-        goto on_error;
-     }
-
-   /* write the edje_file */
-   if (!_edje_edit_edje_file_save(eetf, ed->file))
-     goto on_error;
-
-   eet_close(eetf);
-
-   eina_file_map_free(f, fdata);
-   eina_file_close(f);
-
-   return EINA_TRUE;
-
- on_error:
-   if (eetf) eet_close(eetf);
-   eina_file_map_free(f, fdata);
-   eina_file_close(f);
-
-   return EINA_FALSE;
-}
-
-
-static Eina_Bool
-_edje_import_image_file(Edje *ed, const char *path, int id)
-{
-   char entry[PATH_MAX];
-   Evas_Object *im;
-   Eet_File *eetf;
-   void *im_data;
-   int  im_w, im_h;
-   int  im_alpha;
-   int bytes;
-
-   /* Try to load the file */
-   im = evas_object_image_add(ed->base->evas);
-   if (!im) return EINA_FALSE;
-
-   evas_object_image_file_set(im, path, NULL);
-   if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE)
-     {
-        ERR("Edje_Edit: unable to load image \"%s\"."
-           "Missing PNG or JPEG loader modules for Evas or "
-           "file does not exist, or is not readable.", path);
-        evas_object_del(im);
-       im = NULL;
-       return EINA_FALSE;
-     }
-
-   /* Write the loaded image to the edje file */
-
-   evas_object_image_size_get(im, &im_w, &im_h);
-   im_alpha = evas_object_image_alpha_get(im);
-   im_data = evas_object_image_data_get(im, 0);
-   if ((!im_data) || !(im_w > 0) || !(im_h > 0))
-     {
-       evas_object_del(im);
-       return EINA_FALSE;
-     }
-
-   /* open the eet file */
-   eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
-   if (!eetf)
-     {
-       ERR("Unable to open \"%s\" for writing output", ed->path);
-       evas_object_del(im);
-       return EINA_FALSE;
-     }
-
-   snprintf(entry, sizeof(entry), "edje/images/%i", id);
-
-   /* write the image data */
-   bytes = eet_data_image_write(eetf, entry,
-                               im_data, im_w, im_h,
-                               im_alpha,
-                               0, 100, 1);
-   if (bytes <= 0)
-     {
-       ERR("Unable to write image part \"%s\" part entry to %s",
-           entry, ed->path);
-       eet_close(eetf);
-       evas_object_del(im);
-       return EINA_FALSE;
-     }
-
-   evas_object_del(im);
-
-   /* write the edje_file */
-   if (!_edje_edit_edje_file_save(eetf, ed->file))
-     {
-       eet_delete(eetf, entry);
-       eet_close(eetf);
-       return EINA_FALSE;
-     }
-
-   eet_close(eetf);
-   return EINA_TRUE;
-}
-
-static int
-_edje_part_id_find(Edje *ed, const char *part)
-{
-   unsigned int id;
-
-   for (id = 0; id < ed->table_parts_size; id++)
-     {
-       Edje_Real_Part *rp = ed->table_parts[id];
-
-       if (!strcmp(rp->part->name, part))
-         return id;
-     }
-   return -1;
-}
-
-static void
-_edje_part_description_id_set(int type, Edje_Part_Description_Common *c, int old_id, int new_id)
-{
-   if (c->rel1.id_x == old_id) c->rel1.id_x = new_id;
-   if (c->rel1.id_y == old_id) c->rel1.id_y = new_id;
-   if (c->rel2.id_x == old_id) c->rel2.id_x = new_id;
-   if (c->rel2.id_y == old_id) c->rel2.id_y = new_id;
-
-   if (type == EDJE_PART_TYPE_TEXT
-       || type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-       Edje_Part_Description_Text *t;
-
-       t = (Edje_Part_Description_Text *) c;
-
-       if (t->text.id_source == old_id) t->text.id_source = new_id;
-       if (t->text.id_text_source == old_id) t->text.id_text_source = new_id;
-     }
-}
-
-static void
-_edje_part_program_id_set(Edje_Program *epr, int old_id, int new_id)
-{
-   Edje_Program_Target *pt;
-   Eina_List *ll, *l_next;
-
-   if (epr->action != EDJE_ACTION_TYPE_STATE_SET)
-     return;
-
-   EINA_LIST_FOREACH_SAFE(epr->targets, ll, l_next, pt)
-     {
-       if (pt->id == old_id)
-         {
-            if (new_id == -1)
-              epr->targets = eina_list_remove_list(epr->targets, ll);
-            else
-              pt->id = new_id;
-         }
-     }
-}
-
-static void
-_edje_part_id_set(Edje *ed, Edje_Real_Part *rp, int new_id)
-{
-   /* This function change the id of a given real_part.
-    * All the depedency will be updated too.
-    * Also the table_parts is updated, and the current *rp in the table
-    * is lost.
-    * If new Id = -1 then all the depencies will be deleted
-    */
-   Edje_Part *part;
-   unsigned int j;
-   int old_id;
-
-   part = rp->part;
-
-   if (!part) return;
-   //printf("CHANGE ID OF PART %s TO %d\n", part->name, new_id);
-
-   if (!ed || new_id < -1) return;
-
-   if (part->id == new_id) return;
-
-   old_id = part->id;
-   part->id = new_id;
-
-   /* Fix all the dependecies in all parts... */
-   for (j = 0; j < ed->collection->parts_count; ++j)
-     {
-       Edje_Part *p;
-       unsigned int k;
-
-       p = ed->collection->parts[j];
-
-       //printf("   search id: %d in %s\n", old_id, p->name);
-       if (p->clip_to_id == old_id) p->clip_to_id = new_id;
-       if (p->dragable.confine_id == old_id) p->dragable.confine_id = new_id;
-
-       /* ...in default description */
-       _edje_part_description_id_set(p->type, p->default_desc, old_id, new_id);
-
-       /* ...and in all other descriptions */
-       for (k = 0; k < p->other.desc_count; ++k)
-         _edje_part_description_id_set(p->type, p->other.desc[k], old_id, new_id);
-     }
-
-   /*...and also in programs targets */
-#define EDJE_EDIT_PROGRAM_ID_SET(Array, Ed, It, Old, New)              \
-   for (It = 0; It < Ed->collection->programs.Array##_count; ++It)     \
-     _edje_part_program_id_set(Ed->collection->programs.Array[It], Old, New);
-
-   EDJE_EDIT_PROGRAM_ID_SET(fnmatch, ed, j, old_id, new_id);
-   EDJE_EDIT_PROGRAM_ID_SET(strcmp, ed, j, old_id, new_id);
-   EDJE_EDIT_PROGRAM_ID_SET(strncmp, ed, j, old_id, new_id);
-   EDJE_EDIT_PROGRAM_ID_SET(strrncmp, ed, j, old_id, new_id);
-   EDJE_EDIT_PROGRAM_ID_SET(nocmp, ed, j, old_id, new_id);
-
-   /* Adjust table_parts */
-   if (new_id >= 0)
-     ed->table_parts[new_id] = rp;
-}
-
-static void
-_edje_part_description_id_switch(int type, Edje_Part_Description_Common *c, int id1, int id2)
-{
-   if (c->rel1.id_x == id1) c->rel1.id_x = id2;
-   else if (c->rel1.id_x == id2) c->rel1.id_x = id1;
-   if (c->rel1.id_y == id1) c->rel1.id_y = id2;
-   else if (c->rel1.id_y == id2) c->rel1.id_y = id1;
-   if (c->rel2.id_x == id1) c->rel2.id_x = id2;
-   else if (c->rel2.id_x == id2) c->rel2.id_x = id1;
-   if (c->rel2.id_y == id1) c->rel2.id_y = id2;
-   else if (c->rel2.id_y == id2) c->rel2.id_y = id1;
-
-   if (type == EDJE_PART_TYPE_TEXT
-       || type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-       Edje_Part_Description_Text *t;
-
-       t = (Edje_Part_Description_Text *) c;
-
-       if (t->text.id_source == id1) t->text.id_source = id2;
-       else if (t->text.id_source == id2) t->text.id_source = id1;
-       if (t->text.id_text_source == id1) t->text.id_text_source = id2;
-       else if (t->text.id_text_source == id2) t->text.id_text_source = id2;
-     }
-}
-
-static void
-_edje_part_program_id_switch(Edje_Program *epr, int id1, int id2)
-{
-   Edje_Program_Target *pt;
-   Eina_List *ll;
-
-   if (epr->action != EDJE_ACTION_TYPE_STATE_SET)
-     return;
-
-   EINA_LIST_FOREACH(epr->targets, ll, pt)
-     {
-       if (pt->id == id1) pt->id = id2;
-       else if (pt->id == id2) pt->id = id1;
-     }
-}
-
-static void
-_edje_parts_id_switch(Edje *ed, Edje_Real_Part *rp1, Edje_Real_Part *rp2)
-{
-   /* This function switch the id of two parts.
-    * All the depedency will be updated too.
-    * Also the table_parts is updated,
-    * The parts list isn't touched
-    */
-   int id1;
-   int id2;
-   unsigned int i;
-
-   //printf("SWITCH ID OF PART %d AND %d\n", rp1->part->id, rp2->part->id);
-
-   if (!ed || !rp1 || !rp2) return;
-   if (rp1 == rp2) return;
-
-   id1 = rp1->part->id;
-   id2 = rp2->part->id;
-
-   /* Switch ids */
-   rp1->part->id = id2;
-   rp2->part->id = id1;
-
-   /* adjust table_parts */
-   ed->table_parts[id1] = rp2;
-   ed->table_parts[id2] = rp1;
-
-   // Fix all the dependecies in all parts...
-   for (i = 0; i < ed->collection->parts_count; ++i)
-     {
-       unsigned int j;
-       Edje_Part *p;
-
-       p = ed->collection->parts[i];
-
-       //printf("   search id: %d in %s\n", old_id, p->name);
-       if (p->clip_to_id == id1) p->clip_to_id = id2;
-       else if (p->clip_to_id == id2) p->clip_to_id = id1;
-       if (p->dragable.confine_id == id1) p->dragable.confine_id = id2;
-       else if (p->dragable.confine_id == id2) p->dragable.confine_id = id1;
-
-       // ...in default description
-       _edje_part_description_id_switch(p->type, p->default_desc, id1, id2);
-
-       // ...and in all other descriptions
-       for (j = 0; j < p->other.desc_count; ++j)
-         _edje_part_description_id_switch(p->type, p->other.desc[j], id1, id2);
-     }
-
-   //...and also in programs targets
-#define EDJE_EDIT_PROGRAM_SWITCH(Array, Ed, It, Id1, Id2)              \
-   for (It = 0; It < Ed->collection->programs.Array##_count; ++It)     \
-     _edje_part_program_id_switch(Ed->collection->programs.Array[i], Id1, Id2);
-
-   EDJE_EDIT_PROGRAM_SWITCH(fnmatch, ed, i, id1, id2);
-   EDJE_EDIT_PROGRAM_SWITCH(strcmp, ed, i, id1, id2);
-   EDJE_EDIT_PROGRAM_SWITCH(strncmp, ed, i, id1, id2);
-   EDJE_EDIT_PROGRAM_SWITCH(strrncmp, ed, i, id1, id2);
-   EDJE_EDIT_PROGRAM_SWITCH(nocmp, ed, i, id1, id2);
-   //TODO Real part dependencies are ok?
-}
-
-static void
-_edje_fix_parts_id(Edje *ed)
-{
-   /* We use this to clear the id hole leaved when a part is removed.
-    * After the execution of this function all parts will have a right
-    * (uniqe & ordered) id. The table_parts is also updated.
-    */
-   unsigned int i;
-   int correct_id;
-   unsigned int count;
-
-   //printf("FIXING PARTS ID \n");
-
-   //TODO order the list first to be more robust
-
-   /* Give a correct id to all the parts */
-   correct_id = 0;
-   for (i = 0; i < ed->collection->parts_count; ++i)
-     {
-       Edje_Part *p;
-
-       p = ed->collection->parts[i];
-
-       //printf(" [%d]Checking part: %s id: %d\n", correct_id, p->name, p->id);
-       if (p->id != correct_id)
-         if (ed->table_parts[p->id])
-           _edje_part_id_set(ed, ed->table_parts[p->id], correct_id);
-
-       correct_id++;
-     }
-
-   /* If we have removed some parts realloc table_parts */
-   count = ed->collection->parts_count;
-   if (count != ed->table_parts_size)
-     {
-        ed->table_parts = realloc(ed->table_parts, sizeof(Edje_Real_Part *) * count);
-        ed->table_parts_size = count;
-     }
-
-   //printf("\n");
-}
-
-static void
-_edje_if_string_free(Edje *ed, const char *str)
-{
-   Eet_Dictionary *dict;
-
-   if (!ed || !str) return;
-
-   dict = eet_dictionary_get(ed->file->ef);
-   if (eet_dictionary_string_check(dict, str)) return;
-   eina_stringshare_del(str);
-   str = NULL;
-}
-
-static Edje_Style *
-_edje_edit_style_get(Edje *ed, const char *name)
-{
-   Eina_List *l;
-   Edje_Style *s;
-
-   if (!ed || !ed->file || !ed->file->styles || !name)
-      return NULL;
-
-   EINA_LIST_FOREACH(ed->file->styles, l, s)
-      if (s->name && !strcmp(s->name, name))
-         return s;
-
-   return NULL;
-}
-
-static Edje_Style_Tag *
-_edje_edit_style_tag_get(Edje *ed, const char *style, const char *name)
-{
-   Eina_List *l;
-   Edje_Style *s;
-   Edje_Style_Tag *t;
-
-   if (!ed || !ed->file || !ed->file->styles || !name)
-      return NULL;
-
-   s = _edje_edit_style_get(ed, style);
-
-   EINA_LIST_FOREACH(s->tags, l, t)
-      if (t->key && !strcmp(t->key, name))
-         return t;
-
-   return NULL;
-}
-
-static Edje_External_Directory_Entry *
-_edje_edit_external_get(Edje *ed, const char *name)
-{
-   unsigned int i;
-
-   if (!ed || !ed->file || !ed->file->external_dir || !name)
-     return NULL;
-
-   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
-     if (ed->file->external_dir->entries[i].entry
-        && !strcmp(ed->file->external_dir->entries[i].entry, name))
-       return ed->file->external_dir->entries + i;
-
-   return NULL;
-}
-
-static void
-_edje_edit_group_references_update(Evas_Object *obj, const char *old_group_name, const char *new_group_name)
-{
-   Eina_Iterator *i;
-   Eina_List *pll, *pl;
-//   Edje_Part_Collection *pc;
-   Edje_Part_Collection_Directory_Entry *pce;
-   char *part_name;
-   const char *source, *old;
-   Edje_Part_Type type;
-   Evas_Object *part_obj;
-
-   GET_ED_OR_RETURN();
-
-//   pc = ed->collection;
-
-   part_obj = edje_edit_object_add(ed->base->evas);
-
-   old = eina_stringshare_add(old_group_name);
-
-   i = eina_hash_iterator_data_new(ed->file->collection);
-
-   EINA_ITERATOR_FOREACH(i, pce)
-     {
-       edje_object_file_set(part_obj, ed->file->path, pce->entry);
-
-       pl = edje_edit_parts_list_get(part_obj);
-
-       EINA_LIST_FOREACH(pl, pll, part_name)
-         {
-            source = edje_edit_part_source_get(part_obj, part_name);
-            type = edje_edit_part_type_get(part_obj, part_name);
-
-            if (type ==  EDJE_PART_TYPE_GROUP && source == old)
-              edje_edit_part_source_set(part_obj, part_name, new_group_name);
-
-            if (source)
-              eina_stringshare_del(source);
-         }
-     }
-
-   eina_iterator_free(i);
-
-   eina_stringshare_del(old);
-
-   evas_object_del(part_obj);
-}
-
-static void
-_edje_edit_flag_script_dirty(Edje_Edit *eed, Eina_Bool all)
-{
-   eed->script_need_recompile = EINA_TRUE;
-   if (all)
-     eed->all_dirty = EINA_TRUE;
-}
-
-/*****************/
-/*  GENERAL API  */
-/*****************/
-
-EAPI void
-edje_edit_string_list_free(Eina_List *lst)
-{
-   eina_error_set(0);
-   //printf("FREE LIST: \n");
-   while (lst)
-     {
-        if (eina_list_data_get(lst)) eina_stringshare_del(eina_list_data_get(lst));
-       //printf("FREE: %s\n", eina_list_data_get(lst));
-       lst = eina_list_remove(lst, eina_list_data_get(lst));
-     }
-}
-
-EAPI void
-edje_edit_string_free(const char *str)
-{
-   eina_error_set(0);
-
-   if (str) eina_stringshare_del(str);
-}
-
-EAPI const char*
-edje_edit_compiler_get(Evas_Object *obj)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(0);
-   return eina_stringshare_add(ed->file->compiler);
-}
-
-/****************/
-/*  GROUPS API  */
-/****************/
-
-EAPI Eina_Bool
-edje_edit_group_add(Evas_Object *obj, const char *name)
-{
-   Edje_Part_Collection_Directory_Entry *de;
-   Edje_Part_Collection_Directory_Entry *d;
-   Edje_Part_Collection *pc;
-   int id;
-   int search;
-   //Code *cd;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   //printf("ADD GROUP: %s \n", name);
-
-   /* check if a group with the same name already exists */
-   if (eina_hash_find(ed->file->collection, name))
-     return EINA_FALSE;
-
-   /* Create structs */
-   de = _alloc(sizeof(Edje_Part_Collection_Directory_Entry));
-   if (!de) return EINA_FALSE;
-
-   pc = _alloc(sizeof(Edje_Part_Collection));
-   if (!pc)
-     {
-       free(de);
-       return EINA_FALSE;
-     }
-
-   /* Search first free id */
-   id = -1;
-   search = 0;
-   while (id == -1)
-     {
-       Eina_Iterator *i;
-       Eina_Bool found = 0;
-
-       i = eina_hash_iterator_data_new(ed->file->collection);
-
-       EINA_ITERATOR_FOREACH(i, d)
-         {
-            // printf("search if %d is free [id %d]\n", search, d->id);
-            if (search == d->id)
-              {
-                 found = 1;
-                 break;
-              }
-         }
-
-       eina_iterator_free(i);
-
-       if (!found) id = search;
-       else search++;
-     }
-
-   /* Init Edje_Part_Collection_Directory_Entry */
-   //printf(" new id: %d\n", id);
-   de->id = id;
-   de->entry = eina_stringshare_add(name);
-   eina_hash_direct_add(ed->file->collection, de->entry, de);
-
-   /* Init Edje_Part_Collection */
-   pc->id = id;
-   pc->references = 0;
-   memset(&pc->programs, 0, sizeof (pc->programs));
-   pc->parts = NULL;
-   pc->data = NULL;
-   pc->script = NULL;
-   pc->part = eina_stringshare_add(name);
-
-   //cd = _alloc(sizeof(Code));
-   //codes = eina_list_append(codes, cd);
-#define EDIT_EMN(Tp, Sz, Ce)                                                   \
-   Ce->mp.Tp = eina_mempool_add("chained_mempool", #Tp, NULL, sizeof (Sz), 8);
-
-   EDIT_EMN(RECTANGLE, Edje_Part_Description_Common, de);
-   EDIT_EMN(TEXT, Edje_Part_Description_Text, de);
-   EDIT_EMN(IMAGE, Edje_Part_Description_Image, de);
-   EDIT_EMN(SWALLOW, Edje_Part_Description_Common, de);
-   EDIT_EMN(TEXTBLOCK, Edje_Part_Description_Text, de);
-   EDIT_EMN(GROUP, Edje_Part_Description_Common, de);
-   EDIT_EMN(BOX, Edje_Part_Description_Box, de);
-   EDIT_EMN(TABLE, Edje_Part_Description_Table, de);
-   EDIT_EMN(EXTERNAL, Edje_Part_Description_External, de);
-   EDIT_EMN(SPACER, Edje_Part_Description_Common, de);
-   EDIT_EMN(part, Edje_Part, de);
-
-   ed->file->collection_cache = eina_list_prepend(ed->file->collection_cache, pc);
-   _edje_cache_coll_clean(ed->file);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_group_del(Evas_Object *obj, const char *group_name)
-{
-   Edje_Part_Collection_Directory_Entry *e;
-   Edje_Part_Collection *die = NULL;
-   Edje_Part_Collection *g;
-   Eina_List *l;
-   Eet_File *eetf;
-   char buf[64], **keys;
-   int count;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   /* if (eina_hash_find(ed->file->collection_hash, group_name)) */
-   /*   return EINA_FALSE; */
-
-   if (strcmp(ed->group, group_name) == 0)
-     {
-       eina_error_set(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED);
-       return EINA_FALSE;
-     }
-
-   e = eina_hash_find(ed->file->collection, group_name);
-   if (!e)
-     {
-       eina_error_set(EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST);
-       return EINA_FALSE;
-     }
-
-   if (e->id == ed->collection->id)
-     {
-       eina_error_set(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED);
-       return EINA_FALSE;
-     }
-
-   if (e->ref)
-     {
-       eina_error_set(EDJE_EDIT_ERROR_GROUP_REFERENCED);
-       return EINA_FALSE;
-     }
-
-   _edje_edit_group_references_update(obj, group_name, NULL);
-
-   EINA_LIST_FOREACH(ed->file->collection_cache, l, g)
-     if (g->id == e->id)
-       {
-         ed->file->collection_cache =
-           eina_list_remove_list(ed->file->collection_cache, l);
-         die = g;
-         break;
-       }
-
-   /* Remove collection/id from eet file */
-   eetf = eet_open(ed->file->path, EET_FILE_MODE_READ_WRITE);
-   if (!eetf)
-     {
-       ERR("Edje_Edit: Error. unable to open \"%s\" "
-           "for writing output", ed->file->path);
-       return EINA_FALSE;
-     }
-   snprintf(buf, sizeof(buf), "edje/collections/%d", e->id);
-   eet_delete(eetf, buf);
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%d", e->id);
-   eet_delete(eetf, buf);
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%d", e->id);
-   eet_delete(eetf, buf);
-   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%d/*", e->id);
-   keys = eet_list(eetf, buf, &count);
-   if (keys)
-     {
-        do
-          {
-             count--;
-             eet_delete(eetf, keys[count]);
-          }
-        while(count);
-        free(keys);
-     }
-   eet_close(eetf);
-
-   /* Free Group */
-   if (die) _edje_collection_free(ed->file, die, e);
-   eina_hash_del(ed->file->collection, group_name, e);
-
-   /* we need to save everything to make sure the file won't have broken
-    * references the next time is loaded */
-   edje_edit_save_all(obj);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_group_exist(Evas_Object *obj, const char *group)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (eina_hash_find(ed->file->collection, group))
-     return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_group_name_set(Evas_Object *obj, const char *new_name)
-{
-   Edje_Part_Collection_Directory_Entry *pce;
-   Edje_Part_Collection *pc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!new_name) return EINA_FALSE;
-
-   pc = ed->collection;
-
-   if (!strcmp(pc->part, new_name)) return EINA_TRUE;
-
-   if (edje_edit_group_exist(obj, new_name)) return EINA_FALSE;
-
-   _edje_edit_group_references_update(obj, pc->part, new_name);
-
-   //printf("Set name of current group: %s [id: %d][new name: %s]\n",
-       // pc->part, pc->id, new_name);
-
-   //if (pc->part && ed->file->free_strings) eina_stringshare_del(pc->part); TODO FIXME
-   pce = eina_hash_find(ed->file->collection, pc->part);
-
-   eina_hash_move(ed->file->collection, pce->entry, new_name);
-
-   pce->entry = eina_stringshare_add(new_name);
-   pc->part = pce->entry;
-   eina_stringshare_replace(&ed->group, new_name);
-
-   return EINA_TRUE;
-}
-
-#define FUNC_GROUP_ACCESSOR(Class, Value)                      \
-  EAPI int                                                     \
-  edje_edit_group_##Class##_##Value##_get(Evas_Object *obj)    \
-  {                                                            \
-     eina_error_set(0);                                                \
-     GET_ED_OR_RETURN(-1);                                     \
-     if (!ed->collection) return -1;                           \
-     return ed->collection->prop.Class.Value;                  \
-  }                                                            \
-  EAPI void                                                    \
-  edje_edit_group_##Class##_##Value##_set(Evas_Object *obj, int v)     \
-  {                                                            \
-     eina_error_set(0);                                                \
-     GET_ED_OR_RETURN();                                       \
-     ed->collection->prop.Class.Value = v;                     \
-  }
-
-FUNC_GROUP_ACCESSOR(min, w);
-FUNC_GROUP_ACCESSOR(min, h);
-FUNC_GROUP_ACCESSOR(max, w);
-FUNC_GROUP_ACCESSOR(max, h);
-
-/***************/
-/*  DATA API   */
-/***************/
-
-EAPI Eina_List *
-edje_edit_group_data_list_get(Evas_Object * obj)
-{
-   Eina_Iterator *it;
-   Eina_List *datas = NULL;
-   const char *key;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->collection || !ed->collection->data)
-     return NULL;
-
-   it = eina_hash_iterator_key_new(ed->collection->data);
-   if (!it) return NULL;
-
-   EINA_ITERATOR_FOREACH(it, key)
-     datas = eina_list_append(datas, eina_stringshare_add(key));
-
-   eina_iterator_free(it);
-
-   return datas;
-}
-
-EAPI Eina_List *
-edje_edit_data_list_get(Evas_Object * obj)
-{
-   Eina_Iterator *i;
-   Eina_List *datas = NULL;
-   const char *key;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->data)
-     return NULL;
-
-   i = eina_hash_iterator_key_new(ed->file->data);
-
-   EINA_ITERATOR_FOREACH(i, key)
-     datas = eina_list_append(datas, eina_stringshare_add(key));
-
-   eina_iterator_free(i);
-
-   return datas;
-}
-
-EAPI Eina_Bool
-edje_edit_group_data_add(Evas_Object *obj, const char *key, const char *value)
-{
-   Edje_String *es;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!key || !ed->file || !ed->collection)
-     return EINA_FALSE;
-
-   if (!ed->collection->data)
-     ed->collection->data = eina_hash_string_small_new(NULL);
-
-   if (eina_hash_find(ed->collection->data, key))
-     return EINA_FALSE;
-
-   es = calloc(1, sizeof(Edje_String));
-   if (!es)
-     return EINA_FALSE;
-   es->str = eina_stringshare_add(value);
-
-   if (!eina_hash_add(ed->collection->data, key, es))
-     {
-        eina_stringshare_del(es->str);
-        free(es);
-        return EINA_FALSE;
-     }
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_data_add(Evas_Object *obj, const char *itemname, const char *value)
-{
-   Edje_String *es;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!itemname || !ed->file)
-     return EINA_FALSE;
-
-   if (eina_hash_find(ed->file->data, itemname))
-     return EINA_FALSE;
-
-   es = calloc(1, sizeof(Edje_String));
-   if (!es)
-     return EINA_FALSE;
-   es->str = eina_stringshare_add(value);
-
-   if (!eina_hash_add(ed->file->data, itemname, es))
-     {
-        eina_stringshare_del(es->str);
-        free(es);
-        return EINA_FALSE;
-     }
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_group_data_del(Evas_Object *obj, const char *key)
-{
-   Edje_String *value;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!key || !ed->file || !ed->collection)
-     return EINA_FALSE;
-
-   value = eina_hash_find(ed->collection->data, key);
-   if (!value) return EINA_FALSE;
-
-   eina_hash_del(ed->collection->data, key, value);
-   _edje_if_string_free(ed, value->str);
-   free(value);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_data_del(Evas_Object *obj, const char *itemname)
-{
-   Edje_String *value;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!itemname || !ed->file || !ed->file->data)
-     return 0;
-
-   value = eina_hash_find(ed->file->data, itemname);
-   if (!value)
-     return EINA_FALSE;
-
-   eina_hash_del(ed->file->data, itemname, value);
-   _edje_if_string_free(ed, value->str);
-   free(value);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_group_data_value_get(Evas_Object * obj, const char *key)
-{
-   Edje_String *value;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!key || !ed->file || !ed->collection)
-     return NULL;
-
-   value = eina_hash_find(ed->collection->data, key);
-   if (!value)
-     return NULL;
-
-   return eina_stringshare_add(edje_string_get(value));
-}
-
-EAPI const char *
-edje_edit_data_value_get(Evas_Object * obj, const char *itemname)
-{
-   Edje_String *value;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!itemname || !ed->file || !ed->file->data)
-     return NULL;
-
-   value = eina_hash_find(ed->file->data, itemname);
-   if (!value)
-     return NULL;
-
-   return eina_stringshare_add(edje_string_get(value));
-}
-
-EAPI Eina_Bool
-edje_edit_group_data_value_set(Evas_Object *obj, const char *key, const char *value)
-{
-   Edje_String *es;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!key || !value || !ed->file || !ed->collection)
-     return EINA_FALSE;
-
-   es = eina_hash_find(ed->collection->data, key);
-   if (es)
-     {
-        _edje_if_string_free(ed, es->str);
-        es->str = eina_stringshare_add(value);
-        es->id = 0;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_data_value_set(Evas_Object *obj, const char *itemname, const char *value)
-{
-   Edje_String *es;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!itemname || !value || !ed->file || !ed->file->data)
-     return EINA_FALSE;
-
-   es = eina_hash_find(ed->file->data, itemname);
-   if (es)
-     {
-        _edje_if_string_free(ed, es->str);
-        es->str = eina_stringshare_add(value);
-        es->id = 0;
-        return EINA_TRUE;
-     }
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_group_data_name_set(Evas_Object *obj, const char *key,  const char *new_key)
-{
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!key || !new_key || !ed->file || !ed->collection) {
-      return EINA_FALSE;
-   }
-
-   return eina_hash_move(ed->collection->data, key, new_key);
-}
-
-EAPI Eina_Bool
-edje_edit_data_name_set(Evas_Object *obj, const char *itemname,  const char *newname)
-{
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!itemname || !newname || !ed->file || !ed->file->data)
-     return EINA_FALSE;
-
-   return eina_hash_move(ed->file->data, itemname, newname);
-}
-
-/***********************/
-/*  COLOR CLASSES API  */
-/***********************/
-
-EAPI Eina_List *
-edje_edit_color_classes_list_get(Evas_Object * obj)
-{
-   Eina_List *classes = NULL;
-   Eina_List *l;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->color_classes)
-      return NULL;
-   //printf("GET CLASSES LIST %d %d\n", eina_list_count(ed->color_classes), eina_list_count(ed->file->color_classes));
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     classes = eina_list_append(classes, eina_stringshare_add(cc->name));
-
-   return classes;
-}
-
-EAPI Eina_Bool
-edje_edit_color_class_colors_get(Evas_Object *obj, const char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
-{
-   Eina_List *l;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!ed->file || !ed->file->color_classes)
-      return EINA_FALSE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (!strcmp(cc->name, class_name))
-       {
-        if (r) *r = cc->r;
-        if (g) *g = cc->g;
-        if (b) *b = cc->b;
-        if (a) *a = cc->a;
-
-        if (r2) *r2 = cc->r2;
-        if (g2) *g2 = cc->g2;
-        if (b2) *b2 = cc->b2;
-        if (a2) *a2 = cc->a2;
-
-        if (r3) *r3 = cc->r3;
-        if (g3) *g3 = cc->g3;
-        if (b3) *b3 = cc->b3;
-        if (a3) *a3 = cc->a3;
-
-        return EINA_TRUE;
-       }
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_color_class_colors_set(Evas_Object *obj, const char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
-{
-   Eina_List *l;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!ed->file || !ed->file->color_classes)
-      return EINA_FALSE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (!strcmp(cc->name, class_name))
-       {
-        if (r > -1) cc->r = r;
-        if (g > -1) cc->g = g;
-        if (b > -1) cc->b = b;
-        if (a > -1) cc->a = a;
-
-        if (r2 > -1) cc->r2 = r2;
-        if (g2 > -1) cc->g2 = g2;
-        if (b2 > -1) cc->b2 = b2;
-        if (a2 > -1) cc->a2 = a2;
-
-        if (r3 > -1) cc->r3 = r3;
-        if (g3 > -1) cc->g3 = g3;
-        if (b3 > -1) cc->b3 = b3;
-        if (a3 > -1) cc->a3 = a3;
-
-        return EINA_TRUE;
-       }
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_color_class_add(Evas_Object *obj, const char *name)
-{
-   Eina_List *l;
-   Edje_Color_Class *c;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!name || !ed->file)
-     return EINA_FALSE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (strcmp(cc->name, name) == 0)
-       return EINA_FALSE;
-
-   c = _alloc(sizeof(Edje_Color_Class));
-   if (!c) return EINA_FALSE;
-
-   c->name = (char*)eina_stringshare_add(name);
-   c->r = c->g = c->b = c->a = 255;
-   c->r2 = c->g2 = c->b2 = c->a2 = 255;
-   c->r3 = c->g3 = c->b3 = c->a3 = 255;
-
-   ed->file->color_classes = eina_list_append(ed->file->color_classes, c);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_color_class_del(Evas_Object *obj, const char *name)
-{
-   Eina_List *l;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!name || !ed->file || !ed->file->color_classes)
-     return EINA_FALSE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (strcmp(cc->name, name) == 0)
-       {
-        _edje_if_string_free(ed, cc->name);
-        ed->file->color_classes = eina_list_remove(ed->file->color_classes, cc);
-        free(cc);
-        return EINA_TRUE;
-       }
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_color_class_name_set(Evas_Object *obj, const char *name, const char *newname)
-{
-   Eina_List *l;
-   Edje_Color_Class *cc;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!ed->file || !ed->file->color_classes)
-      return EINA_FALSE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (!strcmp(cc->name, name))
-       {
-        _edje_if_string_free(ed, cc->name);
-        cc->name = (char*)eina_stringshare_add(newname);
-        return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-
-
-/*********************/
-/*  TEXT STYLES API  */
-/*********************/
-
-EAPI Eina_List *
-edje_edit_styles_list_get(Evas_Object * obj)
-{
-   Eina_List *styles = NULL;
-   Eina_List *l;
-   Edje_Style *s;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->styles)
-      return NULL;
-   //printf("GET STYLES LIST %d\n", eina_list_count(ed->file->styles));
-   EINA_LIST_FOREACH(ed->file->styles, l, s)
-     styles = eina_list_append(styles, eina_stringshare_add(s->name));
-
-   return styles;
-}
-
-EAPI Eina_Bool
-edje_edit_style_add(Evas_Object * obj, const char* style)
-{
-   Edje_Style *s;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   //printf("ADD STYLE '%s'\n", style);
-
-   s = _edje_edit_style_get(ed, style);
-   if (s) return EINA_FALSE;
-
-   s = _alloc(sizeof(Edje_Style));
-   if (!s) return EINA_FALSE;
-   s->name = (char*)eina_stringshare_add(style);
-   s->tags = NULL;
-   s->style = NULL;
-
-   ed->file->styles = eina_list_append(ed->file->styles, s);
-   return EINA_TRUE;
-}
-
-EAPI void
-edje_edit_style_del(Evas_Object * obj, const char* style)
-{
-   Edje_Style *s;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN();
-   //printf("DEL STYLE '%s'\n", style);
-
-   s = _edje_edit_style_get(ed, style);
-   if (!s) return;
-
-   ed->file->styles = eina_list_remove(ed->file->styles, s);
-
-   _edje_if_string_free(ed, s->name);
-   //~ //s->style HOWTO FREE ???
-   while (s->tags)
-   {
-      Edje_Style_Tag *t;
-
-      t = s->tags->data;
-
-      s->tags = eina_list_remove(s->tags, t);
-      _edje_if_string_free(ed, t->key);
-      _edje_if_string_free(ed, t->value);
-      _edje_if_string_free(ed, t->font);
-      _edje_if_string_free(ed, t->text_class);
-      free(t);
-      t = NULL;
-   }
-   free(s);
-   s = NULL;
-   s = NULL;
-}
-
-
-EAPI Eina_List *
-edje_edit_style_tags_list_get(Evas_Object * obj, const char* style)
-{
-   Eina_List *tags = NULL;
-   Eina_List *l;
-   Edje_Style *s;
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-   if (!ed->file || !ed->file->styles || !style)
-      return NULL;
-
-   s = _edje_edit_style_get(ed, style);
-
-   //printf("GET STYLE TAG LIST %d\n", eina_list_count(s->tags));
-   EINA_LIST_FOREACH(s->tags, l, t)
-      tags = eina_list_append(tags, eina_stringshare_add(t->key));
-
-   return tags;
-}
-
-EAPI void
-edje_edit_style_tag_name_set(Evas_Object * obj, const char* style, const char* tag, const char*new_name)
-{
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN();
-   //printf("SET TAG NAME for '%s' FOR STYLE '%s'\n", tag, style);
-
-   if (!ed->file || !ed->file->styles || !style || !tag)
-      return;
-
-   t = _edje_edit_style_tag_get(ed, style, tag);
-   if (!t) return;
-   _edje_if_string_free(ed, t->key);
-   t->key = eina_stringshare_add(new_name);
-}
-
-EAPI const char*
-edje_edit_style_tag_value_get(Evas_Object * obj, const char* style, const char* tag)
-{
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-   //printf("GET TAG '%s' FOR STYLE '%s'\n", tag, style);
-
-   if (!ed->file || !ed->file->styles || !style || !tag)
-      return NULL;
-
-   t = _edje_edit_style_tag_get(ed, style, tag);
-   if (t && t->value)
-      return eina_stringshare_add(t->value);
-
-   return NULL;
-}
-
-EAPI void
-edje_edit_style_tag_value_set(Evas_Object * obj, const char* style, const char* tag, const char*new_value)
-{
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN();
-   //printf("SET TAG VALUE for '%s' FOR STYLE '%s'\n", tag, style);
-
-   if (!ed->file || !ed->file->styles || !style || !tag)
-      return;
-
-   t = _edje_edit_style_tag_get(ed, style, tag);
-   if (!t) return;
-   _edje_if_string_free(ed, t->value);
-   t->value = eina_stringshare_add(new_value);
-}
-
-EAPI Eina_Bool
-edje_edit_style_tag_add(Evas_Object * obj, const char* style, const char* tag_name)
-{
-   Edje_Style *s;
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   //printf("ADD TAG '%s' IN STYLE '%s'\n", tag_name, style);
-
-   t = _edje_edit_style_tag_get(ed, style, tag_name);
-   if (t) return EINA_FALSE;
-   s = _edje_edit_style_get(ed, style);
-   if (!s) return EINA_FALSE;
-
-   t = _alloc(sizeof(Edje_Style_Tag));
-   if (!t) return EINA_FALSE;
-   t->key = eina_stringshare_add(tag_name);
-   t->value = NULL;
-   t->font = NULL;
-   t->text_class = NULL;
-
-   s->tags = eina_list_append(s->tags, t);
-   return EINA_TRUE;
-}
-
-EAPI void
-edje_edit_style_tag_del(Evas_Object * obj, const char* style, const char* tag)
-{
-   Edje_Style *s;
-   Edje_Style_Tag *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN();
-   //printf("DEL TAG '%s' IN STYLE '%s'\n", tag, style);
-
-   s = _edje_edit_style_get(ed, style);
-   t = _edje_edit_style_tag_get(ed, style, tag);
-
-   s->tags = eina_list_remove(s->tags, t);
-   _edje_if_string_free(ed, t->key);
-   _edje_if_string_free(ed, t->value);
-   _edje_if_string_free(ed, t->font);
-   _edje_if_string_free(ed, t->text_class);
-   free(t);
-   t = NULL;
-}
-
-/*******************/
-/*  EXTERNALS API  */
-/*******************/
-
-EAPI Eina_List *
-edje_edit_externals_list_get(Evas_Object *obj)
-{
-   Eina_List *externals = NULL;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->external_dir)
-      return NULL;
-   //printf("GET STYLES LIST %d\n", eina_list_count(ed->file->styles));
-   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
-     externals = eina_list_append(externals,
-                                 eina_stringshare_add(ed->file->external_dir->entries[i].entry));
-
-   return externals;
-}
-
-EAPI Eina_Bool
-edje_edit_external_add(Evas_Object *obj, const char *external)
-{
-   Edje_External_Directory_Entry *e;
-   unsigned int freeid;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   e = _edje_edit_external_get(ed, external);
-   if (e) return EINA_FALSE;
-
-   if (!ed->file->external_dir)
-     ed->file->external_dir = _alloc(sizeof(Edje_External_Directory));
-
-   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
-     if (!ed->file->external_dir->entries[i].entry)
-       break ;
-
-   if (i == ed->file->external_dir->entries_count)
-     {
-       Edje_External_Directory_Entry *tmp;
-       unsigned int max;
-
-       max = ed->file->external_dir->entries_count + 1;
-       tmp = realloc(ed->file->external_dir->entries,
-                     sizeof (Edje_External_Directory_Entry) * max);
-
-       if (!tmp) return EINA_FALSE;
-
-       ed->file->external_dir->entries = tmp;
-       freeid = ed->file->external_dir->entries_count;
-       ed->file->external_dir->entries_count = max;
-     }
-   else
-     freeid = i;
-
-   ed->file->external_dir->entries[freeid].entry = (char*)eina_stringshare_add(external);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_external_del(Evas_Object *obj, const char *external)
-{
-   Edje_External_Directory_Entry *e;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   e = _edje_edit_external_get(ed, external);
-   if (!e) return EINA_FALSE;
-
-   _edje_if_string_free(ed, e->entry);
-   e->entry = NULL;
-
-   return EINA_TRUE;
-}
-
-/***************/
-/*  PARTS API  */
-/***************/
-
-EAPI Eina_List *
-edje_edit_parts_list_get(Evas_Object *obj)
-{
-   Eina_List *parts = NULL;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   //printf("EE: Found %d parts\n", ed->table_parts_size);
-
-   parts = NULL;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-       Edje_Real_Part *rp;
-
-       rp = ed->table_parts[i];
-       parts = eina_list_append(parts, eina_stringshare_add(rp->part->name));
-     }
-
-   return parts;
-}
-
-EAPI Eina_Bool
-edje_edit_part_name_set(Evas_Object *obj, const char* part, const char* new_name)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   if (!new_name) return EINA_FALSE;
-   if (!strcmp(part, new_name)) return EINA_TRUE;
-   if (_edje_real_part_get(ed, new_name)) return EINA_FALSE;
-
-   //printf("Set name of part: %s [new name: %s]\n", part, new_name);
-
-   _edje_if_string_free(ed, rp->part->name);
-   rp->part->name = (char *)eina_stringshare_add(new_name);
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-#define FUNC_PART_API_STRING(Value)                                    \
-  EAPI const char *                                                    \
-  edje_edit_part_api_##Value##_get(Evas_Object *obj, const char *part) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_RP_OR_RETURN(NULL);                                           \
-     return eina_stringshare_add(rp->part->api.Value);                 \
-  }                                                                    \
-  EAPI Eina_Bool                                                       \
-  edje_edit_part_api_##Value##_set(Evas_Object *obj, const char *part, const char *s) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_RP_OR_RETURN(EINA_FALSE);                                     \
-     _edje_if_string_free(ed, rp->part->api.Value);                    \
-     rp->part->api.Value = eina_stringshare_add(s);                    \
-     return EINA_TRUE;                                                 \
-  }
-
-FUNC_PART_API_STRING(name);
-FUNC_PART_API_STRING(description);
-
-static Eina_Bool
-_edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type, const char *source)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Part_Collection *pc;
-   Edje_Part **tmp;
-   Edje_Part *ep;
-   Edje_Real_Part *rp;
-   int id;
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   //printf("ADD PART: %s [type: %d]\n", name, type);
-
-   /* Check if part already exists */
-   if (_edje_real_part_get(ed, name))
-     return EINA_FALSE;
-
-   ce = eina_hash_find(ed->file->collection, ed->group);
-
-   /* Alloc Edje_Part or return */
-   ep = eina_mempool_malloc(ce->mp.part, sizeof(Edje_Part));
-   if (!ep) return EINA_FALSE;
-   memset(ep, 0, sizeof(Edje_Part));
-
-   /* Alloc Edje_Real_Part or return */
-   rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_Real_Part));
-   if (!rp)
-     {
-       eina_mempool_free(ce->mp.part, ep);
-       return EINA_FALSE;
-     }
-   memset(rp, 0, sizeof(Edje_Real_Part));
-
-   /* Init Edje_Part */
-   pc = ed->collection;
-
-   tmp = realloc(pc->parts, (pc->parts_count + 1) * sizeof (Edje_Part *));
-   if (!tmp)
-     {
-       eina_mempool_free(ce->mp.part, ep);
-       eina_mempool_free(_edje_real_part_mp, rp);
-       return EINA_FALSE;
-     }
-
-   id = pc->parts_count++;
-
-   pc->parts = tmp;
-   pc->parts[id] = ep;
-
-   ep->id = id;
-   ep->type = type;
-   ep->name = eina_stringshare_add(name);
-   ep->mouse_events = 1;
-   ep->repeat_events = 0;
-   ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
-   ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
-   ep->precise_is_inside = 0;
-   ep->use_alternate_font_metrics = 0;
-   ep->clip_to_id = -1;
-   ep->dragable.confine_id = -1;
-   ep->dragable.event_id = -1;
-   if (source)
-     ep->source = eina_stringshare_add(source);
-
-   ep->default_desc = NULL;
-   ep->other.desc = NULL;
-   ep->other.desc_count = 0;
-
-   /* Init Edje_Real_Part */
-   rp->edje = ed;
-   _edje_ref(rp->edje);
-   rp->part = ep;
-
-   if (ep->type == EDJE_PART_TYPE_RECTANGLE)
-     rp->object = evas_object_rectangle_add(ed->base->evas);
-   else if (ep->type == EDJE_PART_TYPE_IMAGE || ep->type == EDJE_PART_TYPE_PROXY)
-     rp->object = evas_object_image_add(ed->base->evas);
-   else if (ep->type == EDJE_PART_TYPE_TEXT)
-     {
-       _edje_text_part_on_add(ed, rp);
-       rp->object = evas_object_text_add(ed->base->evas);
-       evas_object_text_font_source_set(rp->object, ed->path);
-     }
-   else if (ep->type == EDJE_PART_TYPE_SWALLOW ||
-           ep->type == EDJE_PART_TYPE_GROUP ||
-           ep->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       rp->object = evas_object_rectangle_add(ed->base->evas);
-       evas_object_color_set(rp->object, 0, 0, 0, 0);
-       evas_object_pass_events_set(rp->object, 1);
-       evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
-     }
-   else if (ep->type == EDJE_PART_TYPE_TEXTBLOCK)
-     rp->object = evas_object_textblock_add(ed->base->evas);
-   else if (ep->type != EDJE_PART_TYPE_SPACER)
-     ERR("wrong part type %i!", ep->type);
-   if (rp->object)
-     {
-       evas_object_show(rp->object);
-       evas_object_smart_member_add(rp->object, ed->obj);
-       evas_object_layer_set(rp->object, evas_object_layer_get(ed->obj));
-       if (ep->type != EDJE_PART_TYPE_SWALLOW && ep->type != EDJE_PART_TYPE_GROUP)
-         {
-            if (ep->mouse_events)
-              {
-                 _edje_callbacks_add(rp->object, ed, rp);
-                 if (ep->repeat_events)
-                   evas_object_repeat_events_set(rp->object, 1);
-
-                 if (ep->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
-                   evas_object_pointer_mode_set(rp->object, ep->pointer_mode);
-              }
-            else
-              {
-                 evas_object_pass_events_set(rp->object, 1);
-                 evas_object_pointer_mode_set(rp->object,
-                                              EVAS_OBJECT_POINTER_MODE_NOGRAB);
-              }
-            if (ep->precise_is_inside)
-              evas_object_precise_is_inside_set(rp->object, 1);
-         }
-       if (ep->type == EDJE_PART_TYPE_EXTERNAL)
-         {
-            Evas_Object *child;
-            child = _edje_external_type_add(source, evas_object_evas_get(ed->obj), ed->obj, NULL, name);
-            if (child)
-              _edje_real_part_swallow(rp, child, EINA_TRUE);
-         }
-       evas_object_clip_set(rp->object, ed->base->clipper);
-       evas_object_show(ed->base->clipper);
-     }
-
-   /* Update table_parts */
-   ed->table_parts_size++;
-   ed->table_parts = realloc(ed->table_parts,
-                            sizeof(Edje_Real_Part *) * ed->table_parts_size);
-
-   ed->table_parts[ep->id % ed->table_parts_size] = rp;
-
-   /* Create default description */
-   if (!edje_edit_state_add(obj, name, "default", 0.0))
-     {
-       _edje_if_string_free(ed, ep->name);
-       if (source)
-         _edje_if_string_free(ed, ep->source);
-       eina_mempool_free(ce->mp.part, ep);
-       eina_mempool_free(_edje_real_part_mp, rp);
-       return EINA_FALSE;
-     }
-   edje_edit_part_selected_state_set(obj, name, "default", 0.0);
-
-   ce->count.part++;
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type)
-{
-   eina_error_set(0);
-
-   if (type == EDJE_PART_TYPE_EXTERNAL)
-     return EINA_FALSE;
-   return _edje_edit_real_part_add(obj, name, type, NULL);
-}
-
-EAPI Eina_Bool
-edje_edit_part_external_add(Evas_Object *obj, const char *name, const char *source)
-{
-   eina_error_set(0);
-
-   if (!source)
-     return EINA_FALSE;
-   return _edje_edit_real_part_add(obj, name, EDJE_PART_TYPE_EXTERNAL, source);
-}
-
-EAPI Eina_Bool
-edje_edit_part_del(Evas_Object *obj, const char* part)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Part_Collection *pc;
-   Edje_Part *ep;
-   unsigned int k;
-   unsigned int id;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   //printf("REMOVE PART: %s\n", part);
-
-   ep = rp->part;
-   id = ep->id;
-
-   /* Unlik Edje_Real_Parts that link to the removed one */
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-       Edje_Real_Part *real;
-
-       if (i == id) continue; //don't check the deleted id
-       real = ed->table_parts[i];
-
-       if (real->typedata.text->source == rp) real->typedata.text->source = NULL;
-       if (real->typedata.text->text_source == rp) real->typedata.text->text_source = NULL;
-
-       if (real->param1.rel1_to_x == rp) real->param1.rel1_to_x = NULL;
-       if (real->param1.rel1_to_y == rp) real->param1.rel1_to_y = NULL;
-       if (real->param1.rel2_to_x == rp) real->param1.rel2_to_x = NULL;
-       if (real->param1.rel2_to_y == rp) real->param1.rel2_to_y = NULL;
-
-       if (real->param2)
-         {
-            if (real->param2->rel1_to_x == rp) real->param2->rel1_to_x = NULL;
-            if (real->param2->rel1_to_y == rp) real->param2->rel1_to_y = NULL;
-            if (real->param2->rel2_to_x == rp) real->param2->rel2_to_x = NULL;
-            if (real->param2->rel2_to_y == rp) real->param2->rel2_to_y = NULL;
-         }
-
-       if (real->custom)
-         {
-            if (real->custom->rel1_to_x == rp) real->custom->rel1_to_x = NULL;
-            if (real->custom->rel1_to_y == rp) real->custom->rel1_to_y = NULL;
-            if (real->custom->rel2_to_x == rp) real->custom->rel2_to_x = NULL;
-            if (real->custom->rel2_to_y == rp) real->custom->rel2_to_y = NULL;
-         }
-
-       if (real->clip_to == rp)
-         {
-            evas_object_clip_set(real->object, ed->base->clipper);
-            real->clip_to = NULL;
-         }
-       if (real->drag && real->drag->confine_to == rp)
-         real->drag->confine_to = NULL;
-     }
-
-   /* Unlink all the parts and descriptions that refer to id */
-   _edje_part_id_set(ed, rp, -1);
-
-   /* Remove part from parts list */
-   pc = ed->collection;
-   pc->parts_count--;
-   if (id < pc->parts_count) /* Forward parts */
-     {
-       int mcount = (pc->parts_count - id) * sizeof(Edje_Part *);
-       memmove(&pc->parts[id], &pc->parts[id+1], mcount);
-     }
-   pc->parts[pc->parts_count] = NULL;
-   _edje_fix_parts_id(ed);
-
-   /* Free Edje_Part and all descriptions */
-   ce = eina_hash_find(ed->file->collection, ed->group);
-
-   _edje_if_string_free(ed, ep->name);
-   if (ep->default_desc)
-     {
-       _edje_collection_free_part_description_free(ep->type, ep->default_desc, ce, 0);
-       ep->default_desc = NULL;
-     }
-
-   for (k = 0; k < ep->other.desc_count; ++k)
-     _edje_collection_free_part_description_free(ep->type, ep->other.desc[k], ce, 0);
-
-   free(ep->other.desc);
-   eina_mempool_free(ce->mp.part, ep);
-
-   /* Free Edje_Real_Part */
-   _edje_real_part_free(rp);
-
-   /* if all parts are gone, hide the clipper */
-   if (ed->table_parts_size == 0)
-     evas_object_hide(ed->base->clipper);
-
-   edje_object_calc_force(obj);
-
-   ce->count.part--;
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_part_exist(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-   return EINA_TRUE;
-}
-
-EAPI const char*
-edje_edit_part_below_get(Evas_Object *obj, const char* part)
-{
-   Edje_Real_Part *prev;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-
-   if (rp->part->id < 1) return NULL;
-
-   prev = ed->table_parts[(rp->part->id - 1) % ed->table_parts_size];
-
-   return eina_stringshare_add(prev->part->name);
-}
-
-EAPI const char*
-edje_edit_part_above_get(Evas_Object *obj, const char* part)
-{
-   Edje_Real_Part *next;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-
-   if ((unsigned int) rp->part->id >= ed->table_parts_size - 1) return 0;
-
-   next = ed->table_parts[(rp->part->id + 1) % ed->table_parts_size];
-
-   return eina_stringshare_add(next->part->name);
-}
-
-EAPI Eina_Bool
-edje_edit_part_restack_below(Evas_Object *obj, const char* part)
-{
-   Edje_Part_Collection *group;
-   Edje_Real_Part *prev;
-   Edje_Part *swap;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   //printf("RESTACK PART: %s BELOW\n", part);
-
-   if (rp->part->id < 1) return EINA_FALSE;
-   group = ed->collection;
-
-   /* update parts list */
-   prev = ed->table_parts[(rp->part->id - 1) % ed->table_parts_size];
-
-   swap = group->parts[rp->part->id];
-   group->parts[rp->part->id] = group->parts[prev->part->id];
-   group->parts[prev->part->id] = swap;
-
-   _edje_parts_id_switch(ed, rp, prev);
-
-   evas_object_stack_below(rp->object, prev->object);
-   if (rp->typedata.swallow->swallowed_object)
-     evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_part_restack_above(Evas_Object *obj, const char* part)
-{
-   Edje_Part_Collection *group;
-   Edje_Real_Part *next;
-   Edje_Part *swap;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   //printf("RESTACK PART: %s ABOVE\n", part);
-
-   if ((unsigned int) rp->part->id >= ed->table_parts_size - 1) return EINA_FALSE;
-
-   group = ed->collection;
-
-   /* update parts list */
-   next = ed->table_parts[(rp->part->id + 1) % ed->table_parts_size];
-
-   swap = group->parts[rp->part->id];
-   group->parts[rp->part->id] = group->parts[next->part->id];
-   group->parts[next->part->id] = swap;
-
-   /* update ids */
-   _edje_parts_id_switch(ed, rp, next);
-
-   evas_object_stack_above(rp->object, next->object);
-   if (rp->typedata.swallow->swallowed_object)
-     evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-EAPI Edje_Part_Type
-edje_edit_part_type_get(Evas_Object *obj, const char *part)
-{
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-
-   return rp->part->type;
-}
-
-EAPI const char *
-edje_edit_part_selected_state_get(Evas_Object *obj, const char *part, double *value)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(NULL);
-
-   if (!rp->chosen_description)
-     {
-       if (value) *value = 0.0; // FIXME: Make sure edje_edit supports correctly the default having any value
-       return eina_stringshare_add("default");
-     }
-
-   if (value) *value = rp->chosen_description->state.value;
-   return eina_stringshare_add(rp->chosen_description->state.name);
-}
-
-EAPI Eina_Bool
-edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Common *pd;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   pd = _edje_part_description_find_byname(eed, part, state, value);
-   if (!pd) return EINA_FALSE;
-
-   //printf("EDJE: Set state: %s %f\n", pd->state.name, pd->state.value);
-   _edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, NULL, 0.0);
-
-   edje_object_calc_force(obj);
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_part_clip_to_get(Evas_Object *obj, const char *part)
-{
-   Edje_Real_Part *clip = NULL;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(NULL);
-
-   //printf("Get clip_to for part: %s [to_id: %d]\n", part, rp->part->clip_to_id);
-   if (rp->part->clip_to_id < 0) return NULL;
-
-   clip = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
-   if (!clip || !clip->part || !clip->part->name) return NULL;
-
-   return eina_stringshare_add(clip->part->name);
-}
-
-EAPI Eina_Bool
-edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_to)
-{
-   Edje_Real_Part *clip;
-   Evas_Object *o, *oo;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   /* unset clipping */
-   if (!clip_to)
-     {
-       //printf("UnSet clip_to for part: %s\n", part);
-
-       if (rp->clip_to && rp->clip_to->object)
-         {
-            evas_object_pointer_mode_set(rp->clip_to->object,
-                                         EVAS_OBJECT_POINTER_MODE_AUTOGRAB);
-            evas_object_clip_unset(rp->object);
-         }
-
-       evas_object_clip_set(rp->object, ed->base->clipper);
-       if (rp->typedata.swallow->swallowed_object)
-         evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base->clipper);
-
-       rp->part->clip_to_id = -1;
-       rp->clip_to = NULL;
-
-       edje_object_calc_force(obj);
-
-       return EINA_TRUE;
-     }
-
-   /* set clipping */
-   //printf("Set clip_to for part: %s [to: %s]\n", part, clip_to);
-   clip = _edje_real_part_get(ed, clip_to);
-   if (!clip || !clip->part) return EINA_FALSE;
-   o = clip->object;
-   while ((oo = evas_object_clip_get(o)))
-     {
-       if (o == rp->object)
-         return EINA_FALSE;
-       o = oo;
-     }
-
-   rp->part->clip_to_id = clip->part->id;
-   rp->clip_to = clip;
-
-   evas_object_pass_events_set(rp->clip_to->object, 1);
-   evas_object_pointer_mode_set(rp->clip_to->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
-   evas_object_clip_set(rp->object, rp->clip_to->object);
-   if (rp->typedata.swallow->swallowed_object)
-     evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->clip_to->object);
-
-   edje_object_calc_force(obj);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_part_mouse_events_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-   //printf("Get mouse_events for part: %s [%d]\n", part, rp->part->mouse_events);
-   return rp->part->mouse_events;
-}
-
-EAPI void
-edje_edit_part_mouse_events_set(Evas_Object *obj, const char *part, Eina_Bool mouse_events)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-
-   if (!rp->object) return;
-
-   //printf("Set mouse_events for part: %s [%d]\n", part, mouse_events);
-
-   rp->part->mouse_events = mouse_events ? 1 : 0;
-
-   if (mouse_events)
-     {
-       evas_object_pass_events_set(rp->object, 0);
-       _edje_callbacks_add(rp->object, ed, rp);
-     }
-   else
-     {
-       evas_object_pass_events_set(rp->object, 1);
-       _edje_callbacks_del(rp->object, ed);
-     }
-}
-
-EAPI Eina_Bool
-edje_edit_part_repeat_events_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   //printf("Get repeat_events for part: %s [%d]\n", part, rp->part->repeat_events);
-   return rp->part->repeat_events;
-}
-
-EAPI void
-edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool repeat_events)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-
-   if (!rp->object) return;
-
-   //printf("Set repeat_events for part: %s [%d]\n", part, repeat_events);
-
-   rp->part->repeat_events = repeat_events ? 1 : 0;
-
-   if (repeat_events)
-     evas_object_repeat_events_set(rp->object, 1);
-   else
-     evas_object_repeat_events_set(rp->object, 0);
-}
-
-EAPI Evas_Event_Flags
-edje_edit_part_ignore_flags_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-
-   return rp->part->ignore_flags;
-}
-
-EAPI void
-edje_edit_part_ignore_flags_set(Evas_Object *obj, const char *part, Evas_Event_Flags ignore_flags)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-
-   if (!rp->object) return;
-   //printf("Set ignore_flags for part: %s [%#x]\n", part, ignore_flags);
-
-   rp->part->ignore_flags = ignore_flags;
-}
-
-EAPI void
-edje_edit_part_scale_set(Evas_Object *obj, const char *part, Eina_Bool scale)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-
-   rp->part->scale = scale;
-   edje_object_calc_force(obj);
-}
-
-EAPI Eina_Bool
-edje_edit_part_scale_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   return rp->part->scale;
-}
-
-EAPI const char *
-edje_edit_part_source_get(Evas_Object *obj, const char *part)
-{
-   //Edje_Real_Part *clip = NULL;
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(NULL);
-
-   //printf("Get source for part: %s\n", part);
-   if (!rp->part->source) return NULL;
-
-   return eina_stringshare_add(rp->part->source);
-}
-
-EAPI Eina_Bool
-edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   Evas_Object *child_obj;
-   //printf("Set source for part: %s [source: %s]\n", part, source);
-
-   if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
-     return EINA_FALSE;
-
-   _edje_if_string_free(ed, rp->part->source);
-
-   if (rp->typedata.swallow->swallowed_object)
-     {
-       _edje_real_part_swallow_clear(rp);
-       evas_object_del(rp->typedata.swallow->swallowed_object);
-       rp->typedata.swallow->swallowed_object = NULL;
-     }
-   if (source)
-     {
-       rp->part->source = eina_stringshare_add(source);
-       child_obj = edje_object_add(ed->base->evas);
-       edje_object_file_set(child_obj, ed->file->path, source);
-       _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
-     }
-   else
-     rp->part->source = NULL;
-   return EINA_TRUE;
-}
-
-EAPI int
-edje_edit_part_drag_x_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-   //printf("Get dragX for part: %s\n", part);
-   return rp->part->dragable.x;
-}
-
-EAPI void
-edje_edit_part_drag_x_set(Evas_Object *obj, const char *part, int drag)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-   //printf("Set dragX for part: %s\n", part);
-   rp->part->dragable.x = drag;
-
-   if (!drag && !rp->part->dragable.y)
-     {
-       free(rp->drag);
-       rp->drag = NULL;
-       return ;
-     }
-
-   if (rp->drag) return;
-
-   rp->drag = _alloc(sizeof (Edje_Real_Part_Drag));
-   if (!rp->drag) return;
-
-   rp->drag->step.x = rp->part->dragable.step_x;
-   rp->drag->step.y = rp->part->dragable.step_y;
-}
-
-EAPI int
-edje_edit_part_drag_y_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-   //printf("Get dragY for part: %s\n", part);
-   return rp->part->dragable.y;
-}
-
-EAPI void
-edje_edit_part_drag_y_set(Evas_Object *obj, const char *part, int drag)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-   //printf("Set dragY for part: %s\n", part);
-   rp->part->dragable.y = drag;
-
-   if (!drag && !rp->part->dragable.x)
-     {
-       free(rp->drag);
-       rp->drag = NULL;
-       return ;
-     }
-
-   if (rp->drag) return;
-
-   rp->drag = _alloc(sizeof (Edje_Real_Part_Drag));
-   if (!rp->drag) return;
-
-   rp->drag->step.x = rp->part->dragable.step_x;
-   rp->drag->step.y = rp->part->dragable.step_y;
-}
-
-#define FUNC_PART_DRAG_INT(Class, Value)                               \
-  EAPI int                                                             \
-  edje_edit_part_drag_##Class##_##Value##_get(Evas_Object *obj, const char *part) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_RP_OR_RETURN(0);                                              \
-     return rp->part->dragable.Class##_##Value;                                \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_part_drag_##Class##_##Value##_set(Evas_Object *obj, const char *part, int v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_RP_OR_RETURN();                                               \
-     rp->part->dragable.Class##_##Value = v;                           \
-  }
-
-FUNC_PART_DRAG_INT(step, x);
-FUNC_PART_DRAG_INT(step, y);
-FUNC_PART_DRAG_INT(count, x);
-FUNC_PART_DRAG_INT(count, y);
-
-#define FUNC_PART_DRAG_ID(Id)                  \
-  EAPI const char*                             \
-  edje_edit_part_drag_##Id##_get(Evas_Object *obj, const char *part)   \
-  {                                                                    \
-     Edje_Real_Part *p;                                                        \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_RP_OR_RETURN(NULL);                                           \
-                                                                       \
-     if (rp->part->dragable.Id##_id < 0)                               \
-       return NULL;                                                    \
-                                                                       \
-     p = ed->table_parts[rp->part->dragable.Id##_id];                  \
-     return eina_stringshare_add(p->part->name);                       \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_part_drag_##Id##_set(Evas_Object *obj, const char *part, const char *e) \
-  {                                                                    \
-     Edje_Real_Part *e_part;                                           \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_RP_OR_RETURN();                                               \
-     if (!e)                                                           \
-       {                                                               \
-         rp->part->dragable.Id##_id = -1;                              \
-         return ;                                                      \
-       }                                                               \
-                                                                       \
-     e_part = _edje_real_part_get(ed, e);                              \
-     rp->part->dragable.Id##_id = e_part->part->id;                    \
-  }
-
-FUNC_PART_DRAG_ID(confine);
-FUNC_PART_DRAG_ID(event);
-
-/*********************/
-/*  PART STATES API  */
-/*********************/
-EAPI Eina_List *
-edje_edit_part_states_list_get(Evas_Object *obj, const char *part)
-{
-   char state_name[PATH_MAX];
-   Eina_List *states = NULL;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(NULL);
-
-   //Is there a better place to put this? maybe edje_edit_init() ?
-#ifdef HAVE_LOCALE_H
-   setlocale(LC_NUMERIC, "C");
-#endif
-
-   states = NULL;
-
-   //append default state
-   snprintf(state_name, PATH_MAX,
-            "%s %.2f",
-           rp->part->default_desc->state.name,
-           rp->part->default_desc->state.value);
-   states = eina_list_append(states, eina_stringshare_add(state_name));
-   //printf("NEW STATE def: %s\n", state->state.name);
-
-   //append other states
-   for (i = 0; i < rp->part->other.desc_count; ++i)
-     {
-       snprintf(state_name, sizeof(state_name),
-                "%s %.2f",
-                rp->part->other.desc[i]->state.name,
-                rp->part->other.desc[i]->state.value);
-       states = eina_list_append(states, eina_stringshare_add(state_name));
-       //printf("NEW STATE: %s\n", state_name);
-     }
-   return states;
-}
-
-EAPI Eina_Bool
-edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state, double value, const char *new_name, double new_value)
-{
-   int part_id;
-   int i;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-   //printf("Set name of state: %s in part: %s [new name: %s]\n",
-     //     part, state, new_name);
-
-   if (!new_name) return EINA_FALSE;
-
-   /* update programs */
-   /* update the 'state' field in all programs. update only if program has
-      a single target */
-   part_id = _edje_part_id_find(ed, part);
-   for (i = 0; i < ed->table_programs_size; i++)
-     {
-       Edje_Program *epr = ed->table_programs[i];
-
-       if (eina_list_count(epr->targets) == 1)
-         {
-            Edje_Program_Target *t = eina_list_data_get(epr->targets);
-
-            if (t->id == part_id &&
-                !strcmp(epr->state, pd->state.name) &&
-                pd->state.value == epr->value)
-              {
-                 _edje_if_string_free(ed, epr->state);
-                 epr->state = eina_stringshare_add(new_name);
-                 epr->value = value;
-              }
-         }
-     }
-
-   /* set name */
-   _edje_if_string_free(ed, pd->state.name);
-   pd->state.name = (char *)eina_stringshare_add(new_name);
-   /* set value */
-   pd->state.value = new_value;
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_del(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Part_Description_Common *pd;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   if (!edje_edit_state_exist(obj, part, state, value))
-       return EINA_FALSE;
-
-   pd = _edje_part_description_find_byname(eed, part, state, value);
-   if (!pd) return EINA_FALSE;
-
-   /* Don't allow to delete default state, for now at least; */
-   if (pd == rp->part->default_desc)
-     return EINA_FALSE;
-
-   /* And if we are deleting the current state, go back to default first */
-   if (pd == rp->chosen_description)
-     _edje_part_description_apply(ed, rp, "default", 0.0, NULL, 0.0);
-
-   ce = eina_hash_find(ed->file->collection, ed->group);
-
-   for (i = 0; i < rp->part->other.desc_count; ++i)
-     if (pd == rp->part->other.desc[i])
-       {
-         memmove(rp->part->other.desc + i,
-                 rp->part->other.desc + i + 1,
-                 sizeof (Edje_Part_Description_Common*) * (rp->part->other.desc_count - i - 1));
-         rp->part->other.desc_count--;
-         break;
-       }
-
-   _edje_collection_free_part_description_free(rp->part->type, pd, ce, 0);
-   return EINA_TRUE;
-}
-
-static Edje_Part_Description_Common *
-_edje_edit_state_alloc(int type, Edje *ed)
-{
-   Edje_Part_Collection_Directory_Entry *ce;
-   Edje_Part_Description_Common *pd = NULL;
-
-   ce = eina_hash_find(ed->file->collection, ed->group);
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_RECTANGLE:
-        pd = eina_mempool_malloc(ce->mp.RECTANGLE, sizeof (Edje_Part_Description_Common));
-        ce->count.RECTANGLE++;
-        break;
-      case EDJE_PART_TYPE_SPACER:
-        pd = eina_mempool_malloc(ce->mp.SPACER, sizeof (Edje_Part_Description_Common));
-        ce->count.SPACER++;
-        break;
-      case EDJE_PART_TYPE_SWALLOW:
-        pd = eina_mempool_malloc(ce->mp.SWALLOW, sizeof (Edje_Part_Description_Common));
-        ce->count.SWALLOW++;
-        break;
-      case EDJE_PART_TYPE_GROUP:
-        pd = eina_mempool_malloc(ce->mp.GROUP, sizeof (Edje_Part_Description_Common));
-        ce->count.GROUP++;
-        break;
-
-#define EDIT_ALLOC_POOL(Short, Type, Name)                             \
-        case EDJE_PART_TYPE_##Short:                                   \
-          {                                                            \
-             Edje_Part_Description_##Type *Name;                       \
-                                                                       \
-             Name = eina_mempool_malloc(ce->mp.Short,                  \
-                                        sizeof (Edje_Part_Description_##Type)); \
-             memset(Name, 0, sizeof(Edje_Part_Description_##Type));    \
-             pd = &Name->common;                                       \
-             ce->count.Short++;                                        \
-             break;                                                    \
-          }
-
-        EDIT_ALLOC_POOL(IMAGE, Image, image);
-        EDIT_ALLOC_POOL(TEXT, Text, text);
-        EDIT_ALLOC_POOL(TEXTBLOCK, Text, text);
-        EDIT_ALLOC_POOL(BOX, Box, box);
-        EDIT_ALLOC_POOL(TABLE, Table, table);
-        EDIT_ALLOC_POOL(EXTERNAL, External, external_params);
-     }
-
-   return pd;
-}
-
-EAPI Eina_Bool
-edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double value)
-{
-   Edje_Part_Description_Common *pd;
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   if (edje_edit_state_exist(obj, part, name, value))
-     return EINA_FALSE;
-
-   //printf("ADD STATE: %s TO PART: %s\n", name , part);
-   pd = _edje_edit_state_alloc(rp->part->type, ed);
-   if (!pd) return EINA_FALSE;
-
-   if (!rp->part->default_desc)
-     {
-       rp->part->default_desc = pd;
-     }
-   else
-     {
-       Edje_Part_Description_Common **tmp;
-
-       tmp = realloc(rp->part->other.desc,
-                     sizeof (Edje_Part_Description_Common *) * (rp->part->other.desc_count + 1));
-       if (!tmp)
-         {
-            free(pd);
-            return EINA_FALSE;
-         }
-       rp->part->other.desc = tmp;
-       rp->part->other.desc[rp->part->other.desc_count++] = pd;
-     }
-
-   memset(pd, 0, sizeof (*pd));
-
-   pd->state.name = eina_stringshare_add(name);
-   pd->state.value = value;
-   pd->visible = 1;
-   pd->align.x = 0.5;
-   pd->align.y = 0.5;
-   pd->min.w = 0;
-   pd->min.h = 0;
-   pd->fixed.w = 0;
-   pd->fixed.h = 0;
-   pd->max.w = -1;
-   pd->max.h = -1;
-   pd->rel1.relative_x = 0.0;
-   pd->rel1.relative_y = 0.0;
-   pd->rel1.offset_x = 0;
-   pd->rel1.offset_y = 0;
-   pd->rel1.id_x = -1;
-   pd->rel1.id_y = -1;
-   pd->rel2.relative_x = 1.0;
-   pd->rel2.relative_y = 1.0;
-   pd->rel2.offset_x = -1;
-   pd->rel2.offset_y = -1;
-   pd->rel2.id_x = -1;
-   pd->rel2.id_y = -1;
-   pd->color_class = NULL;
-   pd->color.r = 255;
-   pd->color.g = 255;
-   pd->color.b = 255;
-   pd->color.a = 255;
-   pd->color2.r = 0;
-   pd->color2.g = 0;
-   pd->color2.b = 0;
-   pd->color2.a = 255;
-   pd->map.id_persp = -1;
-   pd->map.id_light = -1;
-   pd->map.rot.id_center = -1;
-   pd->map.rot.x = FROM_DOUBLE(0.0);
-   pd->map.rot.y = FROM_DOUBLE(0.0);
-   pd->map.rot.z = FROM_DOUBLE(0.0);
-   pd->map.on = 0;
-   pd->map.smooth = 1;
-   pd->map.alpha = 1;
-   pd->map.backcull = 0;
-   pd->map.persp_on = 0;
-   pd->persp.zplane = 0;
-   pd->persp.focal = 1000;
-
-   if (rp->part->type == EDJE_PART_TYPE_TEXT
-       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-       Edje_Part_Description_Text *text;
-
-       text = (Edje_Part_Description_Text*) pd;
-
-       memset(&text->text, 0, sizeof (text->text));
-
-       text->text.color3.r = 0;
-       text->text.color3.g = 0;
-       text->text.color3.b = 0;
-       text->text.color3.a = 128;
-       text->text.align.x = 0.5;
-       text->text.align.y = 0.5;
-       text->text.id_source = -1;
-       text->text.id_text_source = -1;
-     }
-   else if (rp->part->type == EDJE_PART_TYPE_IMAGE)
-     {
-       Edje_Part_Description_Image *img;
-
-       img = (Edje_Part_Description_Image*) pd;
-
-       memset(&img->image, 0, sizeof (img->image));
-
-       img->image.id = -1;
-       img->image.fill.smooth = 1;
-       img->image.fill.pos_rel_x = 0.0;
-       img->image.fill.pos_abs_x = 0;
-       img->image.fill.rel_x = 1.0;
-       img->image.fill.abs_x = 0;
-       img->image.fill.pos_rel_y = 0.0;
-       img->image.fill.pos_abs_y = 0;
-       img->image.fill.rel_y = 1.0;
-       img->image.fill.abs_y = 0;
-       img->image.fill.angle = 0;
-       img->image.fill.spread = 0;
-       img->image.fill.type = EDJE_FILL_TYPE_SCALE;
-     }
-   else if (rp->part->type == EDJE_PART_TYPE_PROXY)
-     {
-       Edje_Part_Description_Proxy *pro;
-
-       pro = (Edje_Part_Description_Proxy*) pd;
-
-       memset(&pro->proxy, 0, sizeof (pro->proxy));
-
-       pro->proxy.id = -1;
-       pro->proxy.fill.smooth = 1;
-       pro->proxy.fill.pos_rel_x = 0.0;
-       pro->proxy.fill.pos_abs_x = 0;
-       pro->proxy.fill.rel_x = 1.0;
-       pro->proxy.fill.abs_x = 0;
-       pro->proxy.fill.pos_rel_y = 0.0;
-       pro->proxy.fill.pos_abs_y = 0;
-       pro->proxy.fill.rel_y = 1.0;
-       pro->proxy.fill.abs_y = 0;
-       pro->proxy.fill.angle = 0;
-       pro->proxy.fill.spread = 0;
-       pro->proxy.fill.type = EDJE_FILL_TYPE_SCALE;
-     }
-   else if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       Edje_Part_Description_External *external;
-       Edje_External_Param_Info *pi;
-
-       external = (Edje_Part_Description_External*) pd;
-
-       external->external_params = NULL;
-
-       if (rp->part->source)
-         {
-            pi = (Edje_External_Param_Info *)edje_external_param_info_get(rp->part->source);
-            while (pi && pi->name)
-              {
-                 Edje_External_Param *p;
-                 p = _alloc(sizeof(Edje_External_Param));
-                 /* error checking.. meh */
-                 p->name = eina_stringshare_add(pi->name);
-                 p->type = pi->type;
-                 switch(p->type)
-                   {
-                    case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                    case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                       if (pi->info.i.def != EDJE_EXTERNAL_INT_UNSET)
-                         p->i = pi->info.i.def;
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                       if (pi->info.d.def != EDJE_EXTERNAL_DOUBLE_UNSET)
-                         p->d = pi->info.d.def;
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                       if (pi->info.c.def)
-                         p->s = eina_stringshare_add(pi->info.c.def);
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                       if (pi->info.s.def)
-                         p->s = eina_stringshare_add(pi->info.s.def);
-                       break;
-                    default:
-                       ERR("unknown external parameter type '%d'", p->type);
-                   }
-                 external->external_params = eina_list_append(external->external_params, p);
-                 pi++;
-              }
-            if (external->external_params)
-              rp->param1.external_params = _edje_external_params_parse(rp->typedata.swallow->swallowed_object, external->external_params);
-         }
-     }
-   else if (rp->part->type == EDJE_PART_TYPE_BOX)
-     {
-       Edje_Part_Description_Box *box;
-
-       box = (Edje_Part_Description_Box*) pd;
-       memset(&box->box, 0, sizeof (box->box));
-     }
-   else if (rp->part->type == EDJE_PART_TYPE_TABLE)
-     {
-       Edje_Part_Description_Table *table;
-
-       table = (Edje_Part_Description_Table*) pd;
-       memset(&table->table, 0, sizeof (table->table));
-     }
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_exist(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, double val_from, const char *to, double val_to)
-{
-   Edje_Part_Description_Common *pdfrom, *pdto;
-   Edje_External_Param *p;
-
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(EINA_FALSE);
-
-   pdfrom = _edje_part_description_find_byname(eed, part, from, val_from);
-   if (!pdfrom)
-     return EINA_FALSE;
-
-   pdto = _edje_part_description_find_byname(eed, part, to, val_to);
-   if (!pdto)
-     {
-       Edje_Part_Description_Common **tmp;
-
-       pdto = _edje_edit_state_alloc(rp->part->type, ed);
-       if (!pdto) return EINA_FALSE;
-       /* No need to check for default desc, at this point it must exist */
-
-       tmp = realloc(rp->part->other.desc,
-                     sizeof (Edje_Part_Description_Common *) * (rp->part->other.desc_count + 1));
-       if (!tmp)
-         {
-            free(pdto);
-            return EINA_FALSE;
-         }
-       rp->part->other.desc = tmp;
-       rp->part->other.desc[rp->part->other.desc_count++] = pdto;
-     }
-
-#define PD_STRING_COPY(To, From, _x)                   \
-   _edje_if_string_free(ed, To->_x);                   \
-   To->_x = (char *)eina_stringshare_add(From->_x);
-
-   /* Copy all value */
-   *pdto = *pdfrom;
-   /* Keeping the pdto state name and value */
-   pdto->state.name = eina_stringshare_add(to);
-   pdto->state.value = val_to;
-   /* Update pointer. */
-   PD_STRING_COPY(pdto, pdfrom, color_class);
-
-   switch (rp->part->type)
-     {
-      case EDJE_PART_TYPE_PROXY:
-       {
-          Edje_Part_Description_Proxy *pro_to = (Edje_Part_Description_Proxy*) pdto;
-          Edje_Part_Description_Proxy *pro_from = (Edje_Part_Description_Proxy*) pdfrom;
-
-          pro_to->proxy = pro_from->proxy;
-
-          break;
-       }
-      case EDJE_PART_TYPE_IMAGE:
-       {
-          Edje_Part_Description_Image *img_to = (Edje_Part_Description_Image*) pdto;
-          Edje_Part_Description_Image *img_from = (Edje_Part_Description_Image*) pdfrom;
-          unsigned int i;
-
-          img_to->image = img_from->image;
-
-          /* Update pointers. */
-          for (i = 0; i < img_to->image.tweens_count; ++i)
-            free(img_to->image.tweens[i]);
-          if (img_to->image.tweens_count > 0)
-               free(img_to->image.tweens);
-
-          img_to->image.tweens_count = img_from->image.tweens_count;
-          img_to->image.tweens = calloc(img_to->image.tweens_count,
-                                        sizeof (Edje_Part_Image_Id*));
-          if (!img_to->image.tweens)
-            break;
-
-          for (i = 0; i < img_to->image.tweens_count; ++i)
-            {
-               Edje_Part_Image_Id *new_i;
-               new_i = _alloc(sizeof(Edje_Part_Image_Id));
-               if (!new_i) continue ;
-
-               *new_i = *img_from->image.tweens[i];
-
-               img_to->image.tweens[i] = new_i;
-            }
-          break;
-       }
-      case EDJE_PART_TYPE_TEXT:
-      case EDJE_PART_TYPE_TEXTBLOCK:
-       {
-          Edje_Part_Description_Text *text_to = (Edje_Part_Description_Text*) pdto;
-          Edje_Part_Description_Text *text_from = (Edje_Part_Description_Text*) pdfrom;
-
-          text_to->text = text_from->text;
-
-          /* Update pointers. */
-          PD_STRING_COPY(text_to, text_from, text.text.str);
-          PD_STRING_COPY(text_to, text_from, text.text_class);
-          PD_STRING_COPY(text_to, text_from, text.style.str);
-          PD_STRING_COPY(text_to, text_from, text.font.str);
-          PD_STRING_COPY(text_to, text_from, text.repch.str);
-          break;
-       }
-      case EDJE_PART_TYPE_BOX:
-       {
-          Edje_Part_Description_Box *box_to = (Edje_Part_Description_Box*) pdto;
-          Edje_Part_Description_Box *box_from = (Edje_Part_Description_Box*) pdfrom;
-
-          box_to->box = box_from->box;
-
-          PD_STRING_COPY(box_to, box_from, box.layout);
-          PD_STRING_COPY(box_to, box_from, box.alt_layout);
-          break;
-       }
-      case EDJE_PART_TYPE_TABLE:
-       {
-          Edje_Part_Description_Table *table_to = (Edje_Part_Description_Table*) pdto;
-          Edje_Part_Description_Table *table_from = (Edje_Part_Description_Table*) pdfrom;
-
-          table_to->table = table_from->table;
-          break;
-       }
-      case EDJE_PART_TYPE_EXTERNAL:
-       {
-          Edje_Part_Description_External *ext_to = (Edje_Part_Description_External*) pdto;
-          Edje_Part_Description_External *ext_from = (Edje_Part_Description_External*) pdfrom;
-          Eina_List *l;
-
-          /* XXX: optimize this, most likely we don't need to remove and add */
-          EINA_LIST_FREE(ext_to->external_params, p)
-            {
-               _edje_if_string_free(ed, p->name);
-               if (p->s)
-                 _edje_if_string_free(ed, p->s);
-               free(p);
-            }
-          EINA_LIST_FOREACH(ext_from->external_params, l, p)
-            {
-               Edje_External_Param *new_p;
-               new_p = _alloc(sizeof(Edje_External_Param));
-               new_p->name = eina_stringshare_add(p->name);
-               new_p->type = p->type;
-               switch (p->type)
-                 {
-                  case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                     new_p->i = p->i;
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                     new_p->d = p->d;
-                     break;
-                  case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                  case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                     new_p->s = eina_stringshare_add(p->s);
-                     break;
-                  default:
-                     break;
-                 }
-               ext_to->external_params = eina_list_append(ext_to->external_params, new_p);
-            }
-          break;
-       }
-     }
-
-#undef PD_STRING_COPY
-
-   return EINA_TRUE;
-}
-
-#define FUNC_STATE_RELATIVE_DOUBLE(Sub, Value)                         \
-  EAPI double                                                          \
-  edje_edit_state_##Sub##_relative_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN(0);                                              \
-     return TO_DOUBLE(pd->Sub.relative_##Value);                       \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Sub##_relative_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-     pd->Sub.relative_##Value = FROM_DOUBLE(v);                        \
-     edje_object_calc_force(obj);                              \
-  }
-
-FUNC_STATE_RELATIVE_DOUBLE(rel1, x);
-FUNC_STATE_RELATIVE_DOUBLE(rel1, y);
-FUNC_STATE_RELATIVE_DOUBLE(rel2, x);
-FUNC_STATE_RELATIVE_DOUBLE(rel2, y);
-
-#define FUNC_STATE_OFFSET_INT(Sub, Value)                                      \
-  EAPI int                                                             \
-  edje_edit_state_##Sub##_offset_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN(0);                                              \
-     return pd->Sub.offset_##Value;                            \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Sub##_offset_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-     pd->Sub.offset_##Value = TO_INT(FROM_DOUBLE(v));          \
-     edje_object_calc_force(obj);                                      \
-  }
-
-FUNC_STATE_OFFSET_INT(rel1, x);
-FUNC_STATE_OFFSET_INT(rel1, y);
-FUNC_STATE_OFFSET_INT(rel2, x);
-FUNC_STATE_OFFSET_INT(rel2, y);
-
-#define FUNC_STATE_REL(Sub, Value)             \
-  EAPI const char *                            \
-  edje_edit_state_##Sub##_to_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value)        \
-  {                                                                    \
-     Edje_Real_Part *rel;                                              \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN(NULL);                                           \
-                                                                       \
-     if (pd->Sub.id_##Value == -1) return NULL;                        \
-                                                                       \
-     rel = ed->table_parts[pd->Sub.id_##Value % ed->table_parts_size]; \
-                                                                       \
-     if (rel->part->name) return eina_stringshare_add(rel->part->name);        \
-     return NULL;                                                      \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Sub##_to_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, const char *to)        \
-  {                                                                    \
-     Edje_Real_Part *relp;                                             \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN();                                               \
-                                                                       \
-     if (to)                                                           \
-       {                                                               \
-         relp = _edje_real_part_get(ed, to);                           \
-         if (!relp) return;                                            \
-         pd->Sub.id_##Value = relp->part->id;                  \
-       }                                                               \
-     else                                                              \
-       pd->Sub.id_##Value = -1;                                        \
-                                                                       \
-  }
-//note after this call edje_edit_part_selected_state_set() to update !! need to fix this
-//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
-// edje_object_calc_force(obj);//don't work for redraw
-
-FUNC_STATE_REL(rel1, x);
-FUNC_STATE_REL(rel1, y);
-FUNC_STATE_REL(rel2, x);
-FUNC_STATE_REL(rel2, y);
-
-//colors
-#define FUNC_COLOR(Code)                                               \
-  EAPI void                                                            \
-  edje_edit_state_##Code##_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-                                                                       \
-     if (r) *r = pd->Code.r;                                           \
-     if (g) *g = pd->Code.g;                                           \
-     if (b) *b = pd->Code.b;                                           \
-     if (a) *a = pd->Code.a;                                           \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Code##_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-                                                                       \
-     if (r > -1 && r < 256) pd->Code.r = r;                            \
-     if (g > -1 && g < 256) pd->Code.g = g;                            \
-     if (b > -1 && b < 256) pd->Code.b = b;                            \
-     if (a > -1 && a < 256) pd->Code.a = a;                            \
-                                                                       \
-     edje_object_calc_force(obj);                                      \
-  }
-
-FUNC_COLOR(color);
-FUNC_COLOR(color2);
-
-EAPI void
-edje_edit_state_color3_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     {
-        if (r) *r = 0;
-        if (g) *g = 0;
-        if (b) *b = 0;
-        if (a) *a = 0;
-        return;
-     }
-
-   txt = (Edje_Part_Description_Text*) pd;
-
-   if (r) *r = txt->text.color3.r;
-   if (g) *g = txt->text.color3.g;
-   if (b) *b = txt->text.color3.b;
-   if (a) *a = txt->text.color3.a;
-}
-
-EAPI void
-edje_edit_state_color3_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return;
-
-   txt = (Edje_Part_Description_Text*) pd;
-
-   if (r > -1 && r < 256) txt->text.color3.r = r;
-   if (g > -1 && g < 256) txt->text.color3.g = g;
-   if (b > -1 && b < 256) txt->text.color3.b = b;
-   if (a > -1 && a < 256) txt->text.color3.a = a;
-
-   edje_object_calc_force(obj);
-}
-
-#define FUNC_STATE_DOUBLE(Class, Value)                                        \
-  EAPI double                                                          \
-  edje_edit_state_##Class##_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN(0);                                              \
-     return TO_DOUBLE(pd->Class.Value);                                \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Class##_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-     pd->Class.Value = FROM_DOUBLE(v);                         \
-     edje_object_calc_force(obj);                                      \
-  }
-
-#define FUNC_STATE_INT(Class, Value)                                   \
-  EAPI int                                                             \
-  edje_edit_state_##Class##_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN(0);                                              \
-     return pd->Class.Value;                                   \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_##Class##_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, int v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-     GET_PD_OR_RETURN();                                               \
-     pd->Class.Value = v;                                      \
-     edje_object_calc_force(obj);                                      \
-  }
-
-FUNC_STATE_DOUBLE(align, x);
-FUNC_STATE_DOUBLE(align, y);
-FUNC_STATE_INT(min, w);
-FUNC_STATE_INT(min, h);
-FUNC_STATE_INT(max, w);
-FUNC_STATE_INT(max, h);
-FUNC_STATE_DOUBLE(aspect, min);
-FUNC_STATE_DOUBLE(aspect, max);
-
-#define FUNC_STATE_DOUBLE_FILL(Class, Type, Value)                     \
-  EAPI double                                                          \
-  edje_edit_state_fill_##Type##_relative_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN(0);                                              \
-                                                                        \
-     switch (rp->part->type)                                           \
-       {                                                               \
-       case EDJE_PART_TYPE_IMAGE:                                      \
-        {                                                              \
-          Edje_Part_Description_Image *img;                            \
-                                                                       \
-          img = (Edje_Part_Description_Image*) pd;                     \
-                                                                       \
-          return TO_DOUBLE(img->image.fill.Class##rel_##Value);        \
-        }                                                              \
-       case EDJE_PART_TYPE_PROXY:                                      \
-        {                                                              \
-          Edje_Part_Description_Proxy *pro;                            \
-                                                                       \
-          pro = (Edje_Part_Description_Proxy*) pd;                     \
-                                                                       \
-          return TO_DOUBLE(pro->proxy.fill.Class##rel_##Value);        \
-        }                                                              \
-       }                                                               \
-                                                                       \
-     return 0;                                                         \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_fill_##Type##_relative_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN();                                               \
-                                                                        \
-     switch (rp->part->type)                                           \
-       {                                                               \
-       case EDJE_PART_TYPE_IMAGE:                                      \
-        {                                                              \
-          Edje_Part_Description_Image *img;                            \
-                                                                       \
-          img = (Edje_Part_Description_Image*) pd;                     \
-                                                                       \
-          img->image.fill.Class##rel_##Value = FROM_DOUBLE(v);         \
-                                                                       \
-          break;                                                       \
-        }                                                              \
-       case EDJE_PART_TYPE_PROXY:                                      \
-        {                                                              \
-          Edje_Part_Description_Proxy *pro;                            \
-                                                                       \
-          pro = (Edje_Part_Description_Proxy*) pd;                     \
-                                                                       \
-          pro->proxy.fill.Class##rel_##Value = FROM_DOUBLE(v);         \
-                                                                       \
-          break;                                                       \
-        }                                                              \
-       default:                                                                \
-        return;                                                        \
-       }                                                               \
-                                                                       \
-     edje_object_calc_force(obj);                                      \
-  }
-
-#define FUNC_STATE_INT_FILL(Class, Type, Value)                                \
-  EAPI int                                                             \
-  edje_edit_state_fill_##Type##_offset_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN(0);                                              \
-                                                                        \
-     switch (rp->part->type)                                           \
-       {                                                               \
-       case EDJE_PART_TYPE_IMAGE:                                      \
-        {                                                              \
-          Edje_Part_Description_Image *img;                            \
-                                                                       \
-          img = (Edje_Part_Description_Image*) pd;                     \
-                                                                       \
-          return img->image.fill.Class##abs_##Value;                   \
-        }                                                              \
-       case EDJE_PART_TYPE_PROXY:                                      \
-        {                                                              \
-          Edje_Part_Description_Proxy *pro;                            \
-                                                                       \
-          pro = (Edje_Part_Description_Proxy*) pd;                     \
-                                                                       \
-          return pro->proxy.fill.Class##abs_##Value;                   \
-        }                                                              \
-       }                                                               \
-     return 0;                                                         \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_fill_##Type##_offset_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN();                                               \
-                                                                        \
-     switch (rp->part->type)                                           \
-       {                                                               \
-       case EDJE_PART_TYPE_IMAGE:                                      \
-        {                                                              \
-          Edje_Part_Description_Image *img;                            \
-                                                                       \
-          img = (Edje_Part_Description_Image*) pd;                     \
-                                                                       \
-          img->image.fill.Class##abs_##Value = FROM_DOUBLE(v);         \
-          return;                                                      \
-        }                                                              \
-       case EDJE_PART_TYPE_PROXY:                                      \
-        {                                                              \
-          Edje_Part_Description_Proxy *pro;                            \
-                                                                       \
-          pro = (Edje_Part_Description_Proxy*) pd;                     \
-                                                                       \
-          pro->proxy.fill.Class##abs_##Value = FROM_DOUBLE(v);         \
-          return;                                                      \
-        }                                                              \
-       default:                                                                \
-        return;                                                        \
-       }                                                               \
-                                                                       \
-     edje_object_calc_force(obj);                                      \
-  }
-
-FUNC_STATE_DOUBLE_FILL(pos_, origin, x);
-FUNC_STATE_DOUBLE_FILL(pos_, origin, y);
-FUNC_STATE_INT_FILL(pos_, origin, x);
-FUNC_STATE_INT_FILL(pos_, origin, y);
-
-FUNC_STATE_DOUBLE_FILL(, size, x);
-FUNC_STATE_DOUBLE_FILL(, size, y);
-FUNC_STATE_INT_FILL(, size, x);
-FUNC_STATE_INT_FILL(, size, y);
-
-EAPI Eina_Bool
-edje_edit_state_visible_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   //printf("Get state visible flag of part: %s state: %s\n", part, state);
-   return pd->visible;
-}
-
-EAPI void
-edje_edit_state_visible_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool visible)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-   //printf("Set state visible flag of part: %s state: %s to: %d\n", part, state, visible);
-   if (visible) pd->visible = 1;
-   else         pd->visible = 0;
-   edje_object_calc_force(obj);
-}
-
-EAPI unsigned char
-edje_edit_state_aspect_pref_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(0);
-
-   //printf("GET ASPECT_PREF of state '%s' [%d]\n", state, pd->aspect.prefer);
-   return pd->aspect.prefer;
-}
-
-EAPI void
-edje_edit_state_aspect_pref_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char pref)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   //printf("SET ASPECT_PREF of state '%s' [to: %d]\n", state, pref);
-   pd->aspect.prefer = pref;
-}
-
-EAPI const char*
-edje_edit_state_color_class_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-   //printf("Get ColorClass of part: %s state: %s\n", part, state);
-   return eina_stringshare_add(pd->color_class);
-}
-
-EAPI void
-edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char *state, double value, const char *color_class)
-{
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-   //printf("Set ColorClass of part: %s state: %s [to: %s]\n", part, state, color_class);
-   _edje_if_string_free(ed, pd->color_class);
-   pd->color_class = (char*)eina_stringshare_add(color_class);
-}
-
-EAPI const Eina_List *
-edje_edit_state_external_params_list_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_External *external;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     return NULL;
-
-   external = (Edje_Part_Description_External *) pd;
-
-   return external->external_params;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type *type, void **val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     return EINA_FALSE;
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (type) *type = p->type;
-          if (val)
-             switch (p->type)
-               {
-                case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                   *val = &p->i;
-                   break;
-                case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                   *val = &p->d;
-                   break;
-                case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                   *val = (void *)p->s;
-                   break;
-                default:
-                   ERR("unknown external parameter type '%d'", p->type);
-               }
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_int_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int *val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        if (val) *val = 0;
-        return EINA_FALSE;
-     }
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_INT)
-            return EINA_FALSE;
-          if (val)
-            *val = p->i;
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_bool_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool *val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        if (val) *val = 0;
-        return EINA_FALSE;
-     }
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-            return EINA_FALSE;
-          if (val)
-            *val = p->i;
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_double_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double *val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        if (val) *val = 0;
-        return EINA_FALSE;
-     }
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-            return EINA_FALSE;
-          if (val)
-            *val = p->d;
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_string_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        if (val) *val = NULL;
-        return EINA_FALSE;
-     }
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
-            return EINA_FALSE;
-          if (val)
-            *val = p->s;
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_choice_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val)
-{
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-        if (val) *val = NULL;
-        return EINA_FALSE;
-     }
-
-   external = (Edje_Part_Description_External *) pd;
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_CHOICE)
-            return EINA_FALSE;
-          if (val)
-            *val = p->s;
-          return EINA_TRUE;
-       }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type type, ...)
-{
-   va_list ap;
-   Eina_List *l;
-   Edje_Part_Description_External *external;
-   Edje_External_Param *p = NULL, old_p = { 0, 0, 0, 0, 0 };
-   int found = 0;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     return EINA_FALSE;
-
-   external = (Edje_Part_Description_External *) pd;
-
-   va_start(ap, type);
-
-   EINA_LIST_FOREACH(external->external_params, l, p)
-      if (!strcmp(p->name, param))
-       {
-          found = 1;
-          old_p = *p;
-          break;
-       }
-
-   if (!found)
-     {
-       p = _alloc(sizeof(Edje_External_Param));
-       if (!p)
-         {
-            va_end(ap);
-            return EINA_FALSE;
-         }
-       p->name = eina_stringshare_add(param);
-     }
-
-   p->type = type;
-   p->i = 0;
-   p->d = 0;
-   _edje_if_string_free(ed, p->s);
-   p->s = NULL;
-
-   switch (type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-        p->i = (int)va_arg(ap, int);
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        p->d = (double)va_arg(ap, double);
-        break;
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        p->s = eina_stringshare_add((const char *)va_arg(ap, char *));
-        break;
-      default:
-        ERR("unknown external parameter type '%d'", type);
-        va_end(ap);
-        if (!found) free(p);
-        else *p = old_p;
-        return EINA_FALSE;
-     }
-
-   va_end(ap);
-
-   //FIXME:
-   //For now, we're just setting the value if the state is the selected state.
-   //This is a conceptual error and is incoherent with the rest of the API!
-     {
-       const char *sname;
-       double svalue;
-       sname = edje_edit_part_selected_state_get(obj, part, &svalue);
-       if (!strcmp(state, sname) && svalue == value)
-         if (!edje_object_part_external_param_set(obj, part, p))
-           if ((type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE) ||
-                 (type == EDJE_EXTERNAL_PARAM_TYPE_STRING))
-             {
-                _edje_if_string_free(ed, p->s);
-                if (!found) free(p);
-                else *p = old_p;
-                eina_stringshare_del(sname);
-                return EINA_FALSE;
-             }
-       eina_stringshare_del(sname);
-     }
-
-   if (!found)
-     external->external_params = eina_list_append(external->external_params, p);
-
-   _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object,
-                                    rp->param1.external_params);
-   rp->param1.external_params = \
-                            _edje_external_params_parse(rp->typedata.swallow->swallowed_object,
-                                                        external->external_params);
-
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_int_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int val)
-{
-   eina_error_set(0);
-   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_INT, val);
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_bool_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool val)
-{
-   eina_error_set(0);
-   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_BOOL, (int)val);
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_double_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double val)
-{
-   eina_error_set(0);
-   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, val);
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_string_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val)
-{
-   eina_error_set(0);
-   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_STRING, val);
-}
-
-EAPI Eina_Bool
-edje_edit_state_external_param_choice_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val)
-{
-   eina_error_set(0);
-   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, val);
-}
-
-/**************/
-/*  TEXT API */
-/**************/
-
-EAPI const char *
-edje_edit_state_text_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return NULL;
-
-   txt = (Edje_Part_Description_Text *) pd;
-   //printf("GET TEXT of state: %s\n", state);
-
-   return eina_stringshare_add(edje_string_get(&txt->text.text));
-}
-
-EAPI void
-edje_edit_state_text_set(Evas_Object *obj, const char *part, const char *state, double value, const char *text)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   //printf("SET TEXT of state: %s\n", state);
-
-   if (!text) return;
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return;
-
-   txt = (Edje_Part_Description_Text *) pd;
-
-   _edje_if_string_free(ed, txt->text.text.str);
-   txt->text.text.str = (char *)eina_stringshare_add(text);
-   txt->text.text.id = 0;
-
-   edje_object_calc_force(obj);
-}
-
-EAPI int
-edje_edit_state_text_size_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(-1);
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return -1;
-
-   txt = (Edje_Part_Description_Text *) pd;
-   //printf("GET TEXT_SIZE of state: %s [%d]\n", state, pd->text.size);
-   return txt->text.size;
-}
-
-EAPI void
-edje_edit_state_text_size_set(Evas_Object *obj, const char *part, const char *state, double value, int size)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   //printf("SET TEXT_SIZE of state: %s [%d]\n", state, size);
-
-   if (size < 0) return;
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return;
-
-   txt = (Edje_Part_Description_Text *) pd;
-
-   txt->text.size = size;
-
-   edje_object_calc_force(obj);
-}
-
-#define FUNC_TEXT_DOUBLE(Name, Value)                                  \
-  EAPI double                                                          \
-  edje_edit_state_text_##Name##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     Edje_Part_Description_Text *txt;                                  \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN(0);                                              \
-                                                                       \
-     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
-         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
-       return 0;                                                        \
-                                                                        \
-     txt = (Edje_Part_Description_Text *) pd;                          \
-     return TO_DOUBLE(txt->text.Value);                                        \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_text_##Name##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
-  {                                                                    \
-     Edje_Part_Description_Text *txt;                                  \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN();                                               \
-                                                                       \
-     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
-         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
-       return;                                                          \
-                                                                        \
-     txt = (Edje_Part_Description_Text *) pd;                          \
-     txt->text.Value = FROM_DOUBLE(v);                                 \
-     edje_object_calc_force(obj);                                      \
-  }                                                                    \
-
-FUNC_TEXT_DOUBLE(align_x, align.x);
-FUNC_TEXT_DOUBLE(align_y, align.y);
-FUNC_TEXT_DOUBLE(elipsis, elipsis);
-
-#define FUNC_TEXT_BOOL_FIT(Value)                                      \
-  EAPI Eina_Bool                                                       \
-  edje_edit_state_text_fit_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
-  {                                                                    \
-     Edje_Part_Description_Text *txt;                                  \
-                                                                       \
-     eina_error_set(0);                                                        \
-                                                                       \
-     GET_PD_OR_RETURN(EINA_FALSE);                                     \
-                                                                        \
-     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
-         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
-       return EINA_FALSE;                                               \
-                                                                       \
-     txt = (Edje_Part_Description_Text *) pd;                          \
-     return txt->text.fit_##Value;                                     \
-  }                                                                    \
-  EAPI void                                                            \
-  edje_edit_state_text_fit_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit) \
-  {                                                                    \
-     Edje_Part_Description_Text *txt;                                  \
-                                                                       \
-     GET_PD_OR_RETURN();                                               \
-                                                                        \
-     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
-         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
-       return;                                                          \
-                                                                       \
-     txt = (Edje_Part_Description_Text *) pd;                          \
-     txt->text.fit_##Value = fit ? 1 : 0;                              \
-     edje_object_calc_force(obj);                                      \
-  }
-
-FUNC_TEXT_BOOL_FIT(x);
-FUNC_TEXT_BOOL_FIT(y);
-
-EAPI Eina_List *
-edje_edit_fonts_list_get(Evas_Object *obj)
-{
-   Eina_Iterator *it;
-   Eina_List *fonts = NULL;
-   Edje_Font_Directory_Entry *f;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->fonts) return NULL;
-
-   it = eina_hash_iterator_data_new(ed->file->fonts);
-   if (!it) return NULL;
-
-   EINA_ITERATOR_FOREACH(it, f)
-     fonts = eina_list_append(fonts, eina_stringshare_add(f->entry));
-
-   eina_iterator_free(it);
-
-   return fonts;
-}
-
-EAPI Eina_Bool
-edje_edit_font_add(Evas_Object *obj, const char* path, const char* alias)
-{
-   char entry[PATH_MAX];
-   char *new_path;
-   struct stat st;
-   Edje_Font_Directory_Entry *fnt;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   INF("ADD FONT: %s", path);
-
-   if (!path) return EINA_FALSE;
-   if (stat(path, &st) || !S_ISREG(st.st_mode)) return EINA_FALSE;
-   if (!ed->file) return EINA_FALSE;
-   if (!ed->path) return EINA_FALSE;
-
-   /* Alias */
-   if (alias)
-     {
-       if ((new_path = strrchr(path, '/'))) new_path ++;
-       else new_path = (char *)path;
-     }
-   else
-     {
-       if ((alias = strrchr(path, '/'))) alias ++;
-       else alias = (char *)path;
-        new_path = (char *)alias;
-     }
-   snprintf(entry, sizeof(entry), "edje/fonts/%s", alias);
-
-   /* Initializing a new font hash, if no exist */
-   if (!ed->file->fonts)
-     {
-        ed->file->fonts = eina_hash_string_small_new(NULL);
-        if (!ed->file->fonts) return EINA_FALSE;
-     }
-
-   /* Check if exists */
-   fnt = eina_hash_find(ed->file->fonts, alias);
-   if (fnt)
-     return EINA_FALSE;
-
-   /* Create Edje_Font_Directory_Entry */
-   fnt = _alloc(sizeof(Edje_Font_Directory_Entry));
-   if (!fnt)
-     {
-       ERR("Unable to alloc font entry part \"%s\"", alias);
-       return EINA_FALSE;
-     }
-   fnt->file = eina_stringshare_add(new_path);
-   fnt->entry = eina_stringshare_add(alias);
-
-   eina_hash_direct_add(ed->file->fonts, fnt->entry, fnt);
-
-   /* Import font */
-   if (!_edje_import_font_file(ed, path, entry))
-     {
-       eina_hash_del(ed->file->fonts, fnt->entry, fnt);
-        eina_stringshare_del(fnt->file);
-        eina_stringshare_del(fnt->entry);
-       return EINA_FALSE;
-     }
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_font_del(Evas_Object *obj, const char* alias)
-{
-   Edje_Font_Directory_Entry *fnt;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   INF("DEL FONT: %s", alias);
-
-   if (!alias) return EINA_FALSE;
-   if (!ed->file) return EINA_FALSE;
-   if (!ed->path) return EINA_FALSE;
-
-   fnt = eina_hash_find(ed->file->fonts, alias);
-   if (!fnt)
-     {
-       WRN("Unable to find font entry part \"%s\"", alias);
-       return EINA_FALSE;
-     }
-
-   /* Erase font to edje file */
-   {
-      char entry[PATH_MAX];
-      Eet_File *eetf;
-
-      /* open the eet file */
-      eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
-      if (!eetf)
-       {
-          ERR("Unable to open \"%s\" for writing output", ed->path);
-          return EINA_FALSE;
-       }
-
-      snprintf(entry, sizeof(entry), "edje/fonts/%s", alias);
-
-      if (eet_delete(eetf, entry) <= 0)
-        {
-           ERR("Unable to delete \"%s\" font entry", entry);
-           eet_close(eetf);
-           return EINA_FALSE;
-        }
-
-      /* write the edje_file */
-      if (!_edje_edit_edje_file_save(eetf, ed->file))
-       {
-          eet_close(eetf);
-          return EINA_FALSE;
-       }
-      eet_close(eetf);
-   }
-
-   eina_hash_del(ed->file->fonts, alias, fnt);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_font_path_get(Evas_Object *obj, const char *alias)
-{
-   Eina_Iterator *it;
-   Edje_Font_Directory_Entry *f;
-   const char *str = NULL;
-
-   eina_error_set(0);
-
-   if (!alias) return NULL;
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file || !ed->file->fonts) return NULL;
-
-   it = eina_hash_iterator_data_new(ed->file->fonts);
-   if (!it) return NULL;
-
-   EINA_ITERATOR_FOREACH(it, f)
-     if (!strcmp(f->entry, alias))
-       {
-          str = f->file;
-          break;
-       }
-
-   eina_iterator_free(it);
-   return eina_stringshare_add(str);
-}
-
-EAPI const char *
-edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return NULL;
-
-   txt = (Edje_Part_Description_Text*) pd;
-
-   return eina_stringshare_add(edje_string_get(&txt->text.font));
-}
-
-EAPI void
-edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font)
-{
-   Edje_Part_Description_Text *txt;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-     return;
-
-   txt = (Edje_Part_Description_Text*) pd;
-
-   _edje_if_string_free(ed, txt->text.font.str);
-   txt->text.font.str = (char *)eina_stringshare_add(font);
-   txt->text.font.id = 0;
-
-   edje_object_calc_force(obj);
-}
-
-EAPI Edje_Text_Effect
-edje_edit_part_effect_get(Evas_Object *obj, const char *part)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN(0);
-
-   //printf("GET EFFECT of part: %s\n", part);
-   return rp->part->effect;
-}
-
-EAPI void
-edje_edit_part_effect_set(Evas_Object *obj, const char *part, Edje_Text_Effect effect)
-{
-   eina_error_set(0);
-
-   GET_RP_OR_RETURN();
-
-   //printf("SET EFFECT of part: %s [%d]\n", part, effect);
-   rp->part->effect = effect;
-
-   edje_object_calc_force(obj);
-}
-
-/****************/
-/*  IMAGES API  */
-/****************/
-
-EAPI Eina_List *
-edje_edit_images_list_get(Evas_Object *obj)
-{
-   Eina_List *images = NULL;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->file) return NULL;
-   if (!ed->file->image_dir) return NULL;
-
-   //printf("GET IMAGES LIST for %s\n", ed->file->path);
-   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
-     images = eina_list_append(images,
-                              eina_stringshare_add(ed->file->image_dir->entries[i].entry));
-
-   return images;
-}
-
-EAPI Eina_Bool
-edje_edit_image_add(Evas_Object *obj, const char* path)
-{
-   Edje_Image_Directory_Entry *de;
-   unsigned int i;
-   int free_id = -1;
-   char *name;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!path) return EINA_FALSE;
-   if (!ed->file) return EINA_FALSE;
-   if (!ed->path) return EINA_FALSE;
-
-   /* Create Image_Directory if not exist */
-   if (!ed->file->image_dir)
-     {
-       ed->file->image_dir = _alloc(sizeof(Edje_Image_Directory));
-       if (!ed->file->image_dir) return EINA_FALSE;
-     }
-
-   /* Image name */
-   if ((name = strrchr(path, '/'))) name++;
-   else name = (char *)path;
-
-   /* Loop trough image directory to find if image exist */
-   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
-     {
-       de = ed->file->image_dir->entries + i;
-
-       if (!de->entry)
-         free_id = i;
-       else if (!strcmp(name, de->entry))
-         return EINA_FALSE;
-     }
-
-   if (free_id == -1)
-     {
-       Edje_Image_Directory_Entry *tmp;
-       unsigned int count;
-
-       count = ed->file->image_dir->entries_count + 1;
-
-       tmp = realloc(ed->file->image_dir->entries,
-                     sizeof (Edje_Image_Directory_Entry) * count);
-       if (!tmp) return EINA_FALSE;
-
-       ed->file->image_dir->entries = tmp;
-       free_id = ed->file->image_dir->entries_count;
-       ed->file->image_dir->entries_count = count;
-     }
-
-   /* Set Image Entry */
-   de = ed->file->image_dir->entries + free_id;
-   de->entry = eina_stringshare_add(name);
-   de->id = free_id;
-   de->source_type = 1;
-   de->source_param = 1;
-
-   /* Import image */
-   if (!_edje_import_image_file(ed, path, free_id))
-     {
-       eina_stringshare_del(de->entry);
-       de->entry = NULL;
-       return EINA_FALSE;
-     }
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_image_del(Evas_Object *obj, const char* name)
-{
-   Edje_Image_Directory_Entry *de;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!name) return EINA_FALSE;
-   if (!ed->file) return EINA_FALSE;
-   if (!ed->path) return EINA_FALSE;
-
-   /* Create Image_Directory if not exist */
-   if (!ed->file->image_dir)
-      goto invalid_image;
-
-     return EINA_TRUE;
-
-   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
-     {
-       de = ed->file->image_dir->entries + i;
-
-       if (de->entry
-           && !strcmp(name, de->entry))
-         break;
-     }
-
-   if (i == ed->file->image_dir->entries_count)
-      goto invalid_image;
-
-   {
-      char entry[PATH_MAX];
-      Eet_File *eetf;
-
-      /* open the eet file */
-      eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
-      if (!eetf)
-       {
-          ERR("Unable to open \"%s\" for writing output", ed->path);
-          return EINA_FALSE;
-       }
-
-      snprintf(entry, sizeof(entry), "edje/images/%i", de->id);
-
-      if (eet_delete(eetf, entry) <= 0)
-        {
-           ERR("Unable to delete \"%s\" font entry", entry);
-           eet_close(eetf);
-           return EINA_FALSE;
-        }
-
-      /* write the edje_file */
-      if (!_edje_edit_edje_file_save(eetf, ed->file))
-       {
-          eet_close(eetf);
-          return EINA_FALSE;
-       }
-
-      eet_close(eetf);
-   }
-
-   _edje_if_string_free(ed, de->entry);
-   de->entry = NULL;
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-
-invalid_image:
-   WRN("Unable to find image entry part \"%s\"", name);
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_edit_image_data_add(Evas_Object *obj, const char *name, int id)
-{
-   Edje_Image_Directory_Entry *de;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   if (!name) return EINA_FALSE;
-   if (!ed->file) return EINA_FALSE;
-   if (!ed->path) return EINA_FALSE;
-
-   /* Create Image_Directory if not exist */
-   if (!ed->file->image_dir)
-     {
-       ed->file->image_dir = _alloc(sizeof(Edje_Image_Directory));
-       if (!ed->file->image_dir) return EINA_FALSE;
-     }
-
-   /* Loop trough image directory to find if image exist */
-   if (id < 0) id = - id - 1;
-   if ((unsigned int) id >= ed->file->image_dir->entries_count) return EINA_FALSE;
-
-   de = ed->file->image_dir->entries + id;
-   eina_stringshare_replace(&de->entry, name);
-   de->source_type = 1;
-   de->source_param = 1;
-
-   return EINA_TRUE;
-}
-
-EAPI int
-edje_edit_image_id_get(Evas_Object *obj, const char *image_name)
-{
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(-1);
-
-   return _edje_image_id_find(eed, image_name);
-}
-
-EAPI Edje_Edit_Image_Comp
-edje_edit_image_compression_type_get(Evas_Object *obj, const char *image)
-{
-   Edje_Image_Directory_Entry *de = NULL;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(-1);
-
-   if (!ed->file) return -1;
-   if (!ed->file->image_dir) return -1;
-
-   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
-     {
-       de = ed->file->image_dir->entries + i;
-
-       if (de->entry
-           && !strcmp(image, de->entry))
-         break;
-     }
-
-   if (i == ed->file->image_dir->entries_count) return -1;
-
-   switch(de->source_type)
-     {
-       case EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT:
-               if (de->source_param == 0) // RAW
-                 return EDJE_EDIT_IMAGE_COMP_RAW;
-               else // COMP
-                 return EDJE_EDIT_IMAGE_COMP_COMP;
-               break;
-       case EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY: // LOSSY
-               return EDJE_EDIT_IMAGE_COMP_LOSSY;
-               break;
-       case EDJE_IMAGE_SOURCE_TYPE_EXTERNAL: // USER
-               return EDJE_EDIT_IMAGE_COMP_USER;
-               break;
-     }
-
-   return -1;
-}
-
-EAPI int
-edje_edit_image_compression_rate_get(Evas_Object *obj, const char *image)
-{
-   Edje_Image_Directory_Entry *de;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(-1);
-
-   // Gets the Image Entry
-   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
-     {
-       de = ed->file->image_dir->entries + i;
-       if (de->entry
-           && !strcmp(de->entry, image))
-         break;
-     }
-
-   if (i == ed->file->image_dir->entries_count) return -1;
-   if (de->source_type != EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY) return -2;
-
-   return de->source_param;
-}
-
-EAPI const char *
-edje_edit_state_image_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Image *img;
-   const char *image;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return NULL;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   image = _edje_image_name_find(eed, img->image.id);
-   if (!image) return NULL;
-
-   //printf("GET IMAGE for %s [%s]\n", state, image);
-   return eina_stringshare_add(image);
-}
-
-EAPI void
-edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image)
-{
-   Edje_Part_Description_Image *img;
-   int id;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if (!image) return;
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return;
-
-   id = _edje_image_id_find(eed, image);
-   //printf("SET IMAGE for %s [%s]\n", state, image);
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   if (id > -1) img->image.id = id;
-
-   edje_object_calc_force(obj);
-}
-
-EAPI Eina_List *
-edje_edit_state_tweens_list_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Image *img;
-   Eina_List *tweens = NULL;
-   const char *name;
-   unsigned int i;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(NULL);
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return NULL;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   for (i = 0; i < img->image.tweens_count; ++i)
-     {
-       name = _edje_image_name_find(eed, img->image.tweens[i]->id);
-       //printf("   t: %s\n", name);
-       tweens = eina_list_append(tweens, eina_stringshare_add(name));
-     }
-
-   return tweens;
-}
-
-EAPI Eina_Bool
-edje_edit_state_tween_add(Evas_Object *obj, const char *part, const char *state, double value, const char *tween)
-{
-   Edje_Part_Description_Image *img;
-   Edje_Part_Image_Id **tmp;
-   Edje_Part_Image_Id *i;
-   int id;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return EINA_FALSE;
-
-   id = _edje_image_id_find(eed, tween);
-   if (id < EINA_FALSE) return 0;
-
-   /* alloc Edje_Part_Image_Id */
-   i = _alloc(sizeof(Edje_Part_Image_Id));
-   if (!i) return EINA_FALSE;
-   i->id = id;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   /* add to tween list */
-   tmp = realloc(img->image.tweens,
-                sizeof (Edje_Part_Image_Id*) * img->image.tweens_count);
-   if (!tmp)
-     {
-       free(i);
-       return EINA_FALSE;
-     }
-
-   tmp[img->image.tweens_count++] = i;
-   img->image.tweens = tmp;
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_state_tween_del(Evas_Object *obj, const char *part, const char *state, double value, const char *tween)
-{
-   Edje_Part_Description_Image *img;
-   unsigned int i;
-   int search;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return EINA_FALSE;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   if (!img->image.tweens_count) return EINA_FALSE;
-
-   search = _edje_image_id_find(eed, tween);
-   if (search < 0) return EINA_FALSE;
-
-   for (i = 0; i < img->image.tweens_count; ++i)
-     {
-       if (img->image.tweens[i]->id == search)
-         {
-            img->image.tweens_count--;
-            free(img->image.tweens[i]);
-            memmove(img->image.tweens + i,
-                    img->image.tweens + i + 1,
-                    sizeof (Edje_Part_Description_Image*) * (img->image.tweens_count - i));
-            return EINA_TRUE;
-         }
-     }
-   return EINA_FALSE;
-}
-
-EAPI void
-edje_edit_state_image_border_get(Evas_Object *obj, const char *part, const char *state, double value, int *l, int *r, int *t, int *b)
-{
-   Edje_Part_Description_Image *img;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     {
-        if (l) *l = 0;
-        if (r) *r = 0;
-        if (t) *t = 0;
-        if (b) *b = 0;
-        return;
-     }
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   //printf("GET IMAGE_BORDER of state '%s'\n", state);
-
-   if (l) *l = img->image.border.l;
-   if (r) *r = img->image.border.r;
-   if (t) *t = img->image.border.t;
-   if (b) *b = img->image.border.b;
-}
-
-EAPI void
-edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b)
-{
-   Edje_Part_Description_Image *img;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   //printf("SET IMAGE_BORDER of state '%s'\n", state);
-
-   if (l > -1) img->image.border.l = l;
-   if (r > -1) img->image.border.r = r;
-   if (t > -1) img->image.border.t = t;
-   if (b > -1) img->image.border.b = b;
-
-   edje_object_calc_force(obj);
-}
-
-EAPI unsigned char
-edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const char *state, double value)
-{
-   Edje_Part_Description_Image *img;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN(0);
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return 0;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   if (img->image.border.no_fill == 0) return 1;
-   else if (img->image.border.no_fill == 1) return 0;
-   else if (img->image.border.no_fill == 2) return 2;
-   return 0;
-}
-
-EAPI void
-edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill)
-{
-   Edje_Part_Description_Image *img;
-
-   eina_error_set(0);
-
-   GET_PD_OR_RETURN();
-
-   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
-     return;
-
-   img = (Edje_Part_Description_Image *) pd;
-
-   if (fill == 0) img->image.border.no_fill = 1;
-   else if (fill == 1) img->image.border.no_fill = 0;
-   else if (fill == 2) img->image.border.no_fill = 2;
-
-   edje_object_calc_force(obj);
-}
-
-/******************/
-/*  PROGRAMS API  */
-/******************/
-static int
-_edje_program_id_find(Edje_Edit *eed, const char *program)
-{
-   Edje_Program *epr;
-   int i;
-
-   for (i = 0; i < eed->base->table_programs_size; i++)
-     {
-        epr = eed->base->table_programs[i];
-        if (epr->name && !strcmp(epr->name, program))
-          return epr->id;
-     }
-   return -1;
-}
-
-static Edje_Program *
-_edje_program_get_byname(Evas_Object *obj, const char *prog_name)
-{
-   Edje_Program *epr;
-   int i;
-
-   GET_ED_OR_RETURN(NULL);
-
-   if (!prog_name) return NULL;
-
-   for (i = 0; i < ed->table_programs_size; i++)
-     {
-       epr = ed->table_programs[i];
-       if ((epr->name) && (strcmp(epr->name, prog_name) == 0))
-         return epr;
-     }
-   return NULL;
-}
-
-EAPI Eina_List *
-edje_edit_programs_list_get(Evas_Object *obj)
-{
-   Eina_List *progs = NULL;
-   int i;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-
-   //printf("EE: Found %d programs\n", ed->table_programs_size);
-
-   for (i = 0; i < ed->table_programs_size; i++)
-     {
-       Edje_Program *epr;
-
-       epr = ed->table_programs[i];
-        /* XXX: bad, we miss programs this way, but since you can't access
-         * them in any way without a name, better ignore them.  */
-        if (!epr->name) continue;
-       progs = eina_list_append(progs, eina_stringshare_add(epr->name));
-     }
-
-   return progs;
-}
-
-EAPI Eina_Bool
-edje_edit_program_add(Evas_Object *obj, const char *name)
-{
-   Edje_Program *epr;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   //printf("ADD PROGRAM [new name: %s]\n", name);
-
-   //Check if program already exists
-   if (_edje_program_get_byname(obj, name))
-     return EINA_FALSE;
-
-   //Alloc Edje_Program or return
-   epr = _alloc(sizeof(Edje_Program));
-   if (!epr) return EINA_FALSE;
-
-   //Add program to group
-   // pc = ed->collection;
-
-   /* By default, source and signal are empty, so they fill in nocmp category */
-   ed->collection->programs.nocmp = realloc(ed->collection->programs.nocmp,
-                                           sizeof (Edje_Program*) * (ed->collection->programs.nocmp_count + 1));
-   ed->collection->programs.nocmp[ed->collection->programs.nocmp_count++] = epr;
-
-   //Init Edje_Program
-   epr->id = ed->table_programs_size;
-   epr->name = eina_stringshare_add(name);
-   epr->signal = NULL;
-   epr->source = NULL;
-   epr->filter.part = NULL;
-   epr->filter.state = NULL;
-   epr->in.from = 0.0;
-   epr->in.range = 0.0;
-   epr->action = 0;
-   epr->state = NULL;
-   epr->value = 0.0;
-   epr->state2 = NULL;
-   epr->value2 = 0.0;
-   epr->tween.mode = 1;
-   epr->tween.time = ZERO;
-   epr->targets = NULL;
-   epr->after = NULL;
-
-
-   //Update table_programs
-   ed->table_programs_size++;
-   ed->table_programs = realloc(ed->table_programs,
-                                sizeof(Edje_Program *) * ed->table_programs_size);
-   ed->table_programs[epr->id % ed->table_programs_size] = epr;
-
-   //Update patterns
-   _edje_programs_patterns_clean(ed);
-   _edje_programs_patterns_init(ed);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_del(Evas_Object *obj, const char *prog)
-{
-   Eina_List *l, *l_next;
-   Edje_Program_Target *prt;
-   Edje_Program_After *pa;
-   Edje_Program *p;
-   Program_Script *ps, *old_ps;
-   int id, i;
-   int old_id = -1;
-
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //pc = ed->collection;
-
-   //Remove program from programs list
-   id = epr->id;
-   _edje_program_remove(ed->collection, epr);
-
-   /* fix table program */
-   if (epr->id != ed->table_programs_size - 1)
-     {
-       /* If the removed program is not the last in the list/table,
-        * put the last one in its place and update references to it later */
-       ed->table_programs[epr->id] = ed->table_programs[ed->table_programs_size - 1];
-       old_id = ed->table_programs_size - 1;
-       ed->table_programs[epr->id]->id = epr->id;
-     }
-
-   ps = eina_hash_find(eed->program_scripts, &id);
-   old_ps = eina_hash_find(eed->program_scripts, &old_id);
-   if (old_ps)
-     {
-        if (!ps)
-          {
-             ps = _alloc(sizeof(Program_Script));
-             ps->id = id;
-             eina_hash_add(eed->program_scripts, &id, ps);
-          }
-        else
-          {
-             free(ps->code);
-             free(ps->processed);
-             ps->processed = NULL;
-             ps->delete_me = EINA_FALSE;
-          }
-        ps->code = old_ps->code;
-        old_ps->code = NULL;
-        free(old_ps->processed);
-        old_ps->processed = NULL;
-        ps->dirty = EINA_TRUE;
-        old_ps->dirty = EINA_FALSE;
-        old_ps->delete_me = EINA_TRUE;
-     }
-   else if (ps)
-     {
-        ps->dirty = EINA_FALSE;
-        ps->delete_me = EINA_TRUE;
-     }
-
-   //Free Edje_Program
-   _edje_if_string_free(ed, epr->name);
-   _edje_if_string_free(ed, epr->signal);
-   _edje_if_string_free(ed, epr->source);
-   _edje_if_string_free(ed, epr->filter.part);
-   _edje_if_string_free(ed, epr->filter.state);
-   _edje_if_string_free(ed, epr->state);
-   _edje_if_string_free(ed, epr->state2);
-
-   EINA_LIST_FREE(epr->targets, prt)
-     free(prt);
-   EINA_LIST_FREE(epr->after, pa)
-     free(pa);
-   free(epr);
-
-   ed->table_programs_size--;
-   ed->table_programs = realloc(ed->table_programs,
-                             sizeof(Edje_Program *) * ed->table_programs_size);
-
-   //We also update all other programs that point to old_id and id
-   for (i = 0; i < ed->table_programs_size; i++)
-     {
-       p = ed->table_programs[i];
-
-       /* check in afters */
-       EINA_LIST_FOREACH_SAFE(p->after, l, l_next, pa)
-         {
-            if (pa->id == old_id)
-              pa->id = id;
-            else if (pa->id == id)
-               {
-                  p->after = eina_list_remove_list(p->after, l);
-                  free(pa);
-               }
-         }
-       /* check in targets */
-       if (p->action == EDJE_ACTION_TYPE_ACTION_STOP)
-         {
-            Edje_Program_Target *pt;
-
-            EINA_LIST_FOREACH_SAFE(p->targets, l, l_next, pt)
-              {
-                 if (pt->id == old_id)
-                   pt->id = id;
-                 else if (pt->id == id)
-                    {
-                       p->targets = eina_list_remove_list(p->targets, l);
-                       free(pt);
-                    }
-              }
-         }
-     }
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_exist(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_run(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   _edje_program_run(ed, epr, 0, "", "");
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char* new_name)
-{
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (!new_name) return EINA_FALSE;
-
-   if (_edje_program_get_byname(obj, new_name)) return EINA_FALSE;
-
-   //printf("SET NAME for program: %s [new name: %s]\n", prog, new_name);
-
-   _edje_if_string_free(ed, epr->name);
-   epr->name = eina_stringshare_add(new_name);
-
-   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_source_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->source) return NULL;
-   //printf("GET SOURCE for program: %s [%s]\n", prog, epr->source);
-   return eina_stringshare_add(epr->source);
-}
-
-EAPI Eina_Bool
-edje_edit_program_source_set(Evas_Object *obj, const char *prog, const char *source)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (!source) return EINA_FALSE;
-
-   /* Remove from program array */
-   _edje_program_remove(ed->collection, epr);
-   _edje_if_string_free(ed, epr->source);
-
-   /* Insert it back */
-   epr->source = eina_stringshare_add(source);
-   _edje_program_insert(ed->collection, epr);
-
-   //Update patterns
-   _edje_programs_patterns_clean(ed);
-   _edje_programs_patterns_init(ed);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_filter_part_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->filter.part) return NULL;
-   return eina_stringshare_add(epr->filter.part);
-}
-
-EAPI Eina_Bool
-edje_edit_program_filter_part_set(Evas_Object *obj, const char *prog, const char *filter_part)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (!filter_part) return EINA_FALSE;
-
-   _edje_if_string_free(ed, epr->filter.part);
-   epr->filter.part = eina_stringshare_add(filter_part);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_filter_state_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->filter.state) return NULL;
-   return eina_stringshare_add(epr->filter.state);
-}
-
-EAPI Eina_Bool
-edje_edit_program_filter_state_set(Evas_Object *obj, const char *prog, const char *filter_state)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (!filter_state) return EINA_FALSE;
-
-   _edje_if_string_free(ed, epr->filter.state);
-   epr->filter.state = eina_stringshare_add(filter_state);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_signal_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->signal) return NULL;
-   //printf("GET SIGNAL for program: %s [%s]\n", prog, epr->signal);
-   return eina_stringshare_add(epr->signal);
-}
-
-EAPI Eina_Bool
-edje_edit_program_signal_set(Evas_Object *obj, const char *prog, const char *sig)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (!sig) return EINA_FALSE;
-
-   /* Remove from program array */
-   _edje_program_remove(ed->collection, epr);
-   _edje_if_string_free(ed, epr->signal);
-
-   /* Insert it back */
-   epr->signal = eina_stringshare_add(sig);
-   _edje_program_insert(ed->collection, epr);
-
-   //Update patterns
-   _edje_programs_patterns_clean(ed);
-   _edje_programs_patterns_init(ed);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_state_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->state) return NULL;
-   //printf("GET STATE for program: %s [%s %.2f]\n", prog, epr->state, epr->value);
-   return eina_stringshare_add(epr->state);
-}
-
-EAPI Eina_Bool
-edje_edit_program_state_set(Evas_Object *obj, const char *prog, const char *state)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET STATE for program: %s\n", prog);
-
-   _edje_if_string_free(ed, epr->state);
-   epr->state = eina_stringshare_add(state);
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_state2_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   if (!epr->state2) return NULL;
-   //printf("GET STATE2 for program: %s [%s %.2f]\n", prog, epr->state2, epr->value2);
-   return eina_stringshare_add(epr->state2);
-}
-
-EAPI Eina_Bool
-edje_edit_program_state2_set(Evas_Object *obj, const char *prog, const char *state2)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET STATE2 for program: %s\n", prog);
-
-   _edje_if_string_free(ed, epr->state2);
-   epr->state2 = eina_stringshare_add(state2);
-
-   return EINA_TRUE;
-}
-
-EAPI double
-edje_edit_program_value_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(-1);
-
-   //printf("GET VALUE for program: %s [%s %.2f]\n", prog, epr->state, epr->value);
-   return epr->value;
-}
-
-EAPI Eina_Bool
-edje_edit_program_value_set(Evas_Object *obj, const char *prog, double value)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET VALUE for program: %s [%.2f]\n", prog, value);
-   epr->value = value;
-   return EINA_TRUE;
-}
-
-EAPI double
-edje_edit_program_value2_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(-1);
-
-   //printf("GET VALUE2 for program: %s [%s %.2f]\n", prog, epr->state2, epr->value2);
-   return epr->value2;
-}
-
-EAPI Eina_Bool
-edje_edit_program_value2_set(Evas_Object *obj, const char *prog, double value)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET VALUE for program: %s [%.2f]\n", prog, value);
-   epr->value2 = value;
-   return EINA_TRUE;
-}
-
-EAPI double
-edje_edit_program_in_from_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(0);
-
-   //printf("GET IN.FROM for program: %s [%f]\n", prog, epr->in.from);
-   return epr->in.from;
-}
-
-EAPI Eina_Bool
-edje_edit_program_in_from_set(Evas_Object *obj, const char *prog, double seconds)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET IN.FROM for program: %s [%f]\n", prog, epr->in.from);
-   epr->in.from = seconds;
-   return EINA_TRUE;
-}
-
-EAPI double
-edje_edit_program_in_range_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(0);
-
-   //printf("GET IN.RANGE for program: %s [%f]\n", prog, epr->in.range);
-   return epr->in.range;
-}
-
-EAPI Eina_Bool
-edje_edit_program_in_range_set(Evas_Object *obj, const char *prog, double seconds)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET IN.RANGE for program: %s [%f]\n", prog, epr->in.range);
-   epr->in.range = seconds;
-   return EINA_TRUE;
-}
-
-EAPI Edje_Tween_Mode
-edje_edit_program_transition_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(-1);
-
-   //printf("GET TRANSITION for program: %s [%d]\n", prog, epr->tween.mode);
-   return epr->tween.mode;
-}
-
-EAPI Eina_Bool
-edje_edit_program_transition_set(Evas_Object *obj, const char *prog, Edje_Tween_Mode transition)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("GET TRANSITION for program: %s [%d]\n", prog, epr->tween.mode);
-   epr->tween.mode = transition;
-   return EINA_TRUE;
-}
-
-EAPI double
-edje_edit_program_transition_time_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(-1);
-
-   //printf("GET TRANSITION_TIME for program: %s [%.4f]\n", prog, epr->tween.time);
-   return TO_DOUBLE(epr->tween.time);
-}
-
-EAPI Eina_Bool
-edje_edit_program_transition_time_set(Evas_Object *obj, const char *prog, double seconds)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("GET TRANSITION_TIME for program: %s [%.4f]\n", prog, epr->tween.time);
-   epr->tween.time = FROM_DOUBLE(seconds);
-   return EINA_TRUE;
-}
-
-EAPI Edje_Action_Type
-edje_edit_program_action_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(-1);
-
-   //printf("GET ACTION for program: %s [%d]\n", prog, epr->action);
-   return epr->action;
-}
-
-EAPI Eina_Bool
-edje_edit_program_action_set(Evas_Object *obj, const char *prog, Edje_Action_Type action)
-{
-   Program_Script *ps;
-
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   //printf("SET ACTION for program: %s [%d]\n", prog, action);
-   if (action >= EDJE_ACTION_TYPE_LAST) return EINA_FALSE;
-
-   if ((Edje_Action_Type)epr->action == action)
-     return EINA_TRUE;
-
-   if (action == EDJE_ACTION_TYPE_SCRIPT)
-     {
-        ps = eina_hash_find(eed->program_scripts, &epr->id);
-        if (!ps)
-          {
-             ps = _alloc(sizeof(Program_Script));
-             if (!ps)
-               return EINA_FALSE;
-          }
-        ps->id = epr->id;
-        ps->code = strdup("");
-        ps->dirty = EINA_TRUE;
-        ps->delete_me = EINA_FALSE;
-        eina_hash_set(eed->program_scripts, &ps->id, ps);
-        _edje_edit_flag_script_dirty(eed, EINA_FALSE);
-     }
-   if (epr->action == EDJE_ACTION_TYPE_SCRIPT)
-     {
-        ps = eina_hash_find(eed->program_scripts, &epr->id);
-        if (ps)
-          {
-             free(ps->code);
-             free(ps->processed);
-             ps->code = ps->processed = NULL;
-             ps->dirty = EINA_FALSE;
-             ps->delete_me = EINA_TRUE;
-             _edje_edit_flag_script_dirty(eed, EINA_FALSE);
-          }
-     }
-
-   epr->action = action;
-   return EINA_TRUE;
-}
-
-EAPI Eina_List *
-edje_edit_program_targets_get(Evas_Object *obj, const char *prog)
-{
-   Eina_List *l, *targets = NULL;
-   Edje_Program_Target *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-   GET_EPR_OR_RETURN(NULL);
-
-   //printf("GET TARGETS for program: %s [count: %d]\n", prog, eina_list_count(epr->targets));
-   EINA_LIST_FOREACH(epr->targets, l, t)
-     {
-       if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
-         {
-            /* the target is a part */
-            Edje_Real_Part *p = NULL;
-
-            p = ed->table_parts[t->id % ed->table_parts_size];
-            if (p && p->part && p->part->name)
-              targets = eina_list_append(targets,
-                    eina_stringshare_add(p->part->name));
-         }
-       else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
-         {
-            /* the target is a program */
-            Edje_Program *p;
-
-            p = ed->table_programs[t->id % ed->table_programs_size];
-            if (p && p->name)
-              targets = eina_list_append(targets,
-                    eina_stringshare_add(p->name));
-         }
-     }
-   return targets;
-}
-
-EAPI Eina_Bool
-edje_edit_program_targets_clear(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   while (epr->targets)
-     {
-       Edje_Program_Target *prt;
-
-       prt = eina_list_data_get(epr->targets);
-       epr->targets = eina_list_remove_list(epr->targets, epr->targets);
-       free(prt);
-     }
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_target_add(Evas_Object *obj, const char *prog, const char *target)
-{
-   int id;
-   Edje_Program_Target *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
-     {
-       /* the target is a part */
-       Edje_Real_Part *rp;
-
-       rp = _edje_real_part_get(ed, target);
-       if (!rp) return EINA_FALSE;
-       id = rp->part->id;
-     }
-   else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
-     {
-       /* the target is a program */
-       Edje_Program *tar;
-
-       tar = _edje_program_get_byname(obj, target);
-       if (!tar) return EINA_FALSE;
-       id = tar->id;
-     }
-   else
-     return EINA_FALSE;
-
-   t = _alloc(sizeof(Edje_Program_Target));
-   if (!t) return EINA_FALSE;
-
-   t->id = id;
-   epr->targets = eina_list_append(epr->targets, t);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_target_del(Evas_Object *obj, const char *prog, const char *target)
-{
-   int id;
-   Eina_List *l;
-   Edje_Program_Target *t;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
-     {
-       /* the target is a part */
-       Edje_Real_Part *rp;
-
-       rp = _edje_real_part_get(ed, target);
-       if (!rp) return EINA_FALSE;
-       id = rp->part->id;
-     }
-   else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
-     {
-       /* the target is a program */
-       Edje_Program *tar;
-
-       tar = _edje_program_get_byname(obj, target);
-       if (!tar) return EINA_FALSE;
-       id = tar->id;
-     }
-   else
-     return EINA_FALSE;
-
-   EINA_LIST_FOREACH(epr->targets, l, t)
-      if (t->id == id)
-       break;
-   epr->targets = eina_list_remove_list(epr->targets, l);
-   free(t);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_List *
-edje_edit_program_afters_get(Evas_Object *obj, const char *prog)
-{
-   Eina_List *l, *afters = NULL;
-   Edje_Program_After *a;
-
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(NULL);
-   GET_EPR_OR_RETURN(NULL);
-
-  // printf("GET AFTERS for program: %s [count: %d]\n", prog, eina_list_count(epr->after));
-   EINA_LIST_FOREACH(epr->after, l, a)
-     {
-       Edje_Program *p = NULL;
-
-       p = ed->table_programs[a->id % ed->table_programs_size];
-       if (p && p->name)
-         {
-            //printf("   a: %d name: %s\n", a->id, p->name);
-            afters = eina_list_append(afters, eina_stringshare_add(p->name));
-         }
-     }
-   return afters;
-}
-
-EAPI Eina_Bool
-edje_edit_program_afters_clear(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   while (epr->after)
-     {
-       Edje_Program_After *pa;
-
-       pa = eina_list_data_get(epr->after);
-       epr->after = eina_list_remove_list(epr->after, epr->after);
-       free(pa);
-     }
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_after_add(Evas_Object *obj, const char *prog, const char *after)
-{
-   Edje_Program *af;
-   Edje_Program_After *a;
-
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   af = _edje_program_get_byname(obj, after);
-   if (!af) return EINA_FALSE;
-
-   a = _alloc(sizeof(Edje_Program_After));
-   if (!a) return EINA_FALSE;
-
-   a->id = af->id;
-
-   epr->after = eina_list_append(epr->after, a);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_after_del(Evas_Object *obj, const char *prog, const char *after)
-{
-   Edje_Program *af;
-   Edje_Program_After *a;
-   Eina_List *l;
-
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   af = _edje_program_get_byname(obj, after);
-   if (!af) return EINA_FALSE;
-
-   EINA_LIST_FOREACH(epr->after, l, a)
-      if (a->id == af->id)
-       {
-          epr->after = eina_list_remove_list(epr->after, l);
-          break;
-       }
-
-   return EINA_TRUE;
-}
-
-EAPI const char *
-edje_edit_program_api_name_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   return eina_stringshare_add(epr->api.name);
-}
-
-EAPI const char *
-edje_edit_program_api_description_get(Evas_Object *obj, const char *prog)
-{
-   eina_error_set(0);
-
-   GET_EPR_OR_RETURN(NULL);
-
-   return eina_stringshare_add(epr->api.description);
-}
-
-EAPI Eina_Bool
-edje_edit_program_api_name_set(Evas_Object *obj, const char *prog, const char* name)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   _edje_if_string_free(ed, epr->api.name);
-   epr->api.name = eina_stringshare_add(name);
-
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_program_api_description_set(Evas_Object *obj, const char *prog, const char *description)
-{
-   eina_error_set(0);
-
-   GET_ED_OR_RETURN(EINA_FALSE);
-   GET_EPR_OR_RETURN(EINA_FALSE);
-
-   _edje_if_string_free(ed, epr->api.description);
-   epr->api.description = eina_stringshare_add(description);
-
-   return EINA_TRUE;
-}
-
-/*************************/
-/*  EMBRYO SCRIPTS  API  */
-/*************************/
-EAPI char *
-edje_edit_script_get(Evas_Object *obj)
-{
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(NULL);
-   GET_ED_OR_RETURN(NULL);
-
-   if (!ed->collection) return NULL;
-   if (!eed->embryo_source) return NULL;
-
-   return strdup(eed->embryo_source);
-}
-
-EAPI void
-edje_edit_script_set(Evas_Object *obj, const char *code)
-{
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN();
-
-   free(eed->embryo_source);
-   free(eed->embryo_processed);
-
-   if (code)
-     eed->embryo_source = strdup(code);
-   else
-     eed->embryo_source = NULL;
-   eed->embryo_processed = NULL;
-
-   eed->embryo_source_dirty = EINA_TRUE;
-
-   _edje_edit_flag_script_dirty(eed, EINA_FALSE);
-}
-
-EAPI char *
-edje_edit_script_program_get(Evas_Object *obj, const char *prog)
-{
-   Program_Script *ps;
-
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN(NULL);
-   GET_EPR_OR_RETURN(NULL);
-
-   if (epr->action != EDJE_ACTION_TYPE_SCRIPT)
-     return NULL;
-
-   ps = eina_hash_find(eed->program_scripts, prog);
-   if (!ps) /* mmm? it should be there, even if empty */
-     return NULL;
-
-   return ps->code ? strdup(ps->code) : NULL;
-}
-
-EAPI void
-edje_edit_script_program_set(Evas_Object *obj, const char *prog, const char *code)
-{
-   Program_Script *ps;
-
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN();
-   GET_EPR_OR_RETURN();
-
-   if (epr->action != EDJE_ACTION_TYPE_SCRIPT)
-     return;
-
-   ps = eina_hash_find(eed->program_scripts, prog);
-   if (!ps) /* ???? how so? */
-     return;
-
-   free(ps->code);
-   free(ps->processed);
-
-   if (code)
-     ps->code = strdup(code);
-   else
-     ps->code = NULL;
-   ps->processed = NULL;
-   ps->dirty = EINA_TRUE;
-
-   _edje_edit_flag_script_dirty(eed, EINA_FALSE);
-}
-
-static int
-__part_replace(Edje_Edit *eed, char *pcode, char *name)
-{
-   int id;
-
-   id = _edje_part_id_find((Edje *)eed, name);
-   if (id < 0)
-     return 0;
-   return eina_convert_itoa(id, pcode);
-}
-
-static int
-__program_replace(Edje_Edit *eed, char *pcode, char *name)
-{
-   int id;
-
-   id = _edje_program_id_find(eed, name);
-   if (id < 0)
-     return 0;
-   return eina_convert_itoa(id, pcode);
-}
-
-static int
-__group_replace(Edje_Edit *eed __UNUSED__, char *pcode, char *name)
-{
-   strcpy(pcode, name);
-   return strlen(name) + 1;
-}
-
-static int
-__image_replace(Edje_Edit *eed, char *pcode, char *name)
-{
-   int id;
-
-   id = _edje_image_id_find(eed, name);
-   if (id < 0)
-     return 0;
-   return eina_convert_itoa(id, pcode);
-}
-
-static char *
-_edje_edit_script_process(Edje_Edit *eed, const char *progname, char *code)
-{
-   char *pcode, *psrc, *pdst;
-   int codesize, pcodesize;
-   int quoted = 0, escaped = 0;
-   int line = 1;
-   Eina_Bool success = EINA_TRUE;
-
-   codesize = strlen(code);
-   pcode = malloc(codesize + 1);
-   if (!pcode)
-     return NULL;
-
-   pcodesize = 0;
-   psrc = code;
-   pdst = pcode;
-   while (*psrc)
-     {
-        if (!quoted)
-          {
-             char *ptr = NULL;
-             const char *what = NULL;
-             int (*func)(Edje_Edit *, char *, char *);
-
-             if (*psrc == 'P')
-               {
-                  if (!strncmp(psrc, "PART:\"", 6))
-                    {
-                       psrc += 6;
-                       ptr = psrc;
-                       func = __part_replace;
-                       what = "part";
-                    }
-                  else if (!strncmp(psrc, "PROGRAM:\"", 9))
-                    {
-                       psrc += 9;
-                       ptr = psrc;
-                       func = __program_replace;
-                       what = "program";
-                    }
-               }
-             else if (*psrc == 'G')
-               {
-                  if (!strncmp(psrc, "GROUP:\"", 7))
-                    {
-                       psrc += 7;
-                       ptr = psrc;
-                       func = __group_replace;
-                       what = "group";
-                    }
-               }
-             else if (*psrc == 'I')
-               {
-                  if (!strncmp(psrc, "IMAGE:\"", 7))
-                    {
-                       psrc += 7;
-                       ptr = psrc;
-                       func = __image_replace;
-                       what = "image";
-                    }
-               }
-             else if (*psrc == '#')
-               {
-                  while (*psrc)
-                    if (*psrc == '\n')
-                      break;
-                  line++;
-                  continue;
-               }
-             else if (*psrc == '\"')
-               quoted = 1;
-             else if (*psrc == '\n')
-               line++;
-
-             if (ptr)
-               {
-                  int i = 0, inesc = 0;
-                  char *name;
-                  while (*psrc)
-                    {
-                       if (!inesc)
-                         {
-                            if (*psrc == '\\')
-                              inesc = 1;
-                            else if (*psrc == '\"')
-                              {
-                                 /* string concatenation as in "foo""bar" */
-                                 if (*(psrc + 1) != '\"')
-                                   {
-                                      psrc++;
-                                      break;
-                                   }
-                                 else
-                                   psrc++;
-                              }
-                         }
-                       else
-                         inesc = 0;
-                       psrc++;
-                    }
-                  name = alloca(psrc - ptr);
-                  inesc = 0;
-                  while (*ptr)
-                    {
-                       if (!inesc)
-                         {
-                            if (*ptr == '\\')
-                              inesc = 1;
-                            else if (*ptr == '\"')
-                              {
-                                 if (*(ptr + 1) == '\"')
-                                   ptr++;
-                                 else
-                                   {
-                                      name[i] = 0;
-                                      break;
-                                   }
-                              }
-                            else
-                              {
-                                 name[i] = *ptr;
-                                 name[i + 1] = 0;
-                                 i++;
-                              }
-                         }
-                       else
-                         inesc = 0;
-                       ptr++;
-                    }
-                  i = func(eed, pdst, name);
-                  if (!i)
-                    {
-                       Edje_Edit_Script_Error *se;
-                       se = malloc(sizeof(Edje_Edit_Script_Error));
-                       se->program_name = progname ?
-                          eina_stringshare_add(progname) : NULL;
-                       se->line = line;
-                       se->error_str = eina_stringshare_printf(
-                          "Referenced %s '%s' could not be found in object.",
-                          what, name);
-                       eed->errors = eina_list_append(eed->errors, se);
-                       success = EINA_FALSE;
-                    }
-                  else
-                    {
-                       pcodesize += i;
-                       pdst += i;
-                    }
-                  /* replaced reference for the right value, now go
-                   * to the next iteration */
-                  continue;
-               }
-          }
-        else
-          {
-             if (!escaped)
-               {
-                  if (*psrc == '\"')
-                    quoted = 0;
-                  else if (*psrc == '\\')
-                    escaped = 1;
-               }
-             else if (escaped)
-               escaped = 0;
-          }
-        *pdst = *psrc;
-        pdst++;
-        psrc++;
-        pcodesize++;
-     }
-
-   if (!success)
-     {
-        free(pcode);
-        return NULL;
-     }
-
-   if (pcodesize < codesize)
-     pcode = realloc(pcode, pcodesize + 1);
-   pcode[pcodesize] = 0;
-
-   return pcode;
-}
-
-static Eina_Bool
-_edje_edit_embryo_rebuild(Edje_Edit *eed)
-{
-   FILE *f;
-   int fd, size, ret;
-   const char *tmp_dir;
-   char tmp_in[PATH_MAX];
-   char tmp_out[PATH_MAX];
-   char buf[4096];
-   Eina_Iterator *it;
-   Program_Script *ps;
-   Edje_Part_Collection *edc;
-   Eina_Bool success = EINA_TRUE; /* we are optimists! */
-   Edje_Edit_Script_Error *se;
-
-   EINA_LIST_FREE(eed->errors, se)
-     {
-        eina_stringshare_del(se->program_name);
-        eina_stringshare_del(se->error_str);
-        free(se);
-     }
-
-#ifdef HAVE_EVIL
-   tmp_dir = evil_tmpdir_get();
-#else
-   tmp_dir = "/tmp";
-#endif
-
-   snprintf(tmp_in, sizeof(tmp_in), "%s/edje_edit.sma-tmp-XXXXXX", tmp_dir);
-   snprintf(tmp_out, sizeof(tmp_out), "%s/edje_edit.amx-tmp-XXXXXX", tmp_dir);
-
-   fd = mkstemp(tmp_in);
-   if (fd < 0)
-     return EINA_FALSE; /* FIXME: report something */
-
-   f = fdopen(fd, "w");
-   if (!f)
-     {
-        close(fd);
-        unlink(tmp_in);
-        return EINA_FALSE;
-     }
-
-   fprintf(f, "#include <edje>\n");
-   if (eed->embryo_source)
-     {
-        if (eed->all_dirty)
-          {
-             free(eed->embryo_processed);
-             eed->embryo_processed = NULL;
-          }
-        if (!eed->embryo_processed)
-          eed->embryo_processed = _edje_edit_script_process(eed, NULL,
-                                                            eed->embryo_source);
-        if (!eed->embryo_processed)
-          {
-             /* oops.. an error finding references parts or something.
-              * we could flag it and do some lighter processing of the
-              * rest of the scripts, in order to find all the errors of
-              * this kind and report them at once, but knowing already
-              * that the script will not compile we can avoid some work
-              */
-             success = EINA_FALSE;
-          }
-        else
-          fprintf(f, "%s", eed->embryo_processed);
-     }
-
-   it = eina_hash_iterator_data_new(eed->program_scripts);
-   EINA_ITERATOR_FOREACH(it, ps)
-     {
-        Edje_Program *epr;
-
-        if (ps->delete_me)
-          continue;
-        if (eed->all_dirty)
-          {
-             free(ps->processed);
-             ps->processed = NULL;
-          }
-        epr = eed->base->table_programs[ps->id];
-        if (!ps->processed)
-          ps->processed = _edje_edit_script_process(eed, epr->name, ps->code);
-        if (!ps->processed)
-          {
-             /* oops.. an error finding references parts or something.
-              * we could flag it and do some lighter processing of the
-              * rest of the scripts, in order to find all the errors of
-              * this kind and report them at once, but knowing already
-              * that the script will not compile we can avoid some work
-              */
-             success = EINA_FALSE;
-             continue;
-          }
-        fprintf(f, "public _p%i(sig[], src[]) {\n", ps->id);
-        fprintf(f, "%s", ps->processed);
-        fprintf(f, "}\n");
-     }
-   eina_iterator_free(it);
-
-   fclose(f);
-
-   if (!success)
-     goto almost_out;
-
-   fd = mkstemp(tmp_out);
-   if (fd < 0)
-     {
-        success = EINA_FALSE;
-        goto almost_out;
-     }
-
-   snprintf(buf, sizeof(buf), "embryo_cc -i %s/include -o %s %s",
-            PACKAGE_DATA_DIR, tmp_out, tmp_in);
-   ret = system(buf);
-
-   if ((ret < 0) || (ret > 1))
-     {
-        success = EINA_FALSE;
-        close(fd);
-        goto the_doorway;
-     }
-
-   f = fdopen(fd, "rb");
-   if (!f)
-     {
-        success = EINA_FALSE;
-        close(fd);
-        goto the_doorway;
-     }
-
-   fseek(f, 0, SEEK_END);
-   size = ftell(f);
-   rewind(f);
-
-   free(eed->bytecode);
-   if (size > 0)
-     {
-        eed->bytecode = malloc(size);
-        if (!eed->bytecode)
-          {
-             success = EINA_FALSE;
-             goto the_way_out;
-          }
-        if (fread(eed->bytecode, size, 1, f) != 1)
-          {
-             success = EINA_FALSE;
-             goto the_way_out;
-          }
-     }
-   else
-     eed->bytecode = NULL; /* correctness mostly, I don't see why we
-                              would get a 0 sized program */
-
-   eed->bytecode_size = size;
-   eed->bytecode_dirty = EINA_TRUE;
-   eed->script_need_recompile = EINA_FALSE;
-   eed->all_dirty = EINA_FALSE;
-
-   edc = eed->base->collection;
-   embryo_program_free(edc->script);
-   edc->script = embryo_program_new(eed->bytecode, eed->bytecode_size);
-   _edje_embryo_script_init(edc);
-   _edje_var_init((Edje *)eed);
-
-the_way_out:
-   fclose(f);
-the_doorway:
-   unlink(tmp_out);
-almost_out:
-   unlink(tmp_in);
-
-   return success;
-}
-
-EAPI Eina_Bool
-edje_edit_script_compile(Evas_Object *obj)
-{
-   GET_EED_OR_RETURN(EINA_FALSE);
-
-   if (!eed->script_need_recompile)
-     return EINA_TRUE;
-
-   return _edje_edit_embryo_rebuild(eed);
-}
-
-EAPI const Eina_List *
-edje_edit_script_error_list_get(Evas_Object *obj)
-{
-   GET_EED_OR_RETURN(NULL);
-   return eed->errors;
-}
-
-/***************************/
-/*  EDC SOURCE GENERATION  */
-/***************************/
-#define I0 ""
-#define I1 "   "
-#define I2 "      "
-#define I3 "         "
-#define I4 "            "
-#define I5 "               "
-#define I6 "                  "
-#define I7 "                     "
-
-#define BUF_APPEND(STR) \
-   ret &= eina_strbuf_append(buf, STR)
-
-#define BUF_APPENDF(FMT, ...) \
-   ret &= eina_strbuf_append_printf(buf, FMT, ##__VA_ARGS__)
-
-static const char *types[] = {"NONE", "RECT", "TEXT", "IMAGE", "SWALLOW", "TEXTBLOCK", "GRADIENT", "GROUP", "BOX", "TABLE", "EXTERNAL", "SPACER"};
-static const char *effects[] = {"NONE", "PLAIN", "OUTLINE", "SOFT_OUTLINE", "SHADOW", "SOFT_SHADOW", "OUTLINE_SHADOW", "OUTLINE_SOFT_SHADOW ", "FAR_SHADOW ", "FAR_SOFT_SHADOW", "GLOW"};
-static const char *prefers[] = {"NONE", "VERTICAL", "HORIZONTAL", "BOTH"};
-
- static Eina_Bool
-_edje_generate_source_of_colorclass(Edje * ed, const char *name, Eina_Strbuf *buf)
-{
-   Eina_List *l;
-   Edje_Color_Class *cc;
-   Eina_Bool ret = EINA_TRUE;
-
-   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
-     if (!strcmp(cc->name, name))
-       {
-        BUF_APPENDF(I1 "color_class { name: \"%s\";\n", cc->name);
-        BUF_APPENDF(I2 "color: %d %d %d %d;\n", cc->r, cc->g, cc->b, cc->a);
-        BUF_APPENDF(I2 "color2: %d %d %d %d;\n", cc->r2, cc->g2, cc->b2, cc->a2);
-        BUF_APPENDF(I2 "color3: %d %d %d %d;\n", cc->r3, cc->g3, cc->b3, cc->a3);
-        BUF_APPEND(I1 "}\n");
-       }
-   return ret;
-}
-
- static Eina_Bool
-_edje_generate_source_of_style(Edje * ed, const char *name, Eina_Strbuf *buf)
-{
-   Eina_List *l, *ll;
-   Edje_Style *s;
-   Edje_Style_Tag *t;
-   Eina_Bool ret = EINA_TRUE;
-
-   EINA_LIST_FOREACH(ed->file->styles, l, s)
-     if (!strcmp(s->name, name))
-       {
-        t = s->tags ? s->tags->data : NULL;
-        BUF_APPENDF(I1 "style { name:\"%s\";\n", s->name);
-        if (t && t->value)
-          BUF_APPENDF(I2 "base: \"%s\";\n", t->value);
-
-        EINA_LIST_FOREACH(s->tags, ll, t)
-          if (ll->prev && t && t->value)
-            BUF_APPENDF(I2 "tag: \"%s\" \"%s\";\n", t->key,
-                               t->value);
-        BUF_APPEND(I1 "}\n");
-        return ret;
-       }
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Strbuf *buf)
-{
-   Eina_List *l, *ll;
-   const char *s, *s2;
-   double db, db2;
-   char *data;
-   Eina_Bool ret = EINA_TRUE;
-   const char *api_name, *api_description;
-   Edje_Program *epr;
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-
-   epr = _edje_program_get_byname(obj, program);
-
-   BUF_APPENDF(I3"program { name: \"%s\";\n", program);
-
-   /* Signal */
-   if ((s = edje_edit_program_signal_get(obj, program)))
-     {
-       BUF_APPENDF(I4"signal: \"%s\";\n", s);
-       edje_edit_string_free(s);
-     }
-
-   /* Source */
-   if ((s = edje_edit_program_source_get(obj, program)))
-     {
-       BUF_APPENDF(I4"source: \"%s\";\n", s);
-       edje_edit_string_free(s);
-     }
-
-   /* Action */
-   switch (edje_edit_program_action_get(obj, program))
-     {
-     case EDJE_ACTION_TYPE_ACTION_STOP:
-       BUF_APPEND(I4"action: ACTION_STOP;\n");
-       break;
-     case EDJE_ACTION_TYPE_STATE_SET:
-       if ((s = edje_edit_program_state_get(obj, program)))
-         {
-               BUF_APPENDF(I4"action: STATE_SET \"%s\" %.2f;\n", s,
-                       edje_edit_program_value_get(obj, program));
-               edje_edit_string_free(s);
-         }
-       break;
-     case EDJE_ACTION_TYPE_SIGNAL_EMIT:
-       s = edje_edit_program_state_get(obj, program);
-       s2 = edje_edit_program_state2_get(obj, program);
-       if (s && s2)
-         {
-               BUF_APPENDF(I4"action: SIGNAL_EMIT \"%s\" \"%s\";\n", s, s2);
-               edje_edit_string_free(s);
-               edje_edit_string_free(s2);
-         }
-       break;
-     case EDJE_ACTION_TYPE_SCRIPT:
-          {
-             Program_Script *ps;
-
-             ps = eina_hash_find(eed->program_scripts, &epr->id);
-             if (ps && !ps->delete_me)
-               {
-                  BUF_APPEND(I4"script {\n");
-                  BUF_APPEND(ps->code);
-                  BUF_APPEND(I4"}\n");
-               }
-          }
-        break;
-     //TODO Support Drag
-     //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n");
-       //~ break;
-     //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n");
-       //~ break;
-     //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n");
-       //~ break;
-     default:
-       break;
-     }
-
-   /* Transition */
-   db = edje_edit_program_transition_time_get(obj, program);
-   switch (edje_edit_program_transition_get(obj, program))
-     {
-     case EDJE_TWEEN_MODE_LINEAR:
-       if (db)
-         BUF_APPENDF(I4"transition: LINEAR %.5f;\n", db);
-       break;
-     case EDJE_TWEEN_MODE_ACCELERATE:
-       BUF_APPENDF(I4"transition: ACCELERATE %.5f;\n", db);
-       break;
-     case EDJE_TWEEN_MODE_DECELERATE:
-       BUF_APPENDF(I4"transition: DECELERATE %.5f;\n", db);
-       break;
-     case EDJE_TWEEN_MODE_SINUSOIDAL:
-       BUF_APPENDF(I4"transition: SINUSOIDAL %.5f;\n", db);
-       break;
-     default:
-       break;
-     }
-
-   /* In */
-   db = edje_edit_program_in_from_get(obj, program);
-   db2 = edje_edit_program_in_range_get(obj, program);
-   if (db || db2)
-     BUF_APPENDF(I4"in: %.5f %.5f;\n", db, db2);
-
-   /* Targets */
-   if ((ll = edje_edit_program_targets_get(obj, program)))
-     {
-       EINA_LIST_FOREACH(ll, l, data)
-         BUF_APPENDF(I4"target: \"%s\";\n", data);
-       edje_edit_string_list_free(ll);
-     }
-
-   /* Afters */
-   if ((ll = edje_edit_program_afters_get(obj, program)))
-     {
-        EINA_LIST_FOREACH(ll, l, data)
-         BUF_APPENDF(I4"after: \"%s\";\n", data);
-       edje_edit_string_list_free(ll);
-     }
-
-   // TODO Support script {}
-   /* api */
-   api_name = edje_edit_program_api_name_get(obj, program);
-   api_description = edje_edit_program_api_description_get(obj, program);
-
-   if (api_name || api_description)
-     {
-       if (api_name && api_description)
-         {
-            BUF_APPENDF(I4"api: \"%s\" \"%s\";\n", api_name, api_description);
-            edje_edit_string_free(api_name);
-            edje_edit_string_free(api_description);
-         }
-       else
-         if (api_name)
-           {
-              BUF_APPENDF(I4"api: \"%s\" \"\";\n", api_name);
-              edje_edit_string_free(api_name);
-           }
-         else
-           {
-              BUF_APPENDF(I4"api: \"\" \"%s\";\n", api_description);
-              edje_edit_string_free(api_description);
-           }
-     }
-
-   BUF_APPEND(I3 "}\n");
-   return ret;
-}
-
-static Eina_Bool
-_edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *state, double value, Eina_Strbuf *buf)
-{
-   Eina_List *l, *ll;
-   Eina_Bool ret = EINA_TRUE;
-
-   GET_PD_OR_RETURN(EINA_FALSE);
-
-   BUF_APPENDF(I4"description { state: \"%s\" %g;\n", pd->state.name, pd->state.value);
-   //TODO Support inherit
-
-   if (!pd->visible)
-     BUF_APPEND(I5"visible: 0;\n");
-
-   if (pd->align.x != 0.5 || pd->align.y != 0.5)
-     BUF_APPENDF(I5"align: %g %g;\n", TO_DOUBLE(pd->align.x), TO_DOUBLE(pd->align.y));
-
-   //TODO Support fixed
-
-   if (pd->min.w || pd->min.h)
-     BUF_APPENDF(I5"min: %d %d;\n", pd->min.w, pd->min.h);
-   if (pd->max.w != -1 || pd->max.h != -1)
-     BUF_APPENDF(I5"max: %d %d;\n", pd->max.w, pd->max.h);
-
-   //TODO Support step
-
-   if (pd->aspect.min || pd->aspect.max)
-      BUF_APPENDF(I5"aspect: %g %g;\n", TO_DOUBLE(pd->aspect.min), TO_DOUBLE(pd->aspect.max));
-   if (pd->aspect.prefer)
-      BUF_APPENDF(I5"aspect_preference: %s;\n", prefers[(int) pd->aspect.prefer]);
-
-   if (pd->color_class)
-     BUF_APPENDF(I5"color_class: \"%s\";\n", pd->color_class);
-
-   if (pd->color.r != 255 || pd->color.g != 255 ||
-       pd->color.b != 255 || pd->color.a != 255)
-     BUF_APPENDF(I5"color: %d %d %d %d;\n",
-                pd->color.r, pd->color.g, pd->color.b, pd->color.a);
-   if (pd->color2.r != 0 || pd->color2.g != 0 ||
-       pd->color2.b != 0 || pd->color2.a != 255)
-     BUF_APPENDF(I5"color2: %d %d %d %d;\n",
-                pd->color2.r, pd->color2.g, pd->color2.b, pd->color2.a);
-
-   if (rp->part->type == EDJE_PART_TYPE_TEXT
-       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-       Edje_Part_Description_Text *txt;
-
-       txt = (Edje_Part_Description_Text *) pd;
-
-       if (txt->text.color3.r != 0 || txt->text.color3.g != 0 ||
-           txt->text.color3.b != 0 || txt->text.color3.a != 128)
-         BUF_APPENDF(I5"color3: %d %d %d %d;\n",
-                     txt->text.color3.r, txt->text.color3.g, txt->text.color3.b, txt->text.color3.a);
-     }
-
-   //Rel1
-   if (pd->rel1.relative_x || pd->rel1.relative_y || pd->rel1.offset_x ||
-       pd->rel1.offset_y || pd->rel1.id_x != -1 || pd->rel1.id_y != -1)
-     {
-       BUF_APPEND(I5"rel1 {\n");
-       if (pd->rel1.relative_x || pd->rel1.relative_y)
-         BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel1.relative_x), TO_DOUBLE(pd->rel1.relative_y));
-       if (pd->rel1.offset_x || pd->rel1.offset_y)
-         BUF_APPENDF(I6"offset: %d %d;\n", pd->rel1.offset_x, pd->rel1.offset_y);
-       if (pd->rel1.id_x != -1 && pd->rel1.id_x == pd->rel1.id_y)
-         BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
-       else
-         {
-               if (pd->rel1.id_x != -1)
-                 BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
-               if (pd->rel1.id_y != -1)
-                 BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel1.id_y]->part->name);
-         }
-       BUF_APPEND(I5"}\n");//rel1
-     }
-
-   //Rel2
-   if (pd->rel2.relative_x != 1.0 || pd->rel2.relative_y != 1.0 ||
-       pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1 ||
-       pd->rel2.id_x != -1 || pd->rel2.id_y != -1)
-     {
-       BUF_APPEND(I5"rel2 {\n");
-       if (TO_DOUBLE(pd->rel2.relative_x) != 1.0 || TO_DOUBLE(pd->rel2.relative_y) != 1.0)
-         BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel2.relative_x), TO_DOUBLE(pd->rel2.relative_y));
-       if (pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1)
-         BUF_APPENDF(I6"offset: %d %d;\n", pd->rel2.offset_x, pd->rel2.offset_y);
-       if (pd->rel2.id_x != -1 && pd->rel2.id_x == pd->rel2.id_y)
-         BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
-       else
-         {
-               if (pd->rel2.id_x != -1)
-                 BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
-               if (pd->rel2.id_y != -1)
-                 BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel2.id_y]->part->name);
-         }
-       BUF_APPEND(I5"}\n");//rel2
-     }
-
-   //Image
-   if (rp->part->type == EDJE_PART_TYPE_IMAGE)
-     {
-       char *data;
-       const char *image_name;
-
-       Edje_Part_Description_Image *img;
-
-       img = (Edje_Part_Description_Image *) pd;
-
-       BUF_APPEND(I5"image {\n");
-
-       image_name = _edje_image_name_find(eed, img->image.id);
-       if (image_name)
-         BUF_APPENDF(I6"normal: \"%s\";\n", image_name);
-
-       ll = edje_edit_state_tweens_list_get(obj, part, state, value);
-       EINA_LIST_FOREACH(ll, l, data)
-         BUF_APPENDF(I6"tween: \"%s\";\n", data);
-       edje_edit_string_list_free(ll);
-
-       if (img->image.border.l || img->image.border.r || img->image.border.t || img->image.border.b)
-         BUF_APPENDF(I6"border: %d %d %d %d;\n", img->image.border.l, img->image.border.r, img->image.border.t, img->image.border.b);
-       if (img->image.border.no_fill == 1)
-         BUF_APPEND(I6"middle: NONE;\n");
-       else if (img->image.border.no_fill == 0)
-         BUF_APPEND(I6"middle: DEFAULT;\n");
-       else if (img->image.border.no_fill == 2)
-         BUF_APPEND(I6"middle: SOLID;\n");
-
-       BUF_APPEND(I5"}\n");//image
-
-       //Fill
-
-       BUF_APPEND(I5"fill {\n");
-       if (!img->image.fill.smooth)
-         BUF_APPEND(I6"smooth: 0;\n");
-        //TODO Support spread
-
-       if (img->image.fill.pos_rel_x || img->image.fill.pos_rel_y ||
-            img->image.fill.pos_abs_x || img->image.fill.pos_abs_y)
-         {
-               BUF_APPEND(I6"origin {\n");
-               if (img->image.fill.pos_rel_x || img->image.fill.pos_rel_y)
-                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(img->image.fill.pos_rel_x), TO_DOUBLE(img->image.fill.pos_rel_y));
-               if (img->image.fill.pos_abs_x || img->image.fill.pos_abs_y)
-                 BUF_APPENDF(I7"offset: %d %d;\n", img->image.fill.pos_abs_x, img->image.fill.pos_abs_y);
-               BUF_APPEND(I6"}\n");
-          }
-
-       if (TO_DOUBLE(img->image.fill.rel_x) != 1.0 || TO_DOUBLE(img->image.fill.rel_y) != 1.0 ||
-            img->image.fill.abs_x || img->image.fill.abs_y)
-         {
-               BUF_APPEND(I6"size {\n");
-               if (img->image.fill.rel_x != 1.0 || img->image.fill.rel_y != 1.0)
-                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(img->image.fill.rel_x), TO_DOUBLE(img->image.fill.rel_y));
-               if (img->image.fill.abs_x || img->image.fill.abs_y)
-                 BUF_APPENDF(I7"offset: %d %d;\n", img->image.fill.abs_x, img->image.fill.abs_y);
-               BUF_APPEND(I6"}\n");
-          }
-
-       BUF_APPEND(I5"}\n");
-     }
-
-   if (rp->part->type == EDJE_PART_TYPE_PROXY)
-     {
-       Edje_Part_Description_Proxy *pro;
-
-       pro = (Edje_Part_Description_Proxy *) pd;
-
-       //Fill
-
-       BUF_APPEND(I5"fill {\n");
-       if (!pro->proxy.fill.smooth)
-         BUF_APPEND(I6"smooth: 0;\n");
-        //TODO Support spread
-       //TODO Support source
-
-       if (pro->proxy.fill.pos_rel_x || pro->proxy.fill.pos_rel_y ||
-            pro->proxy.fill.pos_abs_x || pro->proxy.fill.pos_abs_y)
-         {
-               BUF_APPEND(I6"origin {\n");
-               if (pro->proxy.fill.pos_rel_x || pro->proxy.fill.pos_rel_y)
-                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(pro->proxy.fill.pos_rel_x), TO_DOUBLE(pro->proxy.fill.pos_rel_y));
-               if (pro->proxy.fill.pos_abs_x || pro->proxy.fill.pos_abs_y)
-                 BUF_APPENDF(I7"offset: %d %d;\n", pro->proxy.fill.pos_abs_x, pro->proxy.fill.pos_abs_y);
-               BUF_APPEND(I6"}\n");
-          }
-
-       if (TO_DOUBLE(pro->proxy.fill.rel_x) != 1.0 || TO_DOUBLE(pro->proxy.fill.rel_y) != 1.0 ||
-            pro->proxy.fill.abs_x || pro->proxy.fill.abs_y)
-         {
-               BUF_APPEND(I6"size {\n");
-               if (pro->proxy.fill.rel_x != 1.0 || pro->proxy.fill.rel_y != 1.0)
-                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(pro->proxy.fill.rel_x), TO_DOUBLE(pro->proxy.fill.rel_y));
-               if (pro->proxy.fill.abs_x || pro->proxy.fill.abs_y)
-                 BUF_APPENDF(I7"offset: %d %d;\n", pro->proxy.fill.abs_x, pro->proxy.fill.abs_y);
-               BUF_APPEND(I6"}\n");
-          }
-
-       BUF_APPEND(I5"}\n");
-     }
-
-   //Text
-   if (rp->part->type == EDJE_PART_TYPE_TEXT)
-     {
-       Edje_Part_Description_Text *txt;
-
-       txt = (Edje_Part_Description_Text *) pd;
-
-       BUF_APPEND(I5"text {\n");
-       if (edje_string_get(&txt->text.text))
-         {
-            if (txt->text.text.id)
-              BUF_APPENDF(I6"text: _(\"%s\");\n", edje_string_id_get(&txt->text.text));
-            else
-              BUF_APPENDF(I6"text: \"%s\";\n", edje_string_get(&txt->text.text));
-         }
-       if (edje_string_get(&txt->text.font))
-         {
-            if (txt->text.font.id)
-              BUF_APPENDF(I6"font: _(\"%s\");\n", edje_string_id_get(&txt->text.font));
-            else
-              BUF_APPENDF(I6"font: \"%s\";\n", edje_string_get(&txt->text.font));
-         }
-       if (txt->text.size)
-         BUF_APPENDF(I6"size: %d;\n", txt->text.size);
-       if (txt->text.text_class)
-         BUF_APPENDF(I6"text_class: \"%s\";\n", txt->text.text_class);
-       if (txt->text.fit_x || txt->text.fit_y)
-         BUF_APPENDF(I6"fit: %d %d;\n", txt->text.fit_x, txt->text.fit_y);
-        //TODO Support min & max
-       if (TO_DOUBLE(txt->text.align.x) != 0.5 || TO_DOUBLE(txt->text.align.y) != 0.5)
-         BUF_APPENDF(I6"align: %g %g;\n", TO_DOUBLE(txt->text.align.x), TO_DOUBLE(txt->text.align.y));
-        //TODO Support source
-        //TODO Support text_source
-       if (txt->text.elipsis)
-         BUF_APPENDF(I6"elipsis: %g;\n", txt->text.elipsis);
-       BUF_APPEND(I5"}\n");
-     }
-
-   //External
-   if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       if ((ll = (Eina_List *)edje_edit_state_external_params_list_get(obj, part, state, value)))
-         {
-            Edje_External_Param *p;
-
-            BUF_APPEND(I5"params {\n");
-            EINA_LIST_FOREACH(ll, l, p)
-              {
-                 switch (p->type)
-                   {
-                    case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                       BUF_APPENDF(I6"int: \"%s\" \"%d\";\n", p->name, p->i);
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                       BUF_APPENDF(I6"double: \"%s\" \"%g\";\n", p->name, p->d);
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                       if (p->s)
-                         BUF_APPENDF(I6"string: \"%s\" \"%s\";\n", p->name,
-                                     p->s);
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                       BUF_APPENDF(I6"bool: \"%s\" \"%d\";\n", p->name, p->i);
-                       break;
-                    case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                       if (p->s)
-                         BUF_APPENDF(I6"choice: \"%s\" \"%s\";\n", p->name,
-                                     p->s);
-                       break;
-                    default:
-                       break;
-                   }
-              }
-            BUF_APPEND(I5"}\n");
-         }
-     }
-
-   BUF_APPEND(I4"}\n");//description
-   return ret;
-}
-
-static Eina_Bool
-_edje_generate_source_of_part(Evas_Object *obj, Edje_Part *ep, Eina_Strbuf *buf)
-{
-   const char *part = ep->name;
-   const char *str;
-   Eina_List *l, *ll;
-   char *data;
-   Eina_Bool ret = EINA_TRUE;
-   const char *api_name, *api_description;
-
-   BUF_APPENDF(I3"part { name: \"%s\";\n", part);
-   BUF_APPENDF(I4"type: %s;\n", types[edje_edit_part_type_get(obj, part)]);
-   if (!edje_edit_part_mouse_events_get(obj, part))
-      BUF_APPEND(I4"mouse_events: 0;\n");
-   if (edje_edit_part_repeat_events_get(obj, part))
-      BUF_APPEND(I4"repeat_events: 1;\n");
-   if (edje_edit_part_scale_get(obj, part))
-     BUF_APPEND(I4"scale: 1;\n");
-   //TODO Support ignore_flags
-   //TODO Support pointer_mode
-   //TODO Support precise_is_inside
-   //TODO Support use_alternate_font_metrics
-   if ((str = edje_edit_part_clip_to_get(obj, part)))
-     {
-        BUF_APPENDF(I4"clip_to: \"%s\";\n", str);
-        edje_edit_string_free(str);
-     }
-   if ((str = edje_edit_part_source_get(obj, part)))
-     {
-        BUF_APPENDF(I4"source: \"%s\";\n", str);
-        edje_edit_string_free(str);
-     }
-   if (edje_edit_part_effect_get(obj, part))
-     BUF_APPENDF(I4"effect: %s;\n",
-                effects[edje_edit_part_effect_get(obj, part)]);
-
-   //Dragable
-   if (edje_edit_part_drag_x_get(obj, part) ||
-       edje_edit_part_drag_y_get(obj, part))
-     {
-       BUF_APPEND(I4"dragable {\n");
-       BUF_APPENDF(I5"x: %d %d %d;\n",
-                                 edje_edit_part_drag_x_get(obj, part),
-                                 edje_edit_part_drag_step_x_get(obj, part),
-                                 edje_edit_part_drag_count_x_get(obj, part));
-       BUF_APPENDF(I5"y: %d %d %d;\n",
-                                 edje_edit_part_drag_y_get(obj, part),
-                                 edje_edit_part_drag_step_y_get(obj, part),
-                                 edje_edit_part_drag_count_y_get(obj, part));
-       if ((str = edje_edit_part_drag_confine_get(obj, part)))
-         {
-               BUF_APPENDF(I5"confine: \"%s\";\n", str);
-               edje_edit_string_free(str);
-         }
-       if ((str = edje_edit_part_drag_event_get(obj, part)))
-         {
-               BUF_APPENDF(I5"events: \"%s\";\n", str);
-               edje_edit_string_free(str);
-         }
-       BUF_APPEND(I4"}\n");
-     }
-
-   //Descriptions
-   ll = edje_edit_part_states_list_get(obj, part);
-   EINA_LIST_FOREACH(ll, l, data)
-     {
-       char state[512], *delim;
-       double value;
-       strncpy(state, data, sizeof(state) - 1); /* if we go over it, too bad.. the list of states may need to change to provide name and value separated */
-       delim = strchr(state, ' ');
-       *delim = '\0';
-       delim++;
-       value = strtod(delim, NULL);
-       ret &= _edje_generate_source_of_state(obj, part, state, value, buf);
-     }
-   edje_edit_string_list_free(ll);
-
-   api_name = edje_edit_part_api_name_get(obj, part);
-   api_description = edje_edit_part_api_description_get(obj, part);
-
-   if (api_name || api_description)
-     {
-       if (api_name && api_description)
-         {
-            BUF_APPENDF(I4"api: \"%s\" \"%s\";\n", api_name, api_description);
-            edje_edit_string_free(api_name);
-            edje_edit_string_free(api_description);
-         }
-       else
-         if (api_name)
-           {
-              BUF_APPENDF(I4"api: \"%s\" \"\";\n", api_name);
-              edje_edit_string_free(api_name);
-           }
-         else
-           {
-              BUF_APPENDF(I4"api: \"\" \"%s\";\n", api_description);
-              edje_edit_string_free(api_description);
-           }
-     }
-
-   BUF_APPEND(I3"}\n");//part
-   return ret;
-}
-
-static Eina_Bool
-_edje_generate_source_of_group(Edje *ed, Edje_Part_Collection_Directory_Entry *pce, Eina_Strbuf *buf)
-{
-   Edje_Edit *eed;
-   Eet_File *ef;
-   Evas_Object *obj;
-   Eina_List *l, *ll;
-   unsigned int i;
-   int w, h;
-   char *data;
-   const char *group = pce->entry;
-   Edje_Part_Collection *pc;
-   Eina_Bool ret = EINA_TRUE;
-
-   obj = edje_edit_object_add(ed->base->evas);
-   if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
-
-   ef = eet_open(ed->file->path, EET_FILE_MODE_READ);
-   if (!ef)
-     {
-        evas_object_del(obj);
-        return EINA_FALSE;
-     }
-
-   eed = eo_data_get(obj, MY_CLASS);
-   pc = eed->base->collection;
-
-   BUF_APPENDF(I1"group { name: \"%s\";\n", group);
-   //TODO Support alias:
-   w = edje_edit_group_min_w_get(obj);
-   h = edje_edit_group_min_h_get(obj);
-   if ((w > 0) || (h > 0))
-      BUF_APPENDF(I2"min: %d %d;\n", w, h);
-   w = edje_edit_group_max_w_get(obj);
-   h = edje_edit_group_max_h_get(obj);
-   if ((w > 0) || (h > 0))
-      BUF_APPENDF(I2"max: %d %d;\n", w, h);
-
-   /* Data */
-   if (pc->data)
-     {
-        Eina_Iterator *it;
-        Eina_Hash_Tuple *tuple;
-        BUF_APPEND(I2"data {\n");
-
-        it = eina_hash_iterator_tuple_new(pc->data);
-
-        if (!it)
-          {
-             ERR("Generating EDC for Group[%s] data.", group);
-             return EINA_FALSE;
-          }
-
-        EINA_ITERATOR_FOREACH(it, tuple)
-           BUF_APPENDF(I3"item: \"%s\" \"%s\";\n", (char *)tuple->key,
-                         edje_string_get(tuple->data));
-
-        eina_iterator_free(it);
-        BUF_APPEND(I2"}\n");
-     }
-
-   if (eed->embryo_source)
-     {
-        BUF_APPEND(I2"script {\n");
-        BUF_APPEND(eed->embryo_source);
-        BUF_APPEND(I2"}\n");
-     }
-
-   /* Parts */
-   BUF_APPEND(I2"parts {\n");
-   for (i = 0; i < pc->parts_count; i++)
-     {
-        Edje_Part *ep;
-        ep = pc->parts[i];
-        ret &= _edje_generate_source_of_part(obj, ep, buf);
-     }
-   BUF_APPEND(I2"}\n");//parts
-
-   if (!ret)
-     {
-        ERR("Generating EDC for Group[%s] Parts.", group);
-        return EINA_FALSE;
-     }
-
-   /* Programs */
-   if ((ll = edje_edit_programs_list_get(obj)))
-     {
-       BUF_APPEND(I2 "programs {\n");
-       EINA_LIST_FOREACH(ll, l, data)
-         ret &= _edje_generate_source_of_program(obj, data, buf);
-       BUF_APPEND(I2 "}\n");
-       edje_edit_string_list_free(ll);
-     }
-   BUF_APPEND(I1"}\n");//group
-
-   if (!ret)
-     {
-        ERR("Generating EDC for Group[%s] Programs.", group);
-        evas_object_del(obj);
-        return EINA_FALSE;
-     }
-
-   eet_close(ef);
-   evas_object_del(obj);
-   return ret;
-}
-
-static Eina_Strbuf*
-_edje_generate_source(Evas_Object *obj)
-{
-   Eina_Strbuf *buf;
-
-   Eina_List *l, *ll;
-   Edje_Font_Directory_Entry *fnt;
-
-   char *entry;
-   Eina_Bool ret = EINA_TRUE;
-
-   GET_ED_OR_RETURN(NULL);
-
-   /* Open a str buffer */
-
-   buf = eina_strbuf_new();
-   if (!buf) return NULL;
-
-   /* Write edc into file */
-   //TODO Probably we need to save the file before generation
-
-   /* Images */
-   if ((ll = edje_edit_images_list_get(obj)))
-     {
-       BUF_APPEND(I0"images {\n");
-
-       EINA_LIST_FOREACH(ll, l, entry)
-         {
-               int comp = edje_edit_image_compression_type_get(obj, entry);
-               if (comp < 0) continue;
-
-               BUF_APPENDF(I1"image: \"%s\" ", entry);
-
-               if (comp == EDJE_EDIT_IMAGE_COMP_LOSSY)
-                 BUF_APPENDF("LOSSY %d;\n",
-                         edje_edit_image_compression_rate_get(obj, entry));
-               else if (comp == EDJE_EDIT_IMAGE_COMP_RAW)
-                 BUF_APPEND("RAW;\n");
-               else if (comp == EDJE_EDIT_IMAGE_COMP_USER)
-                 BUF_APPEND("USER;\n");
-               else
-                 BUF_APPEND("COMP;\n");
-         }
-       BUF_APPEND(I0"}\n\n");
-       edje_edit_string_list_free(ll);
-
-       if (!ret)
-         {
-            ERR("Generating EDC for Images");
-            eina_strbuf_free(buf);
-            return NULL;
-         }
-     }
-
-   /* Fonts */
-   if (ed->file->fonts)
-     {
-        Eina_Iterator *it;
-
-        it = eina_hash_iterator_data_new(ed->file->fonts);
-        if (it)
-          {
-             BUF_APPEND(I0"fonts {\n");
-
-             EINA_ITERATOR_FOREACH(it, fnt)
-                BUF_APPENDF(I1"font: \"%s\" \"%s\";\n", fnt->file,
-                            fnt->entry);
-
-             BUF_APPEND(I0"}\n\n");
-             eina_iterator_free(it);
-
-             if (!ret)
-               {
-                  ERR("Generating EDC for Fonts");
-                  eina_strbuf_free(buf);
-                  return NULL;
-               }
-          }
-     }
-
-   /* Data */
-   if ((ll = edje_edit_data_list_get(obj)))
-     {
-       BUF_APPEND(I0 "data {\n");
-
-       EINA_LIST_FOREACH(ll, l, entry)
-          BUF_APPENDF(I1 "item: \"%s\" \"%s\";\n", entry,
-                            edje_edit_data_value_get(obj, entry));
-
-       BUF_APPEND(I0 "}\n\n");
-       edje_edit_string_list_free(ll);
-
-       if (!ret)
-         {
-            ERR("Generating EDC for Data");
-            eina_strbuf_free(buf);
-            return NULL;
-         }
-     }
-
-   /* Color Classes */
-   if ((ll = edje_edit_color_classes_list_get(obj)))
-     {
-       BUF_APPEND(I0 "color_classes {\n");
-
-       EINA_LIST_FOREACH(ll, l, entry)
-         _edje_generate_source_of_colorclass(ed, entry, buf);
-
-       BUF_APPEND(I0 "}\n\n");
-       edje_edit_string_list_free(ll);
-
-       if (!ret)
-         {
-            ERR("Generating EDC for Color Classes");
-            eina_strbuf_free(buf);
-            return NULL;
-         }
-     }
-
-   /* Styles */
-   if ((ll = edje_edit_styles_list_get(obj)))
-     {
-       BUF_APPEND(I0 "styles {\n");
-       EINA_LIST_FOREACH(ll, l, entry)
-         _edje_generate_source_of_style(ed, entry, buf);
-       BUF_APPEND(I0 "}\n\n");
-       edje_edit_string_list_free(ll);
-
-       if (!ret)
-         {
-            ERR("Generating EDC for Styles");
-            eina_strbuf_free(buf);
-            return NULL;
-         }
-     }
-
-   /* Externals */
-   if ((ll = edje_edit_externals_list_get(obj)))
-     {
-        BUF_APPEND(I0 "externals {\n");
-        EINA_LIST_FOREACH(ll, l, entry)
-           BUF_APPENDF(I1 "external: \"%s\";\n", entry);
-
-        BUF_APPEND(I0 "}\n\n");
-        edje_edit_string_list_free(ll);
-
-        if (!ret)
-          {
-             ERR("Generating EDC for Externals");
-             eina_strbuf_free(buf);
-             return NULL;
-          }
-     }
-
-   /* Collections */
-   if (ed->file->collection)
-     {
-        Eina_Iterator *it;
-        Edje_Part_Collection_Directory_Entry *pce;
-        BUF_APPEND("collections {\n");
-
-        it = eina_hash_iterator_data_new(ed->file->collection);
-
-        if (!it)
-          {
-             ERR("Generating EDC for Collections");
-             eina_strbuf_free(buf);
-             return NULL;
-          }
-
-        EINA_ITERATOR_FOREACH(it, pce)
-          {
-             ret &= _edje_generate_source_of_group(ed, pce, buf);
-          }
-
-        eina_iterator_free(it);
-        BUF_APPEND("}\n\n");
-     }
-
-   return buf;
-}
-
-
-
-/*********************/
-/*  SAVING ROUTINES  */
-/*********************/
-////////////////////////////////////////
-typedef struct _SrcFile               SrcFile;
-typedef struct _SrcFile_List          SrcFile_List;
-
-struct _SrcFile
-{
-   char *name;
-   const char *file;
-};
-
-struct _SrcFile_List
-{
-   Eina_List *list;
-};
-
-static Eet_Data_Descriptor *_srcfile_edd = NULL;
-static Eet_Data_Descriptor *_srcfile_list_edd = NULL;
-
-static void
-source_edd(void)
-{
-   Eet_Data_Descriptor_Class eddc;
-
-   if (_srcfile_edd) return;
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile", sizeof(SrcFile));
-   _srcfile_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "name", name, EET_T_INLINED_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "file", file, EET_T_INLINED_STRING);
-
-   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile_list", sizeof(SrcFile_List));
-   _srcfile_list_edd = eet_data_descriptor_stream_new(&eddc);
-   EET_DATA_DESCRIPTOR_ADD_LIST(_srcfile_list_edd, SrcFile_List, "list", list, _srcfile_edd);
-}
-/////////////////////////////////////////
-
-static Eina_Bool
-_edje_edit_edje_file_save(Eet_File *eetf, Edje_File *ef)
-{
-   /* Write Edje_File structure */
-   INF("** Writing Edje_File* ed->file");
-   if (eet_data_write(eetf, _edje_edd_edje_file, "edje/file", ef, 1) <= 0)
-     {
-       ERR("Error. unable to write \"edje_file\" entry to \"%s\"", ef->path);
-       return EINA_FALSE;
-     }
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_edje_edit_collection_save(Eet_File *eetf, Edje_Part_Collection *epc)
-{
-   char buf[256];
-
-   snprintf(buf, sizeof(buf), "edje/collections/%i", epc->id);
-
-   if (eet_data_write(eetf, _edje_edd_edje_part_collection, buf, epc, 1) > 0)
-     return EINA_TRUE;
-
-   ERR("Error. unable to write \"%s\" part entry", buf);
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_edje_edit_source_save(Eet_File *eetf, Evas_Object *obj)
-{
-   SrcFile *sf;
-   SrcFile_List *sfl;
-   Eina_Strbuf *source_file;
-   Eina_Bool ret = EINA_TRUE;
-
-   source_file = _edje_generate_source(obj);
-   if (!source_file)
-     {
-       ERR("Can't create edc source");
-       return EINA_FALSE;
-     }
-
-   //open the temp file and put the contents in SrcFile
-   sf = _alloc(sizeof(SrcFile));
-   if (!sf)
-     {
-       ERR("Unable to create source file struct");
-       ret = EINA_FALSE;
-        goto save_free_source;
-     }
-   sf->name = strdup("generated_source.edc");
-   if (!sf->name)
-     {
-       ERR("Unable to alloc filename");
-       ret = EINA_FALSE;
-        goto save_free_sf;
-     }
-
-   sf->file = eina_strbuf_string_get(source_file);
-
-   //create the needed list of source files (only one)
-   sfl = _alloc(sizeof(SrcFile_List));
-   if (!sfl)
-     {
-       ERR("Unable to create file list");
-       ret = EINA_FALSE;
-        goto save_free_filename;
-     }
-   sfl->list = NULL;
-   sfl->list = eina_list_append(sfl->list, sf);
-   if (!sfl->list)
-     {
-       ERR("Error. unable to append file in list");
-       ret = EINA_FALSE;
-        goto save_free_sfl;
-     }
-
-   // write the sources list to the eet file
-   source_edd();
-   if (eet_data_write(eetf, _srcfile_list_edd, "edje_sources", sfl, 1) <= 0)
-    {
-       ERR("Unable to write edc source");
-       ret = EINA_FALSE;
-    }
-
-   /* Clear stuff */
-   eina_list_free(sfl->list);
-save_free_sfl:
-   free(sfl);
-save_free_filename:
-   free(sf->name);
-save_free_sf:
-   free(sf);
-save_free_source:
-   eina_strbuf_free(source_file);
-   return ret;
-}
-
-Eina_Bool
-_edje_edit_internal_save(Evas_Object *obj, int current_only)
-{
-   Edje_File *ef;
-   Eet_File *eetf;
-
-   GET_EED_OR_RETURN(EINA_FALSE);
-   GET_ED_OR_RETURN(EINA_FALSE);
-
-   ef = ed->file;
-   if (!ef) return EINA_FALSE;
-
-   INF("***********  Saving file ******************");
-   INF("** path: %s", ef->path);
-
-   /* Open the eet file */
-   eetf = eet_open(ef->path, EET_FILE_MODE_READ_WRITE);
-   if (!eetf)
-     {
-       ERR("Error. unable to open \"%s\" for writing output",
-           ef->path);
-       return EINA_FALSE;
-     }
-
-   /* Set compiler name */
-   if (strcmp(ef->compiler, "edje_edit"))
-     {
-       _edje_if_string_free(ed, ef->compiler);
-       ef->compiler = (char *)eina_stringshare_add("edje_edit");
-     }
-
-   if (!_edje_edit_edje_file_save(eetf, ef))
-     {
-       eet_close(eetf);
-       return EINA_FALSE;
-     }
-
-   if (current_only)
-     {
-       if (ed->collection)
-         {
-            INF("** Writing Edje_Part_Collection* ed->collection "
-                  "[id: %d]", ed->collection->id);
-            if (!_edje_edit_collection_save(eetf, ed->collection))
-              {
-                 eet_close(eetf);
-                 return EINA_FALSE;
-              }
-         }
-     }
-   else
-     {
-       Eina_List *l;
-       Edje_Part_Collection *edc;
-       Edje_Part_Collection_Directory_Entry *ce;
-        Eina_Iterator *it;
-
-       INF("** Writing all collections");
-
-       it = eina_hash_iterator_data_new(ef->collection);
-        while (eina_iterator_next(it, (void **)&ce))
-         {
-            if (ce->ref)
-              {
-                 INF("** Writing hash Edje_Part_Collection* ed->collection "
-                       "[id: %d]", ce->id);
-                 if(!_edje_edit_collection_save(eetf, ce->ref))
-                   {
-                      eet_close(eetf);
-                      return EINA_FALSE;
-                   }
-              }
-         }
-       eina_iterator_free(it);
-
-       EINA_LIST_FOREACH(ef->collection_cache, l, edc)
-         {
-            INF("** Writing cache Edje_Part_Collection* ed->collection "
-                  "[id: %d]", edc->id);
-            if(!_edje_edit_collection_save(eetf, edc))
-              {
-                 eet_close(eetf);
-                 return EINA_FALSE;
-              }
-         }
-     }
-
-   if (eed->bytecode_dirty || eed->script_need_recompile)
-     {
-        char buf[64];
-        Eina_Iterator *it;
-        Program_Script *ps;
-        Eina_List *deathnote = NULL;
-
-        if (eed->bytecode_dirty)
-          {
-             snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i",
-                      ed->collection->id);
-             eet_write(eetf, buf, eed->bytecode, eed->bytecode_size, 1);
-             free(eed->bytecode);
-             eed->bytecode = NULL;
-             eed->bytecode_size = 0;
-             eed->bytecode_dirty = EINA_FALSE;
-          }
-
-        if (eed->embryo_source_dirty)
-          {
-             snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
-                      ed->collection->id);
-             eet_write(eetf, buf, eed->embryo_source,
-                       strlen(eed->embryo_source) +1, 1);
-             eed->embryo_source_dirty = EINA_FALSE;
-          }
-
-        it = eina_hash_iterator_data_new(eed->program_scripts);
-        EINA_ITERATOR_FOREACH(it, ps)
-          {
-             if (ps->dirty)
-               {
-                  snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/%i",
-                           ed->collection->id, ps->id);
-                  eet_write(eetf, buf, ps->code, strlen(ps->code) + 1, 1);
-                  ps->dirty = EINA_FALSE;
-               }
-             else if (ps->delete_me)
-               {
-                  snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/%i",
-                           ed->collection->id, ps->id);
-                  eet_delete(eetf, buf);
-                  deathnote = eina_list_append(deathnote, ps);
-               }
-          }
-        eina_iterator_free(it);
-
-        EINA_LIST_FREE(deathnote, ps)
-           eina_hash_del(eed->program_scripts, &ps->id, ps);
-     }
-
-   if (!_edje_edit_source_save(eetf, obj))
-     {
-       eet_close(eetf);
-       return EINA_FALSE;
-     }
-
-   eet_close(eetf);
-
-   /* Update mtime */
-   {
-     struct stat st;
-     if (stat(ed->path, &st) != 0)
-       return EINA_FALSE;
-     ef->mtime = st.st_mtime;
-   }
-
-   INF("***********  Saving DONE ******************");
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_edit_save(Evas_Object *obj)
-{
-   eina_error_set(0);
-
-   return _edje_edit_internal_save(obj, 1);
-}
-
-EAPI Eina_Bool
-edje_edit_save_all(Evas_Object *obj)
-{
-   eina_error_set(0);
-
-   return _edje_edit_internal_save(obj, 0);
-}
-
-EAPI void
-edje_edit_print_internal_status(Evas_Object *obj)
-{
-/*   
-   Edje_Program *epr;
-   unsigned int i;
-   int j;
-*/
-   eina_error_set(0);
-
-   GET_EED_OR_RETURN();
-
-   _edje_generate_source(obj);
-/*
-   INF("****** CHECKIN' INTERNAL STRUCTS STATUS *********");
-
-   INF("path: '%s', group: '%s', parent: '%s'",
-       ed->path, ed->group, ed->parent);
-
-   INF("Parts [table:%d list:%d]", ed->table_parts_size,
-       ed->collection->parts_count);
-   for (i = 0; i < ed->collection->parts_count; ++i)
-     {
-       Edje_Real_Part *rp;
-       Edje_Part *p;
-
-       p = ed->collection->parts[i];
-
-       rp = ed->table_parts[p->id % ed->table_parts_size];
-       printf("part[%d]: '%s' ", p->id, p->name);
-       if (p == rp->part)
-         printf("OK!\n");
-       else
-         printf("WRONG (table[%d]->name = '%s')\n", p->id, rp->part->name);
-     }
-
-   INF("Programs [table:%d list:%d,%d,%d,%d,%d]", ed->table_programs_size,
-       ed->collection->programs.fnmatch_count,
-       ed->collection->programs.strcmp_count,
-       ed->collection->programs.strncmp_count,
-       ed->collection->programs.strrncmp_count,
-       ed->collection->programs.nocmp_count);
-   for(j = 0; j < ed->table_programs_size; ++j)
-     {
-       epr = ed->table_programs[i % ed->table_programs_size];
-       printf("program[%d]: '%s'\n", epr->id, epr->name);
-     }
-
-   INF("******************  END  ************************");
- */
-}
-
-static void
-_edje_edit_class_constructor(Eo_Class *klass)
-{
-   const Eo_Op_Func_Description func_desc[] = {
-        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _edje_edit_constructor),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _edje_edit_smart_del),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), _edje_edit_smart_file_set),
-        EO_OP_FUNC_SENTINEL
-   };
-
-   eo_class_funcs_set(klass, func_desc);
-}
-
-static const Eo_Class_Description edje_edit_class_desc = {
-     EO_VERSION,
-     "Edje_Edit",
-     EO_CLASS_TYPE_REGULAR,
-     EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
-     NULL,
-     sizeof(Edje_Edit),
-     _edje_edit_class_constructor,
-     NULL
-};
-
-EO_DEFINE_CLASS(edje_edit_class_get, &edje_edit_class_desc, EDJE_OBJ_CLASS, NULL);
-
diff --git a/legacy/edje/src/lib/edje_embryo.c b/legacy/edje/src/lib/edje_embryo.c
deleted file mode 100644 (file)
index a8668ee..0000000
+++ /dev/null
@@ -1,3764 +0,0 @@
-#include "edje_private.h"
-
-/*
- * ALREADY EXPORTED BY EMBRYO:
- *
- * enum Float_Round_Method {
- *    ROUND, FLOOR, CEIL, TOZERO
- * };
- * enum Float_Angle_Mode {
- *    RADIAN, DEGREES, GRADES
- * };
- *
- * numargs();
- * getarg(arg, index=0);
- * setarg(arg, index=0, value);
- *
- * Float:atof(string[]);
- * Float:fract(Float:value);
- *       round(Float:value, Float_Round_Method:method=ROUND);
- * Float:sqrt(Float:value);
- * Float:pow(Float:value, Float:exponent);
- * Float:log(Float:value, Float:base=10.0);
- * Float:sin(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:cos(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:tan(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:abs(Float:value);
- *       atoi(str[]);
- *       fnmatch(glob[], str[]);
- *       strcmp(str1[], str2[]);
- *       strncmp(str1[], str2[]);
- *       strcpy(dst[], src[]);
- *       strncpy(dst[], src[], n);
- *       strlen(str[]);
- *       strcat(dst[], src[]);
- *       strncat(dst[], src[], n);
- *       strprep(dst[], src[]);
- *       strnprep(dst[], src[], n);
- *       strcut(dst[], str[], n, n2);
- *       snprintf(dst[], dstn, fmt[], ...);
- *       strstr(str[], ndl[]);
- *       strchr(str[], ch[]);
- *       strrchr(str[], ch[]);
- *       rand();
- * Float:randf();
- * Float:seconds();
- *       date(&year, &month, &day, &yearday, &weekday, &hr, &min, &Float:sec);
- *
- */
-
-/* EDJE...
- *
- * implemented so far as examples:
- *
- * enum Msg_Type {
- *    MSG_NONE, MSG_STRING, MSG_INT, MSG_FLOAT, MSG_STRING_SET, MSG_INT_SET,
- *    MSG_FLOAT_SET, MSG_STRING_INT, MSG_INT_FLOAT, MSG_STRING_INT_SET,
- *    MSG_INT_FLOAT_SET
- * };
- *
- * get_int(id)
- * set_int(id, v)
- * Float:get_float (id)
- * set_float(id, Float:v)
- * get_strlen(id)
- * get_str(id, dst[], maxlen)
- * set_str(id, str[])
- * timer(Float:in, fname[], val)
- * cancel_timer(id)
- * anim(Float:len, fname[], val)
- * cancel_anim(id)
- * emit(sig[], src[])
- * set_state(part_id, state[], Float:state_val)
- * get_state(part_id, dst[], maxlen, &Float:val)
- * set_tween_state(part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val)
- * play_sample(sample_name, speed)
- * play_tone(tone_name, duration)
- * run_program(program_id)
- * Direction:get_drag_dir(part_id)
- * get_drag(part_id, &Float:dx, &Float:&dy)
- * set_drag(part_id, Float:dx, Float:dy)
- * get_drag_size(part_id, &Float:dx, &Float:&dy)
- * set_drag_size(part_id, Float:dx, Float:dy)
- * set_text(part_id, str[])
- * get_text(part_id, dst[], maxlen)
- * get_min_size(w, h)
- * get_max_size(w, h)
- * set_color_class(class[], r, g, b, a)
- * get_color_class(class[], &r, &g, &b, &a)
- * set_text_class(class[], font[], Float:size)
- * get_text_class(class[], font[], &Float:size)
- * get_drag_step(part_id, &Float:dx, &Float:&dy)
- * set_drag_step(part_id, Float:dx, Float:dy)
- * get_drag_page(part_id, &Float:dx, &Float:&dy)
- * set_drag_page(part_id, Float:dx, Float:dy)
- * get_geometry(part_id, &Float:x, &Float:y, &Float:w, &Float:h)
- * get_mouse(&x, &y)
- * stop_program(program_id)
- * stop_programs_on(part_id)
- * set_min_size(w, h)
- * set_max_size(w, h)
- * send_message(Msg_Type:type, id, ...)
- *
- * count(id)
- * remove(id, n)
- *
- * append_int(id, v)
- * prepend_int(id, v)
- * insert_int(id, n, v)
- * replace_int(id, n, v)
- * fetch_int(id, n)
- *
- * append_str(id, str[])
- * prepend_str(id, str[])
- * insert_str(id, n, str[])
- * replace_str(id, n, str[])
- * fetch_str(id, n, dst[], maxlen)
- *
- * append_float(id, Float:v)
- * prepend_float(id, Float:v)
- * insert_float(id, n, Float:v)
- * replace_float(id, n, Float:v)
- * Float:fetch_float(id, n)
- *
- * custom_state(part_id, state[], Float:state_val = 0.0)
- * set_state_val(part_id, State_Param:param, ...)
- * get_state_val(part_id, State_Param:param, ...)
- *
- * Supported parameters:
- * align[Float:x, Float:y]
- * min[w, h]
- * max[w, h]
- * step[x,y]
- * aspect[Float:min, Float:max]
- * color[r,g,b,a]
- * color2[r,g,b,a]
- * color3[r,g,b,a]
- * aspect_preference
- * rel1[relx,rely]
- * rel1[part_id,part_id]
- * rel1[offx,offy]
- * rel2[relx,relyr]
- * rel2[part_id,part_id]
- * rel2[offx,offy]
- * image[image_id] <- all images have an Id not name in the edje
- * border[l,r,t,b]
- * fill[smooth]
- * fill[pos_relx,pos_rely,pos_offx,pos_offy]
- * fill[sz_relx,sz_rely,sz_offx,sz_offy]
- * color_class
- * text[text]
- * text[text_class]
- * text[font]
- * text[size]
- * text[style]
- * text[fit_x,fit_y]
- * text[min_x,min_y]
- * text[align_x,align_y]
- * visible[on]
- * map_on[on]
- * map_persp[part_id]
- * map_light[part_id]
- * map_rot_center[part_id]
- * map_rot_x[deg]
- * map_rot_y[deg]
- * map_rot_z[deg]
- * map_back_cull[on]
- * map_persp_on[on]
- * persp_zplane[z]
- * persp_focal[z]
- *
- * ** part_id and program_id need to be able to be "found" from strings
- *
- * get_drag_count(part_id, &Float:dx, &Float:&dy)
- * set_drag_count(part_id, Float:dx, Float:dy)
- * set_drag_confine(part_id, confine_part_id)
- * get_size(&w, &h);
- * resize_request(w, h)
- * get_mouse_buttons()
- * //set_type(part_id, Type:type)
- * //set_effect(part_id, Effect:fx)
- * set_mouse_events(part_id, ev)
- * get_mouse_events(part_id)
- * set_repeat_events(part_id, rep)
- * get_repeat_events(part_id)
- * set_clip(part_id, clip_part_id)
- * get_clip(part_id)
- *
- * part_swallow(part_id, group_name)
- *
- * external_param_get_int(id, param_name[])
- * external_param_set_int(id, param_name[], value)
- * Float:external_param_get_float(id, param_name[])
- * external_param_set_float(id, param_name[], Float:value)
- * external_param_get_strlen(id, param_name[])
- * external_param_get_str(id, param_name[], value[], value_maxlen)
- * external_param_set_str(id, param_name[], value[])
- * external_param_get_choice_len(id, param_name[])
- * external_param_get_choice(id, param_name[], value[], value_maxlen)
- * external_param_set_choice(id, param_name[], value[])
- * external_param_get_bool(id, param_name[])
- * external_param_set_bool(id, param_name[], value)
- *
- * physics_impulse(part_id, Float:x, Float:y, Float:z)
- * physics_torque_impulse(part_id, Float:x, Float:y, Float:z)
- * physics_force(part_id, Float:x, Float:y, Float:z)
- * physics_torque(part_id, Float:x, Float:y, Float:z)
- * physics_clear_forces(part_id)
- * physics_get_forces(part_id, &Float:x, &Float:y, &Float:z)
- * physics_get_torques(part_id, &Float:x, &Float:y, &Float:z)
- * physics_set_velocity(part_id, Float:x, Float:y, Float:z)
- * physics_get_velocity(part_id, &Float:x, &Float:y, &Float:z)
- * physics_set_ang_velocity(part_id, Float:x, Float:y, Float:z)
- * physics_get_ang_velocity(part_id, &Float:x, &Float:y, &Float:z)
- * physics_stop(part_id)
- * physics_set_rotation(part_id, Float:w, Float:x, Float:y, Float:z)
- * physics_get_rotation(part_id, &Float:w, &Float:x, &Float:y, &Float:z)
- *
- * ADD/DEL CUSTOM OBJECTS UNDER SOLE EMBRYO SCRIPT CONTROL
- *
- */
-
-/* get_int(id) */
-static Embryo_Cell
-_edje_embryo_fn_get_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   return (Embryo_Cell)_edje_var_int_get(ed, (int)params[1]);
-}
-
-/* set_int(id, v) */
-static Embryo_Cell
-_edje_embryo_fn_set_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   _edje_var_int_set(ed, (int)params[1], (int)params[2]);
-   return 0;
-}
-
-/* get_float(id) */
-static Embryo_Cell
-_edje_embryo_fn_get_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   float v;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   v = (float)_edje_var_float_get(ed, params[1]);
-   return EMBRYO_FLOAT_TO_CELL(v);
-}
-
-/* set_float(id, v) */
-static Embryo_Cell
-_edje_embryo_fn_set_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   float v;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   v = EMBRYO_CELL_TO_FLOAT(params[2]);
-   _edje_var_float_set(ed, (int)params[1], (double)v);
-   return 0;
-}
-
-/* get_str(id, dst[], maxlen) */
-static Embryo_Cell
-_edje_embryo_fn_get_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *s;
-
-   CHKPARAM(3);
-   if (params[3] < 1) return 0;
-   ed = embryo_program_data_get(ep);
-   s = (char *)_edje_var_str_get(ed, (int)params[1]);
-   if (s)
-     {
-       if ((int) strlen(s) < params[3])
-         {
-            SETSTR(s, params[2]);
-         }
-       else
-         {
-            char *ss;
-
-            ss = alloca(strlen(s) + 1);
-            strcpy(ss, s);
-            ss[params[3] - 1] = 0;
-            SETSTR(ss, params[2]);
-         }
-     }
-   else
-     {
-       SETSTR("", params[2]);
-     }
-   return 0;
-}
-
-/* get_strlen(id) */
-static Embryo_Cell
-_edje_embryo_fn_get_strlen(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *s;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   s = (char *)_edje_var_str_get(ed, (int)params[1]);
-   if (s)
-     {
-       return strlen(s);
-     }
-   return 0;
-}
-
-/* set_str(id, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_set_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *s;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   GETSTR(s, params[2]);
-   if (s)
-     {
-       _edje_var_str_set(ed, (int)params[1], s);
-     }
-   return 0;
-}
-
-/* count(id) */
-static Embryo_Cell
-_edje_embryo_fn_count(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(1);
-
-   return (Embryo_Cell)_edje_var_list_count_get(ed, (int) params[1]);
-}
-
-/* remove(id, n) */
-static Embryo_Cell
-_edje_embryo_fn_remove(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(2);
-
-   _edje_var_list_remove_nth(ed, (int) params[1], (int) params[2]);
-
-   return 0;
-}
-
-/* append_int(id, var) */
-static Embryo_Cell
-_edje_embryo_fn_append_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(2);
-
-   _edje_var_list_int_append(ed, (int) params[1], (int) params[2]);
-
-   return 0;
-}
-
-/* prepend_int(id, var) */
-static Embryo_Cell
-_edje_embryo_fn_prepend_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(2);
-
-   _edje_var_list_int_prepend(ed, (int) params[1], (int) params[2]);
-
-   return 0;
-}
-
-/* insert_int(id, pos, var) */
-static Embryo_Cell
-_edje_embryo_fn_insert_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(3);
-
-   _edje_var_list_int_insert(ed, (int) params[1], (int) params[2],
-                             (int) params[3]);
-
-   return 0;
-}
-
-/* replace_int(id, pos, var) */
-static Embryo_Cell
-_edje_embryo_fn_replace_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(3);
-
-   _edje_var_list_nth_int_set(ed, (int) params[1], (int) params[2],
-                              (int) params[3]);
-
-   return 0;
-}
-
-/* fetch_int(id, pos) */
-static Embryo_Cell
-_edje_embryo_fn_fetch_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(2);
-
-   return _edje_var_list_nth_int_get(ed, (int) params[1],
-                                     (int) params[2]);
-}
-
-/* append_str(id, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_append_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   char *s;
-
-   CHKPARAM(2);
-
-   GETSTR(s, params[2]);
-   if (s)
-     _edje_var_list_str_append(ed, (int) params[1], s);
-
-   return 0;
-}
-
-/* prepend_str(id, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_prepend_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   char *s;
-
-   CHKPARAM(2);
-
-   GETSTR(s, params[2]);
-   if (s)
-     _edje_var_list_str_prepend(ed, (int) params[1], s);
-
-   return 0;
-}
-
-/* insert_str(id, pos, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_insert_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   char *s;
-
-   CHKPARAM(3);
-
-   GETSTR(s, params[3]);
-   if (s)
-     _edje_var_list_str_insert(ed, (int) params[1], (int) params[2], s);
-
-   return 0;
-}
-
-/* replace_str(id, pos, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_replace_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   char *s;
-
-   CHKPARAM(3);
-
-   GETSTR(s, params[3]);
-   if (s)
-       _edje_var_list_nth_str_set(ed, (int) params[1], (int) params[2], s);
-
-   return 0;
-}
-
-
-/* fetch_str(id, pos, dst[], maxlen) */
-static Embryo_Cell
-_edje_embryo_fn_fetch_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   char *s;
-
-   CHKPARAM(4);
-
-   s = (char *) _edje_var_list_nth_str_get(ed, (int) params[1],
-                                           (int) params[2]);
-   if (s)
-     {
-       if ((int) strlen(s) < params[4])
-         {
-            SETSTR(s, params[3]);
-         }
-       else
-         {
-            char *ss;
-
-            ss = alloca(strlen(s) + 1);
-            strcpy(ss, s);
-            ss[params[4] - 1] = 0;
-            SETSTR(ss, params[3]);
-         }
-     }
-   else
-     {
-       SETSTR("", params[3]);
-     }
-
-   return 0;
-}
-
-/* append_float(id, Float:f) */
-static Embryo_Cell
-_edje_embryo_fn_append_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   float f;
-
-   CHKPARAM(2);
-
-   f = EMBRYO_CELL_TO_FLOAT(params[2]);
-   _edje_var_list_float_append(ed, (int) params[1], f);
-
-   return 0;
-}
-
-/* prepend_float(id, Float:f) */
-static Embryo_Cell
-_edje_embryo_fn_prepend_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   float f;
-
-   CHKPARAM(2);
-
-   f = EMBRYO_CELL_TO_FLOAT(params[2]);
-   _edje_var_list_float_prepend(ed, (int) params[1], f);
-
-   return 0;
-}
-
-/* insert_float(id, pos, Float:f) */
-static Embryo_Cell
-_edje_embryo_fn_insert_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   float f;
-
-   CHKPARAM(3);
-
-   f = EMBRYO_CELL_TO_FLOAT(params[3]);
-   _edje_var_list_float_insert(ed, (int) params[1], (int) params[2], f);
-
-   return 0;
-}
-
-/* replace_float(id, pos, Float:f) */
-static Embryo_Cell
-_edje_embryo_fn_replace_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   CHKPARAM(3);
-
-   _edje_var_list_nth_float_set(ed, (int) params[1], (int) params[2],
-                               EMBRYO_CELL_TO_FLOAT(params[3]));
-
-   return 0;
-}
-
-/* Float:fetch_float(id, pos) */
-static Embryo_Cell
-_edje_embryo_fn_fetch_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   float f;
-
-   CHKPARAM(2);
-
-   f = _edje_var_list_nth_float_get(ed, (int) params[1], (int) params[2]);
-
-   return EMBRYO_FLOAT_TO_CELL(f);
-}
-
-/* timer(Float:in, fname[], val) */
-static Embryo_Cell
-_edje_embryo_fn_timer(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *fname = NULL;
-   float f;
-   double in;
-   int val;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   GETSTR(fname, params[2]);
-   if ((!fname)) return 0;
-   f = EMBRYO_CELL_TO_FLOAT(params[1]);
-   in = (double)f;
-   val = params[3];
-   return _edje_var_timer_add(ed, in, fname, val);
-}
-
-/* cancel_timer(id) */
-static Embryo_Cell
-_edje_embryo_fn_cancel_timer(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int id;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   id = params[1];
-   if (id <= 0) return 0;
-   _edje_var_timer_del(ed, id);
-   return 0;
-}
-
-/* anim(Float:len, fname[], val) */
-static Embryo_Cell
-_edje_embryo_fn_anim(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *fname = NULL;
-   float f;
-   double len;
-   int val;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   GETSTR(fname, params[2]);
-   if ((!fname)) return 0;
-   f = EMBRYO_CELL_TO_FLOAT(params[1]);
-   len = (double)f;
-   val = params[3];
-   return _edje_var_anim_add(ed, len, fname, val);
-}
-
-/* cancel_anim(id) */
-static Embryo_Cell
-_edje_embryo_fn_cancel_anim(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int id;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   id = params[1];
-   if (id <= 0) return 0;
-   _edje_var_anim_del(ed, id);
-   return 0;
-}
-
-/* set_min_size(Float:w, Float:h) */
-static Embryo_Cell
-_edje_embryo_fn_set_min_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-    Edje *ed;
-   float f = 0.0;
-   double w = 0.0, h = 0.0;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   f = EMBRYO_CELL_TO_FLOAT(params[1]);
-   w = (double)f;
-   f = EMBRYO_CELL_TO_FLOAT(params[2]);
-   h = (double)f;
-
-   if (w < 0.0) w = 0.0;
-   if (h < 0.0) h = 0.0;
-   ed->collection->prop.min.w = w;
-   ed->collection->prop.min.h = h;
-   ed->recalc_call = EINA_TRUE;
-   ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-   _edje_recalc(ed);
-   return 0;
-}
-
-/* set_max_size(Float:w, Float:h) */
-static Embryo_Cell
-_edje_embryo_fn_set_max_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   float f = 0.0;
-   double w = 0.0, h = 0.0;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   f = EMBRYO_CELL_TO_FLOAT(params[1]);
-   w = (double)f;
-   f = EMBRYO_CELL_TO_FLOAT(params[2]);
-   h = (double)f;
-
-   if (w < 0.0) w = 0.0;
-   if (h < 0.0) h = 0.0;
-   ed->collection->prop.max.w = w;
-   ed->collection->prop.max.h = h;
-   ed->recalc_call = EINA_TRUE;
-   ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-   _edje_recalc(ed);
-
-   return 0;
-}
-
-/* stop_program(program_id) */
-static Embryo_Cell
-_edje_embryo_fn_stop_program(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int program_id = 0;
-   Edje_Running_Program *runp;
-   Eina_List *l;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   program_id = params[1];
-   if (program_id < 0) return 0;
-
-   ed->walking_actions = EINA_TRUE;
-
-   EINA_LIST_FOREACH(ed->actions, l, runp)
-     if (program_id == runp->program->id)
-       _edje_program_end(ed, runp);
-
-   ed->walking_actions = EINA_FALSE;
-
-   return 0;
-}
-
-/* stop_programs_on(part_id) */
-static Embryo_Cell
-_edje_embryo_fn_stop_programs_on(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if (rp)
-     {
-       /* there is only ever 1 program acting on a part at any time */
-       if (rp->program) _edje_program_end(ed, rp->program);
-     }
-   return 0;
-}
-
-/* get_mouse(&x, &y) */
-static Embryo_Cell
-_edje_embryo_fn_get_mouse(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Evas_Coord x = 0, y = 0;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   evas_pointer_canvas_xy_get(ed->base->evas, &x, &y);
-   x -= ed->x;
-   y -= ed->y;
-   SETINT((int)x, params[1]);
-   SETINT((int)y, params[2]);
-   return 0;
-}
-
-/* get_mouse_buttons() */
-static Embryo_Cell
-_edje_embryo_fn_get_mouse_buttons(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-
-   CHKPARAM(0);
-   ed = embryo_program_data_get(ep);
-   return evas_pointer_button_down_mask_get(ed->base->evas);
-}
-
-/* emit(sig[], src[]) */
-static Embryo_Cell
-_edje_embryo_fn_emit(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *sig = NULL, *src = NULL;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   GETSTR(sig, params[1]);
-   GETSTR(src, params[2]);
-   if ((!sig) || (!src)) return 0;
-   _edje_emit(ed, sig, src);
-   return 0;
-}
-
-/* get_part_id(part[]) */
-static Embryo_Cell
-_edje_embryo_fn_get_part_id(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Edje_Part_Collection *col;
-   Edje_Part **part;
-   char *p;
-   unsigned int i;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   GETSTR(p, params[1]);
-   if (!p) return -1;
-   col = ed->collection;
-   if (!col) return -1;
-   part = col->parts;
-   for (i = 0; i < col->parts_count; i++, part++)
-     {
-        if (!(*part)->name) continue;
-        if (!strcmp((*part)->name, p)) return (*part)->id;
-     }
-   return -1;
-}
-
-/* get_image_id(img[]) */
-static Embryo_Cell
-_edje_embryo_fn_get_image_id(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Edje_File *file;
-   Edje_Image_Directory *dir;
-   Edje_Image_Directory_Entry *dirent;
-   char *p;
-   unsigned int i;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   GETSTR(p, params[1]);
-   if (!p) return -1;
-   file = ed->file;
-   if (!file) return -1;
-   dir = file->image_dir;
-   dirent = dir->entries;
-   for (i = 0; i < dir->entries_count; i++, dirent++)
-     {
-        if (!dirent->entry) continue;
-        if (!strcmp(dirent->entry, p)) return dirent->id;
-     }
-   return -1;
-}
-
-/* get_program_id(program[]) */
-static Embryo_Cell
-_edje_embryo_fn_get_program_id(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Edje_Program **prog;
-   char *p;
-   int i;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   GETSTR(p, params[1]);
-   if (!p) return -1;
-   prog = ed->table_programs;
-   if (!prog) return -1;
-   for (i = 0; i < ed->table_programs_size; i++, prog++)
-     {
-        if (!(*prog)->name) continue;
-        if (!strcmp((*prog)->name, p)) return (*prog)->id;
-     }
-   return -1;
-}
-
-static Embryo_Cell
-_edje_embryo_fn_play_sample(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *sample_name = NULL;
-   float speed = 1.0;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   GETSTR(sample_name, params[1]);
-   if ((!sample_name)) return 0;
-   speed = EMBRYO_CELL_TO_FLOAT(params[2]);
-   _edje_multisense_internal_sound_sample_play(ed, sample_name, (double)speed);
-   return 0;
-}
-
-static Embryo_Cell
-_edje_embryo_fn_play_tone(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *tone_name = NULL;
-   float duration = 0.1;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   GETSTR(tone_name, params[1]);
-   if ((!tone_name)) return 0;
-   duration = EMBRYO_CELL_TO_FLOAT(params[2]);
-   _edje_multisense_internal_sound_tone_play(ed, tone_name, (double) duration);
-   return 0;
-}
-
-/* set_state(part_id, state[], Float:state_val) */
-static Embryo_Cell
-_edje_embryo_fn_set_state(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *state = NULL;
-   int part_id = 0;
-   float f = 0.0;
-   double value = 0.0;
-   Edje_Real_Part *rp;
-
-   if (!(HASNPARAMS(2) || HASNPARAMS(3))) return -1;
-
-   ed = embryo_program_data_get(ep);
-   GETSTR(state, params[2]);
-   if ((!state)) return 0;
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   if (HASNPARAMS(3))
-     {
-       f = EMBRYO_CELL_TO_FLOAT(params[3]);
-       value = (double)f;
-     }
-   else
-     value = 0.0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if (rp)
-     {
-       if (rp->program) _edje_program_end(ed, rp->program);
-       _edje_part_description_apply(ed, rp, state, value, NULL, 0.0);
-       _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO);
-       _edje_recalc(ed);
-     }
-   return 0;
-}
-
-/* get_state(part_id, dst[], maxlen, &Float:val) */
-static Embryo_Cell
-_edje_embryo_fn_get_state(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   const char *s;
-
-   CHKPARAM(4);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if (rp->chosen_description)
-     {
-       SETFLOAT(rp->chosen_description->state.value, params[4]);
-       s = rp->chosen_description->state.name;
-       if (s)
-         {
-            if ((int) strlen(s) < params[3])
-              {
-                 SETSTR(s, params[2]);
-              }
-            else
-              {
-                 char *ss;
-
-                 ss = alloca(strlen(s) + 1);
-                 strcpy(ss, s);
-                 ss[params[3] - 1] = 0;
-                 SETSTR(ss, params[2]);
-              }
-         }
-       else
-         {
-            SETSTR("", params[2]);
-         }
-     }
-   else
-     {
-       SETFLOAT(0.0, params[4]);
-       SETSTR("", params[2]);
-     }
-   return 0;
-}
-
-/* set_tween_state(part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val) */
-static Embryo_Cell
-_edje_embryo_fn_set_tween_state(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *state1 = NULL, *state2 = NULL;
-   int part_id = 0;
-   float f = 0.0;
-   double tween = 0.0, value1 = 0.0, value2 = 0.0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(6);
-   ed = embryo_program_data_get(ep);
-   GETSTR(state1, params[3]);
-   GETSTR(state2, params[5]);
-   if ((!state1) || (!state2)) return 0;
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   f = EMBRYO_CELL_TO_FLOAT(params[2]);
-   tween = (double)f;
-   f = EMBRYO_CELL_TO_FLOAT(params[4]);
-   value1 = (double)f;
-   f = EMBRYO_CELL_TO_FLOAT(params[6]);
-   value2 = (double)f;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if (rp)
-     {
-       if (rp->program) _edje_program_end(ed, rp->program);
-       _edje_part_description_apply(ed, rp, state1, value1, state2, value2);
-       _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, FROM_DOUBLE(tween), ZERO, ZERO);
-       _edje_recalc(ed);
-     }
-   return 0;
-}
-
-/* run_program(program_id) */
-static Embryo_Cell
-_edje_embryo_fn_run_program(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int program_id = 0;
-   Edje_Program *pr;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   program_id = params[1];
-   if (program_id < 0) return 0;
-   pr = ed->table_programs[program_id % ed->table_programs_size];
-   if (pr)
-     {
-       _edje_program_run(ed, pr, 0, "", "");
-     }
-   return 0;
-}
-
-/* get_drag_dir(part_id) */
-static Embryo_Cell
-_edje_embryo_fn_get_drag_dir(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(1);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   return edje_object_part_drag_dir_get(ed->obj, rp->part->name);
-}
-
-/* get_drag(part_id, &Float:dx, &Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_get_drag(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   double dx = 0.0, dy = 0.0;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_value_get(ed->obj, rp->part->name, &dx, &dy);
-   SETFLOAT(dx, params[2]);
-   SETFLOAT(dy, params[3]);
-
-   return 0;
-}
-
-/* set_drag(part_id, Float:dx, Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_set_drag(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_value_set(ed->obj, rp->part->name,
-                                  (double)EMBRYO_CELL_TO_FLOAT(params[2]),
-                                  (double)EMBRYO_CELL_TO_FLOAT(params[3]));
-   return(0);
-}
-
-/* get_drag_size(part_id, &Float:dx, &Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_get_drag_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   double dx = 0.0, dy = 0.0;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_size_get(ed->obj, rp->part->name, &dx, &dy);
-   SETFLOAT(dx, params[2]);
-   SETFLOAT(dy, params[3]);
-
-   return 0;
-}
-
-/* set_drag_size(part_id, Float:dx, Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_set_drag_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_size_set(ed->obj, rp->part->name,
-                                  (double)EMBRYO_CELL_TO_FLOAT(params[2]),
-                                  (double)EMBRYO_CELL_TO_FLOAT(params[3]));
-   return(0);
-}
-
-/* set_text(part_id, str[]) */
-static Embryo_Cell
-_edje_embryo_fn_set_text(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   char *s;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   GETSTR(s, params[2]);
-   if (s){
-     edje_object_part_text_set(ed->obj, rp->part->name, s);
-   }
-   return(0);
-}
-
-/* get_text(part_id, dst[], maxlen) */
-static Embryo_Cell
-_edje_embryo_fn_get_text(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   char *s;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   s = (char *)edje_object_part_text_get(ed->obj, rp->part->name);
-   if (s)
-     {
-       if ((int) strlen(s) < params[3])
-         {
-            SETSTR(s, params[2]);
-         }
-       else
-         {
-            char *ss;
-
-            ss = alloca(strlen(s) + 1);
-            strcpy(ss, s);
-            ss[params[3] - 1] = 0;
-            SETSTR(ss, params[2]);
-         }
-     }
-   else
-     {
-       SETSTR("", params[2]);
-     }
-   return 0;
-}
-
-/* get_min_size(&w, &h) */
-static Embryo_Cell
-_edje_embryo_fn_get_min_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Evas_Coord w = 0, h = 0;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   edje_object_size_min_get(ed->obj, &w, &h);
-   SETINT(w, params[1]);
-   SETINT(h, params[2]);
-   return 0;
-}
-
-/* get_max_size(&w, &h) */
-static Embryo_Cell
-_edje_embryo_fn_get_max_size(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Evas_Coord w = 0, h = 0;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-   edje_object_size_max_get(ed->obj, &w, &h);
-   SETINT(w, params[1]);
-   SETINT(h, params[2]);
-   return 0;
-
-}
-
-/* get_color_class(class[], &r, &g, &b, &a) */
-static Embryo_Cell
-_edje_embryo_fn_get_color_class(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Edje_Color_Class *c_class;
-   char *class;
-
-   CHKPARAM(5);
-   ed = embryo_program_data_get(ep);
-   GETSTR(class, params[1]);
-   if (!class) return 0;
-   c_class = _edje_color_class_find(ed, class);
-   if (!c_class) return 0;
-   SETINT(c_class->r, params[2]);
-   SETINT(c_class->g, params[3]);
-   SETINT(c_class->b, params[4]);
-   SETINT(c_class->a, params[5]);
-   return 0;
-}
-
-/* set_color_class(class[], r, g, b, a) */
-static Embryo_Cell
-_edje_embryo_fn_set_color_class(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *class;
-
-   CHKPARAM(5);
-   ed = embryo_program_data_get(ep);
-   GETSTR(class, params[1]);
-   if (!class) return 0;
-   edje_object_color_class_set(ed->obj, class, params[2], params[3], params[4], params[5],
-                              params[2], params[3], params[4], params[5],
-                              params[2], params[3], params[4], params[5]);
-   return 0;
-}
-
-/* set_text_class(class[], font[], Float:size) */
-static Embryo_Cell
-_edje_embryo_fn_set_text_class(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *class, *font;
-   Evas_Font_Size fsize;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   GETSTR(class, params[1]);
-   GETSTR(font, params[2]);
-   if( !class || !font ) return 0;
-   fsize = (Evas_Font_Size) EMBRYO_CELL_TO_FLOAT(params[3]);
-   edje_object_text_class_set(ed->obj, class, font, fsize);
-   return 0;
-}
-
-/* get_text_class(class[], font[], &Float:size) */
-static Embryo_Cell
-_edje_embryo_fn_get_text_class(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   char *class;
-   Edje_Text_Class *t_class;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   GETSTR(class, params[1]);
-   if (!class) return 0;
-   t_class = _edje_text_class_find(ed, class);
-   if (!t_class) return 0;
-   SETSTR((char *)t_class->font, params[2]);
-   SETFLOAT(t_class->size, params[3]);
-   return 0;
-}
-
-/* get_drag_step(part_id, &Float:dx, &Float:&dy) */
-static Embryo_Cell
-_edje_embryo_fn_get_drag_step(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   double dx = 0.0, dy = 0.0;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_step_get(ed->obj, rp->part->name, &dx, &dy);
-   SETFLOAT(dx, params[2]);
-   SETFLOAT(dy, params[3]);
-
-   return 0;
-}
-
-/* set_drag_step(part_id, Float:dx, Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_set_drag_step(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_step_set(ed->obj, rp->part->name,
-                                 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
-                                 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
-   return(0);
-}
-
-/* get_drag_page(part_id, &Float:dx, &Float:&dy) */
-static Embryo_Cell
-_edje_embryo_fn_get_drag_page(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   double dx = 0.0, dy = 0.0;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_page_get(ed->obj, rp->part->name, &dx, &dy);
-   SETFLOAT(dx, params[2]);
-   SETFLOAT(dy, params[3]);
-
-   return 0;
-}
-
-/* get_geometry(pard_id, &x, &y, &w, &h) */
-static Embryo_Cell
-_edje_embryo_fn_get_geometry(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-   Evas_Coord x = 0.0, y = 0.0, w = 0.0, h = 0.0;
-
-   CHKPARAM(5);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_geometry_get(ed->obj, rp->part->name, &x, &y, &w, &h);
-   SETINT(x, params[2]);
-   SETINT(y, params[3]);
-   SETINT(w, params[4]);
-   SETINT(h, params[5]);
-
-   return 0;
-}
-
-/* set_drag_page(part_id, Float:dx, Float:dy) */
-static Embryo_Cell
-_edje_embryo_fn_set_drag_page(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id = 0;
-   Edje_Real_Part *rp;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   edje_object_part_drag_page_set(ed->obj, rp->part->name,
-                                 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
-                                 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
-   return(0);
-}
-
-/* send_message(Msg_Type:type, id,...); */
-static Embryo_Cell
-_edje_embryo_fn_send_message(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   Edje_Message_Type type;
-   int id, i, n;
-   Embryo_Cell *ptr;
-
-   if (params[0] < (int) (sizeof(Embryo_Cell) * (2))) return 0;
-   ed = embryo_program_data_get(ep);
-   type = params[1];
-   id = params[2];
-   switch (type)
-     {
-      case EDJE_MESSAGE_NONE:
-       _edje_message_send(ed, EDJE_QUEUE_APP, type, id, NULL);
-       break;
-      case EDJE_MESSAGE_SIGNAL:
-       break;
-      case EDJE_MESSAGE_STRING:
-         {
-            Embryo_Cell *cptr;
-
-            cptr = embryo_data_address_get(ep, params[3]);
-            if (cptr)
-              {
-                 Edje_Message_String *emsg;
-                 int l;
-                 char *s;
-
-                 l = embryo_data_string_length_get(ep, cptr);
-                 s = alloca(l + 1);
-                  s[0] = 0;
-                 embryo_data_string_get(ep, cptr, s);
-                 emsg = alloca(sizeof(Edje_Message_String));
-                 emsg->str = s;
-                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-              }
-         }
-       break;
-      case EDJE_MESSAGE_INT:
-         {
-            Edje_Message_Int *emsg;
-
-            emsg = alloca(sizeof(Edje_Message_Int));
-            ptr = embryo_data_address_get(ep, params[3]);
-             if (ptr) emsg->val = (int)*ptr;
-             else emsg->val = 0;
-            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT:
-         {
-            Edje_Message_Float *emsg;
-            float f;
-
-            emsg = alloca(sizeof(Edje_Message_Float));
-            ptr = embryo_data_address_get(ep, params[3]);
-            if (ptr)
-                {
-                   f = EMBRYO_CELL_TO_FLOAT(*ptr);
-                   emsg->val = (double)f;
-                }
-             else
-                emsg->val = 0.0;
-            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_SET:
-         {
-            Edje_Message_String_Set *emsg;
-
-            n = (params[0] / sizeof(Embryo_Cell)) + 1;
-            emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 3 - 1) * sizeof(char *)));
-            emsg->count = n - 3;
-            for (i = 3; i < n; i++)
-              {
-                 Embryo_Cell *cptr;
-
-                 cptr = embryo_data_address_get(ep, params[i]);
-                 if (cptr)
-                   {
-                      int l;
-                      char *s;
-
-                      l = embryo_data_string_length_get(ep, cptr);
-                      s = alloca(l + 1);
-                       s[0] = 0;
-                      embryo_data_string_get(ep, cptr, s);
-                      emsg->str[i - 3] = s;
-                   }
-              }
-            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-         }
-       break;
-      case EDJE_MESSAGE_INT_SET:
-         {
-            Edje_Message_Int_Set *emsg;
-
-            n = (params[0] / sizeof(Embryo_Cell)) + 1;
-            emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 3 - 1) * sizeof(int)));
-            emsg->count = n - 3;
-            for (i = 3; i < n; i++)
-              {
-                 ptr = embryo_data_address_get(ep, params[i]);
-                 if (ptr) emsg->val[i - 3] = (int)*ptr;
-                  else emsg->val[i - 3] = 0;
-              }
-            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT_SET:
-         {
-            Edje_Message_Float_Set *emsg;
-
-            n = (params[0] / sizeof(Embryo_Cell)) + 1;
-            emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 3 - 1) * sizeof(double)));
-            emsg->count = n - 3;
-            for (i = 3; i < n; i++)
-              {
-                 float f;
-
-                 ptr = embryo_data_address_get(ep, params[i]);
-                 if (ptr)
-                     {
-                        f = EMBRYO_CELL_TO_FLOAT(*ptr);
-                        emsg->val[i - 3] = (double)f;
-                     }
-                  else
-                     emsg->val[i - 3] = 0.0;
-              }
-            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT:
-         {
-            Edje_Message_String_Int *emsg;
-            Embryo_Cell *cptr;
-
-            cptr = embryo_data_address_get(ep, params[3]);
-            if (cptr)
-              {
-                 int l;
-                 char *s;
-
-                 l = embryo_data_string_length_get(ep, cptr);
-                 s = alloca(l + 1);
-                  s[0] = 0;
-                 embryo_data_string_get(ep, cptr, s);
-                 emsg = alloca(sizeof(Edje_Message_String_Int));
-                 emsg->str = s;
-                 ptr = embryo_data_address_get(ep, params[4]);
-                 if (ptr) emsg->val = (int)*ptr;
-                  else emsg->val = 0;
-                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-              }
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT:
-         {
-            Edje_Message_String_Float *emsg;
-            Embryo_Cell *cptr;
-
-            cptr = embryo_data_address_get(ep, params[3]);
-            if (cptr)
-              {
-                 int l;
-                 char *s;
-                 float f;
-
-                 l = embryo_data_string_length_get(ep, cptr);
-                 s = alloca(l + 1);
-                  s[0] = 0;
-                 embryo_data_string_get(ep, cptr, s);
-                 emsg = alloca(sizeof(Edje_Message_String_Float));
-                 emsg->str = s;
-                 ptr = embryo_data_address_get(ep, params[4]);
-                  if (ptr)
-                     {
-                        f = EMBRYO_CELL_TO_FLOAT(*ptr);
-                        emsg->val = (double)f;
-                     }
-                  else
-                     emsg->val = 0.0;
-                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-              }
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT_SET:
-         {
-            Edje_Message_String_Int_Set *emsg;
-            Embryo_Cell *cptr;
-
-            cptr = embryo_data_address_get(ep, params[3]);
-            if (cptr)
-              {
-                 int l;
-                 char *s;
-
-                 l = embryo_data_string_length_get(ep, cptr);
-                 s = alloca(l + 1);
-                  s[0] = 0;
-                 embryo_data_string_get(ep, cptr, s);
-                 n = (params[0] / sizeof(Embryo_Cell)) + 1;
-                 emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 4 - 1) * sizeof(int)));
-                 emsg->str = s;
-                 emsg->count = n - 4;
-                 for (i = 4; i < n; i++)
-                   {
-                      ptr = embryo_data_address_get(ep, params[i]);
-                       if (ptr) emsg->val[i - 4] = (int)*ptr;
-                       else emsg->val[i - 4] = 0;
-                   }
-                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-              }
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT_SET:
-         {
-            Edje_Message_String_Float_Set *emsg;
-            Embryo_Cell *cptr;
-
-            cptr = embryo_data_address_get(ep, params[3]);
-            if (cptr)
-              {
-                 int l;
-                 char *s;
-
-                 l = embryo_data_string_length_get(ep, cptr);
-                 s = alloca(l + 1);
-                  s[0] = 0;
-                 embryo_data_string_get(ep, cptr, s);
-                 n = (params[0] / sizeof(Embryo_Cell)) + 1;
-                 emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 4 - 1) * sizeof(double)));
-                 emsg->str = s;
-                 emsg->count = n - 4;
-                 for (i = 4; i < n; i++)
-                   {
-                      float f;
-
-                      ptr = embryo_data_address_get(ep, params[i]);
-                       if (ptr)
-                         {
-                            f = EMBRYO_CELL_TO_FLOAT(*ptr);
-                            emsg->val[i - 4] = (double)f;
-                         }
-                       else
-                          emsg->val[i - 4] = 0.0;
-                   }
-                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
-              }
-         }
-       break;
-      default:
-       break;
-     }
-   return(0);
-}
-
-/* custom_state(part_id, state[], Float:state_val = 0.0) */
-static Embryo_Cell
-_edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   Edje_Real_Part *rp;
-   Edje_Part_Description_Common *parent, *d = NULL;
-   char *name;
-   float val;
-
-   CHKPARAM(3);
-
-   if (params[1] < 0)
-     return 0;
-
-   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
-     return 0;
-
-   /* check whether this part already has a "custom" state */
-   if (rp->custom)
-     return 0;
-
-   GETSTR(name, params[2]);
-   if (!name)
-     return 0;
-
-   val = EMBRYO_CELL_TO_FLOAT(params[3]);
-
-   if (!(parent = _edje_part_description_find(ed, rp, name, val)))
-     return 0;
-
-   /* now create the custom state */
-   switch (rp->part->type)
-     {
-#define ALLOC_DESC(Short, Type, To)                                    \
-       case EDJE_PART_TYPE_##Short: To = calloc(1, sizeof (Edje_Part_Description_##Type)); break;
-
-#define ALLOC_COPY_DESC(Short, Type, To, Spec)                         \
-       case EDJE_PART_TYPE_##Short:                                    \
-         {                                                             \
-            Edje_Part_Description_##Type *tmp;                         \
-            Edje_Part_Description_##Type *new;                         \
-                                                                       \
-            tmp = (Edje_Part_Description_##Type *) parent;             \
-                                                                       \
-            new = calloc(1, sizeof (Edje_Part_Description_##Type));    \
-            new->Spec = tmp->Spec;                                     \
-            d = &new->common;                                          \
-            break;                                                     \
-         }
-
-       ALLOC_DESC(RECTANGLE, Common, d);
-       ALLOC_DESC(SWALLOW, Common, d);
-       ALLOC_DESC(GROUP, Common, d);
-
-       ALLOC_COPY_DESC(IMAGE, Image, d, image);
-       ALLOC_COPY_DESC(TEXT, Text, d, text);
-       ALLOC_COPY_DESC(TEXTBLOCK, Text, d, text);
-       ALLOC_COPY_DESC(BOX, Box, d, box);
-       ALLOC_COPY_DESC(TABLE, Table, d, table);
-       ALLOC_COPY_DESC(EXTERNAL, External, d, external_params);
-     }
-
-   if (!d) return 0;
-
-   rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
-   if (!rp->custom)
-     {
-       free(d);
-       return 0;
-     }
-
-   memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
-
-   *d = *parent;
-
-   d->state.name = (char *)eina_stringshare_add("custom");
-   d->state.value = 0.0;
-
-   /* make sure all the allocated memory is getting copied,
-    * not just referenced
-    */
-   if (rp->part->type == EDJE_PART_TYPE_IMAGE)
-     {
-       Edje_Part_Description_Image *img_desc;
-       Edje_Part_Description_Image *parent_img_desc;
-
-       img_desc = (Edje_Part_Description_Image*) d;
-       parent_img_desc = (Edje_Part_Description_Image*) parent;
-
-       img_desc->image.tweens_count = parent_img_desc->image.tweens_count;
-       img_desc->image.tweens = calloc(img_desc->image.tweens_count,
-                                       sizeof(Edje_Part_Image_Id*));
-       if (img_desc->image.tweens)
-         {
-            unsigned int i;
-
-            for (i = 0; i < parent_img_desc->image.tweens_count; ++i)
-              {
-                 Edje_Part_Image_Id *iid_new;
-
-                 iid_new = calloc(1, sizeof(Edje_Part_Image_Id));
-                 if (!iid_new) continue;
-
-                 *iid_new = *parent_img_desc->image.tweens[i];
-
-                 img_desc->image.tweens[i] = iid_new;
-              }
-         }
-     }
-
-#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL
-   d->color_class = DUP(d->color_class);
-
-   if (rp->part->type == EDJE_PART_TYPE_TEXT
-       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-       Edje_Part_Description_Text *text_desc;
-
-       text_desc = (Edje_Part_Description_Text*) d;
-
-       text_desc->text.text_class = DUP(text_desc->text.text_class);
-       text_desc->text.text.str = DUP(edje_string_get(&text_desc->text.text));
-       text_desc->text.text.id = 0;
-       text_desc->text.font.str = DUP(edje_string_get(&text_desc->text.font));
-       text_desc->text.font.id = 0;
-       text_desc->text.style.str = DUP(edje_string_get(&text_desc->text.style));
-       text_desc->text.style.id = 0;
-     }
-#undef DUP
-
-   rp->custom->description = d;
-
-   return 0;
-}
-
-/* set_state_val(part_id, State_Param:p, ...) */
-static Embryo_Cell
-_edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   Edje_Real_Part *rp;
-   char *s;
-
-   /* we need at least 3 arguments */
-   if (params[0] < (int) (sizeof(Embryo_Cell) * 3))
-     return 0;
-
-   if (params[1] < 0)
-     return 0;
-
-   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
-     return 0;
-
-   /* check whether this part has a "custom" state */
-   if (!rp->custom)
-     return 0;
-
-   switch (params[2])
-     {
-      case EDJE_STATE_PARAM_ALIGNMENT:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->align.x, params[3]);
-        GETFLOAT_T(rp->custom->description->align.y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_MIN:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->min.w, params[3]);
-        GETINT(rp->custom->description->min.h, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_MAX:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->max.w, params[3]);
-        GETINT(rp->custom->description->max.h, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_STEP:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->step.x, params[3]);
-        GETINT(rp->custom->description->step.y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_ASPECT:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->aspect.min, params[3]);
-        GETFLOAT_T(rp->custom->description->aspect.max, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_ASPECT_PREF:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->aspect.prefer, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR:
-        CHKPARAM(6);
-
-        GETINT(rp->custom->description->color.r, params[3]);
-        GETINT(rp->custom->description->color.g, params[4]);
-        GETINT(rp->custom->description->color.b, params[5]);
-        GETINT(rp->custom->description->color.a, params[6]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR2:
-        CHKPARAM(6);
-
-        GETINT(rp->custom->description->color2.r, params[3]);
-        GETINT(rp->custom->description->color2.g, params[4]);
-        GETINT(rp->custom->description->color2.b, params[5]);
-        GETINT(rp->custom->description->color2.a, params[6]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR3:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-
-          CHKPARAM(6);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          GETINT(text->text.color3.r, params[3]);
-          GETINT(text->text.color3.g, params[4]);
-          GETINT(text->text.color3.b, params[5]);
-          GETINT(text->text.color3.a, params[6]);
-          break;
-       }
-      case EDJE_STATE_PARAM_COLOR_CLASS:
-        CHKPARAM(3);
-
-        GETSTR(s, params[3]);
-        GETSTREVAS(s, rp->custom->description->color_class);
-
-        break;
-      case EDJE_STATE_PARAM_REL1:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
-        GETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL1_TO:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->rel1.id_x, params[3]);
-        GETINT(rp->custom->description->rel1.id_y, params[4]);
-
-        if (rp->param1.description->rel1.id_x >= 0)
-          rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
-        if (rp->param1.description->rel1.id_y >= 0)
-          rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
-
-        break;
-      case EDJE_STATE_PARAM_REL1_OFFSET:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->rel1.offset_x, params[3]);
-        GETINT(rp->custom->description->rel1.offset_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL2:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
-        GETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL2_TO:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->rel2.id_x, params[3]);
-        GETINT(rp->custom->description->rel2.id_y, params[4]);
-
-        if (rp->param1.description->rel2.id_x >= 0)
-          rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
-        if (rp->param1.description->rel2.id_y >= 0)
-          rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
-
-        break;
-      case EDJE_STATE_PARAM_REL2_OFFSET:
-        CHKPARAM(4);
-
-        GETINT(rp->custom->description->rel2.offset_x, params[3]);
-        GETINT(rp->custom->description->rel2.offset_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_IMAGE:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(3);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-          GETINT(img->image.id, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_BORDER:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          GETINT(img->image.border.l, params[3]);
-          GETINT(img->image.border.r, params[4]);
-          GETINT(img->image.border.t, params[5]);
-          GETINT(img->image.border.b, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_SMOOTH:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(3);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          GETINT(img->image.fill.smooth, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_POS:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          GETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
-          GETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
-          GETINT(img->image.fill.pos_abs_x, params[5]);
-          GETINT(img->image.fill.pos_abs_y, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_SIZE:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          GETFLOAT_T(img->image.fill.rel_x, params[3]);
-          GETFLOAT_T(img->image.fill.rel_y, params[4]);
-          GETINT(img->image.fill.abs_x, params[5]);
-          GETINT(img->image.fill.abs_y, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-          CHKPARAM(3);
-
-          GETSTR(s, params[3]);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-          GETSTREVAS(s, text->text.text.str);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_CLASS:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-          CHKPARAM(3);
-
-          GETSTR(s, params[3]);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-          GETSTREVAS(s, text->text.text_class);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_FONT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-          CHKPARAM(3);
-
-          GETSTR(s, params[3]);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-          GETSTREVAS(s, text->text.font.str);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_STYLE:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
-          CHKPARAM(3);
-
-          GETSTR(s, params[3]);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-          GETSTREVAS(s, text->text.style.str);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_SIZE:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-          CHKPARAM(3);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-          GETINT(text->text.size, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_FIT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          GETINT(text->text.fit_x, params[3]);
-          GETINT(text->text.fit_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_MIN:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          GETINT(text->text.min_x, params[3]);
-          GETINT(text->text.min_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_MAX:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          GETINT(text->text.max_x, params[3]);
-          GETINT(text->text.max_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_ALIGN:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          GETFLOAT_T(text->text.align.x, params[3]);
-          GETFLOAT_T(text->text.align.y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_VISIBLE:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->visible, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ON:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.on, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_PERSP:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.id_persp, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_LIGHT:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.id_light, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_CENTER:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.rot.id_center, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_X:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_Y:
-        CHKPARAM(3);
-        
-        GETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_Z:
-        CHKPARAM(3);
-        
-        GETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_BACK_CULL:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.backcull, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_MAP_PERSP_ON:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->map.persp_on, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_PERSP_ZPLANE:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->persp.zplane, params[3]);
-        
-        break;
-      case EDJE_STATE_PARAM_PERSP_FOCAL:
-        CHKPARAM(3);
-        
-        GETINT(rp->custom->description->persp.focal, params[3]);
-        
-        break;
-#ifdef HAVE_EPHYSICS
-      case EDJE_STATE_PARAM_PHYSICS_MASS:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->physics.mass, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_FRICTION:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->physics.friction, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DAMPING:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
-        GETFLOAT_T(rp->custom->description->physics.damping.angular,
-                    params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_SLEEP:
-        CHKPARAM(4);
-
-        GETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
-        GETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.material, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DENSITY:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->physics.density, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
-        CHKPARAM(3);
-
-        GETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.light_on, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
-        CHKPARAM(5);
-
-        GETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
-        GETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
-        GETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
-        CHKPARAM(5);
-
-        GETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
-        GETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
-        GETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.backcull, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_Z:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.z, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DEPTH:
-        CHKPARAM(3);
-
-        GETINT(rp->custom->description->physics.depth, params[3]);
-        break;
-#endif
-      default:
-        break;
-     }
-
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   ed->dirty = EINA_TRUE;
-   return 0;
-}
-
-/* get_state_val(part_id, State_Param:p, ...) */
-static Embryo_Cell
-_edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-   Edje_Real_Part *rp;
-   char *s;
-
-   /* we need at least 3 arguments */
-   if (params[0] < (int) (sizeof(Embryo_Cell) * 3))
-     return 0;
-
-   if (params[1] < 0)
-     return 0;
-
-   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
-     return 0;
-
-   /* check whether this part has a "custom" state */
-   if (!rp->custom)
-     return 0;
-
-   switch (params[2])
-     {
-      case EDJE_STATE_PARAM_ALIGNMENT:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->align.x, params[3]);
-        SETFLOAT_T(rp->custom->description->align.y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_MIN:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->min.w, params[3]);
-        SETINT(rp->custom->description->min.h, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_MAX:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->max.w, params[3]);
-        SETINT(rp->custom->description->max.h, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_STEP:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->step.x, params[3]);
-        SETINT(rp->custom->description->step.y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_ASPECT:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->aspect.min, params[3]);
-        SETFLOAT_T(rp->custom->description->aspect.max, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_ASPECT_PREF:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->aspect.prefer, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR:
-        CHKPARAM(6);
-
-        SETINT(rp->custom->description->color.r, params[3]);
-        SETINT(rp->custom->description->color.g, params[4]);
-        SETINT(rp->custom->description->color.b, params[5]);
-        SETINT(rp->custom->description->color.a, params[6]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR2:
-        CHKPARAM(6);
-
-        SETINT(rp->custom->description->color2.r, params[3]);
-        SETINT(rp->custom->description->color2.g, params[4]);
-        SETINT(rp->custom->description->color2.b, params[5]);
-        SETINT(rp->custom->description->color2.a, params[6]);
-
-        break;
-      case EDJE_STATE_PARAM_COLOR3:
-       {
-          Edje_Part_Description_Text *text;
-
-          if (rp->part->type == EDJE_PART_TYPE_TEXT
-              || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-            return 0;
-
-          CHKPARAM(6);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETINT(text->text.color3.r, params[3]);
-          SETINT(text->text.color3.g, params[4]);
-          SETINT(text->text.color3.b, params[5]);
-          SETINT(text->text.color3.a, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_COLOR_CLASS:
-        CHKPARAM(4);
-
-        s = rp->custom->description->color_class;
-        SETSTRALLOCATE(s);
-
-        break;
-      case EDJE_STATE_PARAM_REL1:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
-        SETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL1_TO:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->rel1.id_x, params[3]);
-        SETINT(rp->custom->description->rel1.id_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL1_OFFSET:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->rel1.offset_x, params[3]);
-        SETINT(rp->custom->description->rel1.offset_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL2:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
-        SETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL2_TO:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->rel2.id_x, params[3]);
-        SETINT(rp->custom->description->rel2.id_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_REL2_OFFSET:
-        CHKPARAM(4);
-
-        SETINT(rp->custom->description->rel2.offset_x, params[3]);
-        SETINT(rp->custom->description->rel2.offset_y, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_IMAGE:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(3);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          SETINT(img->image.id, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_BORDER:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          SETINT(img->image.border.l, params[3]);
-          SETINT(img->image.border.r, params[4]);
-          SETINT(img->image.border.t, params[5]);
-          SETINT(img->image.border.b, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_SMOOTH:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(3);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          SETINT(img->image.fill.smooth, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_POS:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          SETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
-          SETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
-          SETINT(img->image.fill.pos_abs_x, params[5]);
-          SETINT(img->image.fill.pos_abs_y, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_FILL_SIZE:
-       {
-          Edje_Part_Description_Image *img;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
-          CHKPARAM(6);
-
-          img = (Edje_Part_Description_Image*) rp->custom->description;
-
-          SETFLOAT_T(img->image.fill.rel_x, params[3]);
-          SETFLOAT_T(img->image.fill.rel_y, params[4]);
-          SETINT(img->image.fill.abs_x, params[5]);
-          SETINT(img->image.fill.abs_y, params[6]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if (rp->part->type == EDJE_PART_TYPE_TEXT
-              || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-            return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          s = (char *)text->text.text.str;
-          SETSTRALLOCATE(s);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_CLASS:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-              (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          s = text->text.text_class;
-          SETSTRALLOCATE(s);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_FONT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          s = (char *)text->text.font.str;
-          SETSTRALLOCATE(s);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_STYLE:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          s = (char *)text->text.style.str;
-          SETSTRALLOCATE(s);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_SIZE:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-
-          CHKPARAM(3);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETINT(text->text.size, params[3]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_FIT:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETINT(text->text.fit_x, params[3]);
-          SETINT(text->text.fit_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_MIN:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETINT(text->text.min_x, params[3]);
-          SETINT(text->text.min_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_MAX:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
-               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-            return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETINT(text->text.max_x, params[3]);
-          SETINT(text->text.max_y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_TEXT_ALIGN:
-       {
-          Edje_Part_Description_Text *text;
-
-          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
-
-          CHKPARAM(4);
-
-          text = (Edje_Part_Description_Text*) rp->custom->description;
-
-          SETFLOAT_T(text->text.align.x, params[3]);
-          SETFLOAT_T(text->text.align.y, params[4]);
-
-          break;
-       }
-      case EDJE_STATE_PARAM_VISIBLE:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->visible, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ON:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.on, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_PERSP:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.id_persp, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_LIGHT:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.id_light, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_CENTER:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.rot.id_center, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_X:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_Y:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_ROT_Z:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_BACK_CULL:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.backcull, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_MAP_PERSP_ON:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->map.persp_on, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PERSP_ZPLANE:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->persp.zplane, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PERSP_FOCAL:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->persp.focal, params[3]);
-
-        break;
-#ifdef HAVE_EPHYSICS
-      case EDJE_STATE_PARAM_PHYSICS_MASS:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->physics.mass, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_FRICTION:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->physics.friction, params[3]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DAMPING:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
-        SETFLOAT_T(rp->custom->description->physics.damping.angular,
-                    params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_SLEEP:
-        CHKPARAM(4);
-
-        SETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
-        SETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
-
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.material, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DENSITY:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->physics.density, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
-        CHKPARAM(3);
-
-        SETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.light_on, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
-        CHKPARAM(5);
-
-        SETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
-        SETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
-        SETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
-        CHKPARAM(5);
-
-        SETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
-        SETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
-        SETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.backcull, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_Z:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.z, params[3]);
-        break;
-      case EDJE_STATE_PARAM_PHYSICS_DEPTH:
-        CHKPARAM(3);
-
-        SETINT(rp->custom->description->physics.depth, params[3]);
-        break;
-#endif
-      default:
-        break;
-     }
-
-   return 0;
-}
-
-/* part_swallow(part_id, group_name) */
-static Embryo_Cell
-_edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
-{
-   int part_id = 0;
-   char* group_name = 0;
-   Edje *ed;
-   Edje_Real_Part *rp;
-   Evas_Object *new_obj;
-   
-   CHKPARAM(2);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   GETSTR(group_name, params[2]);
-   if (!group_name) return 0;
-
-   ed = embryo_program_data_get(ep);
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if (!rp) return 0;
-
-   new_obj =  edje_object_add(ed->base->evas);
-   if (!new_obj) return 0;
-
-   if (!edje_object_file_set(new_obj, ed->file->path, group_name)) 
-     {
-        evas_object_del(new_obj);
-        return 0;
-     }
-   edje_object_part_swallow(ed->obj, rp->part->name, new_obj);
-   _edje_subobj_register(ed, new_obj);
-
-   return 0;
-}
-
-/* external_param_get_int(id, param_name[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_INT;
-   eep.i = 0;
-   _edje_external_param_get(NULL, rp, &eep);
-   return eep.i;
-}
-
-/* external_param_set_int(id, param_name[], val) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_set_int(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_INT;
-   eep.i = params[3];
-   return _edje_external_param_set(NULL, rp, &eep);
-}
-
-/* Float:external_param_get_float(id, param_name[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-   float v;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-   eep.d = 0.0;
-   _edje_external_param_get(NULL, rp, &eep);
-   v = eep.d;
-   return EMBRYO_FLOAT_TO_CELL(v);
-}
-
-/* external_param_set_float(id, param_name[], Float:val) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_set_float(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-   eep.d = EMBRYO_CELL_TO_FLOAT(params[3]);
-   return _edje_external_param_set(NULL, rp, &eep);
-}
-
-/* external_param_get_strlen(id, param_name[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_strlen(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-   eep.s = NULL;
-   _edje_external_param_get(NULL, rp, &eep);
-   if (!eep.s) return 0;
-   return strlen(eep.s);
-}
-
-/* external_param_get_str(id, param_name[], val[], val_maxlen) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-   size_t src_len, dst_len;
-
-   CHKPARAM(4);
-   dst_len = params[4];
-   if (dst_len < 1) goto error;
-
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) goto error;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-   eep.s = NULL;
-   _edje_external_param_get(NULL, rp, &eep);
-   if (!eep.s) goto error;
-   src_len = strlen(eep.s);
-   if (src_len < dst_len)
-     {
-       SETSTR(eep.s, params[3]);
-     }
-   else
-     {
-       char *tmp = alloca(dst_len);
-       memcpy(tmp, eep.s, dst_len - 1);
-       tmp[dst_len] = '\0';
-       SETSTR(tmp, params[3]);
-     }
-   return 1;
-
- error:
-   SETSTR("", params[3]);
-   return 0;
-}
-
-/* external_param_set_str(id, param_name[], val[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_set_str(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name, *val;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-   GETSTR(val, params[3]);
-   if (!val) return 0;
-   eep.s = val;
-   return _edje_external_param_set(NULL, rp, &eep);
-}
-
-/* external_param_get_choice_len(id, param_name[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_choice_len(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
-   eep.s = NULL;
-   _edje_external_param_get(NULL, rp, &eep);
-   if (!eep.s) return 0;
-   return strlen(eep.s);
-}
-
-/* external_param_get_choice(id, param_name[], val[], val_maxlen) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_choice(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-   size_t src_len, dst_len;
-
-   CHKPARAM(4);
-   dst_len = params[4];
-   if (dst_len < 1) goto error;
-
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) goto error;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
-   eep.s = NULL;
-   _edje_external_param_get(NULL, rp, &eep);
-   if (!eep.s) goto error;
-   src_len = strlen(eep.s);
-   if (src_len < dst_len)
-     {
-       SETSTR(eep.s, params[3]);
-     }
-   else
-     {
-       char *tmp = alloca(dst_len);
-       memcpy(tmp, eep.s, dst_len - 1);
-       tmp[dst_len] = '\0';
-       SETSTR(tmp, params[3]);
-     }
-   return 1;
-
- error:
-   SETSTR("", params[3]);
-   return 0;
-}
-
-/* external_param_set_choice(id, param_name[], val[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_set_choice(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name, *val;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
-   GETSTR(val, params[3]);
-   if (!val) return 0;
-   eep.s = val;
-   return _edje_external_param_set(NULL, rp, &eep);
-}
-
-/* external_param_get_bool(id, param_name[]) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_get_bool(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(2);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
-   eep.i = 0;
-   _edje_external_param_get(NULL, rp, &eep);
-   return eep.i;
-}
-
-/* external_param_set_bool(id, param_name[], val) */
-static Embryo_Cell
-_edje_embryo_fn_external_param_set_bool(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje *ed;
-   int part_id;
-   Edje_Real_Part *rp;
-   Edje_External_Param eep;
-   char *param_name;
-
-   CHKPARAM(3);
-   ed = embryo_program_data_get(ep);
-
-   part_id = params[1];
-   if (part_id < 0) return 0;
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-
-   GETSTR(param_name, params[2]);
-   if (!param_name) return 0;
-   eep.name = param_name;
-   eep.type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
-   eep.i = params[3];
-   return _edje_external_param_set(NULL, rp, &eep);
-}
-
-#ifdef HAVE_EPHYSICS
-/* Generic function to call ephysics functions that apply an action to
- * a body using 3 double values.
- * To be used by the other functions only avoiding code duplication. */
-static Embryo_Cell
-_edje_embryo_fn_physics_components_set(Embryo_Program *ep, Embryo_Cell *params, void (*func)(EPhysics_Body *body, double x, double y, double z))
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(4);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     {
-        double x, y, z;
-
-        x = (double) EMBRYO_CELL_TO_FLOAT(params[2]);
-        y = (double) EMBRYO_CELL_TO_FLOAT(params[3]);
-        z = (double) EMBRYO_CELL_TO_FLOAT(params[4]);
-
-        func(rp->body, x, y, z);
-     }
-
-   return 0;
-}
-
-/* Generic function to call ephysics functions that get components related
- * to actions from a body using 3 double values.
- * To be used by the other functions only avoiding code duplication. */
-static Embryo_Cell
-_edje_embryo_fn_physics_components_get(Embryo_Program *ep, Embryo_Cell *params, void (*func)(const EPhysics_Body *body, double *x, double *y, double *z))
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(4);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     {
-        double x, y, z;
-        func(rp->body, &x, &y, &z);
-        SETFLOAT(x, params[2]);
-        SETFLOAT(y, params[3]);
-        SETFLOAT(z, params[4]);
-     }
-
-   return 0;
-}
-
-/* physics_impulse(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_impulse(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_central_impulse_apply);
-}
-
-/* physics_torque_impulse(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_torque_impulse(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_torque_impulse_apply);
-}
-
-/* physics_force(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_force(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_central_force_apply);
-}
-
-/* physics_torque(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_torque(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_torque_apply);
-}
-
-/* physics_clear_forces(part_id) */
-static Embryo_Cell
-_edje_embryo_fn_physics_clear_forces(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(1);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     ephysics_body_forces_clear(rp->body);
-
-   return 0;
-}
-
-/* physics_get_forces(part_id, &Float:x, &Float:y, &Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_get_forces(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_get(
-      ep, params, ephysics_body_forces_get);
-}
-
-/* physics_get_torques(part_id, &Float:x, &Float:y, &Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_get_torques(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_get(
-      ep, params, ephysics_body_torques_get);
-}
-
-/* physics_set_velocity(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_set_velocity(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_linear_velocity_set);
-}
-
-/* physics_get_velocity(part_id, &Float:x, &Float:y, &Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_get_velocity(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_get(
-      ep, params, ephysics_body_linear_velocity_get);
-}
-
-/* physics_set_ang_velocity(part_id, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_set_ang_velocity(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_set(
-      ep, params, ephysics_body_angular_velocity_set);
-}
-
-/* physics_get_ang_velocity(part_id, &Float:x, &Float:y, &Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_get_ang_velocity(Embryo_Program *ep, Embryo_Cell *params)
-{
-   return _edje_embryo_fn_physics_components_get(
-      ep, params, ephysics_body_angular_velocity_get);
-}
-
-/* physics_stop(part_id) */
-static Embryo_Cell
-_edje_embryo_fn_physics_stop(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(1);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     ephysics_body_stop(rp->body);
-
-   return 0;
-}
-
-/* physics_set_rotation(part_id, Float:w, Float:x, Float:y, Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_set_rotation(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(5);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     {
-        EPhysics_Quaternion quat;
-        double w, x, y, z;
-
-        w = (double) EMBRYO_CELL_TO_FLOAT(params[2]);
-        x = (double) EMBRYO_CELL_TO_FLOAT(params[3]);
-        y = (double) EMBRYO_CELL_TO_FLOAT(params[4]);
-        z = (double) EMBRYO_CELL_TO_FLOAT(params[5]);
-
-        ephysics_quaternion_set(&quat, x, y, z, w);
-        ephysics_quaternion_normalize(&quat);
-        ephysics_body_rotation_set(rp->body, &quat);
-     }
-
-   return 0;
-}
-
-/* physics_get_rotation(part_id, &Float:w, &Float:x, &Float:y, &Float:z) */
-static Embryo_Cell
-_edje_embryo_fn_physics_get_rotation(Embryo_Program *ep, Embryo_Cell *params)
-{
-   Edje_Real_Part *rp;
-   int part_id = 0;
-   Edje *ed;
-
-   CHKPARAM(5);
-
-   ed = embryo_program_data_get(ep);
-   part_id = params[1];
-   if (part_id < 0) return 0;
-
-   rp = ed->table_parts[part_id % ed->table_parts_size];
-   if ((rp) && (rp->body))
-     {
-        EPhysics_Quaternion quat;
-        double w, x, y, z;
-
-        ephysics_body_rotation_get(rp->body, &quat);
-        ephysics_quaternion_get(&quat, &x, &y, &z, &w);
-
-        SETFLOAT(w, params[2]);
-        SETFLOAT(x, params[3]);
-        SETFLOAT(y, params[4]);
-        SETFLOAT(z, params[5]);
-     }
-
-   return 0;
-}
-#endif
-
-void
-_edje_embryo_script_init(Edje_Part_Collection *edc)
-{
-   Embryo_Program *ep;
-
-   if (!edc) return;
-   if (!edc->script) return;
-   
-   ep = edc->script;
-   /* first advertise all the edje "script" calls */
-   embryo_program_native_call_add(ep, "get_int", _edje_embryo_fn_get_int);
-   embryo_program_native_call_add(ep, "set_int", _edje_embryo_fn_set_int);
-   embryo_program_native_call_add(ep, "get_float", _edje_embryo_fn_get_float);
-   embryo_program_native_call_add(ep, "set_float", _edje_embryo_fn_set_float);
-   embryo_program_native_call_add(ep, "get_str", _edje_embryo_fn_get_str);
-   embryo_program_native_call_add(ep, "get_strlen", _edje_embryo_fn_get_strlen);
-   embryo_program_native_call_add(ep, "set_str", _edje_embryo_fn_set_str);
-   embryo_program_native_call_add(ep, "count", _edje_embryo_fn_count);
-   embryo_program_native_call_add(ep, "remove", _edje_embryo_fn_remove);
-   embryo_program_native_call_add(ep, "append_int", _edje_embryo_fn_append_int);
-   embryo_program_native_call_add(ep, "prepend_int", _edje_embryo_fn_prepend_int);
-   embryo_program_native_call_add(ep, "insert_int", _edje_embryo_fn_insert_int);
-   embryo_program_native_call_add(ep, "replace_int", _edje_embryo_fn_replace_int);
-   embryo_program_native_call_add(ep, "fetch_int", _edje_embryo_fn_fetch_int);
-   embryo_program_native_call_add(ep, "append_str", _edje_embryo_fn_append_str);
-   embryo_program_native_call_add(ep, "prepend_str", _edje_embryo_fn_prepend_str);
-   embryo_program_native_call_add(ep, "insert_str", _edje_embryo_fn_insert_str);
-   embryo_program_native_call_add(ep, "replace_str", _edje_embryo_fn_replace_str);
-   embryo_program_native_call_add(ep, "fetch_str", _edje_embryo_fn_fetch_str);
-   embryo_program_native_call_add(ep, "append_float", _edje_embryo_fn_append_float);
-   embryo_program_native_call_add(ep, "prepend_float", _edje_embryo_fn_prepend_float);
-   embryo_program_native_call_add(ep, "insert_float", _edje_embryo_fn_insert_float);
-   embryo_program_native_call_add(ep, "replace_float", _edje_embryo_fn_replace_float);
-   embryo_program_native_call_add(ep, "fetch_float", _edje_embryo_fn_fetch_float);
-
-   embryo_program_native_call_add(ep, "timer", _edje_embryo_fn_timer);
-   embryo_program_native_call_add(ep, "cancel_timer", _edje_embryo_fn_cancel_timer);
-
-   embryo_program_native_call_add(ep, "anim", _edje_embryo_fn_anim);
-   embryo_program_native_call_add(ep, "cancel_anim", _edje_embryo_fn_cancel_anim);
-
-   embryo_program_native_call_add(ep, "emit", _edje_embryo_fn_emit);
-   embryo_program_native_call_add(ep, "get_part_id", _edje_embryo_fn_get_part_id);
-   embryo_program_native_call_add(ep, "get_image_id", _edje_embryo_fn_get_image_id);
-   embryo_program_native_call_add(ep, "get_program_id", _edje_embryo_fn_get_program_id);
-   embryo_program_native_call_add(ep, "set_state", _edje_embryo_fn_set_state);
-   embryo_program_native_call_add(ep, "get_state", _edje_embryo_fn_get_state);
-   embryo_program_native_call_add(ep, "set_tween_state", _edje_embryo_fn_set_tween_state);
-   embryo_program_native_call_add(ep, "run_program", _edje_embryo_fn_run_program);
-   embryo_program_native_call_add(ep, "get_drag_dir", _edje_embryo_fn_get_drag_dir);
-   embryo_program_native_call_add(ep, "get_drag", _edje_embryo_fn_get_drag);
-   embryo_program_native_call_add(ep, "set_drag", _edje_embryo_fn_set_drag);
-   embryo_program_native_call_add(ep, "get_drag_size", _edje_embryo_fn_get_drag_size);
-   embryo_program_native_call_add(ep, "set_drag_size", _edje_embryo_fn_set_drag_size);
-   embryo_program_native_call_add(ep, "set_text", _edje_embryo_fn_set_text);
-   embryo_program_native_call_add(ep, "get_text", _edje_embryo_fn_get_text);
-   embryo_program_native_call_add(ep, "get_min_size", _edje_embryo_fn_get_min_size);
-   embryo_program_native_call_add(ep, "get_max_size", _edje_embryo_fn_get_max_size);
-   embryo_program_native_call_add(ep, "get_color_class", _edje_embryo_fn_get_color_class);
-   embryo_program_native_call_add(ep, "set_color_class", _edje_embryo_fn_set_color_class);
-   embryo_program_native_call_add(ep, "set_text_class", _edje_embryo_fn_set_text_class);
-   embryo_program_native_call_add(ep, "get_text_class", _edje_embryo_fn_get_text_class);
-   embryo_program_native_call_add(ep, "get_drag_step", _edje_embryo_fn_get_drag_step);
-   embryo_program_native_call_add(ep, "set_drag_step", _edje_embryo_fn_set_drag_step);
-   embryo_program_native_call_add(ep, "get_drag_page", _edje_embryo_fn_get_drag_page);
-   embryo_program_native_call_add(ep, "set_drag_page", _edje_embryo_fn_set_drag_page);
-   embryo_program_native_call_add(ep, "get_mouse", _edje_embryo_fn_get_mouse);
-   embryo_program_native_call_add(ep, "get_mouse_buttons", _edje_embryo_fn_get_mouse_buttons);
-   embryo_program_native_call_add(ep, "stop_program", _edje_embryo_fn_stop_program);
-   embryo_program_native_call_add(ep, "stop_programs_on", _edje_embryo_fn_stop_programs_on);
-   embryo_program_native_call_add(ep, "set_min_size", _edje_embryo_fn_set_min_size);
-   embryo_program_native_call_add(ep, "set_max_size", _edje_embryo_fn_set_max_size);
-   embryo_program_native_call_add(ep, "play_sample", _edje_embryo_fn_play_sample);
-   embryo_program_native_call_add(ep, "play_tone", _edje_embryo_fn_play_tone);
-   embryo_program_native_call_add(ep, "send_message", _edje_embryo_fn_send_message);
-   embryo_program_native_call_add(ep, "get_geometry", _edje_embryo_fn_get_geometry);
-   embryo_program_native_call_add(ep, "custom_state", _edje_embryo_fn_custom_state);
-   embryo_program_native_call_add(ep, "set_state_val", _edje_embryo_fn_set_state_val);
-   embryo_program_native_call_add(ep, "get_state_val", _edje_embryo_fn_get_state_val);
-
-   embryo_program_native_call_add(ep, "part_swallow", _edje_embryo_fn_part_swallow);
-
-   embryo_program_native_call_add(ep, "external_param_get_int", _edje_embryo_fn_external_param_get_int);
-   embryo_program_native_call_add(ep, "external_param_set_int", _edje_embryo_fn_external_param_set_int);
-   embryo_program_native_call_add(ep, "external_param_get_float", _edje_embryo_fn_external_param_get_float);
-   embryo_program_native_call_add(ep, "external_param_set_float", _edje_embryo_fn_external_param_set_float);
-   embryo_program_native_call_add(ep, "external_param_get_strlen", _edje_embryo_fn_external_param_get_strlen);
-   embryo_program_native_call_add(ep, "external_param_get_str", _edje_embryo_fn_external_param_get_str);
-   embryo_program_native_call_add(ep, "external_param_set_str", _edje_embryo_fn_external_param_set_str);
-   embryo_program_native_call_add(ep, "external_param_get_choice_len", _edje_embryo_fn_external_param_get_choice_len);
-   embryo_program_native_call_add(ep, "external_param_get_choice", _edje_embryo_fn_external_param_get_choice);
-   embryo_program_native_call_add(ep, "external_param_set_choice", _edje_embryo_fn_external_param_set_choice);
-   embryo_program_native_call_add(ep, "external_param_get_bool", _edje_embryo_fn_external_param_get_bool);
-   embryo_program_native_call_add(ep, "external_param_set_bool", _edje_embryo_fn_external_param_set_bool);
-
-#ifdef HAVE_EPHYSICS
-   embryo_program_native_call_add(ep, "physics_impulse", _edje_embryo_fn_physics_impulse);
-   embryo_program_native_call_add(ep, "physics_torque_impulse", _edje_embryo_fn_physics_torque_impulse);
-   embryo_program_native_call_add(ep, "physics_force", _edje_embryo_fn_physics_force);
-   embryo_program_native_call_add(ep, "physics_torque", _edje_embryo_fn_physics_torque);
-   embryo_program_native_call_add(ep, "physics_clear_forces", _edje_embryo_fn_physics_clear_forces);
-   embryo_program_native_call_add(ep, "physics_get_forces", _edje_embryo_fn_physics_get_forces);
-   embryo_program_native_call_add(ep, "physics_get_torques", _edje_embryo_fn_physics_get_torques);
-   embryo_program_native_call_add(ep, "physics_set_velocity", _edje_embryo_fn_physics_set_velocity);
-   embryo_program_native_call_add(ep, "physics_get_velocity", _edje_embryo_fn_physics_get_velocity);
-   embryo_program_native_call_add(ep, "physics_set_ang_velocity", _edje_embryo_fn_physics_set_ang_velocity);
-   embryo_program_native_call_add(ep, "physics_get_ang_velocity", _edje_embryo_fn_physics_get_ang_velocity);
-   embryo_program_native_call_add(ep, "physics_stop", _edje_embryo_fn_physics_stop);
-   embryo_program_native_call_add(ep, "physics_set_rotation", _edje_embryo_fn_physics_set_rotation);
-   embryo_program_native_call_add(ep, "physics_get_rotation", _edje_embryo_fn_physics_get_rotation);
-#endif
-}
-
-void
-_edje_embryo_script_shutdown(Edje_Part_Collection *edc)
-{
-   if (!edc) return;
-   if (!edc->script) return;
-   if (embryo_program_recursion_get(edc->script) > 0) return;
-   embryo_program_free(edc->script);
-   edc->script = NULL;
-}
-
-void
-_edje_embryo_script_reset(Edje *ed)
-{
-   if (!ed) return;
-   if (!ed->collection) return;
-   if (!ed->collection->script) return;
-   if (embryo_program_recursion_get(ed->collection->script) > 0) return;
-   embryo_program_vm_reset(ed->collection->script);
-   _edje_embryo_globals_init(ed);
-}
-
-/* this may change in future - thus "test_run" is its name */
-void
-_edje_embryo_test_run(Edje *ed, const char *fname, const char *sig, const char *src)
-{
-   Embryo_Function fn;
-
-   if (!ed) return;
-   if (!ed->collection) return;
-   if (!ed->collection->script) return;
-   embryo_program_vm_push(ed->collection->script);
-   _edje_embryo_globals_init(ed);
-
-   //   _edje_embryo_script_reset(ed);
-   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
-   if (fn != EMBRYO_FUNCTION_NONE)
-     {
-       void *pdata;
-       int ret;
-
-       embryo_parameter_string_push(ed->collection->script, (char *)sig);
-       embryo_parameter_string_push(ed->collection->script, (char *)src);
-       pdata = embryo_program_data_get(ed->collection->script);
-       embryo_program_data_set(ed->collection->script, ed);
-       /* 5 million instructions is an arbitrary number. on my p4-2.6 here */
-       /* IF embryo is ONLY running embryo stuff and NO native calls thats */
-       /* about 0.016 seconds, and longer on slower cpu's. if a simple */
-       /* embryo script snippet hasn't managed to do its work in 5 MILLION */
-       /* embryo virtual machine instructions - something is wrong, or */
-       /* embryo is simply being mis-used. Embryo is meant to be minimal */
-       /* logic enhancment - not entire applications. this cycle count */
-       /* does NOT include time spent in native function calls, that the */
-       /* script may call to do the REAL work, so in terms of time this */
-       /* will likely end up being much longer than 0.016 seconds - more */
-       /* like 0.03 - 0.05 seconds or even more */
-       embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
-       ret = embryo_program_run(ed->collection->script, fn);
-       if (ret == EMBRYO_PROGRAM_FAIL)
-         {
-            ERR("ERROR with embryo script. "
-                 "OBJECT NAME: '%s', "
-                 "OBJECT FILE: '%s', "
-                 "ENTRY POINT: '%s', "
-                 "SIGNAL: '%s', "
-                 "SOURCE: '%s', "
-                "ERROR: '%s'",
-                 ed->collection->part,
-                 ed->file->path,
-                 fname,
-                 sig, src,
-                embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
-         }
-       else if (ret == EMBRYO_PROGRAM_TOOLONG)
-         {
-            ERR("ERROR with embryo script. "
-                 "OBJECT NAME: '%s', "
-                 "OBJECT FILE: '%s', "
-                 "ENTRY POINT: '%s', "
-                 "SIGNAL: '%s', "
-                 "SOURCE: '%s', "
-                "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
-                 ed->collection->part,
-                 ed->file->path,
-                fname,
-                 sig, src,
-                embryo_program_max_cycle_run_get(ed->collection->script));
-         }
-       embryo_program_data_set(ed->collection->script, pdata);
-     }
-   embryo_program_vm_pop(ed->collection->script);
-}
-
-void
-_edje_embryo_globals_init(Edje *ed)
-{
-   int n, i;
-   Embryo_Program *ep;
-
-   ep = ed->collection->script;
-   n = embryo_program_variable_count_get(ep);
-   for (i = 0; i < n; i++)
-     {
-       Embryo_Cell cell, *cptr;
-
-       cell = embryo_program_variable_get(ep, i);
-       if (cell != EMBRYO_CELL_NONE)
-         {
-            cptr = embryo_data_address_get(ep, cell);
-            if (cptr) *cptr = EDJE_VAR_MAGIC_BASE + i;
-         }
-     }
-}
diff --git a/legacy/edje/src/lib/edje_entry.c b/legacy/edje/src/lib/edje_entry.c
deleted file mode 100644 (file)
index 8abc3ef..0000000
+++ /dev/null
@@ -1,3908 +0,0 @@
-#include "edje_private.h"
-
-#ifdef HAVE_ECORE_IMF
-static Eina_Bool _edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
-static void      _edje_entry_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info);
-static void      _edje_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx, void *event_info);
-static void      _edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx, void *event);
-#endif
-
-typedef struct _Entry Entry;
-typedef struct _Sel Sel;
-typedef struct _Anchor Anchor;
-
-static void _edje_entry_imf_cursor_location_set(Entry *en);
-static void _edje_entry_imf_cursor_info_set(Entry *en);
-
-struct _Entry
-{
-   Edje_Real_Part *rp;
-   Evas_Object *cursor_bg;
-   Evas_Object *cursor_fg;
-   Evas_Textblock_Cursor *cursor;
-   Evas_Textblock_Cursor *sel_start, *sel_end;
-   Evas_Textblock_Cursor *cursor_user, *cursor_user_extra;
-   Evas_Textblock_Cursor *preedit_start, *preedit_end;
-   Ecore_Timer *pw_timer;
-   Eina_List *sel;
-   Eina_List *anchors;
-   Eina_List *anchorlist;
-   Eina_List *itemlist;
-   Eina_List *seq;
-   char *selection;
-   Edje_Input_Panel_Lang input_panel_lang;
-   Eina_Bool composing : 1;
-   Eina_Bool selecting : 1;
-   Eina_Bool have_selection : 1;
-   Eina_Bool select_allow : 1;
-   Eina_Bool select_mod_start : 1;
-   Eina_Bool select_mod_end : 1;
-   Eina_Bool had_sel : 1;
-   Eina_Bool input_panel_enable : 1;
-   Eina_Bool prediction_allow : 1;
-
-#ifdef HAVE_ECORE_IMF
-   Eina_Bool have_preedit : 1;
-   Ecore_IMF_Context *imf_context;
-#endif
-};
-
-struct _Sel
-{
-   Evas_Textblock_Rectangle rect;
-   Evas_Object *obj_fg, *obj_bg, *obj, *sobj;
-};
-
-struct _Anchor
-{
-   Entry *en;
-   char *name;
-   Evas_Textblock_Cursor *start, *end;
-   Eina_List *sel;
-   Eina_Bool item : 1;
-};
-
-#ifdef HAVE_ECORE_IMF
-static void
-_preedit_clear(Entry *en)
-{
-   if (en->preedit_start)
-     {
-        evas_textblock_cursor_free(en->preedit_start);
-        en->preedit_start = NULL;
-     }
-
-   if (en->preedit_end)
-     {
-        evas_textblock_cursor_free(en->preedit_end);
-        en->preedit_end = NULL;
-     }
-
-   en->have_preedit = EINA_FALSE;
-}
-
-static void
-_preedit_del(Entry *en)
-{
-   if (!en || !en->have_preedit) return;
-   if (!en->preedit_start || !en->preedit_end) return;
-   if (!evas_textblock_cursor_compare(en->preedit_start, en->preedit_end)) return;
-
-   /* delete the preedit characters */
-   evas_textblock_cursor_range_delete(en->preedit_start, en->preedit_end);
-}
-
-static void
-_edje_entry_focus_in_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   Edje_Real_Part *rp;
-   Entry *en;
-
-   rp = data;
-   if ((!rp) || (rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if (!rp->typedata.text->entry_data || !rp->edje || !rp->edje->obj) return;
-
-   en = rp->typedata.text->entry_data;
-   if (!en || !en->imf_context) return;
-
-   if (evas_object_focus_get(rp->edje->obj))
-     {
-        ecore_imf_context_reset(en->imf_context);
-        ecore_imf_context_focus_in(en->imf_context);
-        _edje_entry_imf_cursor_info_set(en);
-     }
-}
-
-static void
-_edje_entry_focus_out_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
-{
-   Edje_Real_Part *rp;
-   Entry *en;
-
-   rp = data;
-   if ((!rp) || (rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if (!rp->typedata.text->entry_data) return;
-
-   en = rp->typedata.text->entry_data;
-   if (!en || !en->imf_context) return;
-
-   ecore_imf_context_reset(en->imf_context);
-   ecore_imf_context_focus_out(en->imf_context);
-}
-#endif
-
-static void
-_edje_focus_in_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje *ed = data;
-#ifdef HAVE_ECORE_IMF
-   Edje_Real_Part *rp;
-   Entry *en;
-#endif
-
-   _edje_emit(ed, "focus,in", "");
-#ifdef HAVE_ECORE_IMF
-   rp = ed->focused_part;
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
-     return;
-
-   if (!en->imf_context) return;
-
-   ecore_imf_context_reset(en->imf_context);
-   ecore_imf_context_focus_in(en->imf_context);
-   _edje_entry_imf_cursor_info_set(en);
-#endif
-}
-
-static void
-_edje_focus_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje *ed = data;
-#ifdef HAVE_ECORE_IMF
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en;
-#endif
-
-   _edje_emit(ed, "focus,out", "");
-
-#ifdef HAVE_ECORE_IMF
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
-     return;
-
-   if (!en->imf_context) return;
-
-   ecore_imf_context_reset(en->imf_context);
-   ecore_imf_context_focus_out(en->imf_context);
-#endif
-}
-
-static void
-_text_filter_markup_prepend_internal(Entry *en, Evas_Textblock_Cursor *c, char *text)
-{
-   Edje_Markup_Filter_Callback *cb;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(en->rp->edje->markup_filter_callbacks, l, cb)
-     {
-        if (!strcmp(cb->part, en->rp->part->name))
-          {
-             cb->func(cb->data, en->rp->edje->obj, cb->part, &text);
-             if (!text) break;
-          }
-     }
-   if (text)
-     {
-        evas_object_textblock_text_markup_prepend(c, text);
-        free(text);
-     }
-}
-
-static void
-_text_filter_text_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
-{
-   char *text2;
-   Edje_Text_Insert_Filter_Callback *cb;
-   Eina_List *l;
-
-   EINA_SAFETY_ON_NULL_RETURN(text);
-   text2 = strdup(text);
-   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
-     {
-        if (!strcmp(cb->part, en->rp->part->name))
-          {
-             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_TEXT, &text2);
-             if (!text2) break;
-          }
-     }
-   if (text2)
-     {
-        char *markup_text;
-        markup_text = evas_textblock_text_utf8_to_markup(NULL, text2);
-        free(text2);
-        if (markup_text)
-          _text_filter_markup_prepend_internal(en, c, markup_text);
-     }
-}
-
-static void
-_text_filter_format_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
-{
-   char *text2;
-   Edje_Text_Insert_Filter_Callback *cb;
-   Eina_List *l;
-
-   EINA_SAFETY_ON_NULL_RETURN(text);
-   text2 = strdup(text);
-   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
-     {
-        if (!strcmp(cb->part, en->rp->part->name))
-          {
-             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_FORMAT, &text2);
-             if (!text2) break;
-          }
-     }
-   if (text2)
-     {
-        char *s, *markup_text;
-
-        s = text2;
-        if (*s == '+')
-          {
-             s++;
-             while (*s == ' ') s++;
-             if (!s)
-               {
-                  free(text2);
-                  return;
-               }
-             markup_text = (char*) malloc(strlen(s) + 3);
-             if (markup_text)
-               {
-                  *(markup_text) = '<';
-                  strncpy((markup_text + 1), s, strlen(s));
-                  *(markup_text + strlen(s) + 1) = '>';
-                  *(markup_text + strlen(s) + 2) = '\0';
-               }
-          }
-        else if (s[0] == '-')
-          {
-             s++;
-             while (*s == ' ') s++;
-             if (!s)
-               {
-                  free(text2);
-                  return;
-               }
-             markup_text = (char*) malloc(strlen(s) + 4);
-             if (markup_text)
-               {
-                  *(markup_text) = '<';
-                  *(markup_text + 1) = '/';
-                  strncpy((markup_text + 2), s, strlen(s));
-                  *(markup_text + strlen(s) + 2) = '>';
-                  *(markup_text + strlen(s) + 3) = '\0';
-               }
-          }
-        else
-          {
-             markup_text = (char*) malloc(strlen(s) + 4);
-             if (markup_text)
-               {
-                  *(markup_text) = '<';
-                  strncpy((markup_text + 1), s, strlen(s));
-                  *(markup_text + strlen(s) + 1) = '/';
-                  *(markup_text + strlen(s) + 2) = '>';
-                  *(markup_text + strlen(s) + 3) = '\0';
-               }
-          }
-        free(text2);
-        if (markup_text)
-          _text_filter_markup_prepend_internal(en, c, markup_text);
-     }
-}
-
-static void
-_text_filter_markup_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
-{
-   char *text2;
-   Edje_Text_Insert_Filter_Callback *cb;
-   Eina_List *l;
-
-   EINA_SAFETY_ON_NULL_RETURN(text);
-   text2 = strdup(text);
-   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
-     {
-        if (!strcmp(cb->part, en->rp->part->name))
-          {
-             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_MARKUP, &text2);
-             if (!text2) break;
-          }
-     }
-   if (text2)
-     _text_filter_markup_prepend_internal(en, c, text2);
-}
-
-static void
-_curs_update_from_curs(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__, Entry *en, Evas_Coord *cx, Evas_Coord *cy)
-{
-   Evas_Coord cw, ch;
-   Evas_Textblock_Cursor_Type cur_type;
-   if (c != en->cursor) return;
-   switch (en->rp->part->cursor_mode)
-     {
-      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
-         break;
-      case EDJE_ENTRY_CURSOR_MODE_UNDER:
-         /* no break for a reason */
-      default:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
-     }
-   evas_textblock_cursor_geometry_get(c, cx, cy, &cw, &ch, NULL, cur_type);
-   *cx += (cw / 2);
-   *cy += (ch / 2);
-}
-
-static int
-_curs_line_last_get(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *en __UNUSED__)
-{
-   Evas_Textblock_Cursor *cc;
-   int ln;
-
-   cc = evas_object_textblock_cursor_new(o);
-   evas_textblock_cursor_paragraph_last(cc);
-   ln = evas_textblock_cursor_line_geometry_get(cc, NULL, NULL, NULL, NULL);
-   evas_textblock_cursor_free(cc);
-   return ln;
-}
-
-static void
-_curs_lin_start(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__,
-                Entry *en __UNUSED__)
-{
-   evas_textblock_cursor_line_char_first(c);
-}
-
-static void
-_curs_lin_end(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__,
-              Entry *en __UNUSED__)
-{
-   evas_textblock_cursor_line_char_last(c);
-}
-
-static void
-_curs_start(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__,
-            Entry *en __UNUSED__)
-{
-   evas_textblock_cursor_paragraph_first(c);
-}
-
-static void
-_curs_end(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__, Entry *en __UNUSED__)
-{
-   evas_textblock_cursor_paragraph_last(c);
-}
-
-static void
-_curs_jump_line(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int ln)
-{
-   Evas_Coord cx, cy;
-   Evas_Coord lx, ly, lw, lh;
-   int last = _curs_line_last_get(c, o, en);
-
-   if (ln < 0) ln = 0;
-   else
-     {
-        if (ln > last) ln = last;
-     }
-
-   _curs_update_from_curs(c, o, en, &cx, &cy);
-
-   if (!evas_object_textblock_line_number_geometry_get(o, ln, &lx, &ly, &lw, &lh))
-     return;
-   if (evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
-     return;
-   evas_textblock_cursor_line_set(c, ln);
-   if (cx < (lx + (lw / 2)))
-     {
-        if (ln == last) _curs_end(c, o, en);
-        _curs_lin_start(c, o, en);
-     }
-   else
-     {
-        if (ln == last)
-          _curs_end(c, o, en);
-        else
-          _curs_lin_end(c, o, en);
-     }
-}
-
-static void
-_curs_jump_line_by(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int by)
-{
-   int ln;
-
-   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL) + by;
-   _curs_jump_line(c, o, en, ln);
-}
-
-static void
-_curs_up(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   _curs_jump_line_by(c, o, en, -1);
-}
-
-static void
-_curs_down(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   _curs_jump_line_by(c, o, en, 1);
-}
-
-static void
-_sel_start(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   if (en->sel_start) return;
-   en->sel_start = evas_object_textblock_cursor_new(o);
-   evas_textblock_cursor_copy(c, en->sel_start);
-   en->sel_end = evas_object_textblock_cursor_new(o);
-   evas_textblock_cursor_copy(c, en->sel_end);
-
-   en->have_selection = EINA_FALSE;
-   if (en->selection)
-     {
-        free(en->selection);
-        en->selection = NULL;
-     }
-}
-
-static void
-_sel_enable(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en)
-{
-   if (en->have_selection) return;
-   en->have_selection = EINA_TRUE;
-   if (en->selection)
-     {
-        free(en->selection);
-        en->selection = NULL;
-     }
-   _edje_emit(en->rp->edje, "selection,start", en->rp->part->name);
-}
-
-static void
-_sel_extend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   if (!en->sel_end) return;
-   _edje_entry_imf_context_reset(en->rp);
-   _sel_enable(c, o, en);
-   if (!evas_textblock_cursor_compare(c, en->sel_end)) return;
-   evas_textblock_cursor_copy(c, en->sel_end);
-   if (en->selection)
-     {
-        free(en->selection);
-        en->selection = NULL;
-     }
-   _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name);
-}
-
-static void
-_sel_preextend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   if (!en->sel_end) return;
-   _edje_entry_imf_context_reset(en->rp);
-   _sel_enable(c, o, en);
-   if (!evas_textblock_cursor_compare(c, en->sel_start)) return;
-   evas_textblock_cursor_copy(c, en->sel_start);
-   if (en->selection)
-     {
-        free(en->selection);
-        en->selection = NULL;
-     }
-   _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name);
-}
-
-static void
-_sel_clear(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en)
-{
-   en->had_sel = EINA_FALSE;
-   if (en->sel_start)
-     {
-        evas_textblock_cursor_free(en->sel_start);
-        evas_textblock_cursor_free(en->sel_end);
-        en->sel_start = NULL;
-        en->sel_end = NULL;
-     }
-   if (en->selection)
-     {
-        free(en->selection);
-        en->selection = NULL;
-     }
-   while (en->sel)
-     {
-        Sel *sel;
-
-        sel = en->sel->data;
-        if (sel->obj_bg) evas_object_del(sel->obj_bg);
-        if (sel->obj_fg) evas_object_del(sel->obj_fg);
-        free(sel);
-        en->sel = eina_list_remove_list(en->sel, en->sel);
-     }
-   if (en->have_selection)
-     {
-        en->have_selection = EINA_FALSE;
-        _edje_emit(en->rp->edje, "selection,cleared", en->rp->part->name);
-     }
-}
-
-static void
-_sel_update(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *en)
-{
-   Eina_List *range = NULL, *l;
-   Sel *sel;
-   Evas_Coord x, y, w, h;
-   Evas_Object *smart, *clip;
-
-   smart = evas_object_smart_parent_get(o);
-   clip = evas_object_clip_get(o);
-   if (en->sel_start)
-     range = evas_textblock_cursor_range_geometry_get(en->sel_start, en->sel_end);
-   else
-     return;
-   if (eina_list_count(range) != eina_list_count(en->sel))
-     {
-        while (en->sel)
-          {
-             sel = en->sel->data;
-             if (sel->obj_bg) evas_object_del(sel->obj_bg);
-             if (sel->obj_fg) evas_object_del(sel->obj_fg);
-             free(sel);
-             en->sel = eina_list_remove_list(en->sel, en->sel);
-          }
-        if (en->have_selection)
-          {
-             for (l = range; l; l = eina_list_next(l))
-               {
-                  Evas_Object *ob;
-
-                  sel = calloc(1, sizeof(Sel));
-                  en->sel = eina_list_append(en->sel, sel);
-                  ob = edje_object_add(en->rp->edje->base->evas);
-                  edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source);
-                  evas_object_smart_member_add(ob, smart);
-                  evas_object_stack_below(ob, o);
-                  evas_object_clip_set(ob, clip);
-                  evas_object_pass_events_set(ob, EINA_TRUE);
-                  evas_object_show(ob);
-                  sel->obj_bg = ob;
-                  _edje_subobj_register(en->rp->edje, sel->obj_bg);
-
-                  ob = edje_object_add(en->rp->edje->base->evas);
-                  edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
-                  evas_object_smart_member_add(ob, smart);
-                  evas_object_stack_above(ob, o);
-                  evas_object_clip_set(ob, clip);
-                  evas_object_pass_events_set(ob, EINA_TRUE);
-                  evas_object_show(ob);
-                  sel->obj_fg = ob;
-                  _edje_subobj_register(en->rp->edje, sel->obj_fg);
-               }
-          }
-     }
-   x = y = w = h = -1;
-   evas_object_geometry_get(o, &x, &y, &w, &h);
-   if (en->have_selection)
-     {
-        EINA_LIST_FOREACH(en->sel, l, sel)
-          {
-             Evas_Textblock_Rectangle *r;
-
-             r = range->data;
-             if (sel->obj_bg)
-               {
-                  evas_object_move(sel->obj_bg, x + r->x, y + r->y);
-                  evas_object_resize(sel->obj_bg, r->w, r->h);
-               }
-             if (sel->obj_fg)
-               {
-                  evas_object_move(sel->obj_fg, x + r->x, y + r->y);
-                  evas_object_resize(sel->obj_fg, r->w, r->h);
-               }
-             *(&(sel->rect)) = *r;
-             range = eina_list_remove_list(range, range);
-             free(r);
-          }
-     }
-   else
-     {
-        while (range)
-          {
-             free(range->data);
-             range = eina_list_remove_list(range, range);
-          }
-     }
-}
-
-static void
-_edje_anchor_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Anchor *an = data;
-   Evas_Event_Mouse_Down *ev = event_info;
-   Edje_Real_Part *rp = an->en->rp;
-   char *buf, *n;
-   size_t len;
-   int ignored;
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
-       (en->select_allow))
-     return;
-   ignored = rp->part->ignore_flags & ev->event_flags;
-   if ((!ev->event_flags) || (!ignored))
-     {
-        n = an->name;
-        if (!n) n = "";
-        len = 200 + strlen(n);
-        buf = alloca(len);
-        if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
-          snprintf(buf, len, "anchor,mouse,down,%i,%s,triple", ev->button, n);
-        else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
-          snprintf(buf, len, "anchor,mouse,down,%i,%s,double", ev->button, n);
-        else
-          snprintf(buf, len, "anchor,mouse,down,%i,%s", ev->button, n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-}
-
-static void
-_edje_anchor_mouse_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Anchor *an = data;
-   Evas_Event_Mouse_Up *ev = event_info;
-   Edje_Real_Part *rp = an->en->rp;
-   char *buf, *n;
-   size_t len;
-   int ignored;
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   ignored = rp->part->ignore_flags & ev->event_flags;
-   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
-       (en->select_allow))
-     return;
-   n = an->name;
-   if (!n) n = "";
-   len = 200 + strlen(n);
-   buf = alloca(len);
-   if ((!ev->event_flags) || (!ignored))
-     {
-        snprintf(buf, len, "anchor,mouse,up,%i,%s", ev->button, n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-   if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
-     {
-        snprintf(buf, len, "anchor,mouse,clicked,%i,%s", ev->button, n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-}
-
-static void
-_edje_anchor_mouse_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Anchor *an = data;
-   Evas_Event_Mouse_Move *ev = event_info;
-   Edje_Real_Part *rp = an->en->rp;
-   char *buf, *n;
-   size_t len;
-   int ignored;
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
-       (en->select_allow))
-     return;
-   ignored = rp->part->ignore_flags & ev->event_flags;
-   if ((!ev->event_flags) || (!ignored))
-     {
-        n = an->name;
-        if (!n) n = "";
-        len = 200 + strlen(n);
-        buf = alloca(len);
-        snprintf(buf, len, "anchor,mouse,move,%s", n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-}
-
-static void
-_edje_anchor_mouse_in_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Anchor *an = data;
-   Evas_Event_Mouse_In *ev = event_info;
-   Edje_Real_Part *rp = an->en->rp;
-   char *buf, *n;
-   size_t len;
-   int ignored;
-
-   ignored = rp->part->ignore_flags & ev->event_flags;
-   if ((!ev->event_flags) || (!ignored))
-     {
-        n = an->name;
-        if (!n) n = "";
-        len = 200 + strlen(n);
-        buf = alloca(len);
-        snprintf(buf, len, "anchor,mouse,in,%s", n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-}
-
-static void
-_edje_anchor_mouse_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Anchor *an = data;
-   Evas_Event_Mouse_Out *ev = event_info;
-   Edje_Real_Part *rp = an->en->rp;
-   char *buf, *n;
-   size_t len;
-   int ignored;
-
-   ignored = rp->part->ignore_flags & ev->event_flags;
-   if ((!ev->event_flags) || (!ignored))
-     {
-        n = an->name;
-        if (!n) n = "";
-        len = 200 + strlen(n);
-        buf = alloca(len);
-        snprintf(buf, len, "anchor,mouse,out,%s", n);
-        _edje_emit(rp->edje, buf, rp->part->name);
-     }
-}
-
-static void
-_anchors_update(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *en)
-{
-   Eina_List *l, *ll, *range = NULL;
-   Evas_Coord x, y, w, h;
-   Evas_Object *smart, *clip;
-   Sel *sel;
-   Anchor *an;
-
-   smart = evas_object_smart_parent_get(o);
-   clip = evas_object_clip_get(o);
-   x = y = w = h = -1;
-   evas_object_geometry_get(o, &x, &y, &w, &h);
-   EINA_LIST_FOREACH(en->anchors, l, an)
-     {
-        // for item anchors
-        if (an->item)
-          {
-             Evas_Object *ob;
-
-             if (!an->sel)
-               {
-                  while (an->sel)
-                    {
-                       sel = an->sel->data;
-                       if (sel->obj_bg) evas_object_del(sel->obj_bg);
-                       if (sel->obj_fg) evas_object_del(sel->obj_fg);
-                       if (sel->obj) evas_object_del(sel->obj);
-                       free(sel);
-                       an->sel = eina_list_remove_list(an->sel, an->sel);
-                    }
-
-                  sel = calloc(1, sizeof(Sel));
-                  an->sel = eina_list_append(an->sel, sel);
-
-                  if (en->rp->edje->item_provider.func)
-                    {
-                       ob = en->rp->edje->item_provider.func
-                         (en->rp->edje->item_provider.data, smart,
-                             en->rp->part->name, an->name);
-                       evas_object_smart_member_add(ob, smart);
-                       evas_object_stack_above(ob, o);
-                       evas_object_clip_set(ob, clip);
-                       evas_object_pass_events_set(ob, EINA_TRUE);
-                       evas_object_show(ob);
-                       sel->obj = ob;
-                    }
-               }
-          }
-        // for link anchors
-        else
-          {
-             range =
-               evas_textblock_cursor_range_geometry_get(an->start, an->end);
-             if (eina_list_count(range) != eina_list_count(an->sel))
-               {
-                  while (an->sel)
-                    {
-                       sel = an->sel->data;
-                       if (sel->obj_bg) evas_object_del(sel->obj_bg);
-                       if (sel->obj_fg) evas_object_del(sel->obj_fg);
-                       if (sel->obj) evas_object_del(sel->obj);
-                       free(sel);
-                       an->sel = eina_list_remove_list(an->sel, an->sel);
-                    }
-                  for (ll = range; ll; ll = eina_list_next(ll))
-                    {
-                       Evas_Object *ob;
-
-                       sel = calloc(1, sizeof(Sel));
-                       an->sel = eina_list_append(an->sel, sel);
-                       ob = edje_object_add(en->rp->edje->base->evas);
-                       edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source5);
-                       evas_object_smart_member_add(ob, smart);
-                       evas_object_stack_below(ob, o);
-                       evas_object_clip_set(ob, clip);
-                       evas_object_pass_events_set(ob, EINA_TRUE);
-                       evas_object_show(ob);
-                       sel->obj_bg = ob;
-                       _edje_subobj_register(en->rp->edje, sel->obj_bg);
-
-                       ob = edje_object_add(en->rp->edje->base->evas);
-                       edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source6);
-                       evas_object_smart_member_add(ob, smart);
-                       evas_object_stack_above(ob, o);
-                       evas_object_clip_set(ob, clip);
-                       evas_object_pass_events_set(ob, EINA_TRUE);
-                       evas_object_show(ob);
-                       sel->obj_fg = ob;
-                       _edje_subobj_register(en->rp->edje, sel->obj_fg);
-
-                       ob = evas_object_rectangle_add(en->rp->edje->base->evas);
-                       evas_object_color_set(ob, 0, 0, 0, 0);
-                       evas_object_smart_member_add(ob, smart);
-                       evas_object_stack_above(ob, o);
-                       evas_object_clip_set(ob, clip);
-                       evas_object_repeat_events_set(ob, EINA_TRUE);
-                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, _edje_anchor_mouse_down_cb, an);
-                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_UP, _edje_anchor_mouse_up_cb, an);
-                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_MOVE, _edje_anchor_mouse_move_cb, an);
-                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_IN, _edje_anchor_mouse_in_cb, an);
-                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_OUT, _edje_anchor_mouse_out_cb, an);
-                       evas_object_show(ob);
-                       sel->obj = ob;
-                    }
-               }
-          }
-        EINA_LIST_FOREACH(an->sel, ll, sel)
-          {
-             if (an->item)
-               {
-                  Evas_Coord cx, cy, cw, ch;
-
-                  if (!evas_textblock_cursor_format_item_geometry_get
-                      (an->start, &cx, &cy, &cw, &ch))
-                    continue;
-                  evas_object_move(sel->obj, x + cx, y + cy);
-                  evas_object_resize(sel->obj, cw, ch);
-               }
-             else
-               {
-                  Evas_Textblock_Rectangle *r;
-
-                  r = range->data;
-                  *(&(sel->rect)) = *r;
-                  if (sel->obj_bg)
-                    {
-                       evas_object_move(sel->obj_bg, x + r->x, y + r->y);
-                       evas_object_resize(sel->obj_bg, r->w, r->h);
-                    }
-                  if (sel->obj_fg)
-                    {
-                       evas_object_move(sel->obj_fg, x + r->x, y + r->y);
-                       evas_object_resize(sel->obj_fg, r->w, r->h);
-                    }
-                  if (sel->obj)
-                    {
-                       evas_object_move(sel->obj, x + r->x, y + r->y);
-                       evas_object_resize(sel->obj, r->w, r->h);
-                    }
-                  range = eina_list_remove_list(range, range);
-                  free(r);
-               }
-          }
-     }
-}
-
-static void
-_anchors_clear(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en)
-{
-   while (en->anchorlist)
-     {
-        free(en->anchorlist->data);
-        en->anchorlist = eina_list_remove_list(en->anchorlist, en->anchorlist);
-     }
-   while (en->itemlist)
-     {
-        free(en->itemlist->data);
-        en->itemlist = eina_list_remove_list(en->itemlist, en->itemlist);
-     }
-   while (en->anchors)
-     {
-        Anchor *an = en->anchors->data;
-
-        evas_textblock_cursor_free(an->start);
-        evas_textblock_cursor_free(an->end);
-        while (an->sel)
-          {
-             Sel *sel = an->sel->data;
-             if (sel->obj_bg) evas_object_del(sel->obj_bg);
-             if (sel->obj_fg) evas_object_del(sel->obj_fg);
-             if (sel->obj) evas_object_del(sel->obj);
-             free(sel);
-             an->sel = eina_list_remove_list(an->sel, an->sel);
-          }
-        free(an->name);
-        free(an);
-        en->anchors = eina_list_remove_list(en->anchors, en->anchors);
-     }
-}
-
-static void
-_anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
-{
-   const Eina_List *anchors_a, *anchors_item;
-   Anchor *an = NULL;
-   _anchors_clear(c, o, en);
-
-   anchors_a = evas_textblock_node_format_list_get(o, "a");
-   anchors_item = evas_textblock_node_format_list_get(o, "item");
-
-   if (anchors_a)
-     {
-        const Evas_Object_Textblock_Node_Format *node;
-        const Eina_List *itr;
-        EINA_LIST_FOREACH(anchors_a, itr, node)
-          {
-             const char *s = evas_textblock_node_format_text_get(node);
-             char *p;
-             an = calloc(1, sizeof(Anchor));
-             if (!an)
-               break;
-
-             an->en = en;
-             p = strstr(s, "href=");
-             if (p)
-               {
-                  an->name = strdup(p + 5);
-               }
-             en->anchors = eina_list_append(en->anchors, an);
-             an->start = evas_object_textblock_cursor_new(o);
-             an->end = evas_object_textblock_cursor_new(o);
-             evas_textblock_cursor_at_format_set(an->start, node);
-             evas_textblock_cursor_copy(an->start, an->end);
-
-             /* Close the anchor, if the anchor was without text,
-              * free it as well */
-             node = evas_textblock_node_format_next_get(node);
-             for (; node; node = evas_textblock_node_format_next_get(node))
-               {
-                  s = evas_textblock_node_format_text_get(node);
-                  if ((!strcmp(s, "- a")) || (!strcmp(s, "-a")))
-                    break;
-               }
-
-             if (node)
-               {
-                  evas_textblock_cursor_at_format_set(an->end, node);
-               }
-             else if (!evas_textblock_cursor_compare(an->start, an->end))
-               {
-                  if (an->name) free(an->name);
-                  evas_textblock_cursor_free(an->start);
-                  evas_textblock_cursor_free(an->end);
-                  en->anchors = eina_list_remove(en->anchors, an);
-                  free(an);
-               }
-             an = NULL;
-          }
-     }
-
-   if (anchors_item)
-     {
-        const Evas_Object_Textblock_Node_Format *node;
-        const Eina_List *itr;
-        EINA_LIST_FOREACH(anchors_item, itr, node)
-          {
-             const char *s = evas_textblock_node_format_text_get(node);
-             char *p;
-             an = calloc(1, sizeof(Anchor));
-             if (!an)
-               break;
-
-             an->en = en;
-             an->item = 1;
-             p = strstr(s, "href=");
-             if (p)
-               {
-                  an->name = strdup(p + 5);
-               }
-             en->anchors = eina_list_append(en->anchors, an);
-             an->start = evas_object_textblock_cursor_new(o);
-             an->end = evas_object_textblock_cursor_new(o);
-             evas_textblock_cursor_at_format_set(an->start, node);
-             evas_textblock_cursor_copy(an->start, an->end);
-             /* Although needed in textblock, don't bother with finding the end
-              * here cause it doesn't really matter. */
-          }
-     }
-}
-
-static void
-_free_entry_change_info(void *_info)
-{
-   Edje_Entry_Change_Info *info = (Edje_Entry_Change_Info *) _info;
-   if (info->insert)
-     {
-        eina_stringshare_del(info->change.insert.content);
-     }
-   else
-     {
-        eina_stringshare_del(info->change.del.content);
-     }
-   free(info);
-}
-
-static void
-_range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en)
-{
-   size_t start, end;
-   char *tmp;
-   Edje_Entry_Change_Info *info;
-
-   start = evas_textblock_cursor_pos_get(en->sel_start);
-   end = evas_textblock_cursor_pos_get(en->sel_end);
-   if (start == end)
-      goto noop;
-
-   info = calloc(1, sizeof(*info));
-   info->insert = EINA_FALSE;
-   info->change.del.start = start;
-   info->change.del.end = end;
-
-   tmp = evas_textblock_cursor_range_text_get(en->sel_start, en->sel_end, EVAS_TEXTBLOCK_TEXT_MARKUP);
-   info->change.del.content = eina_stringshare_add(tmp);
-   if (tmp) free(tmp);
-   evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
-   _edje_emit(ed, "entry,changed", en->rp->part->name);
-   _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info,
-                   _free_entry_change_info);
-noop:
-   _sel_clear(en->cursor, en->rp->object, en);
-}
-
-static void
-_range_del(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en)
-{
-   evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
-   _sel_clear(en->cursor, en->rp->object, en);
-}
-
-static void
-_delete_emit(Edje *ed, Evas_Textblock_Cursor *c, Entry *en, size_t pos,
-             Eina_Bool backspace)
-{
-   if (!evas_textblock_cursor_char_next(c))
-     {
-        return;
-     }
-   evas_textblock_cursor_char_prev(c);
-
-   Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
-   char *tmp = evas_textblock_cursor_content_get(c);
-
-   info->insert = EINA_FALSE;
-   if (backspace)
-     {
-        info->change.del.start = pos - 1;
-        info->change.del.end = pos;
-     }
-   else
-     {
-        info->change.del.start = pos + 1;
-        info->change.del.end = pos;
-     }
-
-   info->change.del.content = eina_stringshare_add(tmp);
-   if (tmp) free(tmp);
-
-   evas_textblock_cursor_char_delete(c);
-   _edje_emit(ed, "entry,changed", en->rp->part->name);
-   _edje_emit_full(ed, "entry,changed,user", en->rp->part->name,
-                   info, _free_entry_change_info);
-}
-
-static void
-_edje_entry_hide_visible_password(Edje_Real_Part *rp)
-{
-   const Evas_Object_Textblock_Node_Format *node;
-   node = evas_textblock_node_format_first_get(rp->object);
-   for (; node; node = evas_textblock_node_format_next_get(node))
-     {
-        const char *text = evas_textblock_node_format_text_get(node);
-        if (text)
-          {
-             if (!strcmp(text, "+ password=off"))
-               {
-                  evas_textblock_node_format_remove_pair(rp->object,
-                                                         (Evas_Object_Textblock_Node_Format *) node);
-                  break;
-               }
-          }
-     }
-   _edje_entry_real_part_configure(rp);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-}
-
-static Eina_Bool
-_password_timer_cb(void *data)
-{
-   Entry *en = (Entry *)data;
-   _edje_entry_hide_visible_password(en->rp);
-   en->pw_timer = NULL;
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool
-_is_modifier(const char *key)
-{
-   if ((!strncmp(key, "Shift", 5)) ||
-       (!strncmp(key, "Control", 7)) ||
-       (!strncmp(key, "Alt", 3)) ||
-       (!strncmp(key, "Meta", 4)) ||
-       (!strncmp(key, "Super", 5)) ||
-       (!strncmp(key, "Hyper", 5)) ||
-       (!strcmp(key, "Scroll_Lock")) ||
-       (!strcmp(key, "Num_Lock")) ||
-       (!strcmp(key, "Caps_Lock")))
-     return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-static void
-_compose_seq_reset(Entry *en)
-{
-   char *str;
-
-   EINA_LIST_FREE(en->seq, str) eina_stringshare_del(str);
-   en->composing = EINA_FALSE;
-}
-
-static void
-_edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Edje *ed = data;
-   Evas_Event_Key_Down *ev = event_info;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en;
-   Eina_Bool control, alt, shift;
-   Eina_Bool multiline;
-   Eina_Bool cursor_changed;
-   int old_cur_pos;
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
-     return;
-   if (!ev->keyname) return;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     {
-        Ecore_IMF_Event_Key_Down ecore_ev;
-        ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev);
-        if (!en->composing)
-          {
-             if (ecore_imf_context_filter_event(en->imf_context,
-                                                ECORE_IMF_EVENT_KEY_DOWN,
-                                                (Ecore_IMF_Event *)&ecore_ev))
-               return;
-          }
-     }
-#endif
-
-   if ((!strcmp(ev->keyname, "Escape")) ||
-       (!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter")))
-     _edje_entry_imf_context_reset(rp);
-
-   old_cur_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-   control = evas_key_modifier_is_set(ev->modifiers, "Control");
-   alt = evas_key_modifier_is_set(ev->modifiers, "Alt");
-   shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
-   multiline = rp->part->multiline;
-   cursor_changed = EINA_FALSE;
-   if (!strcmp(ev->keyname, "Escape"))
-     {
-        _compose_seq_reset(en);
-        // dead keys here. Escape for now (should emit these)
-        _edje_emit(ed, "entry,key,escape", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Up") ||
-            (!strcmp(ev->keyname, "KP_Up") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (multiline)
-          {
-             if (en->select_allow)
-               {
-                  if (shift) _sel_start(en->cursor, rp->object, en);
-                  else _sel_clear(en->cursor, rp->object, en);
-               }
-             _curs_up(en->cursor, rp->object, en);
-             if (en->select_allow)
-               {
-                  if (shift) _sel_extend(en->cursor, rp->object, en);
-                  else _sel_clear(en->cursor, rp->object, en);
-               }
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        _edje_emit(ed, "entry,key,up", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-     }
-   else if (!strcmp(ev->keyname, "Down") ||
-            (!strcmp(ev->keyname, "KP_Down") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (multiline)
-          {
-             if (en->select_allow)
-               {
-                  if (shift) _sel_start(en->cursor, rp->object, en);
-                  else _sel_clear(en->cursor, rp->object, en);
-               }
-             _curs_down(en->cursor, rp->object, en);
-             if (en->select_allow)
-               {
-                  if (shift) _sel_extend(en->cursor, rp->object, en);
-                  else _sel_clear(en->cursor, rp->object, en);
-               }
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        _edje_emit(ed, "entry,key,down", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-     }
-   else if (!strcmp(ev->keyname, "Left") ||
-            (!strcmp(ev->keyname, "KP_Left") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        evas_textblock_cursor_char_prev(en->cursor);
-        /* If control is pressed, go to the start of the word */
-        if (control) evas_textblock_cursor_word_start(en->cursor);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,left", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Right") ||
-            (!strcmp(ev->keyname, "KP_Right") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        /* If control is pressed, go to the end of the word */
-        if (control) evas_textblock_cursor_word_end(en->cursor);
-        evas_textblock_cursor_char_next(en->cursor);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,right", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "BackSpace"))
-     {
-        _compose_seq_reset(en);
-        if (control && !en->have_selection)
-          {
-             // del to start of previous word
-             _sel_start(en->cursor, rp->object, en);
-
-             evas_textblock_cursor_char_prev(en->cursor);
-             evas_textblock_cursor_word_start(en->cursor);
-
-             _sel_preextend(en->cursor, rp->object, en);
-
-             _range_del_emit(ed, en->cursor, rp->object, en);
-          }
-        else if ((alt) && (shift))
-          {
-             // undo last action
-          }
-        else
-          {
-             if (en->have_selection)
-               {
-                  _range_del_emit(ed, en->cursor, rp->object, en);
-               }
-             else
-               {
-                  if (evas_textblock_cursor_char_prev(en->cursor))
-                    {
-                       _delete_emit(ed, en->cursor, en, old_cur_pos, EINA_TRUE);
-                    }
-               }
-          }
-        _sel_clear(en->cursor, rp->object, en);
-        _anchors_get(en->cursor, rp->object, en);
-        _edje_emit(ed, "entry,key,backspace", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Delete") ||
-            (!strcmp(ev->keyname, "KP_Delete") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (control)
-          {
-             // del to end of next word
-             _sel_start(en->cursor, rp->object, en);
-
-             evas_textblock_cursor_word_end(en->cursor);
-             evas_textblock_cursor_char_next(en->cursor);
-
-             _sel_extend(en->cursor, rp->object, en);
-
-             _range_del_emit(ed, en->cursor, rp->object, en);
-          }
-        else if (shift)
-          {
-             // cut
-          }
-        else
-          {
-             if (en->have_selection)
-               {
-                  _range_del_emit(ed, en->cursor, rp->object, en);
-               }
-             else
-               {
-                  _delete_emit(ed, en->cursor, en, old_cur_pos, EINA_FALSE);
-               }
-          }
-        _sel_clear(en->cursor, rp->object, en);
-        _anchors_get(en->cursor, rp->object, en);
-        _edje_emit(ed, "entry,key,delete", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Home") ||
-            ((!strcmp(ev->keyname, "KP_Home")) && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        if ((control) && (multiline))
-          _curs_start(en->cursor, rp->object, en);
-        else
-          _curs_lin_start(en->cursor, rp->object, en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,home", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "End") ||
-            ((!strcmp(ev->keyname, "KP_End")) && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        if ((control) && (multiline))
-          _curs_end(en->cursor, rp->object, en);
-        else
-          _curs_lin_end(en->cursor, rp->object, en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,end", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!shift) && (!strcmp(ev->keyname, "v")))
-     {
-        _compose_seq_reset(en);
-        _edje_emit(ed, "entry,paste,request", rp->part->name);
-        _edje_emit(ed, "entry,paste,request,3", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!strcmp(ev->keyname, "a")))
-     {
-        _compose_seq_reset(en);
-        if (shift)
-          {
-             _edje_emit(ed, "entry,selection,none,request", rp->part->name);
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        else
-          {
-             _edje_emit(ed, "entry,selection,all,request", rp->part->name);
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-     }
-   else if ((control) && (((!shift) && !strcmp(ev->keyname, "c")) || !strcmp(ev->keyname, "Insert")))
-     {
-        _compose_seq_reset(en);
-        _edje_emit(ed, "entry,copy,notify", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!shift) && ((!strcmp(ev->keyname, "x") || (!strcmp(ev->keyname, "m")))))
-     {
-        _compose_seq_reset(en);
-        _edje_emit(ed, "entry,cut,notify", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!strcmp(ev->keyname, "z")))
-     {
-        _compose_seq_reset(en);
-        if (shift)
-          {
-             // redo
-             _edje_emit(ed, "entry,redo,request", rp->part->name);
-          }
-        else
-          {
-             // undo
-             _edje_emit(ed, "entry,undo,request", rp->part->name);
-          }
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!shift) && (!strcmp(ev->keyname, "y")))
-     {
-        _compose_seq_reset(en);
-        // redo
-        _edje_emit(ed, "entry,redo,request", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((control) && (!shift) && (!strcmp(ev->keyname, "w")))
-     {
-        _compose_seq_reset(en);
-        _sel_clear(en->cursor, rp->object, en);
-        // select current word?
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Tab"))
-     {
-        _compose_seq_reset(en);
-        if (multiline)
-          {
-             if (shift)
-               {
-                  // remove a tab
-               }
-             else
-               {
-                  Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
-                  info->insert = EINA_TRUE;
-                  info->change.insert.plain_length = 1;
-
-                  if (en->have_selection)
-                    {
-                       _range_del_emit(ed, en->cursor, rp->object, en);
-                       info->merge = EINA_TRUE;
-                    }
-                  info->change.insert.pos =
-                     evas_textblock_cursor_pos_get(en->cursor);
-                  info->change.insert.content = eina_stringshare_add("<tab/>");
-                  //yy
-//                  evas_textblock_cursor_format_prepend(en->cursor, "tab");
-                  _text_filter_format_prepend(en, en->cursor, "tab");
-                  _anchors_get(en->cursor, rp->object, en);
-                  _edje_emit(ed, "entry,changed", rp->part->name);
-                  _edje_emit_full(ed, "entry,changed,user", rp->part->name,
-                                  info, _free_entry_change_info);
-               }
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        _edje_emit(ed, "entry,key,tab", rp->part->name);
-     }
-   else if ((!strcmp(ev->keyname, "ISO_Left_Tab")) && (multiline))
-     {
-        _compose_seq_reset(en);
-        // remove a tab
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Prior") ||
-            (!strcmp(ev->keyname, "KP_Prior") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _curs_jump_line_by(en->cursor, rp->object, en, -10);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,pgup", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if (!strcmp(ev->keyname, "Next") ||
-            (!strcmp(ev->keyname, "KP_Next") && !ev->string))
-     {
-        _compose_seq_reset(en);
-        if (en->select_allow)
-          {
-             if (shift) _sel_start(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _curs_jump_line_by(en->cursor, rp->object, en, 10);
-        if (en->select_allow)
-          {
-             if (shift) _sel_extend(en->cursor, rp->object, en);
-             else _sel_clear(en->cursor, rp->object, en);
-          }
-        _edje_emit(ed, "entry,key,pgdn", rp->part->name);
-        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-     }
-   else if ((!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter")))
-     {
-        _compose_seq_reset(en);
-        if (multiline)
-          {
-             Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
-             info->insert = EINA_TRUE;
-             info->change.insert.plain_length = 1;
-             if (en->have_selection)
-               {
-                  _range_del_emit(ed, en->cursor, rp->object, en);
-                  info->merge = EINA_TRUE;
-               }
-
-             info->change.insert.pos =
-                evas_textblock_cursor_pos_get(en->cursor);
-             if (shift ||
-                 evas_object_textblock_legacy_newline_get(rp->object))
-               {
-                  //yy
-//                  evas_textblock_cursor_format_prepend(en->cursor, "br");
-                  _text_filter_format_prepend(en, en->cursor, "br");
-                  info->change.insert.content = eina_stringshare_add("<br/>");
-               }
-             else
-               {
-                  //yy
-//                  evas_textblock_cursor_format_prepend(en->cursor, "ps");
-                  _text_filter_format_prepend(en, en->cursor, "ps");
-                  info->change.insert.content = eina_stringshare_add("<ps/>");
-               }
-             _anchors_get(en->cursor, rp->object, en);
-             _edje_emit(ed, "entry,changed", rp->part->name);
-             _edje_emit_full(ed, "entry,changed,user", rp->part->name,
-                             info, _free_entry_change_info);
-             _edje_emit(ed, "cursor,changed", rp->part->name);
-             cursor_changed = EINA_TRUE;
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        _edje_emit(ed, "entry,key,enter", rp->part->name);
-     }
-   else
-     {
-        char *compres = NULL, *string = (char *)ev->string;
-        Eina_Bool free_string = EINA_FALSE;
-        Ecore_Compose_State state;
-
-        if (!en->composing)
-          {
-             _compose_seq_reset(en);
-             en->seq = eina_list_append(en->seq, eina_stringshare_add(ev->key));
-             state = ecore_compose_get(en->seq, &compres);
-             if (state == ECORE_COMPOSE_MIDDLE) en->composing = EINA_TRUE;
-             else en->composing = EINA_FALSE;
-             if (!en->composing) _compose_seq_reset(en);
-             else goto end;
-          }
-        else
-          {
-             if (_is_modifier(ev->key)) goto end;
-             en->seq = eina_list_append(en->seq, eina_stringshare_add(ev->key));
-             state = ecore_compose_get(en->seq, &compres);
-             if (state == ECORE_COMPOSE_NONE) _compose_seq_reset(en);
-             else if (state == ECORE_COMPOSE_DONE)
-               {
-                  _compose_seq_reset(en);
-                  if (compres)
-                    {
-                       string = compres;
-                       free_string = EINA_TRUE;
-                    }
-               }
-             else goto end;
-          }
-        if (string)
-          {
-             Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
-             info->insert = EINA_TRUE;
-             info->change.insert.plain_length = 1;
-             info->change.insert.content = eina_stringshare_add(string);
-
-             if (en->have_selection)
-               {
-                  _range_del_emit(ed, en->cursor, rp->object, en);
-                  info->merge = EINA_TRUE;
-               }
-
-             info->change.insert.pos =
-                evas_textblock_cursor_pos_get(en->cursor);
-             // if PASSWORD_SHOW_LAST mode, appending text with password=off tag
-             if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
-                 _edje_password_show_last)
-               {
-                  _edje_entry_hide_visible_password(en->rp);
-                  _text_filter_format_prepend(en, en->cursor, "+ password=off");
-                  _text_filter_text_prepend(en, en->cursor, string);
-                  _text_filter_format_prepend(en, en->cursor, "- password");
-                  if (en->pw_timer)
-                    {
-                       ecore_timer_del(en->pw_timer);
-                       en->pw_timer = NULL;
-                    }
-                  en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
-                                                 _password_timer_cb, en);
-               }
-             else
-               _text_filter_text_prepend(en, en->cursor, string);
-             _anchors_get(en->cursor, rp->object, en);
-             _edje_emit(ed, "entry,changed", rp->part->name);
-             _edje_emit_full(ed, "entry,changed,user", rp->part->name,
-                             info, _free_entry_change_info);
-             _edje_emit(ed, "cursor,changed", rp->part->name);
-             cursor_changed = EINA_TRUE;
-             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-          }
-        if (free_string) free(string);
-     }
-end:
-   if (!cursor_changed && (old_cur_pos != evas_textblock_cursor_pos_get(en->cursor)))
-     _edje_emit(ed, "cursor,changed", rp->part->name);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-static void
-_edje_key_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Edje *ed = data;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en;
-
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
-     return;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     {
-        Evas_Event_Key_Up *ev = event_info;
-        Ecore_IMF_Event_Key_Up ecore_ev;
-
-        ecore_imf_evas_event_key_up_wrap(ev, &ecore_ev);
-        if (ecore_imf_context_filter_event(en->imf_context,
-                                           ECORE_IMF_EVENT_KEY_UP,
-                                           (Ecore_IMF_Event *)&ecore_ev))
-          return;
-     }
-#else
-   (void) event_info;
-#endif
-}
-
-static void
-_edje_part_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje_Real_Part *rp = data;
-   Entry *en;
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _edje_entry_imf_cursor_location_set(en);
-}
-
-static void
-_edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Evas_Coord cx, cy;
-   Edje_Real_Part *rp = data;
-   Evas_Event_Mouse_Down *ev = event_info;
-   Entry *en;
-   Evas_Coord x, y, w, h;
-   //   Eina_Bool multiline;
-   Evas_Textblock_Cursor *tc = NULL;
-   Eina_Bool dosel = EINA_FALSE;
-   Eina_Bool shift;
-   if ((!rp) || (!ev)) return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-   if ((ev->button != 1) && (ev->button != 2)) return;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     {
-        Ecore_IMF_Event_Mouse_Down ecore_ev;
-        ecore_imf_evas_event_mouse_down_wrap(ev, &ecore_ev);
-        if (ecore_imf_context_filter_event(en->imf_context,
-                                           ECORE_IMF_EVENT_MOUSE_DOWN,
-                                           (Ecore_IMF_Event *)&ecore_ev))
-          return;
-     }
-#endif
-
-   _edje_entry_imf_context_reset(rp);
-
-   shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
-   en->select_mod_start = EINA_FALSE;
-   en->select_mod_end = EINA_FALSE;
-   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
-     dosel = EINA_TRUE;
-   else if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
-     {
-        if (en->select_allow) dosel = EINA_TRUE;
-     }
-   if (ev->button == 2) dosel = EINA_FALSE;
-   if (dosel)
-     {
-        evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-        cx = ev->canvas.x - x;
-        cy = ev->canvas.y - y;
-        if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
-          {
-             if (shift)
-               {
-                  tc = evas_object_textblock_cursor_new(rp->object);
-                  evas_textblock_cursor_copy(en->cursor, tc);
-                  if (evas_textblock_cursor_compare(en->cursor, en->sel_start) < 0)
-                    evas_textblock_cursor_line_char_first(en->cursor);
-                  else
-                    evas_textblock_cursor_line_char_last(en->cursor);
-                  _sel_extend(en->cursor, rp->object, en);
-               }
-             else
-               {
-                  en->have_selection = EINA_FALSE;
-                  en->selecting = EINA_FALSE;
-                  _sel_clear(en->cursor, rp->object, en);
-                  tc = evas_object_textblock_cursor_new(rp->object);
-                  evas_textblock_cursor_copy(en->cursor, tc);
-                  evas_textblock_cursor_line_char_first(en->cursor);
-                  _sel_start(en->cursor, rp->object, en);
-                  evas_textblock_cursor_line_char_last(en->cursor);
-                  _sel_extend(en->cursor, rp->object, en);
-               }
-             goto end;
-          }
-        else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
-          {
-             if (shift)
-               {
-                  tc = evas_object_textblock_cursor_new(rp->object);
-                  evas_textblock_cursor_copy(en->cursor, tc);
-                  if (evas_textblock_cursor_compare(en->cursor, en->sel_start) < 0)
-                    evas_textblock_cursor_word_start(en->cursor);
-                  else
-                    {
-                       evas_textblock_cursor_word_end(en->cursor);
-                       evas_textblock_cursor_char_next(en->cursor);
-                    }
-                  _sel_extend(en->cursor, rp->object, en);
-               }
-             else
-               {
-                  en->have_selection = EINA_FALSE;
-                  en->selecting = EINA_FALSE;
-                  _sel_clear(en->cursor, rp->object, en);
-                  tc = evas_object_textblock_cursor_new(rp->object);
-                  evas_textblock_cursor_copy(en->cursor, tc);
-                  evas_textblock_cursor_word_start(en->cursor);
-                  _sel_start(en->cursor, rp->object, en);
-                  evas_textblock_cursor_word_end(en->cursor);
-                  evas_textblock_cursor_char_next(en->cursor);
-                  _sel_extend(en->cursor, rp->object, en);
-               }
-             goto end;
-          }
-     }
-   tc = evas_object_textblock_cursor_new(rp->object);
-   evas_textblock_cursor_copy(en->cursor, tc);
-   //   multiline = rp->part->multiline;
-   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-   cx = ev->canvas.x - x;
-   cy = ev->canvas.y - y;
-   if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
-     {
-        Evas_Coord lx, ly, lw, lh;
-        int line;
-
-        line = evas_textblock_cursor_line_coord_set(en->cursor, cy);
-        if (line == -1)
-          {
-             if (rp->part->multiline)
-               _curs_end(en->cursor, rp->object, en);
-             else
-               {
-                  evas_textblock_cursor_paragraph_first(en->cursor);
-                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-                  if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
-                    _curs_end(en->cursor, rp->object, en);
-               }
-          }
-        else
-          {
-             int lnum;
-
-             lnum = evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-             if (lnum < 0)
-               {
-                  _curs_lin_start(en->cursor, rp->object, en);
-               }
-             else
-               {
-                  if (cx <= lx)
-                    _curs_lin_start(en->cursor, rp->object, en);
-                  else
-                    _curs_lin_end(en->cursor, rp->object, en);
-               }
-          }
-     }
-   if (dosel)
-     {
-        if ((en->have_selection) &&
-            (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT))
-          {
-             if (shift)
-               _sel_extend(en->cursor, rp->object, en);
-             else
-               {
-                  Eina_List *first, *last;
-                  FLOAT_T sc;
-
-                  first = en->sel;
-                  last = eina_list_last(en->sel);
-                  if (first && last)
-                    {
-                       Evas_Textblock_Rectangle *r1, *r2;
-                       Evas_Coord d, d1, d2;
-
-                       r1 = first->data;
-                       r2 = last->data;
-                       d = r1->x - cx;
-                       d1 = d * d;
-                       d = (r1->y + (r1->h / 2)) - cy;
-                       d1 += d * d;
-                       d = r2->x + r2->w - 1 - cx;
-                       d2 = d * d;
-                       d = (r2->y + (r2->h / 2)) - cy;
-                       d2 += d * d;
-                       sc = rp->edje->scale;
-                       if (sc == ZERO) sc = _edje_scale;
-                       d = (Evas_Coord)MUL(FROM_INT(20), sc); // FIXME: maxing number!
-                       d = d * d;
-                       if (d1 < d2)
-                         {
-                            if (d1 <= d)
-                              {
-                                 en->select_mod_start = EINA_TRUE;
-                                 en->selecting = EINA_TRUE;
-                              }
-                         }
-                       else
-                         {
-                            if (d2 <= d)
-                              {
-                                 en->select_mod_end = EINA_TRUE;
-                                 en->selecting = EINA_TRUE;
-                              }
-                         }
-                    }
-               }
-          }
-        else
-          {
-             if ((en->have_selection) && (shift))
-               _sel_extend(en->cursor, rp->object, en);
-             else
-               {
-                  en->selecting = EINA_TRUE;
-                  _sel_clear(en->cursor, rp->object, en);
-                  if (en->select_allow)
-                    {
-                       _sel_start(en->cursor, rp->object, en);
-                    }
-               }
-          }
-     }
- end:
-   if (evas_textblock_cursor_compare(tc, en->cursor))
-     {
-        _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-     }
-   evas_textblock_cursor_free(tc);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_entry_real_part_configure(rp);
-   if (ev->button == 2)
-     {
-        _edje_emit(rp->edje, "entry,paste,request", rp->part->name);
-        _edje_emit(rp->edje, "entry,paste,request,1", rp->part->name);
-     }
-}
-
-static void
-_edje_part_mouse_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Evas_Coord cx, cy;
-   Edje_Real_Part *rp = data;
-   Evas_Event_Mouse_Up *ev = event_info;
-   Entry *en;
-   Evas_Coord x, y, w, h;
-   Evas_Textblock_Cursor *tc;
-   if ((!ev) || (ev->button != 1)) return;
-   if (!rp) return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
-   if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK) return;
-   if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     {
-        Ecore_IMF_Event_Mouse_Up ecore_ev;
-        ecore_imf_evas_event_mouse_up_wrap(ev, &ecore_ev);
-        if (ecore_imf_context_filter_event(en->imf_context,
-                                           ECORE_IMF_EVENT_MOUSE_UP,
-                                           (Ecore_IMF_Event *)&ecore_ev))
-          return;
-     }
-#endif
-
-   _edje_entry_imf_context_reset(rp);
-
-   tc = evas_object_textblock_cursor_new(rp->object);
-   evas_textblock_cursor_copy(en->cursor, tc);
-   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-   cx = ev->canvas.x - x;
-   cy = ev->canvas.y - y;
-   if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
-     {
-        Evas_Coord lx, ly, lw, lh;
-        int line;
-
-        line = evas_textblock_cursor_line_coord_set(en->cursor, cy);
-        if (line == -1)
-          {
-             if (rp->part->multiline)
-               _curs_end(en->cursor, rp->object, en);
-             else
-               {
-                  evas_textblock_cursor_paragraph_first(en->cursor);
-                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-                  if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
-                    _curs_end(en->cursor, rp->object, en);
-               }
-          }
-        else
-          {
-             int lnum;
-
-             lnum = evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-             if (lnum < 0)
-               {
-                  _curs_lin_start(en->cursor, rp->object, en);
-               }
-             else
-               {
-                  if (cx <= lx)
-                    _curs_lin_start(en->cursor, rp->object, en);
-                  else
-                    _curs_lin_end(en->cursor, rp->object, en);
-               }
-          }
-     }
-   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
-     {
-        if (en->select_allow)
-          {
-             if (en->had_sel)
-               {
-                  if (en->select_mod_end)
-                    _sel_extend(en->cursor, rp->object, en);
-                  else if (en->select_mod_start)
-                    _sel_preextend(en->cursor, rp->object, en);
-               }
-             else
-               _sel_extend(en->cursor, rp->object, en);
-             //evas_textblock_cursor_copy(en->cursor, en->sel_end);
-          }
-     }
-   else
-     evas_textblock_cursor_copy(en->cursor, en->sel_end);
-   if (en->selecting)
-     {
-        if (en->have_selection)
-          en->had_sel = EINA_TRUE;
-        en->selecting = EINA_FALSE;
-     }
-   if (evas_textblock_cursor_compare(tc, en->cursor))
-     {
-        _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-     }
-   evas_textblock_cursor_free(tc);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-static void
-_edje_part_mouse_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
-   Evas_Coord cx, cy;
-   Edje_Real_Part *rp = data;
-   Evas_Event_Mouse_Move *ev = event_info;
-   Entry *en;
-   Evas_Coord x, y, w, h;
-   Evas_Textblock_Cursor *tc;
-   if ((!rp) || (!ev)) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     {
-        Ecore_IMF_Event_Mouse_Move ecore_ev;
-        ecore_imf_evas_event_mouse_move_wrap(ev, &ecore_ev);
-        if (ecore_imf_context_filter_event(en->imf_context,
-                                           ECORE_IMF_EVENT_MOUSE_MOVE,
-                                           (Ecore_IMF_Event *)&ecore_ev))
-          return;
-     }
-#endif
-
-   if (en->selecting)
-     {
-        tc = evas_object_textblock_cursor_new(rp->object);
-        evas_textblock_cursor_copy(en->cursor, tc);
-        evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-        cx = ev->cur.canvas.x - x;
-        cy = ev->cur.canvas.y - y;
-        if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
-          {
-             Evas_Coord lx, ly, lw, lh;
-
-             if (evas_textblock_cursor_line_coord_set(en->cursor, cy) < 0)
-               {
-                  if (rp->part->multiline)
-                    _curs_end(en->cursor, rp->object, en);
-                  else
-                    {
-                       evas_textblock_cursor_paragraph_first(en->cursor);
-                       evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-                       if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
-                         _curs_end(en->cursor, rp->object, en);
-                    }
-               }
-             else
-               {
-                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
-                  if (cx <= lx)
-                    _curs_lin_start(en->cursor, rp->object, en);
-                  else
-                    _curs_lin_end(en->cursor, rp->object, en);
-               }
-          }
-        if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
-          {
-             if (en->select_allow)
-               {
-                  if (en->had_sel)
-                    {
-                       if (en->select_mod_end)
-                         _sel_extend(en->cursor, rp->object, en);
-                       else if (en->select_mod_start)
-                         _sel_preextend(en->cursor, rp->object, en);
-                    }
-                  else
-                    _sel_extend(en->cursor, rp->object, en);
-               }
-          }
-        else
-          {
-             _sel_extend(en->cursor, rp->object, en);
-          }
-        if (en->select_allow)
-          {
-             if (evas_textblock_cursor_compare(en->sel_start, en->sel_end) != 0)
-               _sel_enable(en->cursor, rp->object, en);
-             if (en->have_selection)
-               _sel_update(en->cursor, rp->object, en);
-          }
-        if (evas_textblock_cursor_compare(tc, en->cursor))
-          {
-             _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-             _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
-          }
-        evas_textblock_cursor_free(tc);
-
-        _edje_entry_imf_context_reset(rp);
-        _edje_entry_imf_cursor_info_set(en);
-
-        _edje_entry_real_part_configure(rp);
-     }
-}
-
-static void
-_evas_focus_in_cb(void *data, Evas *e, __UNUSED__ void *event_info)
-{
-   Edje *ed = (Edje *)data;
-   if (!ed) return;
-
-   if (evas_focus_get(e) == ed->obj)
-     {
-        _edje_focus_in_cb(data, NULL, NULL, NULL);
-     }
-}
-
-static void
-_evas_focus_out_cb(void *data, Evas *e, __UNUSED__ void *event_info)
-{
-   Edje *ed = (Edje *)data;
-   if (!ed) return;
-
-   if (evas_focus_get(e) == ed->obj)
-     {
-        _edje_focus_out_cb(data, NULL, NULL, NULL);
-     }
-}
-
-/***************************************************************/
-void
-_edje_entry_init(Edje *ed)
-{
-   if (!ed->has_entries)
-     return;
-   if (ed->entries_inited)
-     return;
-   ed->entries_inited = EINA_TRUE;
-
-   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_FOCUS_IN, _edje_focus_in_cb, ed);
-   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_FOCUS_OUT, _edje_focus_out_cb, ed);
-   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_DOWN, _edje_key_down_cb, ed);
-   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_UP, _edje_key_up_cb, ed);
-   evas_event_callback_add(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _evas_focus_in_cb, ed);
-   evas_event_callback_add(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_OUT, _evas_focus_out_cb, ed);
-}
-
-void
-_edje_entry_shutdown(Edje *ed)
-{
-   if ((!ed) || (!ed->has_entries))
-     return;
-   if (!ed->entries_inited)
-     return;
-   ed->entries_inited = EINA_FALSE;
-
-   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_FOCUS_IN, _edje_focus_in_cb);
-   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_FOCUS_OUT, _edje_focus_out_cb);
-   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_DOWN, _edje_key_down_cb);
-   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_UP, _edje_key_up_cb);
-   if (evas_event_callback_del_full(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _evas_focus_in_cb, ed) != ed)
-     ERR("could not unregister EVAS_CALLBACK_FOCUS_IN");
-   if (evas_event_callback_del_full(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_OUT, _evas_focus_out_cb, ed) != ed)
-     ERR("could not unregister EVAS_CALLBACK_FOCUS_OUT");
-}
-
-void
-_edje_entry_real_part_init(Edje_Real_Part *rp)
-{
-   Entry *en;
-#ifdef HAVE_ECORE_IMF
-   const char *ctx_id;
-   const Ecore_IMF_Context_Info *ctx_info;
-#endif
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = calloc(1, sizeof(Entry));
-   if (!en) return;
-   rp->typedata.text->entry_data = en;
-   en->rp = rp;
-
-   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOVE, _edje_part_move_cb, rp);
-
-   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_DOWN, _edje_part_mouse_down_cb, rp);
-   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_UP, _edje_part_mouse_up_cb, rp);
-   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_MOVE, _edje_part_mouse_move_cb, rp);
-
-   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
-     en->select_allow = EINA_TRUE;
-
-   if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
-     {
-        Edje_Part_Description_Text *txt;
-
-        txt = (Edje_Part_Description_Text *)rp->chosen_description;
-
-        en->select_allow = EINA_FALSE;
-        if (txt && edje_string_get(&txt->text.repch))
-          evas_object_textblock_replace_char_set(rp->object, edje_string_get(&txt->text.repch));
-        else
-          evas_object_textblock_replace_char_set(rp->object, "*");
-     }
-
-   en->cursor_bg = edje_object_add(rp->edje->base->evas);
-   edje_object_file_set(en->cursor_bg, rp->edje->path, rp->part->source3);
-   evas_object_smart_member_add(en->cursor_bg, rp->edje->obj);
-   evas_object_stack_below(en->cursor_bg, rp->object);
-   evas_object_clip_set(en->cursor_bg, evas_object_clip_get(rp->object));
-   evas_object_pass_events_set(en->cursor_bg, EINA_TRUE);
-   _edje_subobj_register(en->rp->edje, en->cursor_bg);
-
-   en->cursor_fg = edje_object_add(rp->edje->base->evas);
-   edje_object_file_set(en->cursor_fg, rp->edje->path, rp->part->source4);
-   evas_object_smart_member_add(en->cursor_fg, rp->edje->obj);
-   evas_object_stack_above(en->cursor_fg, rp->object);
-   evas_object_clip_set(en->cursor_fg, evas_object_clip_get(rp->object));
-   evas_object_pass_events_set(en->cursor_fg, EINA_TRUE);
-   _edje_subobj_register(en->rp->edje, en->cursor_fg);
-
-   evas_object_textblock_legacy_newline_set(rp->object, EINA_TRUE);
-
-   if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
-     {
-        evas_object_show(en->cursor_bg);
-        evas_object_show(en->cursor_fg);
-        en->input_panel_enable = EINA_TRUE;
-
-#ifdef HAVE_ECORE_IMF
-        ecore_imf_init();
-
-        edje_object_signal_callback_add(rp->edje->obj, "focus,part,in", rp->part->name, _edje_entry_focus_in_cb, rp);
-        edje_object_signal_callback_add(rp->edje->obj, "focus,part,out", rp->part->name, _edje_entry_focus_out_cb, rp);
-
-        ctx_id = ecore_imf_context_default_id_get();
-        if (ctx_id)
-          {
-             ctx_info = ecore_imf_context_info_by_id_get(ctx_id);
-             if (!ctx_info->canvas_type ||
-                 strcmp(ctx_info->canvas_type, "evas") == 0)
-               {
-                  en->imf_context = ecore_imf_context_add(ctx_id);
-               }
-             else
-               {
-                  ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas");
-                  if (ctx_id)
-                    {
-                       en->imf_context = ecore_imf_context_add(ctx_id);
-                    }
-               }
-          }
-        else
-          en->imf_context = NULL;
-
-        if (!en->imf_context) goto done;
-
-        ecore_imf_context_client_window_set
-           (en->imf_context,
-               (void *)ecore_evas_window_get
-               (ecore_evas_ecore_evas_get(rp->edje->base->evas)));
-        ecore_imf_context_client_canvas_set(en->imf_context, rp->edje->base->evas);
-
-        ecore_imf_context_retrieve_surrounding_callback_set(en->imf_context,
-                                                            _edje_entry_imf_retrieve_surrounding_cb, rp->edje);
-        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb, rp->edje);
-        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb, rp->edje);
-        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb, rp->edje);
-        ecore_imf_context_input_mode_set(en->imf_context,
-                                         rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ?
-                                         ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL);
-
-        if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
-          ecore_imf_context_input_panel_language_set(en->imf_context, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET);
-#endif
-     }
-#ifdef HAVE_ECORE_IMF
-done:
-#endif
-   en->cursor = (Evas_Textblock_Cursor *)evas_object_textblock_cursor_get(rp->object);
-}
-
-void
-_edje_entry_real_part_shutdown(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   rp->typedata.text->entry_data = NULL;
-   _sel_clear(en->cursor, rp->object, en);
-   _anchors_clear(en->cursor, rp->object, en);
-#ifdef HAVE_ECORE_IMF
-   _preedit_clear(en);
-#endif
-   evas_object_del(en->cursor_bg);
-   evas_object_del(en->cursor_fg);
-
-   if (en->pw_timer)
-     {
-        ecore_timer_del(en->pw_timer);
-        en->pw_timer = NULL;
-     }
-
-#ifdef HAVE_ECORE_IMF
-   if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
-     {
-        if (en->imf_context)
-          {
-             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb);
-             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb);
-             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb);
-
-             ecore_imf_context_del(en->imf_context);
-             en->imf_context = NULL;
-          }
-
-        edje_object_signal_callback_del(rp->edje->obj, "focus,part,in", rp->part->name, _edje_entry_focus_in_cb);
-        edje_object_signal_callback_del(rp->edje->obj, "focus,part,out", rp->part->name, _edje_entry_focus_out_cb);
-        ecore_imf_shutdown();
-     }
-#endif
-   _compose_seq_reset(en);
-
-   free(en);
-}
-
-void
-_edje_entry_real_part_configure(Edje_Real_Part *rp)
-{
-   Evas_Coord x, y, w, h, xx, yy, ww, hh;
-   Entry *en;
-   Evas_Textblock_Cursor_Type cur_type;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   switch (rp->part->cursor_mode)
-     {
-      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
-         break;
-      case EDJE_ENTRY_CURSOR_MODE_UNDER:
-         /* no break for a reason */
-      default:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
-     }
-
-   _sel_update(en->cursor, rp->object, en);
-   _anchors_update(en->cursor, rp->object, en);
-   x = y = w = h = -1;
-   xx = yy = ww = hh = -1;
-   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-   evas_textblock_cursor_geometry_get(en->cursor, &xx, &yy, &ww, &hh, NULL, cur_type);
-   if (ww < 1) ww = 1;
-   if (hh < 1) hh = 1;
-   if (en->cursor_bg)
-     {
-        evas_object_move(en->cursor_bg, x + xx, y + yy);
-        evas_object_resize(en->cursor_bg, ww, hh);
-     }
-   if (en->cursor_fg)
-     {
-        evas_object_move(en->cursor_fg, x + xx, y + yy);
-        evas_object_resize(en->cursor_fg, ww, hh);
-     }
-}
-
-const char *
-_edje_entry_selection_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   // get selection - convert to markup
-   if ((!en->selection) && (en->have_selection))
-     en->selection = evas_textblock_cursor_range_text_get
-        (en->sel_start, en->sel_end, EVAS_TEXTBLOCK_TEXT_MARKUP);
-   return en->selection;
-}
-
-const char *
-_edje_entry_text_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   // get text - convert to markup
-   return evas_object_textblock_text_markup_get(rp->object);
-}
-
-void
-_edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _edje_entry_imf_context_reset(rp);
-   // set text as markup
-   _sel_clear(en->cursor, rp->object, en);
-   evas_object_textblock_text_markup_set(rp->object, text);
-   _edje_entry_set_cursor_start(rp);
-
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_entry_real_part_configure(rp);
-#if 0
-   /* Don't emit cursor changed cause it didn't. It's just init to 0. */
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-#endif
-}
-
-void
-_edje_entry_text_markup_append(Edje_Real_Part *rp, const char *text)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   Evas_Textblock_Cursor *end_cur;
-   if (!en) return;
-   end_cur = evas_object_textblock_cursor_new(rp->object);
-   evas_textblock_cursor_paragraph_last(end_cur);
-
-   _text_filter_markup_prepend(en, end_cur, text);
-   evas_textblock_cursor_free(end_cur);
-
-   /* We are updating according to the real cursor on purpose */
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _edje_entry_imf_context_reset(rp);
-
-   // prepend markup @ cursor pos
-   if (en->have_selection)
-     _range_del(en->cursor, rp->object, en);
-   //xx
-//   evas_object_textblock_text_markup_prepend(en->cursor, text);
-   _text_filter_markup_prepend(en, en->cursor, text);
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_set_cursor_start(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _curs_start(en->cursor, rp->object, en);
-
-   _edje_entry_imf_cursor_info_set(en);
-}
-
-void
-_edje_entry_set_cursor_end(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _curs_end(en->cursor, rp->object, en);
-
-   _edje_entry_imf_cursor_info_set(en);
-}
-
-void
-_edje_entry_select_none(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _sel_clear(en->cursor, rp->object, en);
-}
-
-void
-_edje_entry_select_all(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-
-   _edje_entry_imf_context_reset(rp);
-
-   _sel_clear(en->cursor, rp->object, en);
-   _curs_start(en->cursor, rp->object, en);
-   _sel_enable(en->cursor, rp->object, en);
-   _sel_start(en->cursor, rp->object, en);
-   _curs_end(en->cursor, rp->object, en);
-   _sel_extend(en->cursor, rp->object, en);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_select_begin(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-
-   _edje_entry_imf_context_reset(rp);
-
-   _sel_clear(en->cursor, rp->object, en);
-   _sel_enable(en->cursor, rp->object, en);
-   _sel_start(en->cursor, rp->object, en);
-   _sel_extend(en->cursor, rp->object, en);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_select_extend(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   _edje_entry_imf_context_reset(rp);
-   _sel_extend(en->cursor, rp->object, en);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_entry_real_part_configure(rp);
-}
-
-const Eina_List *
-_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char *anchor)
-{
-   Entry *en;
-   Eina_List *l;
-   Anchor *an;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   EINA_LIST_FOREACH(en->anchors, l, an)
-     {
-        if (an->item) continue;
-        if (!strcmp(anchor, an->name))
-          return an->sel;
-     }
-   return NULL;
-}
-
-const Eina_List *
-_edje_entry_anchors_list(Edje_Real_Part *rp)
-{
-   Entry *en;
-   Eina_List *l, *anchors = NULL;
-   Anchor *an;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   if (!en->anchorlist)
-     {
-        EINA_LIST_FOREACH(en->anchors, l, an)
-          {
-             const char *n = an->name;
-             if (an->item) continue;
-             if (!n) n = "";
-             anchors = eina_list_append(anchors, strdup(n));
-          }
-        en->anchorlist = anchors;
-     }
-   return en->anchorlist;
-}
-
-Eina_Bool
-_edje_entry_item_geometry_get(Edje_Real_Part *rp, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
-{
-   Entry *en;
-   Eina_List *l;
-   Anchor *an;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   EINA_LIST_FOREACH(en->anchors, l, an)
-     {
-        if (an->item) continue;
-        if (!strcmp(item, an->name))
-          {
-             evas_textblock_cursor_format_item_geometry_get(an->start, cx, cy, cw, ch);
-             return EINA_TRUE;
-          }
-     }
-   return EINA_FALSE;
-}
-
-const Eina_List *
-_edje_entry_items_list(Edje_Real_Part *rp)
-{
-   Entry *en;
-   Eina_List *l, *items = NULL;
-   Anchor *an;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   if (!en->itemlist)
-     {
-        EINA_LIST_FOREACH(en->anchors, l, an)
-          {
-             const char *n = an->name;
-             if (an->item) continue;
-             if (!n) n = "";
-             items = eina_list_append(items, strdup(n));
-          }
-        en->itemlist = items;
-     }
-   return en->itemlist;
-}
-
-void
-_edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
-{
-   Evas_Coord x, y, w, h, xx, yy, ww, hh;
-   Entry *en;
-   Evas_Textblock_Cursor_Type cur_type;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   switch (rp->part->cursor_mode)
-     {
-      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
-         break;
-      case EDJE_ENTRY_CURSOR_MODE_UNDER:
-         /* no break for a resaon */
-      default:
-         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
-     }
-
-   x = y = w = h = -1;
-   xx = yy = ww = hh = -1;
-   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
-   evas_textblock_cursor_geometry_get(en->cursor, &xx, &yy, &ww, &hh, NULL, cur_type);
-   if (ww < 1) ww = 1;
-   if (rp->part->cursor_mode == EDJE_ENTRY_CURSOR_MODE_BEFORE)
-     edje_object_size_min_restricted_calc(en->cursor_fg, &ww, NULL, ww, 0);
-   if (hh < 1) hh = 1;
-   if (cx) *cx = x + xx;
-   if (cy) *cy = y + yy;
-   if (cw) *cw = ww;
-   if (ch) *ch = hh;
-}
-
-void
-_edje_entry_user_insert(Edje_Real_Part *rp, const char *text)
-{
-   Entry *en;
-   Edje_Entry_Change_Info *info;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   info = calloc(1, sizeof(*info));
-   if (!info) return;
-   info->insert = EINA_TRUE;
-   info->change.insert.plain_length = 1;
-   info->change.insert.content = eina_stringshare_add(text);
-     {
-        char *tmp;
-        tmp = evas_textblock_text_markup_to_utf8(rp->object,
-                                                 info->change.insert.content);
-        info->change.insert.plain_length = eina_unicode_utf8_get_len(tmp);
-        free(tmp);
-     }
-
-   if (en->have_selection)
-     {
-        _range_del_emit(rp->edje, en->cursor, rp->object, en);
-        info->merge = EINA_TRUE;
-     }
-   info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor);
-   _text_filter_markup_prepend(en, en->cursor, text);
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-   _edje_emit_full(rp->edje, "entry,changed,user", rp->part->name,
-                   info, _free_entry_change_info);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
-     return;
-   en->select_allow = allow;
-}
-
-Eina_Bool
-_edje_entry_select_allow_get(const Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   return en->select_allow;
-}
-
-void
-_edje_entry_select_abort(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (en->selecting)
-     {
-        en->selecting = EINA_FALSE;
-
-        _edje_entry_imf_context_reset(rp);
-        _edje_entry_imf_cursor_info_set(en);
-        _edje_entry_real_part_configure(rp);
-     }
-}
-
-void *
-_edje_entry_imf_context_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-
-#ifdef HAVE_ECORE_IMF
-   return en->imf_context;
-#else
-   return NULL;
-#endif
-}
-
-void
-_edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-
-   if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
-     autocapital_type = EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_autocapital_type_set(en->imf_context, autocapital_type);
-#endif
-}
-
-Edje_Text_Autocapital_Type
-_edje_entry_autocapital_type_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     return ecore_imf_context_autocapital_type_get(en->imf_context);
-#endif
-
-   return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-}
-
-void
-_edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   en->prediction_allow = prediction;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_prediction_allow_set(en->imf_context, prediction);
-#endif
-}
-
-Eina_Bool
-_edje_entry_prediction_allow_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   return en->prediction_allow;
-}
-
-void
-_edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   en->input_panel_enable = enabled;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_enabled_set(en->imf_context, enabled);
-#endif
-}
-
-Eina_Bool
-_edje_entry_input_panel_enabled_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   return en->input_panel_enable;
-}
-
-void
-_edje_entry_input_panel_show(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_show(en->imf_context);
-#endif
-}
-
-void
-_edje_entry_input_panel_hide(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_hide(en->imf_context);
-#endif
-}
-
-void
-_edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   en->input_panel_lang = lang;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_language_set(en->imf_context, lang);
-#endif
-}
-
-Edje_Input_Panel_Lang
-_edje_entry_input_panel_language_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
-   return en->input_panel_lang;
-}
-
-#ifdef HAVE_ECORE_IMF
-void
-_edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len)
-#else
-void
-_edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data __UNUSED__, int len __UNUSED__)
-#endif
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_imdata_set(en->imf_context, data, len);
-#endif
-}
-
-#ifdef HAVE_ECORE_IMF
-void
-_edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len)
-#else
-void
-_edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data __UNUSED__, int *len __UNUSED__)
-#endif
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_imdata_get(en->imf_context, data, len);
-#endif
-}
-
-#ifdef HAVE_ECORE_IMF
-void
-_edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type)
-#else
-void
-_edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type __UNUSED__)
-#endif
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_return_key_type_set(en->imf_context, return_key_type);
-#endif
-}
-
-Edje_Input_Panel_Return_Key_Type
-_edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     return ecore_imf_context_input_panel_return_key_type_get(en->imf_context);
-#endif
-   return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
-}
-
-#ifdef HAVE_ECORE_IMF
-void
-_edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled)
-#else
-void
-_edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled __UNUSED__)
-#endif
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_return_key_disabled_set(en->imf_context, disabled);
-#endif
-}
-
-Eina_Bool
-_edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     return ecore_imf_context_input_panel_return_key_disabled_get(en->imf_context);
-#endif
-   return EINA_FALSE;
-}
-
-static Evas_Textblock_Cursor *
-_cursor_get(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return NULL;
-   en = rp->typedata.text->entry_data;
-   if (!en) return NULL;
-   switch (cur)
-     {
-      case EDJE_CURSOR_MAIN:
-         return en->cursor;
-      case EDJE_CURSOR_SELECTION_BEGIN:
-         return en->sel_start;
-      case EDJE_CURSOR_SELECTION_END:
-         return en->sel_end;
-      case EDJE_CURSOR_PREEDIT_START:
-         if (!en->preedit_start)
-           en->preedit_start = evas_object_textblock_cursor_new(rp->object);
-         return en->preedit_start;
-      case EDJE_CURSOR_PREEDIT_END:
-         if (!en->preedit_end)
-           en->preedit_end = evas_object_textblock_cursor_new(rp->object);
-         return en->preedit_end;
-      case EDJE_CURSOR_USER:
-         if (!en->cursor_user)
-           en->cursor_user = evas_object_textblock_cursor_new(rp->object);
-         return en->cursor_user;
-      case EDJE_CURSOR_USER_EXTRA:
-         if (!en->cursor_user_extra)
-           en->cursor_user_extra = evas_object_textblock_cursor_new(rp->object);
-         return en->cursor_user_extra;
-      default:
-         break;
-     }
-   return NULL;
-}
-
-Eina_Bool
-_edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-
-   if (!c) return EINA_FALSE;
-
-   _edje_entry_imf_context_reset(rp);
-
-   if (!evas_textblock_cursor_char_next(c))
-     {
-        return EINA_FALSE;
-     }
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   if (!c) return EINA_FALSE;
-
-   _edje_entry_imf_context_reset(rp);
-
-   if (!evas_textblock_cursor_char_prev(c))
-     {
-        if (evas_textblock_cursor_paragraph_prev(c)) goto ok;
-        else return EINA_FALSE;
-     }
-ok:
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   Evas_Coord lx, ly, lw, lh, cx, cy, cw, ch;
-   int ln;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   if (!c) return EINA_FALSE;
-
-   _edje_entry_imf_context_reset(rp);
-
-   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
-   ln--;
-   if (ln < 0) return EINA_FALSE;
-   if (!evas_object_textblock_line_number_geometry_get(rp->object, ln,
-                                                       &lx, &ly, &lw, &lh))
-     return EINA_FALSE;
-   evas_textblock_cursor_char_geometry_get(c, &cx, &cy, &cw, &ch);
-   if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
-     {
-        if (cx < (lx + (lw / 2)))
-          evas_textblock_cursor_line_char_last(c);
-        else
-          evas_textblock_cursor_line_char_last(c);
-     }
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   Evas_Coord lx, ly, lw, lh, cx, cy, cw, ch;
-   int ln;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EINA_FALSE;
-   if (!c) return EINA_FALSE;
-
-   _edje_entry_imf_context_reset(rp);
-
-   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
-   ln++;
-   if (!evas_object_textblock_line_number_geometry_get(rp->object, ln,
-                                                       &lx, &ly, &lw, &lh))
-     return EINA_FALSE;
-   evas_textblock_cursor_char_geometry_get(c, &cx, &cy, &cw, &ch);
-   if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
-     {
-        if (cx < (lx + (lw / 2)))
-          evas_textblock_cursor_line_char_last(c);
-        else
-          evas_textblock_cursor_line_char_last(c);
-     }
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-   return EINA_TRUE;
-}
-
-void
-_edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (!c) return;
-
-   _edje_entry_imf_context_reset(rp);
-
-   evas_textblock_cursor_paragraph_first(c);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (!c) return;
-
-   _edje_entry_imf_context_reset(rp);
-
-   _curs_end(c, rp->object, rp->typedata.text->entry_data);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_cursor_copy(Edje_Real_Part *rp, Edje_Cursor cur, Edje_Cursor dst)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c;
-   Evas_Textblock_Cursor *d;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   c = _cursor_get(rp, cur);
-   if (!c) return;
-   d = _cursor_get(rp, dst);
-   if (!d) return;
-   evas_textblock_cursor_copy(c, d);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_context_reset(rp);
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (!c) return;
-   _edje_entry_imf_context_reset(rp);
-
-   evas_textblock_cursor_line_char_first(c);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-void
-_edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (!c) return;
-   _edje_entry_imf_context_reset(rp);
-   evas_textblock_cursor_line_char_last(c);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-Eina_Bool
-_edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur,
-                             Evas_Coord x, Evas_Coord y)
-{
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   if (!c) return EINA_FALSE;
-   return evas_textblock_cursor_char_coord_set(c, x, y);
-}
-
-Eina_Bool
-_edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   if (!c) return EINA_FALSE;
-   if (evas_textblock_cursor_is_format(c)) return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-Eina_Bool
-_edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   if (!c) return EINA_FALSE;
-   return evas_textblock_cursor_format_is_visible_get(c);
-}
-
-char *
-_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   static char *s = NULL;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if (!c) return NULL;
-   if (s)
-     {
-        free(s);
-        s = NULL;
-     }
-
-   s = evas_textblock_cursor_content_get(c);
-   return s;
-}
-
-void
-_edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos)
-{
-   Entry *en;
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-   if (!c) return;
-   /* Abort if cursor position didn't really change */
-   if (evas_textblock_cursor_pos_get(c) == pos)
-     return;
-
-   _edje_entry_imf_context_reset(rp);
-   evas_textblock_cursor_pos_set(c, pos);
-   _sel_update(c, rp->object, rp->typedata.text->entry_data);
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
-   _edje_entry_real_part_configure(rp);
-}
-
-int
-_edje_entry_cursor_pos_get(Edje_Real_Part *rp, Edje_Cursor cur)
-{
-   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
-   if (!c) return 0;
-   return evas_textblock_cursor_pos_get(c);
-}
-
-void
-_edje_entry_input_panel_layout_set(Edje_Real_Part *rp, Edje_Input_Panel_Layout layout)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_input_panel_layout_set(en->imf_context, layout);
-#else
-   (void) layout;
-#endif
-}
-
-Edje_Input_Panel_Layout
-_edje_entry_input_panel_layout_get(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
-   en = rp->typedata.text->entry_data;
-   if (!en) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     return ecore_imf_context_input_panel_layout_get(en->imf_context);
-#endif
-
-   return EDJE_INPUT_PANEL_LAYOUT_INVALID;
-}
-
-void
-_edje_entry_imf_context_reset(Edje_Real_Part *rp)
-{
-   Entry *en;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   en = rp->typedata.text->entry_data;
-   if (!en) return;
-#ifdef HAVE_ECORE_IMF
-   if (en->imf_context)
-     ecore_imf_context_reset(en->imf_context);
-#endif
-}
-
-static void
-_edje_entry_imf_cursor_location_set(Entry *en)
-{
-#ifdef HAVE_ECORE_IMF
-   Evas_Coord cx, cy, cw, ch;
-   if (!en || !en->rp || !en->imf_context) return;
-
-   _edje_entry_cursor_geometry_get(en->rp, &cx, &cy, &cw, &ch);
-   ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw, ch);
-#else
-   (void) en;
-#endif
-}
-
-static void
-_edje_entry_imf_cursor_info_set(Entry *en)
-{
-#ifdef HAVE_ECORE_IMF
-   if (!en || !en->rp || !en->imf_context) return;
-
-   ecore_imf_context_cursor_position_set(en->imf_context,
-                                         evas_textblock_cursor_pos_get(en->cursor));
-   _edje_entry_imf_cursor_location_set(en);
-#else
-   (void) en;
-#endif
-}
-
-#ifdef HAVE_ECORE_IMF
-static Eina_Bool
-_edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx __UNUSED__, char **text, int *cursor_pos)
-{
-   Edje *ed = data;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en = NULL;
-   const char *str;
-   char *plain_text;
-
-   if (!rp) return EINA_FALSE;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_FALSE;
-   else
-     en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return EINA_FALSE;
-
-   if (text)
-     {
-        str = _edje_entry_text_get(rp);
-        if (str)
-          plain_text = evas_textblock_text_markup_to_utf8(NULL, str);
-        else
-          plain_text = strdup("");
-        *text = plain_text;
-     }
-
-   if (cursor_pos)
-     *cursor_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-   return EINA_TRUE;
-}
-
-static void
-_edje_entry_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx __UNUSED__, void *event_info)
-{
-   Edje *ed = data;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en = NULL;
-   char *commit_str = event_info;
-   int start_pos;
-
-   if ((!rp)) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   else
-     en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-
-   if (en->have_selection)
-     {
-        if (strcmp(commit_str, ""))
-          {
-             /* delete selected characters */
-             _range_del_emit(ed, en->cursor, rp->object, en);
-             _sel_clear(en->cursor, rp->object, en);
-          }
-     }
-
-   start_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-#ifdef HAVE_ECORE_IMF
-   /* delete preedit characters */
-   _preedit_del(en);
-   _preedit_clear(en);
-#endif
-
-   if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
-       _edje_password_show_last)
-     _edje_entry_hide_visible_password(en->rp);
-   if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
-       _edje_password_show_last && (!en->preedit_start))
-     {
-        _text_filter_format_prepend(en, en->cursor, "+ password=off");
-        _text_filter_text_prepend(en, en->cursor, commit_str);
-        _text_filter_format_prepend(en, en->cursor, "- password");
-
-        if (en->pw_timer)
-          {
-             ecore_timer_del(en->pw_timer);
-             en->pw_timer = NULL;
-          }
-        en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
-                                       _password_timer_cb, en);
-     }
-   else
-     _text_filter_text_prepend(en, en->cursor, commit_str);
-
-
-   _edje_entry_imf_cursor_info_set(en);
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "entry,changed", rp->part->name);
-
-     {
-        Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
-        info->insert = EINA_TRUE;
-        info->change.insert.pos = start_pos;
-        info->change.insert.content = eina_stringshare_add(commit_str);
-        info->change.insert.plain_length =
-           eina_unicode_utf8_get_len(info->change.insert.content);
-        _edje_emit_full(ed, "entry,changed,user", rp->part->name,
-                        info, _free_entry_change_info);
-        _edje_emit(ed, "cursor,changed", rp->part->name);
-     }
-
-   _edje_entry_imf_cursor_info_set(en);
-   _edje_entry_real_part_configure(rp);
-}
-
-static void
-_edje_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje *ed = data;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en = NULL;
-   int cursor_pos;
-   int preedit_start_pos, preedit_end_pos;
-   char *preedit_string;
-   int i;
-   Eina_Bool preedit_end_state = EINA_FALSE;
-   Eina_List *attrs = NULL, *l = NULL;
-   Ecore_IMF_Preedit_Attr *attr;
-   Eina_Strbuf *buf;
-
-   if ((!rp)) return;
-
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   else
-     en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-
-   if (!en->imf_context) return;
-
-   ecore_imf_context_preedit_string_with_attributes_get(en->imf_context,
-                                                        &preedit_string,
-                                                        &attrs, &cursor_pos);
-   if (!preedit_string) return;
-
-   if (!strcmp(preedit_string, ""))
-     preedit_end_state = EINA_TRUE;
-
-   if (en->have_selection && !preedit_end_state)
-     {
-        /* delete selected characters */
-        _range_del_emit(ed, en->cursor, rp->object, en);
-     }
-
-   /* delete preedit characters */
-   _preedit_del(en);
-
-   preedit_start_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-   /* insert preedit character(s) */
-   if (strlen(preedit_string) > 0)
-     {
-        buf = eina_strbuf_new();
-        if (attrs)
-          {
-             EINA_LIST_FOREACH(attrs, l, attr)
-               {
-                  if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1)
-                    {
-                       eina_strbuf_append(buf, "<preedit>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit>");
-                    }
-
-                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2 ||
-                           attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3)
-                    {
-                       eina_strbuf_append(buf, "<preedit_sel>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit_sel>");
-                    }
-                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB4)
-                    {
-                       eina_strbuf_append(buf, "<preedit_sub1>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit_sub1>");
-                    }
-                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB5)
-                    {
-                       eina_strbuf_append(buf, "<preedit_sub2>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit_sub2>");
-                    }
-                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB6)
-                    {
-                       eina_strbuf_append(buf, "<preedit_sub3>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit_sub3>");
-                    }
-                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB7)
-                    {
-                       eina_strbuf_append(buf, "<preedit_sub4>");
-                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
-                                            attr->end_index - attr->start_index);
-                       eina_strbuf_append(buf, "</preedit_sub4>");
-                    }
-               }
-          }
-        else
-          {
-             eina_strbuf_append(buf, preedit_string);
-          }
-        if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
-            _edje_password_show_last)
-          {
-             _edje_entry_hide_visible_password(en->rp);
-             _text_filter_format_prepend(en, en->cursor, "+ password=off");
-             _text_filter_markup_prepend(en, en->cursor, eina_strbuf_string_get(buf));
-             _text_filter_format_prepend(en, en->cursor, "- password");
-             if (en->pw_timer)
-               {
-                  ecore_timer_del(en->pw_timer);
-                  en->pw_timer = NULL;
-               }
-             en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
-                                            _password_timer_cb, en);
-          }
-        else
-          {
-             _text_filter_markup_prepend(en, en->cursor, eina_strbuf_string_get(buf));
-          }
-        eina_strbuf_free(buf);
-     }
-
-   if (!preedit_end_state)
-     {
-        /* set preedit start cursor */
-        if (!en->preedit_start)
-          en->preedit_start = evas_object_textblock_cursor_new(rp->object);
-        evas_textblock_cursor_copy(en->cursor, en->preedit_start);
-
-        /* set preedit end cursor */
-        if (!en->preedit_end)
-          en->preedit_end = evas_object_textblock_cursor_new(rp->object);
-        evas_textblock_cursor_copy(en->cursor, en->preedit_end);
-
-        preedit_end_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-        for (i = 0; i < (preedit_end_pos - preedit_start_pos); i++)
-          {
-             evas_textblock_cursor_char_prev(en->preedit_start);
-          }
-
-        en->have_preedit = EINA_TRUE;
-
-        /* set cursor position */
-        evas_textblock_cursor_pos_set(en->cursor, preedit_start_pos + cursor_pos);
-     }
-
-   _edje_entry_imf_cursor_info_set(en);
-   _anchors_get(en->cursor, rp->object, en);
-   _edje_emit(rp->edje, "preedit,changed", rp->part->name);
-   _edje_emit(ed, "cursor,changed", rp->part->name);
-
-   /* delete attribute list */
-   if (attrs)
-     {
-        EINA_LIST_FREE(attrs, attr) free(attr);
-     }
-
-   free(preedit_string);
-}
-
-static void
-_edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx __UNUSED__, void *event_info)
-{
-   Edje *ed = data;
-   Edje_Real_Part *rp = ed->focused_part;
-   Entry *en = NULL;
-   Ecore_IMF_Event_Delete_Surrounding *ev = event_info;
-   Evas_Textblock_Cursor *del_start, *del_end;
-   int cursor_pos;
-
-   if ((!rp) || (!ev)) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   else
-     en = rp->typedata.text->entry_data;
-   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
-       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
-     return;
-
-   cursor_pos = evas_textblock_cursor_pos_get(en->cursor);
-
-   del_start = evas_object_textblock_cursor_new(en->rp->object);
-   evas_textblock_cursor_pos_set(del_start, cursor_pos + ev->offset);
-
-   del_end = evas_object_textblock_cursor_new(en->rp->object);
-   evas_textblock_cursor_pos_set(del_end, cursor_pos + ev->offset + ev->n_chars);
-
-   evas_textblock_cursor_range_delete(del_start, del_end);
-
-   evas_textblock_cursor_free(del_start);
-   evas_textblock_cursor_free(del_end);
-}
-#endif
-
-/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
diff --git a/legacy/edje/src/lib/edje_external.c b/legacy/edje/src/lib/edje_external.c
deleted file mode 100644 (file)
index 0b26577..0000000
+++ /dev/null
@@ -1,640 +0,0 @@
-#include "edje_private.h"
-
-static Eina_Hash *type_registry = NULL;
-static int init_count = 0;
-
-EAPI const char *
-edje_external_param_type_str(Edje_External_Param_Type type)
-{
-   switch (type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-        return "INT";
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        return "DOUBLE";
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        return "STRING";
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-        return "BOOL";
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-        return "CHOICE";
-      default:
-        return "(unknown)";
-     }
-}
-
-EAPI Evas_Object *
-edje_object_part_external_object_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_external_object_get(part, &ret));
-   return ret;
-}
-
-void
-_part_external_object_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp)
-     {
-       ERR("no part '%s'", part);
-       return;
-     }
-   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
-     {
-       ERR("cannot get external object of a part '%s' that is not EXTERNAL",
-           rp->part->name);
-       return;
-     }
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   *ret = rp->typedata.swallow->swallowed_object;
-}
-
-EAPI Eina_Bool
-edje_object_part_external_param_set(Evas_Object *obj, const char *part, const Edje_External_Param *param)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_external_param_set(part, param, &ret));
-   return ret;
-}
-
-void
-_part_external_param_set(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const Edje_External_Param *param = va_arg(*list, const Edje_External_Param *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!param) || (!param->name)) return;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp)
-     {
-       ERR("no part '%s'", part);
-       return;
-     }
-
-   if (_edje_external_param_set(obj, rp, param))
-      if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_external_param_get(const Evas_Object *obj, const char *part, Edje_External_Param *param)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_external_param_get(part, param, &ret));
-   return ret;
-}
-
-void
-_part_external_param_get(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_External_Param *param = va_arg(*list, Edje_External_Param *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   *ret = EINA_FALSE;
-
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!param) || (!param->name)) return;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp)
-     {
-       ERR("no part '%s'", part);
-       return;
-     }
-
-   *ret = _edje_external_param_get(obj, rp, param);
-}
-
-
-
-EAPI Evas_Object *
-edje_object_part_external_content_get(const Evas_Object *obj, const char *part, const char *content)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_external_content_get(part, content, &ret));
-   return ret;
-}
-
-void
-_part_external_content_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *content = va_arg(*list, const char *);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   *ret = NULL;
-
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if (!content) return;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp)
-     {
-       ERR("no part '%s'", part);
-       return;
-     }
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   *ret = _edje_external_content_get(rp->typedata.swallow->swallowed_object, content);
-}
-
-EAPI Edje_External_Param_Type
-edje_object_part_external_param_type_get(const Evas_Object *obj, const char *part, const char *param)
-{
-   if (!obj) return EDJE_EXTERNAL_PARAM_TYPE_MAX;
-   Edje_External_Param_Type ret = EDJE_EXTERNAL_PARAM_TYPE_MAX;
-   eo_do((Eo *)obj, edje_obj_part_external_param_type_get(part, param, &ret));
-   return ret;
-}
-
-void
-_part_external_param_type_get(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *param = va_arg(*list, const char *);
-   Edje_External_Param_Type *ret = va_arg(*list, Edje_External_Param_Type *);
-   *ret = EDJE_EXTERNAL_PARAM_TYPE_MAX;
-
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_External_Type *type;
-   Edje_External_Param_Info *info;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp)
-     {
-       ERR("no part '%s'", part);
-       return;
-     }
-  if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-      (!rp->typedata.swallow)) return;
-   type = evas_object_data_get(rp->typedata.swallow->swallowed_object, "Edje_External_Type");
-   if (!type)
-     {
-       ERR("no external type for object %p", obj);
-       return;
-     }
-   if (!type->parameters_info)
-     {
-       ERR("no parameters information for external type '%s'",
-           type->module_name);
-       return;
-     }
-   for (info = type->parameters_info; info->name; info++)
-     if (strcmp(info->name, param) == 0)
-       {
-          *ret = info->type;
-          return;
-       }
-
-   ERR("no parameter '%s' external type '%s'", param, type->module_name);
-}
-
-
-EAPI Eina_Bool
-edje_external_type_register(const char *type_name, const Edje_External_Type *type_info)
-{
-   if (!type_name)
-     return EINA_FALSE;
-   if (!type_info)
-     return EINA_FALSE;
-
-   if (type_info->abi_version != EDJE_EXTERNAL_TYPE_ABI_VERSION)
-     {
-       ERR("external type '%s' (%p) has incorrect abi version. "
-              "got %#x where %#x was expected.",
-              type_name, type_info,
-              type_info->abi_version, EDJE_EXTERNAL_TYPE_ABI_VERSION);
-       return EINA_FALSE;
-     }
-
-   if (eina_hash_find(type_registry, type_name))
-     {
-       ERR("External type '%s' already registered", type_name);
-       return EINA_FALSE;
-     }
-   return eina_hash_add(type_registry, type_name, type_info);
-}
-
-EAPI Eina_Bool
-edje_external_type_unregister(const char *type_name)
-{
-   if (!type_name)
-     return EINA_FALSE;
-   return eina_hash_del_by_key(type_registry, type_name);
-}
-
-EAPI void
-edje_external_type_array_register(const Edje_External_Type_Info *array)
-{
-   const Edje_External_Type_Info *itr;
-
-   if (!array)
-     return;
-
-   for (itr = array; itr->name; itr++)
-     {
-       if (itr->info->abi_version != EDJE_EXTERNAL_TYPE_ABI_VERSION)
-         {
-            ERR("external type '%s' (%p) has incorrect abi "
-                   "version. got %#x where %#x was expected.",
-                   itr->name, itr->info,
-                   itr->info->abi_version, EDJE_EXTERNAL_TYPE_ABI_VERSION);
-            continue;
-         }
-
-       eina_hash_direct_add(type_registry, itr->name, itr->info);
-     }
-}
-
-EAPI void
-edje_external_type_array_unregister(const Edje_External_Type_Info *array)
-{
-   const Edje_External_Type_Info *itr;
-
-   if (!array)
-     return;
-
-   for (itr = array; itr->name; itr++)
-     eina_hash_del(type_registry, itr->name, itr->info);
-}
-
-EAPI unsigned int
-edje_external_type_abi_version_get(void)
-{
-   return EDJE_EXTERNAL_TYPE_ABI_VERSION;
-}
-
-EAPI Eina_Iterator *
-edje_external_iterator_get(void)
-{
-   return eina_hash_iterator_tuple_new(type_registry);
-}
-
-EAPI Edje_External_Param *
-edje_external_param_find(const Eina_List *params, const char *key)
-{
-   const Eina_List *l;
-   Edje_External_Param *param;
-
-   EINA_LIST_FOREACH(params, l, param)
-      if (!strcmp(param->name, key)) return param;
-
-   return NULL;
-}
-
-EAPI Eina_Bool
-edje_external_param_int_get(const Eina_List *params, const char *key, int *ret)
-{
-   Edje_External_Param *param;
-
-   if (!params) return EINA_FALSE;
-   param = edje_external_param_find(params, key);
-
-   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_INT && ret)
-     {
-       *ret = param->i;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_external_param_double_get(const Eina_List *params, const char *key, double *ret)
-{
-   Edje_External_Param *param;
-
-   if (!params) return EINA_FALSE;
-   param = edje_external_param_find(params, key);
-
-   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE && ret)
-     {
-       *ret = param->d;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_external_param_string_get(const Eina_List *params, const char *key, const char **ret)
-{
-   Edje_External_Param *param;
-
-   if (!params) return EINA_FALSE;
-   param = edje_external_param_find(params, key);
-
-   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING && ret)
-     {
-       *ret = param->s;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_external_param_bool_get(const Eina_List *params, const char *key, Eina_Bool *ret)
-{
-   Edje_External_Param *param;
-
-   if (!params) return EINA_FALSE;
-   param = edje_external_param_find(params, key);
-
-   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL && ret)
-     {
-       *ret = param->i;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI Eina_Bool
-edje_external_param_choice_get(const Eina_List *params, const char *key, const char **ret)
-{
-   Edje_External_Param *param;
-
-   if (!params) return EINA_FALSE;
-   param = edje_external_param_find(params, key);
-
-   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE && ret)
-     {
-       *ret = param->s;
-       return EINA_TRUE;
-     }
-
-   return EINA_FALSE;
-}
-
-EAPI const Edje_External_Param_Info *
-edje_external_param_info_get(const char *type_name)
-{
-   Edje_External_Type *type;
-
-   type = eina_hash_find(type_registry, type_name);
-   if (!type)
-     return NULL;
-   return type->parameters_info;
-}
-
-EAPI const Edje_External_Type *
-edje_external_type_get(const char *type_name)
-{
-   return eina_hash_find(type_registry, type_name);
-}
-
-void
-_edje_external_init()
-{
-   if (!type_registry)
-     type_registry = eina_hash_string_superfast_new(NULL);
-
-   init_count++;
-}
-
-void
-_edje_external_shutdown()
-{
-   if (--init_count == 0)
-     {
-       eina_hash_free(type_registry);
-       type_registry = NULL;
-     }
-}
-
-Evas_Object *
-_edje_external_type_add(const char *type_name, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name)
-{
-   Edje_External_Type *type;
-   Evas_Object *obj;
-
-   type = eina_hash_find(type_registry, type_name);
-   if (!type)
-     {
-       ERR("external type '%s' not registered", type_name);
-       return NULL;
-     }
-
-   obj = type->add(type->data, evas, parent, params, part_name);
-   if (!obj)
-     {
-       ERR("External type '%s' returned NULL from constructor", type_name);
-       return NULL;
-     }
-
-   evas_object_data_set(obj, "Edje_External_Type", type);
-
-   return obj;
-}
-
-void
-_edje_external_signal_emit(Evas_Object *obj, const char *emission, const char *source)
-{
-   Edje_External_Type *type;
-
-   type = evas_object_data_get(obj, "Edje_External_Type");
-   if (!type)
-     {
-       ERR("External type data not found.");
-       return;
-     }
-
-   type->signal_emit(type->data, obj, emission, source);
-}
-
-Eina_Bool
-_edje_external_param_set(Evas_Object *obj, Edje_Real_Part *rp, const Edje_External_Param *param)
-{
-   Evas_Object *swallowed_object;
-   
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-      (!rp->typedata.swallow)) return EINA_FALSE;
-   swallowed_object = rp->typedata.swallow->swallowed_object;
-   Edje_External_Type *type = evas_object_data_get(swallowed_object, "Edje_External_Type");
-   if (!type)
-     {
-       if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
-            (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-         {
-            if ((param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING) &&
-                (!strcmp (param->name, "text")) && (obj))
-               {
-                  return edje_object_part_text_set(obj, rp->part->name, param->s);
-               }
-         }
-
-       ERR("no external type for object %p", swallowed_object);
-       return EINA_FALSE;
-     }
-   if (!type->param_set)
-     {
-       ERR("external type '%s' from module '%s' does not provide param_set()",
-           type->module_name, type->module);
-       return EINA_FALSE;
-     }
-   return type->param_set(type->data, swallowed_object, param);
-}
-
-Eina_Bool
-_edje_external_param_get(const Evas_Object *obj, Edje_Real_Part *rp, Edje_External_Param *param)
-{
-   Evas_Object *swallowed_object;
-   
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-      (!rp->typedata.swallow)) return EINA_FALSE;
-   swallowed_object = rp->typedata.swallow->swallowed_object;
-   Edje_External_Type *type = evas_object_data_get(swallowed_object, "Edje_External_Type");
-   if (!type)
-     {
-       if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
-            (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-         {
-            const char *text;
-            param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-            param->name = "text";
-            text = edje_object_part_text_get(obj, rp->part->name);
-             param->s = text;
-            return EINA_TRUE;
-         }
-       
-       ERR("no external type for object %p", swallowed_object);
-       return EINA_FALSE;
-     }
-   if (!type->param_get)
-     {
-       ERR("external type '%s' from module '%s' does not provide param_get()",
-           type->module_name, type->module);
-       return EINA_FALSE;
-     }
-   return type->param_get(type->data, swallowed_object, param);
-}
-
-Evas_Object*
-_edje_external_content_get(const Evas_Object *obj, const char *content)
-{
-   Edje_External_Type *type = evas_object_data_get(obj, "Edje_External_Type");
-   if (!type)
-     {
-       ERR("no external type for object %p", obj);
-       return EINA_FALSE;
-     }
-   if (!type->content_get)
-     {
-       ERR("external type '%s' from module '%s' does not provide content_get()",
-           type->module_name, type->module);
-       return EINA_FALSE;
-     }
-   return type->content_get(type->data, obj, content);
-}
-
-void
-_edje_external_params_free(Eina_List *external_params, Eina_Bool free_strings)
-{
-   Edje_External_Param *param;
-
-   EINA_LIST_FREE(external_params, param)
-     {
-       if (free_strings)
-         {
-            if (param->name) eina_stringshare_del(param->name);
-            if (param->s) eina_stringshare_del(param->s);
-         }
-       free(param);
-     }
-}
-
-void
-_edje_external_recalc_apply(Edje *ed __UNUSED__, Edje_Real_Part *ep,
-                           Edje_Calc_Params *params __UNUSED__,
-                           Edje_Part_Description_Common *chosen_desc __UNUSED__)
-{
-   Edje_External_Type *type;
-   Edje_Part_Description_External *ext;
-   void *params1, *params2 = NULL;
-
-   if ((ep->type != EDJE_RP_TYPE_SWALLOW) ||
-      (!ep->typedata.swallow)) return;
-   if (!ep->typedata.swallow->swallowed_object) return;
-   type = evas_object_data_get(ep->typedata.swallow->swallowed_object, "Edje_External_Type");
-
-   if ((!type) || (!type->state_set)) return;
-
-   ext = (Edje_Part_Description_External*) ep->param1.description;
-
-   params1 = ep->param1.external_params ?
-     ep->param1.external_params : ext->external_params;
-
-   if (ep->param2 && ep->param2->description)
-     {
-       ext = (Edje_Part_Description_External*) ep->param2->description;
-
-       params2 = ep->param2->external_params ?
-          ep->param2->external_params : ext->external_params;
-     }
-
-   type->state_set(type->data, ep->typedata.swallow->swallowed_object,
-                   params1, params2, ep->description_pos);
-}
-
-void *
-_edje_external_params_parse(Evas_Object *obj, const Eina_List *params)
-{
-   Edje_External_Type *type;
-
-   type = evas_object_data_get(obj, "Edje_External_Type");
-   if (!type) return NULL;
-
-   if (!type->params_parse) return NULL;
-
-   return type->params_parse(type->data, obj, params);
-}
-
-void
-_edje_external_parsed_params_free(Evas_Object *obj, void *params)
-{
-   Edje_External_Type *type;
-
-   if (!params) return;
-
-   type = evas_object_data_get(obj, "Edje_External_Type");
-   if (!type) return;
-
-   if (!type->params_free) return;
-
-   type->params_free(params);
-}
diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c
deleted file mode 100644 (file)
index a11d11d..0000000
+++ /dev/null
@@ -1,1915 +0,0 @@
-#include "edje_private.h"
-
-typedef struct _Edje_Table_Items Edje_Table_Items;
-struct _Edje_Table_Items
-{
-   Evas_Object *child;
-   const char *part;
-   unsigned short col;
-   unsigned short row;
-   unsigned short colspan;
-   unsigned short rowspan;
-};
-
-typedef struct _Edje_Drag_Items Edje_Drag_Items;
-struct _Edje_Drag_Items
-{
-   const char *part;
-   FLOAT_T x, y, w, h;
-   struct {
-      FLOAT_T x, y;
-   } step;
-   struct {
-      FLOAT_T x, y;
-   } page;
-};
-
-/* START - Nested part support */
-#define _edje_smart_nested_type "Evas_Smart_Nested"
-typedef struct _Edje_Nested_Support Edje_Nested_Support;
-struct _Edje_Nested_Support
-{  /* We builed nested-parts list using this struct */
-   Evas_Object *o;        /* Smart object containing nested children */
-   unsigned char nested_children_count; /* Number of nested children */
-};
-
-Evas_Smart *
-_edje_smart_nested_smart_class_new(void)
-{
-   static Evas_Smart_Class _sc = EVAS_SMART_CLASS_INIT_NAME_VERSION("EdjeNested");
-   static const Evas_Smart_Class *class = NULL;
-   static Evas_Smart *smart;
-
-   if (smart)
-     return smart;
-
-   class = &_sc;
-   smart = evas_smart_class_new(class);
-   return smart;
-}
-
-
-Evas_Object *
-edje_smart_nested_add(Evas *evas)
-{
-      return evas_object_smart_add(evas, _edje_smart_nested_smart_class_new());
-}
-
-/* END   - Nested part support */
-
-
-#ifdef EDJE_PROGRAM_CACHE
-static Eina_Bool  _edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
-#endif
-static void _edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it);
-static void _cb_signal_repeat(void *data, Evas_Object *obj, const char *signal, const char *source);
-
-static Eina_List *_edje_object_collect(Edje *ed);
-
-static int _sort_defined_boxes(const void *a, const void *b);
-
-/************************** API Routines **************************/
-
-EAPI Eina_Bool
-edje_object_file_set(Evas_Object *obj, const char *file, const char *group)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-
-   eo_do(obj, edje_obj_file_set(file, group, &ret));
-   _edje_object_orientation_inform(obj);
-   return ret;
-}
-
-EAPI void
-edje_object_file_get(const Evas_Object *obj, const char **file, const char **group)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_file_get(file, group));
-}
-
-void
-_file_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char **file = va_arg(*list, const char **);
-   const char **group = va_arg(*list, const char **);
-   const Edje *ed = _pd;
-   if (file) *file = ed->path;
-   if (group) *group = ed->group;
-}
-
-EAPI Edje_Load_Error
-edje_object_load_error_get(const Evas_Object *obj)
-{
-   if (!obj) return EDJE_LOAD_ERROR_NONE;
-   Edje_Load_Error ret = EDJE_LOAD_ERROR_NONE;
-   eo_do((Eo *)obj, edje_obj_load_error_get(&ret));
-   return ret;
-}
-
-void
-_load_error_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Edje_Load_Error *ret = va_arg(*list, Edje_Load_Error *);
-   const Edje *ed = _pd;
-   *ret = ed->load_error;
-}
-
-EAPI const char *
-edje_load_error_str(Edje_Load_Error error)
-{
-   switch (error)
-     {
-      case EDJE_LOAD_ERROR_NONE:
-        return "No Error";
-      case EDJE_LOAD_ERROR_GENERIC:
-        return "Generic Error";
-      case EDJE_LOAD_ERROR_DOES_NOT_EXIST:
-        return "File Does Not Exist";
-      case EDJE_LOAD_ERROR_PERMISSION_DENIED:
-        return "Permission Denied";
-      case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
-        return "Resource Allocation Failed";
-      case EDJE_LOAD_ERROR_CORRUPT_FILE:
-        return "Corrupt File";
-      case EDJE_LOAD_ERROR_UNKNOWN_FORMAT:
-        return "Unknown Format";
-      case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE:
-        return "Incompatible File";
-      case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION:
-        return "Unknown Collection";
-      case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE:
-        return "Recursive Reference";
-      default:
-        return "Unknown Error";
-     }
-}
-
-
-EAPI Eina_List *
-edje_file_collection_list(const char *file)
-{
-   Eina_List *lst = NULL;
-   Edje_File *edf;
-   int error_ret = 0;
-
-   if ((!file) || (!*file)) return NULL;
-   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
-   if (edf)
-     {
-       Eina_Iterator *i;
-       const char *key;
-
-       i = eina_hash_iterator_key_new(edf->collection);
-
-       EINA_ITERATOR_FOREACH(i, key)
-         lst = eina_list_append(lst, eina_stringshare_add(key));
-
-       eina_iterator_free(i);
-
-       _edje_cache_file_unref(edf);
-     }
-   return lst;
-}
-
-EAPI void
-edje_file_collection_list_free(Eina_List *lst)
-{
-   while (lst)
-     {
-        if (eina_list_data_get(lst)) eina_stringshare_del(eina_list_data_get(lst));
-       lst = eina_list_remove(lst, eina_list_data_get(lst));
-     }
-}
-
-EAPI Eina_Bool
-edje_file_group_exists(const char *file, const char *glob)
-{
-   Edje_File *edf;
-   int error_ret = 0;
-   Eina_Bool succeed = EINA_FALSE;
-   Eina_Bool is_glob = EINA_FALSE;
-   const char *p;
-
-   if ((!file) || (!*file) || (!glob))
-      return EINA_FALSE;
-
-   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
-   if (!edf)
-      return EINA_FALSE;
-
-   for (p = glob; *p; p++)
-     {
-       if ((*p == '*') || (*p == '?') || (*p == '['))
-         {
-           is_glob = EINA_TRUE;
-           break;
-         }
-     }
-
-   if (is_glob)
-     {
-       if (!edf->collection_patterns)
-         {
-           Edje_Part_Collection_Directory_Entry *ce;
-           Eina_Iterator *i;
-           Eina_List *l = NULL;
-
-           i = eina_hash_iterator_data_new(edf->collection);
-
-           EINA_ITERATOR_FOREACH(i, ce)
-             l = eina_list_append(l, ce);
-
-           eina_iterator_free(i);
-
-           edf->collection_patterns = edje_match_collection_dir_init(l);
-           eina_list_free(l);
-         }
-
-       succeed = edje_match_collection_dir_exec(edf->collection_patterns, glob);
-       if (edf->collection_patterns)
-         {
-           edje_match_patterns_free(edf->collection_patterns);
-           edf->collection_patterns = NULL;
-         }
-     }
-   else
-     {
-        if (eina_hash_find(edf->collection, glob)) succeed = EINA_TRUE;
-     }
-   _edje_cache_file_unref(edf);
-
-   INF("edje_file_group_exists: '%s', '%s': %i\n", file, glob, succeed);
-
-   return succeed;
-}
-
-
-EAPI char *
-edje_file_data_get(const char *file, const char *key)
-{
-   Edje_File *edf;
-   char *str = NULL;
-   int error_ret = 0;
-
-   if (key)
-     {
-       edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
-       if (edf)
-         {
-            str = (char*) edje_string_get(eina_hash_find(edf->data, key));
-
-            if (str) str = strdup(str);
-
-            _edje_cache_file_unref(edf);
-         }
-     }
-   return str;
-}
-
-void
-_edje_programs_patterns_clean(Edje *ed)
-{
-   _edje_signals_sources_patterns_clean(&ed->patterns.programs);
-
-   eina_rbtree_delete(ed->patterns.programs.exact_match,
-                     EINA_RBTREE_FREE_CB(edje_match_signal_source_free),
-                     NULL);
-   ed->patterns.programs.exact_match = NULL;
-
-   free(ed->patterns.programs.u.programs.globing);
-   ed->patterns.programs.u.programs.globing = NULL;
-}
-
-void
-_edje_programs_patterns_init(Edje *ed)
-{
-   Edje_Signals_Sources_Patterns *ssp = &ed->patterns.programs;
-   Edje_Program **all;
-   unsigned int i, j;
-
-   if (ssp->signals_patterns)
-     return;
-
-   if (getenv("EDJE_DUMP_PROGRAMS"))
-     {
-       INF("Group '%s' programs:", ed->group);
-#define EDJE_DUMP_PROGRAM(Section)                                     \
-       for (i = 0; i < ed->collection->programs.Section##_count; i++)  \
-        INF(#Section" for ('%s', '%s')", ed->collection->programs.Section[i]->signal, ed->collection->programs.Section[i]->source);
-
-       EDJE_DUMP_PROGRAM(strcmp);
-       EDJE_DUMP_PROGRAM(strncmp);
-       EDJE_DUMP_PROGRAM(strrncmp);
-       EDJE_DUMP_PROGRAM(fnmatch);
-       EDJE_DUMP_PROGRAM(nocmp);
-     }
-
-   edje_match_program_hash_build(ed->collection->programs.strcmp,
-                                ed->collection->programs.strcmp_count,
-                                &ssp->exact_match);
-
-   j = ed->collection->programs.strncmp_count
-     + ed->collection->programs.strrncmp_count
-     + ed->collection->programs.fnmatch_count
-     + ed->collection->programs.nocmp_count;
-   if (j == 0) return ;
-
-   all = malloc(sizeof (Edje_Program *) * j);
-   if (!all) return ;
-   j = 0;
-
-   /* FIXME: Build specialized data type for each case */
-#define EDJE_LOAD_PROGRAMS_ADD(Array, Ed, It, Git, All)                        \
-   for (It = 0; It < Ed->collection->programs.Array##_count; ++It, ++Git) \
-     All[Git] = Ed->collection->programs.Array[It];
-
-   EDJE_LOAD_PROGRAMS_ADD(fnmatch, ed, i, j, all);
-   EDJE_LOAD_PROGRAMS_ADD(strncmp, ed, i, j, all);
-   EDJE_LOAD_PROGRAMS_ADD(strrncmp, ed, i, j, all);
-   /* FIXME: Do a special pass for that one */
-   EDJE_LOAD_PROGRAMS_ADD(nocmp, ed, i, j, all);
-
-   ssp->u.programs.globing = all;
-   ssp->u.programs.count = j;
-   ssp->signals_patterns = edje_match_programs_signal_init(all, j);
-   ssp->sources_patterns = edje_match_programs_source_init(all, j);
-}
-
-#ifdef HAVE_EPHYSICS
-static void
-_edje_physics_world_update_cb(void *data, EPhysics_World *world __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje *edje = data;
-   _edje_recalc_do(edje);
-}
-#endif
-
-int
-_edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested)
-{
-   Edje *ed;
-   Evas *tev;
-   Edje_Real_Part *rp;
-   Eina_List *textblocks = NULL;
-   Eina_List *sources = NULL;
-   Eina_List *externals = NULL;
-   Eina_List *collect = NULL;
-   unsigned int n;
-   Eina_Array parts;
-   int group_path_started = 0;
-   Evas_Object *nested_smart = NULL;
-
-   /* Get data pointer of top-of-stack */
-   int idx = eina_array_count(nested) - 1;
-   Edje_Nested_Support *st_nested = (idx >= 0) ? eina_array_data_get(nested, idx) : NULL;
-
-   ed = _edje_fetch(obj);
-   if (!ed) return 0;
-   if (!file) file = "";
-   if (!group) group = "";
-   if (((ed->path) && (!strcmp(file, ed->path))) &&
-       (ed->group) && (!strcmp(group, ed->group)) &&
-       ed->file)
-     {
-        struct stat st;
-
-        if (stat(file, &st) != 0)
-          return 1;
-        if (st.st_mtime == ed->file->mtime)
-          return 1;
-     }
-
-   tev = evas_object_evas_get(obj);
-   evas_event_freeze(tev);
-
-   collect = _edje_object_collect(ed);
-
-   if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
-   if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
-
-#ifdef HAVE_EPHYSICS
-   /* clear physics world  / shutdown ephysics */
-   if ((ed->collection) && (ed->collection->physics_enabled))
-     {
-        ephysics_world_del(ed->world);
-        ephysics_shutdown();
-     }
-#endif
-
-   _edje_file_del(ed);
-
-   eina_stringshare_replace(&ed->path, file);
-   eina_stringshare_replace(&ed->group, group);
-
-   ed->parent = eina_stringshare_add(parent);
-
-   ed->load_error = EDJE_LOAD_ERROR_NONE;
-   _edje_file_add(ed);
-   ed->block_break = EINA_FALSE;
-
-   if (ed->file && ed->file->external_dir)
-     {
-       unsigned int i;
-
-       for (i = 0; i < ed->file->external_dir->entries_count; ++i)
-         edje_module_load(ed->file->external_dir->entries[i].entry);
-     }
-
-   _edje_textblock_styles_add(ed);
-   _edje_textblock_style_all_update(ed);
-
-   ed->has_entries = EINA_FALSE;
-
-   if (ed->collection)
-     {
-        eina_array_step_set(&parts, sizeof (Eina_Array), 8);
-
-        if (ed->collection->prop.orientation != EDJE_ORIENTATION_AUTO)
-          ed->is_rtl = (ed->collection->prop.orientation ==
-                        EDJE_ORIENTATION_RTL);
-
-       ed->groups = eina_list_append(ed->groups, ed);
-
-       if (ed->collection->script_only)
-         {
-            ed->load_error = EDJE_LOAD_ERROR_NONE;
-            _edje_script_only_init(ed);
-         }
-       else if (ed->collection->lua_script_only)
-         {
-            ed->load_error = EDJE_LOAD_ERROR_NONE;
-            _edje_lua_script_only_init(ed);
-         }
-       else
-         {
-            unsigned int i;
-
-             if (ed->collection->physics_enabled)
-#ifdef HAVE_EPHYSICS
-               {
-                  ephysics_init();
-                  ed->world = ephysics_world_new();
-                  ephysics_world_event_callback_add(
-                     ed->world, EPHYSICS_CALLBACK_WORLD_UPDATE,
-                     _edje_physics_world_update_cb, ed);
-                  ephysics_world_rate_set(ed->world,
-                                          ed->collection->physics.world.rate);
-                  ephysics_world_gravity_set(
-                     ed->world, ed->collection->physics.world.gravity.x,
-                     ed->collection->physics.world.gravity.y,
-                     ed->collection->physics.world.gravity.z);
-               }
-#else
-               ERR("Edje compiled without support to physics.");
-#endif
-
-            /* colorclass stuff */
-            for (i = 0; i < ed->collection->parts_count; ++i)
-              {
-                 Edje_Part *ep;
-                 unsigned int k;
-
-                 ep = ed->collection->parts[i];
-
-                 /* Register any color classes in this parts descriptions. */
-                 if ((ep->default_desc) && (ep->default_desc->color_class))
-                   _edje_color_class_member_add(ed, ep->default_desc->color_class);
-
-                 for (k = 0; k < ep->other.desc_count; k++)
-                   {
-                      Edje_Part_Description_Common *desc;
-
-                      desc = ep->other.desc[k];
-
-                      if (desc->color_class)
-                        _edje_color_class_member_add(ed, desc->color_class);
-                   }
-              }
-            /* build real parts */
-            for (n = 0; n < ed->collection->parts_count; n++)
-              {
-                 Edje_Part *ep;
-                  Eina_Bool memerr = EINA_FALSE;
-
-                 ep = ed->collection->parts[n];
-
-                  if (ep->nested_children_count)
-                    {  /* Add object to nested parts list */
-                       st_nested = malloc(sizeof(*st_nested));
-                       nested_smart = st_nested->o = edje_smart_nested_add(tev);
-
-                       /* We add 1 to children_count because the parent
-                          object is added to smart obj children as well */
-                       st_nested->nested_children_count =
-                          ep->nested_children_count + 1;
-
-                       evas_object_show(st_nested->o);
-
-                       eina_array_push(nested, st_nested);
-                    }
-
-                 rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_Real_Part));
-                 if (!rp)
-                   {
-                       /* FIXME: destroy all allocated ressource, need to have a common exit point */
-                      ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
-                       goto on_error;
-                   }
-
-                 memset(rp, 0, sizeof (Edje_Real_Part));
-
-                 if ((ep->dragable.x != 0) || (ep->dragable.y != 0))
-                   {
-                      rp->drag = calloc(1, sizeof (Edje_Real_Part_Drag));
-                      if (!rp->drag)
-                        {
-                           ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
-                            goto on_error;
-                        }
-
-                      rp->drag->step.x = FROM_INT(ep->dragable.step_x);
-                      rp->drag->step.y = FROM_INT(ep->dragable.step_y);
-                   }
-                  // allow part type specific data - this keeps real_part smaller
-                 switch (ep->type)
-                    {
-                    case EDJE_PART_TYPE_TEXT:
-                    case EDJE_PART_TYPE_TEXTBLOCK:
-                       rp->type = EDJE_RP_TYPE_TEXT;
-                       rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text));
-                       if (!rp->typedata.text) memerr = EINA_TRUE;
-                       break;
-                    case EDJE_PART_TYPE_GROUP:
-                    case EDJE_PART_TYPE_SWALLOW:
-                    case EDJE_PART_TYPE_EXTERNAL:
-                       rp->type = EDJE_RP_TYPE_SWALLOW;
-                       rp->typedata.swallow = calloc(1, sizeof(Edje_Real_Part_Swallow));
-                       if (!rp->typedata.swallow) memerr = EINA_TRUE;
-                       break;
-                    case EDJE_PART_TYPE_BOX:
-                    case EDJE_PART_TYPE_TABLE:
-                       rp->type = EDJE_RP_TYPE_CONTAINER;
-                       rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
-                       if (!rp->typedata.container) memerr = EINA_TRUE;
-                       break;
-                     default:
-                       break;
-                    }
-                  
-                  if (memerr)
-                    {
-                       if (rp->drag) free(rp->drag);
-                       ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
-                       eina_mempool_free(_edje_real_part_mp, rp);
-                       evas_event_thaw(tev);
-                       evas_event_thaw_eval(tev);
-                       return 0;
-                    }
-
-                 rp->edje = ed;
-                 _edje_ref(rp->edje);
-                 rp->part = ep;
-                  eina_array_push(&parts, rp);
-                 rp->param1.description = 
-                    _edje_part_description_find(ed, rp, "default", 0.0);
-                 rp->chosen_description = rp->param1.description;
-                 if (!rp->param1.description)
-                   ERR("no default part description for '%s'!",
-                        rp->part->name);
-
-                 switch (ep->type)
-                   {
-                    case EDJE_PART_TYPE_RECTANGLE:
-                       rp->object = evas_object_rectangle_add(ed->base->evas);
-                       break;
-                     case EDJE_PART_TYPE_PROXY:
-                    case EDJE_PART_TYPE_IMAGE:
-                       rp->object = evas_object_image_add(ed->base->evas);
-                       break;
-                    case EDJE_PART_TYPE_TEXT:
-                       _edje_text_part_on_add(ed, rp);
-                       rp->object = evas_object_text_add(ed->base->evas);
-                       evas_object_text_font_source_set(rp->object, ed->path);
-                       break;
-                    case EDJE_PART_TYPE_GROUP:
-                        sources = eina_list_append(sources, rp);
-                    case EDJE_PART_TYPE_SWALLOW:
-                    case EDJE_PART_TYPE_EXTERNAL:
-                        if (ep->type == EDJE_PART_TYPE_EXTERNAL)
-                          externals = eina_list_append(externals, rp);
-                       rp->object = evas_object_rectangle_add(ed->base->evas);
-                       evas_object_color_set(rp->object, 0, 0, 0, 0);
-                       evas_object_pass_events_set(rp->object, 1);
-                       evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
-                       _edje_callbacks_focus_add(rp->object, ed, rp);
-                       break;
-                    case EDJE_PART_TYPE_TEXTBLOCK:
-                       textblocks = eina_list_append(textblocks, rp);
-                       rp->object = evas_object_textblock_add(ed->base->evas);
-                       break;
-                    case EDJE_PART_TYPE_BOX:
-                        sources = eina_list_append(sources, rp);
-                       rp->object = evas_object_box_add(ed->base->evas);
-                        rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object);
-                       break;
-                    case EDJE_PART_TYPE_TABLE:
-                        sources = eina_list_append(sources, rp);
-                       rp->object = evas_object_table_add(ed->base->evas);
-                       break;
-                    case EDJE_PART_TYPE_GRADIENT:
-                       ERR("SPANK ! SPANK ! SPANK ! YOU ARE USING GRADIENT IN PART %s FROM GROUP %s INSIDE FILE %s !! THEY ARE NOW REMOVED !",
-                           ep->name, group, file);
-                       break;
-                    case EDJE_PART_TYPE_SPACER:
-                        rp->object = NULL;
-                        break;
-                    default:
-                       ERR("wrong part type %i!", ep->type);
-                       break;
-                   }
-
-                 if (rp->object)
-                   {
-                       if (nested_smart)
-                         {  /* Update this pointer to father object only
-                               this will make smart object size == father sz */
-                            rp->nested_smart = nested_smart;
-                            nested_smart = NULL;
-                         }
-
-                       if (st_nested && st_nested->nested_children_count)
-                         {  /* Add this to list of children */
-                            evas_object_smart_member_add(rp->object,
-                                                        st_nested->o);
-
-                            st_nested->nested_children_count--;
-
-                            /* No more nested children for this obj */
-                            while (st_nested && (st_nested->nested_children_count == 0))
-                              {
-                                 /* Loop to add smart counter as child */
-                                 Evas_Object *p_obj = st_nested->o;
-
-                                 st_nested = eina_array_pop(nested);
-                                 free(st_nested);
-
-                                 /* Check for parent in stack */
-                                 idx = eina_array_count(nested) - 1;
-                                 st_nested = (idx >= 0) ? eina_array_data_get(nested,idx) : NULL;
-
-                                 if (st_nested)
-                                   {
-                                      st_nested->nested_children_count--;
-                                      evas_object_smart_member_add(p_obj, st_nested->o);
-                                   }
-                                 else
-                                   {
-                                      evas_object_smart_member_add(p_obj, ed->obj);
-                                   }
-                              }
-                         }
-                       else
-                         evas_object_smart_member_add(rp->object, ed->obj);
-
-//                    evas_object_layer_set(rp->object, evas_object_layer_get(ed->obj));
-                      if (ep->type != EDJE_PART_TYPE_SWALLOW && ep->type != EDJE_PART_TYPE_GROUP && ep->type != EDJE_PART_TYPE_EXTERNAL)
-                        {
-                           if (ep->mouse_events)
-                             {
-                                _edje_callbacks_add(rp->object, ed, rp);
-                                if (ep->repeat_events)
-                                  evas_object_repeat_events_set(rp->object, 1);
-                                
-                                if (ep->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
-                                  evas_object_pointer_mode_set(rp->object, ep->pointer_mode);
-                             }
-                           else
-                             {
-                                evas_object_pass_events_set(rp->object, 1);
-                                evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
-                             }
-                           if (ep->precise_is_inside)
-                             evas_object_precise_is_inside_set(rp->object, 1);
-                        }
-                      if (rp->part->clip_to_id < 0)
-                        evas_object_clip_set(rp->object, ed->base->clipper);
-                   }
-              }
-            if (n > 0)
-              {
-                 ed->table_parts = malloc(sizeof(Edje_Real_Part *) * n);
-                 ed->table_parts_size = n;
-                 /* FIXME: check malloc return */
-                 n = eina_array_count(&parts) - 1;
-                  while ((rp = eina_array_pop(&parts)))
-                   {
-                      ed->table_parts[n] = rp;
-                      n--;
-                   }
-                 for (i = 0; i < ed->table_parts_size; i++)
-                   {
-                      rp = ed->table_parts[i];
-                      if (rp->param1.description) /* FIXME: prevent rel to gone radient part to go wrong. You may
-                                                     be able to remove this when all theme are correctly rewritten. */
-                        {
-                           if (rp->param1.description->rel1.id_x >= 0)
-                             rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
-                           if (rp->param1.description->rel1.id_y >= 0)
-                             rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
-                           if (rp->param1.description->rel2.id_x >= 0)
-                             rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
-                           if (rp->param1.description->rel2.id_y >= 0)
-                             rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
-                        }
-                      if (rp->part->clip_to_id >= 0)
-                        {
-                           rp->clip_to = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
-                           if (rp->clip_to &&
-                                rp->clip_to->object &&
-                                rp->object)
-                             {
-                                evas_object_pass_events_set(rp->clip_to->object, 1);
-                                evas_object_pointer_mode_set(rp->clip_to->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
-                                evas_object_clip_set(rp->object, rp->clip_to->object);
-                             }
-                        }
-                      if (rp->drag)
-                        {
-                           if (rp->part->dragable.confine_id >= 0)
-                             rp->drag->confine_to = ed->table_parts[rp->part->dragable.confine_id % ed->table_parts_size];
-                        }
-
-                      /* replay events for dragable */
-                      if (rp->part->dragable.event_id >= 0)
-                        {
-                           rp->events_to =
-                             ed->table_parts[rp->part->dragable.event_id % ed->table_parts_size];
-                           /* events_to may be used only with dragable */
-                           if (!rp->events_to->part->dragable.x &&
-                               !rp->events_to->part->dragable.y)
-                             rp->events_to = NULL;
-                        }
-
-                       if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                           (rp->typedata.swallow))
-                         {
-                            rp->typedata.swallow->swallow_params.min.w = 0;
-                            rp->typedata.swallow->swallow_params.min.h = 0;
-                            rp->typedata.swallow->swallow_params.max.w = -1;
-                            rp->typedata.swallow->swallow_params.max.h = -1;
-                         }
-
-                      if (rp->part->type == EDJE_PART_TYPE_TEXT
-                          || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-                        {
-                           Edje_Part_Description_Text *text;
-
-                           text = (Edje_Part_Description_Text *) rp->param1.description;
-
-                           if (ed->file->feature_ver < 1)
-                             {
-                                text->text.id_source = -1;
-                                text->text.id_text_source = -1;
-                             }
-
-                            if ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                                (rp->typedata.text))
-                              {
-                                 if (text->text.id_source >= 0)
-                                   rp->typedata.text->source = ed->table_parts[text->text.id_source % ed->table_parts_size];
-                                 if (text->text.id_text_source >= 0)
-                                   rp->typedata.text->text_source = ed->table_parts[text->text.id_text_source % ed->table_parts_size];
-                              }
-                           if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-                             {
-                                _edje_entry_real_part_init(rp);
-                                if (!ed->has_entries)
-                                  ed->has_entries = EINA_TRUE;
-                             }
-                        }
-                   }
-              }
-            
-            _edje_programs_patterns_init(ed);
-
-            n = ed->collection->programs.fnmatch_count +
-              ed->collection->programs.strcmp_count +
-              ed->collection->programs.strncmp_count +
-              ed->collection->programs.strrncmp_count +
-              ed->collection->programs.nocmp_count;
-            if (n > 0)
-              {
-                 Edje_Program *pr;
-
-                 ed->table_programs = malloc(sizeof(Edje_Program *) * n);
-                 if (ed->table_programs)
-                   {
-                      ed->table_programs_size = n;
-
-#define EDJE_LOAD_BUILD_TABLE(Array, Ed, It, Tmp)      \
-                      for (It = 0; It < Ed->collection->programs.Array##_count; ++It) \
-                        {                                              \
-                           Tmp = Ed->collection->programs.Array[It];   \
-                           Ed->table_programs[Tmp->id] = Tmp;          \
-                        }
-
-                      EDJE_LOAD_BUILD_TABLE(fnmatch, ed, i, pr);
-                      EDJE_LOAD_BUILD_TABLE(strcmp, ed, i, pr);
-                      EDJE_LOAD_BUILD_TABLE(strncmp, ed, i, pr);
-                      EDJE_LOAD_BUILD_TABLE(strrncmp, ed, i, pr);
-                      EDJE_LOAD_BUILD_TABLE(nocmp, ed, i, pr);
-                   }
-              }
-            _edje_ref(ed);
-            _edje_block(ed);
-            _edje_freeze(ed);
-//          if (ed->collection->script) _edje_embryo_script_init(ed);
-            _edje_var_init(ed);
-            for (i = 0; i < ed->table_parts_size; i++)
-              {
-                 rp = ed->table_parts[i];
-                 evas_object_show(rp->object);
-                 if (_edje_block_break(ed)) break;
-                 if (rp->drag)
-                   {
-                      if (rp->part->dragable.x < 0) rp->drag->val.x = FROM_DOUBLE(1.0);
-                      if (rp->part->dragable.y < 0) rp->drag->val.x = FROM_DOUBLE(1.0);
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                   }
-              }
-             ed->recalc_call = EINA_TRUE;
-            ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-            ed->all_part_change = EINA_TRUE;
-#endif
-            if ((evas_object_clipees_get(ed->base->clipper)) &&
-                (evas_object_visible_get(obj)))
-              evas_object_show(ed->base->clipper);
-
-            /* instantiate 'internal swallows' */
-             EINA_LIST_FREE(externals, rp)
-               {
-                  Edje_Part_Description_External *external;
-                  Evas_Object *child_obj;
-
-                  external = (Edje_Part_Description_External *) rp->part->default_desc;
-                  child_obj = _edje_external_type_add(rp->part->source,
-                                                      evas_object_evas_get(ed->obj), ed->obj,
-                                                      external->external_params, rp->part->name);
-                  if (child_obj)
-                    {
-                       _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
-                       rp->param1.external_params = _edje_external_params_parse(child_obj,
-                                                                                external->external_params);
-                       _edje_external_recalc_apply(ed, rp, NULL, rp->chosen_description);
-                    }
-               }
-
-             EINA_LIST_FREE(sources, rp)
-              {
-                 /* XXX: curr_item and pack_it don't require to be NULL since
-                  * XXX: they are just used when source != NULL and type == BOX,
-                  * XXX: and they're always set in this case, but GCC fails to
-                  * XXX: notice that, so let's shut it up
-                  */
-                 Edje_Pack_Element **curr_item = NULL;
-                 unsigned int item_count = 0;
-                 Edje_Pack_Element *pack_it = NULL;
-                 const char *source = NULL;
-
-                 switch (rp->part->type)
-                   {
-                    case EDJE_PART_TYPE_GROUP:
-                       source = rp->part->source;
-                       break;
-                    case EDJE_PART_TYPE_BOX:
-                    case EDJE_PART_TYPE_TABLE:
-                       if (rp->part->items)
-                         {
-                            curr_item = rp->part->items;
-                            item_count = rp->part->items_count;
-                            if (item_count > 0)
-                              {
-                                 pack_it = *curr_item;
-                                 source = pack_it->source;
-                                 item_count--;
-                                 curr_item++;
-                              }
-                         }
-                       break;
-                    default:
-                        /* This list should only be filled by group, box or table, nothing else. */
-                        abort();
-                       continue;
-                   }
-
-                 while (source)
-                   {
-                      Eina_List *l;
-                      Evas_Object *child_obj;
-                      const char *group_path_entry = eina_stringshare_add(source);
-                      const char *data;
-
-                      if (!group_path)
-                        {
-                           group_path = eina_list_append(NULL, eina_stringshare_add(group));
-                           group_path_started = 1;
-                        }
-                      /* make sure that this group isn't already in the tree of parents */
-                      EINA_LIST_FOREACH(group_path, l, data)
-                        {
-                           if (data == group_path_entry)
-                             {
-                                 ERR("recursive loop group '%s' already included inside part '%s' of group '%s' from file '%s'",
-                                     group_path_entry, rp->part->name, group, file);
-                                 ed->load_error = EDJE_LOAD_ERROR_RECURSIVE_REFERENCE;
-                                 eina_stringshare_del(group_path_entry);
-                                goto on_error;
-                             }
-                        }
-
-                      child_obj = edje_object_add(ed->base->evas);
-                      group_path = eina_list_append(group_path, group_path_entry);
-                      if (rp->part->type == EDJE_PART_TYPE_GROUP)
-                        {
-                            _edje_real_part_swallow(rp, child_obj, EINA_FALSE);
-                        }
-
-                      if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path, nested))
-                        {
-                            ERR("impossible to set part '%s' of group '%s' from file '%s' to '%s'",
-                                rp->part->name, group_path_entry, file, source);
-                           ed->load_error = edje_object_load_error_get(child_obj);
-                            evas_object_del(child_obj);
-                            eina_stringshare_del(group_path_entry);
-                            goto on_error;
-                        }
-
-                      group_path = eina_list_remove(group_path, group_path_entry);
-                      eina_stringshare_del(group_path_entry);
-
-                       edje_object_propagate_callback_add(child_obj,
-                                                          _cb_signal_repeat,
-                                                          obj);
-                      if (rp->part->type == EDJE_PART_TYPE_GROUP)
-                        {
-                            ed->groups = eina_list_append(ed->groups, _edje_fetch(child_obj));
-                            _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
-                            _edje_subobj_register(ed, child_obj);
-                           source = NULL;
-                        }
-                      else
-                        {
-                            if ((rp->type == EDJE_RP_TYPE_CONTAINER) &&
-                                (rp->typedata.container))
-                              {
-                                 pack_it->parent = rp;
-                                 
-                                 _edje_object_pack_item_hints_set(child_obj, pack_it);
-                                 if (pack_it->name)
-                                   evas_object_name_set(child_obj, pack_it->name);
-                                 
-                                 if (rp->part->type == EDJE_PART_TYPE_BOX)
-                                   {
-                                      _edje_real_part_box_append(rp, child_obj);
-                                      evas_object_data_set(child_obj, "\377 edje.box_item", pack_it);
-                                   }
-                                 else if (rp->part->type == EDJE_PART_TYPE_TABLE)
-                                   {
-                                      _edje_real_part_table_pack(rp, child_obj, pack_it->col, pack_it->row, pack_it->colspan, pack_it->rowspan);
-                                      evas_object_data_set(child_obj, "\377 edje.table_item", pack_it);
-                                   }
-                                 _edje_subobj_register(ed, child_obj);
-                                 evas_object_show(child_obj);
-                                 rp->typedata.container->items = eina_list_append(rp->typedata.container->items, child_obj);
-                                 
-                                 if (item_count > 0)
-                                   {
-                                      pack_it = *curr_item;
-                                      source = pack_it->source;
-                                      curr_item++;
-                                      item_count--;
-                                   }
-                                 else
-                                   {
-                                      source = NULL;
-                                      curr_item = NULL;
-                                      pack_it = NULL;
-                                   }
-                              }
-                        }
-                   }
-              }
-
-            if (group_path_started)
-              {
-                 const char *str;
-
-                 EINA_LIST_FREE(group_path, str)
-                   eina_stringshare_del(str);
-              }
-
-            /* reswallow any swallows that existed before setting the file */
-             if (collect)
-               {
-                  Edje_User_Defined *eud;
-                  Eina_List *boxes = NULL;
-
-                  EINA_LIST_FREE(collect, eud)
-                    {
-                       Evas_Object *child = NULL;
-
-                       switch (eud->type)
-                         {
-                          case EDJE_USER_SWALLOW:
-                             edje_object_part_swallow(obj, eud->part, eud->u.swallow.child);
-                             child = eud->u.swallow.child;
-                             break;
-                          case EDJE_USER_BOX_PACK:
-                             boxes = eina_list_append(boxes, eud);
-                             eud = NULL;
-                             break;
-                          case EDJE_USER_TABLE_PACK:
-                             edje_object_part_table_pack(obj, eud->part, eud->u.table.child,
-                                                         eud->u.table.col, eud->u.table.row,
-                                                         eud->u.table.colspan, eud->u.table.rowspan);
-                             child = eud->u.table.child;
-                             break;
-                          case EDJE_USER_DRAG_STEP:
-                             edje_object_part_drag_step_set(obj, eud->part,
-                                                            eud->u.drag_position.x,
-                                                            eud->u.drag_position.y);
-                             break;
-                          case EDJE_USER_DRAG_PAGE:
-                             edje_object_part_drag_page_set(obj, eud->part,
-                                                            eud->u.drag_position.x,
-                                                            eud->u.drag_position.y);
-                             break;
-                          case EDJE_USER_DRAG_VALUE:
-                             edje_object_part_drag_value_set(obj, eud->part,
-                                                             eud->u.drag_position.x,
-                                                             eud->u.drag_position.y);
-                             break;
-                          case EDJE_USER_DRAG_SIZE:
-                             edje_object_part_drag_size_set(obj, eud->part,
-                                                            eud->u.drag_size.w,
-                                                            eud->u.drag_size.h);
-                             break;
-                          case EDJE_USER_STRING:
-                             edje_object_part_text_set(obj, eud->part, eud->u.string.text);
-                             eina_stringshare_del(eud->u.string.text);
-                             break;
-                         }
-                       if (eud) _edje_user_definition_remove(eud, child);
-                    }
-
-                  boxes = eina_list_sort(boxes, -1, _sort_defined_boxes);
-                  EINA_LIST_FREE(boxes, eud)
-                    {
-                       edje_object_part_box_append(obj, eud->part, eud->u.box.child);
-                       _edje_user_definition_remove(eud, eud->u.box.child);
-                    }
-               }
-
-             if (edje_object_mirrored_get(obj))
-               edje_object_signal_emit(obj, "edje,state,rtl", "edje");
-             else
-               edje_object_signal_emit(obj, "edje,state,ltr", "edje");
-
-            _edje_recalc(ed);
-            _edje_thaw(ed);
-            _edje_unblock(ed);
-            _edje_unref(ed);
-            ed->load_error = EDJE_LOAD_ERROR_NONE;
-            _edje_emit(ed, "load", NULL);
-
-            /* instantiate 'internal textblock style' */
-             EINA_LIST_FREE(textblocks, rp)
-               if (rp->part->default_desc)
-                 {
-                    Edje_Part_Description_Text *text;
-                    Edje_Style *stl  = NULL;
-                    const char *style;
-
-                    text = (Edje_Part_Description_Text *) rp->part->default_desc;
-                    style = edje_string_get(&text->text.style);
-                    if (style)
-                      {
-                         Eina_List *l;
-
-                         EINA_LIST_FOREACH(ed->file->styles, l, stl)
-                           {
-                              if ((stl->name) && (!strcmp(stl->name, style))) break;
-                              stl = NULL;
-                           }
-                      }
-                    if (stl)
-                      {
-                         if (evas_object_textblock_style_get(rp->object) != stl->style)
-                           evas_object_textblock_style_set(rp->object, stl->style);
-                      }
-                 }
-         }
-        _edje_entry_init(ed);
-        eina_array_flush(&parts);
-        evas_event_thaw(tev);
-        evas_event_thaw_eval(tev);
-       return 1;
-     }
-   else
-     {
-        evas_event_thaw(tev);
-        evas_event_thaw_eval(tev);
-        return 0;
-     }
-   ed->load_error = EDJE_LOAD_ERROR_NONE;
-   _edje_entry_init(ed);
-   evas_event_thaw(tev);
-   evas_event_thaw_eval(tev);
-   return 1;
-
- on_error:
-   eina_list_free(textblocks);
-   eina_list_free(externals);
-   eina_list_free(sources);
-   eina_array_flush(&parts);
-   _edje_thaw(ed);
-   _edje_unblock(ed);
-   _edje_unref(ed);
-   _edje_file_del(ed);
-   if (group_path_started)
-     {
-        const char *path;
-
-        EINA_LIST_FREE(group_path, path)
-          eina_stringshare_del(path);
-     }
-   evas_event_thaw(tev);
-   evas_event_thaw_eval(tev);
-   return 0;
-}
-
-void
-_edje_file_add(Edje *ed)
-{
-   if (!_edje_edd_edje_file) return;
-   ed->file = _edje_cache_file_coll_open(ed->path, ed->group,
-                                        &(ed->load_error),
-                                        &(ed->collection),
-                                        ed);
-
-   if (!ed->collection)
-     {
-       if (ed->file)
-         {
-            _edje_cache_file_unref(ed->file);
-            ed->file = NULL;
-         }
-     }
-}
-
-static int
-_sort_defined_boxes(const void *a, const void *b)
-{
-   const Edje_User_Defined *euda = a;
-   const Edje_User_Defined *eudb = b;
-
-   if (euda->part - eudb->part != 0)
-     return euda->part - eudb->part;
-   return euda->u.box.index - eudb->u.box.index;
-}
-
-static Eina_List *
-_edje_object_collect(Edje *ed)
-{
-   Edje_User_Defined *eud;
-   Eina_List *collect;
-   Eina_List *l;
-
-   collect = ed->user_defined;
-   ed->user_defined = NULL;
-
-   EINA_LIST_FOREACH(collect, l, eud)
-     {
-        switch (eud->type)
-          {
-           case EDJE_USER_STRING:
-              eud->u.string.text = eina_stringshare_ref(eud->u.string.text);
-              break;
-           case EDJE_USER_BOX_PACK:
-              if (eud->u.box.index == -1)
-                {
-                   Edje_User_Defined *search;
-                   Edje_Real_Part *rp;
-                   Eina_List *children;
-                   Eina_List *ls;
-                   Evas_Object *child;
-                   int idx = 0;
-
-                   rp = _edje_real_part_recursive_get(ed, eud->part);
-                   if (rp->part->type != EDJE_PART_TYPE_BOX) continue ;
-
-                   children = evas_object_box_children_get(rp->object);
-                   EINA_LIST_FREE(children, child)
-                     if (!evas_object_data_get(child, "\377 edje.box_item"))
-                       {
-                          EINA_LIST_FOREACH(l, ls, search)
-                            {
-                               if (search->type == EDJE_USER_BOX_PACK &&
-                                   search->u.box.child == child &&
-                                   search->part == eud->part /* beauty of stringshare ! */)
-                                 {
-                                    search->u.box.index = idx++;
-                                    break;
-                                 }
-                            }
-                          _edje_real_part_box_remove(rp, child);
-                       }
-                }
-              break;
-           case EDJE_USER_TABLE_PACK:
-             {
-                Edje_Real_Part *rp;
-
-                rp = _edje_real_part_recursive_get(ed, eud->part);
-                if (rp->part->type != EDJE_PART_TYPE_TABLE) continue ;
-
-                _edje_real_part_table_unpack(rp, eud->u.table.child);
-                break;
-             }
-           case EDJE_USER_SWALLOW:
-              edje_object_part_unswallow(NULL, eud->u.swallow.child);
-              break;
-           case EDJE_USER_DRAG_STEP:
-           case EDJE_USER_DRAG_PAGE:
-           case EDJE_USER_DRAG_VALUE:
-           case EDJE_USER_DRAG_SIZE:
-              break;
-          }
-     }
-
-   return collect;
-}
-
-void
-_edje_file_del(Edje *ed)
-{
-   Edje_User_Defined *eud;
-   Evas *tev = NULL;
-   
-   if (ed->obj) tev = evas_object_evas_get(ed->obj);
-
-   ed->groups = eina_list_free(ed->groups);
-
-   if (tev) evas_event_freeze(tev);
-   if (ed->freeze_calc)
-     {
-        _edje_freeze_calc_list = eina_list_remove(_edje_freeze_calc_list, ed);
-        ed->freeze_calc = EINA_FALSE;
-        _edje_freeze_calc_count--;
-     }
-   _edje_entry_shutdown(ed);
-   _edje_message_del(ed);
-   _edje_block_violate(ed);
-   _edje_var_shutdown(ed);
-   _edje_programs_patterns_clean(ed);
-//   if (ed->collection)
-//     {
-//        if (ed->collection->script) _edje_embryo_script_shutdown(ed);
-//     }
-
-   if (!((ed->file) && (ed->collection)))
-     {
-        if (tev)
-          {
-             evas_event_thaw(tev);
-             evas_event_thaw_eval(tev);
-          }
-        return;
-     }
-
-   while (ed->user_defined)
-     {
-        eud = eina_list_data_get(ed->user_defined);
-        _edje_user_definition_free(eud);
-     }
-
-   if (ed->table_parts)
-     {
-       unsigned int i;
-       for (i = 0; i < ed->table_parts_size; i++)
-         {
-            Edje_Real_Part *rp;
-#ifdef HAVE_EPHYSICS
-             Evas_Object *face_obj;
-#endif
-
-            rp = ed->table_parts[i];
-
-#ifdef HAVE_EPHYSICS
-             EINA_LIST_FREE(rp->body_faces, face_obj)
-                evas_object_del(face_obj);
-#endif
-
-            if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-              _edje_entry_real_part_shutdown(rp);
-
-             if ((rp->type == EDJE_RP_TYPE_CONTAINER) &&
-                 (rp->typedata.container))
-               {
-                  if (rp->typedata.container->items)
-                    {
-                       /* evas_box/table handles deletion of objects */
-                       rp->typedata.container->items = eina_list_free(rp->typedata.container->items);
-                    }
-                  if (rp->typedata.container->anim)
-                    {
-                       _edje_box_layout_free_data(rp->typedata.container->anim);
-                       rp->typedata.container->anim = NULL;
-                    }
-                  free(rp->typedata.container);
-               }
-             else if ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                      (rp->typedata.text))
-               {
-                  if (rp->typedata.text->text) eina_stringshare_del(rp->typedata.text->text);
-                  if (rp->typedata.text->font) eina_stringshare_del(rp->typedata.text->font);
-                  if (rp->typedata.text->cache.in_str) eina_stringshare_del(rp->typedata.text->cache.in_str);
-                  if (rp->typedata.text->cache.out_str) eina_stringshare_del(rp->typedata.text->cache.out_str);
-                  free(rp->typedata.text);
-               }
-             else if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                      (rp->typedata.swallow))
-               {
-                  if (rp->typedata.swallow->swallowed_object)
-                    {
-                       /* Objects swallowed by the app do not get deleted,
-                        but those internally swallowed (GROUP type) do. */
-                       switch (rp->part->type)
-                         {
-                          case EDJE_PART_TYPE_EXTERNAL:
-                            _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, rp->param1.external_params);
-                            if (rp->param2)
-                              _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, rp->param2->external_params);
-                          case EDJE_PART_TYPE_GROUP:
-                            evas_object_del(rp->typedata.swallow->swallowed_object);
-                          default:
-                            break;
-                         }
-                       _edje_real_part_swallow_clear(rp);
-                       rp->typedata.swallow->swallowed_object = NULL;
-                    }
-                  free(rp->typedata.swallow);
-               }
-
-            if (rp->object)
-              {
-                 _edje_callbacks_del(rp->object, ed);
-                 _edje_callbacks_focus_del(rp->object, ed);
-                 evas_object_del(rp->object);
-              }
-
-            if (rp->custom)
-               {
-                  // xxx: lua2
-                  _edje_collection_free_part_description_clean(rp->part->type,
-                                                              rp->custom->description,
-                                                              ed->file->free_strings);
-                 free(rp->custom->description);
-                 rp->custom->description = NULL;
-               }
-
-            /* Cleanup optional part. */
-            free(rp->drag);
-            free(rp->param1.set);
-
-            if (rp->param2)
-              free(rp->param2->set);
-            eina_mempool_free(_edje_real_part_state_mp, rp->param2);
-
-            if (rp->custom)
-              free(rp->custom->set);
-            eina_mempool_free(_edje_real_part_state_mp, rp->custom);
-             
-            _edje_unref(rp->edje);
-            eina_mempool_free(_edje_real_part_mp, rp);
-         }
-     }
-   if ((ed->file) && (ed->collection))
-     {
-       Edje_Part *ep;
-       unsigned int i;
-
-       _edje_textblock_styles_del(ed);
-       for (i = 0; i < ed->collection->parts_count; ++i)
-         {
-            ep = ed->collection->parts[i];
-
-            _edje_text_part_on_del(ed, ep);
-            _edje_color_class_on_del(ed, ep);
-         }
-
-       _edje_cache_coll_unref(ed->file, ed->collection);
-       ed->collection = NULL;
-     }
-   if (ed->file)
-     {
-#ifdef HAVE_EIO
-        ed->file->edjes = eina_list_remove(ed->file->edjes, ed);
-#endif
-        _edje_cache_file_unref(ed->file);
-       ed->file = NULL;
-     }
-   if (ed->actions)
-     {
-       Edje_Running_Program *runp;
-
-       EINA_LIST_FREE(ed->actions, runp)
-         {
-            _edje_anim_count--;
-            free(runp);
-         }
-     }
-   _edje_animators = eina_list_remove(_edje_animators, ed);
-   if (ed->pending_actions)
-     {
-       Edje_Pending_Program *pp;
-
-       EINA_LIST_FREE(ed->pending_actions, pp)
-         {
-            ecore_timer_del(pp->timer);
-            free(pp);
-         }
-     }
-
-   if (ed->L) _edje_lua2_script_shutdown(ed);
-   while (ed->subobjs) _edje_subobj_unregister(ed, ed->subobjs->data);
-   if (ed->table_parts) free(ed->table_parts);
-   ed->table_parts = NULL;
-   ed->table_parts_size = 0;
-   if (ed->table_programs) free(ed->table_programs);
-   ed->table_programs = NULL;
-   ed->table_programs_size = 0;
-   ed->focused_part = NULL;
-   if (tev)
-     {
-        evas_event_thaw(tev);
-        evas_event_thaw_eval(tev);
-     }
-}
-
-void
-_edje_file_free(Edje_File *edf)
-{
-   Edje_Color_Class *ecc;
-#ifdef HAVE_EIO
-   Ecore_Event_Handler *event;
-#endif
-
-#define HASH_FREE(Hash)                                \
-   if (Hash) eina_hash_free(Hash);             \
-   Hash = NULL;
-
-   /* Clean cache before cleaning memory pool */
-   if (edf->collection_cache) _edje_cache_coll_flush(edf);
-
-   HASH_FREE(edf->fonts);
-   HASH_FREE(edf->collection);
-   HASH_FREE(edf->data);
-
-   if (edf->image_dir)
-     {
-       unsigned int i;
-
-       if (edf->free_strings)
-         {
-            for (i = 0; i < edf->image_dir->entries_count; ++i)
-              eina_stringshare_del(edf->image_dir->entries[i].entry);
-         }
-
-       /* Sets have been added after edje received eet dictionnary support */
-       for (i = 0; i < edf->image_dir->sets_count; ++i)
-         {
-            Edje_Image_Directory_Set_Entry *se;
-
-            EINA_LIST_FREE(edf->image_dir->sets[i].entries, se)
-              free(se);
-
-         }
-
-       free(edf->image_dir->entries);
-       free(edf->image_dir->sets);
-       free(edf->image_dir);
-     }
-   if (edf->sound_dir)
-     {
-        unsigned int i;
-
-        if (edf->free_strings)
-          {
-             for (i = 0; i < edf->sound_dir->samples_count; ++i)
-               {
-                  eina_stringshare_del(edf->sound_dir->samples[i].name);
-                  eina_stringshare_del(edf->sound_dir->samples[i].snd_src);
-               }
-
-             for (i = 0; i < edf->sound_dir->tones_count; ++i)
-               eina_stringshare_del(edf->sound_dir->tones[i].name);
-          }
-        free(edf->sound_dir->samples);
-        free(edf->sound_dir->tones);
-        free(edf->sound_dir);
-     }
-
-   if (edf->external_dir)
-     {
-       if (edf->external_dir->entries) free(edf->external_dir->entries);
-       free(edf->external_dir);
-     }
-
-   eina_hash_free(edf->color_hash);
-   EINA_LIST_FREE(edf->color_classes, ecc)
-     {
-       if (edf->free_strings && ecc->name) eina_stringshare_del(ecc->name);
-       free(ecc);
-     }
-
-   if (edf->collection_patterns) edje_match_patterns_free(edf->collection_patterns);
-#ifdef HAVE_EIO
-   if (edf->timeout) ecore_timer_del(edf->timeout);
-   EINA_LIST_FREE(edf->handlers, event)
-     ecore_event_handler_del(event);
-   eio_monitor_del(edf->monitor);
-#endif
-   if (edf->path) eina_stringshare_del(edf->path);
-   if (edf->free_strings && edf->compiler) eina_stringshare_del(edf->compiler);
-   _edje_textblock_style_cleanup(edf);
-   if (edf->ef) eet_close(edf->ef);
-   free(edf);
-}
-
-static void
-_edje_program_free(Edje_Program *pr, Eina_Bool free_strings)
-{
-   Edje_Program_Target *prt;
-   Edje_Program_After *pa;
-
-   if (free_strings)
-     {
-       if (pr->name) eina_stringshare_del(pr->name);
-       if (pr->signal) eina_stringshare_del(pr->signal);
-       if (pr->source) eina_stringshare_del(pr->source);
-       if (pr->filter.part) eina_stringshare_del(pr->filter.part);
-       if (pr->filter.state) eina_stringshare_del(pr->filter.state);
-       if (pr->state) eina_stringshare_del(pr->state);
-       if (pr->state2) eina_stringshare_del(pr->state2);
-   if (pr->sample_name) eina_stringshare_del(pr->sample_name);
-   if (pr->tone_name) eina_stringshare_del(pr->tone_name);
-     }
-   EINA_LIST_FREE(pr->targets, prt)
-     free(prt);
-   EINA_LIST_FREE(pr->after, pa)
-     free(pa);
-   free(pr);
-}
-
-void
-_edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec, Edje_Part_Collection_Directory_Entry *ce)
-{
-   unsigned int i;
-
-   _edje_embryo_script_shutdown(ec);
-
-#define EDJE_LOAD_PROGRAM_FREE(Array, Ec, It, FreeStrings)     \
-   for (It = 0; It < Ec->programs.Array##_count; ++It)         \
-     _edje_program_free(Ec->programs.Array[It], FreeStrings);  \
-   free(Ec->programs.Array);
-
-   EDJE_LOAD_PROGRAM_FREE(fnmatch, ec, i, edf->free_strings);
-   EDJE_LOAD_PROGRAM_FREE(strcmp, ec, i, edf->free_strings);
-   EDJE_LOAD_PROGRAM_FREE(strncmp, ec, i, edf->free_strings);
-   EDJE_LOAD_PROGRAM_FREE(strrncmp, ec, i, edf->free_strings);
-   EDJE_LOAD_PROGRAM_FREE(nocmp, ec, i, edf->free_strings);
-
-   for (i = 0; i < ec->parts_count; ++i)
-     {
-       Edje_Part *ep;
-       unsigned int j;
-
-       ep = ec->parts[i];
-
-       if (edf->free_strings && ep->name) eina_stringshare_del(ep->name);
-       if (ep->default_desc)
-         {
-            _edje_collection_free_part_description_clean(ep->type, ep->default_desc, edf->free_strings);
-            ep->default_desc = NULL;
-         }
-       for (j = 0; j < ep->other.desc_count; ++j)
-         _edje_collection_free_part_description_clean(ep->type, ep->other.desc[j], edf->free_strings);
-
-       free(ep->other.desc);
-        /* Alloc for RTL objects in edje_calc.c:_edje_part_description_find() */
-        if(ep->other.desc_rtl)
-          free(ep->other.desc_rtl);
-
-       free(ep->items);
-// technically need this - but we ASSUME we use "one_big" so everything gets
-// freed in one go lower down when we del the mempool... but what if pool goes
-// "over"?
-        eina_mempool_free(ce->mp.part, ep);
-     }
-   free(ec->parts);
-   ec->parts = NULL;
-
-   if (ec->data)
-     {
-       Eina_Iterator *it;
-       Edje_String *es;
-
-       it = eina_hash_iterator_data_new(ec->data);
-       EINA_ITERATOR_FOREACH(it, es)
-         free(es);
-       eina_iterator_free(it);
-
-       eina_hash_free(ec->data);
-     }
-#ifdef EDJE_PROGRAM_CACHE
-   if (ec->prog_cache.no_matches) eina_hash_free(ec->prog_cache.no_matches);
-   if (ec->prog_cache.matches)
-     {
-       eina_hash_foreach(ec->prog_cache.matches,
-                         _edje_collection_free_prog_cache_matches_free_cb,
-                         NULL);
-       eina_hash_free(ec->prog_cache.matches);
-     }
-#endif
-   if (ec->script) embryo_program_free(ec->script);
-   _edje_lua2_script_unload(ec);
-
-   eina_hash_free(ec->alias);
-   eina_hash_free(ec->aliased);
-
-   /* Destroy all part and description. */
-   edje_cache_emp_free(ce);
-   free(ec);
-}
-
-void
-_edje_collection_free_part_description_clean(int type, Edje_Part_Description_Common *desc, Eina_Bool free_strings)
-{
-   if (free_strings && desc->color_class) eina_stringshare_del(desc->color_class);
-
-   switch (type)
-     {
-      case EDJE_PART_TYPE_IMAGE:
-       {
-          Edje_Part_Description_Image *img;
-          unsigned int i;
-
-          img = (Edje_Part_Description_Image *) desc;
-
-          for (i = 0; i < img->image.tweens_count; ++i)
-            free(img->image.tweens[i]);
-          free(img->image.tweens);
-          break;
-       }
-      case EDJE_PART_TYPE_EXTERNAL:
-       {
-          Edje_Part_Description_External *external;
-
-          external = (Edje_Part_Description_External *) desc;
-
-          if (external->external_params)
-            _edje_external_params_free(external->external_params, free_strings);
-          break;
-       }
-      case EDJE_PART_TYPE_TEXT:
-      case EDJE_PART_TYPE_TEXTBLOCK:
-        if (free_strings)
-          {
-             Edje_Part_Description_Text *text;
-
-             text = (Edje_Part_Description_Text *) desc;
-
-             if (text->text.text.str)      eina_stringshare_del(text->text.text.str);
-             if (text->text.text_class)    eina_stringshare_del(text->text.text_class);
-             if (text->text.style.str)     eina_stringshare_del(text->text.style.str);
-             if (text->text.font.str)      eina_stringshare_del(text->text.font.str);
-          }
-        break;
-     }
-}
-
-void
-_edje_collection_free_part_description_free(int type,
-                                           Edje_Part_Description_Common *desc,
-                                           Edje_Part_Collection_Directory_Entry *ce,
-                                           Eina_Bool free_strings)
-{
-#define FREE_POOL(Type, Ce, Desc)                                      \
-   case EDJE_PART_TYPE_##Type: eina_mempool_free(Ce->mp.Type, Desc);    \
-                               ce->count.Type--;                        \
-                               break;
-
-   _edje_collection_free_part_description_clean(type, desc, free_strings);
-
-   switch (type)
-     {
-       FREE_POOL(RECTANGLE, ce, desc);
-       FREE_POOL(TEXT, ce, desc);
-       FREE_POOL(IMAGE, ce, desc);
-       FREE_POOL(PROXY, ce, desc);
-       FREE_POOL(SWALLOW, ce, desc);
-       FREE_POOL(TEXTBLOCK, ce, desc);
-       FREE_POOL(GROUP, ce, desc);
-       FREE_POOL(BOX, ce, desc);
-       FREE_POOL(TABLE, ce, desc);
-       FREE_POOL(EXTERNAL, ce, desc);
-     }
-}
-
-#ifdef EDJE_PROGRAM_CACHE
-static Eina_Bool
-_edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   eina_list_free((Eina_List *)data);
-   return EINA_TRUE;
-   key = NULL;
-   hash = NULL;
-   fdata = NULL;
-}
-#endif
-
-static void
-_edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it)
-{
-   Evas_Coord w = 0, h = 0, minw, minh;
-
-   minw = it->min.w;
-   minh = it->min.h;
-
-   if ((minw <= 0) && (minh <= 0))
-     {
-       edje_object_size_min_get(obj, &w, &h);
-       if ((w <= 0) && (h <= 0))
-         edje_object_size_min_calc(obj, &w, &h);
-     }
-   else
-     {
-       w = minw;
-       h = minh;
-     }
-   if (((minw <= 0) && (minh <= 0)) && ((w > 0) || (h > 0)))
-     evas_object_size_hint_min_set(obj, w, h);
-   else
-     evas_object_size_hint_min_set(obj, minw, minh);
-
-   evas_object_size_hint_request_set(obj, it->prefer.w, it->prefer.h);
-   evas_object_size_hint_max_set(obj, it->max.w, it->max.h);
-   evas_object_size_hint_padding_set(obj, it->padding.l, it->padding.r, it->padding.t, it->padding.b);
-   evas_object_size_hint_align_set(obj, TO_DOUBLE(it->align.x), TO_DOUBLE(it->align.y));
-   evas_object_size_hint_weight_set(obj, TO_DOUBLE(it->weight.x), TO_DOUBLE(it->weight.y));
-   evas_object_size_hint_aspect_set(obj, it->aspect.mode, it->aspect.w, it->aspect.h);
-
-   evas_object_resize(obj, w, h);
-}
-
-static const char *
-_edje_find_alias(Eina_Hash *aliased, char *src, int *length)
-{
-   const char *alias;
-   char *search;
-
-   *length = strlen(src);
-   if (*length == 0) return NULL;
-
-   alias = eina_hash_find(aliased, src);
-   if (alias) return alias;
-
-   search = strrchr(src, EDJE_PART_PATH_SEPARATOR);
-   if (search == NULL) return NULL;
-
-   *search = '\0';
-   alias = _edje_find_alias(aliased, src, length);
-   *search = EDJE_PART_PATH_SEPARATOR;
-
-   return alias;
-}
-
-static void
-_cb_signal_repeat(void *data, Evas_Object *obj, const char *sig, const char *source)
-{
-   Edje_Pack_Element *pack_it;
-   Evas_Object *parent;
-   Edje                *ed;
-   Edje         *ed_parent;
-   char                 new_src[4096]; /* XXX is this max reasonable? */
-   size_t       length_parent = 0;
-   size_t        length_index = 0;
-   size_t       length_source;
-   int           i = 0;
-   const char   *alias = NULL;
-   Edje_Message_Signal emsg;
-
-   parent = data;
-   ed = _edje_fetch(obj);
-   if (!ed) return;
-
-   pack_it = evas_object_data_get(obj, "\377 edje.box_item");
-   if (!pack_it) pack_it = evas_object_data_get(obj, "\377 edje.table_item");
-   if (pack_it)
-     {
-        if (!pack_it->name)
-          {
-             Eina_List *child = NULL;
-             Evas_Object *o;
-
-             if (pack_it->parent->part->type == EDJE_PART_TYPE_BOX)
-               {
-                  child = evas_object_box_children_get(pack_it->parent->object);
-               }
-             else if (pack_it->parent->part->type == EDJE_PART_TYPE_TABLE)
-               {
-                  child = evas_object_table_children_get(pack_it->parent->object);
-               }
-
-             EINA_LIST_FREE(child, o)
-               {
-                  if (o == obj) break;
-                  i++;
-               }
-
-             eina_list_free(child);
-
-             length_index = 12;
-          }
-        else
-          {
-             length_index = strlen(pack_it->name) + 2;
-          }
-     }
-
-   /* Replace snprint("%s%c%s") == memcpy + *new_src + memcat */
-   if (ed->parent)
-     length_parent = strlen(ed->parent);
-   length_source = strlen(source);
-   if (length_source + length_parent + 2 + length_index > sizeof(new_src))
-     return;
-
-   if (ed->parent)
-     memcpy(new_src, ed->parent, length_parent);
-   if (ed->parent && length_index)
-     {
-        new_src[length_parent++] = EDJE_PART_PATH_SEPARATOR_INDEXL;
-        if (length_index == 12)
-          length_parent += eina_convert_itoa(i, new_src + length_parent);
-        else
-          {
-             memcpy(new_src + length_parent, pack_it->name, length_index);
-             length_parent += length_index - 2;
-          }
-        new_src[length_parent++] = EDJE_PART_PATH_SEPARATOR_INDEXR;
-     }
-
-   new_src[length_parent] = EDJE_PART_PATH_SEPARATOR;
-   memcpy(new_src + length_parent + 1, source, length_source + 1);
-
-   /* Handle alias renaming */
-   ed_parent = _edje_fetch(parent);
-   if (ed_parent && ed_parent->collection && ed_parent->collection->aliased)
-     {
-        int length;
-
-        alias = _edje_find_alias(ed_parent->collection->aliased, new_src, &length);
-
-        if (alias)
-          {
-             int origin;
-
-             /* Add back the end of the source */
-             origin = strlen(new_src);
-             length ++; /* Remove the trailing ':' from the count */
-             if (origin > length)
-               {
-                  char *tmp;
-                  size_t alias_length;
-
-                  alias_length = strlen(alias);
-                  tmp = alloca(alias_length + origin - length + 2);
-                  memcpy(tmp, alias, alias_length);
-                  tmp[alias_length] = EDJE_PART_PATH_SEPARATOR;
-                  memcpy(tmp + alias_length + 1, new_src + length, origin - length + 1);
-
-                  alias = tmp;
-               }
-          }
-     }
-   
-   emsg.sig = sig;
-   emsg.src = alias ? alias : new_src;
-   emsg.data = NULL;
-   if (ed_parent)
-     _edje_message_send(ed_parent, EDJE_QUEUE_SCRIPT, 
-                        EDJE_MESSAGE_SIGNAL, 0, &emsg);
-}
diff --git a/legacy/edje/src/lib/edje_lua.c b/legacy/edje/src/lib/edje_lua.c
deleted file mode 100644 (file)
index 064e3e9..0000000
+++ /dev/null
@@ -1,5150 +0,0 @@
-#include "edje_private.h"
-
-#if 0
-/////////////////////////////////////////////////////////////////////////////
-// the below is deprecated and here for reference only until removed. look
-// at edje_lua2.c for the active workign code
-/////////////////////////////////////////////////////////////////////////////
-
-#include <lauxlib.h>
-#include <lualib.h>
-
-#define EDJE_LUA_GET 1
-#define EDJE_LUA_SET 2
-#define EDJE_LUA_FN 3
-
-typedef struct _Edje_Lua_Alloc Edje_Lua_Alloc;
-
-typedef struct _Edje_Lua_Ref Edje_Lua_Ref;
-
-typedef struct _Edje_Lua_Reg Edje_Lua_Reg;
-
-typedef struct _Edje_Lua_Timer Edje_Lua_Timer;
-
-typedef struct _Edje_Lua_Animator Edje_Lua_Animator;
-
-typedef struct _Edje_Lua_Poller Edje_Lua_Poller;
-
-typedef struct _Edje_Lua_Transform Edje_Lua_Transform;
-
-typedef struct _Edje_Lua_Transition Edje_Lua_Transition;
-
-typedef struct _Edje_Lua_Evas_Object Edje_Lua_Evas_Object;
-
-typedef struct _Edje_Lua_Edje_Part_Object Edje_Lua_Edje_Part_Object;
-
-typedef struct _Edje_Lua_Edje_Part_Description Edje_Lua_Edje_Part_Description;
-
-struct _Edje_Lua_Alloc
-{
-   size_t max, cur; /* maximal and current memory used by Lua */
-};
-
-struct _Edje_Lua_Ref
-{
-   int id;
-   lua_State *L;
-};
-
-struct _Edje_Lua_Reg
-{
-   const luaL_Reg *mt, *get, *set, *fn;
-};
-
-struct _Edje_Lua_Timer
-{
-   lua_State *L;
-   Ecore_Timer *et;
-   Edje_Lua_Ref *cb;
-};
-
-struct _Edje_Lua_Animator
-{
-   lua_State *L;
-   Ecore_Animator *ea;
-   Edje_Lua_Ref *cb;
-};
-
-struct _Edje_Lua_Poller
-{
-   lua_State *L;
-   Ecore_Poller *ep;
-   Edje_Lua_Ref *cb;
-};
-
-struct _Edje_Lua_Transform
-{
-   lua_State *L;
-   Evas_Transform et;
-};
-
-struct _Edje_Lua_Transition
-{
-   lua_State *L;
-   Ecore_Timer *et;
-   Edje_Lua_Ref *trans;
-   Edje_Lua_Ref *cb;
-   Edje_Lua_Ref *ref;
-   double dur;
-};
-
-struct _Edje_Lua_Evas_Object
-{
-   lua_State *L;
-   Edje *ed;
-   Evas_Object *eo;
-   Eina_Bool mouse_events;
-   Eina_List *cb;
-};
-
-struct _Edje_Lua_Edje_Part_Object
-{
-   lua_State *L;
-   Edje *ed;
-   Evas_Object *eo;
-   Edje_Real_Part *rp;
-   const char *key;
-};
-
-struct _Edje_Lua_Edje_Part_Description
-{
-   lua_State *L;
-   Edje *ed;
-   Evas_Object *eo;
-   Edje_Real_Part *rp;
-   Edje_Part_Description *pd;
-};
-
-jmp_buf _edje_lua_panic_jmp;
-
-static int
-_edje_lua_custom_panic(__UNUSED__ lua_State *L)
-{
-   CRITICAL("PANIC");
-   longjmp(_edje_lua_panic_jmp, 1);
-   return 1; /* longjmp() never returns, but this keep gcc happy */
-}
-
-void
-__edje_lua_error(const char *file, const char *fnc, int line, lua_State *L, int err_code)
-{
-   char *err_type;
-
-   switch (err_code)
-     {
-     case LUA_ERRRUN:
-       err_type = "runtime";
-       break;
-     case LUA_ERRSYNTAX:
-       err_type = "syntax";
-       break;
-     case LUA_ERRMEM:
-       err_type = "memory allocation";
-       break;
-     case LUA_ERRERR:
-       err_type = "error handler";
-       break;
-     default:
-       err_type = "unknown";
-       break;
-     }
-   eina_log_print
-     (_edje_default_log_dom, EINA_LOG_LEVEL_ERR,  file, fnc, line,
-      "Lua %s error: %s", err_type, lua_tostring(L, -1));
-   // don't exit. this is BAD. lua script bugs will cause thngs like e to
-   // exit mysteriously ending your x session. bad!
-   // exit(-1);
-}
-
-lua_State *
-_edje_lua_new_thread(Edje *ed, lua_State *L)
-{
-#if 1 // newlua
-   lua_newtable(L);
-   ed->lua_ref = luaL_ref(L, LUA_REGISTRYINDEX);
-   /* inherit new environment from global environment */
-   lua_createtable(L, 1, 0);
-   lua_pushvalue(L, LUA_GLOBALSINDEX);
-   lua_setfield(L, -2, "__index");
-   lua_setmetatable(L, -2);
-   lua_setfenv(L, -2);
-   return L;
-#else
-   /* create new thread */
-   lua_State *thread = lua_newthread(L);
-   //printf ("new thread %d->%d\n", L, thread);
-   /* create new environment for new thread */
-   lua_newtable(L);
-   /* inherit new environment from global environment */
-   lua_createtable(L, 1, 0);
-   lua_pushvalue(L, LUA_GLOBALSINDEX);
-   lua_setfield(L, -2, "__index");
-   lua_setmetatable(L, -2);
-   lua_setfenv(L, -2);
-   return thread;
-#endif   
-}
-
-void
-_edje_lua_free_thread(Edje *ed, lua_State *L)
-{
-#if 1 // newlua
-   luaL_unref(L, LUA_REGISTRYINDEX, ed->lua_ref);
-   lua_gc(L, LUA_GCCOLLECT, 0);
-#else   
-   lua_pushthread(L);
-   lua_getfenv(L, -1);
-   lua_pushnil(L);
-   while (lua_next(L, -2))
-     {
-       // key at -2, value at -1
-       lua_pop(L, 1);
-       lua_pushvalue(L, -1);
-       lua_pushnil(L);
-       lua_rawset(L, -4);
-     }
-   lua_settop(L, 0);
-   lua_gc(L, LUA_GCCOLLECT, 0);
-#endif   
-}
-
-/*
- * only for debug, returns number of objects in registry
- */
-static int
-_edje_lua_reg_count (lua_State *L)
-{
-   int count = 0;
-   lua_pushvalue(L, LUA_REGISTRYINDEX);
-   lua_pushnil(L);
-   while (lua_next(L, -2))
-     {
-       // key at -2, value at -1
-       lua_pop(L, 1);
-       count++;
-     }
-   lua_pop(L, 1);
-   return count;
-}
-
-static Edje_Lua_Ref *
-_edje_lua_new_ref(lua_State *L, int index)
-{
-   lua_pushvalue(L, index);
-   Edje_Lua_Ref *ref = malloc(sizeof(Edje_Lua_Ref));
-   ref->id = luaL_ref(L, LUA_REGISTRYINDEX);
-   ref->L = L;
-   return ref;
-}
-
-static void
-_edje_lua_get_ref(lua_State *L, Edje_Lua_Ref *ref)
-{
-   lua_rawgeti(L, LUA_REGISTRYINDEX, ref->id);
-}
-
-static void
-_edje_lua_free_ref(lua_State *L, Edje_Lua_Ref *ref)
-{
-   //printf ("_edje_lua_free_ref %d %d %d\n", L, lua_objlen(L, LUA_REGISTRYINDEX), _edje_lua_reg_count(L));
-   luaL_unref(L, LUA_REGISTRYINDEX, ref->id);
-   free(ref);
-   lua_gc(L, LUA_GCCOLLECT, 0);
-}
-
-void
-_edje_lua_new_reg(lua_State *L, int index, void *ptr)
-{
-   //printf ("_edje_lua_new_reg %d %d %d\n", L, ptr, _edje_lua_reg_count(L));
-   lua_pushvalue(L, index);
-   lua_pushlightuserdata(L, ptr);
-   lua_insert(L, -2);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_reg */
-}
-
-void
-_edje_lua_get_reg(lua_State *L, void *ptr)
-{
-   //printf ("_edje_lua_get_reg %d %d\n", L, ptr);
-   lua_pushlightuserdata(L, ptr);
-   lua_rawget(L, LUA_REGISTRYINDEX);
-}
-
-void
-_edje_lua_free_reg(lua_State *L, void *ptr)
-{
-   //printf ("_edje_lua_free_reg %d %d %d\n", L, ptr, _edje_lua_reg_count(L));
-   lua_pushlightuserdata(L, ptr);
-   lua_pushnil(L);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_reg */
-   lua_gc(L, LUA_GCCOLLECT, 0);
-}
-
-static void
-_edje_lua_rawsetfield(lua_State *L, int index, const char *key)
-{
-   lua_pushstring(L, key);
-   lua_insert(L, -2);
-   if (index < 0)
-      lua_rawset(L, index - 1);
-   else
-      lua_rawset(L, index);
-}
-
-static void
-_edje_lua_rawgetfield(lua_State *L, int index, const char *key)
-{
-   lua_pushstring(L, key);
-   if (index < 0)
-      lua_rawget(L, index - 1);
-   else
-      lua_rawget(L, index);
-}
-
-static void
-_edje_lua_new_const(lua_State *L, const char *id, int val)
-{
-   lua_pushnumber(L, val);
-   lua_setglobal(L, id);
-}
-
-static void
-_edje_lua_new_metatable(lua_State *L, const Edje_Lua_Reg ** class)
-{
-   lua_newtable(L);
-   lua_pushlightuserdata(L, class);
-   lua_pushvalue(L, -2);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_metatable */
-   lua_pushvalue(L, -1);
-   lua_pushlightuserdata(L, class);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_metatable */
-}
-
-static void
-_edje_lua_get_metatable(lua_State *L, const Edje_Lua_Reg ** class)
-{
-   lua_pushlightuserdata(L, class);
-   lua_rawget(L, LUA_REGISTRYINDEX);
-}
-
-static void
-_edje_lua_free_metatable(lua_State *L, const Edje_Lua_Reg ** class)
-{
-   lua_pushlightuserdata(L, class);
-   lua_rawget(L, LUA_REGISTRYINDEX);
-   lua_pushnil(L);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_metatable */
-   lua_pushlightuserdata(L, class);
-   lua_pushnil(L);
-   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_metatable */
-   lua_gc(L, LUA_GCCOLLECT, 0);
-}
-
-static void *
-_edje_lua_checkudata(lua_State *L, int pos, const Edje_Lua_Reg * module)
-{
-   luaL_checktype(L, pos, LUA_TUSERDATA);
-   lua_getmetatable(L, pos);
-   lua_rawget(L, LUA_REGISTRYINDEX);
-   Edje_Lua_Reg **class = lua_touserdata(L, -1);
-   lua_pop(L, 1);              // class
-   int flag = 0;
-   int ptr = 0;
-   while (class[ptr] && !flag)
-      if (class[ptr++] == module)
-        flag = 1;
-   if (!flag)
-     {
-       lua_pushstring(L, "class type mismatch");
-       lua_error(L);
-     }
-   return lua_touserdata(L, pos);
-}
-
-static void
-_edje_lua_new_class(lua_State *L, const Edje_Lua_Reg ** class)
-{
-   int n = 0;
-   _edje_lua_new_metatable(L, class);
-   while (class && (class[n] != NULL))
-     {
-       luaL_register(L, NULL, class[n]->mt);
-       lua_pushstring(L, "hands off, it's none of your business!");
-       _edje_lua_rawsetfield(L, -2, "__metatable");
-
-       if (n == 0)
-         {
-            lua_newtable(L);
-            luaL_register(L, NULL, class[n]->set);
-            lua_rawseti (L, -2, EDJE_LUA_SET);
-
-            lua_newtable(L);
-            luaL_register(L, NULL, class[n]->get);
-            lua_rawseti (L, -2, EDJE_LUA_GET);
-
-            lua_newtable(L);
-            luaL_register(L, NULL, class[n]->fn);
-            lua_rawseti (L, -2, EDJE_LUA_FN);
-         }
-       else
-         {
-            lua_rawgeti(L, -1, EDJE_LUA_SET);
-            luaL_register(L, NULL, class[n]->set);
-            lua_pop(L, 1);
-
-            lua_rawgeti(L, -1, EDJE_LUA_GET);
-            luaL_register(L, NULL, class[n]->get);
-            lua_pop(L, 1);
-
-            lua_rawgeti(L, -1, EDJE_LUA_FN);
-            luaL_register(L, NULL, class[n]->fn);
-            lua_pop(L, 1);
-         }
-       n += 1;
-     }
-}
-
-static void
-_edje_lua_set_class(lua_State *L, int index, const Edje_Lua_Reg ** class)
-{
-   lua_newtable(L);
-   if (index < 0)
-      lua_setfenv(L, index - 1);
-   else
-      lua_setfenv(L, index);
-
-   _edje_lua_get_metatable(L, class);
-   if (index < 0)
-      lua_setmetatable(L, index - 1);
-   else
-      lua_setmetatable(L, index);
-}
-
-static int
-_edje_lua_look_fn(lua_State *L)
-{
-   lua_rawgeti(L, -1, EDJE_LUA_FN);
-   lua_pushvalue(L, 2);                // key
-   lua_rawget(L, -2);          // .fn[key]
-   if (lua_iscfunction(L, -1))
-      return 1;
-   else
-     {
-       lua_pop(L, 2);          // .fn[key], .fn
-       return 0;
-     }
-}
-
-static int
-_edje_lua_look_get(lua_State *L)
-{
-   lua_rawgeti(L, -1, EDJE_LUA_GET);
-   lua_pushvalue(L, 2);                // key
-   lua_rawget(L, -2);          // .get[key]
-   if (lua_iscfunction(L, -1))
-     {
-       int err_code;
-
-       lua_pushvalue(L, 1);
-
-       if ((err_code = lua_pcall(L, 1, 1, 0)))
-          _edje_lua_error(L, err_code);
-       return 1;
-     }
-   else
-     {
-       lua_pop(L, 2);          // .get[key], .get
-       return 0;
-     }
-}
-
-static int
-_edje_lua_look_set(lua_State *L)
-{
-   lua_rawgeti(L, -1, EDJE_LUA_SET);
-   lua_pushvalue(L, 2);                // key
-   lua_rawget(L, -2);          // .set[key]
-   if (lua_iscfunction(L, -1))
-     {
-       int err_code;
-
-       lua_pushvalue(L, 1);    // obj
-       lua_pushvalue(L, 3);    // value
-
-       if ((err_code = lua_pcall(L, 2, 0, 0))) // .set[key](obj,key,value)
-          _edje_lua_error(L, err_code);
-       return 1;
-     }
-   else
-     {
-       lua_pop(L, 2);          // .set[key], .set
-       return 0;
-     }
-}
-
-/*
- * Lua Class bindings
- */
-
-const luaL_Reg lNil[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lClass_mt[];
-
-const luaL_Reg lClass_fn[];
-
-const Edje_Lua_Reg mClass = {
-   lClass_mt,
-   lNil,
-   lNil,
-   lClass_fn
-};
-
-static int
-_edje_lua_class_mt_index(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   lua_getmetatable(L, 1);
-   if (!_edje_lua_look_fn(L))  // look in lClass_fn
-      if (!_edje_lua_look_get(L))      // look in lClass_get
-       {                       // look in obj ref hash
-          lua_getfenv(L, 1);
-          lua_pushvalue(L, 2); // key
-          lua_rawget(L, -2);
-       }
-   return 1;
-}
-
-static int
-_edje_lua_class_mt_newindex(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   lua_getmetatable(L, 1);
-   if (!_edje_lua_look_set(L)) // look in lClass_set
-     {                         // look in obj ref hash
-       lua_getfenv(L, 1);
-       lua_pushvalue(L, 2);
-       lua_pushvalue(L, 3);
-       lua_rawset(L, -3);
-     }
-   return 0;
-}
-
-static int
-_edje_lua_class_mt_gc(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   //printf("_edje_lua_class_mt_gc\n");
-   /* FIXME has to be commented to not raise an error, solve differently
-   lua_getfield(L, 1, "del");
-   if (!lua_isnil(L, -1))
-     {
-       lua_pushvalue(L, 1);
-       int err_code;
-
-       if (err_code = lua_pcall(L, 1, 0, 0))
-          _edje_lua_error(L, err_code);
-     }
-   lua_pop(L, 1);
-   */
-   return 0;
-}
-
-static int
-_edje_lua_class_fn_set(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   /*
-    * for k,v in pairs(table) do
-    *   obj[k] = v
-    * end
-    */
-   lua_pushnil(L);
-   while (lua_next(L, 2))
-     {
-       // key at -2, value at -1
-       lua_pushvalue(L, -2);
-       lua_insert(L, -2);
-       lua_settable(L, 1);
-     }
-   return 0;
-}
-
-static int
-_edje_lua_class_fn_get(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   /*
-    * res = {}
-    * mtG = getmetatable(obj)['.get']
-    * for k,v in pairs(mtG) do
-    *   res[k] = obj[k]
-    * end
-    */
-   lua_newtable(L);            // res
-   lua_getmetatable(L, 1);     // mt
-   lua_getfield(L, -1, ".get");
-   lua_remove(L, -2);          // mt
-
-   lua_pushnil(L);
-   while (lua_next(L, -2))
-     {
-       // key at -2, value at -1
-       lua_pop(L, 1);          // value = cfunction
-       lua_pushvalue(L, -1);   // key
-       lua_pushvalue(L, -1);   // key
-       lua_gettable(L, 1);     // obj[key]
-       lua_settable(L, 2);     // res[key]
-     }
-   lua_pop(L, 1);              // .get
-   return 1;
-}
-
-static int
-_edje_lua_class_itr_call(lua_State *L, int id)
-{
-   int err_code;
-
-   _edje_lua_checkudata(L, 1, &mClass);
-   lua_getmetatable(L, 1);     // mt
-   lua_rawgeti(L, -1, id);
-   lua_remove(L, -2);          // mt
-   lua_getglobal(L, "pairs");
-   lua_insert(L, -2);
-
-   if ((err_code = lua_pcall(L, 1, 3, 0)))
-      _edje_lua_error(L, err_code);
-   return 3;
-}
-
-static int
-_edje_lua_class_fn_gpairs(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   return _edje_lua_class_itr_call(L, EDJE_LUA_GET);
-}
-
-static int
-_edje_lua_class_fn_spairs(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   return _edje_lua_class_itr_call(L, EDJE_LUA_SET);
-}
-
-static int
-_edje_lua_class_fn_fpairs(lua_State *L)
-{
-   _edje_lua_checkudata(L, 1, &mClass);
-   return _edje_lua_class_itr_call(L, EDJE_LUA_FN);
-}
-
-static int
-_edje_lua_class_fn_pairs(lua_State *L)
-{
-   int err_code;
-
-   _edje_lua_checkudata(L, 1, &mClass);
-   lua_getfenv(L, 1);
-   lua_getglobal(L, "pairs");
-   lua_insert(L, -2);
-
-   if ((err_code = lua_pcall(L, 1, 3, 0)))
-      _edje_lua_error(L, err_code);
-   return 3;
-}
-
-static int
-_edje_lua_class_fn_ipairs(lua_State *L)
-{
-   int err_code;
-
-   _edje_lua_checkudata(L, 1, &mClass);
-   lua_getfenv(L, 1);
-   lua_getglobal(L, "ipairs");
-   lua_insert(L, -2);
-
-   if ((err_code = lua_pcall(L, 1, 3, 0)))
-      _edje_lua_error(L, err_code);
-   return 3;
-}
-
-const luaL_Reg lClass_mt[] = {
-   {"__index", _edje_lua_class_mt_index},
-   {"__newindex", _edje_lua_class_mt_newindex},
-   {"__gc", _edje_lua_class_mt_gc},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lClass_fn[] = {
-   {"get", _edje_lua_class_fn_get},
-   {"set", _edje_lua_class_fn_set},
-   {"gpairs", _edje_lua_class_fn_gpairs},
-   {"spairs", _edje_lua_class_fn_spairs},
-   {"fpairs", _edje_lua_class_fn_fpairs},
-   {"pairs", _edje_lua_class_fn_pairs},
-   {"ipairs", _edje_lua_class_fn_ipairs},
-   {NULL, NULL}                        // sentinel
-};
-
-
-const luaL_Reg lTimer_get[];
-
-const luaL_Reg lTimer_set[];
-
-const luaL_Reg lTimer_fn[];
-
-const Edje_Lua_Reg mTimer = {
-   lNil,
-   lTimer_get,
-   lTimer_set,
-   lTimer_fn
-};
-
-const Edje_Lua_Reg *cTimer[] = {
-   &mClass,
-   &mTimer,
-   NULL                                // sentinel
-};
-
-static Eina_Bool
-_edje_lua_timer_cb(void *data)
-{
-   Edje_Lua_Timer *obj = data;
-   lua_State *L = obj->L;
-   int err_code;
-   Eina_Bool res;
-
-   _edje_lua_get_ref(L, obj->cb);      // callback function
-   _edje_lua_get_reg(L, obj);
-
-   if ((err_code = lua_pcall(L, 1, 1, 0)))
-     {
-        _edje_lua_error(L, err_code);
-        return ECORE_CALLBACK_CANCEL;
-     }
-
-   res = luaL_optint(L, -1, ECORE_CALLBACK_CANCEL);
-   lua_pop(L, 1);              // -- res
-   
-/*   
- if (_edje_lua_panic_here())
- printf("blahc\n");
- else
- lua_pop(L, 1);                // -- res
- */
-   if (res == ECORE_CALLBACK_CANCEL)
-     {
-       // delete object
-       _edje_lua_get_reg(L, obj);
-       lua_pushvalue(L, -1);
-       lua_pushstring(L, "del");
-       lua_gettable(L, -2);
-       lua_insert(L, -2);
-        if ((err_code = lua_pcall(L, 1, 0, 0)))
-          _edje_lua_error(L, err_code);
-     }
-   return res;
-}
-
-static int
-_edje_lua_timer_get_pending(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-      lua_pushnumber(L, ecore_timer_pending_get(obj->et));
-   else
-      lua_pushnil(L);
-   return 1;
-}
-
-static int
-_edje_lua_timer_get_precision(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-
-   if (obj->et)
-     lua_pushnumber(L, ecore_timer_precision_get());
-   else
-     lua_pushnil(L);
-   
-   return 1;
-}
-
-static int
-_edje_lua_timer_get_interval(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-
-   if (obj->et)
-     lua_pushnumber(L, ecore_timer_interval_get(obj->et));
-   else
-     lua_pushnil(L);
-
-   return 1;
-}
-
-const luaL_Reg lTimer_get[] = {
-   {"pending", _edje_lua_timer_get_pending},
-   {"precision", _edje_lua_timer_get_precision},
-   {"interval", _edje_lua_timer_get_interval},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_timer_set_interval(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-      ecore_timer_interval_set(obj->et, luaL_checknumber(L, 2));
-   return 0;
-}
-
-const luaL_Reg lTimer_set[] = {
-   {"interval", _edje_lua_timer_set_interval},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_timer_fn_del(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-     {
-       ecore_timer_del(obj->et);
-       obj->et = NULL;
-     }
-   if (obj->cb)
-     {
-       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_timer
-       obj->cb = NULL;
-     }
-   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_timer
-   return 0;
-}
-
-static int
-_edje_lua_timer_fn_freeze(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-      ecore_timer_freeze(obj->et);
-   return 0;
-}
-
-static int
-_edje_lua_timer_fn_thaw(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-      ecore_timer_thaw(obj->et);
-   return 0;
-}
-
-static int
-_edje_lua_timer_fn_delay(lua_State *L)
-{
-   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
-   if (obj->et)
-      ecore_timer_delay(obj->et, luaL_checknumber(L, 2));
-   return 0;
-}
-
-const luaL_Reg lTimer_fn[] = {
-   {"del", _edje_lua_timer_fn_del},
-   {"freeze", _edje_lua_timer_fn_freeze},
-   {"thaw", _edje_lua_timer_fn_thaw},
-   {"delay", _edje_lua_timer_fn_delay},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lAnimator_get[];
-
-const luaL_Reg lAnimator_fn[];
-
-const Edje_Lua_Reg mAnimator = {
-   lNil,
-   lAnimator_get,
-   lNil,
-   lAnimator_fn
-};
-
-const Edje_Lua_Reg *cAnimator[] = {
-   &mClass,
-   &mAnimator,
-   NULL                                // sentinel
-};
-
-static Eina_Bool
-_edje_lua_animator_cb(void *data)
-{
-   Eina_Bool res;
-   int err;
-   Edje_Lua_Animator *obj = data;
-   lua_State *L = obj->L;
-
-   _edje_lua_get_ref(L, obj->cb);
-   _edje_lua_get_reg(L, obj);
-
-   if ((err = lua_pcall(L, 1, 1, 0)))
-     {
-        _edje_lua_error(L, err);
-        return ECORE_CALLBACK_CANCEL;
-     }
-
-   res = luaL_checkint(L, -1);
-   lua_pop(L, 1);              // Pop res off the stack
-   if (res == ECORE_CALLBACK_CANCEL)
-     {
-       /* delete animator */
-       _edje_lua_get_reg(L, obj);
-       lua_pushvalue(L, -1);
-       lua_pushstring(L, "del");
-       lua_gettable(L, -2);
-       lua_insert(L, -2);
-        if ((err = lua_pcall(L, 1, 0, 0)))
-          _edje_lua_error(L, err);
-     }
-
-   return res;
-}
-
-static int
-_edje_lua_animator_get_frametime(lua_State *L)
-{
-   Edje_Lua_Animator *obj = _edje_lua_checkudata(L, 1, &mAnimator);
-
-   if (obj->ea)
-     lua_pushnumber(L, ecore_animator_frametime_get());
-   else
-     lua_pushnil(L);
-
-   return 1;
-}
-
-const luaL_Reg lAnimator_get[] = {
-    {"frametime", _edje_lua_animator_get_frametime},
-    {NULL, NULL}
-};
-
-static int
-_edje_lua_animator_fn_del(lua_State *L)
-{
-   Edje_Lua_Animator *obj = _edje_lua_checkudata(L, 1, &mAnimator);
-   if (obj->ea)
-     {
-       ecore_animator_del(obj->ea);
-       obj->ea = NULL;
-     }
-   if (obj->cb)
-     {
-       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_animator
-       obj->cb = NULL;
-     }
-   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_animator
-   return 0;
-}
-
-const luaL_Reg lAnimator_fn[] = {
-   {"del", _edje_lua_animator_fn_del},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lPoller_get[];
-
-const luaL_Reg lPoller_fn[];
-
-const Edje_Lua_Reg mPoller = {
-   lNil,
-   lPoller_get,
-   lNil,
-   lPoller_fn
-};
-
-const Edje_Lua_Reg *cPoller[] = {
-   &mClass,
-   &mPoller,
-   NULL                                // sentinel
-};
-
-static Eina_Bool
-_edje_lua_poller_cb(void *data)
-{
-   Eina_Bool res;
-   int err;
-   Edje_Lua_Poller *obj = data;
-   lua_State *L = obj->L;
-
-   _edje_lua_get_ref(L, obj->cb);
-   _edje_lua_get_reg(L, obj);
-
-   if ((err = lua_pcall(L, 1, 1, 0)))
-     {
-        _edje_lua_error(L, err);
-        return ECORE_CALLBACK_CANCEL;
-     }
-
-   res = luaL_checkint(L, -1);
-   lua_pop(L, 1);              // Pop res off the stack
-   if (res == ECORE_CALLBACK_CANCEL)
-     {
-       /* delete poller */
-       _edje_lua_get_reg(L, obj);
-       lua_pushvalue(L, -1);
-       lua_pushstring(L, "del");
-       lua_gettable(L, -2);
-       lua_insert(L, -2);
-        if ((err = lua_pcall(L, 1, 0, 0)))
-          _edje_lua_error(L, err);
-     }
-
-   return res;
-}
-
-static int
-_edje_lua_poller_get_interval(lua_State *L)
-{
-   Edje_Lua_Poller *obj = _edje_lua_checkudata(L, 1, &mPoller);
-
-   if (obj->ep)
-     lua_pushnumber(L, ecore_poller_poll_interval_get(ECORE_POLLER_CORE));
-   else
-     lua_pushnil(L);
-
-   return 1;
-}
-
-const luaL_Reg lPoller_get[] = {
-   {"interval", _edje_lua_poller_get_interval},
-   {NULL, NULL}
-};
-
-static int
-_edje_lua_poller_fn_del(lua_State *L)
-{
-   Edje_Lua_Poller *obj = _edje_lua_checkudata(L, 1, &mPoller);
-   if (obj->ep)
-     {
-       ecore_poller_del(obj->ep);
-       obj->ep = NULL;
-     }
-
-   if (obj->cb)
-     {
-       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_poller
-       obj->cb = NULL;
-     }
-   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_poller
-
-   return 0;
-}
-
-const luaL_Reg lPoller_fn[] = {
-   {"del", _edje_lua_poller_fn_del},
-   {NULL, NULL}
-};
-
-/*
- * Lua Edje Transform bindings
- */
-
-const luaL_Reg lTransform_get[];
-
-const luaL_Reg lTransform_set[];
-
-const luaL_Reg lTransform_fn[];
-
-const Edje_Lua_Reg mTransform = {
-   lNil,
-   lTransform_get,
-   lTransform_set,
-   lTransform_fn
-};
-
-const Edje_Lua_Reg *cTransform[] = {
-   &mClass,
-   &mTransform,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_transform_get_matrix(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   lua_createtable(L, 3, 0);
-      lua_createtable(L, 3, 0);
-        lua_pushnumber(L, obj->et.mxx); lua_rawseti(L, -2, 1);
-        lua_pushnumber(L, obj->et.mxy); lua_rawseti(L, -2, 2);
-        lua_pushnumber(L, obj->et.mxz); lua_rawseti(L, -2, 3);
-      lua_rawseti(L, -2, 1);
-      lua_createtable(L, 3, 0);
-        lua_pushnumber(L, obj->et.myx); lua_rawseti(L, -2, 1);
-        lua_pushnumber(L, obj->et.myy); lua_rawseti(L, -2, 2);
-        lua_pushnumber(L, obj->et.myz); lua_rawseti(L, -2, 3);
-      lua_rawseti(L, -2, 2);
-      lua_createtable(L, 3, 0);
-        lua_pushnumber(L, obj->et.mzx); lua_rawseti(L, -2, 1);
-        lua_pushnumber(L, obj->et.mzy); lua_rawseti(L, -2, 2);
-        lua_pushnumber(L, obj->et.mzz); lua_rawseti(L, -2, 3);
-      lua_rawseti(L, -2, 3);
-   return 1;
-}
-
-const luaL_Reg lTransform_get[] = {
-   {"matrix", _edje_lua_transform_get_matrix},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_transform_set_matrix(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   luaL_checktype(L, 2, LUA_TTABLE);
-      lua_rawgeti(L, 2, 1);
-      luaL_checktype(L, -1, LUA_TTABLE);
-        lua_rawgeti(L, -1, 1); obj->et.mxx = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 2); obj->et.mxy = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 3); obj->et.mxz = luaL_checknumber(L, -1); lua_pop(L, 1);
-      lua_pop(L, 1);
-      lua_rawgeti(L, 2, 2);
-      luaL_checktype(L, -1, LUA_TTABLE);
-        lua_rawgeti(L, -1, 1); obj->et.myx = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 2); obj->et.myy = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 3); obj->et.myz = luaL_checknumber(L, -1); lua_pop(L, 1);
-      lua_pop(L, 1);
-      lua_rawgeti(L, 2, 3);
-      luaL_checktype(L, -1, LUA_TTABLE);
-        lua_rawgeti(L, -1, 1); obj->et.mzx = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 2); obj->et.mzy = luaL_checknumber(L, -1); lua_pop(L, 1);
-        lua_rawgeti(L, -1, 3); obj->et.mzz = luaL_checknumber(L, -1); lua_pop(L, 1);
-      lua_pop(L, 1);
-   return 0;
-}
-
-const luaL_Reg lTransform_set[] = {
-   {"matrix", _edje_lua_transform_set_matrix},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_transform_fn_identity(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   evas_transform_identity_set(&(obj->et));
-   return 0;
-}
-
-static int
-_edje_lua_transform_fn_rotate(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   evas_transform_rotate(luaL_checknumber(L, 2), &(obj->et));
-   return 0;
-}
-
-static int
-_edje_lua_transform_fn_translate(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   evas_transform_translate(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
-   return 0;
-}
-
-static int
-_edje_lua_transform_fn_scale(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   evas_transform_scale(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
-   return 0;
-}
-
-static int
-_edje_lua_transform_fn_shear(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   evas_transform_shear(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
-   return 0;
-}
-
-static int
-_edje_lua_transform_fn_compose(lua_State *L)
-{
-   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
-   Edje_Lua_Transform *tar = _edje_lua_checkudata(L, 2, &mTransform);
-   evas_transform_compose(&(tar->et), &(obj->et));
-   return 0;
-}
-
-const luaL_Reg lTransform_fn[] = {
-   {"identity", _edje_lua_transform_fn_identity},
-   {"rotate", _edje_lua_transform_fn_rotate},
-   {"translate", _edje_lua_transform_fn_translate},
-   {"scale", _edje_lua_transform_fn_scale},
-   {"shear", _edje_lua_transform_fn_shear},
-   {"compose", _edje_lua_transform_fn_compose},
-   {NULL, NULL}                        // sentinel
-};
-
-/*
- * Lua Edje Transition bindings
- */
-
-const luaL_Reg lTransition_get[];
-
-const luaL_Reg lTransition_set[];
-
-const luaL_Reg lTransition_fn[];
-
-const Edje_Lua_Reg mTransition = {
-   lNil,
-   lTransition_get,
-   lTransition_set,
-   lTransition_fn
-};
-
-const Edje_Lua_Reg *cTransition[] = {
-   &mClass,
-   &mTransition,
-   NULL                                // sentinel
-};
-
-const luaL_Reg lTransition_get[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lTransition_set[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lTransition_fn[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lObject_get[];
-
-const luaL_Reg lObject_set[];
-
-const luaL_Reg lObject_fn[];
-
-const Edje_Lua_Reg mObject = {
-   lNil,
-   lObject_get,
-   lObject_set,
-   lObject_fn
-};
-
-static void
-_edje_lua_object_del_cb(void *data, __UNUSED__ Evas * e, Evas_Object * obj, __UNUSED__ void *event_info)
-{
-   //printf("_edje_lua_object_delete_cb\n");
-   lua_State *L = data;
-   _edje_lua_get_reg(L, obj);
-   Edje_Lua_Evas_Object *udata = _edje_lua_checkudata(L, -1, &mObject);
-   lua_pop(L, 1);
-   _edje_lua_free_reg(L, udata); // created in EDJE_LUA_SCRIPT_FN_ADD
-   _edje_lua_free_reg(L, obj); // created in EDJE_LUA_SCRIPT_FN_ADD
-
-   Edje_Lua_Ref *ref;
-   EINA_LIST_FREE(udata->cb, ref)
-      _edje_lua_free_ref(L, ref);
-}
-
-static int
-_edje_lua_object_fn_del(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   
-   if (obj->eo)
-     {
-       evas_object_del(obj->eo);
-       obj->eo = NULL;
-       obj->ed = NULL;
-     }
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_show(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_show(obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_hide(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_hide(obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_move(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   //printf ("%i %i %i %i\n", obj->ed->x, obj->ed->y, luaL_checkint (L, 2), luaL_checkint (L, 3));
-   evas_object_move(obj->eo,
-                   obj->ed->x + luaL_checkint(L, 2),
-                   obj->ed->y + luaL_checkint(L, 3));
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_resize(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_resize(obj->eo, luaL_checkint(L, 2), luaL_checkint(L, 3));
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_raise(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_raise(obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_lower(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_lower(obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_stack_above(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   evas_object_stack_above(obj->eo, tar->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_stack_below(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   evas_object_stack_below(obj->eo, tar->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_fn_clip_unset(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_clip_unset(obj->eo);
-   return 0;
-}
-
-const luaL_Reg lObject_fn[] = {
-   {"del", _edje_lua_object_fn_del},
-   {"show", _edje_lua_object_fn_show},
-   {"hide", _edje_lua_object_fn_hide},
-   {"move", _edje_lua_object_fn_move},
-   {"resize", _edje_lua_object_fn_resize},
-   {"raise", _edje_lua_object_fn_raise},
-   {"lower", _edje_lua_object_fn_lower},
-   {"stack_above", _edje_lua_object_fn_stack_above},
-   {"stack_below", _edje_lua_object_fn_stack_below},
-   {"clip_unset", _edje_lua_object_fn_clip_unset},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_object_get_name(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushstring(L, evas_object_name_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_geometry(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int x, y, w, h;
-   evas_object_geometry_get(obj->eo, &x, &y, &w, &h);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_type(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushstring(L, evas_object_type_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_layer(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnumber(L, evas_object_layer_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_above(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Evas_Object *above = evas_object_above_get(obj->eo);
-   _edje_lua_get_reg(L, above);
-   // TODO create object if it does not already exist?
-   return 1;
-}
-
-static int
-_edje_lua_object_get_below(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Evas_Object *below = evas_object_below_get(obj->eo);
-   _edje_lua_get_reg(L, below);
-   // TODO create object if it does not already exist?
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_min(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int w, h;
-   evas_object_size_hint_min_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_max(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int w, h;
-   evas_object_size_hint_max_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_request(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int w, h;
-   evas_object_size_hint_request_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_aspect(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Evas_Aspect_Control a;
-   int w, h;
-   evas_object_size_hint_aspect_get(obj->eo, &a, &w, &h);
-   lua_createtable(L, 3, 0);
-   lua_pushnumber(L, a);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 3);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_align(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   double w, h;
-   evas_object_size_hint_align_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_weight(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   double w, h;
-   evas_object_size_hint_weight_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_size_hint_padding(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int l, r, t, b;
-   evas_object_size_hint_padding_get(obj->eo, &l, &r, &t, &b);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, l);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, r);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, t);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, b);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_visible(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_visible_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_render_op(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnumber(L, evas_object_render_op_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_anti_alias(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_anti_alias_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_scale(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnumber(L, evas_object_scale_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_color(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   int r, g, b, a;
-   evas_object_color_get(obj->eo, &r, &g, &b, &a);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, r);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, g);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, b);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, a);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_object_get_color_interpolation(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnumber(L, evas_object_color_interpolation_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_clip(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Evas_Object *clip = evas_object_clip_get(obj->eo);
-   _edje_lua_get_reg(L, clip);
-   // TODO create object if it does not already exist?
-   return 1;
-}
-
-static int
-_edje_lua_object_get_clipees(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Eina_List *clipees = (Eina_List *) evas_object_clipees_get(obj->eo);
-   Eina_List *l;
-   Evas_Object *clip;
-   int i = 1;
-   lua_createtable(L, eina_list_count(clipees), 0);
-   EINA_LIST_FOREACH(clipees, l, clip)
-     {
-       _edje_lua_get_reg(L, clip);
-       // TODO create object if it does not already exist?
-       lua_rawseti(L, -2, i++);
-     }
-   return 1;
-}
-
-static int
-_edje_lua_object_get_evas(lua_State *L)
-{
-   //Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnil(L);
-   // FIXME implement Evas class in the first place?
-   return 1;
-}
-
-static int
-_edje_lua_object_get_pass_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_pass_events_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_repeat_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_repeat_events_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_propagate_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_propagate_events_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_focus(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_focus_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_pointer_mode(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushnumber(L, evas_object_pointer_mode_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_precise_is_inside(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, evas_object_precise_is_inside_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_object_get_mouse_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   lua_pushboolean(L, obj->mouse_events);
-   return 1;
-}
-
-const luaL_Reg lObject_get[] = {
-   {"name", _edje_lua_object_get_name},
-   {"geometry", _edje_lua_object_get_geometry},
-   {"type", _edje_lua_object_get_type},
-   {"layer", _edje_lua_object_get_layer},
-   {"above", _edje_lua_object_get_above},
-   {"below", _edje_lua_object_get_below},
-   {"size_hint_min", _edje_lua_object_get_size_hint_min},
-   {"size_hint_max", _edje_lua_object_get_size_hint_max},
-   {"size_hint_request", _edje_lua_object_get_size_hint_request},
-   {"size_hint_aspect", _edje_lua_object_get_size_hint_aspect},
-   {"size_hint_align", _edje_lua_object_get_size_hint_align},
-   {"size_hint_weight", _edje_lua_object_get_size_hint_weight},
-   {"size_hint_padding", _edje_lua_object_get_size_hint_padding},
-   {"visible", _edje_lua_object_get_visible},
-   {"render_op", _edje_lua_object_get_render_op},
-   {"anti_alias", _edje_lua_object_get_anti_alias},
-   {"scale", _edje_lua_object_get_scale},
-   {"color", _edje_lua_object_get_color},
-   {"color_interpolation", _edje_lua_object_get_color_interpolation},
-   {"clip", _edje_lua_object_get_clip},
-   {"clipees", _edje_lua_object_get_clipees},
-   {"evas", _edje_lua_object_get_evas},
-   {"pass_events", _edje_lua_object_get_pass_events},
-   {"repeat_events", _edje_lua_object_get_repeat_events},
-   {"propagate_events", _edje_lua_object_get_propagate_events},
-   {"focus", _edje_lua_object_get_focus},
-   {"pointer_mode", _edje_lua_object_get_pointer_mode},
-   {"precise_is_inside", _edje_lua_object_get_precise_is_inside},
-   {"mouse_events", _edje_lua_object_get_mouse_events},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_object_set_name(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_name_set(obj->eo, luaL_checkstring(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_layer(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_layer_set(obj->eo, luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_min(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_size_hint_min_set(obj->eo,
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_max(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_size_hint_max_set(obj->eo,
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_request(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_size_hint_request_set(obj->eo,
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_aspect(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   evas_object_size_hint_aspect_set(obj->eo,
-        luaL_checkint(L, -3),
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_align(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_size_hint_align_set(obj->eo,
-        luaL_checknumber(L, -2),
-        luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_weight(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_size_hint_weight_set(obj->eo,
-        luaL_checknumber(L, -2),
-        luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_size_hint_padding(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   evas_object_size_hint_padding_set(obj->eo,
-        luaL_checknumber(L, -4),
-        luaL_checknumber(L, -3),
-        luaL_checknumber(L, -2),
-        luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_render_op(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_render_op_set(obj->eo, luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_anti_alias(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_anti_alias_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_scale(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_scale_set(obj->eo, luaL_checknumber(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_color(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   evas_object_color_set(obj->eo,
-        luaL_checkint(L, -4),
-        luaL_checkint(L, -3),
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_color_interpolation(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_color_interpolation_set(obj->eo, luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_clip(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   Edje_Lua_Evas_Object *clip = _edje_lua_checkudata(L, 2, &mObject);
-   evas_object_clip_set(obj->eo, clip->eo);
-   return 0;
-}
-
-static int
-_edje_lua_object_set_pass_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_pass_events_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_repeat_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_repeat_events_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_propagate_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_propagate_events_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_focus(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_focus_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_pointer_mode(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_pointer_mode_set(obj->eo, luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_object_set_precise_is_inside(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_precise_is_inside_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-#define OBJECT_CB_MACRO(KEY) \
-   lua_State *L = data; \
-   _edje_lua_get_reg(L, obj); \
-   lua_getfield(L, -1, KEY); \
-   if (lua_type(L, -1) != LUA_TFUNCTION) \
-      { \
-        lua_pop(L, 2); \
-        return; \
-      } \
-   lua_insert(L, -2);
-
-static void
-_edje_lua_object_cb_mouse_in(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                            void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_in");
-   Evas_Event_Mouse_In * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->output.x);
-   lua_pushnumber(L, ev->output.y);
-   lua_pushnumber(L, ev->canvas.x);
-   lua_pushnumber(L, ev->canvas.y);
-
-   if ((err_code = lua_pcall(L, 5, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static void
-_edje_lua_object_cb_mouse_out(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                             void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_out");
-   Evas_Event_Mouse_In * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->output.x);
-   lua_pushnumber(L, ev->output.y);
-   lua_pushnumber(L, ev->canvas.x);
-   lua_pushnumber(L, ev->canvas.y);
-
-   if ((err_code = lua_pcall(L, 5, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static void
-_edje_lua_object_cb_mouse_down(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                              void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_down");
-   Evas_Event_Mouse_Down * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->button);
-   lua_pushnumber(L, ev->output.x);
-   lua_pushnumber(L, ev->output.y);
-   lua_pushnumber(L, ev->canvas.x);
-   lua_pushnumber(L, ev->canvas.y);
-
-   if ((err_code = lua_pcall(L, 6, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static void
-_edje_lua_object_cb_mouse_up(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                            void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_up");
-   Evas_Event_Mouse_Up * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->button);
-   lua_pushnumber(L, ev->output.x);
-   lua_pushnumber(L, ev->output.y);
-   lua_pushnumber(L, ev->canvas.x);
-   lua_pushnumber(L, ev->canvas.y);
-
-   if ((err_code = lua_pcall(L, 6, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static void
-_edje_lua_object_cb_mouse_move(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                              void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_move");
-   Evas_Event_Mouse_Move * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->buttons);
-   lua_pushnumber(L, ev->cur.output.x);
-   lua_pushnumber(L, ev->cur.output.y);
-   lua_pushnumber(L, ev->cur.canvas.x);
-   lua_pushnumber(L, ev->cur.canvas.y);
-
-   if ((err_code = lua_pcall(L, 6, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static void
-_edje_lua_object_cb_mouse_wheel(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                              void *event_info)
-{
-   OBJECT_CB_MACRO("mouse_wheel");
-   Evas_Event_Mouse_Wheel * ev = event_info;
-   int err_code;
-
-   lua_pushnumber(L, ev->z);
-   lua_pushnumber(L, ev->output.x);
-   lua_pushnumber(L, ev->output.y);
-   lua_pushnumber(L, ev->canvas.x);
-   lua_pushnumber(L, ev->canvas.y);
-
-   if ((err_code = lua_pcall(L, 6, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static int
-_edje_lua_object_set_mouse_events(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   obj->mouse_events = lua_toboolean(L, 2);
-   if (obj->mouse_events)
-     {
-       // add all mouse events
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_IN, _edje_lua_object_cb_mouse_in, L);
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_OUT, _edje_lua_object_cb_mouse_out, L);
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_DOWN, _edje_lua_object_cb_mouse_down, L);
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_UP, _edje_lua_object_cb_mouse_up, L);
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_MOVE, _edje_lua_object_cb_mouse_move, L);
-       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_WHEEL, _edje_lua_object_cb_mouse_wheel, L);
-     }
-   else
-     {
-       // delete all mouse events
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_IN, _edje_lua_object_cb_mouse_in);
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_OUT, _edje_lua_object_cb_mouse_out);
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_DOWN, _edje_lua_object_cb_mouse_down);
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_UP, _edje_lua_object_cb_mouse_up);
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_MOVE, _edje_lua_object_cb_mouse_move);
-       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_WHEEL, _edje_lua_object_cb_mouse_wheel);
-     }
-   return 0;
-}
-
-const luaL_Reg lObject_set[] = {
-   {"name", _edje_lua_object_set_name},
-   {"layer", _edje_lua_object_set_layer},
-   {"size_hint_min", _edje_lua_object_set_size_hint_min},
-   {"size_hint_max", _edje_lua_object_set_size_hint_max},
-   {"size_hint_request", _edje_lua_object_set_size_hint_request},
-   {"size_hint_aspect", _edje_lua_object_set_size_hint_aspect},
-   {"size_hint_align", _edje_lua_object_set_size_hint_align},
-   {"size_hint_weight", _edje_lua_object_set_size_hint_weight},
-   {"size_hint_padding", _edje_lua_object_set_size_hint_padding},
-   {"render_op", _edje_lua_object_set_render_op},
-   {"anti_alias", _edje_lua_object_set_anti_alias},
-   {"scale", _edje_lua_object_set_scale},
-   {"color", _edje_lua_object_set_color},
-   {"color_interpolation", _edje_lua_object_set_color_interpolation},
-   {"clip", _edje_lua_object_set_clip},
-   {"pass_events", _edje_lua_object_set_pass_events},
-   {"repeat_events", _edje_lua_object_set_repeat_events},
-   {"propagate_events", _edje_lua_object_set_propagate_events},
-   {"focus", _edje_lua_object_set_focus},
-   {"pointer_mode", _edje_lua_object_get_pointer_mode},
-   {"precise_is_inside", _edje_lua_object_get_precise_is_inside},
-   {"mouse_events", _edje_lua_object_set_mouse_events},
-   {NULL, NULL}                        // sentinel
-};
-
-const Edje_Lua_Reg *cRectangle[] = {
-   &mClass,
-   &mObject,
-   NULL                                // sentinel
-};
-
-const luaL_Reg lImage_get[];
-
-const luaL_Reg lImage_set[];
-
-const Edje_Lua_Reg mImage = {
-   lNil,
-   lImage_get,
-   lImage_set,
-   lNil
-};
-
-const Edje_Lua_Reg *cImage[] = {
-   &mClass,
-   &mObject,
-   &mImage,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_image_get_size(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
-   int w, h;
-   evas_object_image_size_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-};
-
-const luaL_Reg lImage_get[] = {
-   {"size", _edje_lua_image_get_size},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_image_set_file(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
-   int id = edje_edit_image_id_get(obj->ed->obj, luaL_checkstring(L, 2));
-   char buf[256];
-   sprintf(buf, "edje/images/%i", id);
-   evas_object_image_file_set(obj->eo, obj->ed->path, buf);
-   return 0;
-}
-
-static int
-_edje_lua_image_set_fill(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   evas_object_image_fill_set(obj->eo,
-                             luaL_checkint(L, -4),
-                             luaL_checkint(L, -3),
-                             luaL_checkint(L, -2), luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_image_set_fill_transform(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
-   Edje_Lua_Transform *tar = _edje_lua_checkudata(L, 2, &mTransform);
-   evas_object_image_fill_transform_set(obj->eo, &(tar->et));
-   return 0;
-}
-
-static int
-_edje_lua_image_set_alpha(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
-   evas_object_image_alpha_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-const luaL_Reg lImage_set[] = {
-   {"file", _edje_lua_image_set_file},
-   {"fill", _edje_lua_image_set_fill},
-   {"fill_transform", _edje_lua_image_set_fill_transform},
-   {"alpha", _edje_lua_image_set_alpha},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lLine_get[];
-const luaL_Reg lLine_set[];
-
-const Edje_Lua_Reg mLine = {
-   lNil,
-   lLine_get,
-   lLine_set,
-   lNil
-};
-
-const Edje_Lua_Reg *cLine[] = {
-   &mClass,
-   &mObject,
-   &mLine,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_line_get_xy(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mLine);
-   int x1, y1, x2, y2;
-   evas_object_line_xy_get(obj->eo, &x1, &y1, &x2, &y2);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, x1); lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y1); lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, x2); lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, y2); lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-const luaL_Reg lLine_get[] = {
-   {"xy", _edje_lua_line_get_xy},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_line_set_xy(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mLine);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   evas_object_line_xy_set(obj->eo,
-                           luaL_checkint(L, -4),
-                           luaL_checkint(L, -3),
-                           luaL_checkint(L, -2),
-                           luaL_checkint(L, -1));
-   return 0;
-}
-
-const luaL_Reg lLine_set[] = {
-   {"xy", _edje_lua_line_set_xy},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lPolygon_fn[];
-
-const Edje_Lua_Reg mPolygon = {
-   lNil,
-   lNil,
-   lNil,
-   lPolygon_fn
-};
-
-const Edje_Lua_Reg *cPolygon[] = {
-   &mClass,
-   &mObject,
-   &mPolygon,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_polygon_fn_point_add(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mPolygon);
-   evas_object_polygon_point_add(obj->eo,
-                                luaL_checknumber(L, 2),
-                                luaL_checknumber(L, 3));
-   return 0;
-}
-
-static int
-_edje_lua_polygon_fn_points_clear(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mPolygon);
-   evas_object_polygon_points_clear(obj->eo);
-   return 0;
-}
-
-const luaL_Reg lPolygon_fn[] = {
-   {"point_add", _edje_lua_polygon_fn_point_add},
-   {"points_clear", _edje_lua_polygon_fn_points_clear},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lTable_get[];
-
-const luaL_Reg lTable_set[];
-
-const luaL_Reg lTable_fn[];
-
-const Edje_Lua_Reg mTable = {
-   lNil,
-   lTable_get,
-   lTable_set,
-   lTable_fn
-};
-
-const Edje_Lua_Reg *cTable[] = {
-   &mClass,
-   &mObject,
-   &mTable,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_table_get_homogeneous(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   lua_pushnumber(L, evas_object_table_homogeneous_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_table_get_padding(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   int x, y;
-   evas_object_table_padding_get(obj->eo, &x, &y);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_table_get_align(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   double x, y;
-   evas_object_table_align_get(obj->eo, &x, &y);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_table_get_col_row_size(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   int x, y;
-   evas_object_table_col_row_size_get(obj->eo, &x, &y);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_table_get_children(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   Eina_List *children = (Eina_List *) evas_object_table_children_get(obj->eo);
-   Eina_List *l;
-   Evas_Object *child;
-   int i = 1;
-   lua_createtable(L, eina_list_count(children), 0);
-   EINA_LIST_FOREACH(children, l, child)
-     {
-       _edje_lua_get_reg(L, child);
-       // TODO create object if it does not already exist?
-       lua_rawseti(L, -2, i++);
-     }
-   return 1;
-}
-
-const luaL_Reg lTable_get[] = {
-   {"homogeneous", _edje_lua_table_get_homogeneous},
-   {"padding", _edje_lua_table_get_padding},
-   {"align", _edje_lua_table_get_align},
-   {"col_row_size", _edje_lua_table_get_col_row_size},
-   {"children", _edje_lua_table_get_children},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_table_set_homogeneous(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   evas_object_table_homogeneous_set(obj->eo,
-        luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_table_set_padding(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_table_padding_set(obj->eo,
-        luaL_checkint(L, -2),
-        luaL_checkint(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_table_set_align(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   evas_object_table_align_set(obj->eo,
-        luaL_checknumber(L, -2),
-        luaL_checknumber(L, -1));
-   return 0;
-}
-
-const luaL_Reg lTable_set[] = {
-   {"homogeneous", _edje_lua_table_set_homogeneous},
-   {"padding", _edje_lua_table_set_padding},
-   {"align", _edje_lua_table_set_align},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_table_fn_pack(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        evas_object_table_pack(obj->eo, tar->eo,
-           luaL_checkint(L, 3),
-           luaL_checkint(L, 4),
-           luaL_checkint(L, 5),
-           luaL_checkint(L, 6)));
-   return 1;
-}
-
-static int
-_edje_lua_table_fn_unpack(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        evas_object_table_unpack(obj->eo, tar->eo));
-   return 1;
-}
-
-static int
-_edje_lua_table_fn_clear(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
-   evas_object_table_clear(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-const luaL_Reg lTable_fn[] = {
-   {"pack", _edje_lua_table_fn_pack},
-   {"unpack", _edje_lua_table_fn_unpack},
-   {"clear", _edje_lua_table_fn_clear},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lDescription_get[];
-
-const luaL_Reg lDescription_set[];
-
-const Edje_Lua_Reg mDescription = {
-   lNil,
-   lDescription_get,
-   lDescription_set,
-   lNil
-};
-
-const Edje_Lua_Reg *cDescription[] = {
-   &mClass,
-   &mObject,
-   &mDescription,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_description_get_alignment(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->align.x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->align.y));
-   lua_rawseti(L, -2, 1);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_min(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->min.w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->min.h);
-   lua_rawseti(L, -2, 1);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_max(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->max.w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->max.h);
-   lua_rawseti(L, -2, 1);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_step(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->step.x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->step.y);
-   lua_rawseti(L, -2, 1);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_aspect(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->aspect.min));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->aspect.max));
-   lua_rawseti(L, -2, 1);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_aspect_pref(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_pushnumber(L, obj->rp->custom->description->aspect.prefer);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_color(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   /* check whether this part has a "custom" state */
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, obj->rp->custom->description->color.r);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->color.g);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->color.b);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->color.a);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_color2(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, obj->rp->custom->description->color2.r);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->color2.g);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->color2.b);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->color2.a);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_color3(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, obj->rp->custom->description->color3.r);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->color3.g);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->color3.b);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->color3.a);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_color_class(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_pushstring(L, obj->rp->custom->description->color_class);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel1(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel1.relative_x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel1.relative_y));
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel1_to(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->rel1.id_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->rel1.id_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel1_offset(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->rel1.offset_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->rel1.offset_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel2(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel2.relative_x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel2.relative_y));
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel2_to(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->rel2.id_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->rel2.id_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_rel2_offset(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->rel2.offset_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->rel2.offset_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_image(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   // TODO
-   return 0;
-}
-
-static int
-_edje_lua_description_get_border(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, obj->rp->custom->description->border.l);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->border.r);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->border.t);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->border.b);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_fill_smooth(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushboolean(L, obj->rp->custom->description->fill.smooth);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_fill_pos(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.pos_rel_x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.pos_rel_y));
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->fill.pos_abs_x);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->fill.pos_abs_y);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_fill_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.rel_x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.rel_y));
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, obj->rp->custom->description->fill.abs_x);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, obj->rp->custom->description->fill.abs_y);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushstring(L, obj->rp->custom->description->text.text);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_class(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushstring(L, obj->rp->custom->description->text.text_class);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_font(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushstring(L, obj->rp->custom->description->text.text_class);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_style(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushstring(L, obj->rp->custom->description->text.style);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_pushnumber(L, obj->rp->custom->description->text.size);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_fit(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushboolean(L, obj->rp->custom->description->text.fit_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushboolean(L, obj->rp->custom->description->text.fit_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_min(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->text.min_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->text.min_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_max(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, obj->rp->custom->description->text.max_x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, obj->rp->custom->description->text.max_y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_text_align(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->text.align.x));
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->text.align.y));
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_description_get_visible(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_pushboolean(L, obj->rp->custom->description->visible);
-   return 1;
-}
-
-const luaL_Reg lDescription_get[] = {
-   {"alignment", _edje_lua_description_get_alignment},
-   {"min", _edje_lua_description_get_min},
-   {"max", _edje_lua_description_get_max},
-   {"step", _edje_lua_description_get_step},
-   {"aspect", _edje_lua_description_get_aspect},
-   {"aspect_pref", _edje_lua_description_get_aspect_pref},
-   {"color", _edje_lua_description_get_color},
-   {"color2", _edje_lua_description_get_color2},
-   {"color3", _edje_lua_description_get_color3},
-   {"color_class", _edje_lua_description_get_color_class},
-   {"rel1", _edje_lua_description_get_rel1},
-   {"rel1_to", _edje_lua_description_get_rel1_to},
-   {"rel1_offset", _edje_lua_description_get_rel1_offset},
-   {"rel2", _edje_lua_description_get_rel2},
-   {"rel2_to", _edje_lua_description_get_rel2_to},
-   {"rel2_offset", _edje_lua_description_get_rel2_offset},
-   {"image", _edje_lua_description_get_image},
-   {"border", _edje_lua_description_get_border},
-   {"fill_smooth", _edje_lua_description_get_fill_smooth},
-   {"fill_pos", _edje_lua_description_get_fill_pos},
-   {"fill_size", _edje_lua_description_get_fill_size},
-   {"text", _edje_lua_description_get_text},
-   {"text_class", _edje_lua_description_get_text_class},
-   {"text_font", _edje_lua_description_get_text_font},
-   {"text_style", _edje_lua_description_get_text_style},
-   {"text_size", _edje_lua_description_get_text_size},
-   {"text_fit", _edje_lua_description_get_text_fit},
-   {"text_min", _edje_lua_description_get_text_min},
-   {"text_max", _edje_lua_description_get_text_max},
-   {"text_align", _edje_lua_description_get_text_align},
-   {"visible", _edje_lua_description_get_visible},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_description_set_alignment(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->align.x = FROM_DOUBLE(luaL_checknumber(L, -2));
-   obj->rp->custom->description->align.y = FROM_DOUBLE(luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_description_set_min(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->min.w = luaL_checkint(L, -2);
-   obj->rp->custom->description->min.h = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_max(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->max.w = luaL_checkint(L, -2);
-   obj->rp->custom->description->max.h = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_step(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->step.x = luaL_checkint(L, -2);
-   obj->rp->custom->description->step.y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_aspect(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->aspect.min = FROM_DOUBLE(luaL_checknumber(L, -2));
-   obj->rp->custom->description->aspect.max = FROM_DOUBLE(luaL_checknumber(L, -1));
-   return 0;
-
-}
-
-static int
-_edje_lua_description_set_aspect_pref(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->aspect.prefer = luaL_checknumber(L, 2);
-   return 0;
-
-}
-
-static int
-_edje_lua_description_set_color(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->color.r = luaL_checkint(L, -4);
-   obj->rp->custom->description->color.g = luaL_checkint(L, -3);
-   obj->rp->custom->description->color.b = luaL_checkint(L, -2);
-   obj->rp->custom->description->color.a = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_color2(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->color2.r = luaL_checkint(L, -4);
-   obj->rp->custom->description->color2.g = luaL_checkint(L, -3);
-   obj->rp->custom->description->color2.b = luaL_checkint(L, -2);
-   obj->rp->custom->description->color2.a = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_color3(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->color3.r = luaL_checkint(L, -4);
-   obj->rp->custom->description->color3.g = luaL_checkint(L, -3);
-   obj->rp->custom->description->color3.b = luaL_checkint(L, -2);
-   obj->rp->custom->description->color3.a = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_color_class(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->color_class = (char *)luaL_checkstring(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel1(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel1.relative_x = FROM_DOUBLE(luaL_checknumber(L, -2));
-   obj->rp->custom->description->rel1.relative_y = FROM_DOUBLE(luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel1_to(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel1.id_x = luaL_checknumber(L, -2);
-   obj->rp->custom->description->rel1.id_y = luaL_checknumber(L, -1);
-   if (obj->rp->param1.description->rel1.id_x >= 0)
-     obj->rp->param1.rel1_to_x = obj->ed->table_parts[obj->rp->param1.description->rel1.id_x % obj->ed->table_parts_size];
-   if (obj->rp->param1.description->rel1.id_y >= 0)
-     obj->rp->param1.rel1_to_y = obj->ed->table_parts[obj->rp->param1.description->rel1.id_y % obj->ed->table_parts_size];
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel1_offset(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel1.offset_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->rel1.offset_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel2(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel2.relative_x = FROM_DOUBLE(luaL_checknumber(L, -2));
-   obj->rp->custom->description->rel2.relative_y = FROM_DOUBLE(luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel2_to(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel2.id_x = luaL_checknumber(L, -2);
-   obj->rp->custom->description->rel2.id_y = luaL_checknumber(L, -1);
-   if (obj->rp->param1.description->rel2.id_x >= 0)
-     obj->rp->param1.rel2_to_x = obj->ed->table_parts[obj->rp->param1.description->rel2.id_x % obj->ed->table_parts_size];
-   if (obj->rp->param1.description->rel2.id_y >= 0)
-     obj->rp->param1.rel2_to_y = obj->ed->table_parts[obj->rp->param1.description->rel2.id_y % obj->ed->table_parts_size];
-   return 0;
-}
-
-static int
-_edje_lua_description_set_rel2_offset(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->rel2.offset_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->rel2.offset_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_image(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   obj->rp->custom->description->image.id =
-      edje_edit_image_id_get(obj->ed->obj, (char *)luaL_checkstring(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_description_set_border(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->border.l = luaL_checkint(L, -2);
-   obj->rp->custom->description->border.r = luaL_checkint(L, -1);
-   obj->rp->custom->description->border.t = luaL_checkint(L, -2);
-   obj->rp->custom->description->border.b = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_fill_smooth(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->fill.smooth = lua_toboolean(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_fill_pos(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->fill.pos_rel_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->fill.pos_rel_y = luaL_checkint(L, -1);
-   obj->rp->custom->description->fill.pos_abs_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->fill.pos_abs_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_fill_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   obj->rp->custom->description->fill.rel_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->fill.rel_y = luaL_checkint(L, -1);
-   obj->rp->custom->description->fill.abs_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->fill.abs_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->text.text = (char *)luaL_checkstring(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_class(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->text.text_class =
-      (char *)luaL_checkstring(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_font(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->text.font = (char *)luaL_checkstring(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_style(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->text.style = (char *)luaL_checkstring(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->text.size = luaL_checkint(L, 2);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_fit(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->text.fit_x = lua_toboolean(L, -2);
-   obj->rp->custom->description->text.fit_y = lua_toboolean(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_min(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->text.min_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->text.min_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_max(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
-       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->text.max_x = luaL_checkint(L, -2);
-   obj->rp->custom->description->text.max_y = luaL_checkint(L, -1);
-   return 0;
-}
-
-static int
-_edje_lua_description_set_text_align(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
-      return 0;
-   if (!obj->rp->custom) return 0;
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->rp->custom->description->text.align.x = FROM_DOUBLE(luaL_checknumber(L, -2));
-   obj->rp->custom->description->text.align.y = FROM_DOUBLE(luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_description_set_visible(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Description *obj =
-      _edje_lua_checkudata(L, 1, &mDescription);
-   if (!obj->rp->custom) return 0;
-   obj->rp->custom->description->visible = lua_toboolean(L, 2);
-   return 0;
-}
-
-const luaL_Reg lDescription_set[] = {
-   {"alignment", _edje_lua_description_set_alignment},
-   {"min", _edje_lua_description_set_min},
-   {"max", _edje_lua_description_set_max},
-   {"step", _edje_lua_description_set_step},
-   {"aspect", _edje_lua_description_set_aspect},
-   {"aspect_pref", _edje_lua_description_set_aspect_pref},
-   {"color", _edje_lua_description_set_color},
-   {"color2", _edje_lua_description_set_color2},
-   {"color3", _edje_lua_description_set_color3},
-   {"color_class", _edje_lua_description_set_color_class},
-   {"rel1", _edje_lua_description_set_rel1},
-   {"rel1_to", _edje_lua_description_set_rel1_to},
-   {"rel1_offset", _edje_lua_description_set_rel1_offset},
-   {"rel2", _edje_lua_description_set_rel2},
-   {"rel2_to", _edje_lua_description_set_rel2_to},
-   {"rel2_offset", _edje_lua_description_set_rel2_offset},
-   {"image", _edje_lua_description_set_image},
-   {"border", _edje_lua_description_set_border},
-   {"fill_smooth", _edje_lua_description_set_fill_smooth},
-   {"fill_pos", _edje_lua_description_set_fill_pos},
-   {"fill_size", _edje_lua_description_set_fill_size},
-   {"text", _edje_lua_description_set_text},
-   {"text_class", _edje_lua_description_set_text_class},
-   {"text_font", _edje_lua_description_set_text_font},
-   {"text_style", _edje_lua_description_set_text_style},
-   {"text_size", _edje_lua_description_set_text_size},
-   {"text_fit", _edje_lua_description_set_text_fit},
-   {"text_min", _edje_lua_description_set_text_min},
-   {"text_max", _edje_lua_description_set_text_max},
-   {"text_align", _edje_lua_description_set_text_align},
-   {"visible", _edje_lua_description_set_visible},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lPart_get[];
-
-const luaL_Reg lPart_set[];
-
-const luaL_Reg lPart_fn[];
-
-const Edje_Lua_Reg mPart = {
-   lNil,
-   lPart_get,
-   lPart_set,
-   lPart_fn
-};
-
-static void
-_edje_lua_edje_part_del_cb(void *data, __UNUSED__ Evas * e, Evas_Object * obj,
-                          __UNUSED__ void *event_info)
-{
-   //printf("_edje_lua_object_delete_cb\n");
-   lua_State *L = data;
-   _edje_lua_get_reg(L, obj);
-   Edje_Lua_Edje_Part_Object *udata = _edje_lua_checkudata(L, -1, &mPart);
-   lua_pop(L, 1);
-   _edje_lua_free_reg(L, udata); // created in _edje_lua_group_mt_index
-   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_mt_index
-}
-
-const Edje_Lua_Reg *cPart[] = {
-   &mClass,
-   &mObject,
-   &mPart,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_part_get_swallow(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Evas_Object *swa = edje_object_part_swallow_get(obj->ed->obj, obj->key);
-   _edje_lua_get_reg(L, swa);
-   // TODO create object if it does not already exist?
-   return 1;
-}
-
-static int
-_edje_lua_part_get_type(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushnumber(L, edje_edit_part_type_get(obj->ed->obj, obj->key));
-   return 1;
-}
-
-static int
-_edje_lua_part_get_effect(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushnumber(L, edje_edit_part_effect_get(obj->ed->obj, obj->key));
-   return 1;
-}
-
-static int
-_edje_lua_part_get_mouse_events(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushboolean(L, edje_edit_part_mouse_events_get(obj->ed->obj, obj->key));
-   return 1;
-}
-
-static int
-_edje_lua_part_get_repeat_events(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushboolean(L, edje_edit_part_repeat_events_get(obj->ed->obj, obj->key));
-   return 1;
-}
-
-static int
-_edje_lua_part_get_states_list(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Eina_List *slist = edje_edit_part_states_list_get(obj->ed->obj, obj->key);
-   Eina_List *ilist;
-   lua_newtable(L);
-   int i = 1;
-   for (ilist = slist; ilist; ilist = eina_list_next(ilist))
-     {
-       lua_pushstring(L, eina_list_data_get(ilist));
-       lua_rawseti(L, -2, i++);
-     }
-   edje_edit_string_list_free(slist);
-   return 1;
-};
-
-static int
-_edje_lua_part_get_state(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   const char *state;
-   double val;
-   state = edje_object_part_state_get(obj->ed->obj, obj->key, &val);
-   lua_createtable(L, 2, 0);
-   lua_pushstring(L, state);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, val);
-   lua_rawseti(L, -2, 2);
-   return 1;
-};
-
-static int
-_edje_lua_part_get_text(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushstring(L, edje_object_part_text_get(obj->ed->obj, obj->key));
-   return 1;
-};
-
-static int
-_edje_lua_part_get_text_selection(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushstring(L,
-                 edje_object_part_text_selection_get(obj->ed->obj, obj->key));
-   return 1;
-};
-
-static int
-_edje_lua_part_get_drag_dir(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushnumber(L, edje_object_part_drag_dir_get(obj->ed->obj, obj->key));
-   return 1;
-}
-
-static int
-_edje_lua_part_get_drag_value(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   double dx, dy;
-   edje_object_part_drag_value_get(obj->ed->obj, obj->key, &dx, &dy);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, dx);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, dy);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_drag_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   double dx, dy;
-   edje_object_part_drag_size_get(obj->ed->obj, obj->key, &dx, &dy);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, dx);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, dy);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_drag_step(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   double dx, dy;
-   edje_object_part_drag_step_get(obj->ed->obj, obj->key, &dx, &dy);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, dx);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, dy);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_drag_page(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   double dx, dy;
-   edje_object_part_drag_page_get(obj->ed->obj, obj->key, &dx, &dy);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, dx);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, dy);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_text_cursor_geometry(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Evas_Coord x, y, w, h;
-   edje_object_part_text_cursor_geometry_get(obj->ed->obj, obj->key,
-                                            &x, &y, &w, &h);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_geometry(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Evas_Coord x, y, w, h;
-   edje_object_part_geometry_get(obj->ed->obj, obj->key, &x, &y, &w, &h);
-   lua_createtable(L, 4, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 3);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 4);
-   return 1;
-}
-
-static int
-_edje_lua_part_get_table_col_row_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   int cols, rows;
-   edje_object_part_table_col_row_size_get(obj->ed->obj, obj->key, &cols, &rows);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, cols); lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, rows); lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int _edje_lua_part_fn_custom_state(lua_State *L);
-
-const luaL_Reg lPart_get[] = {
-   {"custom_state", _edje_lua_part_fn_custom_state},
-   {"Swallow", _edje_lua_part_get_swallow}, //TODO it the capital S correct?
-
-   {"drag_dir", _edje_lua_part_get_drag_dir},
-   {"drag_value", _edje_lua_part_get_drag_value},
-   {"drag_size", _edje_lua_part_get_drag_size},
-   {"drag_step", _edje_lua_part_get_drag_step},
-   {"drag_page", _edje_lua_part_get_drag_page},
-
-   {"type", _edje_lua_part_get_type},
-   {"effect", _edje_lua_part_get_effect},
-   {"mouse_events", _edje_lua_part_get_mouse_events},
-   {"repeat_events", _edje_lua_part_get_repeat_events},
-   {"states_list", _edje_lua_part_get_states_list},
-   {"state", _edje_lua_part_get_state},
-
-   {"text", _edje_lua_part_get_text},
-   {"text_selection", _edje_lua_part_get_text_selection},
-   {"text_cursor_geometry", _edje_lua_part_get_text_cursor_geometry},
-
-   {"geometry", _edje_lua_part_get_geometry},
-   {"part_col_row_size", _edje_lua_part_get_table_col_row_size},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_part_set_effect(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_edit_part_effect_set(obj->ed->obj, obj->key, luaL_checkint(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_mouse_events(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_edit_part_mouse_events_set(obj->ed->obj, obj->key, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_repeat_events(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_edit_part_repeat_events_set(obj->ed->obj, obj->key,
-                                   lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_state(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   _edje_part_description_apply(obj->ed, obj->rp,
-                               luaL_checkstring(L, -2), luaL_checknumber(L, -1),
-                               NULL, 0.0);
-   _edje_part_pos_set(obj->ed, obj->rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO);
-   _edje_recalc(obj->ed);
-   return 0;
-}
-
-static int
-_edje_lua_part_set_tween_state(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   lua_rawgeti(L, 2, 3);
-   lua_rawgeti(L, 2, 4);
-   lua_rawgeti(L, 2, 5);
-   _edje_part_description_apply(obj->ed, obj->rp,
-                               luaL_checkstring(L, -4), luaL_checknumber(L, -3),
-                               luaL_checkstring(L, -2), luaL_checknumber(L, -1));
-   _edje_part_pos_set(obj->ed, obj->rp, EDJE_TWEEN_MODE_LINEAR,
-                     FROM_DOUBLE(luaL_checknumber(L, -5)), ZERO, ZERO);
-   _edje_recalc(obj->ed);
-   return 0;
-}
-
-static int
-_edje_lua_part_set_text(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_object_part_text_set(obj->ed->obj, obj->key, luaL_checkstring(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_drag_value(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   edje_object_part_drag_value_set(obj->ed->obj, obj->key,
-                                  luaL_checknumber(L, -2),
-                                  luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_drag_size(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   edje_object_part_drag_size_set(obj->ed->obj, obj->key,
-                                 luaL_checknumber(L, -2),
-                                 luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_drag_step(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   edje_object_part_drag_step_set(obj->ed->obj, obj->key,
-                                 luaL_checknumber(L, -2),
-                                 luaL_checknumber(L, -1));
-   return 0;
-}
-
-static int
-_edje_lua_part_set_drag_page(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   edje_object_part_drag_page_set(obj->ed->obj, obj->key,
-                                 luaL_checknumber(L, -2),
-                                 luaL_checknumber(L, -1));
-   return 0;
-}
-
-const luaL_Reg lPart_set[] = {
-   {"drag_value", _edje_lua_part_set_drag_value},
-   {"drag_size", _edje_lua_part_set_drag_size},
-   {"drag_step", _edje_lua_part_set_drag_step},
-   {"drag_page", _edje_lua_part_set_drag_page},
-
-   {"effect", _edje_lua_part_set_effect},
-   {"mouse_events", _edje_lua_part_set_mouse_events},
-   {"repeat_events", _edje_lua_part_set_repeat_events},
-   {"state", _edje_lua_part_set_state},
-   {"tween_state", _edje_lua_part_set_tween_state},
-   {"text", _edje_lua_part_set_text},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_part_fn_swallow(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *swa = _edje_lua_checkudata(L, 2, &mObject);
-   edje_object_part_swallow(obj->ed->obj, obj->key, swa->eo);
-   return 0;
-}
-
-static int
-_edje_lua_part_fn_unswallow(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_object_part_unswallow(obj->ed->obj, obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_part_fn_text_select_none(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_object_part_text_select_none(obj->ed->obj, obj->key);
-   return 0;
-}
-
-static int
-_edje_lua_part_fn_text_select_all(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_object_part_text_select_all(obj->ed->obj, obj->key);
-   return 0;
-}
-
-static int
-_edje_lua_part_fn_text_insert(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   edje_object_part_text_insert(obj->ed->obj, obj->key, luaL_checkstring(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_part_fn_custom_state(lua_State *L)
-{
-   char *name;
-   float val;
-   Edje_Part_Description *parent;
-   Edje_Part_Image_Id *iid;
-   Eina_List *l;
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   /* check whether this part already has a "custom" state */
-   if (obj->rp->custom)
-     {
-       _edje_lua_get_reg(L, obj->rp->custom->description);
-       return 1;
-     }
-
-   name = (char *)luaL_checkstring(L, 2);      // state name
-   val = luaL_checknumber(L, 3);       // state val
-   if (!(parent = _edje_part_description_find(obj->ed, obj->rp, name, val)))
-     {
-       lua_pushnil(L);
-       return 1;
-     }
-   /* now create the custom state */
-   Edje_Lua_Edje_Part_Description *tar =
-      lua_newuserdata(L, sizeof(Edje_Lua_Edje_Part_Description));
-   tar->rp = obj->rp;
-   _edje_lua_set_class(L, -1, cDescription);
-   _edje_lua_new_reg(L, -1, tar); // freed in edje_load.c::_edje_file_del
-   if (!(tar->pd = calloc(1, sizeof(Edje_Part_Description))))
-     {
-       lua_pushnil(L);
-       return 1;
-     }
-   
-   obj->rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
-   if (!obj->rp->custom)
-     {
-        free(tar->pd);
-        tar->pd = NULL;
-        lua_pushnil(L);
-        return 1;
-     }
-   
-   *(tar->pd) = *parent;
-   tar->pd->state.name = (char *)eina_stringshare_add("custom");
-   tar->pd->state.value = 0.0;
-   /* 
-    * make sure all the allocated memory is getting copied,
-    * not just referenced
-    */
-   tar->pd->image.tween_list = NULL;
-   EINA_LIST_FOREACH(parent->image.tween_list, l, iid)
-   {
-      Edje_Part_Image_Id *iid_new;
-      iid_new = calloc(1, sizeof(Edje_Part_Image_Id));
-      iid_new->id = iid->id;
-
-      tar->pd->image.tween_list =
-        eina_list_append(tar->pd->image.tween_list, iid_new);
-   }
-#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL
-   tar->pd->color_class = DUP(tar->pd->color_class);
-   tar->pd->text.text = DUP(tar->pd->text.text);
-   tar->pd->text.text_class = DUP(tar->pd->text.text_class);
-   tar->pd->text.font = DUP(tar->pd->text.font);
-   tar->pd->text.style = DUP(tar->pd->text.style);
-#undef DUP
-   obj->rp->custom->description = tar->pd;
-   _edje_lua_new_reg(L, -1, obj->rp->custom->description); // freed in edje_load.c::_edje_file_del
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_table_pack(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-      edje_object_part_table_pack(obj->ed->obj, obj->key, tar->eo,
-        luaL_checkint(L, 3),
-        luaL_checkint(L, 4),
-        luaL_checkint(L, 5),
-        luaL_checkint(L, 6)));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_table_unpack(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        edje_object_part_table_unpack(obj->ed->obj, obj->key, tar->eo));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_table_clear(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushboolean(L,
-        edje_object_part_table_clear(obj->ed->obj, obj->key, lua_toboolean(L, 2)));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_append(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        edje_object_part_box_append(obj->ed->obj, obj->key, tar->eo));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_prepend(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        edje_object_part_box_prepend(obj->ed->obj, obj->key, tar->eo));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_insert_before(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   Edje_Lua_Evas_Object *ref = _edje_lua_checkudata(L, 3, &mObject);
-   lua_pushboolean(L,
-        edje_object_part_box_insert_before(obj->ed->obj, obj->key, tar->eo, ref->eo));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_insert_at(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   lua_pushboolean(L,
-        edje_object_part_box_insert_at(obj->ed->obj, obj->key, tar->eo, luaL_checkint(L, 3)));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_remove(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
-   edje_object_part_box_remove(obj->ed->obj, obj->key, tar->eo);
-   lua_pushvalue(L, 2);
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_remove_at(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   _edje_lua_get_reg(L, edje_object_part_box_remove_at(obj->ed->obj, obj->key, luaL_checkint(L, 2)));
-   return 1;
-}
-
-static int
-_edje_lua_part_fn_box_remove_all(lua_State *L)
-{
-   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
-   lua_pushboolean(L,
-        edje_object_part_box_remove_all(obj->ed->obj, obj->key, lua_toboolean(L, 2)));
-   return 1;
-}
-
-const luaL_Reg lPart_fn[] = {
-   {"swallow", _edje_lua_part_fn_swallow},
-   {"unswallow", _edje_lua_part_fn_unswallow},
-
-   {"custom_state", _edje_lua_part_fn_custom_state},
-
-   {"text_select_none", _edje_lua_part_fn_text_select_none},
-   {"text_select_all", _edje_lua_part_fn_text_select_all},
-   {"text_insert", _edje_lua_part_fn_text_insert},
-
-   {"table_pack", _edje_lua_part_fn_table_pack},
-   {"table_unpack", _edje_lua_part_fn_table_unpack},
-   {"table_clear", _edje_lua_part_fn_table_clear},
-
-   {"box_append", _edje_lua_part_fn_box_append},
-   {"box_prepend", _edje_lua_part_fn_box_prepend},
-   {"box_insert_before", _edje_lua_part_fn_box_insert_before},
-   {"box_insert_at", _edje_lua_part_fn_box_insert_at},
-   {"box_remove", _edje_lua_part_fn_box_remove},
-   {"box_remove_at", _edje_lua_part_fn_box_remove_at},
-   {"box_remove_all", _edje_lua_part_fn_box_remove_all},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lGroup_mt[];
-
-const luaL_Reg lGroup_get[];
-
-const luaL_Reg lGroup_set[];
-
-const luaL_Reg lGroup_fn[];
-
-const Edje_Lua_Reg mGroup = {
-   lGroup_mt,
-   lGroup_get,
-   lGroup_set,
-   lGroup_fn
-};
-
-const Edje_Lua_Reg *cGroup[] = {
-   &mClass,
-   &mObject,
-   &mGroup,
-   NULL                                // sentinel
-};
-
-static int
-_edje_lua_group_mt_index(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_getmetatable(L, 1);
-   if (!_edje_lua_look_fn(L))
-     {
-       // look in lGroup_fn
-       if (!_edje_lua_look_get(L))
-         {
-            // look in lGroup_get
-            const char *key = luaL_checkstring(L, 2);
-            Edje *ed = _edje_fetch(obj->eo);
-            Edje_Real_Part *rp = _edje_real_part_recursive_get(ed, key);
-            if (rp)
-              {
-                 // check if lua userdata exists
-                 Evas_Object *part = (Evas_Object *) edje_object_part_object_get(obj->eo, key);
-                 _edje_lua_get_reg(L, part);
-                 if (lua_isnil(L, -1))
-                   {
-                      // create it
-                      lua_pop(L, 1);
-                      Edje_Lua_Edje_Part_Object *tar =
-                         lua_newuserdata(L, sizeof(Edje_Lua_Edje_Part_Object));
-                      tar->eo = part;
-                      tar->ed = ed;
-                      tar->key = key;
-                      tar->L = L;
-                      tar->rp = rp;
-                      _edje_lua_set_class(L, -1, cPart);
-                      _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_edje_part_del_cb
-                      _edje_lua_new_reg(L, -1, part); // freed in _edje_lua_edje_part_del_cb
-                      evas_object_event_callback_add(tar->eo,
-                                                     EVAS_CALLBACK_DEL,
-                                                     _edje_lua_edje_part_del_cb,
-                                                     L);
-                   }
-              }
-            else
-              {
-                 // look in obj environment table
-                 lua_getfenv(L, 1);
-                 lua_pushvalue(L, 2);  // key
-                 lua_rawget(L, -2);
-              }
-         }
-     }
-   return 1;
-}
-
-const luaL_Reg lGroup_mt[] = {
-   {"__index", _edje_lua_group_mt_index},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_group_get_group(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   const char *file, *group;
-   edje_object_file_get(obj->eo, &file, &group);
-   lua_pushstring(L, group);
-   return 1;
-}
-
-static int
-_edje_lua_group_get_mouse(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   int x, y;
-   evas_pointer_canvas_xy_get(evas_object_evas_get(obj->eo), &x, &y);
-   x -= obj->ed->x;
-   y -= obj->ed->y;
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, x);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, y);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_group_get_mouse_buttons(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushnumber(L, evas_pointer_button_down_mask_get(obj->ed->evas));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_size_min(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   int w, h;
-   edje_object_size_min_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_group_get_size_max(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   int w, h;
-   edje_object_size_max_get(obj->eo, &w, &h);
-   lua_createtable(L, 2, 0);
-   lua_pushnumber(L, w);
-   lua_rawseti(L, -2, 1);
-   lua_pushnumber(L, h);
-   lua_rawseti(L, -2, 2);
-   return 1;
-}
-
-static int
-_edje_lua_group_get_scale(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushnumber(L, edje_object_scale_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_load_error(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushnumber(L, edje_object_load_error_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_load_error_str(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushstring(L, edje_load_error_str(edje_object_load_error_get(obj->eo)));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_play(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushboolean(L, edje_object_play_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_animation(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   lua_pushboolean(L, edje_object_animation_get(obj->eo));
-   return 1;
-}
-
-static int
-_edje_lua_group_get_frametime(lua_State *L)
-{
-   lua_pushnumber(L, edje_frametime_get());
-   return 1;
-}
-
-const luaL_Reg lGroup_get[] = {
-   {"group", _edje_lua_group_get_group},
-   {"mouse", _edje_lua_group_get_mouse},
-   {"mouse_buttons", _edje_lua_group_get_mouse_buttons},
-   {"size_min", _edje_lua_group_get_size_min},
-   {"size_max", _edje_lua_group_get_size_max},
-   {"scale", _edje_lua_group_get_scale},
-   {"load_error", _edje_lua_group_get_load_error},
-   {"load_error_str", _edje_lua_group_get_load_error_str},
-   {"play", _edje_lua_group_get_play},
-   {"animation", _edje_lua_group_get_animation},
-   {"frametime", _edje_lua_group_get_frametime},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_group_set_group(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_file_set(obj->eo, obj->ed->file->path, luaL_checkstring(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_group_set_size_min(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->ed->collection->prop.min.w = luaL_checkint(L, -2);
-   obj->ed->collection->prop.min.h = luaL_checkint(L, -1);
-   obj->ed->dirty = EINA_TRUE;
-   _edje_recalc(obj->ed);
-   return 0;
-}
-
-static int
-_edje_lua_group_set_size_max(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   luaL_checktype(L, 2, LUA_TTABLE);
-   lua_rawgeti(L, 2, 1);
-   lua_rawgeti(L, 2, 2);
-   obj->ed->collection->prop.max.w = luaL_checkint(L, -2);
-   obj->ed->collection->prop.max.h = luaL_checkint(L, -1);
-   obj->ed->dirty = EINA_TRUE;
-   _edje_recalc(obj->ed);
-   return 0;
-}
-
-static int
-_edje_lua_group_set_scale(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_scale_set(obj->eo, luaL_checknumber(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_group_set_play(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_play_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_group_set_animation(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_animation_set(obj->eo, lua_toboolean(L, 2));
-   return 0;
-}
-
-static void
-_edje_lua_group_text_change_cb(void* data, Evas_Object *obj, const char* part)
-{
-   Edje_Lua_Ref *ref = data;
-   lua_State *L = ref->L;
-   int err_code;
-
-   _edje_lua_get_ref(L, ref);
-   _edje_lua_get_reg(L, obj);
-   lua_pushstring(L, part);
-
-   if ((err_code = lua_pcall(L, 2, 0, 0)))
-     _edje_lua_error(L, err_code);
-}
-
-static int
-_edje_lua_group_set_text_change_cb(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_text_change_cb_set(obj->eo, _edje_lua_group_text_change_cb, _edje_lua_new_ref(L, 2));
-   return 0;
-}
-
-static int
-_edje_lua_group_set_frametime(lua_State *L)
-{
-   edje_frametime_set(luaL_checknumber(L, 2));
-   return 0;
-}
-const luaL_Reg lGroup_set[] = {
-   {"group", _edje_lua_group_set_group},
-   {"size_min", _edje_lua_group_set_size_min},
-   {"size_max", _edje_lua_group_set_size_max},
-   {"scale", _edje_lua_group_set_scale},
-   {"play", _edje_lua_group_set_play},
-   {"animation", _edje_lua_group_set_animation},
-   {"text_change_cb", _edje_lua_group_set_text_change_cb},
-   {"frametime", _edje_lua_group_set_frametime},
-   {NULL, NULL}                        // sentinel
-};
-
-static int
-_edje_lua_group_fn_timer(lua_State *L)
-{
-   Edje_Lua_Timer *tar = lua_newuserdata(L, sizeof(Edje_Lua_Timer));
-   
-   _edje_lua_set_class(L, -1, cTimer);
-   /* ^^^^^^^^^^^^^^^^(L, index, class)
-   lua_newtable(L);
-   if (index < 0)
-      lua_setfenv(L, index - 1);
-   else
-      lua_setfenv(L, index);
-
-   _edje_lua_get_metatable(L, class);
-   if (index < 0)
-      lua_setmetatable(L, index - 1);
-   else
-      lua_setmetatable(L, index);
-    */
-   
-   tar->et = ecore_timer_add(luaL_checknumber(L, 2), _edje_lua_timer_cb, tar);
-   tar->L = L;
-   
-   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_timer_cb/del
-   /* ^^^^^^^^^^^^^^(L, index, ptr)   
-   lua_pushvalue(L, index);
-   lua_pushlightuserdata(L, ptr);
-   lua_insert(L, -2);
-   lua_rawset(L, LUA_REGISTRYINDEX); // freed in _edje_lua_free_reg
-    */
-   
-   tar->cb = _edje_lua_new_ref(L, 3); // freed in _edje_lua_timer_cb/del
-   /* ^^^^^^^^^^^^^^^^^^^^^^^^(L, index)
-   lua_pushvalue(L, index);
-   Edje_Lua_Ref *ref = malloc(sizeof(Edje_Lua_Ref));
-   ref->id = luaL_ref(L, LUA_REGISTRYINDEX);
-   ref->L = L;
-   return ref;
-    */
-   return 1;
-}
-
-static int
-_edje_lua_group_fn_animator(lua_State *L)
-{
-   Edje_Lua_Animator *tar = lua_newuserdata(L, sizeof(Edje_Lua_Animator));
-   _edje_lua_set_class(L, -1, cAnimator);
-   tar->ea = ecore_animator_add(_edje_lua_animator_cb, tar);
-   tar->L = L;
-   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_animator_cb/del
-   tar->cb = _edje_lua_new_ref(L, 2); // freed in _edje_lua_animator_cb/del
-   return 1;
-}
-
-static int
-_edje_lua_group_fn_poller(lua_State *L)
-{
-   int interval;
-   Edje_Lua_Poller *tar;
-   tar = lua_newuserdata(L, sizeof(Edje_Lua_Poller));
-   _edje_lua_set_class(L, -1, cPoller);
-   
-   interval = luaL_checknumber(L, 2);
-   if ((interval <= 0) || ((interval & 1) != 0))
-     {
-       return 0;
-     }
-
-   // Only 1 type of poller currently implemented in ecore
-   tar->ep = ecore_poller_add(ECORE_POLLER_CORE, interval,
-                             _edje_lua_poller_cb, tar);
-   tar->L = L;
-   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_poller_cb/del
-   tar->cb = _edje_lua_new_ref(L, 3); // freed in _edje_lua_poller_cb/del
-
-   return 1;
-}
-
-static int
-_edje_lua_group_fn_transform(lua_State *L)
-{
-   Edje_Lua_Transform *tar = lua_newuserdata(L, sizeof(Edje_Lua_Transform));
-   evas_transform_identity_set (&(tar->et));
-   _edje_lua_set_class(L, -1, cTransform);
-   tar->L = L;
-   return 1;
-}
-
-static int
-_edje_lua_group_fn_signal_emit(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_signal_emit(obj->eo,
-                          luaL_checkstring(L, 2), luaL_checkstring(L, 3));
-   return 0;
-}
-
-static Edje_Program *
-_edje_lua_program_get_byname(Evas_Object * obj, const char *prog_name)
-{
-   Edje_Program *epr;
-   int i;
-   Edje *ed;
-   ed = _edje_fetch(obj);
-   if (!ed)
-      return NULL;
-   if (!prog_name)
-      return NULL;
-   for (i = 0; i < ed->table_programs_size; i++)
-     {
-       epr = ed->table_programs[i];
-       if ((epr->name) && (strcmp(epr->name, prog_name) == 0))
-          return epr;
-     }
-   return NULL;
-}
-
-static int
-_edje_lua_group_fn_program_run(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   Edje_Program *pr =
-      _edje_lua_program_get_byname(obj->eo, luaL_checkstring(L, 2));
-   if (pr)
-      _edje_program_run(obj->ed, pr, 0, "", "");
-   return 0;
-}
-
-static int
-_edje_lua_group_fn_program_stop(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   Edje_Program *pr =
-      _edje_lua_program_get_byname(obj->eo, luaL_checkstring(L, 2));
-   int program_id = pr->id;
-   Edje_Running_Program *runp;
-   Eina_List *l;
-   obj->ed->walking_actions = EINA_TRUE;
-   EINA_LIST_FOREACH(obj->ed->actions, l, runp)
-      if (program_id == runp->program->id)
-      _edje_program_end(obj->ed, runp);
-   obj->ed->walking_actions = EINA_FALSE;
-   return 0;
-}
-
-static int
-_edje_lua_group_fn_message_send(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   int type = luaL_checkint(L, 2);
-   void *msg = NULL;
-   int i;
-   int size;
-   switch (type)
-     {
-     case EDJE_MESSAGE_NONE:
-       break;
-     case EDJE_MESSAGE_SIGNAL:
-       break;
-     case EDJE_MESSAGE_STRING:
-         {
-            Edje_Message_String *msg_string =
-               malloc(sizeof(Edje_Message_String));
-            msg_string->str = (char *)luaL_checkstring(L, 4);
-            msg = msg_string;
-         }
-       break;
-     case EDJE_MESSAGE_INT:
-         {
-            Edje_Message_Int *msg_int = malloc(sizeof(Edje_Message_Int));
-
-            msg_int->val = luaL_checkint(L, 4);
-            msg = msg_int;
-         }
-       break;
-     case EDJE_MESSAGE_FLOAT:
-         {
-            Edje_Message_Float *msg_float = malloc(sizeof(Edje_Message_Float));
-
-            msg_float->val = luaL_checknumber(L, 4);
-            msg = msg_float;
-         }
-       break;
-     case EDJE_MESSAGE_STRING_SET:
-         {
-            if (lua_type(L, 4) != LUA_TTABLE)
-              break;
-            size = lua_objlen(L, 4);
-            Edje_Message_String_Set *msg_string_set =
-               malloc(sizeof(Edje_Message_String_Set) +
-                     (size - 1) * sizeof(char *));
-            msg_string_set->count = size;
-            for (i = 0; i < size; i++)
-              {
-                 lua_rawgeti(L, 4, i + 1);
-                 msg_string_set->str[i] = (char *)luaL_checkstring(L, -1);
-                 lua_pop(L, 1);
-              }
-            msg = msg_string_set;
-         }
-       break;
-     case EDJE_MESSAGE_INT_SET:
-         {
-            if (lua_type(L, 4) != LUA_TTABLE)
-              break;
-            size = lua_objlen(L, 4);
-            Edje_Message_Int_Set *msg_int_set =
-               malloc(sizeof(Edje_Message_Int_Set) + (size - 1) * sizeof(int));
-            msg_int_set->count = size;
-            for (i = 0; i < size; i++)
-              {
-                 lua_rawgeti(L, 4, i + 1);
-                 msg_int_set->val[i] = luaL_checkint(L, -1);
-                 lua_pop(L, 1);
-              }
-            msg = msg_int_set;
-         }
-       break;
-     case EDJE_MESSAGE_FLOAT_SET:
-         {
-            if (lua_type(L, 4) != LUA_TTABLE)
-              break;
-            size = lua_objlen(L, 4);
-            Edje_Message_Float_Set *msg_float_set =
-               malloc(sizeof(Edje_Message_Float_Set) +
-                     (size - 1) * sizeof(double));
-            msg_float_set->count = size;
-            for (i = 0; i < size; i++)
-              {
-                 lua_rawgeti(L, 4, i + 1);
-                 msg_float_set->val[i] = luaL_checknumber(L, -1);
-                 lua_pop(L, 1);
-              }
-            msg = msg_float_set;
-         }
-       break;
-     case EDJE_MESSAGE_STRING_INT:
-         {
-            Edje_Message_String_Int *msg_string_int =
-               malloc(sizeof(Edje_Message_String_Int));
-            msg_string_int->str = (char *)luaL_checkstring(L, 4);
-            msg_string_int->val = luaL_checkint(L, 5);
-            msg = msg_string_int;
-         }
-       break;
-     case EDJE_MESSAGE_STRING_FLOAT:
-         {
-            Edje_Message_String_Float *msg_string_float =
-               malloc(sizeof(Edje_Message_String_Float));
-            msg_string_float->str = (char *)luaL_checkstring(L, 4);
-            msg_string_float->val = luaL_checknumber(L, 5);
-            msg = msg_string_float;
-         }
-       break;
-     case EDJE_MESSAGE_STRING_INT_SET:
-         {
-            if (lua_type(L, 5) != LUA_TTABLE)
-              break;
-            size = lua_objlen(L, 5);
-            Edje_Message_String_Int_Set *msg_string_int_set =
-               malloc(sizeof(Edje_Message_String_Int_Set) +
-                     (size - 1) * sizeof(int));
-            msg_string_int_set->str = (char *)luaL_checkstring(L, 4);
-            msg_string_int_set->count = size;
-            for (i = 0; i < size; i++)
-              {
-                 lua_rawgeti(L, 5, i + 1);
-                 msg_string_int_set->val[i] = luaL_checkint(L, -1);
-                 lua_pop(L, 1);
-              }
-            msg = msg_string_int_set;
-         }
-       break;
-     case EDJE_MESSAGE_STRING_FLOAT_SET:
-         {
-            if (lua_type(L, 5) != LUA_TTABLE)
-              break;
-            size = lua_objlen(L, 5);
-            Edje_Message_String_Float_Set *msg_string_float_set =
-               malloc(sizeof(Edje_Message_String_Float_Set) +
-                     (size - 1) * sizeof(double));
-            msg_string_float_set->str = (char *)luaL_checkstring(L, 4);
-            msg_string_float_set->count = size;
-            for (i = 0; i < size; i++)
-              {
-                 lua_rawgeti(L, 5, i + 1);
-                 msg_string_float_set->val[i] = luaL_checknumber(L, -1);
-                 lua_pop(L, 1);
-              }
-            msg = msg_string_float_set;
-         }
-       break;
-     default:
-       break;
-     }
-
-   if (msg)
-     {
-       edje_object_message_send(obj->eo, type, luaL_checkint(L, 3), msg);
-       free(msg);
-     }
-
-   return 0;
-}
-
-static void
-_edje_lua_group_signal_callback(void *data, Evas_Object * edj,
-                               const char *signal, const char *source)
-{
-   Edje_Lua_Ref *cb = data;
-   lua_State *L = cb->L;
-   _edje_lua_get_ref(L, cb);   // signal callback function
-   if (lua_isfunction(L, -1))
-     {
-       int err_code;
-
-       _edje_lua_get_reg(L, edj);
-       lua_pushstring(L, signal);      // signal
-       lua_pushstring(L, source);      // source
-
-        if ((err_code = lua_pcall(L, 3, 0, 0)))
-          _edje_lua_error(L, err_code);
-     }
-}
-
-static int
-_edje_lua_group_fn_signal_callback_add(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   if (lua_type(L, 4) == LUA_TFUNCTION)
-     {
-       Edje_Lua_Ref *ref = _edje_lua_new_ref(L, 4);
-       obj->cb = eina_list_append(obj->cb, ref);
-       edje_object_signal_callback_add(obj->eo,
-                                       luaL_checkstring(L, 2),
-                                       luaL_checkstring(L, 3),
-                                       _edje_lua_group_signal_callback,
-                                       ref); // freed in _edje_lua_group_fn_signal_callback_del
-     }
-   return 0;
-}
-
-static int
-_edje_lua_group_fn_signal_callback_del(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   Edje_Lua_Ref *ref = edje_object_signal_callback_del(obj->eo,
-                                  luaL_checkstring(L, 2),
-                                  luaL_checkstring(L, 3),
-                                  _edje_lua_group_signal_callback);
-   obj->cb = eina_list_remove(obj->cb, ref);
-   _edje_lua_free_ref(L, ref); // created in _edje_lua_group_fn_signal_callback_add
-   return 0;
-}
-
-static int
-_edje_lua_group_fn_freeze(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_freeze(obj->eo);
-   return 0;
-}
-
-static int
-_edje_lua_group_fn_thaw(lua_State *L)
-{
-   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
-   edje_object_thaw(obj->eo);
-   return 0;
-}
-
-const luaL_Reg lGroup_fn[] = {
-   {"timer", _edje_lua_group_fn_timer},
-   {"animator", _edje_lua_group_fn_animator},
-   {"poller", _edje_lua_group_fn_poller},
-   {"transform", _edje_lua_group_fn_transform},
-   {"signal_emit", _edje_lua_group_fn_signal_emit},
-   {"message_send", _edje_lua_group_fn_message_send},
-   {"program_run", _edje_lua_group_fn_program_run},
-   {"program_stop", _edje_lua_group_fn_program_stop},
-   {"signal_callback_add", _edje_lua_group_fn_signal_callback_add},
-   {"signal_callback_del", _edje_lua_group_fn_signal_callback_del},
-   {"freeze", _edje_lua_group_fn_freeze},
-   {"thaw", _edje_lua_group_fn_thaw},
-   {NULL, NULL}                        // sentinel
-};
-
-/*
- * Lua bindings
- */
-
-const luaL_Reg lScript_get[];
-
-const luaL_Reg lScript_set[];
-
-const luaL_Reg lScript_fn[];
-
-const Edje_Lua_Reg mScript = {
-   lNil,
-   lScript_get,
-   lScript_set,
-   lScript_fn
-};
-
-const Edje_Lua_Reg *cScript[] = {
-   &mClass,
-   &mObject,
-   &mGroup,
-   &mScript,
-   NULL                                // sentinel
-};
-
-/*
- * macro for adding an evas_object in the lua_script_only object
- */
-#define _EDJE_LUA_SCRIPT_FN_ADD(DEF, CLASS, FUNC)                      \
-  static int                                                           \
-  DEF (lua_State *L)                                                   \
-  {                                                                    \
-     int set = lua_gettop (L) == 2;                                    \
-     Edje_Lua_Evas_Object *obj = _edje_lua_checkudata (L, 1, &mScript); \
-     Edje_Lua_Evas_Object *tar = lua_newuserdata (L, sizeof (Edje_Lua_Evas_Object)); \
-     _edje_lua_set_class (L, -1, CLASS);                               \
-     tar->eo = FUNC (obj->ed->evas);                                   \
-     tar->ed = obj->ed;                                                        \
-     tar->L = L;                                                       \
-     tar->cb = NULL;                                                   \
-     evas_object_move (tar->eo, obj->ed->x, obj->ed->y);               \
-     _edje_lua_new_reg (L, -1, tar); /* freed in _edje_lua_object_del_cb */ \
-     _edje_lua_new_reg (L, -1, tar->eo); /* freed in _edje_lua_object_del_cb */ \
-     evas_object_smart_member_add (tar->eo, obj->eo);                  \
-     evas_object_clip_set (tar->eo, obj->ed->clipper);                 \
-     evas_object_event_callback_add (tar->eo, EVAS_CALLBACK_DEL, _edje_lua_object_del_cb, L); \
-     if (set)                                                          \
-       {                                                               \
-         int err_code;                                                 \
-         lua_getfield (L, -1, "set");                                  \
-         lua_pushvalue (L, -2);                                        \
-         lua_pushvalue (L, 2);                                         \
-          if ((err_code = lua_pcall (L, 2, 0, 0)))                     \
-            _edje_lua_error (L, err_code);                             \
-       }                                                               \
-     return 1;                                                         \
-  }
-
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_rectangle,
-                       cRectangle,
-                       evas_object_rectangle_add)
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_image,
-                       cImage,
-                       evas_object_image_add)
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_table,
-                       cTable,
-                       evas_object_table_add)
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_line,
-                       cLine,
-                       evas_object_line_add)
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_polygon,
-                       cPolygon,
-                       evas_object_polygon_add)
-_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_group, cGroup, edje_object_add)
-
-const luaL_Reg lScript_fn[] = {
-   {"rectangle", _edje_lua_script_fn_rectangle},
-   {"image", _edje_lua_script_fn_image},
-   {"table", _edje_lua_script_fn_table},
-   {"line", _edje_lua_script_fn_line},
-   {"polygon", _edje_lua_script_fn_polygon},
-   {"group", _edje_lua_script_fn_group},
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lScript_get[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-const luaL_Reg lScript_set[] = {
-   {NULL, NULL}                        // sentinel
-};
-
-/*
- * creates and exports a lua_script_only object
- */
-void
-_edje_lua_script_fn_new(Edje * ed)
-{
-   lua_State *L = ed->L;
-   Edje_Lua_Evas_Object *tar = lua_newuserdata(L, sizeof(Edje_Lua_Evas_Object));
-   _edje_lua_set_class(L, -1, cScript);
-   tar->eo = ed->obj;
-   tar->ed = ed;
-   tar->L = L;
-   tar->cb = NULL;
-   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_object_del_cb
-   _edje_lua_new_reg(L, -1, ed); // freed in edje_load.c::_edje_file_del
-   _edje_lua_new_reg(L, -1, ed->obj); // freed in _edje_lua_object_del_cb
-   evas_object_event_callback_add(tar->eo, EVAS_CALLBACK_DEL,
-                                 _edje_lua_object_del_cb, L);
-}
-
-/*
- * creates and exports an Edje group with associated Lua scripts in the parts and programs sections
- */
-void
-_edje_lua_group_fn_new(Edje * ed)
-{
-   lua_State *L = ed->L;
-   Edje_Lua_Evas_Object *tar = lua_newuserdata(L, sizeof(Edje_Lua_Evas_Object));
-   _edje_lua_set_class(L, -1, cGroup);
-   tar->eo = ed->obj;
-   tar->ed = ed;
-   tar->L = L;
-   tar->cb = NULL;
-   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_object_del_cb
-   _edje_lua_new_reg(L, -1, ed); // freed in edje_load.c::_edje_file_del
-   _edje_lua_new_reg(L, -1, ed->obj); // freed in _edje_lua_object_del_cb
-   evas_object_event_callback_add(tar->eo, EVAS_CALLBACK_DEL,
-                                 _edje_lua_object_del_cb, L);
-}
-
-/*
- * this function loads all the Lua bindings into the global Lua state
- */
-static void
-_edje_lua_open(lua_State *L)
-{
-   /*
-    * export classes
-    */
-   _edje_lua_new_class(L, cTimer);
-   _edje_lua_new_class(L, cAnimator);
-   _edje_lua_new_class(L, cPoller);
-   _edje_lua_new_class(L, cTransform);
-   _edje_lua_new_class(L, cRectangle);
-   _edje_lua_new_class(L, cImage);
-   _edje_lua_new_class(L, cTable);
-   _edje_lua_new_class(L, cLine);
-   _edje_lua_new_class(L, cPolygon);
-   _edje_lua_new_class(L, cGroup);
-   _edje_lua_new_class(L, cDescription);
-   _edje_lua_new_class(L, cPart);
-   _edje_lua_new_class(L, cScript);
-
-   /*
-    * export constants
-    */
-   _edje_lua_new_const(L, "MESSAGE_NONE", EDJE_MESSAGE_NONE);
-   _edje_lua_new_const(L, "MESSAGE_SIGNAL", EDJE_MESSAGE_SIGNAL);
-   _edje_lua_new_const(L, "MESSAGE_STRING", EDJE_MESSAGE_STRING);
-   _edje_lua_new_const(L, "MESSAGE_INT", EDJE_MESSAGE_INT);
-   _edje_lua_new_const(L, "MESSAGE_FLOAT", EDJE_MESSAGE_FLOAT);
-   _edje_lua_new_const(L, "MESSAGE_STRING_SET", EDJE_MESSAGE_STRING_SET);
-   _edje_lua_new_const(L, "MESSAGE_INT_SET", EDJE_MESSAGE_INT_SET);
-   _edje_lua_new_const(L, "MESSAGE_FLOAT_SET", EDJE_MESSAGE_FLOAT_SET);
-   _edje_lua_new_const(L, "MESSAGE_STRING_INT", EDJE_MESSAGE_STRING_INT);
-   _edje_lua_new_const(L, "MESSAGE_STRING_FLOAT", EDJE_MESSAGE_STRING_FLOAT);
-   _edje_lua_new_const(L, "MESSAGE_STRING_INT_SET", EDJE_MESSAGE_STRING_INT_SET);
-   _edje_lua_new_const(L, "MESSAGE_STRING_FLOAT_SET", EDJE_MESSAGE_STRING_FLOAT_SET);
-
-   _edje_lua_new_const(L, "PART_TYPE_NONE", EDJE_PART_TYPE_NONE);
-   _edje_lua_new_const(L, "PART_TYPE_RECTANGLE", EDJE_PART_TYPE_RECTANGLE);
-   _edje_lua_new_const(L, "PART_TYPE_TEXT", EDJE_PART_TYPE_TEXT);
-   _edje_lua_new_const(L, "PART_TYPE_IMAGE", EDJE_PART_TYPE_IMAGE);
-   _edje_lua_new_const(L, "PART_TYPE_SWALLOW", EDJE_PART_TYPE_SWALLOW);
-   _edje_lua_new_const(L, "PART_TYPE_TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK);
-   _edje_lua_new_const(L, "PART_TYPE_GRADIENT", EDJE_PART_TYPE_GRADIENT);
-   _edje_lua_new_const(L, "PART_TYPE_GROUP", EDJE_PART_TYPE_GROUP);
-   _edje_lua_new_const(L, "PART_TYPE_BOX", EDJE_PART_TYPE_BOX);
-
-   _edje_lua_new_const(L, "TEXT_EFFECT_NONE", EDJE_TEXT_EFFECT_NONE);
-   _edje_lua_new_const(L, "TEXT_EFFECT_PLAIN", EDJE_TEXT_EFFECT_PLAIN);
-   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE", EDJE_TEXT_EFFECT_OUTLINE);
-   _edje_lua_new_const(L, "TEXT_EFFECT_OTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE);
-   _edje_lua_new_const(L, "TEXT_EFFECT_SHADOW", EDJE_TEXT_EFFECT_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW);
-   _edje_lua_new_const(L, "TEXT_EFFECT_GLOW", EDJE_TEXT_EFFECT_GLOW);
-
-   _edje_lua_new_const(L, "RENDER_BLEND", EVAS_RENDER_BLEND);
-   _edje_lua_new_const(L, "RENDER_BLEND_REL", EVAS_RENDER_BLEND_REL);
-   _edje_lua_new_const(L, "RENDER_COPY", EVAS_RENDER_COPY);
-   _edje_lua_new_const(L, "RENDER_COPY_REL", EVAS_RENDER_COPY_REL);
-   _edje_lua_new_const(L, "RENDER_ADD", EVAS_RENDER_ADD);
-   _edje_lua_new_const(L, "RENDER_ADD_REL", EVAS_RENDER_ADD_REL);
-   _edje_lua_new_const(L, "RENDER_SUB", EVAS_RENDER_SUB);
-   _edje_lua_new_const(L, "RENDER_SUB_REL", EVAS_RENDER_SUB_REL);
-   _edje_lua_new_const(L, "RENDER_TINT", EVAS_RENDER_TINT);
-   _edje_lua_new_const(L, "RENDER_TINT_REL", EVAS_RENDER_TINT_REL);
-   _edje_lua_new_const(L, "RENDER_MASK", EVAS_RENDER_MASK);
-   _edje_lua_new_const(L, "RENDER_MUL", EVAS_RENDER_MUL);
-
-   _edje_lua_new_const(L, "BORDER_FILL_NONE", EVAS_BORDER_FILL_NONE);
-   _edje_lua_new_const(L, "BORDER_FILL_DEFAULT", EVAS_BORDER_FILL_DEFAULT);
-   _edje_lua_new_const(L, "BORDER_FILL_SOLID", EVAS_BORDER_FILL_SOLID);
-
-   _edje_lua_new_const(L, "POINTER_MODE_AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB);
-   _edje_lua_new_const(L, "POINTER_MODE_NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB);
-
-   _edje_lua_new_const(L, "ASPECT_CONTROL_NEITHER", EVAS_ASPECT_CONTROL_NEITHER);
-   _edje_lua_new_const(L, "ASPECT_CONTROL_HORIZONTAL", EVAS_ASPECT_CONTROL_HORIZONTAL);
-   _edje_lua_new_const(L, "ASPECT_CONTROL_VERTICAL", EVAS_ASPECT_CONTROL_VERTICAL);
-   _edje_lua_new_const(L, "ASPECT_CONTROL_BOTH", EVAS_ASPECT_CONTROL_BOTH);
-
-   _edje_lua_new_const(L, "CALLBACK_RENEW", ECORE_CALLBACK_RENEW);
-   _edje_lua_new_const(L, "CALLBACK_CANCEL", ECORE_CALLBACK_CANCEL);
-}
-
-/*
- * main Lua state
- * created by edje_init ()
- * closed by edje_shutdown ()
- * any other private Lua state inherits from this global state
- */
-static lua_State *Ledje = NULL;
-
-lua_State *
-_edje_lua_state_get ()
-{
-   return Ledje;
-}
-
-/*
- * custom memory allocation function
- * raises an error, if memory usage is above the given maximum
- */
-static void *
-_edje_lua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)
-{
-   Edje_Lua_Alloc *ela = ud;
-   void *ptr2;
-   
-   ela->cur += nsize - osize;
-   if (ela->cur > ela->max)
-     {
-        ERR("Edje Lua memory limit of %zu bytes reached (%zu allocated)",
-           ela->max, ela->cur);
-       return NULL;
-     }
-   if (nsize == 0)
-     {
-       free(ptr); /* ANSI requires that free(NULL) has no effect */
-       return NULL;
-     }
-
-   /* ANSI requires that realloc(NULL, size) == malloc(size) */
-   ptr2 = realloc(ptr, nsize);
-   if (ptr2) return ptr2;
-   ERR("Edje Lua cannot re-allocate %zu bytes", nsize);
-   return ptr2;
-}
-
-void
-_edje_lua_init()
-{
-   if (Ledje != NULL) return;
-   /*
-    * create main Lua state with the custom memory allocation function
-    */
-   static Edje_Lua_Alloc ela = { 1e7, 0 };     // TODO make the memory limit configurable?
-   Ledje = lua_newstate(_edje_lua_alloc, &ela);
-   if (!Ledje)
-     {
-       ERR("Lua error: Lua state could not be initialized");
-       exit(-1);
-     }
-
-   lua_atpanic(Ledje, _edje_lua_custom_panic);
-   
-   /*
-    * configure Lua garbage collector
-    * TODO optimize garbage collector for typical edje use or make it configurable
-    */
-   lua_gc(Ledje, LUA_GCSETPAUSE, 200);
-   lua_gc(Ledje, LUA_GCSETSTEPMUL, 200);
-
-   /*
-    * sandbox Lua
-    * no access to io, os and package routines
-    * no loading and execution of files
-    * no loading and execution of strings
-    * no access to the OS environment
-    */
-   luaopen_base(Ledje);
-   luaopen_table(Ledje);
-   luaopen_string(Ledje);
-   luaopen_math(Ledje);
-   luaopen_os(Ledje);
-
-   /*
-    * FIXME
-    * this is just for debug purposes
-    * remove it in the final version
-    */
-   lua_pushnil(Ledje);
-   lua_setglobal(Ledje, "load");
-   lua_pushnil(Ledje);
-   lua_setglobal(Ledje, "loadfile");
-   lua_pushnil(Ledje);
-   lua_setglobal(Ledje, "loadstring");
-   lua_pushnil(Ledje);
-   lua_setglobal(Ledje, "dofile");
-   lua_pushnil(Ledje);
-   lua_setglobal(Ledje, "dostring");
-
-   lua_getglobal(Ledje, "os");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "exit");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "setlocale");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "getenv");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "remove");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "tmpname");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "rename");
-   lua_pushnil(Ledje);
-   lua_setfield(Ledje, -2, "execute");
-   lua_pushnil(Ledje);
-
-   /*
-    * we need a weak value registry
-    * so that deleted and unused objects can be garbage collected
-    */
-   lua_createtable(Ledje, 1, 0);
-   //lua_pushstring(Ledje, "v"); 
-   lua_pushstring(Ledje, "");
-   lua_setfield(Ledje, -2, "__mode");
-   lua_setmetatable(Ledje, LUA_REGISTRYINDEX);
-
-   /*
-    * load Lua Evas/Edje bindings
-    */
-   _edje_lua_open(Ledje);
-}
-
-void
-_edje_lua_shutdown()
-{
-   if (Ledje == NULL) return;
-   lua_close(Ledje);
-   Ledje = NULL;
-}
-
-#endif
diff --git a/legacy/edje/src/lib/edje_lua2.c b/legacy/edje/src/lib/edje_lua2.c
deleted file mode 100644 (file)
index 4f60e3b..0000000
+++ /dev/null
@@ -1,4385 +0,0 @@
-// FIXME: Some error checking would be nice.
-
-
-#include "edje_private.h"
-#include <ctype.h>
-
-#define RASTER_FORGOT_WHY "this is here."
-
-
-//--------------------------------------------------------------------------//
-#define MAX_LUA_MEM (4 * (1024 * 1024))
-#define ELO "|-ELO"
-
-#define LC(...) EINA_LOG_DOM_CRIT(_log_domain, __VA_ARGS__)
-#define LE(...) EINA_LOG_DOM_ERR(_log_domain, __VA_ARGS__)
-#define LW(...) EINA_LOG_DOM_WARN(_log_domain, __VA_ARGS__)
-#define LI(...) EINA_LOG_DOM_INFO(_log_domain, __VA_ARGS__)
-#define LD(...) EINA_LOG_DOM_DBG(_log_domain, __VA_ARGS__)
-
-/**
-@page luaref Edje Lua scripting
-
-@section intro Introduction
-
-Lua is intended for script-only objects at this point (with embryo left
-for augmenting standard programs). Since script-only objects effectively
-define objects entirely via Lua script (resize handling, event handling
-etc. etc.) this places many more demands on them, and thus a more powerful
-language is in order. Lua is that language.
-
-To get you started, here's an example that uses most of this lua API:
-@ref lua_script.edc
-
-Most of these lua functions are wrappers around various evas, ecore, and edje C
-functions.  Refer to their documentation for more in depth details and up to
-date documentation.  A lot of this documentation is simple copied from the C
-functions it wraps.
-
-@section args Lua function argument and return syntax
-
-Some of the lua functions can accept a table as well as separate arguments.
-Some of them return tables.
-
-@section classes Lua classes
-
-*/
-
-/*
-Lua functions stack usage.
-
-In the definition of the lua functions provided, always mention the stack usage,
-using the same notation that is used in the Lua 5.1 Reference Manual.
-http://www.lua.org/manual/5.1/manual.html#3.7 describes that notation.
-
-On the other hand, lua discards excess stack entries when control passes back to
-it, but it's good to maintain proper discipline.
-
-Should do the same for the support functions.  These ARE more important to check.
-*/
-
-//--------------------------------------------------------------------------//
-typedef struct _Edje_Lua_Alloc       Edje_Lua_Alloc;
-typedef struct _Edje_Lua_Obj         Edje_Lua_Obj;
-typedef struct _Edje_Lua_Animator    Edje_Lua_Animator;
-typedef struct _Edje_Lua_Timer       Edje_Lua_Timer;
-typedef struct _Edje_Lua_Transition  Edje_Lua_Transition;
-typedef struct _Edje_Lua_Evas_Object Edje_Lua_Evas_Object;
-typedef struct _Edje_Lua_Map         Edje_Lua_Map;
-
-struct _Edje_Lua_Alloc
-{
-   size_t max, cur;
-};
-
-struct _Edje_Lua_Obj
-{
-   EINA_INLIST;
-
-   Edje         *ed;
-   void        (*free_func) (void *obj);
-   const char   *meta;
-};
-
-struct _Edje_Lua_Animator
-{
-   Edje_Lua_Obj     obj;
-   Ecore_Animator  *animator;
-   int              fn_ref;
-};
-
-struct _Edje_Lua_Timer
-{
-   Edje_Lua_Obj     obj;
-   Ecore_Timer     *timer;
-   int              fn_ref;
-};
-
-struct _Edje_Lua_Transition
-{
-   Edje_Lua_Obj     obj;
-   Ecore_Animator  *animator;
-   double           transition, start;
-   int              fn_ref;
-};
-
-struct _Edje_Lua_Evas_Object
-{
-   Edje_Lua_Obj     obj;
-   Evas_Object     *evas_obj;
-   int              x, y;
-};
-
-struct _Edje_Lua_Map
-{
-   Edje_Lua_Obj     obj;
-   Evas_Map        *map;
-};
-
-
-static void _elua_add_functions(lua_State *L, const char *api, const luaL_Reg *funcs, const char *meta, const char *parent, const char *base);
-static Eina_Bool _elua_isa(Edje_Lua_Obj *obj, const char *type);
-
-//--------------------------------------------------------------------------//
-#ifndef RASTER_FORGOT_WHY
-static lua_State *lstate = NULL;
-#endif
-static const char *_elua_key = "key";
-static const char *_elua_objs = "objs";
-/* This is not needed, pcalls don't longjmp(), that's why they are protected.
-static jmp_buf panic_jmp;
-*/
-static int panics = 0;
-static int _log_domain = -1;
-static int _log_count = 0;
-
-// FIXME: methods lua script can provide that edje will call (not done yet):
-// // scale set
-// // key down
-// // key up
-// // get dragable pos
-// // set dragable pos
-// // set drag size, step, page
-// // get drag size, step, page
-// // dragable step
-// // dragable page
-// // get part text
-// // set part text
-// // get swallow part
-// // set swallow part
-// // unswallow part
-// // textclass change
-// // colorclass change
-// // min size get <- ?? maybe set fn
-// // max size get <- ?? maybe set fn
-// // min size caclc (min/max restriction)
-// // preload
-// // preload cancel
-// // play set
-// // animation set
-// // parts extends calc
-// // part object get
-// // part geometry get
-//
-// // LATER: all the entry calls
-// // LATER: box and table calls
-// // LATER: perspective stuff change
-//
-
-// Grumble, pre-declare these.
-static const char *_elua_edje_meta = "edje_meta";
-static const char *_elua_evas_meta = "evas_meta";
-static const char *_elua_evas_edje_meta = "evas_edje_meta";
-static const char *_elua_evas_image_meta = "evas_image_meta";
-static const char *_elua_evas_line_meta = "evas_line_meta";
-static const char *_elua_evas_map_meta = "evas_map_meta";
-static const char *_elua_evas_polygon_meta = "evas_polygon_meta";
-static const char *_elua_evas_text_meta = "evas_text_meta";
-static const char *_elua_ecore_animator_meta = "ecore_animator_meta";
-static const char *_elua_ecore_timer_meta = "ecore_timer_meta";
-
-static int _elua_obj_gc(lua_State *L);
-
-static const struct luaL_Reg _elua_edje_gc_funcs [] =
-{
-     {"__gc", _elua_obj_gc}, // garbage collector func for edje objects
-
-     {NULL, NULL} // end
-};
-
-static const luaL_Reg _elua_libs[] =
-{
-     {"", luaopen_base},
-//     {LUA_LOADLIBNAME, luaopen_package}, // disable this lib - don't want
-     {LUA_TABLIBNAME, luaopen_table},
-//     {LUA_IOLIBNAME, luaopen_io}, // disable this lib - don't want
-//     {LUA_OSLIBNAME, luaopen_os}, // FIXME: audit os lib - maybe not provide or only provide specific calls
-     {LUA_STRLIBNAME, luaopen_string},
-     {LUA_MATHLIBNAME, luaopen_math},
-//     {LUA_DBLIBNAME, luaopen_debug}, // disable this lib - don't want
-
-     {NULL, NULL} // end
-};
-
-//--------------------------------------------------------------------------//
-static void *
-_elua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)
-{
-   Edje_Lua_Alloc *ela = ud;
-   void *ptr2;
-
-   ela->cur += nsize - osize;
-   if (ela->cur > ela->max)
-     {
-        ERR("Lua memory limit of %zu bytes reached (%zu allocated)",
-            ela->max, ela->cur);
-        return NULL;
-     }
-   if (nsize == 0)
-     {
-        free(ptr);
-        return NULL;
-     }
-
-   ptr2 = realloc(ptr, nsize);
-   if (ptr2) return ptr2;
-   ERR("Lua cannot re-allocate %zu bytes", nsize);
-   return ptr2;
-}
-
-static int
-_elua_custom_panic(lua_State *L)                   // Stack usage [-0, +0, m]
-{
-   // If we somehow manage to have multiple panics, it's likely due to being out
-   // of memory in the following lua_tostring() call.
-   panics++;
-   if (panics)
-     {
-        EINA_LOG_DOM_CRIT(_edje_default_log_dom, "Lua PANICS!!!!!");
-     }
-   else
-     {
-        EINA_LOG_DOM_CRIT(_edje_default_log_dom,
-           "Lua PANIC!!!!!: %s", lua_tostring(L, -1));  // Stack usage [-0, +0, m]
-     }
-   // The docs say that this will cause an exit(EXIT_FAILURE) if we return,
-   // and that we we should long jump some where to avoid that.  This is only
-   // called for things not called from a protected environment.  We always
-   // use pcalls though, except for the library load calls.  If we can't load
-   // the standard libraries, then perhaps a crash is the right thing.
-   return 0;
-}
-
-// Really only used to manage the pointer to our edje.
-static void
-_elua_table_ptr_set(lua_State *L, const void *key, const void *val)  // Stack usage [-2, +2, e]
-{
-   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
-   lua_pushlightuserdata(L, (void *)val);  // Stack usage [-0, +1, -]
-   lua_settable(L, LUA_REGISTRYINDEX);     // Stack usage [-2, +0, e]
-}
-
-static const void *
-_elua_table_ptr_get(lua_State *L, const void *key)  // Stack usage [-2, +2, e]
-{
-   const void *ptr;
-   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
-   lua_gettable(L, LUA_REGISTRYINDEX);     // Stack usage [-1, +1, e]
-   ptr = lua_topointer(L, -1);             // Stack usage [-0, +0, -]
-   lua_pop(L, 1);                          // Stack usage [-n, +0, -]
-   return ptr;
-}
-
-/* XXX: not used
-static void
-_elua_table_ptr_del(lua_State *L, const void *key)  // Stack usage [-2, +2, e]
-{
-   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
-   lua_pushnil(L);                         // Stack usage [-0, +1, -]
-   lua_settable(L, LUA_REGISTRYINDEX);     // Stack usage [-2, +0, e]
-}
-*/
-
-/*
- * Cori: Assumes object to be saved on top of stack
- */
-static void
-_elua_ref_set(lua_State *L, void *key)     // Stack usage [-4, +4, m]
-{
-   lua_pushlightuserdata(L, &_elua_objs);  // Stack usage [-0, +1, -]
-   lua_rawget(L, LUA_REGISTRYINDEX);       // Stack usage [-1, +1, -]
-   lua_pushlightuserdata(L, key);          // Stack usage [-0, +1, -]
-   lua_pushvalue(L,-3);                    // Stack usage [-0, +1, -]
-   lua_rawset(L, -3);                      // Stack usage [-2, +0, m]
-   lua_pop(L, 1);                          // Stack usage [-n, +0, -]
-}
-
-/*
- * Cori: Get an object from the object table
- */
-static void *
-_elua_ref_get(lua_State *L, void *key)     // Stack usage [-3, +4, -]
-{
-   lua_pushlightuserdata(L, &_elua_objs);  // Stack usage [-0, +1, -]
-   lua_rawget(L, LUA_REGISTRYINDEX);       // Stack usage [-1, +1, -]
-   lua_pushlightuserdata(L, key);          // Stack usage [-0, +1, -]
-   lua_rawget(L, -2);                      // Stack usage [-1, +1, -]
-   lua_remove(L, -2);                      // Stack usage [-1, +0, -]
-   return lua_touserdata(L, -2);           // Stack usage [-0, +0, -]
-}
-
-static Edje_Lua_Obj *
-_elua_obj_new(lua_State *L, Edje *ed, int size, const char *metatable)  // Stack usage [-5, +6, m]
-{
-   Edje_Lua_Obj *obj;
-
-   obj = (Edje_Lua_Obj *)lua_newuserdata(L, size);  // Stack usage [-0, +1, m]
-   memset(obj, 0, size);
-   ed->lua_objs = eina_inlist_append(ed->lua_objs, EINA_INLIST_GET(obj));
-
-   luaL_getmetatable(L, metatable);                 // Stack usage [-0, +1, -]
-   lua_setmetatable(L, -2);                         // Stack usage [-1, +0, -]
-   obj->ed = ed;
-   obj->meta = metatable;
-
-   _elua_ref_set(L, obj);                           // Stack usage [-4, +4, m]
-   return obj;
-}
-
-static void
-_elua_obj_free(lua_State *L __UNUSED__, Edje_Lua_Obj *obj)
-{
-   if (!obj->free_func) return;
-   obj->free_func(obj);
-   obj->ed->lua_objs = eina_inlist_remove(obj->ed->lua_objs, EINA_INLIST_GET(obj));
-   obj->free_func = NULL;
-   obj->ed = NULL;
-}
-
-static int
-_elua_obj_gc(lua_State *L)  // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);  // Stack usage [-0, +0, -]
-   if (!obj) return 0;
-   _elua_obj_free(L, obj);
-   return 0;
-}
-
-static int
-_elua_obj_del(lua_State *L)  // Stack usage [-0, +0, -]
-{
-   return _elua_obj_gc(L);   // Stack usage [-0, +0, -]
-}
-
-static void
-_elua_gc(lua_State *L)  // Stack usage [-0, +0, e]
-{
-   lua_gc(L, LUA_GCCOLLECT, 0);  // Stack usage [-0, +0, e]
-}
-
-// These are what the various symbols are for each type -
-//  int      %
-//  num      #
-//  str      $
-//  bool     !
-// FIXME: Still to do, if we ever use them -
-//  func     &
-//  userdata +
-//  lightuserdata *
-//  table    @
-//  thread   ^
-//  nil      ~
-
-static char *
-_elua_push_name(lua_State *L, char *q, int idx)  // Stack usage [-0, +1, e or m]
-{
-   char *p = q;
-   char temp = '\0';
-
-   // A simplistic scan through an identifier, it's wrong, but it's quick,
-   // and we don't mind that it's wrong, coz this is only internal.
-   while (isalnum((int)*q))
-      q++;
-   temp = *q;
-   *q = '\0';
-   if (idx > 0)
-      lua_getfield(L, idx, p);  // Stack usage [-0, +1, e]
-   else
-      lua_pushstring(L, p);       // Stack usage [-0, +1, m]
-   *q = temp;
-
-   return q;
-}
-
-static int
-_elua_scan_params(lua_State *L, int i, char *params, ...)                // Stack usage -
-                                                                         // if i is a table
-                                                                         //   [-n, +n, e]
-                                                                         // else
-                                                                         //   [-0, +0, -]
-{
-   va_list vl;
-   char *f = strdup(params);
-   char *p = f;
-   int n = 0, j = i, count = 0;
-   Eina_Bool table = EINA_FALSE;
-
-   if (!f) return -1;
-   va_start(vl, params);
-
-   if (lua_istable(L, i))                                                // Stack usage [-0, +0, -]
-     {
-        j = -1;
-        table = EINA_TRUE;
-     }
-
-   while (*p)
-     {
-        char *q;
-        Eina_Bool get = EINA_TRUE;
-
-        while (isspace((int)*p))
-           p++;
-        q = p + 1;
-        switch (*p)
-          {
-             case '%':
-               {
-                  if (table)
-                    {
-                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
-                    }
-                  if (lua_isnumber(L, j))                                // Stack usage [-0, +0, -]
-                    {
-                       int *v = va_arg(vl, int *);
-                       *v = lua_tointeger(L, j);                         // Stack usage [-0, +0, -]
-                       n++;
-                    }
-                  break;
-               }
-             case '#':
-               {
-                  if (table)
-                    {
-                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
-                    }
-                  if (lua_isnumber(L, j))                                // Stack usage [-0, +0, -]
-                    {
-                       double *v = va_arg(vl, double *);
-                       *v = lua_tonumber(L, j);                          // Stack usage [-0, +0, -]
-                       n++;
-                    }
-                  break;
-               }
-             case '$':
-               {
-                  if (table)
-                    {
-                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
-                    }
-                  if (lua_isstring(L, j))                                // Stack usage [-0, +0, -]
-                    {
-                       char **v = va_arg(vl, char **);
-                       size_t len;
-                       char *temp = (char *) lua_tolstring(L, j, &len);  // Stack usage [-0, +0, m]
-
-                       len++;  // Cater for the null at the end.
-                       *v = malloc(len);
-                       if (*v)
-                         {
-                            memcpy(*v, temp, len);
-                            n++;
-                         }
-                    }
-                  break;
-               }
-             case '!':
-               {
-                  if (table)
-                    {
-                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
-                    }
-                  if (lua_isboolean(L, j))                               // Stack usage [-0, +0, -]
-                    {
-                       int *v = va_arg(vl, int *);
-                       *v = lua_toboolean(L, j);                         // Stack usage [-0, +0, -]
-                       n++;
-                    }
-                  break;
-               }
-             default:
-               {
-                  get = EINA_FALSE;
-                  break;
-               }
-          }
-
-        if (get)
-          {
-             if (table)
-               {
-                  // If this is a table, then we pushed a value on the stack, pop it off.
-                  lua_pop(L, 1);                                         // Stack usage [-n, +0, -]
-               }
-            else
-                j++;
-            count++;
-          }
-        p = q;
-     }
-
-   free(f);
-   va_end(vl);
-   if (count > n)
-      n = 0;
-   else if (table)
-     n = 1;
-   return n;
-}
-
-static int
-_elua_ret(lua_State *L, char *params, ...)                // Stack usage [-(2*n), +(2*n+1), em]
-{
-   va_list vl;
-   char *f = strdup(params);
-   char *p = f;
-   int n = 0;
-
-   if (!f) return -1;
-
-   lua_newtable(L);                                       // Stack usage [-0, +1, m]
-   va_start(vl, params);
-
-   while (*p)
-     {
-        char *q;
-        Eina_Bool set = EINA_TRUE;
-
-        while (isspace((int)*p))
-           p++;
-        q = p + 1;
-        switch (*p)
-          {
-             case '%':
-               {
-                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
-                  lua_pushinteger(L, va_arg(vl, int));    // Stack usage [-0, +1, -]
-                  break;
-               }
-             case '#':
-               {
-                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
-                  lua_pushnumber(L, va_arg(vl, double));  // Stack usage [-0, +1, -]
-                  break;
-               }
-             case '$':
-               {
-                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
-                  lua_pushstring(L, va_arg(vl, char *));  // Stack usage [-0, +1, m]
-                  break;
-               }
-             case '!':
-               {
-                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
-                  lua_pushboolean(L, va_arg(vl, int));    // Stack usage [-0, +1, -]
-                  break;
-               }
-             default:
-               {
-                  set = EINA_FALSE;
-                  break;
-               }
-          }
-
-        if (set)
-          {
-             lua_settable(L, -3);                         // Stack usage [-2, +0, e]
-             n++;
-          }
-        p = q;
-     }
-
-   free(f);
-   va_end(vl);
-   return n;
-}
-
-static void
-_elua_color_fix(int *r, int *g, int *b, int *a)
-{
-   if (*r > *a) *r = *a;
-   if (*g > *a) *g = *a;
-   if (*b > *a) *b = *a;
-}
-
-//--------------------------------------------------------------------------//
-
-/**
-@page luaref
-@subsection edje Edje class.
-
-The lua edje class includes functions for dealing with the lua script only group
-as an edje object, basic functions, and functions to create other objects.
-
-In the following, "edje" is the actual global table used to access these edje functions.
-*/
-
-static int _elua_echo(lua_State *L);
-
-static int _elua_date(lua_State *L);
-static int _elua_looptime(lua_State *L);
-static int _elua_seconds(lua_State *L);
-static int _elua_version(lua_State *L);
-
-static int _elua_objgeom(lua_State *L);
-static int _elua_objpos(lua_State *L);
-static int _elua_objsize(lua_State *L);
-
-static int _elua_emit(lua_State *L);
-static int _elua_messagesend(lua_State *L);
-
-static int _elua_animator(lua_State *L);
-static int _elua_timer(lua_State *L);
-static int _elua_transition(lua_State *L);
-
-static int _elua_color_class(lua_State *L);
-static int _elua_text_class(lua_State *L);
-
-static int _elua_edje(lua_State *L);
-static int _elua_image(lua_State *L);
-static int _elua_line(lua_State *L);
-static int _elua_map(lua_State *L);
-static int _elua_polygon(lua_State *L);
-static int _elua_rect(lua_State *L);
-static int _elua_text(lua_State *L);
-//static int _elua_textblock(lua_State *L);  /* XXX: disabled until there are enough textblock functions implemented to make it actually useful
-
-static const char *_elua_edje_api = "edje";
-static const struct luaL_Reg _elua_edje_funcs [] =
-{
-   // add an echo too to make it more shelly
-     {"echo",         _elua_echo}, // test func - echo (i know we have print. test)
-   // FIXME: add logging functions here, probably to it's own domain, or even a script defined domain.
-
-   // system information (time, date blah blah)
-     {"date",         _elua_date}, // get date in a table
-     {"looptime",     _elua_looptime}, // get loop time
-     {"seconds",      _elua_seconds}, // get seconds
-     {"version",      _elua_version}, // edje version
-
-   // query edje - size, pos
-     {"geom",         _elua_objgeom}, // get while edje object geometry in canvas
-     {"pos",          _elua_objpos}, // get while edje object pos in canvas
-     {"size",         _elua_objsize}, // get while edje object pos in canvas
-
-   // talk to application/caller
-     {"emit",         _elua_emit}, // emit signal + src
-     {"messagesend",  _elua_messagesend}, // send a structured message
-
-   // time based "callback" systems
-     {"animator",     _elua_animator}, // add animator
-     {"timer",        _elua_timer}, // add timer
-     {"transition",   _elua_transition}, // add transition
-   // FIXME: need poller
-
-   // set and query color / text class
-     {"color_class",  _elua_color_class},
-     {"text_class",   _elua_text_class},
-
-   // create new objects
-     {"edje",         _elua_edje},
-     {"image",        _elua_image},  // defaults to a filled image.
-     {"line",         _elua_line},
-     {"map",          _elua_map},
-     {"polygon",      _elua_polygon},
-     {"rect",         _elua_rect},
-     {"text",         _elua_text},
-//     {"textblock",    _elua_textblock},  /* XXX: disabled until there are enough textblock functions implemented to make it actually useful
-
-   // FIXME: add the new sound stuff.
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection edje_echo edje:echo(text)
-
-Make lua a bit shelly.  Prints a string to the console
-
-@param text The string to print.
-*/
-static int
-_elua_echo(lua_State *L)                         // Stack usage [-0, +0, v]
-{
-   const char *string = luaL_checkstring(L, 1);  // Stack usage [-0, +0, v]
-   LD("%s", string);
-   return 0;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection edje_date edje:date()
-
-Retrieves the current time and date.
-
-Wraps gettimeofday(), as passed through localtime().
-
-@return A table with these fields:
-   - integer year: Year.
-   - integer month: Month of the year.
-   - integer day: Day of the month.
-   - integer yearday: Day of the year.
-   - integer weekday: Day of the week.
-   - integer hour: Hour of the day (24 hour format).
-   - integer min: Minute of the hour.
-   - number sec: Seconds as a number.
-
-*/
-static int
-_elua_date(lua_State *L)  // Stack usage [-16, +17, em]
-{
-   static time_t       last_tzset = 0;
-   struct timeval      timev;
-   struct tm          *tm;
-   time_t              tt;
-
-   gettimeofday(&timev, NULL);
-   tt = (time_t)(timev.tv_sec);
-   if ((tt > (last_tzset + 1)) || (tt < (last_tzset - 1)))
-     {
-        last_tzset = tt;
-        tzset();
-     }
-   tm = localtime(&tt);
-   if (tm)
-     {                    // Stack usage [-16, +17, em]
-        _elua_ret(L, "%year %month %day %yearday %weekday %hour %min #sec",
-              (int)(tm->tm_year + 1900),
-              (int)(tm->tm_mon + 1),
-              (int)(tm->tm_mday),
-              (int)(tm->tm_yday),
-              (int)((tm->tm_wday + 6) % 7),
-              (int)(tm->tm_hour),
-              (int)(tm->tm_min),
-              (double)((double)tm->tm_sec + (((double)timev.tv_usec) / 1000000))
-           );
-
-
-     }
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_looptime edje:looptime()
-
-Retrieves the time at which the last loop stopped waiting for timeouts or events.
-
-This gets the time that the main loop ceased waiting for timouts and/or events
-to come in or for signals or any other interrupt source. This should be
-considered a reference point for all time based activity that should calculate
-its timepoint from the return of edje:looptime(). Use this UNLESS you absolutely
-must get the current actual timepoint - then use edje:seconds(). Note that this
-time is meant to be used as relative to other times obtained on this run.
-
-Wraps ecore_loop_time_get().
-
-@returns A number of seconds.
-*/
-static int
-_elua_looptime(lua_State *L)  // Stack usage [-0, +1, -]
-{
-   double t = ecore_loop_time_get();
-   lua_pushnumber(L, t);      // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_seconds edje:seconds()
-
-Retrieves the current system time as a floating point value in seconds.
-
-This uses a monotonic clock and thus never goes back in time while machine is
-live (even if user changes time or timezone changes, however it may be reset
-whenever the machine is restarted).
-
-Wraps ecore_time_get().
-
-@returns A number of seconds.
-*/
-static int
-_elua_seconds(lua_State *L)  // Stack usage [-0, +1, -]
-{
-   double t = ecore_time_get();
-   lua_pushnumber(L, t);     // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_version edje:version()
-
-Retrieves the current edje version number.
-
-@returns A table with these fields:
-    - integer major: The edje version major number.
-    - integer minor: The edje version minor number.
-
-@since 1.2.0
-*/
-static int
-_elua_version(lua_State *L)                                                // Stack usage [-4, +5, em]
-{
-   _elua_ret(L, "%major %minor", EDJE_VERSION_MAJOR, EDJE_VERSION_MINOR);  // Stack usage [-4, +5, em]
-    return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection edje_geom edje:geom()
-
-Retrieves the position and size of the edje object that this lua group is in.
-
-@returns A table with these fields:
-   - integer x: The edjes X position.
-   - integer y: The edjes Y position.
-   - integer w: The edjes width.
-   - integer h: The edjes height.
-*/
-static int
-_elua_objgeom(lua_State *L)                                  // Stack usage [-10, +11, em]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   _elua_ret(L, "%x %y %w %h", ed->x, ed->y, ed->w, ed->h);  // Stack usage [-8, +9, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_pos edje:pos()
-
-
-Retrieves the position of the edje object that this lua group is in.
-
-@returns A table with these fields:
-   - integer x: The edjes X position.
-   - integer y: The edjes Y position.
-*/
-static int
-_elua_objpos(lua_State *L)                                   // Stack usage [-6, +7, em]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   _elua_ret(L, "%x %y", ed->x, ed->y);                      // Stack usage [-4, +5, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_size edje:size()
-
-
-Retrieves the size of the edje object that this lua group is in.
-
-@returns A table with these fields:
-   - integer w: The edjes width.
-   - integer h: The edjes height.
-*/
-static int
-_elua_objsize(lua_State *L)                                  // Stack usage [-6, +7, em]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   _elua_ret(L, "%w %h", ed->w, ed->h);                      // Stack usage [-4, +5, em]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection edje_emit edje:emit(signal, source)
-
-Emit a signal.
-
-Wraps edje_object_signal_emit().
-
-@param signal The signal string to send.
-@param source The source string of the signal.
-
-NOTE: The source string will have a name and a colon prepended to in when it is
-delivered to things that are not this edje, like C and other edje groups.
-If this edje is a top level edje, then it will be the name of the group (I think).
-If this edje is swallowed into some other part, then it will be the name of the
-part:
-
-   group_name:source
-
-FIXME: I actually have no idea what happens if it's swallowed into another lua
-edje group.
-*/
-static int
-_elua_emit(lua_State *L)                                     // Stack usage [-2, +2, ev]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   const char *sig = luaL_checkstring(L, 1);                 // Stack usage [-0, +0, v]
-   const char *src = luaL_checkstring(L, 2);                 // Stack usage [-0, +0, v]
-   if ((!sig) || (!src)) return 0;
-   _edje_emit(ed, sig, src);
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection edje_message_send edje:messagesend(id, type, ...)
-
-Send a message to this edje, and all it's child objects.
-
-Wraps edje_object_message_send().
-
-@param id   An identification integer for the message.
-@param type The type of message to send.
-@param ...  Zero or more things to send as part of the message, depending on the type.
-
-The type can be one of:
-   - none: No msg.
-   - sig: The msg is two strings (signal, source), sent as a signal.
-   - str: The msg is a C string.
-   - int: The message is a C integer.
-   - float: The message is a C float.
-   - strset: The message is an array of C strings.
-   - intset: The message is an array of C integers.
-   - floatset: The message is an array of C floats.
-   - strint: The message is a C stnring and a C integer.
-   - strfloat: The message is a C string and a C float.
-   - strintset: The message is a C string and an array of C integers.
-   - strfloatset: The message is a G string and an array of C floats.
-
-For the array types, the lua caller passes a table.
-*/
-static int
-_elua_messagesend(lua_State *L)  // Stack usage [-2, +2, ev] plus [-2, +2] for every element if it's an array message.
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   int id = luaL_checkinteger(L, 1);                         // Stack usage [-0, +0, v]
-   const char *type = luaL_checkstring(L, 2);                // Stack usage [-0, +0, v]
-   if (!type) return 0;
-   if (!strcmp(type, "none"))
-     {
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_NONE, id, NULL);
-     }
-   else if (!strcmp(type, "sig"))
-     {
-        const char *sig = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        const char *src = luaL_checkstring(L, 4);            // Stack usage [-0, +0, v]
-        _edje_emit(ed, sig, src);
-     }
-   else if (!strcmp(type, "str"))
-     {
-        Edje_Message_String *emsg;
-        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        emsg = alloca(sizeof(Edje_Message_String));
-        emsg->str = (char *)str;
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING, id, emsg);
-     }
-   else if (!strcmp(type, "int"))
-     {
-        Edje_Message_Int *emsg;
-        int val = luaL_checkinteger(L, 3);                   // Stack usage [-0, +0, v]
-        emsg = alloca(sizeof(Edje_Message_Int));
-        emsg->val = val;
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_INT, id, emsg);
-     }
-   else if (!strcmp(type, "float"))
-     {
-        Edje_Message_Float *emsg;
-        float val = luaL_checknumber(L, 3);                  // Stack usage [-0, +0, v]
-        emsg = alloca(sizeof(Edje_Message_Float));
-        emsg->val = val;
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_FLOAT, id, emsg);
-     }
-   else if (!strcmp(type, "strset"))
-     {
-        Edje_Message_String_Set *emsg;
-        int i, n;
-        const char *str;
-        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
-#if LUA_VERSION_NUM >= 502
-        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
-#else
-        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
-#endif
-        emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 1) * sizeof(char *)));
-        emsg->count = n;
-        for (i = 1; i <= n; i ++)
-          {
-             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
-             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
-             str = lua_tostring(L, -1);                        // Stack usage [-0, +0, m]
-             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
-             emsg->str[i - 1] = (char *)str;
-          }
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_SET, id, emsg);
-     }
-   else if (!strcmp(type, "intset"))
-     {
-        Edje_Message_Int_Set *emsg;
-        int i, n;
-        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
-#if LUA_VERSION_NUM >= 502
-        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
-#else
-        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
-#endif
-        emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 1) * sizeof(int)));
-        emsg->count = n;
-        for (i = 1; i <= n; i ++)
-          {
-             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
-             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
-             emsg->val[i - 1] = lua_tointeger(L, -1);        // Stack usage [-0, +0, -]
-             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
-          }
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_INT_SET, id, emsg);
-     }
-   else if (!strcmp(type, "floatset"))
-     {
-        Edje_Message_Float_Set *emsg;
-        int i, n;
-        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
-#if LUA_VERSION_NUM >= 502
-        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
-#else
-        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
-#endif
-        emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 1) * sizeof(double)));
-        emsg->count = n;
-        for (i = 1; i <= n; i ++)
-          {
-             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
-             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
-             emsg->val[i - 1] = lua_tonumber(L, -1);         // Stack usage [-0, +0, -]
-             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
-          }
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_FLOAT_SET, id, emsg);
-     }
-   else if (!strcmp(type, "strint"))
-     {
-        Edje_Message_String_Int *emsg;
-        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        emsg = alloca(sizeof(Edje_Message_String_Int));
-        emsg->str = (char *)str;
-        emsg->val =  luaL_checkinteger(L, 4);                // Stack usage [-0, +0, v]
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_INT, id, emsg);
-     }
-   else if (!strcmp(type, "strfloat"))
-     {
-        Edje_Message_String_Float *emsg;
-        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        emsg = alloca(sizeof(Edje_Message_String_Float));
-        emsg->str = (char *)str;
-        emsg->val =  luaL_checknumber(L, 4);                 // Stack usage [-0, +0, v]
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_FLOAT, id, emsg);
-     }
-   else if (!strcmp(type, "strintset"))
-     {
-        Edje_Message_String_Int_Set *emsg;
-        int i, n;
-        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        if (!str) return 0;
-        luaL_checktype(L, 4, LUA_TTABLE);                    // Stack usage [-0, +0, v]
-#if LUA_VERSION_NUM >= 502
-        n = lua_rawlen(L, 4);                                // Stack usage [-0, +0, -]
-#else
-        n = lua_objlen(L, 4);                                // Stack usage [-0, +0, -]
-#endif
-        emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 1) * sizeof(int)));
-        emsg->str = (char *)str;
-        emsg->count = n;
-        for (i = 1; i <= n; i ++)
-          {
-             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
-             lua_gettable(L, 4);                               // Stack usage [-1, +1, e]
-             emsg->val[i - 1] = lua_tointeger(L, -1);        // Stack usage [-0, +0, -]
-             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
-          }
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_INT_SET, id, emsg);
-     }
-   else if (!strcmp(type, "strfloatset"))
-     {
-        Edje_Message_String_Float_Set *emsg;
-        int i, n;
-        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
-        if (!str) return 0;
-        luaL_checktype(L, 4, LUA_TTABLE);                    // Stack usage [-0, +0, v]
-#if LUA_VERSION_NUM >= 502
-        n = lua_rawlen(L, 4);                                // Stack usage [-0, +0, -]
-#else
-        n = lua_objlen(L, 4);
-#endif
-        emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 1) * sizeof(double)));
-        emsg->str = (char *)str;
-        emsg->count = n;
-        for (i = 1; i <= n; i ++)
-          {
-             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
-             lua_gettable(L, 4);                               // Stack usage [-1, +1, e]
-             emsg->val[i - 1] = lua_tonumber(L, -1);         // Stack usage [-0, +0, -]
-             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
-          }
-        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_FLOAT_SET, id, emsg);
-     }
-   return 0;
-}
-
-//-------------
-static Eina_Bool
-_elua_animator_cb(void *data)                                // Stack usage [-2, +2, em]
-{
-   Edje_Lua_Animator *ela = data;
-   lua_State *L;
-   int ret = 0, err = 0;
-
-   if (!ela->obj.ed) return 0;
-   L = ela->obj.ed->L;
-   if (!L) return 0;
-   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
-   if (setjmp(panic_jmp) == 1)
-     {
-        LE("Animator callback panic");
-        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
-        _elua_obj_free(L, (Edje_Lua_Obj *)ela);
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-    */
-   lua_rawgeti(L, LUA_REGISTRYINDEX, ela->fn_ref);           // Stack usage [-0, +1, -]
-   if ((err = lua_pcall(L, 0, 1, 0)))                        // Stack usage [-1, +1, -]
-     {
-        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
-        _elua_obj_free(L, (Edje_Lua_Obj *)ela);
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
-   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
-   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)ela);
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return ret;
-}
-
-static void
-_elua_animator_free(void *obj)                               // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Animator *ela = obj;
-   lua_State *L;
-   if (!ela->obj.ed) return;
-   L = ela->obj.ed->L;
-   luaL_unref(L, LUA_REGISTRYINDEX, ela->fn_ref);            // Stack usage [-0, +0, -]
-   ela->fn_ref  = 0;
-   ecore_animator_del(ela->animator);
-   ela->animator = NULL;
-}
-
-/**
-@page luaref
-@subsubsection edje_animator edje:animator(func)
-
-This function adds an animator and returns its handle on success and NULL on
-failure. The function func will be called every frame tick.  Note that setting
-the frame tick is not available as a lua function, so has to be done from C.
-The default tick is 1/30 second.
-
-When the animator func is called, it must return a value of either true or false.
-If it returns true it will be called again at the next tick, or if it returns
-false it will be deleted automatically making any references/handles for it
-invalid.
-
-Wraps ecore_animator_add().
-
-@param func The function to call when the animator triggers.
-
-@returns A userdata that is an ecore animator.
-*/
-static int
-_elua_animator(lua_State *L)                                 // Stack usage [-8, +9, emv]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   Edje_Lua_Animator *ela;
-
-   luaL_checkany(L, 1);                                      // Stack usage [-0, +0, v]
-
-   // FIXME: Allow lua to set a data to be sent back with the callback.
-   ela = (Edje_Lua_Animator *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Animator), _elua_ecore_animator_meta);
-                                                             // Stack usage [-5, +6, m]
-   ela->obj.free_func = _elua_animator_free;
-   ela->animator = ecore_animator_add(_elua_animator_cb, ela);
-   lua_pushvalue(L, 1);                                      // Stack usage [-0, +1, -]
-   ela->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return 1;
-}
-
-static Eina_Bool
-_elua_timer_cb(void *data)                                   // Stack usage [-2, +2, em]
-{
-   Edje_Lua_Timer *elt = data;
-   lua_State *L;
-   int ret = 0, err = 0;
-
-   if (!elt->obj.ed) return 0;
-   L = elt->obj.ed->L;
-   if (!L) return 0;
-   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
-   if (setjmp(panic_jmp) == 1)
-     {
-        LE("Timer callback panic");
-        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
-        _elua_obj_free(L, (Edje_Lua_Obj *)elt);
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-  */
-   lua_rawgeti(L, LUA_REGISTRYINDEX, elt->fn_ref);           // Stack usage [-0, +1, -]
-   if ((err = lua_pcall(L, 0, 1, 0)))                        // Stack usage [-1, +1, -]
-     {
-        _edje_lua2_error(L, err);
-        _elua_obj_free(L, (Edje_Lua_Obj *)elt);              // Stack usage [-0, +0, m]
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
-   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
-   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)elt);
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return ret;
-}
-
-static void
-_elua_timer_free(void *obj)                                  // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Timer *elt = obj;
-   lua_State *L;
-   if (!elt->obj.ed) return;
-   L = elt->obj.ed->L;
-   luaL_unref(L, LUA_REGISTRYINDEX, elt->fn_ref);            // Stack usage [-0, +0, -]
-   elt->fn_ref  = 0;
-   ecore_timer_del(elt->timer);
-   elt->timer = NULL;
-}
-
-/**
-@page luaref
-@subsubsection edje_timer edje:timer(tick, func)
-
-This function adds a timer and returns its handle on success and NULL on failure.
-The function func will be called every tick seconds.
-
-When the timer func is called, it must return a value of either true or false.
-If it returns true, it will be called again at the next tick, or if it returns
-false it will be deleted automatically making any references/handles for it
-invalid.
-
-Wraps ecore_timer_add().
-
-@param tick How often, in seconds, to call the function.
-@param func The function to call when the timer triggers.
-
-@returns A userdata that is an ecore timer.
-*/
-static int
-_elua_timer(lua_State *L)                                    // Stack usage [-8, +9, emv]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   Edje_Lua_Timer *elt;
-   double val;
-
-   val = luaL_checknumber(L, 1);                             // Stack usage [-0, +0, v]
-   luaL_checkany(L, 2);                                      // Stack usage [-0, +0, v]
-
-   elt = (Edje_Lua_Timer *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Timer), _elua_ecore_timer_meta);
-                                                             // Stack usage [-5, +6, m]
-   elt->obj.free_func = _elua_timer_free;
-   elt->timer = ecore_timer_add(val, _elua_timer_cb, elt);
-   lua_pushvalue(L, 2);                                      // Stack usage [-0, +1, -]
-   elt->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return 1;
-}
-
-static Eina_Bool
-_elua_transition_cb(void *data)                              // Stack usage [-3, +3, em]
-{
-   Edje_Lua_Transition *elt = data;
-   lua_State *L;
-   int ret = 0, err = 0;
-   double t;
-
-   if (!elt->obj.ed) return 0;
-   L = elt->obj.ed->L;
-   if (!L) return 0;
-   t = (ecore_loop_time_get() - elt->start) / elt->transition;
-   if (t > 1.0) t = 1.0;
-   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
-   if (setjmp(panic_jmp) == 1)
-     {
-        LE("Transition callback panic");
-        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
-        _elua_obj_free(L, (Edje_Lua_Obj *)elt);
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-  */
-   lua_rawgeti(L, LUA_REGISTRYINDEX, elt->fn_ref);           // Stack usage [-0, +1, -]
-   lua_pushnumber(L, t);                                     // Stack usage [-0, +1, -]
-   if ((err = lua_pcall(L, 1, 1, 0)))                        // Stack usage [-2, +1, -]
-     {
-        _edje_lua2_error(L, err);
-        _elua_obj_free(L, (Edje_Lua_Obj *)elt);              // Stack usage [-0, +0, m]
-        _elua_gc(L);                                         // Stack usage [-0, +0, e]
-        return 0;
-     }
-   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
-   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
-   if (t >= 1.0) ret = 0;
-   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)elt);
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return ret;
-}
-
-static void
-_elua_transition_free(void *obj)                             // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Transition *elt = obj;
-   lua_State *L;
-   if (!elt->obj.ed) return;
-   L = elt->obj.ed->L;
-   luaL_unref(L, LUA_REGISTRYINDEX, elt->fn_ref);            // Stack usage [-0, +0, -]
-   elt->fn_ref  = 0;
-   ecore_animator_del(elt->animator);
-   elt->animator = NULL;
-}
-
-/**
-@page luaref
-@subsubsection edje_transition edje:transition(div, func)
-
-Just like edje:animator(), except that the callback function gets called with an
-argument.  The argument is the amount of time since the transition was created,
-divided by the div parameter.
-
-@param div A number to divide the time since creation by.
-@param func The function to call when the transition triggers.
-
-@returns A userdata that is a transition (ecore animator, plus other info).
-*/
-static int
-_elua_transition(lua_State *L)                               // Stack usage [-8, +9, emv]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   Edje_Lua_Transition *elt;
-   double val;
-
-   val = luaL_checknumber(L, 1);                             // Stack usage [-0, +0, v]
-   luaL_checkany(L, 2);                                      // Stack usage [-0, +0, v]
-
-   elt = (Edje_Lua_Transition *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Transition), _elua_ecore_animator_meta);
-                                                             // Stack usage [-5, +6, m]
-   elt->obj.free_func = _elua_transition_free;
-   elt->animator = ecore_animator_add(_elua_transition_cb, elt);
-   if (val < 0.0000001) val = 0.0000001;
-   elt->transition = val;
-   elt->start = ecore_loop_time_get();
-   lua_pushvalue(L, 2);                                      // Stack usage [-0, +1, -]
-   elt->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
-   _elua_gc(L);                                              // Stack usage [-0, +0, e]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection edje_colour_class edje:color_class(class, r, g, b, a)
-
-Gets, (and optionally sets) the colours for a color class.
-
-Wraps edje_object_color_class_set().
-
-@param class A color class name.
-@param r The new red value.
-@param g The new green value.
-@param b The new blue value.
-@param a The new alpha value.
-
-Note that the r, g, b, and a arguments are optional, without them this function
-just queries the current values.  The r, g, b, and a arguments can be separate
-values, or named fields in a table.
-
-@return A table with these fields:
-   - integer r: The red value.
-   - integer g: The green value.
-   - integer b: The blue value.
-   - integer a: The alpha value.
-
-@since 1.1.0
-*/
-static int
-_elua_color_class(lua_State *L)                              // Stack usage [-(10|14), +(11|15), ?]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   Edje_Color_Class *c_class;
-   const char *class = luaL_checkstring(L, 1);               // Stack usage [-0, +0, v]
-   int r, g, b, a;
-
-   if (!class) return 0;
-
-   if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
-     {                                                       // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        _elua_color_fix(&r, &g, &b, &a);
-        // This is the way that embryo does it -
-        //edje_object_color_class_set(ed->obj, class, r, g, b, a, r, g, b, a, r, g, b, a);
-        // But that deals with object scope, which is currently useless in lua,
-        // since we have no objects that can use color_class yet.
-        // So we do it at global scope instead.
-        // LATER - Should do both?
-        edje_color_class_set(class, r, g, b, a, r, g, b, a, r, g, b, a);
-     }
-
-   c_class = _edje_color_class_find(ed, class);
-   if (!c_class) return 0;
-
-   _elua_ret(L, "%r %g %b %a", c_class->r, c_class->g, c_class->b, c_class->a);
-                                                             // Stack usage [-8, +9, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_text_class edje:text_class(class, font, size)
-
-Gets, (and optionally sets) the details for a text class.
-
-Wraps edje_object_text_class_set().
-
-@param class A text class name.
-@param font The new font name.
-@param size The new font size.
-
-Note that the font and size arguments are optional, without them this function
-just queries the current values.  The font and size arguments can be separate
-values, or named fields in a table.  The font name can refer to a font in the
-edje file, or an external font.
-
-@return A table with these fields:
-   - string font: The font name.
-   - integer size: The font size.
-
-@since 1.1.0
-*/
-static int
-_elua_text_class(lua_State *L)                               // Stack usage [-(6|8), +(7|9), emv]
-{
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
-   Edje_Text_Class *t_class;
-   const char *class = luaL_checkstring(L, 1);               // Stack usage [-0, +0, v]
-   char *font = NULL;
-   Evas_Font_Size size = 0;
-
-   if (!class) return 0;
-
-   // Just like color_class above, this does things differently from embryo,
-   // for the same reason.
-   if (_elua_scan_params(L, 2, "$font %size", &font, &size) > 0)
-                                                             // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        edje_text_class_set(class, font, size);
-
-   t_class = _edje_text_class_find(ed, class);
-   if (!t_class) return 0;
-
-   _elua_ret(L, "$font %size", t_class->font, t_class->size);
-                                                             // Stack usage [-4, +5, em]
-   return 1;
-}
-
-//-------------
-static void
-_elua_evas_obj_free(void *obj)
-{
-   Edje_Lua_Evas_Object *elo = obj;
-
-   if (!elo->obj.ed) return;
-   evas_object_del(elo->evas_obj);
-   elo->evas_obj = NULL;
-}
-
-// Stack usage [-7, +8, em]
-#define _ELUA_PLANT_EVAS_OBJECT(type, meta, free)            \
-   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     \
-   type *elo;                                                \
-   elo = (type *)_elua_obj_new(L, ed, sizeof(type), meta);   \
-   elo->obj.free_func = free;
-// Stack usage [-2, +2, e]
-// Stack usage [-5, +6, m]
-
-static void
-_elua_polish_evas_object(Edje *ed, Edje_Lua_Evas_Object *elo)
-{
-   evas_object_smart_member_add(elo->evas_obj, ed->obj);
-   evas_object_clip_set(elo->evas_obj, ed->base->clipper);
-   evas_object_move(elo->evas_obj, ed->x, ed->y);
-   evas_object_resize(elo->evas_obj, 0, 0);
-   evas_object_data_set(elo->evas_obj, ELO, elo);
-}
-
-/**
-@page luaref
-@subsubsection edje_edje edje:edje()
-
-Create an edje object, and add it to the edje.
-
-Wraps edje_object_add().
-
-@returns A userdata that is an edje object.
-
-@since 1.1.0
-*/
-static int
-_elua_edje(lua_State *L)                                     // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_edje_meta, _elua_evas_obj_free)
-                                                             // Stack usage [-7, +8, em]
-   elo->evas_obj = edje_object_add(evas_object_evas_get(ed->obj));
-   _edje_subobj_register(ed, elo->evas_obj);
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_image edje:image()
-
-Create an evas image, and add it to the edje.
-
-Wraps evas_object_image_add().
-
-@returns A userdata that is an evas image.
-
-@since 1.1.0
-*/
-static int
-_elua_image(lua_State *L)                                    // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_image_meta, _elua_evas_obj_free)
-                                                             // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_image_filled_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_line edje:line()
-
-Create an evas line, and add it to the edje.
-
-Wraps evas_object_line_add().
-
-@returns A userdata that is an evas line.
-
-@since 1.1.0
-*/
-static int
-_elua_line(lua_State *L)                                     // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_line_meta, _elua_evas_obj_free)
-                                                             // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_line_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-static void
-_elua_map_free(void *obj)
-{
-   Edje_Lua_Map *elm = obj;
-   if (!elm->obj.ed) return;
-   evas_map_free(elm->map);
-   elm->map = NULL;
-}
-
-/**
-@page luaref
-@subsubsection edje_map edje:map()
-
-Create an evas map.
-
-Wraps evas_map_new().
-
-@returns A userdata that is an evas map.
-
-@since 1.1.0
-*/
-static int
-_elua_map(lua_State *L)                                      // Stack usage [-7, +8, emv]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Map, _elua_evas_map_meta, _elua_map_free)
-                                                             // Stack usage [-7, +8, em]
-   elo->map = evas_map_new(luaL_checkinteger(L, 1));         // Stack usage [-0, +0, v]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_polygon edje:polygon()
-
-Create an evas polygon, and add it to the edje.
-
-Wraps evas_object_polygon_add().
-
-@returns A userdata that is an evas polygon.
-
-@since 1.1.0
-*/
-static int
-_elua_polygon(lua_State *L)                                 // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_polygon_meta, _elua_evas_obj_free)
-                                                            // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_polygon_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_rect edje:rect()
-
-Create an evas rectangle, and add it to the edje.
-
-Wraps evas_object_rectangle_add().
-
-@returns A userdata that is an evas rectangle.
-*/
-static int
-_elua_rect(lua_State *L)                                    // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_meta, _elua_evas_obj_free)
-                                                            // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_rectangle_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection edje_text edje:text()
-
-Create an evas text object, and add it to the edje.
-
-Wraps evas_object_text_add().
-
-@returns A userdata that is an evas text object.
-
-@since 1.1.0
-*/
-static int
-_elua_text(lua_State *L)                                    // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_text_meta, _elua_evas_obj_free)
-                                                            // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_text_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-
-/* XXX: disabled until there are enough textblock functions implemented to make it actually useful
-_elua_textblock(lua_State *L)                               // Stack usage [-7, +8, em]
-{
-   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_textblock_meta, _elua_evas_obj_free)
-                                                            // Stack usage [-7, +8, em]
-   elo->evas_obj = evas_object_textblock_add(evas_object_evas_get(ed->obj));
-   _elua_polish_evas_object(ed, elo);
-   return 1;
-}
-*/
-
-//-------------
-//-------------
-
-/**
-@page luaref
-@subsection evas Evas class.
-
-The lua evas class includes functions for dealing with evas objects.  The evas
-objects must have been previously created by lua using one of the lua ezas
-object creation functions from the lua edje class.
-
-In the following, "evas_object" is a place holder for any lua variable that
-holds a reference to an evas object.
-*/
-
-static int _elua_obj_del(lua_State *L);
-
-static int _elua_hide(lua_State *L);
-static int _elua_show(lua_State *L);
-static int _elua_visible(lua_State *L);
-
-static int _elua_above(lua_State *L);
-static int _elua_below(lua_State *L);
-static int _elua_bottom(lua_State *L);
-static int _elua_lower(lua_State *L);
-static int _elua_raise(lua_State *L);
-static int _elua_top(lua_State *L);
-
-static int _elua_geom(lua_State *L);
-static int _elua_move(lua_State *L);
-static int _elua_pos(lua_State *L);
-static int _elua_resize(lua_State *L);
-static int _elua_size(lua_State *L);
-
-static int _elua_clip(lua_State *L);
-static int _elua_clipees(lua_State *L);
-static int _elua_unclip(lua_State *L);
-
-static int _elua_type(lua_State *L);
-
-static int _elua_pass(lua_State *L);
-static int _elua_precise(lua_State *L);
-static int _elua_repeat(lua_State *L);
-
-static int _elua_color(lua_State *L);
-
-static int _elua_obj_map(lua_State *L);
-static int _elua_obj_map_enable(lua_State *L);
-
-static const char *_elua_evas_api = "evas";
-static const struct luaL_Reg _elua_evas_funcs [] =
-{
-     {"del",          _elua_obj_del}, // generic del any object created for edje (evas objects, timers, animators, transitions... everything)
-
-     {"hide",         _elua_hide}, // hide, return current visibility
-     {"show",         _elua_show}, // show, return current visibility
-     {"visible",      _elua_visible}, // get object visibility
-
-     {"above",        _elua_above}, // get object above or stack obj above given obj
-     {"below",        _elua_below}, // get object below or stack obj below given obj
-     {"bottom",       _elua_bottom}, // get bottom
-     {"lower",        _elua_lower}, // lower to bottom
-     {"raise",        _elua_raise}, // raise to top
-     {"top",          _elua_top}, // get top
-
-     {"geom",         _elua_geom}, // move and resize and return current geometry
-     {"move",         _elua_move}, // move, return current position
-     {"pos",          _elua_pos}, // move, return current position
-     {"resize",       _elua_resize}, // resize, return current size
-     {"size",         _elua_size}, // resize, return current size
-
-     {"clip",         _elua_clip}, // set clip obj, return clip object
-     {"clipees",      _elua_clipees}, // get clip children
-     {"unclip",       _elua_unclip}, // clear clip obj
-
-     {"type",         _elua_type}, // get object type
-
-     {"pass",         _elua_pass}, // set pass events, get pass events
-     {"precise",      _elua_precise}, // set precise inside flag, get precise
-     {"repeat",       _elua_repeat}, // set repeat events, get repeat events
-
-     {"color",        _elua_color}, // set color, return color
-//     {"color_class",  _elua_object_color_class}, // get or set object color class
-
-   // FIXME: set callbacks (mouse down, up, blah blah blah)
-   //
-   // FIXME: set scale (explicit value)
-   // FIXME: need to set auto-scale (same as scale: 1)
-
-   // FIXME: later - set render op, anti-alias, pointer mode (autograb, nograb)
-
-   // map api here
-     {"map",           _elua_obj_map},
-     {"map_enable",    _elua_obj_map_enable},
-
-     {NULL, NULL} // end
-};
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_hide evas_object:hide()
-
-Hides the object.
-
-Wraps evas_object_hide().
-
-@returns A boolean representing the current visibility.
-*/
-static int
-_elua_hide(lua_State *L)                                        // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_hide(elo->evas_obj);
-   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_show evas_object:show()
-
-Shows the object.
-
-Wraps evas_object_show().
-
-@returns A boolean representing the current visibility.
-*/
-static int
-_elua_show(lua_State *L)                                        // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_show(elo->evas_obj);
-   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_visible evas_object:visible(visibility)
-
-Gets (and optionally sets) this objects visibility.
-
-Wraps evas_object_hide() or evas_object_show().
-
-@param visibility The new visibility you want to change it to.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@returns A boolean representing the current visibility.
-*/
-static int
-_elua_visible(lua_State *L)                                     // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
-          {
-             if (lua_toboolean(L, 2)) evas_object_show(elo->evas_obj);
-                                                                // Stack usage [-0, +0, -]
-             else evas_object_hide(elo->evas_obj);
-          }
-     }
-   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_above evas_object:above()
-
-Figure out what, if anything, is above us.
-
-Wraps evas_object_above_get().
-
-Note that it may not return any value.
-
-@returns A reference to the object above this one.
-*/
-static int
-_elua_above(lua_State *L)                                       // Stack usage [-3, +4, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Edje_Lua_Evas_Object *elo2;
-   Evas_Object *o;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (!(o = evas_object_above_get(elo->evas_obj))) return 0;
-   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
-   _elua_ref_get(L, elo2);                                      // Stack usage [-3, +4, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_below evas_object:below()
-
-Figure out what, if anything, is below us.
-
-Wraps evas_object_below_get().
-
-Note that it may not return any value.
-
-@returns A reference to the object below this one.
-*/
-static int
-_elua_below(lua_State *L)                                       // Stack usage [-3, +4, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Edje_Lua_Evas_Object *elo2;
-   Evas_Object *o;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (!(o = evas_object_below_get(elo->evas_obj))) return 0;
-   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
-   _elua_ref_get(L, elo2);                                      // Stack usage [-3, +4, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_bottom evas_object:bottom()
-
-Figure out what, if anything, is waaaay below us.
-
-Note that it may not return any value.
-
-@returns A reference to the object at the bottom.
-*/
-static int
-_elua_bottom(lua_State *L)                                      // Stack usage [-(0|3), +(0|4), -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo2;
-   Evas_Object *o;
-   Eina_List *list, *l;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (!(list = (Eina_List *)evas_object_smart_members_get(obj->ed->obj))) return 0;
-   for (l = list; l; l = l->next)
-     {
-        o = l->data;
-        if ((elo2 = evas_object_data_get(o, ELO)))
-          {
-             _elua_ref_get(L, elo2);                            // Stack usage [-3, +4, -]
-             return 1;
-          }
-     }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection evas_lower evas_object:lower()
-
-Lower this object to the bottom.
-
-Wraps evas_object_lower().
-*/
-static int
-_elua_lower(lua_State *L)                                       // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_lower(elo->evas_obj);
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection evas_raise evas_object:raise()
-
-Raise this object to the top.
-
-Wraps evas_object_raise().
-*/
-static int
-_elua_raise(lua_State *L)                                       // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_raise(elo->evas_obj);
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection evas_top evas_object:top()
-
-Figure out what, if anything, is waaaay above us.
-
-Note that it may not return any value.
-
-@returns A reference to the object at the top.
-*/
-static int
-_elua_top(lua_State *L)                                         // Stack usage [-(0|3), +(0|4), -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-(0, +0, -]
-   Edje_Lua_Evas_Object *elo2;
-   Evas_Object *o;
-   Eina_List *list, *l;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (!(list = (Eina_List *)evas_object_smart_members_get(obj->ed->obj))) return 0;
-   if (!list) return 0;
-   for (l = eina_list_last(list); l; l = l->prev)
-     {
-        o = l->data;
-        if ((elo2 = evas_object_data_get(o, ELO)))
-          {
-             _elua_ref_get(L, elo2);                            // Stack usage [-3, +4, -]
-             return 1;
-          }
-     }
-   return 0;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_geom evas_object:geom(x, y, w, h)
-
-Gets (and optionally sets) this objects geometry.
-
-Wraps evas_object_move() and evas_object_resize.
-
-@param x The new X coordinate.
-@param y The new Y coordinate.
-@param w The new width.
-@param h The new height.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer x: X coordinate.
-   - integer x: Y coordinate.
-   - integer w: Width.
-   - integer w: Height.
-*/
-static int
-_elua_geom(lua_State *L)                                        // Stack usage [-(8|12), +(9|13), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord ox, oy, ow, oh;
-   int x, y, w, h;
-
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_geometry_get(elo->evas_obj, &ox, &oy, &ow, &oh);
-   if (_elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        if ((x != (ox - obj->ed->x)) || (y != (oy - obj->ed->y)))
-          {
-             evas_object_move(elo->evas_obj,
-                              obj->ed->x + x,
-                              obj->ed->y + y);
-          }
-        if ((w != ow) || (h != oh))
-          {
-             evas_object_resize(elo->evas_obj, w, h);
-          }
-        evas_object_geometry_get(elo->evas_obj, &ox, &oy, &ow, &oh);
-        elo->x = ox - obj->ed->x;
-        elo->y = oy - obj->ed->y;
-     }
-   _elua_ret(L, "%x %y %w %h", elo->x, elo->y, ow, oh);
-                                                                // Stack usage [-8, +9, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_move evas_object:move(x, y)
-
-Gets (and optionally sets) this objects position.
-
-Wraps evas_object_move().
-
-@param x The new X coordinate.
-@param y The new Y coordinate.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer x: X coordinate.
-   - integer x: Y coordinate.
-*/
-static int
-_elua_move(lua_State *L)                                        // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord ox, oy;
-   int x, y;
-
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_geometry_get(elo->evas_obj, &ox, &oy, NULL, NULL);
-   if (_elua_scan_params(L, 2, "%x %y", &x, &y) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        if ((x != (ox - obj->ed->x)) || (y != (oy - obj->ed->y)))
-          {
-             evas_object_move(elo->evas_obj,
-                              obj->ed->x + x,
-                              obj->ed->y + y);
-             evas_object_geometry_get(elo->evas_obj, &ox, &oy, NULL, NULL);
-          }
-        elo->x = ox - obj->ed->x;
-        elo->y = oy - obj->ed->y;
-     }
-   _elua_ret(L, "%x %y", elo->x, elo->y);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_pos evas_object:pos(x, y)
-
-An alias for evas_object:move().
-*/
-static int
-_elua_pos(lua_State *L)                                         // Stack usage [-(4|6), +(5|7), em]
-{
-   return _elua_move(L);
-}
-
-/**
-@page luaref
-@subsubsection evas_resize evas_object:resize(w, h)
-
-Gets (and optionally sets) this objects size.
-
-Wraps evas_object_resize().
-
-@param w The new width.
-@param h The new height.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer w: Width.
-   - integer w: Height.
-*/
-static int
-_elua_resize(lua_State *L)                                      // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord ow, oh;
-   int w, h;
-
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_geometry_get(elo->evas_obj, NULL, NULL, &ow, &oh);
-   if (_elua_scan_params(L, 2, "%w %h", &w, &h) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        if ((w != ow) || (h != oh))
-          {
-             evas_object_resize(elo->evas_obj, w, h);
-             evas_object_geometry_get(elo->evas_obj, NULL, NULL, &ow, &oh);
-          }
-     }
-   _elua_ret(L, "%w %h", ow, oh);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_size evas_object:size()
-
-An alias for evas_object:resize().
-*/
-static int
-_elua_size(lua_State *L)                                        // Stack usage [-(4|6), +(5|7), em]
-{
-   return _elua_resize(L);
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_clip evas_object:clip(evas_object2)
-
-Get (and optionally set) the object that clips this object.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-Wraps evas_object_clip_set().
-
-@param evas_object2 A reference to the object to clip this object with.
-
-@returns A reference to the object clipping this object, if any.
-*/
-static int
-_elua_clip(lua_State *L)                                            // Stack usage [-3, +4, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);        // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo2, *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Object *o;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   n = lua_gettop(L);                                               // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);  // Stack usage [-0, +0, -]
-        elo2 = (Edje_Lua_Evas_Object *)obj2;
-        if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
-        evas_object_clip_set(elo->evas_obj, elo2->evas_obj);
-     }
-   o = evas_object_clip_get(elo->evas_obj);
-   if (!o) return 0;
-   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
-   _elua_ref_get(L, elo2);                                          // Stack usage [-3, +4, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_clipees evas_object:clipees()
-
-Gets the list of objects this objects clips.
-
-Wraps evas_object_clipees_get().
-
-@return A table, that holds all the objects this clips, if any,
-         otherwise an empty table.
-*/
-static int
-_elua_clipees(lua_State *L)                                     // Stack usage [-0, +1, me] plus [-5, +5] for each clipee.
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo2, *elo = (Edje_Lua_Evas_Object *)obj;
-   Eina_List *list, *l;
-   Evas_Object *o;
-   int n = 0;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   list = (Eina_List *)evas_object_clipees_get(elo->evas_obj);
-   lua_newtable(L);                                             // Stack usage [-0, +1, m]
-   EINA_LIST_FOREACH(list, l, o)
-     {
-        if (!(elo2 = evas_object_data_get(o, ELO))) continue;
-        lua_pushinteger(L, n + 1);                              // Stack usage [-0, +1, -]
-        _elua_ref_get(L, elo2);                                 // Stack usage [-3, +4, -]
-        lua_settable(L, -3);                                    // Stack usage [-2, +0, e]
-        n++;
-     }
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_unclip evas_object:unclip()
-
-Remove any clipping on this object.
-
-Wraps evas_object_clip_unset().
-*/
-static int
-_elua_unclip(lua_State *L)                                      // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   evas_object_clip_unset(elo->evas_obj);
-   return 0;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_type evas_object:type()
-
-Get the type of this object.  See the documentation of the evas_object_type_get()
-C function for details.
-
-Wraps evas_object_type_get().
-
-@return A string with this objects type in it.
-*/
-static int
-_elua_type(lua_State *L)                                        // Stack usage [-0, +1, m]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   const char *t;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   t = evas_object_type_get(elo->evas_obj);
-   if (!t) return 0;
-   lua_pushstring(L, t);                                        // Stack usage [-0, +1, m]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_pass evas_object:pass(pass)
-
-Get (and optionally set) whether this object ignores events, passing them to the
-next object underneath it.
-
-Wraps evas_object_pass_events_set().
-
-@param pass A boolean saying if this object passes events.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean saying if this object passes events.
-*/
-static int
-_elua_pass(lua_State *L)                                        // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
-          {
-             evas_object_pass_events_set(elo->evas_obj, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-          }
-     }
-   lua_pushboolean(L, evas_object_pass_events_get(elo->evas_obj));
-                                                                // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_precise evas_object:precise(precise)
-
-Get (and optionally set) whether to use precise (usually expensive) point
-collision detection for this object.
-
-Wraps evas_object_precise_is_inside_set().
-
-@param precise A boolean saying if this object is precisely detected.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean saying if this object is precisely detected.
-*/
-static int
-_elua_precise(lua_State *L)                                     // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
-          {
-             evas_object_precise_is_inside_set(elo->evas_obj, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-          }
-     }
-   lua_pushboolean(L, evas_object_precise_is_inside_get(elo->evas_obj));
-                                                                // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection evas_repeat evas_object:repeat(repeat)
-
-Get (and optionally set) whether this object repeats events.
-
-Wraps evas_object_repeat_events_set().
-
-@param repeat A boolean saying if this object repeats events to lower objects.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean saying if this object repeats events.
-*/
-static int
-_elua_repeat(lua_State *L)                                      // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
-          {
-             evas_object_repeat_events_set(elo->evas_obj, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-          }
-     }
-   lua_pushboolean(L, evas_object_repeat_events_get(elo->evas_obj));
-                                                                // Stack usage [-0, +1, -]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_colour evas_object:color(r, g, b, a)
-
-Gets (and optionally sets) this objects colour.
-
-Wraps evas_object_color_set().
-
-@param r The new red value.
-@param g The new green value.
-@param b The new blue value.
-@param a The new alpha value.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer r: The red value.
-   - integer g: The green value.
-   - integer b: The blue value.
-   - integer a: The alpha value.
-*/
-static int
-_elua_color(lua_State *L)                                       // Stack usage [-(8|12), +(9|13), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int r, g, b, a;
-
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        _elua_color_fix(&r, &g, &b, &a);
-        evas_object_color_set(elo->evas_obj, r, g, b, a);
-     }
-   evas_object_color_get(elo->evas_obj, &r, &g, &b, &a);
-   _elua_ret(L, "%r %g %b %a", r, g, b, a);
-                                                                // Stack usage [-8, +9, em]
-   return 1;
-}
-
-//-------------
-/**
-@page luaref
-@subsubsection evas_map evas_object:map(map)
-
-Attach a map to this object.
-
-Wraps evas_object_map_set().
-
-@param map The map to attach.
-
-@since 1.1.0
-*/
-static int
-_elua_obj_map(lua_State *L)                                     // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);   // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj2;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-   if (!_elua_isa(obj2, _elua_evas_map_meta)) return 0;
-
-   evas_object_map_set(elo->evas_obj, elm->map);
-
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection evas_map_enable evas_object:map_enable(enable)
-
-Enable or disable the map attached to this object.
-
-Wraps evas_object_map_enable_set().
-
-@param enable A booleon that controls if the attached map is enabled or not.
-
-@return A boolean reflecting the map enabled status of this object.
-
-@since 1.1.0
-*/
-static int
-_elua_obj_map_enable(lua_State *L)                              // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
-
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        evas_object_map_enable_set(elo->evas_obj, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-     }
-   lua_pushboolean(L, evas_object_map_enable_get(elo->evas_obj));
-                                                                // Stack usage [-0, +1, -]
-   return 1;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection ecore_animator Ecore animator class.
-
-The lua ecore animator class includes functions for dealing with ecore animator objects.
-The ecore animator objects must have been previously created by lua using the lua
-edje object creation function edje:animator() or edje:transition().
-
-In the following, "animator_object" is a place holder for any lua variable that
-holds a reference to an ecore animator object.
-*/
-static const char *_elua_ecore_animator_api = "ecore_animator";
-static const struct luaL_Reg _elua_ecore_animator_funcs [] =
-{
-     {NULL, NULL} // end
-};
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection ecore_timer Ecore timer class.
-
-The lua ecore timer class includes functions for dealing with ecore timer objects.
-The ecore timer objects must have been previously created by lua using the lua
-edje object creation function edje:timer().
-
-In the following, "timer_object" is a place holder for any lua variable that
-holds a reference to an ecore timer object.
-*/
-
-static const char *_elua_ecore_timer_api = "ecore_timer";
-static const struct luaL_Reg _elua_ecore_timer_funcs [] =
-{
-     {NULL, NULL} // end
-};
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_edje Evas edje class.
-
-The lua evas edje class includes functions for dealing with evas edje objects.
-The evas edje objects must have been previously created by lua using the lua
-edje object creation function edje:edje().
-
-In the following, "edje_object" is a place holder for any lua variable that
-holds a reference to an evas edje object.  NOT the edje class specified earlier
-though.
-
-@since 1.1.0
-*/
-
-static int _elua_edje_file(lua_State *L);
-
-static const char *_elua_evas_edje_api = "evas_edje";
-static const char *_elua_evas_edje_parent = "evas_edje_parent";
-static const struct luaL_Reg _elua_evas_edje_funcs [] =
-{
-     {"file",         _elua_edje_file}, // get or set edje file and group
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection edje_file edje_object:file(file, group)
-
-Load an edje group into this edje object.
-
-Wraps edje_object_file_set().
-
-@param file An edje file name (ignored, sandboxed to the file this lua script is in).
-@param group The group within the edje file to be loaded.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.  The file argument is optional, and ignored anyway.
-
-@return A table with these fields:
-   - string file: The name of the edje file this edje's group is loaded from.
-   - string group: The name of the group this edje is loaded from.
-
-@since 1.1.0
-*/
-static int
-_elua_edje_file(lua_State *L)                                   // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   const char *file = NULL, *group = NULL;
-   int n = lua_gettop(L);                                       // Stack usage [-0, +0, -]
-
-   if (!_elua_isa(obj, _elua_evas_edje_meta)) return 0;
-
-   n = _elua_scan_params(L, 2, "$file $group", &file, &group);
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-   if (0 >= n)
-     {
-        file = (char *) obj->ed->file->path;
-        group = (char *) lua_tostring(L, 2);                    // Stack usage [-0, +0, m]
-        n = 2;
-     }
-
-   if (1 < n)
-     {
-        // Sandbox lua - Only allow access to groups within the same file.
-        // By the simple expedient of completely ignoring what file was requested.
-        file = (char *) obj->ed->file->path;
-        if (!edje_object_file_set(elo->evas_obj, file, group))
-          {
-             Edje_Load_Error err = edje_object_load_error_get(elo->evas_obj);
-
-             switch (err)
-               {
-                  case EDJE_LOAD_ERROR_NONE :                         LE("Edje file loading errer %s %s - no error happened, but you should not see this.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_GENERIC :                      LE("Edje file loading errer %s %s - generic error.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_DOES_NOT_EXIST :               LE("Edje file loading errer %s %s - file does not exist.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_PERMISSION_DENIED :            LE("Edje file loading errer %s %s - permission denied reading the file.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED :   LE("Edje file loading errer %s %s - resource allocation failed.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_CORRUPT_FILE :                 LE("Edje file loading errer %s %s - corrupt file.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_UNKNOWN_FORMAT :               LE("Edje file loading errer %s %s - unknown file format.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE :            LE("Edje file loading errer %s %s - incompatible file.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION :           LE("Edje file loading errer %s %s - unknown group.", obj->ed->file->path, group);  break;
-                  case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE :          LE("Edje file loading errer %s %s - recursive reference in group.", obj->ed->file->path, group);  break;
-               }
-          }
-     }
-   edje_object_file_get(elo->evas_obj, &file, &group);
-   _elua_ret(L, "$file $group", file, group);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_image Evas image class.
-
-The lua evas image class includes functions for dealing with evas image objects.
-The evas image objects must have been previously created by lua using the lua
-image object creation function edje:image().
-
-In the following, "image_object" is a place holder for any lua variable that
-holds a reference to an evas image object.
-
-@since 1.1.0
-*/
-
-static int _elua_image_fill(lua_State *L);
-static int _elua_image_filled(lua_State *L);
-static int _elua_image_image(lua_State *L);
-
-static const char *_elua_evas_image_api = "evas_image";
-static const char *_elua_evas_image_parent = "evas_image_parent";
-static const struct luaL_Reg _elua_evas_image_funcs [] =
-{
-     {"fill",         _elua_image_fill},   // get or set the fill parameters
-     {"filled",       _elua_image_filled}, // get or set the filled state (overrides fill())
-     {"image",        _elua_image_image},  // get or set image
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection image_fill image_object:fill(x, y, w, h)
-
-Gets (and optionally sets) how to fill this image's drawing rectangle given the
-(real) image bound to it.
-
-Wraps evas_object_image_fill_set().
-
-@param x The x coordinate (from the top left corner of the bound image) to start drawing from.
-@param y The y coordinate (from the top left corner of the bound image) to start drawing from.
-@param w The width the bound image will be displayed at.
-@param h The height the bound image will be displayed at.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer x: The x coordinate (from the top left corner of the bound image) to start drawing from.
-   - integer y: The y coordinate (from the top left corner of the bound image) to start drawing from.
-   - integer w: The width the bound image will be displayed at.
-   - integer h: The height the bound image will be displayed at.
-
-@since 1.1.0
-*/
-static int
-_elua_image_fill(lua_State *L)                                  // Stack usage [-(8|12), +(9|13), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord x, y, w, h;
-
-   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
-
-   if (_elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        evas_object_image_fill_set(elo->evas_obj, x, y, w, h);
-     }
-   evas_object_image_fill_get(elo->evas_obj, &x, &y, &w, &h);
-   _elua_ret(L, "%x %y %w %h", x, y, w, h);
-                                                                // Stack usage [-8, +9, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection image_filled image_object:filled(filled)
-
-Get (and optionally set) whether this image fills the object.
-
-Wraps evas_object_image_filled_set().
-
-@param filled A boolean saying if this image fills the object.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean saying if this image fills the object.
-
-@since 1.1.0
-*/
-static int
-_elua_image_filled(lua_State *L)                                // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
-
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        evas_object_image_filled_set(elo->evas_obj, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-     }
-   lua_pushboolean(L, evas_object_image_filled_get(elo->evas_obj));
-                                                                // Stack usage [-0, +0, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection image_image image_object:image(file, key)
-
-Load an image into this edje object.
-
-Wraps evas_object_image_file_set().
-
-@param file An edje file name (ignored, sandboxed to the file this lua script is in).
-@param group The name of an image.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.  The file argument is optional, and ignored anyway.
-
-@return A table with these fields:
-   - string file: The name of the edje file the image is loaded from.
-   - string key: The name of the image within the edje file.
-
-@since 1.1.0
-*/
-static int
-_elua_image_image(lua_State *L)                                 // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   const char *file = NULL, *key = NULL;
-   int n, id = -1;
-
-   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
-
-   n = _elua_scan_params(L, 2, "$file $key", &file, &key);
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-   if (0 >= n)
-     {
-        file = (char *) obj->ed->file->path;
-        key = (char *) lua_tostring(L, 2);                      // Stack usage [-0, +0, m]
-        n = 2;
-     }
-
-   if (1 < n)
-     {
-        if (obj->ed->file->image_dir)
-        {
-           Edje_Image_Directory_Entry *de;
-           unsigned int i;
-           char *name;
-
-           /* Image name */
-           if ((name = strrchr(key, '/'))) name++;
-           else name = (char *)key;
-
-           /* Loop through image directory to find if image exists */
-           for (i = 0; i < obj->ed->file->image_dir->entries_count; ++i)
-             {
-                de = obj->ed->file->image_dir->entries + i;
-
-                if (de->entry)
-                  {
-                    if (strcmp(name, de->entry) == 0)
-                      {
-                         char buf[32];
-
-                         id = i;
-                         // This is copied from _edje_image_recalc_apply()), dunno if it provides any benefit over sprintf().
-                         /* Replace snprint("edje/images/%i") == memcpy + itoa */
-#define IMAGES "edje/images/"
-                         memcpy(buf, IMAGES, strlen(IMAGES));
-                         eina_convert_itoa(id, buf + strlen(IMAGES)); /* No need to check length as 2³² need only 10 characters. */
-                         evas_object_image_file_set(elo->evas_obj, obj->ed->file->path, buf);
-                         break;
-                      }
-                  }
-             }
-        }
-
-        if (-1 == id)
-          {
-             LE("Image %s not found in our edje file.", key);
-             /* Sandbox lua - Only allow access to images within the same edje file.  I'm not so sure we need this level of sandboxing though.  So leaving it here, just in case.
-             LI("Image %s not found in our edje file, trying external image file %s.", key, file);
-             evas_object_image_file_set(elo->evas_obj, file, key);
-             */
-          }
-     }
-   evas_object_image_file_get(elo->evas_obj, &file, &key);
-   _elua_ret(L, "$file $key", file, key);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_line Evas line class.
-
-The lua evas line class includes functions for dealing with evas line objects.
-The evas line objects must have been previously created by lua using the lua
-line object creation function edje:line().
-
-In the following, "line_object" is a place holder for any lua variable that
-holds a reference to an evas line object.
-
-@since 1.1.0
-*/
-
-static int _elua_line_xy(lua_State *L);
-
-static const char *_elua_evas_line_api = "evas_line";
-static const char *_elua_evas_line_parent = "evas_line_parent";
-static const struct luaL_Reg _elua_evas_line_funcs [] =
-{
-     {"xy",         _elua_line_xy}, // get or set line coords
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection line_xy line_object:xy(x1, y1, x2, y2)
-
-Sets the end points of this line.
-
-Wraps evas_object_line_xy_set().
-
-@param x1 The X coordinate of the first line end.
-@param y1 The Y coordinate of the first line end.
-@param x2 The X coordinate of the other line end.
-@param y2 The Y coordinate of the other line end.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The arguments can be separate values, or named fields in a
-table.
-
-@return A table with these fields:
-   - integer x1: The X coordinate of the first line end.
-   - integer y1: The Y coordinate of the first line end.
-   - integer x2: The X coordinate of the other line end.
-   - integer y2: The Y coordinate of the other line end.
-
-@since 1.1.0
-*/
-static int _elua_line_xy(lua_State *L)                          // Stack usage [-(8|12), +(9|13), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord x1, y1, x2, y2;
-
-   if (!_elua_isa(obj, _elua_evas_line_meta)) return 0;
-
-   if (_elua_scan_params(L, 2, "%x1 %y1 %x2 %y2", &x1, &y1, &x2, &y2) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        evas_object_line_xy_set(elo->evas_obj, x1, y1, x2, y2);
-     }
-   evas_object_line_xy_get(elo->evas_obj, &x1, &y1, &x2, &y2);
-   _elua_ret(L, "%x1 %y1 %x2 %y2", x1, y1, x2, y2);
-                                                                // Stack usage [-8, +9, em]
-   return 1;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_object_map Evas map class.
-
-The lua evas map class includes functions for dealing with evas map objects.
-The evas map objects must have been previously created by lua using the lua
-map object creation function edje:map().  The evas map system is complex, rather
-than repeat the copious documentation here, please refer to the evas map
-documentation.  It has pictures and everything.  B-)
-
-In the following, "map_object" is a place holder for any lua variable that
-holds a reference to an evas map object.
-
-@since 1.1.0
-*/
-
-static int _elua_map_alpha(lua_State *L);
-static int _elua_map_clockwise(lua_State *L);
-static int _elua_map_colour(lua_State *L);
-static int _elua_map_coord(lua_State *L);
-static int _elua_map_lighting(lua_State *L);
-static int _elua_map_perspective(lua_State *L);
-static int _elua_map_populate(lua_State *L);
-static int _elua_map_rotate(lua_State *L);
-static int _elua_map_rotate3d(lua_State *L);
-static int _elua_map_smooth(lua_State *L);
-static int _elua_map_uv(lua_State *L);
-static int _elua_map_zoom(lua_State *L);
-
-static const char *_elua_evas_map_api = "ewas_map";
-static const struct luaL_Reg _elua_evas_map_funcs [] =
-{
-     {"alpha",         _elua_map_alpha},
-//     {"dup",           _elua_map_dup},  // not sure of proper api for this.
-     {"clockwise",     _elua_map_clockwise},
-     {"color",         _elua_map_colour},
-     {"coord",         _elua_map_coord},
-     {"lighting",      _elua_map_lighting},
-     {"perspective",   _elua_map_perspective},
-     {"populate",      _elua_map_populate},
-     {"rotate",        _elua_map_rotate},
-     {"rotate3d",      _elua_map_rotate3d},
-//     {"size",          _elua_map_size},  // not sure of proper API for this
-     {"smooth",        _elua_map_smooth},
-     {"uv",            _elua_map_uv},
-     {"zoom",          _elua_map_zoom},
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection map_alpha map_object:alpha(alpha)
-
-Get (and optionally set) the maps alpha mode.
-
-Wraps evas_map_alpha_set().
-
-@param alpha The alpha mode.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean reflecting the alpha mode.
-
-@since 1.1.0
-*/
-static int
-_elua_map_alpha(lua_State *L)                                   // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        evas_map_alpha_set(elm->map, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-     }
-   lua_pushboolean(L, evas_map_alpha_get(elm->map));            // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection map_clockwise map_object:clockwise()
-
-Get the maps clockwise state.
-
-Wraps evas_map_util_clockwise_get().
-
-@return A boolean reflecting if the map is clockwise or not.
-
-@since 1.1.0
-*/
-static int
-_elua_map_clockwise(lua_State *L)                               // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   lua_pushboolean(L, evas_map_util_clockwise_get(elm->map));   // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection map_colour map_object:colour(index, r, g, b, a)
-
-Gets or sets colour information for the map.  There are two variations, with or
-without the index.  With the index parameter it gets (and optionally sets) the
-colour of the point the index refers to, without it sets the colour for the
-entire map.
-
-Wraps evas_map_point_color_set() or evas_map_util_points_color_set()
-
-@param index Which point to change the colour of.
-@param r The new red value.
-@param g The new green value.
-@param b The new blue value.
-@param a The new alpha value.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The colour arguments can be separate values, or named
-fields in a table.
-
-@return A table with these fields:
-   - integer r: The red value.
-   - integer g: The green value.
-   - integer b: The blue value.
-   - integer a: The alpha value.
-
-@since 1.1.0
-*/
-static int
-_elua_map_colour(lua_State *L)                                  // Stack usage [-(8|12), +(9|13), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   int r, g, b, a;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-
-   switch (n)
-    {
-       case 5 :
-        {
-           if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
-             {                                                  // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-                evas_map_util_points_color_set(elm->map, r, g, b, a);
-             }
-           break;
-        }
-
-       case 1 :
-       case 6 :
-        {
-           if (_elua_scan_params(L, 3, "%r %g %b %a", &r, &g, &b, &a) > 0)
-             {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-                evas_map_point_color_set(elm->map, lua_tointeger(L, 2), r, g, b, a);
-                                                                // Stack usage [-0, +0, -]
-             }
-           evas_map_point_color_get(elm->map, lua_tointeger(L, 2), &r, &g, &b, &a);
-                                                                // Stack usage [-0, +0, -]
-           _elua_ret(L, "%r %g %b %a", r, g, b, a);
-                                                                // Stack usage [-8, +9, em]
-           return 1;
-        }
-    }
-
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_coord map_object:coord(index, x, y, z)
-
-Gets (and optionally sets) the 3D coordinates of a point on the map.
-
-Wraps evas_map_point_coord_set().
-
-@param x The x coordinate of the point.
-@param y The y coordinate of the point.
-@param z The z coordinate of the point.
-
-Note that the arguments are optional, without them this function just queries
-the current values.  The coordinate arguments can be separate values, or named
-fields in a table.
-
-@return A table with these fields:
-   - integer x: The x coordinate of the point.
-   - integer y: The y coordinate of the point.
-   - integer z: The z coordinate of the point.
-
-@since 1.1.0
-*/
-static int
-_elua_map_coord(lua_State *L)                                   // Stack usage [-(6|9), +(7|10), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   Evas_Coord x, y, z;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (2 > n) return 0;
-
-   if (_elua_scan_params(L, 2, "%x %y %z", &x, &y, &z) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-        evas_map_point_coord_set(elm->map, lua_tointeger(L, 2), x, y, z);
-                                                                // Stack usage [-0, +0, -]
-     }
-   evas_map_point_coord_get(elm->map, lua_tointeger(L, 2), &x, &y, &z);
-                                                                // Stack usage [-0, +0, -]
-   _elua_ret(L, "%x %y %z", x, y, z);
-                                                                // Stack usage [-6, +7, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection map_lighting map_object:lighting(x, y, z, r, g, b, ar, ag, ab)
-
-Set the 3D lights for the map.  The three triplets can be tables.
-
-Wraps evas_map_util_3d_lighting().
-
-@param x The x coordinate of the light point.
-@param y The y coordinate of the light point.
-@param z The z coordinate of the light point.
-@param r The new red value of the light point.
-@param g The new green value of the light point.
-@param b The new blue value of the light point.
-@param ar The new red value of the ambient light.
-@param ag The new green value of the ambient light.
-@param ab The new blue value of the ambient light.
-
-@since 1.1.0
-*/
-static int
-_elua_map_lighting(lua_State *L)                                // Stack usage [-(0|9), +(0|9), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   Evas_Coord x, y, z;
-   int r, g, b, r1, g1, b1;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   if ((n = _elua_scan_params(L, 2, "%x %y %z", &x, &y, &z)) > 0)
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-     if (n += _elua_scan_params(L, 2 + n, "%r %g %b", &r, &g, &b) > 0)
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-        if (_elua_scan_params(L, 2 + n, "%r %g %b", &r1, &g1, &b1) > 0)
-           {                                                    // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-              evas_map_util_3d_lighting(elm->map, x, y, z, r, g, b, r1, g1, b1);
-           }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_perspective map_object:perspective(x, y, z, f)
-
-Apply a perspective transform to the map.
-
-Wraps evas_map_util_3d_perspective().
-
-The arguments can be separate values, or named fields in a table.
-
-@param x The perspective distance X coordinate
-@param y The perspective distance Y coordinate
-@param z The "0" z plane value
-@param f The focal distance
-
-@since 1.1.0
-*/
-static int
-_elua_map_perspective(lua_State *L)                             // Stack usage [-(0|4), +(0|4), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   Evas_Coord x, y, z, f;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   if (_elua_scan_params(L, 2, "%x %y %z %f", &x, &y, &z, &f) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-        evas_map_util_3d_perspective(elm->map, x, y, z, f);
-     }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_populate map_object:populate(...)
-
-Populate the points in a map, in one of three different methods.
-
-1) Wraps evas_map_util_points_populate_from_object().
-
-@param source An evas object to copy points from.
-
-2) Wraps evas_map_util_paints_populate_from_object_full().
-
-@param source An evas object to copy points from.
-@param z Common Z coordinate hint for all four points.
-
-3) Wraps evas_map_util_points_populate_from_geometry().
-
-The first four arguments can be separate values, or named fields in a table.
-
-@param x Point X coordinate
-@param y Point Y coordinate
-@param w Width to use to calculate second and third points.
-@param h Height to use to calculate third and fourth points.
-@param z Common Z coordinate hint for all four points.
-
-@since 1.1.0
-*/
-static int
-_elua_map_populate(lua_State *L)                                // Stack usage [-(0|4), +(0|4), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-
-   switch (n)
-    {
-       case 2 :
-        {
-           Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);    // Stack usage [-0, +0, -]
-           const Edje_Lua_Evas_Object *source = (Edje_Lua_Evas_Object *)obj2;
-
-           if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
-           evas_map_util_points_populate_from_object(elm->map, source->evas_obj);
-           break;
-        }
-
-       case 3 :
-        {
-           Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);    // Stack usage [-0, +0, -]
-           const Edje_Lua_Evas_Object *source = (Edje_Lua_Evas_Object *)obj2;
-           Evas_Coord z = lua_tointeger(L, 3);
-
-           if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
-           evas_map_util_points_populate_from_object_full(elm->map, source->evas_obj, z);
-           break;
-        }
-
-       case 6 :
-        {
-           Evas_Coord x, y, w, h;
-
-           if ((n = _elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h)) > 0)
-             {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
-                evas_map_util_points_populate_from_geometry(elm->map, x, y, w, h, lua_tointeger(L, 2 + n));
-             }
-           break;
-        }
-    }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_rotate map_object:rotate(degrees, x, y)
-
-Rotate the maps coordinates in 2D.
-
-Wraps evas_map_util_rotate().
-
-The coordinates can be separate values, or named fields in a table.
-
-@param degrees Amount of degrees from 0.0 to 360.0 to rotate.
-@param x Rotation's centre horizontal position.
-@param y Rotation's centre vertical position.
-
-@since 1.1.0
-*/
-static int
-_elua_map_rotate(lua_State *L)                                  // Stack usage [-(0|2), +(0|2), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   double degrees;
-   Evas_Coord x, y;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (4 != n) return 0;
-
-   degrees = lua_tonumber(L, 2);
-   if (_elua_scan_params(L, 3, "%x %y", &x, &y) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        evas_map_util_rotate(elm->map, degrees, x, y);
-     }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_rotate3d map_object:rotate3d(dx, dy, dz, x, y, z)
-
-Rotate the maps coordinates in 3D.
-
-Wraps evas_map_util_3d_rotate().
-
-The coordinates can be separate values, or named fields in a table.  The same
-with the rotation.
-
-@param dx Amount of degrees from 0.0 to 360.0 to rotate around X axis.
-@param dy Amount of degrees from 0.0 to 360.0 to rotate around Y axis.
-@param dz Amount of degrees from 0.0 to 360.0 to rotate around Z axis.
-@param x Rotation's centre horizontal position.
-@param y Rotation's centre vertical position.
-@param z Rotation's centre vertical position.
-
-@since 1.1.0
-*/
-static int
-_elua_map_rotate3d(lua_State *L)                                // Stack usage [-(0|6), +(0|6), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   double zx, zy, zz;
-   Evas_Coord x, y, z;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   if ((n = _elua_scan_params(L, 2, "#x #y #z", &zx, &zy, &zz)) > 0)
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-      if (_elua_scan_params(L, 2 + n, "%x %y %z", &x, &y, &z) > 0)
-        {                                                       // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
-           evas_map_util_3d_rotate(elm->map, zx, zy, zz, x, y, z);
-        }
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection map_smooth map_object:smooth(smooth)
-
-Get (and optionally set) the maps smooth mode.
-
-Wraps evas_map_smooth_set().
-
-@param smooth The smooth mode.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A boolean reflecting the smooth mode.
-
-@since 1.1.0
-*/
-static int
-_elua_map_smooth(lua_State *L)                                  // Stack usage [-0, +1, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        evas_map_smooth_set(elm->map, lua_toboolean(L, 2));
-                                                                // Stack usage [-0, +0, -]
-     }
-   lua_pushboolean(L, evas_map_smooth_get(elm->map));           // Stack usage [-0, +1, -]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection map_uv map_object:uv(index, u, v)
-
-Gets (and optionally sets) the texture U and V texture coordinates for this map.
-
-Wraps evas_map_point_image_uv_set().
-
-@param index Index of the point to change. Must be smaller than map size.
-@param u The X coordinate within the image/texture source.
-@param v The Y coordinate within the image/texture source.
-
-Note that the U,V arguments are optional, without them this function just queries
-the current values.  The coordinate arguments can be separate values, or named
-fields in a table.
-
-@return A table with these fields:
-  - number u: The X coordinate within the image/texture source.
-  - number v: The Y coordinate within the image/texture source.
-
-@since 1.1.0
-*/
-static int
-_elua_map_uv(lua_State *L)                                      // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   double u, v;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (2 > n) return 0;
-
-   if (_elua_scan_params(L, 3, "#u #v", &u, &v) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        evas_map_point_image_uv_set(elm->map, lua_tonumber(L, 2), u, v);
-                                                                // Stack usage [-0, +0, -]
-     }
-   evas_map_point_image_uv_get(elm->map, lua_tonumber(L, 2), &u, &v);
-                                                                // Stack usage [-0, +0, -]
-   _elua_ret(L, "#u #v", u, v);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection map_zoom map_object:zoom(x, y, x, y)
-
-Apply a zoom to the map.
-
-Wraps evas_map_util_zoom().
-
-The arguments can be two separate values, or named fields in a table.
-
-@param x The horizontal zoom amount.
-@param y The vertical zoom amount.
-@param x The X coordinate of the centre of the zoom.
-@param y The Y coordinate of the centre of the zoom.
-
-@since 1.1.0
-*/
-static int
-_elua_map_zoom(lua_State *L)                                    // Stack usage [-(0|4), +(0|4), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
-   double zx, zy;
-   Evas_Coord x, y;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
-
-   if ((n = _elua_scan_params(L, 2, "#x #y", &zx, &zy)) > 0)
-                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-      if (_elua_scan_params(L, 2 + n, "%x %y", &x, &y) > 0)
-        {                                                       // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-           evas_map_util_zoom(elm->map, zx, zy, x, y);
-        }
-   return 0;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_polygon Evas polygon class.
-
-The lua evas polygon class includes functions for dealing with evas polygon objects.
-The evas polygon objects must have been previously created by lua using the lua
-polygon object creation function edje:polygon().
-
-In the following, "polygon_object" is a place holder for any lua variable that
-holds a reference to an evas polygon object.
-
-@since 1.1.0
-*/
-
-static int _elua_polygon_clear(lua_State *L);
-static int _elua_polygon_point(lua_State *L);
-
-static const char *_elua_evas_polygon_api = "evas_polygon";
-static const char *_elua_evas_polygon_parent = "evas_polygon_parent";
-static const struct luaL_Reg _elua_evas_polygon_funcs [] =
-{
-     {"clear",         _elua_polygon_clear}, // clear all polygon points
-     {"point",         _elua_polygon_point}, // add a polygon point
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection polygon_clear polygon_object:clear()
-
-Clears all points from the polygon.
-
-Wraps evas_object_polygon_points_clear(),
-
-@since 1.1.0
-*/
-static int
-_elua_polygon_clear(lua_State *L)                               // Stack usage [-0, +0, -]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-
-   if (!_elua_isa(obj, _elua_evas_polygon_meta)) return 0;
-   evas_object_polygon_points_clear(elo->evas_obj);
-   return 0;
-}
-
-/**
-@page luaref
-@subsubsection polygon_point polygon_object:point(x, y)
-
-Adds a point to this polygon.
-
-Wraps evas_object_polygon_point_add().
-
-@param x The X coordinate of the point.
-@param y The Y coordinate of the point.
-
-@since 1.1.0
-*/
-static int
-_elua_polygon_point(lua_State *L)                               // Stack usage [-(0|2), +(0|2), e]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   Evas_Coord x, y;
-
-   if (!_elua_isa(obj, _elua_evas_polygon_meta)) return 0;
-
-   if (_elua_scan_params(L, 2, "%x %y", &x, &y) > 0)
-     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-        evas_object_polygon_point_add(elo->evas_obj, x, y);
-     }
-
-   return 0;
-}
-
-//-------------
-//-------------
-/**
-@page luaref
-@subsection evas_text Evas text class.
-
-The lua evas text class includes functions for dealing with evas text objects.
-The evas text objects must have been previously created by lua using the lua
-text object creation function edje:text().
-
-In the following, "text_object" is a place holder for any lua variable that
-holds a reference to an evas text object.
-
-@since 1.1.0
-*/
-
-static int _elua_text_font(lua_State *L);
-static int _elua_text_text(lua_State *L);
-
-static const char *_elua_evas_text_api = "evas_text";
-static const char *_elua_evas_text_parent = "evas_text_parent";
-static const struct luaL_Reg _elua_evas_text_funcs [] =
-{
-     {"font",         _elua_text_font}, // get or set text font
-     {"text",         _elua_text_text}, // get or set text
-//     {"text_class", _elua_object_text_class}, // get or set object text class
-
-     {NULL, NULL} // end
-};
-
-/**
-@page luaref
-@subsubsection text_font text_object:font(font, size)
-
-Gets, (and optionally sets) the font for this text object.
-
-Wraps evas_object_text_font_set().
-
-@param font The new font name.
-@param size The new font size.
-
-Note that the font and size arguments are optional, without them this function
-just queries the current values.  The font and size arguments can be separate
-values, or named fields in a table.  The font name can refer to a font in the
-edje file, or an external font.
-
-@return A table with these fields:
-   - string font: The font name.
-   - integer size: The font size.
-
-@since 1.1.0
-*/
-static int
-_elua_text_font(lua_State *L)                                   // Stack usage [-(4|6), +(5|7), em]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   char *font, *font2 = NULL;
-   Evas_Font_Size   size;
-   int     inlined_font = 0;
-
-   if (!_elua_isa(obj, _elua_evas_text_meta)) return 0;
-
-   if (_elua_scan_params(L, 2, "$font %size", &font, &size) > 0)
-    {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
-       /* Check if the font is embedded in the .edj
-        * This is a simple check.
-        * There is a much more complicated version in edje_text.c _edje_text_recalc_apply().
-        * If we need to get more complicated, we can do that later,
-        * and maybe refactor things.
-        */
-       if (obj->ed->file->fonts)
-        {
-          Edje_Font_Directory_Entry *fnt = eina_hash_find(obj->ed->file->fonts, font);
-
-          if (fnt)
-           {
-              size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
-              font2 = alloca(len);
-              sprintf(font2, "edje/fonts/%s", font);
-              font = font2;
-              inlined_font = 1;
-              font2 = NULL;
-           }
-        }
-
-       if (inlined_font) evas_object_text_font_source_set(elo->evas_obj, obj->ed->path);
-       else evas_object_text_font_source_set(elo->evas_obj, NULL);
-
-       evas_object_text_font_set(elo->evas_obj, font, size);
-    }
-
-   // When one external API says it's gotta be const, and another one says not, then one of them's gotta be cast.  :-P
-   evas_object_text_font_get(elo->evas_obj, (const char **) &font, &size);
-   _elua_ret(L, "$font %size", font, size);
-                                                                // Stack usage [-4, +5, em]
-   return 1;
-}
-
-/**
-@page luaref
-@subsubsection text_text text_object:text(text)
-
-Get (and optionally set) the actual text for this text object.
-
-Wraps evas_object_text_text_set().
-
-@param text The text to set for this text object.
-
-Note that the argument is optional, without it this function just queries the
-current value.
-
-@return A string of the text on this text object.
-
-@since 1.1.0
-*/
-static int
-_elua_text_text(lua_State *L)                                   // Stack usage [-0, +1, m]
-{
-   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
-   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
-   int n;
-
-   if (!_elua_isa(obj, _elua_evas_text_meta)) return 0;
-   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
-   if (n == 2)
-     {
-        if (lua_isstring(L, 2))
-          {
-             const char *str;
-
-             if ((str = lua_tostring(L, 2)))  // Extra parenthesis, coz Mikes compiler has a lisp.
-                                                                // Stack usage [-0, +0, m]
-                evas_object_text_text_set(elo->evas_obj, str);
-          }
-     }
-   lua_pushstring(L, evas_object_text_text_get(elo->evas_obj)); // Stack usage [-0, +1, m]
-   return 1;
-}
-
-
-//--------------------------------------------------------------------------//
-
-// A metatable and functions so that calling non existant API does not crash Lua scripts.
-
-static int _elua_bogan_nilfunc(lua_State *L);
-static int _elua_bogan_index(lua_State *L);
-
-static const struct luaL_Reg _elua_bogan_funcs [] =
-{
-     {"nilfunc",         _elua_bogan_nilfunc}, // Just return a nil.
-     {"__index",         _elua_bogan_index},   // Return the above func.
-
-     {NULL, NULL} // end
-};
-
-static int
-_elua_bogan_nilfunc(lua_State *L)
-{
-   lua_getglobal(L, "nil");
-   return 1;
-}
-
-static int
-_elua_bogan_index(lua_State *L)
-{
-   const char *key;
-
-   key = lua_tostring(L, 2);
-   LE("%s does not exist!", key);
-   lua_pushcfunction(L, _elua_bogan_nilfunc);
-   return 1;
-}
-
-static void
-_elua_bogan_protect(lua_State *L)                    // Stack usage [-3, +3, m]
-{
-   lua_pushnil(L);                                   // Stack usage [-0, +1, -]
-   luaL_newmetatable(L, "bogan");                    // Stack usage [-0, +1, m]
-#if LUA_VERSION_NUM >= 502
-   luaL_setfuncs(L, _elua_bogan_funcs, 0);           // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, 0, _elua_bogan_funcs);           // Stack usage [-1, +1, m]
-#endif
-   lua_setmetatable(L, -2);                          // Stack usage [-1, +0, -]
-   lua_pop(L, 1);                                    // Stack usage [-1, +0, -]
-}
-
-//--------------------------------------------------------------------------//
-
-// TODO - All the register / setfuncs and rlelated stuff around here should be reviewed.  Works fine for 5.1, probably works fine for 5.2, but maybe there's a better way?  It may also need to change if we start using LuaJIT.
-
-// Brain dead inheritance thingy, built for speed.  Kinda.  Part 1.
-static void
-_elua_add_functions(lua_State *L, const char *api, const luaL_Reg *funcs, const char *meta, const char *parent, const char *base)  // Stack usage [-3, +5, m]  if inheriting [-6, +11, em]
-{
-   // Create an api table, fill it full of the methods.
-#if LUA_VERSION_NUM >= 502
-   lua_newtable(L);                           // Stack usage [-0, +1, e]
-   lua_pushvalue(L, -1);                      // Stack usage [-0, +1, -]
-   lua_setglobal(L, api);                     // Stack usage [-1, +0, e]
-   luaL_setfuncs(L, funcs, 0);                // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, api, funcs);              // Stack usage [-0, +1, m]
-#endif
-   // Set the api metatable to the bogan metatable.
-   luaL_getmetatable(L, "bogan");             // Stack usage [-0, +1, -]
-   lua_setmetatable(L, -2);                   // Stack usage [-1, +0, -]
-   // Creat a meta metatable.
-   luaL_newmetatable(L, meta);                // Stack usage [-0, +1, m]
-   // Put the gc functions in the metatable.
-#if LUA_VERSION_NUM >= 502
-   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);  // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, 0, _elua_edje_gc_funcs);  // Stack usage [-1, +1, m]
-#endif
-   // Create an __index entry in the metatable, make it point to the api table.
-   lua_pushliteral(L, "__index");             // Stack usage [-0, +1, m]
-   lua_pushvalue(L, -3);                      // Stack usage [-0, +1, -]
-   lua_rawset(L, -3);                         // Stack usage [-2, +0, m]
-   // Later this metatable is used as the metatable for newly created objects of this class.
-
-   if (base && parent)
-     {
-        // Inherit from base
-        lua_getglobal(L, base);               // Stack usage [-0, +1, e]
-        // Create a new parent metatable.
-        luaL_newmetatable(L, parent);         // Stack usage [-0, +1, m]
-        // Create an __index entry in the metatable, make it point to the base table.
-        lua_pushliteral(L, "__index");        // Stack usage [-0, +1, m]
-        lua_pushvalue(L, -3);                 // Stack usage [-0, +1, -]
-        lua_rawset(L, -3);                    // Stack usage [-2, +0, m]
-        // Set the metatable for the api table to the parent metatable.
-        lua_getglobal(L, api);                // Stack usage [-0, +1, e]
-        luaL_getmetatable(L, parent);         // Stack usage [-0, +1, -]
-        lua_setmetatable(L, -2);              // Stack usage [-1, +0, -]
-     }
-}
-
-// Brain dead inheritance thingy, built for speed.  Kinda.  Part 2.
-static Eina_Bool
-_elua_isa(Edje_Lua_Obj *obj, const char *type)
-{
-   Eina_Bool isa = EINA_FALSE;
-
-   if (!obj) return isa;
-   if (obj->meta == type)
-      isa = EINA_TRUE;
-   if (_elua_evas_meta == type)
-     {
-        if (obj->meta == _elua_evas_image_meta)
-           isa = EINA_TRUE;
-        else if (obj->meta == _elua_evas_text_meta)
-           isa = EINA_TRUE;
-        else if (obj->meta == _elua_evas_edje_meta)
-           isa = EINA_TRUE;
-        else if (obj->meta == _elua_evas_line_meta)
-           isa = EINA_TRUE;
-        else if (obj->meta == _elua_evas_polygon_meta)
-           isa = EINA_TRUE;
-     }
-   return isa;
-}
-
-#ifndef RASTER_FORGOT_WHY
-static void
-_elua_init(void)                                                                           // Stack usage [-16, +20, em]
-{
-   static Edje_Lua_Alloc ela = { MAX_LUA_MEM, 0 };
-   const luaL_Reg *l;
-   lua_State *L;
-
-   if (lstate) return;
-
-   lstate = L = lua_newstate(_elua_alloc, &ela);                                           // Stack usage [-0, +0, -]
-   lua_atpanic(L, _elua_custom_panic);                                                     // Stack usage [-0, +0, -]
-
-// FIXME: figure out optimal gc settings later
-//   lua_gc(L, LUA_GCSETPAUSE, 200);                                                       // Stack usage [-0, +0, e]
-//   lua_gc(L, LUA_GCSETSTEPMUL, 200);                                                     // Stack usage [-0, +0, e]
-
-   for (l = _elua_libs; l->func; l++)                                                      // Currently * 4
-     {
-#if LUA_VERSION_NUM >= 502
-        luaL_requiref(L, l->name, l->func, 1);                                             // Stack usage [-0, +1, e]
-#else
-        lua_pushcfunction(L, l->func);                                                     // Stack usage [-0, +1, m]
-        lua_pushstring(L, l->name);                                                        // Stack usage [-0, +1, m]
-        lua_call(L, 1, 0);                                                                 // Stack usage [-2, +0, e]
-#endif
-     }
-
-#if LUA_VERSION_NUM >= 502
-   lua_newtable(L);                                                                        // Stack usage [-0, +1, e]
-   lua_pushvalue(L, -1);                                                                   // Stack usage [-0, +1, -]
-   lua_setglobal(L, _elua_edje_api);                                                       // Stack usage [-1, +0, e]
-   luaL_setfuncs(L, _elua_edje_funcs, 0);                                                  // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, _elua_edje_api, _elua_edje_funcs);                                     // Stack usage [-0, +1, m]
-#endif
-   luaL_newmetatable(L, _elua_edje_meta);                                                  // Stack usage [-0, +1, m]
-#if LUA_VERSION_NUM >= 502
-   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);                                               // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, 0, _elua_edje_gc_funcs);                                               // Stack usage [-1, +1, m]
-#endif
-
-   _elua_add_functions(L, _elua_evas_api, _elua_evas_funcs, _elua_evas_meta, NULL, NULL);  // Stack usage [-3, +5, m]
-
-   // weak table for our objects
-   lua_pushlightuserdata(L, &_elua_objs);                                                  // Stack usage [-0, +1, -]
-   lua_newtable(L);                                                                        // Stack usage [-0, +1, m]
-   lua_pushstring(L, "__mode");                                                            // Stack usage [-0, +1, m]
-   lua_pushstring(L, "v");                                                                 // Stack usage [-0, +1, m]
-   lua_rawset(L, -3);                                                                      // Stack usage [-2, +0, m]
-   lua_rawset(L, LUA_REGISTRYINDEX);                                                       // Stack usage [-2, +0, m]
-}
-#endif
-
-void
-_edje_lua2_script_init(Edje *ed)                                  // Stack usage [-63, +99, em]
-{
-   static Edje_Lua_Alloc ela = { MAX_LUA_MEM, 0 };
-   const luaL_Reg *l;
-   char buf[256];
-   void *data;
-   int size;
-   lua_State *L;
-
-   if (ed->L) return;
-   if (0 > _log_domain)
-        _log_domain = eina_log_domain_register("lua", NULL);
-   if (0 <= _log_domain)
-     {
-        _log_count++;
-        eina_log_domain_level_set("lua", EINA_LOG_LEVEL_WARN);
-     }
-
-#ifndef RASTER_FORGOT_WHY
-   _elua_init();                                                  // This is actually truly pointless, even if raster remembers.
-#endif
-   L = ed->L = lua_newstate(_elua_alloc, &ela);                   // Stack usage [-0, +0, -]
-   lua_atpanic(L, _elua_custom_panic);                            // Stack usage [-0, +0, -]
-
-// FIXME: figure out optimal gc settings later
-//   lua_gc(L, LUA_GCSETPAUSE, 200);                              // Stack usage [-0, +0, e]
-//   lua_gc(L, LUA_GCSETSTEPMUL, 200);                            // Stack usage [-0, +0, e]
-
-   for (l = _elua_libs; l->func; l++)                             // Currently * 4
-     {
-#if LUA_VERSION_NUM >= 502
-        luaL_requiref(L, l->name, l->func, 1);                    // Stack usage [-0, +1, e]
-#else
-        lua_pushcfunction(L, l->func);                            // Stack usage [-0, +1, m]
-        lua_pushstring(L, l->name);                               // Stack usage [-0, +1, m]
-        lua_call(L, 1, 0);                                        // Stack usage [-2, +0, m]
-#endif
-     }
-
-   _elua_bogan_protect(L);                                        // Stack usage [+3, -3, m]
-
-#if LUA_VERSION_NUM >= 502
-   lua_newtable(L);                                               // Stack usage [-0, +1, e]
-   lua_pushvalue(L, -1);                                          // Stack usage [-0, +1, -]
-   lua_setglobal(L, _elua_edje_api);                              // Stack usage [-1, +0, e]
-   luaL_setfuncs(L, _elua_edje_funcs, 0);                         // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, _elua_edje_api, _elua_edje_funcs);            // Stack usage [-0, +1, m]
-#endif
-   luaL_getmetatable(L, "bogan");                                 // Stack usage [-0, +1, -]
-   lua_setmetatable(L, -2);                                       // Stack usage [-1, +0, -]
-   luaL_newmetatable(L, _elua_edje_meta);                         // Stack usage [-0, +1, m]
-#if LUA_VERSION_NUM >= 502
-   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);                      // Stack usage [-0, +0, e]
-#else
-   luaL_register(L, 0, _elua_edje_gc_funcs);                      // Stack usage [-1, +1, m]
-#endif
-
-   lua_pop(L, 2);                                                 // Stack usage [-n, +0, -]
-
-   _elua_add_functions(L, _elua_evas_api, _elua_evas_funcs, _elua_evas_meta, NULL, NULL);
-                                                                  // Stack usage [-3, +5, m]
-   _elua_add_functions(L, _elua_ecore_timer_api, _elua_ecore_timer_funcs, _elua_ecore_timer_meta, NULL, NULL);
-                                                                  // Stack usage [-3, +5, m]
-   _elua_add_functions(L, _elua_ecore_animator_api, _elua_ecore_animator_funcs, _elua_ecore_animator_meta, NULL, NULL);
-                                                                  // Stack usage [-6, +11, m]
-   _elua_add_functions(L, _elua_evas_edje_api, _elua_evas_edje_funcs, _elua_evas_edje_meta, _elua_evas_edje_parent, _elua_evas_api);
-                                                                  // Stack usage [-6, +11, em]
-   _elua_add_functions(L, _elua_evas_image_api, _elua_evas_image_funcs, _elua_evas_image_meta, _elua_evas_image_parent, _elua_evas_api);
-                                                                  // Stack usage [-6, +11, em]
-   _elua_add_functions(L, _elua_evas_line_api, _elua_evas_line_funcs, _elua_evas_line_meta, _elua_evas_line_parent, _elua_evas_api);
-                                                                  // Stack usage [-6, +11, em]
-   _elua_add_functions(L, _elua_evas_map_api, _elua_evas_map_funcs, _elua_evas_map_meta, NULL, NULL);
-                                                                  // Stack usage [-3, +5, m]
-   _elua_add_functions(L, _elua_evas_polygon_api, _elua_evas_polygon_funcs, _elua_evas_polygon_meta, _elua_evas_polygon_parent, _elua_evas_api);
-                                                                  // Stack usage [-6, +11, em]
-   _elua_add_functions(L, _elua_evas_text_api, _elua_evas_text_funcs, _elua_evas_text_meta, _elua_evas_text_parent, _elua_evas_api);
-                                                                  // Stack usage [-6, +11, em]
-
-   // weak table for our objects
-   lua_pushlightuserdata(L, &_elua_objs);                         // Stack usage [-0, +1, -]
-   lua_newtable(L);                                               // Stack usage [-0, +1, m]
-   lua_pushstring(L, "__mode");                                   // Stack usage [-0, +1, m]
-   lua_pushstring(L, "v");                                        // Stack usage [-0, +1, m]
-   lua_rawset(L, -3);                                             // Stack usage [-2, +0, m]
-   lua_rawset(L, LUA_REGISTRYINDEX);                              // Stack usage [-2, +0, m]
-
-   _elua_table_ptr_set(L, _elua_key, ed);                         // Stack usage [-2, +2, e]
-
-   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", ed->collection->id);
-   data = eet_read(ed->file->ef, buf, &size);
-
-   if (data)
-     {
-        int err;
-
-        /* This ends up pushing a function onto the stack for the lua_pcall() below to use.
-         * The function is the compiled code. */
-        err = luaL_loadbuffer(L, data, size, "edje_lua_script");  // Stack usage [-0, +1, m]
-        if (err)
-          {
-             if (err == LUA_ERRSYNTAX)
-               ERR("Lua load syntax error: %s",
-                   lua_tostring(L, -1));                          // Stack usage [-0, +0, m]
-             else if (err == LUA_ERRMEM)
-               ERR("Lua load memory allocation error: %s",
-                   lua_tostring(L, -1));                          // Stack usage [-0, +0, m]
-          }
-        free(data);
-        /* This is not needed, pcalls don't longjmp(), that's why they are protected.
-        if (setjmp(panic_jmp) == 1)
-          {
-             ERR("Lua script init panic");
-             return;
-          }
-        */
-        if ((err = lua_pcall(L, 0, 0, 0)))                        // Stack usage [-1, +0, -]
-          _edje_lua2_error(L, err);                               // Stack usage [-0, +0, m]
-     }
-}
-
-void
-_edje_lua2_script_shutdown(Edje *ed)
-{
-   if (!ed->L) return;
-   lua_close(ed->L);  // Stack usage irrelevant, as it's all gone now.
-   ed->L = NULL;
-   while (ed->lua_objs)
-     {
-        Edje_Lua_Obj *obj = (Edje_Lua_Obj *)ed->lua_objs;
-        if (obj->free_func)
-          {
-             ERR("uncollected Lua object %p", obj);
-             ed->lua_objs = eina_inlist_remove(ed->lua_objs, ed->lua_objs);
-          }
-        else
-          {
-             ERR("dangling Lua object %p", obj);
-             ed->lua_objs = eina_inlist_remove(ed->lua_objs, ed->lua_objs);
-          }
-     }
-
-   if (0 <= _log_domain)
-     {
-        _log_count--;
-        if (0 >= _log_count)
-          {
-             eina_log_domain_unregister(_log_domain);
-             _log_domain = -1;
-          }
-     }
-}
-
-void
-_edje_lua2_script_load(Edje_Part_Collection *edc __UNUSED__, void *data __UNUSED__, int size __UNUSED__)  // Stack usage [-16, +20, em]
-{
-#ifndef RASTER_FORGOT_WHY
-   _elua_init();  // Stack usage [-16, +20, em]
-#endif
-}
-
-void
-_edje_lua2_script_unload(Edje_Part_Collection *edc __UNUSED__)  // Stack usage [-0, +0, e]
-{
-#ifndef RASTER_FORGOT_WHY
-   lua_State *L;
-
-   if (!lstate) return;
-   L = lstate;
-   lua_gc(L, LUA_GCCOLLECT, 0);  // Stack usage [-0, +0, e]
-#endif
-}
-
-void
-_edje_lua2_error_full(const char *file, const char *fnc, int line,
-                      lua_State *L, int err_code)            // Stack usage [-0, +0, m]
-{
-   const char *err_type;
-
-   switch (err_code)
-     {
-     case LUA_ERRRUN:
-        err_type = "runtime";
-        break;
-     case LUA_ERRSYNTAX:
-        err_type = "syntax";
-        break;
-     case LUA_ERRMEM:
-        err_type = "memory allocation";
-        break;
-     case LUA_ERRERR:
-        err_type = "error handler";
-        break;
-     default:
-        err_type = "unknown";
-        break;
-     }
-   eina_log_print
-     (_edje_default_log_dom, EINA_LOG_LEVEL_ERR,  file, fnc, line,
-      "Lua %s error: %s", err_type, lua_tostring(L, -1));  // Stack usage [-0, +0, m]
-}
-
-/**
-@page luaref
-@section callbacks Lua callbacks
-
-These are lua functions that are called by the lua edje system when certain
-events occur.  If the functions don't exist in the lua group, they don't get
-called.
-
- */
-
-/**
-@page luaref
-@subsection edje_shutdown Edje shutdown() callback.
-
-If a function called "shutdown" exists in a lua edje group, then it is called when
-that edje gets deleted.
-*/
-void
-_edje_lua2_script_func_shutdown(Edje *ed)       // Stack usage [-1, +1, em]
-{
-   int err;
-
-   lua_getglobal(ed->L, "shutdown");            // Stack usage [-0, +1, e]
-   if (!lua_isnil(ed->L, -1))                   // Stack usage [-0, +0, -]
-     {
-        if ((err = lua_pcall(ed->L, 0, 0, 0)))  // Stack usage [-1, +0, -]
-          _edje_lua2_error(ed->L, err);         // Stack usage [-0, +0, m]
-     }
-   else
-     lua_pop(ed->L, 1);                         // Stack usage [-n, +0, -]
-   _edje_lua2_script_shutdown(ed);
-}
-
-/**
-@page luaref
-@subsection edje_show Edje show() callback.
-
-If a function called "show" exists in a lua edje group, then it is called when
-that edje gets shown.
-*/
-void
-_edje_lua2_script_func_show(Edje *ed)  // Stack usage [-1, +1, e]
-{
-   int err;
-
-   lua_getglobal(ed->L, "show");
-   if (!lua_isnil(ed->L, -1))
-     {
-        if ((err = lua_pcall(ed->L, 0, 0, 0)))
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);
-}
-
-/**
-@page luaref
-@subsection edje_hide Edje hide() callback.
-
-If a function called "hide" exists in a lua edje group, then it is called when
-that edje gets hidden.
-*/
-void
-_edje_lua2_script_func_hide(Edje *ed)  // Stack usage [-1, +1, e]
-{
-   int err;
-
-   lua_getglobal(ed->L, "hide");
-   if (!lua_isnil(ed->L, -1))
-     {
-        if ((err = lua_pcall(ed->L, 0, 0, 0)))
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);
-}
-
-/**
-@page luaref
-@subsection edje_move Edje move(x, y) callback.
-
-If a function called "move" exists in a lua edje group, then it is called when
-that edje gets moved, with the new position passed to it.
-*/
-void
-_edje_lua2_script_func_move(Edje *ed)  // Stack usage [-3, +3, e] or [-1, +1, e] if no matching function.
-{
-   int err;
-
-   // FIXME: move all objects created by script
-   lua_getglobal(ed->L, "move");                // Stack usage [-0, +1, e]
-   if (!lua_isnil(ed->L, -1))                   // Stack usage [-0, +0, -]
-     {
-        lua_pushinteger(ed->L, ed->x);          // Stack usage [-0, +1, -]
-        lua_pushinteger(ed->L, ed->y);          // Stack usage [-0, +1, -]
-        if ((err = lua_pcall(ed->L, 2, 0, 0)))  // Stack usage [-3, +0, -]
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);                         // Stack usage [-n, +0, -]
-}
-
-/**
-@page luaref
-@subsection edje_resize Edje resize(w, h) callback.
-
-If a function called "resize" exists in a lua edje group, then it is called when
-that edje gets resized, with the new size passed to it.
-*/
-void
-_edje_lua2_script_func_resize(Edje *ed)  // Stack usage [-3, +3, e] or [-1, +1, e] if no matching function.
-{
-   int err;
-
-   lua_getglobal(ed->L, "resize");
-   if (!lua_isnil(ed->L, -1))
-     {
-        lua_pushinteger(ed->L, ed->w);
-        lua_pushinteger(ed->L, ed->h);
-        if ((err = lua_pcall(ed->L, 2, 0, 0)))
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);
-}
-
-/**
-@page luaref
-@subsection edje_message Edje message(id, type, ...) callback.
-
-If a function called "message" exists in a lua edje group, then it is called when
-that edje gets gets a message sent to it, with the message details passed to it.
-See edje:messagesend() for details of what each type means.  The arrays are
-passed as a table.
-*/
-void
-_edje_lua2_script_func_message(Edje *ed, Edje_Message *em)  // Stack usage [-?, +?, em]  It's complicated, but it's even at least.
-{
-   int err, n, c, i;
-
-   lua_getglobal(ed->L, "message");                         // Stack usage [-0, +1, e]
-   if (!lua_isnil(ed->L, -1))                               // Stack usage [-0, +0, -]
-     {
-        n = 2;
-        lua_pushinteger(ed->L, em->id);                     // Stack usage [-0, +1, -]
-        switch (em->type)
-          {
-          case EDJE_MESSAGE_NONE:
-             lua_pushstring(ed->L, "none");                 // Stack usage [-0, +1, m]
-             break;
-          case EDJE_MESSAGE_SIGNAL:
-             break;
-          case EDJE_MESSAGE_STRING:
-             lua_pushstring(ed->L, "str");                  // Stack usage [-0, +1, m]
-             lua_pushstring(ed->L, ((Edje_Message_String *)em->msg)->str);
-                                                            // Stack usage [-0, +1, m]
-             n += 1;
-            break;
-          case EDJE_MESSAGE_INT:
-             lua_pushstring(ed->L, "int");                  // Stack usage [-0, +1, m]
-             lua_pushinteger(ed->L, ((Edje_Message_Int *)em->msg)->val);
-                                                            // Stack usage [-0, +1, -]
-             n += 1;
-             break;
-          case EDJE_MESSAGE_FLOAT:
-             lua_pushstring(ed->L, "float");                // Stack usage [-0, +1, m]
-             lua_pushnumber(ed->L, ((Edje_Message_Float *)em->msg)->val);
-                                                            // Stack usage [-0, +1, -]
-             n += 1;
-             break;
-          case EDJE_MESSAGE_STRING_SET:
-             lua_pushstring(ed->L, "strset");               // Stack usage [-0, +1, m]
-             c = ((Edje_Message_String_Set *)em->msg)->count;
-             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
-             for (i = 0; i < c; i++)
-               {
-                  lua_pushstring(ed->L, ((Edje_Message_String_Set *)em->msg)->str[i]);
-                                                            // Stack usage [-0, +1, m]
-                  // It's OK to bypass the metatable in these cases,
-                  // we create the table, and know there is no metatable.  B-)
-                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
-               }
-             n += 1;
-             break;
-          case EDJE_MESSAGE_INT_SET:
-             lua_pushstring(ed->L, "intset");               // Stack usage [-0, +1, m]
-             c = ((Edje_Message_Int_Set *)em->msg)->count;
-             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
-             for (i = 0; i < c; i++)
-               {
-                  lua_pushinteger(ed->L, ((Edje_Message_Int_Set *)em->msg)->val[i]);
-                                                            // Stack usage [-0, +1, -]
-                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
-               }
-             n += 1;
-             break;
-          case EDJE_MESSAGE_FLOAT_SET:
-             lua_pushstring(ed->L, "floatset");             // Stack usage [-0, +1, m]
-             c = ((Edje_Message_Float_Set *)em->msg)->count;
-             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
-             for (i = 0; i < c; i++)
-               {
-                  lua_pushnumber(ed->L, ((Edje_Message_Float_Set *)em->msg)->val[i]);
-                                                            // Stack usage [-0, +1, -]
-                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
-               }
-             n += 1;
-             break;
-          case EDJE_MESSAGE_STRING_INT:
-             lua_pushstring(ed->L, "strint");               // Stack usage [-0, +1, m]
-             lua_pushstring(ed->L, ((Edje_Message_String_Int *)em->msg)->str);
-                                                            // Stack usage [-0, +1, m]
-             lua_pushinteger(ed->L, ((Edje_Message_String_Int *)em->msg)->val);
-                                                            // Stack usage [-0, +1, -]
-             n += 2;
-             break;
-          case EDJE_MESSAGE_STRING_FLOAT:
-             lua_pushstring(ed->L, "strfloat");             // Stack usage [-0, +1, m]
-             lua_pushstring(ed->L, ((Edje_Message_String_Float *)em->msg)->str);
-                                                            // Stack usage [-0, +1, m]
-             lua_pushnumber(ed->L, ((Edje_Message_String_Float *)em->msg)->val);
-                                                            // Stack usage [-0, +1, -]
-             n += 2;
-             break;
-          case EDJE_MESSAGE_STRING_INT_SET:
-             lua_pushstring(ed->L, "strintset");            // Stack usage [-0, +1, m]
-             lua_pushstring(ed->L, ((Edje_Message_String_Int_Set *)em->msg)->str);
-                                                            // Stack usage [-0, +1, m]
-             c = ((Edje_Message_String_Int_Set *)em->msg)->count;
-             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
-             for (i = 0; i < c; i++)
-               {
-                  lua_pushinteger(ed->L, ((Edje_Message_String_Int_Set *)em->msg)->val[i]);
-                                                            // Stack usage [-0, +1, -]
-                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
-               }
-             n += 2;
-             break;
-          case EDJE_MESSAGE_STRING_FLOAT_SET:
-             lua_pushstring(ed->L, "strfloatset");          // Stack usage [-0, +1, m]
-             lua_pushstring(ed->L, ((Edje_Message_String_Float_Set *)em->msg)->str);
-                                                            // Stack usage [-0, +1, m]
-             c = ((Edje_Message_String_Float_Set *)em->msg)->count;
-             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
-             for (i = 0; i < c; i++)
-               {
-                  lua_pushnumber(ed->L, ((Edje_Message_String_Float_Set *)em->msg)->val[i]);
-                                                            // Stack usage [-0, +1, -]
-                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
-               }
-             n += 2;
-             break;
-          default:
-             break;
-          }
-        if ((err = lua_pcall(ed->L, n, 0, 0)))              // Stack usage [-n+1, +0, -]
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);                                     // Stack usage [-n, +0, -]
-}
-
-/**
-@page luaref
-@subsection edje_signal Edje signal(signal, source) callback.
-
-If a function called "signal" exists in a lua edje group, then it is called when
-ever a signal arrives, with the signal details passed to it.
-
-*/
-void
-_edje_lua2_script_func_signal(Edje *ed, const char *sig, const char *src)  // Stack usage [-3, +3, em] or [-1, +1, e] if no matching function.
-{
-   int err;
-
-   lua_getglobal(ed->L, "signal");
-   if (!lua_isnil(ed->L, -1))
-     {
-        lua_pushstring(ed->L, sig);
-        lua_pushstring(ed->L, src);
-        if ((err = lua_pcall(ed->L, 2, 0, 0)))
-          _edje_lua2_error(ed->L, err);
-     }
-   else
-     lua_pop(ed->L, 1);
-}
diff --git a/legacy/edje/src/lib/edje_lua_script_only.c b/legacy/edje/src/lib/edje_lua_script_only.c
deleted file mode 100644 (file)
index e283c83..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "edje_private.h"
-
-Eina_Bool
-_edje_lua_script_only(Edje *ed)
-{
-   if ((ed->collection) && (ed->collection->lua_script_only))
-      return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-void
-_edje_lua_script_only_init(Edje *ed)
-{
-   if (ed->collection)
-      _edje_lua2_script_init(ed);
-}
-
-void
-_edje_lua_script_only_shutdown(Edje *ed)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_shutdown(ed);
-}
-
-void
-_edje_lua_script_only_show(Edje * ed)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_show(ed);
-}
-
-void
-_edje_lua_script_only_hide(Edje * ed)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_hide(ed);
-}
-
-void
-_edje_lua_script_only_move(Edje * ed)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_move(ed);
-}
-
-void
-_edje_lua_script_only_resize(Edje * ed)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_resize(ed);
-}
-
-void
-_edje_lua_script_only_message(Edje * ed, Edje_Message * em)
-{
-   if (ed->collection && ed->L)
-      _edje_lua2_script_func_message(ed, em);
-}
-
diff --git a/legacy/edje/src/lib/edje_main.c b/legacy/edje/src/lib/edje_main.c
deleted file mode 100644 (file)
index a87d668..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-#include "edje_private.h"
-
-static Edje_Version _version = { VMAJ, VMIN, VMIC, VREV };
-EAPI Edje_Version *edje_version = &_version;
-
-static int _edje_init_count = 0;
-int _edje_default_log_dom = -1;
-Eina_Mempool *_edje_real_part_mp = NULL;
-Eina_Mempool *_edje_real_part_state_mp = NULL;
-
-/*============================================================================*
- *                                   API                                      *
- *============================================================================*/
-
-
-EAPI int
-edje_init(void)
-{
-   if (++_edje_init_count != 1)
-     return _edje_init_count;
-
-   srand(time(NULL));
-
-   if (!eina_init())
-     return --_edje_init_count;
-
-   _edje_default_log_dom = eina_log_domain_register
-     ("edje", EDJE_DEFAULT_LOG_COLOR);
-   if (_edje_default_log_dom < 0)
-     {
-       EINA_LOG_ERR("Edje Can not create a general log domain.");
-       goto shutdown_eina;
-     }
-
-   if (!ecore_init())
-     {
-       ERR("Ecore init failed");
-       goto unregister_log_domain;
-     }
-
-   if (!embryo_init())
-     {
-       ERR("Embryo init failed");
-       goto shutdown_ecore;
-     }
-
-   if (!eet_init())
-     {
-       ERR("Eet init failed");
-       goto shutdown_embryo;
-     }
-
-#ifdef HAVE_EIO
-   if (!eio_init())
-     {
-        ERR("Eio init failed");
-        goto shutdown_eet;
-     }
-#endif
-
-   _edje_scale = FROM_DOUBLE(1.0);
-
-   _edje_edd_init();
-   _edje_text_init();
-   _edje_box_init();
-   _edje_external_init();
-   _edje_module_init();
-   _edje_message_init();
-   _edje_multisense_init();
-
-   _edje_real_part_mp = eina_mempool_add("chained_mempool",
-                                        "Edje_Real_Part", NULL,
-                                        sizeof (Edje_Real_Part), 32);
-   if (!_edje_real_part_mp)
-     {
-       ERR("Mempool for Edje_Real_Part cannot be allocated.");
-       goto shutdown_all;
-     }
-
-   _edje_real_part_state_mp = eina_mempool_add("chained_mempool",
-                                              "Edje_Real_Part_State", NULL,
-                                              sizeof (Edje_Real_Part_State), 32);
-   if (!_edje_real_part_state_mp)
-     {
-       ERR("Mempool for Edje_Real_Part_State cannot be allocated.");
-       goto shutdown_all;
-     }
-
-   return _edje_init_count;
-
- shutdown_all:
-   eina_mempool_del(_edje_real_part_state_mp);
-   eina_mempool_del(_edje_real_part_mp);
-   _edje_real_part_state_mp = NULL;
-   _edje_real_part_mp = NULL;
-   _edje_message_shutdown();
-   _edje_module_shutdown();
-   _edje_external_shutdown();
-   _edje_box_shutdown();
-   _edje_text_class_members_free();
-   _edje_text_class_hash_free();
-   _edje_edd_shutdown();
-#ifdef HAVE_EIO
-   eio_shutdown();
- shutdown_eet:
-#endif
-   eet_shutdown();
- shutdown_embryo:
-   embryo_shutdown();
- shutdown_ecore:
-   ecore_shutdown();
- unregister_log_domain:
-   eina_log_domain_unregister(_edje_default_log_dom);
-   _edje_default_log_dom = -1;
- shutdown_eina:
-   eina_shutdown();
-   return --_edje_init_count;
-}
-
-static int _edje_users = 0;
-
-static void
-_edje_shutdown_core(void)
-{
-   if (_edje_users > 0) return;
-
-   _edje_file_cache_shutdown();
-   _edje_color_class_members_free();
-   _edje_color_class_hash_free();
-
-   eina_mempool_del(_edje_real_part_state_mp);
-   eina_mempool_del(_edje_real_part_mp);
-   _edje_real_part_state_mp = NULL;
-   _edje_real_part_mp = NULL;
-
-   _edje_multisense_shutdown();
-   _edje_message_shutdown();
-   _edje_module_shutdown();
-   _edje_external_shutdown();
-   _edje_box_shutdown();
-   _edje_text_class_members_free();
-   _edje_text_class_hash_free();
-   _edje_edd_shutdown();
-
-#ifdef HAVE_EIO
-   eio_shutdown();
-#endif
-   eet_shutdown();
-   embryo_shutdown();
-   ecore_shutdown();
-   eina_log_domain_unregister(_edje_default_log_dom);
-   _edje_default_log_dom = -1;
-   eina_shutdown();
-}
-
-void
-_edje_lib_ref(void)
-{
-   _edje_users++;
-}
-
-void
-_edje_lib_unref(void)
-{
-   _edje_users--;
-   if (_edje_users != 0) return;
-   if (_edje_init_count == 0) _edje_shutdown_core();
-}
-
-EAPI int
-edje_shutdown(void)
-{
-   if (_edje_init_count <= 0)
-     {
-        ERR("Init count not greater than 0 in shutdown.");
-        return 0;
-     }
-   if (--_edje_init_count != 0)
-     return _edje_init_count;
-
-   if (_edje_timer)
-     ecore_animator_del(_edje_timer);
-   _edje_timer = NULL;
-
-   _edje_shutdown_core();
-
-   return _edje_init_count;
-}
-
-/* Private Routines */
-static void
-_class_member_free(Eina_Hash *hash,
-                   void (*_edje_class_member_direct_del)(const char *class, void *l))
-{
-   const char *color_class;
-   Eina_Iterator *it;
-   Eina_List *class_kill = NULL;
-
-   if (hash)
-     {
-        it = eina_hash_iterator_key_new(hash);
-        EINA_ITERATOR_FOREACH(it, color_class)
-          class_kill = eina_list_append(class_kill, color_class);
-        eina_iterator_free(it);
-        EINA_LIST_FREE(class_kill, color_class)
-          {
-             void *l;
-
-             l = eina_hash_find(hash, color_class);
-             _edje_class_member_direct_del(color_class, l);
-          }
-        eina_hash_free(hash);
-     }
-}
-
-void
-_edje_del(Edje *ed)
-{
-   Edje_Running_Program *runp;
-   Edje_Pending_Program *pp;
-   Edje_Signal_Callback *escb;
-   Edje_Text_Class *tc;
-   Edje_Text_Insert_Filter_Callback *cb;
-
-   if (ed->processing_messages)
-     {
-       ed->delete_me = EINA_TRUE;
-       return;
-     }
-   _edje_message_del(ed);
-   _edje_callbacks_patterns_clean(ed);
-   _edje_file_del(ed);
-   if (ed->path) eina_stringshare_del(ed->path);
-   if (ed->group) eina_stringshare_del(ed->group);
-   if (ed->parent) eina_stringshare_del(ed->parent);
-   ed->path = NULL;
-   ed->group = NULL;
-   if ((ed->actions) || (ed->pending_actions))
-     {
-       _edje_animators = eina_list_remove(_edje_animators, ed);
-     }
-   EINA_LIST_FREE(ed->actions, runp)
-     free(runp);
-   EINA_LIST_FREE(ed->pending_actions, pp)
-     free(pp);
-   EINA_LIST_FREE(ed->callbacks, escb)
-     {
-       if (escb->signal) eina_stringshare_del(escb->signal);
-       if (escb->source) eina_stringshare_del(escb->source);
-       free(escb);
-     }
-   eina_hash_free(ed->color_classes);
-   EINA_LIST_FREE(ed->text_classes, tc)
-     {
-       if (tc->name) eina_stringshare_del(tc->name);
-       if (tc->font) eina_stringshare_del(tc->font);
-       free(tc);
-     }
-   EINA_LIST_FREE(ed->text_insert_filter_callbacks, cb)
-     {
-        eina_stringshare_del(cb->part);
-        free(cb);
-     }
-   EINA_LIST_FREE(ed->markup_filter_callbacks, cb)
-     {
-        eina_stringshare_del(cb->part);
-        free(cb);
-     }
-
-   _class_member_free(ed->members.text_class, _edje_text_class_member_direct_del);
-   _class_member_free(ed->members.color_class, _edje_color_class_member_direct_del);
-}
-
-void
-_edje_clean_objects(Edje *ed)
-{
-   evas_object_del(ed->base->clipper);
-   ed->base->evas = NULL;
-   ed->obj = NULL;
-   ed->base->clipper = NULL;
-}
-
-void
-_edje_ref(Edje *ed)
-{
-   if (ed->references <= 0) return;
-   ed->references++;
-}
-
-void
-_edje_unref(Edje *ed)
-{
-   ed->references--;
-   if (ed->references == 0) _edje_del(ed);
-}
diff --git a/legacy/edje/src/lib/edje_match.c b/legacy/edje/src/lib/edje_match.c
deleted file mode 100644 (file)
index caa047d..0000000
+++ /dev/null
@@ -1,829 +0,0 @@
-#include "edje_private.h"
-
-/* States manipulations. */
-
-typedef struct _Edje_State      Edje_State;
-struct _Edje_State
-{
-  size_t        idx;
-  size_t        pos;
-};
-
-struct _Edje_States
-{
-  size_t         size;
-  Edje_State    *states;
-  Eina_Bool     *has;
-};
-
-static void
-_edje_match_states_free(Edje_States      *states,
-                        size_t            states_size)
-{
-   (void) states_size;
-   free(states);
-}
-
-#define ALIGN(Size)                             \
-  {                                             \
-     Size--;                                    \
-     Size |= sizeof (void*) - 1;                \
-     Size++;                                    \
-  };
-
-static int
-_edje_match_states_alloc(Edje_Patterns *ppat, int n)
-{
-   Edje_States *l;
-
-   const size_t patterns_size = ppat->patterns_size;
-   const size_t patterns_max_length = ppat->max_length;
-
-   const size_t array_len = (patterns_max_length + 1) * patterns_size;
-
-   size_t       states_size;
-   size_t       has_size;
-   size_t       states_has_size;
-   size_t       struct_size;
-
-   unsigned char        *states;
-   unsigned char        *has;
-
-   int          i;
-
-   states_size = sizeof (*l->states) * array_len;
-   ALIGN(states_size);
-
-   has_size = sizeof (*l->has) * array_len;
-   ALIGN(has_size);
-
-   states_has_size = states_size + has_size;
-
-   struct_size = sizeof (*l);
-   ALIGN(struct_size);
-   struct_size += states_has_size;
-
-   l = malloc(n * struct_size);
-   if (!l) return 0;
-
-   ppat->states = l;
-   ppat->states->size = 0;
-
-   states = (unsigned char *) (l + n);
-   has = states + states_size;
-
-   for (i = 0; i < n; ++i)
-     {
-        l[i].states = (Edje_State *) states;
-        l[i].has = (Eina_Bool *) has;
-        l[i].size = 0;
-
-       memset(l[i].has, 0, has_size);
-
-        states += states_has_size;
-        has += states_has_size;
-     }
-
-   return 1;
-}
-
-static void
-_edje_match_states_insert(Edje_States    *list,
-                          size_t          patterns_max_length,
-                          size_t          idx,
-                          size_t          pos)
-{
-   size_t i;
-
-   i = (idx * (patterns_max_length + 1)) + pos;
-
-   if (i < list->size)
-     {
-       if (list->has[i]) return;
-     }
-   list->has[i] = 1;
-
-   i = list->size;
-   list->states[i].idx = idx;
-   list->states[i].pos = pos;
-   list->has[i] = 0;
-   list->size++;
-}
-
-static void
-_edje_match_states_clear(Edje_States *list,
-                         __UNUSED__ size_t patterns_size,
-                         __UNUSED__ size_t patterns_max_length)
-{
-   list->size = 0;
-}
-
-/* Token manipulation. */
-
-enum status
-{
-   patterns_not_found          = 0,
-   patterns_found              = 1,
-   patterns_syntax_error       = 2
-};
-
-static size_t
-_edje_match_patterns_exec_class_token(enum status      *status,
-                                      const char       *cl_tok,
-                                      char              c)
-{
-   if (! *cl_tok)
-     {
-        *status = patterns_syntax_error;
-        return 0;
-     }
-   else if (cl_tok[1] == '-' && cl_tok[2] != ']')
-     {
-        if (*cl_tok <= c && c <= cl_tok[2])
-           *status = patterns_found;
-        return 3;
-     }
-   else
-     {
-        if (c == *cl_tok)
-           *status = patterns_found;
-        return 1;
-     }
-}
-
-static Edje_Match_Error
-_edje_match_patterns_exec_class_complement(const char *cl_tok, size_t *ret)
-{
-   switch (*cl_tok)
-     {
-      case 0:
-         return EDJE_MATCH_SYNTAX_ERROR;
-
-      case '!':
-        *ret = 1;
-         return EDJE_MATCH_OK;
-
-      default:
-         *ret = 0;
-         return EDJE_MATCH_OK;
-     }
-}
-
-static Edje_Match_Error
-_edje_match_patterns_exec_class(const char     *cl,
-                                char            c,
-                                size_t          *ret)
-{
-   enum status status = patterns_not_found;
-   int         pos = 1;
-   size_t       neg;
-
-   if (_edje_match_patterns_exec_class_complement(cl + 1, &neg) != EDJE_MATCH_OK)
-      return EDJE_MATCH_SYNTAX_ERROR;
-
-   pos += neg;
-
-   do
-     {
-        pos += _edje_match_patterns_exec_class_token(&status, cl + pos, c);
-     }
-   while (cl[pos] && cl[pos] != ']');
-
-   if (status == patterns_syntax_error || ! cl[pos])
-      return EDJE_MATCH_SYNTAX_ERROR;
-
-   if (status == patterns_found)
-      *ret = neg ? 0 : pos + 1;
-   else
-      *ret = neg ? pos + 1 : 0;
-
-   return EDJE_MATCH_OK;
-}
-
-static Edje_Match_Error
-_edje_match_patterns_exec_token(const char     *tok,
-                                char            c,
-                                size_t          *ret)
-{
-  switch (*tok)
-    {
-    case '\\':
-      if (tok[1])
-        {
-           *ret = tok[1] == c ? 2 : 0;
-           return EDJE_MATCH_OK;
-        }
-      return EDJE_MATCH_SYNTAX_ERROR;
-
-    case '?':
-      *ret = 1;
-      return EDJE_MATCH_OK;
-
-    case '[':
-       return _edje_match_patterns_exec_class(tok, c, ret);
-
-    default:
-       *ret = *tok == c ? 1 : 0;
-       return EDJE_MATCH_OK;
-    }
-}
-
-static void
-_edje_match_patterns_exec_init_states(Edje_States       *states,
-                                      size_t            patterns_size,
-                                      size_t             patterns_max_length)
-{
-   size_t       i;
-
-   states->size = patterns_size;
-
-   for (i = 0; i < patterns_size; ++i)
-     {
-        states->states[i].idx = i;
-        states->states[i].pos = 0;
-        states->has[i * (patterns_max_length + 1)] = 1;
-     }
-}
-
-/* Exported function. */
-
-#define EDJE_MATCH_INIT_LIST(Func, Type, Source, Show)         \
-  Edje_Patterns*                                                \
-  Func(const Eina_List *lst)                                   \
-  {                                                             \
-     Edje_Patterns      *r;                                     \
-     size_t              i;                                     \
-                                                                \
-     if (!lst || eina_list_count(lst) <= 0)                     \
-       return NULL;                                             \
-                                                                \
-     r = malloc(sizeof (Edje_Patterns) +                        \
-                eina_list_count(lst)                            \
-                * sizeof(*r->finals)                            \
-                * sizeof(*r->patterns));                        \
-     if (!r) return NULL;                                       \
-                                                                \
-     r->ref = 1;                                               \
-     r->delete_me = EINA_FALSE;        \
-     r->patterns_size = eina_list_count(lst);                   \
-     r->max_length = 0;                                         \
-     r->patterns = (const char **) r->finals + r->patterns_size + 1;    \
-                                                                \
-     for (i = 0; lst; ++i)                                      \
-       {                                                        \
-          const char    *str;                                   \
-          Type          *data;                                  \
-          size_t         j;                                     \
-          int            special = 0;                           \
-                                                                \
-          data = eina_list_data_get(lst);                       \
-          if (!data)                                            \
-            {                                                   \
-               free(r);                                         \
-               return NULL;                                     \
-            }                                                   \
-                                                                \
-          str = data->Source;                                   \
-          if (!str) str = "";                                   \
-          r->patterns[i] = str;                                 \
-                                                                \
-          if (Show)                                             \
-            INF("%lu [%s]", (unsigned long)i, str);            \
-                                                                \
-          r->finals[i] = 0;                                     \
-          for (j = 0; str[j]; ++j)                              \
-            if (str[j] != '*')                                  \
-              {                                                 \
-                 r->finals[i] = j + 1;                          \
-                 special++;                                     \
-              }                                                 \
-          j += special ? special + 1 : 0;                       \
-                                                                \
-          if (j > r->max_length)                                \
-            r->max_length = j;                                  \
-                                                               \
-          lst = eina_list_next(lst);                            \
-       }                                                        \
-                                                               \
-     if (!_edje_match_states_alloc(r, 2))                       \
-       {                                                        \
-          free(r);                                              \
-          return NULL;                                          \
-       }                                                        \
-                                                                \
-     return r;                                                  \
-  }
-
-#define EDJE_MATCH_INIT_ARRAY(Func, Type, Source, Show)                \
-  Edje_Patterns*                                                \
-  Func(Type * const *lst, unsigned int count)                  \
-  {                                                             \
-     Edje_Patterns      *r;                                     \
-     size_t              i;                                     \
-                                                                \
-     if (!lst || count == 0)                                   \
-       return NULL;                                             \
-                                                                \
-     r = malloc(sizeof (Edje_Patterns) +                        \
-                count                                          \
-                * sizeof(*r->finals)                            \
-                * sizeof(*r->patterns));                        \
-     if (!r) return NULL;                                       \
-                                                                \
-     r->ref = 1;                                               \
-     r->delete_me = EINA_FALSE;        \
-     r->patterns_size = count;                                 \
-     r->max_length = 0;                                         \
-     r->patterns = (const char **) r->finals + r->patterns_size + 1;    \
-                                                                \
-     for (i = 0; i < count; ++i)                               \
-       {                                                        \
-          const char    *str;                                   \
-          size_t         j;                                     \
-          int            special = 0;                           \
-                                                                \
-          if (!lst[i])                                         \
-            {                                                   \
-               free(r);                                         \
-               return NULL;                                     \
-            }                                                   \
-                                                                \
-          str = lst[i]->Source;                                        \
-          if (!str) str = "";                                   \
-          r->patterns[i] = str;                                 \
-                                                                \
-          if (Show)                                             \
-            INF("%lu [%s]", (unsigned long)i, str);            \
-                                                                \
-          r->finals[i] = 0;                                     \
-          for (j = 0; str[j]; ++j)                              \
-            if (str[j] != '*')                                  \
-              {                                                 \
-                 r->finals[i] = j + 1;                          \
-                 special++;                                     \
-              }                                                 \
-          j += special ? special + 1 : 0;                       \
-                                                                \
-          if (j > r->max_length)                                \
-            r->max_length = j;                                  \
-       }                                                        \
-                                                                \
-     if (!_edje_match_states_alloc(r, 2))                       \
-       {                                                        \
-          free(r);                                              \
-          return NULL;                                          \
-       }                                                        \
-                                                                \
-     return r;                                                  \
-  }
-
-EDJE_MATCH_INIT_LIST(edje_match_collection_dir_init,
-                    Edje_Part_Collection_Directory_Entry,
-                    entry, 0);
-EDJE_MATCH_INIT_ARRAY(edje_match_programs_signal_init,
-                    Edje_Program,
-                    signal, 0);
-EDJE_MATCH_INIT_ARRAY(edje_match_programs_source_init,
-                     Edje_Program,
-                     source, 0);
-EDJE_MATCH_INIT_LIST(edje_match_callback_signal_init,
-                    Edje_Signal_Callback,
-                    signal, 0);
-EDJE_MATCH_INIT_LIST(edje_match_callback_source_init,
-                    Edje_Signal_Callback,
-                    source, 0);
-
-static Eina_Bool
-_edje_match_collection_dir_exec_finals(const size_t      *finals,
-                                       const Edje_States *states)
-{
-   size_t       i;
-
-   for (i = 0; i < states->size; ++i)
-     {
-        if (states->states[i].pos >= finals[states->states[i].idx])
-           return EINA_TRUE;
-     }
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-edje_match_programs_exec_check_finals(const size_t      *signal_finals,
-                                      const size_t      *source_finals,
-                                      const Edje_States *signal_states,
-                                      const Edje_States *source_states,
-                                      Edje_Program     **programs,
-                                      Eina_Bool (*func)(Edje_Program *pr, void *data),
-                                      void              *data,
-                                      Eina_Bool          prop __UNUSED__)
-{
-   size_t       i;
-   size_t       j;
-
-   /* when not enought memory, they could be NULL */
-   if (!signal_finals || !source_finals) return EINA_TRUE;
-
-   for (i = 0; i < signal_states->size; ++i)
-     {
-        if (signal_states->states[i].pos >= signal_finals[signal_states->states[i].idx])
-          {
-             for (j = 0; j < source_states->size; ++j)
-               {
-                  if (signal_states->states[i].idx == source_states->states[j].idx
-                      && source_states->states[j].pos >= source_finals[source_states->states[j].idx])
-                    {
-                       Edje_Program  *pr;
-
-                       pr = programs[signal_states->states[i].idx];
-                       if (pr)
-                         {
-                            if (func(pr, data))
-                               return EINA_FALSE;
-                         }
-                    }
-               }
-          }
-     }
-
-   return EINA_TRUE;
-}
-
-static int
-edje_match_callback_exec_check_finals(const Edje_Patterns *signal_ppat,
-                                      const Edje_Patterns *source_ppat,
-                                      const size_t      *signal_finals,
-                                      const size_t      *source_finals,
-                                      const Edje_States *signal_states,
-                                      const Edje_States *source_states,
-                                      const char        *sig,
-                                      const char        *source,
-                                      Eina_List         *callbacks,
-                                      Edje              *ed,
-                                      Eina_Bool          prop
-                                     )
-{
-   Edje_Signal_Callback *escb;
-   Eina_Array   run;
-   size_t       i;
-   size_t       j;
-   int          r = 1;
-
-   eina_array_step_set(&run, sizeof (Eina_Array), 4);
-
-   for (i = 0; i < signal_states->size; ++i)
-     {
-        if (signal_states->states[i].pos >= signal_finals[signal_states->states[i].idx])
-          {
-             for (j = 0; j < source_states->size; ++j)
-               {
-                  if (signal_states->states[i].idx == source_states->states[j].idx
-                      && source_states->states[j].pos >= source_finals[source_states->states[j].idx])
-                    {
-                       escb = eina_list_nth(callbacks, signal_states->states[i].idx);
-                       if (escb)
-                         {
-                            if ((prop) && (escb->propagate)) continue;
-                            if ((!escb->just_added)
-                                && (!escb->delete_me))
-                              {
-                                 eina_array_push(&run, escb);
-                                 r = 2;
-                              }
-                         }
-                    }
-               }
-          }
-     }
-
-   while ((escb = eina_array_pop(&run)))
-     {
-        escb->func(escb->data, ed->obj, sig, source);
-        if (_edje_block_break(ed))
-         {
-             r = 0;
-             break;
-          }
-        if ((signal_ppat->delete_me) || (source_ppat->delete_me))
-          {
-             r = 0;
-             break;
-          }
-     }
-
-   eina_array_flush(&run);
-
-   return r;
-}
-
-
-static Edje_States*
-_edje_match_fn(const Edje_Patterns      *ppat,
-               const char               *string,
-               Edje_States              *states)
-{
-   Edje_States  *new_states = states + 1;
-   const char   *c;
-
-   for (c = string; *c && states->size; ++c)
-     {
-        size_t  i;
-
-        _edje_match_states_clear(new_states, ppat->patterns_size, ppat->max_length);
-
-        for (i = 0; i < states->size; ++i)
-          {
-             const size_t       idx = states->states[i].idx;
-             const size_t       pos = states->states[i].pos;
-
-             if (!ppat->patterns[idx][pos])
-                continue;
-             else if (ppat->patterns[idx][pos] == '*')
-               {
-                  _edje_match_states_insert(states, ppat->max_length, idx, pos + 1);
-                  _edje_match_states_insert(new_states, ppat->max_length, idx, pos);
-               }
-             else
-               {
-                  size_t        m;
-
-                  if (_edje_match_patterns_exec_token(ppat->patterns[idx] + pos,
-                                                      *c,
-                                                      &m) != EDJE_MATCH_OK)
-                     return NULL;
-
-                  if (m)
-                     _edje_match_states_insert(new_states, ppat->max_length, idx, pos + m);
-               }
-          }
-          {
-             Edje_States  *tmp = states;
-
-             states = new_states;
-             new_states = tmp;
-          }
-     }
-
-   return states;
-}
-
-Eina_Bool
-edje_match_collection_dir_exec(const Edje_Patterns      *ppat,
-                               const char               *string)
-{
-   Edje_States  *result;
-   Eina_Bool     r = EINA_FALSE;
-
-   /* under high memory presure, it could be NULL */
-   if (!ppat) return EINA_FALSE;
-
-   _edje_match_patterns_exec_init_states(ppat->states, ppat->patterns_size, ppat->max_length);
-
-   result = _edje_match_fn(ppat, string, ppat->states);
-
-   if (result)
-      r = _edje_match_collection_dir_exec_finals(ppat->finals, result);
-
-   return r;
-}
-
-Eina_Bool
-edje_match_programs_exec(const Edje_Patterns    *ppat_signal,
-                         const Edje_Patterns    *ppat_source,
-                         const char             *sig,
-                         const char             *source,
-                         Edje_Program          **programs,
-                         Eina_Bool (*func)(Edje_Program *pr, void *data),
-                         void                   *data,
-                         Eina_Bool               prop)
-{
-   Edje_States  *signal_result;
-   Edje_States  *source_result;
-   Eina_Bool     r = EINA_FALSE;
-
-   /* under high memory presure, they could be NULL */
-   if (!ppat_source || !ppat_signal) return EINA_FALSE;
-
-   _edje_match_patterns_exec_init_states(ppat_signal->states,
-                                         ppat_signal->patterns_size,
-                                         ppat_signal->max_length);
-   _edje_match_patterns_exec_init_states(ppat_source->states,
-                                         ppat_source->patterns_size,
-                                         ppat_source->max_length);
-
-   signal_result = _edje_match_fn(ppat_signal, sig, ppat_signal->states);
-   source_result = _edje_match_fn(ppat_source, source, ppat_source->states);
-
-   if (signal_result && source_result)
-      r = edje_match_programs_exec_check_finals(ppat_signal->finals,
-                                                ppat_source->finals,
-                                                signal_result,
-                                                source_result,
-                                                programs,
-                                                func,
-                                                data,
-                                                prop);
-   return r;
-}
-
-int
-edje_match_callback_exec(Edje_Patterns          *ppat_signal,
-                         Edje_Patterns          *ppat_source,
-                         const char             *sig,
-                         const char             *source,
-                         Eina_List              *callbacks,
-                         Edje                   *ed,
-                         Eina_Bool               prop
-                        )
-{
-   Edje_States  *signal_result;
-   Edje_States  *source_result;
-   int           r = 0;
-
-   /* under high memory presure, they could be NULL */
-   if (!ppat_source || !ppat_signal) return 0;
-
-   ppat_signal->ref++;
-   ppat_source->ref++;
-   _edje_match_patterns_exec_init_states(ppat_signal->states,
-                                         ppat_signal->patterns_size,
-                                         ppat_signal->max_length);
-   _edje_match_patterns_exec_init_states(ppat_source->states,
-                                         ppat_source->patterns_size,
-                                         ppat_source->max_length);
-
-   signal_result = _edje_match_fn(ppat_signal, sig, ppat_signal->states);
-   source_result = _edje_match_fn(ppat_source, source, ppat_source->states);
-
-   if (signal_result && source_result)
-      r = edje_match_callback_exec_check_finals(ppat_signal,
-                                                ppat_source,
-                                                ppat_signal->finals,
-                                                ppat_source->finals,
-                                                signal_result,
-                                                source_result,
-                                                sig,
-                                                source,
-                                                callbacks,
-                                                ed,
-                                                prop);
-   ppat_signal->ref--;
-   ppat_source->ref--;
-   if (ppat_signal->ref <= 0) edje_match_patterns_free(ppat_signal);
-   if (ppat_source->ref <= 0) edje_match_patterns_free(ppat_source);
-   return r;
-}
-
-void
-edje_match_patterns_free(Edje_Patterns *ppat)
-{
-   if (!ppat) return ;
-
-   ppat->delete_me = EINA_TRUE;
-   ppat->ref--;
-   if (ppat->ref > 0) return;
-   _edje_match_states_free(ppat->states, 2);
-   free(ppat);
-}
-
-void
-_edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp)
-{
-   if (!ssp->signals_patterns)
-     return;
-
-   edje_match_patterns_free(ssp->signals_patterns);
-   edje_match_patterns_free(ssp->sources_patterns);
-   ssp->signals_patterns = NULL;
-   ssp->sources_patterns = NULL;
-}
-
-static Eina_Rbtree_Direction
-_edje_signal_source_node_cmp(const Edje_Signal_Source_Char *n1,
-                            const Edje_Signal_Source_Char *n2,
-                            __UNUSED__ void *data)
-{
-   int cmp;
-
-   cmp = strcmp(n1->signal, n2->signal);
-   if (cmp) return cmp < 0 ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
-
-   return strcmp(n1->source, n2->source) < 0 ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
-}
-
-static int
-_edje_signal_source_key_cmp(const Edje_Signal_Source_Char *node,
-                           const char *sig,
-                           __UNUSED__ int length,
-                           const char *source)
-{
-   int cmp;
-
-   cmp = strcmp(node->signal, sig);
-   if (cmp) return cmp;
-
-   return strcmp(node->source, source);
-}
-
-
-Eina_List *
-edje_match_program_hash_build(Edje_Program * const *programs,
-                             unsigned int count,
-                             Eina_Rbtree **tree)
-{
-   Eina_List *result = NULL;
-   Eina_Rbtree *new = NULL;
-   unsigned int i;
-
-   for (i = 0; i < count; ++i)
-     {
-       if (programs[i]->signal && !strpbrk(programs[i]->signal, "*?[\\")
-           && programs[i]->source && !strpbrk(programs[i]->source, "*?[\\"))
-         {
-            Edje_Signal_Source_Char *item;
-
-            item = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(new, programs[i]->signal, 0,
-                                                                        EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), programs[i]->source);
-            if (!item)
-              {
-                 item = malloc(sizeof (Edje_Signal_Source_Char));
-                 if (!item) continue;
-
-                 item->signal = programs[i]->signal;
-                 item->source = programs[i]->source;
-                 eina_array_step_set(&item->list, sizeof (Eina_Array), 8);
-
-                 new = eina_rbtree_inline_insert(new, EINA_RBTREE_GET(item),
-                                                 EINA_RBTREE_CMP_NODE_CB(_edje_signal_source_node_cmp), NULL);
-              }
-
-            eina_array_push(&item->list, programs[i]);
-         }
-       else
-           result = eina_list_prepend(result, programs[i]);
-     }
-
-   *tree = new;
-   return result;
-}
-
-Eina_List *
-edje_match_callback_hash_build(const Eina_List *callbacks,
-                              Eina_Rbtree **tree)
-{
-   Eina_List *result = NULL;
-   Eina_Rbtree *new = NULL;
-   Edje_Signal_Callback *callback;
-   const Eina_List *l;
-
-   EINA_LIST_FOREACH(callbacks, l, callback)
-     {
-       if (callback->signal && !strpbrk(callback->signal, "*?[\\")
-           && callback->source && !strpbrk(callback->source, "*?[\\"))
-         {
-            Edje_Signal_Source_Char *item;
-
-            item = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(new, callback->signal, 0,
-                                                                        EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), callback->source);
-            if (!item)
-              {
-                 item = malloc(sizeof (Edje_Signal_Source_Char));
-                 if (!item) continue;
-
-                 item->signal = callback->signal;
-                 item->source = callback->source;
-                 eina_array_step_set(&item->list, sizeof (Eina_Array), 8);
-
-                 new = eina_rbtree_inline_insert(new, EINA_RBTREE_GET(item),
-                                                 EINA_RBTREE_CMP_NODE_CB(_edje_signal_source_node_cmp), NULL);
-              }
-
-            eina_array_push(&item->list, callback);
-         }
-       else
-           result = eina_list_prepend(result, callback);
-     }
-
-   *tree = new;
-   return result;
-}
-
-const Eina_Array *
-edje_match_signal_source_hash_get(const char *sig,
-                                 const char *source,
-                                 const Eina_Rbtree *tree)
-{
-   Edje_Signal_Source_Char *lookup;
-
-   lookup = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(tree, sig, 0,
-                                                                EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), source);
-
-   if (lookup) return &lookup->list;
-   return NULL;
-}
-
-void
-edje_match_signal_source_free(Edje_Signal_Source_Char *key, __UNUSED__ void *data)
-{
-   eina_array_flush(&key->list);
-   free(key);
-}
diff --git a/legacy/edje/src/lib/edje_message_queue.c b/legacy/edje/src/lib/edje_message_queue.c
deleted file mode 100644 (file)
index 7e7abbd..0000000
+++ /dev/null
@@ -1,890 +0,0 @@
-#include "edje_private.h"
-
-static void _edje_object_message_popornot_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg, Eina_Bool prop);
-
-static int _injob = 0;
-static Ecore_Job *_job = NULL;
-static Ecore_Timer *_job_loss_timer = NULL;
-
-static Eina_List *msgq = NULL;
-static Eina_List *tmp_msgq = NULL;
-static int tmp_msgq_processing = 0;
-static int tmp_msgq_restart = 0;
-
-/*============================================================================*
- *                                   API                                      *
- *============================================================================*/
-
-static void
-_edje_object_message_popornot_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg, Eina_Bool prop)
-{
-   Edje *ed;
-   Eina_List *l;
-   Evas_Object *o;
-
-   ed = _edje_fetch(obj);
-   if (!ed) return;
-   _edje_message_propornot_send(ed, EDJE_QUEUE_SCRIPT, type, id, msg, prop);
-   EINA_LIST_FOREACH(ed->subobjs, l, o)
-     {
-        _edje_object_message_popornot_send(o, type, id, msg, EINA_TRUE);
-     }
-}
-
-EAPI void
-edje_object_message_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_message_send(type, id, msg));
-}
-
-void
-_message_send(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   Edje_Message_Type type = va_arg(*list, Edje_Message_Type);
-   int id = va_arg(*list, int);
-   void *msg = va_arg(*list, void *);
-   _edje_object_message_popornot_send(obj, type, id, msg, EINA_FALSE);
-}
-
-
-EAPI void
-edje_object_message_handler_set(Evas_Object *obj, Edje_Message_Handler_Cb func, void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_message_handler_set(func, data));
-}
-
-void
-_message_handler_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Edje_Message_Handler_Cb func = va_arg(*list, Edje_Message_Handler_Cb);
-   void *data = va_arg(*list, void *);
-   Edje *ed = _pd;
-   _edje_message_cb_set(ed, func, data);
-}
-
-EAPI void
-edje_object_message_signal_process(Evas_Object *obj)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_message_signal_process());
-}
-
-void
-_message_signal_process(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
-{
-   Eina_List *l, *ln, *tmpq = NULL;
-   Edje *ed;
-   Edje *lookup_ed;
-   Eina_List *lg;
-   Edje_Message *em;
-   Eina_List *groups = NULL;
-   int gotos = 0;
-
-   ed = _pd;
-   if (!ed) return;
-
-   groups = ed->groups;
-
-   EINA_LIST_FOREACH_SAFE(msgq, l, ln, em)
-     {
-        EINA_LIST_FOREACH(groups, lg, lookup_ed)
-          if (em->edje == lookup_ed)
-            {
-               tmpq = eina_list_append(tmpq, em);
-               msgq = eina_list_remove_list(msgq, l);
-               break;
-            }
-     }
-   /* a temporary message queue */
-   if (tmp_msgq)
-     {
-        EINA_LIST_FREE(tmpq, em)
-          tmp_msgq = eina_list_append(tmp_msgq, em);
-     }
-   else
-     {
-       tmp_msgq = tmpq;
-       tmpq = NULL;
-     }
-
-   tmp_msgq_processing++;
-again:
-   EINA_LIST_FOREACH_SAFE(tmp_msgq, l, ln, em)
-     {
-        EINA_LIST_FOREACH(groups, lg, lookup_ed)
-          if (em->edje == lookup_ed)
-            break;
-        if (em->edje != lookup_ed) continue;
-       tmp_msgq = eina_list_remove_list(tmp_msgq, l);
-        if (!lookup_ed->delete_me)
-          {
-             lookup_ed->processing_messages++;
-             _edje_message_process(em);
-             _edje_message_free(em);
-             lookup_ed->processing_messages--;
-          }
-        else
-           _edje_message_free(em);
-        if (lookup_ed->processing_messages == 0)
-          {
-             if (lookup_ed->delete_me) _edje_del(lookup_ed);
-          }
-        // if some child callback in _edje_message_process called
-        // edje_object_message_signal_process() or
-        // edje_message_signal_process() then those will mark the restart
-        // flag when they finish - it mabsicammyt means tmp_msgq and
-        // any item in it has potentially become invalid - so that means l
-        // and ln could be rogue pointers, so start again from the beginning
-        // and skip anything that is not this object and process only what is.
-        // to avoid self-feeding loops allow a max of 1024 loops.
-        if (tmp_msgq_restart)
-          {
-             tmp_msgq_restart = 0;
-             gotos++;
-             if (gotos < 1024) goto again;
-             else
-               {
-                  WRN("Edje is in a self-feeding message loop (> 1024 gotos needed in a row)");
-                  goto end;
-               }
-          }
-     }
-end:
-   tmp_msgq_processing--;
-   if (tmp_msgq_processing == 0)
-      tmp_msgq_restart = 0;
-   else
-      tmp_msgq_restart = 1;
-}
-
-EAPI void
-edje_message_signal_process(void)
-{
-   _edje_message_queue_process();
-}
-
-
-static Eina_Bool
-_edje_dummy_timer(void *data __UNUSED__)
-{
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_edje_job(void *data __UNUSED__)
-{
-   if (_job_loss_timer)
-     {
-       ecore_timer_del(_job_loss_timer);
-       _job_loss_timer = NULL;
-     }
-   _job = NULL;
-   _injob++;
-   _edje_message_queue_process();
-   _injob--;
-}
-
-static Eina_Bool
-_edje_job_loss_timer(void *data __UNUSED__)
-{
-   _job_loss_timer = NULL;
-   if (!_job)
-     {
-        _job = ecore_job_add(_edje_job, NULL);
-     }
-   return ECORE_CALLBACK_CANCEL;
-}
-
-void
-_edje_message_init(void)
-{
-}
-
-void
-_edje_message_shutdown(void)
-{
-   _edje_message_queue_clear();
-   if (_job_loss_timer)
-     {
-        ecore_timer_del(_job_loss_timer);
-        _job_loss_timer = NULL;
-     }
-   if (_job)
-     {
-        ecore_job_del(_job);
-        _job = NULL;
-     }
-}
-
-void
-_edje_message_cb_set(Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data)
-{
-   Eina_List *l;
-   Evas_Object *o;
-
-   ed->message.func = func;
-   ed->message.data = data;
-   EINA_LIST_FOREACH(ed->subobjs, l, o)
-     {
-        Edje *edj2 = _edje_fetch(o);
-        if (!edj2) continue;
-        _edje_message_cb_set(edj2, func, data);
-     }
-}
-
-Edje_Message *
-_edje_message_new(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id)
-{
-   Edje_Message *em;
-
-   em = calloc(1, sizeof(Edje_Message));
-   if (!em) return NULL;
-   em->edje = ed;
-   em->queue = queue;
-   em->type = type;
-   em->id = id;
-   em->edje->message.num++;
-   return em;
-}
-
-void
-_edje_message_free(Edje_Message *em)
-{
-   if (em->msg)
-     {
-       int i;
-
-       switch (em->type)
-         {
-          case EDJE_MESSAGE_STRING:
-              {
-                 Edje_Message_String *emsg;
-
-                 emsg = (Edje_Message_String *)em->msg;
-                 free(emsg->str);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_INT:
-              {
-                 Edje_Message_Int *emsg;
-
-                 emsg = (Edje_Message_Int *)em->msg;
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_FLOAT:
-              {
-                 Edje_Message_Float *emsg;
-
-                 emsg = (Edje_Message_Float *)em->msg;
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_INT_SET:
-              {
-                 Edje_Message_Int_Set *emsg;
-
-                 emsg = (Edje_Message_Int_Set *)em->msg;
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_FLOAT_SET:
-              {
-                 Edje_Message_Float_Set *emsg;
-
-                 emsg = (Edje_Message_Float_Set *)em->msg;
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_STRING_FLOAT:
-              {
-                 Edje_Message_String_Float *emsg;
-
-                 emsg = (Edje_Message_String_Float *)em->msg;
-                 free(emsg->str);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_STRING_INT:
-              {
-                 Edje_Message_String_Int *emsg;
-
-                 emsg = (Edje_Message_String_Int *)em->msg;
-                 free(emsg->str);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_STRING_FLOAT_SET:
-              {
-                 Edje_Message_String_Float_Set *emsg;
-
-                 emsg = (Edje_Message_String_Float_Set *)em->msg;
-                 free(emsg->str);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_STRING_INT_SET:
-              {
-                 Edje_Message_String_Int_Set *emsg;
-
-                 emsg = (Edje_Message_String_Int_Set *)em->msg;
-                 free(emsg->str);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_SIGNAL:
-              {
-                 Edje_Message_Signal *emsg;
-
-                 emsg = (Edje_Message_Signal *)em->msg;
-                 if (emsg->sig) eina_stringshare_del(emsg->sig);
-                 if (emsg->src) eina_stringshare_del(emsg->src);
-                  if (emsg->data && (--(emsg->data->ref) == 0))
-                    {
-                       if (emsg->data->free_func)
-                         {
-                            emsg->data->free_func(emsg->data->data);
-                         }
-                       free(emsg->data);
-                    }
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_STRING_SET:
-              {
-                 Edje_Message_String_Set *emsg;
-
-                 emsg = (Edje_Message_String_Set *)em->msg;
-                 for (i = 0; i < emsg->count; i++)
-                   free(emsg->str[i]);
-                 free(emsg);
-              }
-            break;
-          case EDJE_MESSAGE_NONE:
-          default:
-            break;
-         }
-     }
-   free(em);
-}
-
-void
-_edje_message_propornot_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg, Eina_Bool prop)
-{
-   /* FIXME: check all malloc & strdup fails and gracefully unroll and exit */
-   Edje_Message *em;
-   int i;
-   unsigned char *msg = NULL;
-
-   em = _edje_message_new(ed, queue, type, id);
-   if (!em) return;
-   em->propagated = prop;
-   if (_job)
-     {
-        ecore_job_del(_job);
-        _job = NULL;
-     }
-   if (_injob > 0)
-     {
-        if (!_job_loss_timer)
-          _job_loss_timer = ecore_timer_add(0.001, _edje_job_loss_timer, NULL);
-     }
-   else
-     {
-        if (!_job)
-          {
-             _job = ecore_job_add(_edje_job, NULL);
-          }
-        if (_job_loss_timer)
-          {
-             ecore_timer_del(_job_loss_timer);
-             _job_loss_timer = NULL;
-          }
-     }
-   switch (em->type)
-     {
-      case EDJE_MESSAGE_NONE:
-       break;
-      case EDJE_MESSAGE_SIGNAL:
-         {
-            Edje_Message_Signal *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_Signal *)emsg;
-            emsg3 = calloc(1, sizeof(Edje_Message_Signal));
-            if (emsg2->sig) emsg3->sig = eina_stringshare_add(emsg2->sig);
-            if (emsg2->src) emsg3->src = eina_stringshare_add(emsg2->src);
-            if (emsg2->data)
-               {
-                  emsg3->data = emsg2->data;
-                  emsg3->data->ref++;
-               }
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING:
-         {
-            Edje_Message_String *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String *)emsg;
-
-            emsg3 = malloc(sizeof(Edje_Message_String));
-            emsg3->str = strdup(emsg2->str);
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_INT:
-         {
-            Edje_Message_Int *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_Int *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_Int));
-            emsg3->val = emsg2->val;
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT:
-         {
-            Edje_Message_Float *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_Float *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_Float));
-            emsg3->val = emsg2->val;
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING_SET:
-         {
-            Edje_Message_String_Set *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String_Set *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_String_Set) + ((emsg2->count - 1) * sizeof(char *)));
-            emsg3->count = emsg2->count;
-            for (i = 0; i < emsg3->count; i++)
-              emsg3->str[i] = strdup(emsg2->str[i]);
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_INT_SET:
-         {
-            Edje_Message_Int_Set *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_Int_Set *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_Int_Set) + ((emsg2->count - 1) * sizeof(int)));
-            emsg3->count = emsg2->count;
-            for (i = 0; i < emsg3->count; i++)
-              emsg3->val[i] = emsg2->val[i];
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT_SET:
-         {
-            Edje_Message_Float_Set *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_Float_Set *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_Float_Set) + ((emsg2->count - 1) * sizeof(double)));
-            emsg3->count = emsg2->count;
-            for (i = 0; i < emsg3->count; i++)
-              emsg3->val[i] = emsg2->val[i];
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT:
-         {
-            Edje_Message_String_Int *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String_Int *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_String_Int));
-            emsg3->str = strdup(emsg2->str);
-            emsg3->val = emsg2->val;
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT:
-         {
-            Edje_Message_String_Float *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String_Float *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_String_Float));
-            emsg3->str = strdup(emsg2->str);
-            emsg3->val = emsg2->val;
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT_SET:
-         {
-            Edje_Message_String_Int_Set *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String_Int_Set *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_String_Int_Set) + ((emsg2->count - 1) * sizeof(int)));
-            emsg3->str = strdup(emsg2->str);
-            emsg3->count = emsg2->count;
-            for (i = 0; i < emsg3->count; i++)
-              emsg3->val[i] = emsg2->val[i];
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT_SET:
-         {
-            Edje_Message_String_Float_Set *emsg2, *emsg3;
-
-            emsg2 = (Edje_Message_String_Float_Set *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_String_Float_Set) + ((emsg2->count - 1) * sizeof(double)));
-            emsg3->str = strdup(emsg2->str);
-            emsg3->count = emsg2->count;
-            for (i = 0; i < emsg3->count; i++)
-              emsg3->val[i] = emsg2->val[i];
-            msg = (unsigned char *)emsg3;
-         }
-       break;
-      default:
-       break;
-     }
-
-   em->msg = msg;
-   msgq = eina_list_append(msgq, em);
-}
-
-void
-_edje_message_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg)
-{
-   _edje_message_propornot_send(ed, queue, type, id, emsg, EINA_FALSE);
-}
-
-void
-_edje_message_parameters_push(Edje_Message *em)
-{
-   int i;
-   
-   /* these params ALWAYS go on */
-   /* first param is the message type - always */
-   embryo_parameter_cell_push(em->edje->collection->script,
-                             (Embryo_Cell)em->type);
-   /* 2nd param is the integer of the event id - always there */
-   embryo_parameter_cell_push(em->edje->collection->script,
-                             (Embryo_Cell)em->id);
-   /* the rest is varags of whatever is in the msg */
-   switch (em->type)
-     {
-      case EDJE_MESSAGE_NONE:
-       break;
-      case EDJE_MESSAGE_STRING:
-       embryo_parameter_string_push(em->edje->collection->script,
-                                    ((Edje_Message_String *)em->msg)->str);
-       break;
-      case EDJE_MESSAGE_INT:
-         {
-            Embryo_Cell v;
-
-            v = (Embryo_Cell)((Edje_Message_Int *)em->msg)->val;
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT:
-         {
-            Embryo_Cell v;
-            float fv;
-
-            fv = ((Edje_Message_Float *)em->msg)->val;
-            v = EMBRYO_FLOAT_TO_CELL(fv);
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_SET:
-       for (i = 0; i < ((Edje_Message_String_Set *)em->msg)->count; i++)
-         embryo_parameter_string_push(em->edje->collection->script,
-                                      ((Edje_Message_String_Set *)em->msg)->str[i]);
-       break;
-      case EDJE_MESSAGE_INT_SET:
-       for (i = 0; i < ((Edje_Message_Int_Set *)em->msg)->count; i++)
-         {
-            Embryo_Cell v;
-
-            v = (Embryo_Cell)((Edje_Message_Int_Set *)em->msg)->val[i];
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_FLOAT_SET:
-       for (i = 0; i < ((Edje_Message_Float_Set *)em->msg)->count; i++)
-         {
-            Embryo_Cell v;
-            float fv;
-
-            fv = ((Edje_Message_Float_Set *)em->msg)->val[i];
-            v = EMBRYO_FLOAT_TO_CELL(fv);
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT:
-       embryo_parameter_string_push(em->edje->collection->script,
-                                    ((Edje_Message_String_Int *)em->msg)->str);
-         {
-            Embryo_Cell v;
-
-            v = (Embryo_Cell)((Edje_Message_String_Int *)em->msg)->val;
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT:
-       embryo_parameter_string_push(em->edje->collection->script,
-                                    ((Edje_Message_String_Float *)em->msg)->str);
-         {
-            Embryo_Cell v;
-            float fv;
-
-            fv = ((Edje_Message_String_Float *)em->msg)->val;
-            v = EMBRYO_FLOAT_TO_CELL(fv);
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_INT_SET:
-       embryo_parameter_string_push(em->edje->collection->script,
-                                    ((Edje_Message_String_Int_Set *)em->msg)->str);
-       for (i = 0; i < ((Edje_Message_String_Int_Set *)em->msg)->count; i++)
-         {
-            Embryo_Cell v;
-
-            v = (Embryo_Cell)((Edje_Message_String_Int_Set *)em->msg)->val[i];
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      case EDJE_MESSAGE_STRING_FLOAT_SET:
-       embryo_parameter_string_push(em->edje->collection->script,
-                                    ((Edje_Message_String_Float_Set *)em->msg)->str);
-       for (i = 0; i < ((Edje_Message_String_Float_Set *)em->msg)->count; i++)
-         {
-            Embryo_Cell v;
-            float fv;
-
-            fv = ((Edje_Message_String_Float_Set *)em->msg)->val[i];
-            v = EMBRYO_FLOAT_TO_CELL(fv);
-            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
-         }
-       break;
-      default:
-       break;
-     }
-}
-
-void
-_edje_message_process(Edje_Message *em)
-{
-   Embryo_Function fn;
-   void *pdata;
-   int ret;
-   
-   /* signals are only handled one way */
-   if (em->type == EDJE_MESSAGE_SIGNAL)
-     {
-       _edje_emit_handle(em->edje,
-                         ((Edje_Message_Signal *)em->msg)->sig,
-                         ((Edje_Message_Signal *)em->msg)->src,
-                         ((Edje_Message_Signal *)em->msg)->data,
-                         em->propagated);
-       return;
-     }
-   /* if this has been queued up for the app then just call the callback */
-   if (em->queue == EDJE_QUEUE_APP)
-     {
-       if (em->edje->message.func)
-         em->edje->message.func(em->edje->message.data, em->edje->obj,
-                                em->type, em->id, em->msg);
-       return;
-     }
-   /* now this message is destined for the script message handler fn */
-   if (!(em->edje->collection)) return;
-   if ((em->edje->collection->script) && _edje_script_only (em->edje))
-     {
-       _edje_script_only_message(em->edje, em);
-       return;
-     }
-   if (em->edje->L)
-     {
-       _edje_lua_script_only_message(em->edje, em);
-       return;
-     }
-   fn = embryo_program_function_find(em->edje->collection->script, "message");
-   if (fn == EMBRYO_FUNCTION_NONE) return;
-   /* reset the engine */
-   _edje_embryo_script_reset(em->edje);
-   
-   _edje_message_parameters_push(em);
-   
-   embryo_program_vm_push(em->edje->collection->script);
-   _edje_embryo_globals_init(em->edje);
-   pdata = embryo_program_data_get(em->edje->collection->script);
-   embryo_program_data_set(em->edje->collection->script, em->edje);
-   embryo_program_max_cycle_run_set(em->edje->collection->script, 5000000);
-   ret = embryo_program_run(em->edje->collection->script, fn);
-   if (ret == EMBRYO_PROGRAM_FAIL)
-     {
-        ERR("ERROR with embryo script. "
-            "OBJECT NAME: '%s', "
-            "OBJECT FILE: '%s', "
-            "ENTRY POINT: '%s', "
-            "ERROR: '%s'",
-            em->edje->collection->part,
-            em->edje->file->path,
-            "message",
-            embryo_error_string_get(embryo_program_error_get(em->edje->collection->script)));
-     }
-   else if (ret == EMBRYO_PROGRAM_TOOLONG)
-     {
-        ERR("ERROR with embryo script. "
-            "OBJECT NAME: '%s', "
-            "OBJECT FILE: '%s', "
-            "ENTRY POINT: '%s', "
-            "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
-            em->edje->collection->part,
-            em->edje->file->path,
-            "message",
-            embryo_program_max_cycle_run_get(em->edje->collection->script));
-     }
-   
-   embryo_program_data_set(em->edje->collection->script, pdata);
-   embryo_program_vm_pop(em->edje->collection->script);
-}
-
-void
-_edje_message_queue_process(void)
-{
-   int i;
-
-   if (!msgq) return;
-
-   /* allow the message queue to feed itself up to 8 times before forcing */
-   /* us to go back to normal processing and let a 0 timeout deal with it */
-   for (i = 0; (i < 8) && (msgq); i++)
-     {
-       /* a temporary message queue */
-       if (tmp_msgq)
-         {
-            while (msgq)
-              {
-                 tmp_msgq = eina_list_append(tmp_msgq, msgq->data);
-                 msgq = eina_list_remove_list(msgq, msgq);
-              }
-         }
-       else
-         {
-            tmp_msgq = msgq;
-            msgq = NULL;
-         }
-
-        tmp_msgq_processing++;
-       while (tmp_msgq)
-         {
-            Edje_Message *em;
-            Edje *ed;
-
-            em = tmp_msgq->data;
-            ed = em->edje;
-            tmp_msgq = eina_list_remove_list(tmp_msgq, tmp_msgq);
-            em->edje->message.num--;
-            if (!ed->delete_me)
-              {
-                 ed->processing_messages++;
-                 _edje_message_process(em);
-                 _edje_message_free(em);
-                 ed->processing_messages--;
-              }
-            else
-              _edje_message_free(em);
-            if (ed->processing_messages == 0)
-              {
-                 if (ed->delete_me) _edje_del(ed);
-              }
-         }
-        tmp_msgq_processing--;
-        if (tmp_msgq_processing == 0)
-           tmp_msgq_restart = 0;
-        else
-           tmp_msgq_restart = 1;
-     }
-
-   /* if the message queue filled again set a timer to expire in 0.0 sec */
-   /* to get the idle enterer to be run again */
-   if (msgq)
-     {
-        static int self_feed_debug = -1;
-        
-        if (self_feed_debug == -1)
-          {
-             const char *s = getenv("EDJE_SELF_FEED_DEBUG");
-             if (s) self_feed_debug = atoi(s);
-             else self_feed_debug = 0;
-          }
-        if (self_feed_debug)
-          {
-             WRN("Edje is in a self-feeding message loop (> 8 loops needed)");
-          }
-       ecore_timer_add(0.0, _edje_dummy_timer, NULL);
-     }
-}
-
-void
-_edje_message_queue_clear(void)
-{
-   while (msgq)
-     {
-       Edje_Message *em;
-
-       em = msgq->data;
-       msgq = eina_list_remove_list(msgq, msgq);
-       em->edje->message.num--;
-       _edje_message_free(em);
-     }
-   while (tmp_msgq)
-     {
-       Edje_Message *em;
-
-       em = tmp_msgq->data;
-       tmp_msgq = eina_list_remove_list(tmp_msgq, tmp_msgq);
-       em->edje->message.num--;
-       _edje_message_free(em);
-     }
-}
-
-void
-_edje_message_del(Edje *ed)
-{
-   Eina_List *l;
-
-   if (ed->message.num <= 0) return;
-   /* delete any messages on the main queue for this edje object */
-   for (l = msgq; l; )
-     {
-       Edje_Message *em;
-       Eina_List *lp;
-
-       em = eina_list_data_get(l);
-       lp = l;
-       l = eina_list_next(l);
-       if (em->edje == ed)
-         {
-            msgq = eina_list_remove_list(msgq, lp);
-            em->edje->message.num--;
-            _edje_message_free(em);
-         }
-       if (ed->message.num <= 0) return;
-     }
-   /* delete any on the processing queue */
-   for (l = tmp_msgq; l; )
-     {
-       Edje_Message *em;
-       Eina_List *lp;
-
-       em = eina_list_data_get(l);
-       lp = l;
-       l = eina_list_next(l);
-       if (em->edje == ed)
-         {
-            tmp_msgq = eina_list_remove_list(tmp_msgq, lp);
-            em->edje->message.num--;
-            _edje_message_free(em);
-         }
-       if (ed->message.num <= 0) return;
-     }
-}
diff --git a/legacy/edje/src/lib/edje_misc.c b/legacy/edje/src/lib/edje_misc.c
deleted file mode 100644 (file)
index 32a4dd1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "edje_private.h"
diff --git a/legacy/edje/src/lib/edje_module.c b/legacy/edje/src/lib/edje_module.c
deleted file mode 100644 (file)
index 358295b..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#include "edje_private.h"
-
-Eina_Hash *_registered_modules = NULL;
-Eina_List *_modules_paths = NULL;
-
-Eina_List *_modules_found = NULL;
-
-#if defined(__CEGCC__) || defined(__MINGW32CE__)
-# define EDJE_MODULE_NAME "edje_%s.dll"
-# define EDJE_EXTRA_MODULE_NAME 1
-#elif _WIN32
-# define EDJE_MODULE_NAME "module.dll"
-#else
-# define EDJE_MODULE_NAME "module.so"
-#endif
-
-EAPI Eina_Bool
-edje_module_load(const char *module)
-{
-   if (_edje_module_handle_load(module)) return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-Eina_Module *
-_edje_module_handle_load(const char *module)
-{
-   const char *path;
-   Eina_List *l;
-   Eina_Module *em = NULL;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(module, NULL);
-
-   em =  (Eina_Module *)eina_hash_find(_registered_modules, module);
-   if (em) return em;
-
-   EINA_LIST_FOREACH(_modules_paths, l, path)
-     {
-        char tmp[PATH_MAX];
-
-        snprintf(tmp, sizeof (tmp), "%s/%s/%s/" EDJE_MODULE_NAME, path, module, MODULE_ARCH
-#ifdef EDJE_EXTRA_MODULE_NAME
-                 , module
-#endif
-                );
-        em = eina_module_new(tmp);
-        if (!em) continue;
-
-        if (!eina_module_load(em))
-          {
-             eina_module_free(em);
-             continue;
-          }
-        if (eina_hash_add(_registered_modules, module, em))
-          return em;
-     }
-
-   return NULL;
-}
-
-void
-_edje_module_init(void)
-{
-   char *paths[4] = { NULL, NULL, NULL, NULL };
-   unsigned int i;
-   unsigned int j;
-
-   _registered_modules = eina_hash_string_small_new(EINA_FREE_CB(eina_module_free));
-
-   /* 1. ~/.edje/modules/ */
-   paths[0] = eina_module_environment_path_get("HOME", "/.edje/modules");
-   /* 2. $(EDJE_MODULE_DIR)/edje/modules/ */
-   paths[1] = eina_module_environment_path_get("EDJE_MODULES_DIR", "/edje/modules");
-   /* 3. libedje.so/../edje/modules/ */
-   paths[2] = eina_module_symbol_path_get(_edje_module_init, "/edje/modules");
-   /* 4. PREFIX/edje/modules/ */
-#ifndef _MSC_VER
-   paths[3] = strdup(PACKAGE_LIB_DIR "/edje/modules");
-#endif
-
-   for (j = 0; j < ((sizeof (paths) / sizeof (char*)) - 1); ++j)
-     for (i = j + 1; i < sizeof (paths) / sizeof (char*); ++i)
-       if (paths[i] && paths[j] && !strcmp(paths[i], paths[j]))
-        {
-           free(paths[i]);
-           paths[i] = NULL;
-        }
-
-   for (i = 0; i < sizeof (paths) / sizeof (char*); ++i)
-     if (paths[i])
-       _modules_paths = eina_list_append(_modules_paths, paths[i]);
-}
-
-void
-_edje_module_shutdown(void)
-{
-   char *path;
-
-   if (_registered_modules)
-     {
-       eina_hash_free(_registered_modules);
-       _registered_modules = NULL;
-     }
-
-   EINA_LIST_FREE(_modules_paths, path)
-     free(path);
-
-   EINA_LIST_FREE(_modules_found, path)
-     eina_stringshare_del(path);
-}
-
-EAPI const Eina_List *
-edje_available_modules_get(void)
-{
-   Eina_File_Direct_Info *info;
-   Eina_Iterator *it;
-   Eina_List *l;
-   const char *path;
-   Eina_List *result = NULL;
-
-   /* FIXME: Stat each possible dir and check if they did change, before starting a huge round of readdir/stat */
-   if (_modules_found)
-     {
-       EINA_LIST_FREE(_modules_found, path)
-         eina_stringshare_del(path);
-     }
-
-   EINA_LIST_FOREACH(_modules_paths, l, path)
-     {
-       it = eina_file_direct_ls(path);
-
-       if (it)
-         {
-            EINA_ITERATOR_FOREACH(it, info)
-              {
-                 char tmp[PATH_MAX];
-
-                 snprintf(tmp, sizeof (tmp), "%s/%s/" EDJE_MODULE_NAME, info->path, MODULE_ARCH
-#ifdef EDJE_EXTRA_MODULE_NAME
-                           , info->path + info->name_start
-#endif
-                           );
-
-                 if (ecore_file_exists(tmp))
-                   result = eina_list_append(result, eina_stringshare_add(info->path + info->name_start));
-              }
-
-            eina_iterator_free(it);
-         }
-     }
-
-   _modules_found = result;
-
-   return result;
-}
diff --git a/legacy/edje/src/lib/edje_multisense.c b/legacy/edje/src/lib/edje_multisense.c
deleted file mode 100644 (file)
index 4c6fa14..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-#include "edje_private.h"
-
-typedef struct _Multisense_Data
-{
-   Edje_Multisense_Env *msenv;
-#ifdef HAVE_LIBREMIX
-   RemixDeck *deck;
-   RemixTrack *track;
-   RemixLayer *snd_layer, *player_layer;
-   RemixBase *player;
-   RemixBase *player_snd;
-   int remaining;
-   int offset;
-   Eina_List *snd_src_list;
-
-   MULTISENSE_SOUND_PLAYER_GET_FUNC multisense_sound_player_get;
-#endif
-}Multisense_Data;
-
-#define BUF_LEN 64
-#define SND_PROCESS_LENGTH 2048
-
-#ifdef HAVE_LIBREMIX
-static Ecore_Thread *player_thread = NULL;
-static int command_pipe[2];
-static Eina_Bool pipe_initialized = EINA_FALSE;
-#endif
-
-typedef enum _Edje_Sound_Action_Type
-{
-   EDJE_PLAY_SAMPLE = 0,
-   EDJE_PLAY_TONE,
-   /*
-   EDJE_PLAY_PATTERN,
-   EDJE_PLAY_INSTRUMENT,
-   EDJE_PLAY_SONG,
-   */
-   EDJE_SOUND_LAST
-} Edje_Sound_Action_Type;
-
-typedef struct _Edje_Sample_Action Edje_Sample_Action;
-typedef struct _Edje_Tone_Action Edje_Tone_Action;
-typedef struct _Edje_Multisense_Sound_Action Edje_Multisense_Sound_Action;
-
-struct _Edje_Sample_Action
-{
-   char sample_name[BUF_LEN];
-   double speed;
-};
-
-struct _Edje_Tone_Action
-{
-   char tone_name[BUF_LEN];
-   double duration;
-};
-
-struct _Edje_Multisense_Sound_Action
-{
-   Edje *ed;
-   Edje_Sound_Action_Type action;
-   union {
-      Edje_Sample_Action sample;
-      Edje_Tone_Action tone;
-   } type;
-};
-
-#ifdef HAVE_LIBREMIX
-static Multisense_Data *
-init_multisense_environment(void)
-{
-   Multisense_Data *msdata;
-   char ms_factory[BUF_LEN];
-   char *ms_factory_env;
-   Eina_Module *m = NULL;
-   MULTISENSE_FACTORY_INIT_FUNC multisense_factory_init;
-
-   msdata = calloc(1, sizeof(Multisense_Data));
-   if (!msdata) goto err;
-
-   msdata->msenv = calloc(1, sizeof(Edje_Multisense_Env));
-   if (!msdata->msenv) goto err;
-
-   ms_factory_env = getenv("MULTISENSE_FACTORY");
-   if (ms_factory_env)
-     strncpy(ms_factory, ms_factory_env, BUF_LEN);
-   else
-     strcpy(ms_factory, "multisense_factory");
-
-   m = _edje_module_handle_load(ms_factory);
-   if (!m) goto err;
-
-   msdata->msenv->remixenv = remix_init();
-
-   multisense_factory_init =
-     eina_module_symbol_get(m, "multisense_factory_init");
-   if (multisense_factory_init) multisense_factory_init(msdata->msenv);
-
-   msdata->multisense_sound_player_get =
-     eina_module_symbol_get(m, "multisense_sound_player_get");
-   if (!msdata->multisense_sound_player_get) goto err;
-
-   msdata->deck = remix_deck_new(msdata->msenv->remixenv);
-   msdata->track = remix_track_new(msdata->msenv->remixenv, msdata->deck);
-   msdata->snd_layer = remix_layer_new_ontop(msdata->msenv->remixenv,
-                                             msdata->track,
-                                             REMIX_TIME_SAMPLES);
-   msdata->player_layer = remix_layer_new_ontop(msdata->msenv->remixenv,
-                                                msdata->track,
-                                                REMIX_TIME_SAMPLES);
-   msdata->player = msdata->multisense_sound_player_get(msdata->msenv);
-   if (!msdata->player) goto err;
-   msdata->player_snd = remix_sound_new(msdata->msenv->remixenv,
-                                        msdata->player, msdata->player_layer,
-                                        REMIX_SAMPLES(0),
-                                        REMIX_SAMPLES(REMIX_COUNT_INFINITE));
-   return msdata;
-
-err:
-   if (msdata)
-     {
-        if (msdata->deck) remix_destroy(msdata->msenv->remixenv, msdata->deck);
-        if (msdata->msenv->remixenv) remix_purge(msdata->msenv->remixenv);
-        if (msdata->msenv) free(msdata->msenv);
-        free(msdata);
-     }
-   return NULL;
-}
-#endif
-
-#ifdef HAVE_LIBREMIX
-static RemixBase *
-eet_sound_reader_get(Edje_Multisense_Env *msenv, const char *path, const char *sound_id, const double speed)
-{
-   RemixPlugin *sf_plugin = NULL;
-   RemixBase * eet_snd_reader = NULL;
-   int sf_path_key = 0;
-   int sf_sound_id_key = 0;
-   int sf_speed_key = 0;
-   CDSet *sf_parms = NULL;
-   RemixEnv *env = msenv->remixenv;
-
-   if (sf_plugin == NULL)
-     {
-        sf_plugin = remix_find_plugin(env, "eet_sndfile_reader");
-        if (sf_plugin == NULL)
-          {
-             ERR ("Multisense EET Sound reader plugin NULL\n");
-             return NULL;
-          }
-
-        sf_path_key = remix_get_init_parameter_key(env, sf_plugin, "path");
-        sf_sound_id_key = remix_get_init_parameter_key(env, sf_plugin, "sound_id");
-        sf_speed_key = remix_get_init_parameter_key(env, sf_plugin, "speed");
-     }
-   sf_parms = cd_set_replace(env, sf_parms, sf_path_key, CD_STRING(path));
-   sf_parms = cd_set_replace(env, sf_parms, sf_sound_id_key, CD_STRING(sound_id));
-   sf_parms = cd_set_replace(env, sf_parms, sf_speed_key, CD_DOUBLE(speed));
-   eet_snd_reader = remix_new(env, sf_plugin, sf_parms);
-
-   return eet_snd_reader;
-}
-
-
-static RemixBase *
-edje_remix_sample_create(Multisense_Data *msdata, Edje*ed, Edje_Sample_Action *action)
-{
-   RemixBase *remix_snd = NULL;
-   Edje_Sound_Sample *sample;
-   int i;
-   char snd_id_str[16];
-
-   if ((!ed) || (!ed->file) || (!ed->file->sound_dir))
-     return NULL;
-
-   for (i = 0; i < (int)ed->file->sound_dir->samples_count; i++)
-     {
-        sample = &ed->file->sound_dir->samples[i];
-        if (!strcmp(sample->name, action->sample_name))
-          {
-             snprintf(snd_id_str, sizeof(snd_id_str), "edje/sounds/%i", sample->id);
-             remix_snd = eet_sound_reader_get(msdata->msenv, ed->file->path,
-                                              snd_id_str, action->speed);
-             break;
-          }
-     }
-   return remix_snd;
-}
-
-static RemixBase *
-edje_remix_tone_create(Multisense_Data *msdata, Edje*ed, Edje_Tone_Action *action)
-{
-   Edje_Sound_Tone *tone;
-   RemixSquareTone *square = NULL;
-   unsigned int i;
-
-   if ((!ed) || (!ed->file) || (!ed->file->sound_dir))
-     return NULL;
-
-   for (i = 0; i < ed->file->sound_dir->tones_count; i++)
-     {
-        tone = &ed->file->sound_dir->tones[i];
-        if (!strcmp(tone->name, action->tone_name))
-          {
-             square = remix_squaretone_new (msdata->msenv->remixenv, tone->value);
-             break;
-          }
-     }
-   return square;
-}
-
-static void
-sound_command_handler(Multisense_Data *msdata)
-{
-   RemixCount length;
-   Edje_Multisense_Sound_Action command;
-   RemixBase *base = NULL;
-   RemixBase *sound;
-
-   if (read(command_pipe[0], &command, sizeof(command)) <= 0) return;
-   switch (command.action)
-     {
-      case EDJE_PLAY_SAMPLE:
-        base = edje_remix_sample_create(msdata, command.ed,
-                                        &command.type.sample);
-        length = remix_length(msdata->msenv->remixenv, base);
-        break;
-      case EDJE_PLAY_TONE:
-        base = edje_remix_tone_create(msdata, command.ed, &command.type.tone);
-        length = (command.type.tone.duration *
-                              remix_get_samplerate(msdata->msenv->remixenv));
-        break;
-      default:
-        ERR("Invalid Sound Play Command\n");
-        break;
-     }
-   if (base)
-     {
-        sound = remix_sound_new(msdata->msenv->remixenv, base, msdata->snd_layer,
-                                REMIX_SAMPLES(msdata->offset),
-                                REMIX_SAMPLES(length));
-        if (msdata->remaining < length) msdata->remaining = length;
-        msdata->snd_src_list = eina_list_append(msdata->snd_src_list, sound);
-        msdata->snd_src_list = eina_list_append(msdata->snd_src_list, base);
-     }
-}
-#endif
-
-#ifdef HAVE_LIBREMIX
-// msdata outside of thread due to thread issues in dlsym etc.
-static Multisense_Data *msdata = NULL;
-
-static void
-_msdata_free(void)
-{
-   // cleanup msdata outside of thread due to thread issues in dlsym etc.
-   if (!msdata) return;
-   //cleanup Remix stuffs
-   remix_destroy(msdata->msenv->remixenv, msdata->player);
-   remix_destroy(msdata->msenv->remixenv, msdata->deck);
-   remix_purge(msdata->msenv->remixenv);
-
-   free(msdata->msenv);
-   free(msdata);
-   msdata = NULL;
-}
-
-static void
-_player_job(void *data __UNUSED__, Ecore_Thread *th)
-{
-   fd_set wait_fds;
-   RemixBase *sound;
-   RemixCount process_len;
-// disable and move outside of thread due to dlsym etc. thread issues
-//   Multisense_Data * msdata = init_multisense_environment();
-
-   if (!msdata) return;
-
-   fcntl(command_pipe[0], F_SETFL, O_NONBLOCK);
-   FD_ZERO(&wait_fds);
-   FD_SET(command_pipe[0], &wait_fds);
-
-   while (!ecore_thread_check(th))
-     {
-        if (!msdata->remaining)
-          {
-            int err;
-             
-            //Cleanup already played sound sources
-             EINA_LIST_FREE(msdata->snd_src_list, sound)
-               {
-                  remix_destroy(msdata->msenv->remixenv, sound);
-               }
-             //wait for new sound
-             err = select(command_pipe[0] + 1, &wait_fds, NULL, NULL, 0);
-            if (ecore_thread_check(th))
-              break;
-          }
-        //read sound command , if any
-        sound_command_handler(msdata);
-        process_len = MIN(msdata->remaining, SND_PROCESS_LENGTH);
-        remix_process(msdata->msenv->remixenv, msdata->deck, process_len,
-                      RemixNone, RemixNone);
-        msdata->offset += process_len;
-        msdata->remaining -= process_len;
-     }
-
-   //Cleanup last played sound sources
-   EINA_LIST_FREE(msdata->snd_src_list, sound)
-     {
-        remix_destroy(msdata->msenv->remixenv, sound);
-     }
-}
-#endif
-
-#ifdef HAVE_LIBREMIX
-static void
-_player_cancel(void *data __UNUSED__, Ecore_Thread *th __UNUSED__)
-{
-   // cleanup msdata outside of thread due to thread issues in dlsym etc.
-   _msdata_free();
-   player_thread = NULL;
-}
-#endif
-
-#ifdef HAVE_LIBREMIX
-static void
-_player_end(void *data __UNUSED__, Ecore_Thread *th __UNUSED__)
-{
-   // cleanup msdata outside of thread due to thread issues in dlsym etc.
-   _msdata_free();
-   player_thread = NULL;
-}
-#endif
-
-Eina_Bool
-_edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed)
-{
-   ssize_t size = 0;
-#ifdef ENABLE_MULTISENSE
-   Edje_Multisense_Sound_Action command;
-
-   if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
-   if (!sample_name)
-     {
-        ERR("Given Sample Name is NULL\n");
-        return EINA_FALSE;
-     }
-
-   command.action = EDJE_PLAY_SAMPLE;
-   command.ed = ed;
-   strncpy(command.type.sample.sample_name, sample_name, BUF_LEN);
-   command.type.sample.speed = speed;
-   size = write(command_pipe[1], &command, sizeof(command));
-#else
-   // warning shh
-   (void) ed;
-   (void) sample_name;
-   (void) speed;
-#endif
-   return (size == sizeof(Edje_Multisense_Sound_Action));
-}
-
-Eina_Bool
-_edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration)
-{
-   ssize_t size = 0;
-#ifdef ENABLE_MULTISENSE
-   Edje_Multisense_Sound_Action command;
-
-   if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
-   if (!tone_name)
-     {
-        ERR("Given Tone Name is NULL\n");
-        return EINA_FALSE;
-     }
-
-   command.action = EDJE_PLAY_TONE;
-   command.ed = ed;
-   strncpy(command.type.tone.tone_name, tone_name, BUF_LEN);
-   command.type.tone.duration = duration;
-   size = write(command_pipe[1], &command, sizeof(command));
-#else
-   // warning shh
-   (void) ed;
-   (void) duration;
-   (void) tone_name;
-#endif
-   return (size == sizeof(Edje_Multisense_Sound_Action));
-
-}
-
-/* Initialize the modules in main thread. to avoid dlopen issue in the Threads */
-void
-_edje_multisense_init(void)
-{
-#ifdef ENABLE_MULTISENSE
-   if (!pipe_initialized && (pipe(command_pipe) != -1))
-     pipe_initialized = EINA_TRUE;
-
-   // init msdata outside of thread due to thread issues in dlsym etc.
-   if (!msdata) msdata = init_multisense_environment();
-
-   if (!player_thread)
-     player_thread = ecore_thread_feedback_run(_player_job, NULL, _player_end, _player_cancel, NULL, EINA_TRUE);
-#endif
-}
-
-void
-_edje_multisense_shutdown(void)
-{
-#ifdef ENABLE_MULTISENSE
-   if (player_thread) ecore_thread_cancel(player_thread);
-   if (pipe_initialized)
-     {
-        int i = 42;
-
-        write(command_pipe[1], &i, sizeof (int));
-        close(command_pipe[1]);
-        close(command_pipe[0]);
-     }
-#endif
-}
diff --git a/legacy/edje/src/lib/edje_private.h b/legacy/edje/src/lib/edje_private.h
deleted file mode 100644 (file)
index 27082f1..0000000
+++ /dev/null
@@ -1,2494 +0,0 @@
-#ifndef _EDJE_PRIVATE_H
-#define _EDJE_PRIVATE_H
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifndef _WIN32
-# define _GNU_SOURCE
-#endif
-
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif !defined alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
-# elif defined _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# elif !defined HAVE_ALLOCA
-#  ifdef  __cplusplus
-extern "C"
-#  endif
-void *alloca (size_t);
-# endif
-#endif
-
-#include <string.h>
-#include <limits.h>
-#include <sys/stat.h>
-#include <time.h>
-#include <sys/time.h>
-#include <errno.h>
-
-#ifndef _MSC_VER
-# include <libgen.h>
-# include <unistd.h>
-#endif
-
-#include <fcntl.h>
-
-#include <lua.h>
-#include <lualib.h>
-#include <lauxlib.h>
-#include <setjmp.h>
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-#ifdef HAVE_EVIL
-# include <Evil.h>
-#endif
-
-#include <Eina.h>
-#include <Eet.h>
-#include <Evas.h>
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Ecore_File.h>
-#include <Ecore_Input.h>
-#ifdef HAVE_ECORE_IMF
-# include <Ecore_IMF.h>
-# include <Ecore_IMF_Evas.h>
-#endif
-#include <Embryo.h>
-
-#ifdef HAVE_EIO
-# include <Eio.h>
-#endif
-
-#ifdef HAVE_EPHYSICS
-# include <EPhysics.h>
-#endif
-
-#include "Edje.h"
-
-EAPI extern int _edje_default_log_dom ;
-
-#ifdef EDJE_DEFAULT_LOG_COLOR
-# undef EDJE_DEFAULT_LOG_COLOR
-#endif
-#define EDJE_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
-#ifdef ERR
-# undef ERR
-#endif
-#define ERR(...) EINA_LOG_DOM_ERR(_edje_default_log_dom, __VA_ARGS__)
-#ifdef INF
-# undef INF
-#endif
-#define INF(...) EINA_LOG_DOM_INFO(_edje_default_log_dom, __VA_ARGS__)
-#ifdef WRN
-# undef WRN
-#endif
-#define WRN(...) EINA_LOG_DOM_WARN(_edje_default_log_dom, __VA_ARGS__)
-#ifdef CRIT
-# undef CRIT
-#endif
-#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_default_log_dom, __VA_ARGS__)
-#ifdef DBG
-# undef DBG
-#endif
-#define DBG(...) EINA_LOG_DOM_DBG(_edje_default_log_dom, __VA_ARGS__)
-#ifdef __GNUC__
-# if __GNUC__ >= 4
-// BROKEN in gcc 4 on amd64
-//#  pragma GCC visibility push(hidden)
-# endif
-#endif
-
-#ifndef ABS
-#define ABS(x) ((x) < 0 ? -(x) : (x))
-#endif
-
-#ifndef CLAMP
-#define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : (x)))
-#endif
-
-#ifndef MIN
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
-
-#ifdef BUILD_EDJE_FP
-
-#define FLOAT_T Eina_F32p32
-#define EDJE_T_FLOAT EET_T_F32P32
-#define MUL(a, b) eina_f32p32_mul(a, b)
-#define SCALE(a, b) eina_f32p32_scale(a, b)
-#define DIV(a, b) eina_f32p32_div(a, b)
-#define DIV2(a) ((a) >> 1)
-#define ADD(a, b) eina_f32p32_add(a, b)
-#define SUB(a, b) eina_f32p32_sub(a, b)
-#define SQRT(a) eina_f32p32_sqrt(a)
-#define TO_DOUBLE(a) eina_f32p32_double_to(a)
-#define FROM_DOUBLE(a) eina_f32p32_double_from(a)
-#define FROM_INT(a) eina_f32p32_int_from(a)
-#define TO_INT(a) eina_f32p32_int_to(a)
-#define ZERO 0
-#define COS(a) eina_f32p32_cos(a)
-#define SIN(a) eina_f32p32_sin(a)
-#define PI EINA_F32P32_PI
-
-#else
-
-#define FLOAT_T double
-#define EDJE_T_FLOAT EET_T_DOUBLE
-#define MUL(a, b) ((a) * (b))
-#define SCALE(a, b) ((a) * (double)(b))
-#define DIV(a, b) ((a) / (b))
-#define DIV2(a) ((a) / 2.0)
-#define ADD(a, b) ((a) + (b))
-#define SUB(a, b) ((a) - (b))
-#define SQRT(a) sqrt(a)
-#define TO_DOUBLE(a) (double)(a)
-#define FROM_DOUBLE(a) (a)
-#define FROM_INT(a) (double)(a)
-#define TO_INT(a) (int)(a)
-#define ZERO 0.0
-#define COS(a) cos(a)
-#define SIN(a) sin(a)
-#define PI 3.14159265358979323846
-
-#endif
-
-/* Inheritable Edje Smart API. For now private so only Edje Edit makes
- * use of this, but who knows what will be possible in the future */
-#define EDJE_SMART_API_VERSION 1
-
-/* Basic macro to init the Edje Smart API */
-#define EDJE_SMART_API_INIT(smart_class_init) {smart_class_init, EDJE_SMART_API_VERSION, NULL}
-
-#define EDJE_SMART_API_INIT_NULL EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
-#define EDJE_SMART_API_INIT_VERSION EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
-#define EDJE_SMART_API_INIT_NAME_VERSION(name) EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
-
-/* increment this when the EET data descriptors have changed and old
- * EETs cannot be loaded/used correctly anymore.
- */
-#define EDJE_FILE_VERSION 3
-/* increment this when you add new feature to edje file format without
- * breaking backward compatibility.
- */
-#define EDJE_FILE_MINOR 4
-
-/* FIXME:
- *
- * More example Edje files
- *
- * ? programs can do multiple actions from one signal
- * ? add containering (hbox, vbox, table, wrapping multi-line hbox & vbox)
- * ? text entry widget (single line only)
- *
- * ? recursions, unsafe callbacks outside Edje etc. with freeze, ref/unref and block/unblock and break_programs needs to be redesigned & fixed
- * ? all unsafe calls that may result in callbacks must be marked and dealt with
- */
-
-typedef enum
-{
-   EDJE_ASPECT_PREFER_NONE,
-   EDJE_ASPECT_PREFER_VERTICAL,
-   EDJE_ASPECT_PREFER_HORIZONTAL,
-   EDJE_ASPECT_PREFER_BOTH,
-   EDJE_ASPECT_PREFER_SOURCE
-} Edje_Internal_Aspect;
-
-struct _Edje_Perspective
-{
-   Evas_Object *obj;
-   Evas        *e;
-   Evas_Coord   px, py, z0, foc;
-   Eina_List   *users;
-   Eina_Bool    global : 1;
-};
-
-struct _Edje_Position_Scale
-{
-   FLOAT_T x, y;
-};
-
-struct _Edje_Position
-{
-   int x, y;
-};
-
-struct _Edje_Size
-{
-   int w, h;
-   Eina_Bool limit; /* should we limit ourself to the size of the source */
-};
-
-struct _Edje_Rectangle
-{
-   int x, y, w, h;
-};
-
-struct _Edje_Color
-{
-   unsigned char  r, g, b, a;
-};
-
-struct _Edje_Aspect_Prefer
-{
-   FLOAT_T min, max;
-   char prefer;
-};
-
-struct _Edje_Aspect
-{
-   int w, h;
-   Edje_Aspect_Control mode;
-};
-
-struct _Edje_String
-{
-   const char *str;
-   unsigned int id;
-};
-
-typedef struct _Edje_Position_Scale                  Edje_Alignment;
-typedef struct _Edje_Position_Scale                  Edje_Position_Scale;
-typedef struct _Edje_Position                        Edje_Position;
-typedef struct _Edje_Size                            Edje_Size;
-typedef struct _Edje_Rectangle                       Edje_Rectangle;
-typedef struct _Edje_Color                           Edje_Color;
-typedef struct _Edje_Aspect_Prefer                   Edje_Aspect_Prefer;
-typedef struct _Edje_Aspect                          Edje_Aspect;
-typedef struct _Edje_String                          Edje_String;
-
-typedef struct _Edje_File                            Edje_File;
-typedef struct _Edje_Style                           Edje_Style;
-typedef struct _Edje_Style_Tag                       Edje_Style_Tag;
-typedef struct _Edje_External_Directory              Edje_External_Directory;
-typedef struct _Edje_External_Directory_Entry        Edje_External_Directory_Entry;
-typedef struct _Edje_Font_Directory_Entry            Edje_Font_Directory_Entry;
-typedef struct _Edje_Image_Directory                 Edje_Image_Directory;
-typedef struct _Edje_Image_Directory_Entry           Edje_Image_Directory_Entry;
-typedef struct _Edje_Image_Directory_Set             Edje_Image_Directory_Set;
-typedef struct _Edje_Image_Directory_Set_Entry       Edje_Image_Directory_Set_Entry;
-typedef struct _Edje_Limit                           Edje_Limit;
-typedef struct _Edje_Sound_Sample                    Edje_Sound_Sample;
-typedef struct _Edje_Sound_Tone                      Edje_Sound_Tone;
-typedef struct _Edje_Sound_Directory                 Edje_Sound_Directory;
-typedef struct _Edje_Program                         Edje_Program;
-typedef struct _Edje_Program_Target                  Edje_Program_Target;
-typedef struct _Edje_Program_After                   Edje_Program_After;
-typedef struct _Edje_Part_Collection_Directory_Entry Edje_Part_Collection_Directory_Entry;
-typedef struct _Edje_Pack_Element                    Edje_Pack_Element;
-typedef struct _Edje_Part_Collection                 Edje_Part_Collection;
-typedef struct _Edje_Part                            Edje_Part;
-typedef struct _Edje_Part_Api                        Edje_Part_Api;
-typedef struct _Edje_Part_Dragable                  Edje_Part_Dragable;
-typedef struct _Edje_Part_Image_Id                   Edje_Part_Image_Id;
-typedef struct _Edje_Part_Description_Image          Edje_Part_Description_Image;
-typedef struct _Edje_Part_Description_Proxy          Edje_Part_Description_Proxy;
-typedef struct _Edje_Part_Description_Text           Edje_Part_Description_Text;
-typedef struct _Edje_Part_Description_Box            Edje_Part_Description_Box;
-typedef struct _Edje_Part_Description_Table          Edje_Part_Description_Table;
-typedef struct _Edje_Part_Description_External       Edje_Part_Description_External;
-typedef struct _Edje_Part_Description_Common         Edje_Part_Description_Common;
-typedef struct _Edje_Part_Description_Spec_Fill      Edje_Part_Description_Spec_Fill;
-typedef struct _Edje_Part_Description_Spec_Border    Edje_Part_Description_Spec_Border;
-typedef struct _Edje_Part_Description_Spec_Image     Edje_Part_Description_Spec_Image;
-typedef struct _Edje_Part_Description_Spec_Proxy     Edje_Part_Description_Spec_Proxy;
-typedef struct _Edje_Part_Description_Spec_Text      Edje_Part_Description_Spec_Text;
-typedef struct _Edje_Part_Description_Spec_Box       Edje_Part_Description_Spec_Box;
-typedef struct _Edje_Part_Description_Spec_Table     Edje_Part_Description_Spec_Table;
-typedef struct _Edje_Physics_Face                    Edje_Physics_Face;
-typedef struct _Edje_Patterns                        Edje_Patterns;
-typedef struct _Edje_Part_Box_Animation              Edje_Part_Box_Animation;
-typedef struct _Edje_Part_Limit                      Edje_Part_Limit;
-
-typedef struct _Edje Edje;
-typedef struct _Edje_Real_Part_Text Edje_Real_Part_Text;
-typedef struct _Edje_Real_Part_Swallow Edje_Real_Part_Swallow;
-typedef struct _Edje_Real_Part_Container Edje_Real_Part_Container;
-typedef struct _Edje_Real_Part_State Edje_Real_Part_State;
-typedef struct _Edje_Real_Part_Drag Edje_Real_Part_Drag;
-typedef struct _Edje_Real_Part_Set Edje_Real_Part_Set;
-typedef struct _Edje_Real_Part Edje_Real_Part;
-typedef struct _Edje_Running_Program Edje_Running_Program;
-typedef struct _Edje_Signal_Callback Edje_Signal_Callback;
-typedef struct _Edje_Calc_Params Edje_Calc_Params;
-typedef struct _Edje_Pending_Program Edje_Pending_Program;
-typedef struct _Edje_Text_Style Edje_Text_Style;
-typedef struct _Edje_Color_Class Edje_Color_Class;
-typedef struct _Edje_Text_Class Edje_Text_Class;
-typedef struct _Edje_Var Edje_Var;
-typedef struct _Edje_Var_Int Edje_Var_Int;
-typedef struct _Edje_Var_Float Edje_Var_Float;
-typedef struct _Edje_Var_String Edje_Var_String;
-typedef struct _Edje_Var_List Edje_Var_List;
-typedef struct _Edje_Var_Hash Edje_Var_Hash;
-typedef struct _Edje_Var_Animator Edje_Var_Animator;
-typedef struct _Edje_Var_Timer Edje_Var_Timer;
-typedef struct _Edje_Var_Pool Edje_Var_Pool;
-typedef struct _Edje_Signal_Source_Char Edje_Signal_Source_Char;
-typedef struct _Edje_Text_Insert_Filter_Callback Edje_Text_Insert_Filter_Callback;
-typedef struct _Edje_Markup_Filter_Callback Edje_Markup_Filter_Callback;
-
-#define EDJE_INF_MAX_W 100000
-#define EDJE_INF_MAX_H 100000
-
-#define EDJE_IMAGE_SOURCE_TYPE_NONE           0
-#define EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT 1
-#define EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY   2
-#define EDJE_IMAGE_SOURCE_TYPE_EXTERNAL       3
-#define EDJE_IMAGE_SOURCE_TYPE_LAST           4
-
-#define EDJE_SOUND_SOURCE_TYPE_NONE           0
-#define EDJE_SOUND_SOURCE_TYPE_INLINE_RAW     1
-#define EDJE_SOUND_SOURCE_TYPE_INLINE_COMP    2
-#define EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY   3
-#define EDJE_SOUND_SOURCE_TYPE_INLINE_AS_IS   4
-
-#define EDJE_VAR_NONE   0
-#define EDJE_VAR_INT    1
-#define EDJE_VAR_FLOAT  2
-#define EDJE_VAR_STRING 3
-#define EDJE_VAR_LIST   4
-#define EDJE_VAR_HASH   5
-
-#define EDJE_VAR_MAGIC_BASE 0x12fe84ba
-
-#define EDJE_STATE_PARAM_NONE            0
-#define EDJE_STATE_PARAM_ALIGNMENT       1
-#define EDJE_STATE_PARAM_MIN             2
-#define EDJE_STATE_PARAM_MAX             3
-#define EDJE_STATE_PARAM_STEP            4
-#define EDJE_STATE_PARAM_ASPECT          5
-#define EDJE_STATE_PARAM_ASPECT_PREF     6
-#define EDJE_STATE_PARAM_COLOR           7
-#define EDJE_STATE_PARAM_COLOR2          8
-#define EDJE_STATE_PARAM_COLOR3          9
-#define EDJE_STATE_PARAM_COLOR_CLASS    10
-#define EDJE_STATE_PARAM_REL1           11
-#define EDJE_STATE_PARAM_REL1_TO        12
-#define EDJE_STATE_PARAM_REL1_OFFSET    13
-#define EDJE_STATE_PARAM_REL2           14
-#define EDJE_STATE_PARAM_REL2_TO        15
-#define EDJE_STATE_PARAM_REL2_OFFSET    16
-#define EDJE_STATE_PARAM_IMAGE          17
-#define EDJE_STATE_PARAM_BORDER         18
-#define EDJE_STATE_PARAM_FILL_SMOOTH    19
-#define EDJE_STATE_PARAM_FILL_POS       20
-#define EDJE_STATE_PARAM_FILL_SIZE      21
-#define EDJE_STATE_PARAM_TEXT           22
-#define EDJE_STATE_PARAM_TEXT_CLASS     23
-#define EDJE_STATE_PARAM_TEXT_FONT      24
-#define EDJE_STATE_PARAM_TEXT_STYLE     25
-#define EDJE_STATE_PARAM_TEXT_SIZE      26
-#define EDJE_STATE_PARAM_TEXT_FIT       27
-#define EDJE_STATE_PARAM_TEXT_MIN       28
-#define EDJE_STATE_PARAM_TEXT_MAX       29
-#define EDJE_STATE_PARAM_TEXT_ALIGN     30
-#define EDJE_STATE_PARAM_VISIBLE        31
-#define EDJE_STATE_PARAM_MAP_ON         32
-#define EDJE_STATE_PARAM_MAP_PERSP      33
-#define EDJE_STATE_PARAM_MAP_LIGHT      34
-#define EDJE_STATE_PARAM_MAP_ROT_CENTER 35
-#define EDJE_STATE_PARAM_MAP_ROT_X      36
-#define EDJE_STATE_PARAM_MAP_ROT_Y      37
-#define EDJE_STATE_PARAM_MAP_ROT_Z      38
-#define EDJE_STATE_PARAM_MAP_BACK_CULL  39
-#define EDJE_STATE_PARAM_MAP_PERSP_ON   40
-#define EDJE_STATE_PARAM_PERSP_ZPLANE   41
-#define EDJE_STATE_PARAM_PERSP_FOCAL    42
-#define EDJE_STATE_PARAM_PHYSICS_MASS   43
-#define EDJE_STATE_PARAM_PHYSICS_FRICTION 44
-#define EDJE_STATE_PARAM_PHYSICS_RESTITUTION 45
-#define EDJE_STATE_PARAM_PHYSICS_DAMPING 46
-#define EDJE_STATE_PARAM_PHYSICS_SLEEP  47
-#define EDJE_STATE_PARAM_PHYSICS_MATERIAL 48
-#define EDJE_STATE_PARAM_PHYSICS_DENSITY 49
-#define EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS 50
-#define EDJE_STATE_PARAM_PHYSICS_LIGHT_ON 51
-#define EDJE_STATE_PARAM_PHYSICS_HARDNESS 52
-#define EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN 53
-#define EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG 54
-#define EDJE_STATE_PARAM_PHYSICS_BACK_CULL 55
-#define EDJE_STATE_PARAM_PHYSICS_Z      56
-#define EDJE_STATE_PARAM_PHYSICS_DEPTH  57
-#define EDJE_STATE_PARAM_LAST           58
-
-#define EDJE_ENTRY_EDIT_MODE_NONE 0
-#define EDJE_ENTRY_EDIT_MODE_SELECTABLE 1
-#define EDJE_ENTRY_EDIT_MODE_EDITABLE 2
-#define EDJE_ENTRY_EDIT_MODE_PASSWORD 3
-
-#define EDJE_ENTRY_SELECTION_MODE_DEFAULT 0
-#define EDJE_ENTRY_SELECTION_MODE_EXPLICIT 1
-
-#define EDJE_ENTRY_CURSOR_MODE_UNDER 0
-#define EDJE_ENTRY_CURSOR_MODE_BEFORE 1
-
-#define EDJE_ORIENTATION_AUTO  0
-#define EDJE_ORIENTATION_LTR   1
-#define EDJE_ORIENTATION_RTL   2
-
-#define EDJE_PART_PATH_SEPARATOR ':'
-#define EDJE_PART_PATH_SEPARATOR_STRING ":"
-#define EDJE_PART_PATH_SEPARATOR_INDEXL '['
-#define EDJE_PART_PATH_SEPARATOR_INDEXR ']'
-
-#define FLAG_NONE 0
-#define FLAG_X    0x01
-#define FLAG_Y    0x02
-#define FLAG_XY   (FLAG_X | FLAG_Y)
-
-/*----------*/
-
-struct _Edje_File
-{
-   const char                     *path;
-   time_t                          mtime;
-
-   Edje_External_Directory        *external_dir;
-   Edje_Image_Directory           *image_dir;
-   Edje_Sound_Directory           *sound_dir;
-   Eina_List                      *styles;
-
-   Eina_List                      *color_classes;
-   Eina_Hash                      *color_hash;
-
-   int                             references;
-   const char                     *compiler;
-   int                             version;
-   int                            minor;
-   int                             feature_ver;
-
-   Eina_Hash                      *data;
-   Eina_Hash                     *fonts;
-
-   Eina_Hash                     *collection;
-   Eina_List                     *collection_cache;
-
-   Edje_Patterns                 *collection_patterns;
-
-   Eet_File                       *ef;
-
-#ifdef HAVE_EIO
-   Eio_Monitor                    *monitor;
-   Eina_List                      *edjes;
-   Eina_List                      *handlers;
-   Ecore_Timer                    *timeout;
-#endif
-
-   unsigned char                   free_strings : 1;
-   unsigned char                   dangling : 1;
-   unsigned char                  warning : 1;
-};
-
-struct _Edje_Style
-{
-   char                           *name;
-   Eina_List                      *tags;
-   Evas_Textblock_Style           *style;
-};
-
-struct _Edje_Style_Tag
-{
-   const char                     *key;
-   const char                     *value;
-   const char                    *font;
-   double                         font_size;
-   const char                    *text_class;
-};
-
-/*----------*/
-
-
-struct _Edje_Font_Directory_Entry
-{
-   const char *entry; /* the name of the font */
-   const char *file; /* the name of the file */
-};
-
-/*----------*/
-
-struct _Edje_External_Directory
-{
-   Edje_External_Directory_Entry *entries; /* a list of Edje_External_Directory_Entry */
-   unsigned int entries_count;
-};
-
-struct _Edje_External_Directory_Entry
-{
-   const char *entry; /* the name of the external */
-};
-
-
-/*----------*/
-
-
-
-/*----------*/
-
-struct _Edje_Image_Directory
-{
-   Edje_Image_Directory_Entry *entries; /* an array of Edje_Image_Directory_Entry */
-   unsigned int entries_count;
-
-   Edje_Image_Directory_Set *sets; /* an array of Edje_Image_Directory_Set */
-   unsigned int sets_count;
-};
-
-struct _Edje_Image_Directory_Entry
-{
-   const char *entry; /* the nominal name of the image - if any */
-   int   source_type; /* alternate source mode. 0 = none */
-   int   source_param; /* extra params on encoding */
-   int   id; /* the id no. of the image */
-};
-
-struct _Edje_Image_Directory_Set
-{
-   char *name;
-   Eina_List *entries;
-
-   int id;
-};
-
-struct _Edje_Image_Directory_Set_Entry
-{
-   const char *name;
-   int id;
-
-   struct {
-     struct {
-       int w;
-       int h;
-     } min, max;
-   } size;
-};
-
-struct _Edje_Sound_Sample /*Sound Sample*/
-{
-   const char *name; /* the nominal name of the sound */
-   const char *snd_src;  /* Sound source Wav file */
-   int   compression;  /* Compression - RAW, LOSSLESS COMP ,  LOSSY ) */
-   int   mode; /* alternate source mode. 0 = none */
-   double quality;
-   int   id; /* the id no. of the sound */
-};
-
-struct _Edje_Sound_Tone /*Sound Sample*/
-{
-   const char *name; /* the nominal name of the sound - if any */
-   int   value; /* alternate source mode. 0 = none */
-   int   id; /* the id no. of the sound */
-};
-
-struct _Edje_Sound_Directory
-{
-
-   Edje_Sound_Sample *samples;  /* an array of Edje_Sound_Sample entries */
-   unsigned int samples_count;
-
-   Edje_Sound_Tone *tones;  /* an array of Edje_Sound_Tone entries */
-   unsigned int tones_count;
-};
-
-/*----------*/
-
-struct _Edje_Program /* a conditional program to be run */
-{
-   int         id; /* id of program */
-   const char *name; /* name of the action */
-
-   const char *signal; /* if signal emission name matches the glob here... */
-   const char *source; /* if part that emitted this (name) matches this glob */
-   const char *sample_name;
-   const char *tone_name;
-   double duration;
-   double speed;
-
-   struct {
-      const char *part;
-      const char *state; /* if state is not set, we will try with source */
-   } filter; /* the part filter.part should be in state filter.state for signal to be accepted */
-
-   struct {
-      double   from;
-      double   range;
-   } in;
-
-   int         action; /* type - set state, stop action, set drag pos etc. */
-   const char *state; /* what state of alternates to apply, NULL = default */
-   const char *state2; /* what other state to use - for signal emit action */
-   double      value; /* value of state to apply (if multiple names match) */
-   double      value2; /* other value for drag actions */
-
-   struct {
-      int      mode; /* how to tween - linear, sinusoidal etc. */
-      FLOAT_T  time; /* time to graduate between current and new state */
-      FLOAT_T  v1; /* other value for drag actions */
-      FLOAT_T  v2; /* other value for drag actions */
-   } tween;
-
-   Eina_List  *targets; /* list of target parts to apply the state to */
-
-   Eina_List  *after; /* list of actions to run at the end of this, for looping */
-
-   struct {
-      const char *name;
-      const char *description;
-   } api;
-
-   /* used for PARAM_COPY (param names in state and state2 above!) */
-   struct {
-      int src; /* part where parameter is being retrieved */
-      int dst; /* part where parameter is being stored */
-   } param;
-
-#ifdef HAVE_EPHYSICS
-   /* used for actions related to physics, as physics impulses and forces */
-   struct {
-      double w;
-      double x;
-      double y;
-      double z;
-   } physics;
-#endif
-
-   Eina_Bool exec : 1;
-};
-
-struct _Edje_Program_Target /* the target of an action */
-{
-   int id; /* just the part id no, or action id no */
-};
-
-struct _Edje_Program_After /* the action to run after another action */
-{
-   int id;
-};
-
-/*----------*/
-struct _Edje_Limit
-{
-   const char *name;
-   int value;
-};
-
-/*----------*/
-#define PART_TYPE_FIELDS(TYPE)    \
-      TYPE      RECTANGLE;        \
-      TYPE      TEXT;             \
-      TYPE      IMAGE;            \
-      TYPE      PROXY;            \
-      TYPE      SWALLOW;          \
-      TYPE      TEXTBLOCK;        \
-      TYPE      GROUP;            \
-      TYPE      BOX;              \
-      TYPE      TABLE;            \
-      TYPE      SPACER;          \
-      TYPE      EXTERNAL;
-
-struct _Edje_Part_Collection_Directory_Entry
-{
-   const char *entry; /* the nominal name of the part collection */
-   int         id; /* the id of this named part collection */
-
-   struct
-   {
-      PART_TYPE_FIELDS(int)
-      int      part;
-   } count;
-
-   struct
-   {
-      PART_TYPE_FIELDS(Eina_Mempool *)
-      Eina_Mempool *part;
-   } mp;
-
-   struct
-   {
-      PART_TYPE_FIELDS(Eina_Mempool *)
-   } mp_rtl; /* For Right To Left interface */
-
-   Edje_Part_Collection *ref;
-};
-
-/*----------*/
-
-/*----------*/
-
-struct _Edje_Pack_Element
-{
-   unsigned char    type; /* only GROUP supported for now */
-   Edje_Real_Part  *parent; /* pointer to the table/box that hold it, set at runtime */
-   const char      *name; /* if != NULL, will be set with evas_object_name_set */
-   const char      *source; /* group name to use as source for this element */
-   Edje_Size        min, prefer, max;
-   struct {
-          int l, r, t, b;
-   } padding;
-   Edje_Alignment   align;
-   Edje_Alignment   weight;
-   Edje_Aspect      aspect;
-   const char      *options; /* extra options for custom objects */
-   /* table specific follows */
-   int              col, row;
-   unsigned short   colspan, rowspan;
-};
-
-struct _Edje_Physics_Face
-{
-   unsigned char    type; /* BOX_FRONT BOX_BACK BOX_RIGHT CYLINDER_BACK ... */
-   const char      *source; /* group name to use as source for this element */
-};
-
-typedef enum {
-  EDJE_PART_LIMIT_UNKNOWN = 0,
-  EDJE_PART_LIMIT_BELOW,
-  EDJE_PART_LIMIT_ZERO,
-  EDJE_PART_LIMIT_OVER
-} Edje_Part_Limit_State;
-
-#ifdef HAVE_EPHYSICS
-typedef enum {
-  EDJE_PART_PHYSICS_BODY_NONE= 0,
-  EDJE_PART_PHYSICS_BODY_RIGID_BOX,
-  EDJE_PART_PHYSICS_BODY_RIGID_SPHERE,
-  EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER,
-  EDJE_PART_PHYSICS_BODY_SOFT_BOX,
-  EDJE_PART_PHYSICS_BODY_SOFT_SPHERE,
-  EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER,
-  EDJE_PART_PHYSICS_BODY_CLOTH,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT,
-  EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK
-} Edje_Part_Physics_Body;
-#endif
-
-struct _Edje_Part_Limit
-{
-   int part;
-
-   Edje_Part_Limit_State width; /* -1, 0 or 1 */
-   Edje_Part_Limit_State height; /* -1, 0, or 1 */
-};
-
-/*----------*/
-
-struct _Edje_Part_Collection
-{
-   struct { /* list of Edje_Program */
-      Edje_Program **fnmatch; /* complex match with "*?[\" */
-      unsigned int fnmatch_count;
-
-      Edje_Program **strcmp; /* No special caractere, plain strcmp does the work */
-      unsigned int strcmp_count;
-
-      Edje_Program **strncmp; /* Finish by * or ?, plain strncmp does the work */
-      unsigned int strncmp_count;
-
-      Edje_Program **strrncmp; /* Start with * or ?, reverse strncmp will do the job */
-      unsigned int strrncmp_count;
-
-      Edje_Program **nocmp; /* Empty signal/source that will never match */
-      unsigned int nocmp_count;
-   } programs;
-
-   struct { /* list of limit that need to be monitored */
-      Edje_Limit **vertical;
-      unsigned int vertical_count;
-
-      Edje_Limit **horizontal;
-      unsigned int horizontal_count;
-
-      Edje_Part_Limit *parts;
-      unsigned int parts_count;
-   } limits;
-
-   Edje_Part **parts; /* an array of Edje_Part */
-   unsigned int parts_count;
-
-   Eina_Hash *data;
-
-   int        id; /* the collection id */
-
-   Eina_Hash *alias; /* aliasing part */
-   Eina_Hash *aliased; /* invert match of alias */
-
-   struct {
-      Edje_Size min, max;
-      unsigned char orientation;
-   } prop;
-
-   int        references;
-
-#ifdef EDJE_PROGRAM_CACHE
-   struct {
-      Eina_Hash                   *no_matches;
-      Eina_Hash                   *matches;
-   } prog_cache;
-#endif
-
-#ifdef HAVE_EPHYSICS
-   struct {
-      struct {
-         double rate;
-         Evas_Coord z;
-         Evas_Coord depth;
-         struct {
-              Evas_Coord x;
-              Evas_Coord y;
-              Evas_Coord z;
-         } gravity;
-      } world;
-   } physics;
-#endif
-
-   Embryo_Program   *script; /* all the embryo script code for this group */
-   const char       *part;
-
-   unsigned char    script_only;
-
-   unsigned char    lua_script_only;
-
-   unsigned char    broadcast_signal;
-
-   unsigned char    physics_enabled; /* will be 1 if a body is declared */
-
-   unsigned char    checked : 1;
-};
-
-struct _Edje_Part_Dragable
-{
-   int                 step_x; /* drag jumps n pixels (0 = no limit) */
-   int                 step_y; /* drag jumps n pixels (0 = no limit) */
-
-   int                 count_x; /* drag area divided by n (0 = no limit) */
-   int                 count_y; /* drag area divided by n (0 = no limit) */
-
-   int                 confine_id; /* dragging within this bit, -1 = no */
-
-   /* davinchi */
-   int           event_id; /* If it is used as scrollbar */
-
-   signed char         x; /* can u click & drag this bit in x dir */
-   signed char         y; /* can u click & drag this bit in y dir */
-};
-
-struct _Edje_Part_Api
-{
-   const char         *name;
-   const char         *description;
-};
-
-typedef struct _Edje_Part_Description_List Edje_Part_Description_List;
-struct _Edje_Part_Description_List
-{
-   Edje_Part_Description_Common **desc;
-   Edje_Part_Description_Common **desc_rtl; /* desc for Right To Left interface */
-   unsigned int desc_count;
-};
-
-struct _Edje_Part
-{
-   const char                   *name; /* the name if any of the part */
-   Edje_Part_Description_Common *default_desc; /* the part descriptor for default */
-   Edje_Part_Description_Common *default_desc_rtl; /* default desc for Right To Left interface */
-
-   Edje_Part_Description_List    other; /* other possible descriptors */
-
-   const char           *source, *source2, *source3, *source4, *source5, *source6;
-   int                    id; /* its id number */
-   int                    clip_to_id; /* the part id to clip this one to */
-   Edje_Part_Dragable     dragable;
-   Edje_Pack_Element    **items; /* packed items for box and table */
-   unsigned int           items_count;
-   unsigned char          type; /* what type (image, rect, text) */
-#ifdef HAVE_EPHYSICS
-   unsigned char          physics_body; /* body (none, rigid box, soft circle, ...) */
-#endif
-   unsigned char          effect; /* 0 = plain... */
-   unsigned char          mouse_events; /* it will affect/respond to mouse events */
-   unsigned char          repeat_events; /* it will repeat events to objects below */
-   Evas_Event_Flags       ignore_flags;
-   unsigned char          scale; /* should certain properties scale with edje scale factor? */
-   unsigned char          precise_is_inside;
-   unsigned char          use_alternate_font_metrics;
-   unsigned char          pointer_mode;
-   unsigned char          entry_mode;
-   unsigned char          select_mode;
-   unsigned char          cursor_mode;
-   unsigned char          multiline;
-   unsigned char          access; /* it will be used accessibility feature */
-   Edje_Part_Api          api;
-   unsigned char          nested_children_count;
-};
-
-struct _Edje_Part_Image_Id
-{
-   int id;
-   Eina_Bool set;
-};
-
-struct _Edje_Part_Description_Common
-{
-   struct {
-      double         value; /* the value of the state (for ranges) */
-      const char    *name; /* the named state if any */
-   } state;
-
-   Edje_Alignment align; /* 0 <-> 1.0 alignment within allocated space */
-
-   struct {
-      unsigned char  w, h; /* width or height is fixed in side (cannot expand with Edje object size) */
-   } fixed;
-
-   struct { // only during recalc
-      unsigned char have;
-      FLOAT_T w, h;
-   } minmul;
-
-   Edje_Size min, max;
-   Edje_Position step; /* size stepping by n pixels, 0 = none */
-   Edje_Aspect_Prefer aspect;
-
-   char      *color_class; /* how to modify the color */
-   Edje_Color color;
-   Edje_Color color2;
-
-   struct {
-      FLOAT_T        relative_x;
-      FLOAT_T       relative_y;
-      int            offset_x;
-      int            offset_y;
-      int            id_x; /* -1 = whole part collection, or part ID */
-      int            id_y; /* -1 = whole part collection, or part ID */
-   } rel1, rel2;
-
-   struct {
-      int id_persp;
-      int id_light;
-      struct {
-         int id_center;
-         FLOAT_T x, y, z;
-      } rot;
-      unsigned char backcull;
-      unsigned char on;
-      unsigned char persp_on;
-      unsigned char smooth;
-      unsigned char alpha;
-   } map;
-
-   struct {
-      int zplane;
-      int focal;
-   } persp;
-
-#ifdef HAVE_EPHYSICS
-   struct {
-      double mass;
-      double restitution;
-      double friction;
-      double density;
-      double hardness;
-      struct {
-         double linear;
-         double angular;
-      } damping;
-      struct {
-         double linear;
-         double angular;
-      } sleep;
-      int z;
-      int depth;
-      Eina_List *faces; /* faces for 3d effects */
-      struct {
-         struct {
-            unsigned char x;
-            unsigned char y;
-            unsigned char z;
-         } lin;
-         struct {
-            unsigned char x;
-            unsigned char y;
-            unsigned char z;
-         } ang;
-      } mov_freedom;
-      unsigned char backcull;
-      unsigned char material; /* (custom, iron, wood, ...) */
-      unsigned char light_on;
-      unsigned char ignore_part_pos;
-   } physics;
-#endif
-
-   unsigned char     visible; /* is it shown */
-   unsigned char     limit; /* 0 == no, 1 = width, 2 = height, 3 = both */
-};
-
-struct _Edje_Part_Description_Spec_Fill
-{
-   FLOAT_T        pos_rel_x; /* fill offset x relative to area */
-   FLOAT_T        rel_x; /* relative size compared to area */
-   FLOAT_T        pos_rel_y; /* fill offset y relative to area */
-   FLOAT_T        rel_y; /* relative size compared to area */
-   int            pos_abs_x; /* fill offset x added to fill offset */
-   int            abs_x; /* size of fill added to relative fill */
-   int            pos_abs_y; /* fill offset y added to fill offset */
-   int            abs_y; /* size of fill added to relative fill */
-   int            angle; /* angle of fill -- currently only used by grads */
-   int            spread; /* spread of fill -- currently only used by grads */
-   char           smooth; /* fill with smooth scaling or not */
-   unsigned char  type; /* fill coordinate from container (SCALE) or from source image (TILE) */
-};
-
-struct _Edje_Part_Description_Spec_Border
-{
-   int            l, r, t, b; /* border scaling on image fill */
-   unsigned char  no_fill; /* do we fill the center of the image if bordered? 1 == NO!!!! */
-   unsigned char  scale; /* scale image border by same as scale factor */
-   FLOAT_T        scale_by; /* when border scale above is enabled, border width OUTPUT is scaled by the object or global scale factor. this value adds another multiplier that the global scale is multiplued by first. if <= 0.0 it is not used, and if 1.0 it i s "ineffective" */
-};
-
-struct _Edje_Part_Description_Spec_Image
-{
-   Edje_Part_Description_Spec_Fill   fill;
-
-   Edje_Part_Image_Id **tweens; /* list of Edje_Part_Image_Id */
-   unsigned int         tweens_count; /* number of tweens */
-
-   int            id; /* the image id to use */
-   int            scale_hint; /* evas scale hint */
-   Eina_Bool      set; /* if image condition it's content */
-
-   Edje_Part_Description_Spec_Border border;
-};
-
-struct _Edje_Part_Description_Spec_Proxy
-{
-   Edje_Part_Description_Spec_Fill   fill;
-
-   int id; /* the part id to use as a source for this state */
-};
-
-struct _Edje_Part_Description_Spec_Text
-{
-   Edje_String    text; /* if "" or NULL, then leave text unchanged */
-   char          *text_class; /* how to apply/modify the font */
-   Edje_String    style; /* the text style if a textblock */
-   Edje_String    font; /* if a specific font is asked for */
-   Edje_String    repch; /* replacement char for password mode entry */
-
-   Edje_Alignment align; /* text alignment within bounds */
-   Edje_Color     color3;
-
-   double         elipsis; /* 0.0 - 1.0 defining where the elipsis align */
-   int            size; /* 0 = use user set size */
-   int            id_source; /* -1 if none */
-   int            id_text_source; /* -1 if none */
-
-   unsigned char  fit_x; /* resize font size down to fit in x dir */
-   unsigned char  fit_y; /* resize font size down to fit in y dir */
-   unsigned char  min_x; /* if text size should be part min size */
-   unsigned char  min_y; /* if text size should be part min size */
-   unsigned char  max_x; /* if text size should be part max size */
-   unsigned char  max_y; /* if text size should be part max size */
-   int            size_range_min;
-   int            size_range_max; /* -1 means, no bound. */
-};
-
-struct _Edje_Part_Description_Spec_Box
-{
-   char          *layout, *alt_layout;
-   Edje_Alignment align;
-   struct {
-      int x, y;
-   } padding;
-   struct {
-      unsigned char h, v;
-   } min;
-};
-
-struct _Edje_Part_Description_Spec_Table
-{
-   unsigned char  homogeneous;
-   Edje_Alignment align;
-   struct {
-      int x, y;
-   } padding;
-   struct {
-      unsigned char h, v;
-   } min;
-};
-
-struct _Edje_Part_Description_Image
-{
-   Edje_Part_Description_Common common;
-   Edje_Part_Description_Spec_Image image;
-};
-
-struct _Edje_Part_Description_Proxy
-{
-   Edje_Part_Description_Common common;
-   Edje_Part_Description_Spec_Proxy proxy;
-};
-
-struct _Edje_Part_Description_Text
-{
-   Edje_Part_Description_Common common;
-   Edje_Part_Description_Spec_Text text;
-};
-
-struct _Edje_Part_Description_Box
-{
-   Edje_Part_Description_Common common;
-   Edje_Part_Description_Spec_Box box;
-};
-
-struct _Edje_Part_Description_Table
-{
-   Edje_Part_Description_Common common;
-   Edje_Part_Description_Spec_Table table;
-};
-
-struct _Edje_Part_Description_External
-{
-   Edje_Part_Description_Common common;
-   Eina_List *external_params; /* parameters for external objects */
-};
-
-/*----------*/
-
-struct _Edje_Signal_Source_Char
-{
-   EINA_RBTREE;
-
-   const char *signal;
-   const char *source;
-
-   Eina_Array  list;
-};
-
-struct _Edje_Signals_Sources_Patterns
-
-{
-   Edje_Patterns *signals_patterns;
-   Edje_Patterns *sources_patterns;
-
-   Eina_Rbtree   *exact_match;
-
-   union {
-      struct {
-        Edje_Program **globing;
-        unsigned int  count;
-      } programs;
-      struct {
-        Eina_List     *globing;
-      } callbacks;
-   } u;
-};
-
-typedef struct _Edje_Signals_Sources_Patterns Edje_Signals_Sources_Patterns;
-
-struct _Edje
-{
-   Evas_Object_Smart_Clipped_Data *base;
-   /* This contains (or should):
-       Evas_Object          *clipper; // a big rect to clip this Edje to
-       Evas                 *evas; // the Evas this Edje belongs to
-   */
-   const char           *path;
-   const char           *group;
-   const char           *parent;
-
-   Evas_Coord            x, y, w, h;
-   Edje_Size             min;
-   double                paused_at;
-   Evas_Object          *obj; /* the smart object */
-   Edje_File            *file; /* the file the data comes form */
-   Edje_Part_Collection *collection; /* the description being used */
-   Eina_List            *actions; /* currently running actions */
-   Eina_List            *callbacks;
-   Eina_List            *pending_actions;
-   Eina_Hash            *color_classes;
-   Eina_List            *text_classes;
-   /* variable pool for Edje Embryo scripts */
-   Edje_Var_Pool        *var_pool;
-   /* for faster lookups to avoid nth list walks */
-   Edje_Real_Part      **table_parts;
-   Edje_Program        **table_programs;
-   Edje_Real_Part       *focused_part;
-   Eina_List            *subobjs;
-   Eina_List            *text_insert_filter_callbacks;
-   Eina_List            *markup_filter_callbacks;
-   void                 *script_only_data;
-
-   int                   table_programs_size;
-   unsigned int          table_parts_size;
-
-   Eina_List            *groups;
-
-   struct {
-      Eina_Hash         *text_class;
-      Eina_Hash         *color_class;
-   } members;
-
-   Edje_Perspective     *persp;
-
-   struct {
-      Edje_Signals_Sources_Patterns callbacks;
-      Edje_Signals_Sources_Patterns programs;
-   } patterns;
-
-   int                   references;
-   int                   block;
-   int                   load_error;
-   int                   freeze;
-   FLOAT_T              scale;
-   Eina_Bool             is_rtl : 1;
-
-   struct {
-      Edje_Text_Change_Cb  func;
-      void                *data;
-   } text_change;
-
-   struct {
-      Edje_Message_Handler_Cb  func;
-      void                    *data;
-      int                      num;
-   } message;
-   int                   processing_messages;
-
-   int                   state;
-
-   int                  preload_count;
-
-   lua_State            *L;
-   Eina_Inlist          *lua_objs;
-   int                   lua_ref;
-
-   struct {
-      Edje_Item_Provider_Cb  func;
-      void                  *data;
-   } item_provider;
-
-   Eina_List            *user_defined;
-
-   int                   walking_callbacks;
-
-#ifdef HAVE_EPHYSICS
-   EPhysics_World       *world;
-#endif
-
-   Eina_Bool          dirty : 1;
-   Eina_Bool          recalc : 1;
-   Eina_Bool          delete_callbacks : 1;
-   Eina_Bool          just_added_callbacks : 1;
-   Eina_Bool          have_objects : 1;
-   Eina_Bool          paused : 1;
-   Eina_Bool          no_anim : 1;
-   Eina_Bool          calc_only : 1;
-   Eina_Bool          walking_actions : 1;
-   Eina_Bool          block_break : 1;
-   Eina_Bool          delete_me : 1;
-   Eina_Bool          postponed : 1;
-   Eina_Bool          freeze_calc : 1;
-   Eina_Bool          has_entries : 1;
-   Eina_Bool          entries_inited : 1;
-#ifdef EDJE_CALC_CACHE
-   Eina_Bool          text_part_change : 1;
-   Eina_Bool          all_part_change : 1;
-#endif
-   Eina_Bool          have_mapped_part : 1;
-   Eina_Bool          recalc_call : 1;
-   Eina_Bool          update_hints : 1;
-   Eina_Bool          recalc_hints : 1;
-};
-
-struct _Edje_Calc_Params
-{
-   int              x, y, w, h; // 16
-   Edje_Rectangle   req; // 16
-   Edje_Rectangle   req_drag; // 16
-   Edje_Color       color; // 4
-   union {
-      struct {
-        struct {
-           int           x, y, w, h; // 16
-           int           angle; // 4
-           int           spread; // 4
-        } fill; // 24
-
-        union {
-           struct {
-              int           l, r, t, b; // 16
-               FLOAT_T       border_scale_by;
-           } image; // 16
-        } spec; // 16
-      } common; // 40
-      struct {
-        Edje_Alignment align; /* text alignment within bounds */ // 16
-        double         elipsis; // 8
-        int            size; // 4
-        Edje_Color     color2, color3; // 8
-      } text; // 36
-   } type; // 40
-   struct {
-      struct {
-         int x, y, z;
-      } center; // 12
-      struct {
-         FLOAT_T x, y, z;
-      } rotation; // 24
-      struct {
-         int x, y, z;
-         int r, g, b;
-         int ar, ag, ab;
-      } light; // 36
-      struct {
-         int x, y, z;
-         int focal;
-      } persp;
-   } map;
-#ifdef HAVE_EPHYSICS
-   struct {
-      double mass; // 8
-      double restitution; // 8
-      double friction; // 8
-      double density; // 8
-      double hardness; // 8
-      struct {
-         double linear; //8
-         double angular; //8
-      } damping; // 16
-      struct {
-         double linear; //8
-         double angular; //8
-      } sleep; // 16
-      int z; // 4
-      int depth; // 4
-      struct {
-         struct {
-            unsigned char x;
-            unsigned char y;
-            unsigned char z;
-         } lin; // 3
-         struct {
-            unsigned char x;
-            unsigned char y;
-            unsigned char z;
-         } ang; // 3
-      } mov_freedom; // 6
-      unsigned char backcull;
-      unsigned char material; // 1
-      unsigned char light_on; // 1
-      unsigned char ignore_part_pos; //1
-   } physics;
-#endif
-   unsigned char    persp_on : 1;
-   unsigned char    lighted : 1;
-   unsigned char    mapped : 1;
-   unsigned char    visible : 1;
-   unsigned char    smooth : 1; // 1
-}; // 96
-
-struct _Edje_Real_Part_Set
-{
-  Edje_Image_Directory_Set_Entry *entry; // 4
-  Edje_Image_Directory_Set       *set; // 4
-
-  int                             id; // 4
-};
-
-struct _Edje_Real_Part_State
-{
-   Edje_Part_Description_Common *description; // 4
-   Edje_Part_Description_Common *description_rtl; // 4
-   Edje_Real_Part        *rel1_to_x; // 4
-   Edje_Real_Part        *rel1_to_y; // 4
-   Edje_Real_Part        *rel2_to_x; // 4
-   Edje_Real_Part        *rel2_to_y; // 4
-#ifdef EDJE_CALC_CACHE
-   int                    state; // 4
-   Edje_Calc_Params       p; // 96
-#endif
-   void                  *external_params; // 4
-   Edje_Real_Part_Set    *set; // 4
-}; // 32
-// WITH EDJE_CALC_CACHE 132
-
-struct _Edje_Real_Part_Drag
-{
-   FLOAT_T              x, y; // 16
-   Edje_Position_Scale  val, size, step, page; // 64
-   struct {
-      unsigned int      count; // 4
-      int               x, y; // 8
-   } down;
-   struct {
-      int               x, y; // 8
-   } tmp;
-   unsigned char        need_reset : 1; // 4
-   Edje_Real_Part       *confine_to; // 4
-}; // 104
-
-#define EDJE_RP_TYPE_NONE 0
-#define EDJE_RP_TYPE_TEXT 1
-#define EDJE_RP_TYPE_CONTAINER 2
-#define EDJE_RP_TYPE_SWALLOW 3
-
-struct _Edje_Real_Part_Text
-{
-   void                  *entry_data; // 4
-   Edje_Real_Part        *source; // 4
-   Edje_Real_Part        *text_source; // 4
-   const char            *text; // 4
-   const char            *font; // 4
-   const char            *style; // 4
-   Edje_Position          offset; // 8
-   short                  size; // 2
-   struct {
-      unsigned char       fit_x, fit_y; // 2
-      short               in_size; // 2
-      short               out_size; // 2
-      float               elipsis; // 4
-      Evas_Coord          in_w, in_h; // 8
-      const char         *in_str; // 4
-      const char         *out_str; // 4
-      FLOAT_T             align_x, align_y; // 16
-   } cache;
-}; // 76
-// FIXME make text a potiner to struct and alloc at end
-// if part type is TEXT move common members textblock +
-// text to front and have smaller struct for textblock
-
-struct _Edje_Real_Part_Container
-{
-   Eina_List                *items; // 4 //FIXME: only if table/box
-   Edje_Part_Box_Animation  *anim; // 4 //FIXME: Used only if box
-};
-
-struct _Edje_Real_Part_Swallow
-{
-   Evas_Object        *swallowed_object; // 4 // FIXME: move with swallow_params data
-   struct {
-      Edje_Size min, max; // 16
-      Edje_Aspect aspect; // 12
-   } swallow_params; // 28 // FIXME: only if type SWALLOW
-};
-
-struct _Edje_Real_Part
-{
-   Edje                     *edje; // 4
-   Edje_Part                *part; // 4
-   int                       x, y, w, h; // 16
-   Edje_Rectangle            req; // 16
-   Evas_Object              *object; // 4
-   Evas_Object              *nested_smart; // 4
-   Edje_Real_Part_Drag      *drag; // 4
-   Edje_Real_Part          *events_to; // 4
-   FLOAT_T                   description_pos; // 8
-   Edje_Part_Description_Common *chosen_description; // 4
-   Edje_Real_Part_State      param1; // 32
-   // WITH EDJE_CALC_CACHE: 140
-   Edje_Real_Part_State     *param2, *custom; // 8
-   Edje_Calc_Params         *current; // 4
-   Edje_Real_Part           *clip_to; // 4
-   Edje_Running_Program     *program; // 4
-#ifdef HAVE_EPHYSICS
-   Edje_Part_Description_Common *prev_description; // 4
-   EPhysics_Body            *body; // 4
-   Eina_List                *body_faces; // 4
-#endif
-   union {
-      Edje_Real_Part_Text      *text;
-      Edje_Real_Part_Container *container;
-      Edje_Real_Part_Swallow   *swallow;
-   } typedata; // 4
-   int                       clicked_button; // 4
-#ifdef EDJE_CALC_CACHE
-   int                       state; // 4
-#endif
-   unsigned char             type; // 1
-   unsigned char             calculated; // 1
-   unsigned char             calculating; // 1
-   unsigned char             still_in   : 1; // 1
-#ifdef EDJE_CALC_CACHE
-   unsigned char             invalidate : 1; // 0
-#endif
-}; //  287 -> 126
-// WITH EDJE_CALC_CACHE: 404
-
-struct _Edje_Running_Program
-{
-   Edje           *edje;
-   Edje_Program   *program;
-   double          start_time;
-   Eina_Bool       delete_me : 1;
-};
-
-struct _Edje_Signal_Callback
-{
-   const char    *signal;
-   const char    *source;
-   Edje_Signal_Cb  func;
-   void           *data;
-   Eina_Bool       just_added : 1;
-   Eina_Bool       delete_me : 1;
-   Eina_Bool       propagate : 1;
-};
-
-struct _Edje_Text_Insert_Filter_Callback
-{
-   const char  *part;
-   Edje_Text_Filter_Cb func;
-   void        *data;
-};
-
-struct _Edje_Markup_Filter_Callback
-{
-   const char  *part;
-   Edje_Markup_Filter_Cb func;
-   void        *data;
-};
-
-struct _Edje_Pending_Program
-{
-   Edje         *edje;
-   Edje_Program *program;
-   Ecore_Timer  *timer;
-};
-
-struct _Edje_Text_Style
-{
-   struct {
-      unsigned char x, y;
-   } offset;
-   struct {
-      unsigned char l, r, t, b;
-   } pad;
-   int num;
-   struct {
-      unsigned char color; /* 0 = color, 1, 2 = color2, color3 */
-      signed   char x, y; /* offset */
-      unsigned char alpha;
-   } members[32];
-};
-
-struct _Edje_Color_Class
-{
-   const char    *name;
-   unsigned char  r, g, b, a;
-   unsigned char  r2, g2, b2, a2;
-   unsigned char  r3, g3, b3, a3;
-};
-
-struct _Edje_Text_Class
-{
-   const char     *name;
-   const char     *font;
-   Evas_Font_Size  size;
-};
-
-struct _Edje_Var_Int
-{
-   int      v;
-};
-
-struct _Edje_Var_Float
-{
-   double   v;
-};
-
-struct _Edje_Var_String
-{
-   char    *v;
-};
-
-struct _Edje_Var_List
-{
-   Eina_List *v;
-};
-
-struct _Edje_Var_Hash
-{
-   Eina_Hash *v;
-};
-
-struct _Edje_Var_Timer
-{
-   Edje           *edje;
-   int             id;
-   Embryo_Function func;
-   int             val;
-   Ecore_Timer    *timer;
-};
-
-struct _Edje_Var_Animator
-{
-   Edje           *edje;
-   int             id;
-   Embryo_Function func;
-   int             val;
-   double          start, len;
-   char            delete_me;
-};
-
-struct _Edje_Var_Pool
-{
-   int          id_count;
-   Eina_List   *timers;
-   Eina_List   *animators;
-   int          size;
-   Edje_Var    *vars;
-   int          walking_list;
-};
-
-struct _Edje_Var
-{
-   union {
-      Edje_Var_Int    i;
-      Edje_Var_Float  f;
-      Edje_Var_String s;
-      Edje_Var_List   l;
-      Edje_Var_Hash   h;
-   } data;
-   unsigned char type;
-};
-
-typedef enum _Edje_Queue
-{
-   EDJE_QUEUE_APP,
-     EDJE_QUEUE_SCRIPT
-} Edje_Queue;
-
-typedef struct _Edje_Message_Signal Edje_Message_Signal;
-typedef struct _Edje_Message        Edje_Message;
-
-typedef struct _Edje_Message_Signal_Data Edje_Message_Signal_Data;
-struct _Edje_Message_Signal_Data
-{
-   int ref;
-   void *data;
-   void (*free_func)(void *);
-};
-
-struct _Edje_Message_Signal
-{
-   const char *sig;
-   const char *src;
-   Edje_Message_Signal_Data *data;
-};
-
-struct _Edje_Message
-{
-   Edje              *edje;
-   Edje_Queue         queue;
-   Edje_Message_Type  type;
-   int                id;
-   unsigned char     *msg;
-   Eina_Bool          propagated : 1;
-};
-
-typedef enum _Edje_Fill
-{
-   EDJE_FILL_TYPE_SCALE = 0,
-     EDJE_FILL_TYPE_TILE
-} Edje_Fill;
-
-typedef enum _Edje_Match_Error
-{
-   EDJE_MATCH_OK,
-     EDJE_MATCH_ALLOC_ERROR,
-     EDJE_MATCH_SYNTAX_ERROR
-
-} Edje_Match_Error;
-
-typedef struct _Edje_States     Edje_States;
-struct _Edje_Patterns
-{
-   const char    **patterns;
-
-   Edje_States    *states;
-
-   int             ref;
-   Eina_Bool       delete_me : 1;
-   
-   size_t          patterns_size;
-   size_t          max_length;
-   size_t          finals[];
-};
-
-typedef enum _Edje_User_Defined_Type 
-{
-   EDJE_USER_SWALLOW,
-   EDJE_USER_BOX_PACK,
-   EDJE_USER_TABLE_PACK,
-   EDJE_USER_STRING,
-   EDJE_USER_DRAG_STEP,
-   EDJE_USER_DRAG_PAGE,
-   EDJE_USER_DRAG_VALUE,
-   EDJE_USER_DRAG_SIZE
-} Edje_User_Defined_Type;
-
-typedef struct _Edje_User_Defined Edje_User_Defined;
-struct _Edje_User_Defined
-{
-   Edje_User_Defined_Type type;
-   const char *part;
-   Edje *ed;
-
-   union {
-      struct {
-         const char *text;
-      } string;
-      struct {
-         Evas_Object *child;
-      } swallow;
-      struct {
-         Evas_Object *child;
-         int index;
-      } box;
-      struct {
-         Evas_Object *child;
-         unsigned short col;
-         unsigned short row;
-         unsigned short colspan;
-         unsigned short rowspan;
-      } table;
-      struct {
-         double x, y;
-      } drag_position;
-      struct {
-         double w, h;
-      } drag_size;
-   } u;
-};
-
-typedef struct _Edje_Font_List             Edje_Font_List;
-typedef struct _Edje_Font                  Edje_Font;
-
-struct _Edje_Font_List
-{
-   Eina_List *list;
-};
-
-struct _Edje_Font
-{
-   char *name;
-   char *file;
-};
-
-Edje_Patterns   *edje_match_collection_dir_init(const Eina_List *lst);
-Edje_Patterns   *edje_match_programs_signal_init(Edje_Program * const *array,
-                                                unsigned int count);
-Edje_Patterns   *edje_match_programs_source_init(Edje_Program * const *array,
-                                                unsigned int count);
-Edje_Patterns   *edje_match_callback_signal_init(const Eina_List *lst);
-Edje_Patterns   *edje_match_callback_source_init(const Eina_List *lst);
-
-Eina_Bool        edje_match_collection_dir_exec(const Edje_Patterns      *ppat,
-                                               const char               *string);
-Eina_Bool        edje_match_programs_exec(const Edje_Patterns    *ppat_signal,
-                                         const Edje_Patterns    *ppat_source,
-                                         const char             *signal,
-                                         const char             *source,
-                                         Edje_Program          **programs,
-                                         Eina_Bool (*func)(Edje_Program *pr, void *data),
-                                         void                   *data,
-                                          Eina_Bool               prop);
-int              edje_match_callback_exec(Edje_Patterns          *ppat_signal,
-                                         Edje_Patterns          *ppat_source,
-                                         const char             *signal,
-                                         const char             *source,
-                                         Eina_List              *callbacks,
-                                         Edje                   *ed,
-                                          Eina_Bool               prop);
-
-void             edje_match_patterns_free(Edje_Patterns *ppat);
-
-Eina_List *edje_match_program_hash_build(Edje_Program * const * programs,
-                                        unsigned int count,
-                                        Eina_Rbtree **tree);
-Eina_List *edje_match_callback_hash_build(const Eina_List *callbacks,
-                                         Eina_Rbtree **tree);
-const Eina_Array *edje_match_signal_source_hash_get(const char *signal,
-                                                   const char *source,
-                                                   const Eina_Rbtree *tree);
-void edje_match_signal_source_free(Edje_Signal_Source_Char *key, void *data);
-
-// FIXME remove below 3 eapi decls when edje_convert goes
-EAPI void _edje_edd_init(void);
-EAPI void _edje_data_font_list_desc_make(Eet_Data_Descriptor **_font_list_edd, Eet_Data_Descriptor **_font_edd);
-EAPI void _edje_edd_shutdown(void);
-
-EAPI extern Eet_Data_Descriptor *_edje_edd_edje_file;
-EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_collection;
-
-extern int              _edje_anim_count;
-extern Ecore_Animator  *_edje_timer;
-extern Eina_List       *_edje_animators;
-extern Eina_List       *_edje_edjes;
-
-extern char            *_edje_fontset_append;
-extern FLOAT_T          _edje_scale;
-extern int              _edje_freeze_val;
-extern int              _edje_freeze_calc_count;
-extern Eina_List       *_edje_freeze_calc_list;
-
-extern Eina_Bool        _edje_password_show_last;
-extern FLOAT_T          _edje_password_show_last_timeout;
-
-extern Eina_Mempool *_edje_real_part_mp;
-extern Eina_Mempool *_edje_real_part_state_mp;
-
-EAPI extern Eina_Mempool *_emp_RECTANGLE;
-EAPI extern Eina_Mempool *_emp_TEXT;
-EAPI extern Eina_Mempool *_emp_IMAGE;
-EAPI extern Eina_Mempool *_emp_PROXY;
-EAPI extern Eina_Mempool *_emp_SWALLOW;
-EAPI extern Eina_Mempool *_emp_TEXTBLOCK;
-EAPI extern Eina_Mempool *_emp_GROUP;
-EAPI extern Eina_Mempool *_emp_BOX;
-EAPI extern Eina_Mempool *_emp_TABLE;
-EAPI extern Eina_Mempool *_emp_EXTERNAL;
-EAPI extern Eina_Mempool *_emp_SPACER;
-EAPI extern Eina_Mempool *_emp_part;
-
-void  _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T v1, FLOAT_T v2);
-Edje_Part_Description_Common *_edje_part_description_find(Edje *ed,
-                                                         Edje_Real_Part *rp,
-                                                         const char *name, double val);
-void  _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char  *d1, double v1, const char *d2, double v2);
-void  _edje_recalc(Edje *ed);
-void  _edje_recalc_do(Edje *ed);
-void  _edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep);
-int   _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y);
-void  _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y);
-
-Eina_Bool _edje_timer_cb(void *data);
-Eina_Bool _edje_pending_timer_cb(void *data);
-void  _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
-void  _edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
-void  _edje_callbacks_del(Evas_Object *obj, Edje *ed);
-void  _edje_callbacks_focus_del(Evas_Object *obj, Edje *ed);
-
-EAPI void _edje_edd_init(void);
-EAPI void _edje_edd_shutdown(void);
-
-int _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested);
-
-void  _edje_file_add(Edje *ed);
-void  _edje_file_del(Edje *ed);
-void  _edje_file_free(Edje_File *edf);
-void  _edje_file_cache_shutdown(void);
-void  _edje_collection_free(Edje_File *edf,
-                           Edje_Part_Collection *ec,
-                           Edje_Part_Collection_Directory_Entry *ce);
-void  _edje_collection_free_part_description_clean(int type,
-                                                  Edje_Part_Description_Common *desc,
-                                                  Eina_Bool free_strings);
-void _edje_collection_free_part_description_free(int type,
-                                                Edje_Part_Description_Common *desc,
-                                                Edje_Part_Collection_Directory_Entry *ce,
-                                                Eina_Bool free_strings);
-
-void  _edje_del(Edje *ed);
-void  _edje_ref(Edje *ed);
-void  _edje_unref(Edje *ed);
-void  _edje_clean_objects(Edje *ed);
-void  _edje_ref(Edje *ed);
-void  _edje_unref(Edje *ed);
-
-Eina_Bool _edje_program_run_iterate(Edje_Running_Program *runp, double tim);
-void  _edje_program_end(Edje *ed, Edje_Running_Program *runp);
-void  _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, const char *ssrc);
-void _edje_programs_patterns_clean(Edje *ed);
-void _edje_programs_patterns_init(Edje *ed);
-void  _edje_emit(Edje *ed, const char *sig, const char *src);
-void _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*free_func)(void *));
-void _edje_emit_handle(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop);
-void  _edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp);
-void  _edje_callbacks_patterns_clean(Edje *ed);
-
-void           _edje_text_init(void);
-void           _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
-void           _edje_text_part_on_del(Edje *ed, Edje_Part *ep);
-void           _edje_text_recalc_apply(Edje *ed,
-                                      Edje_Real_Part *ep,
-                                      Edje_Calc_Params *params,
-                                      Edje_Part_Description_Text *chosen_desc);
-Evas_Font_Size _edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc);
-const char *   _edje_text_class_font_get(Edje *ed,
-                                        Edje_Part_Description_Text *chosen_desc,
-                                        int *size, char **free_later);
-
-
-Edje_Real_Part   *_edje_real_part_get(const Edje *ed, const char *part);
-Edje_Real_Part   *_edje_real_part_recursive_get(const Edje *ed, const char *part);
-Edje_Color_Class *_edje_color_class_find(const Edje *ed, const char *color_class);
-void              _edje_color_class_member_direct_del(const char *color_class, void *lookup);
-void              _edje_color_class_member_add(Edje *ed, const char *color_class);
-void              _edje_color_class_member_del(Edje *ed, const char *color_class);
-void              _edje_color_class_on_del(Edje *ed, Edje_Part *ep);
-void              _edje_color_class_members_free(void);
-void              _edje_color_class_hash_free(void);
-
-Edje_Text_Class  *_edje_text_class_find(Edje *ed, const char *text_class);
-void              _edje_text_class_member_add(Edje *ed, const char *text_class);
-void              _edje_text_class_member_del(Edje *ed, const char *text_class);
-void              _edje_text_class_member_direct_del(const char *text_class, void *lookup);
-void              _edje_text_class_members_free(void);
-void              _edje_text_class_hash_free(void);
-
-Edje             *_edje_fetch(const Evas_Object *obj) EINA_PURE;
-int               _edje_freeze(Edje *ed);
-int               _edje_thaw(Edje *ed);
-int               _edje_block(Edje *ed);
-int               _edje_unblock(Edje *ed);
-int               _edje_block_break(Edje *ed);
-void              _edje_block_violate(Edje *ed);
-void              _edje_object_part_swallow_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-void              _edje_object_part_swallow_changed_hints_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-void              _edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow, Eina_Bool hints_update);
-void              _edje_real_part_swallow_clear(Edje_Real_Part *rp);
-void              _edje_box_init(void);
-void              _edje_box_shutdown(void);
-Eina_Bool         _edje_box_layout_find(const char *name, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data));
-void              _edje_box_recalc_apply(Edje *ed __UNUSED__, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Box *chosen_desc);
-Eina_Bool         _edje_box_layout_add_child(Edje_Real_Part *rp, Evas_Object *child_obj);
-void              _edje_box_layout_remove_child(Edje_Real_Part *rp, Evas_Object *child_obj);
-Edje_Part_Box_Animation * _edje_box_layout_anim_new(Evas_Object *box);
-void              _edje_box_layout_free_data(void *data);
-
-Eina_Bool         _edje_real_part_box_append(Edje_Real_Part *rp, Evas_Object *child_obj);
-Eina_Bool         _edje_real_part_box_prepend(Edje_Real_Part *rp, Evas_Object *child_obj);
-Eina_Bool         _edje_real_part_box_insert_before(Edje_Real_Part *rp, Evas_Object *child_obj, const Evas_Object *ref);
-Eina_Bool         _edje_real_part_box_insert_at(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned int pos);
-Evas_Object      *_edje_real_part_box_remove(Edje_Real_Part *rp, Evas_Object *child_obj);
-Evas_Object      *_edje_real_part_box_remove_at(Edje_Real_Part *rp, unsigned int pos);
-Eina_Bool         _edje_real_part_box_remove_all(Edje_Real_Part *rp, Eina_Bool clear);
-Eina_Bool         _edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
-Eina_Bool         _edje_real_part_table_unpack(Edje_Real_Part *rp, Evas_Object *child_obj);
-void              _edje_real_part_table_clear(Edje_Real_Part *rp, Eina_Bool clear);
-Evas_Object      *_edje_children_get(Edje_Real_Part *rp, const char *partid);
-
-Eina_Bool         _edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text);
-char             *_edje_text_escape(const char *text);
-char             *_edje_text_unescape(const char *text);
-
-void          _edje_embryo_script_init      (Edje_Part_Collection *edc);
-void          _edje_embryo_script_shutdown  (Edje_Part_Collection *edc);
-void          _edje_embryo_script_reset     (Edje *ed);
-void          _edje_embryo_test_run         (Edje *ed, const char *fname, const char *sig, const char *src);
-Edje_Var     *_edje_var_new                 (void);
-void          _edje_var_free                (Edje_Var *var);
-void          _edje_var_init                (Edje *ed);
-void          _edje_var_shutdown            (Edje *ed);
-int           _edje_var_string_id_get       (Edje *ed, const char *string);
-int           _edje_var_var_int_get         (Edje *ed, Edje_Var *var);
-void          _edje_var_var_int_set         (Edje *ed, Edje_Var *var, int v);
-double        _edje_var_var_float_get       (Edje *ed, Edje_Var *var);
-void          _edje_var_var_float_set       (Edje *ed, Edje_Var *var, double v);
-const char   *_edje_var_var_str_get         (Edje *ed, Edje_Var *var);
-void          _edje_var_var_str_set         (Edje *ed, Edje_Var *var, const char *str);
-int           _edje_var_int_get             (Edje *ed, int id);
-void          _edje_var_int_set             (Edje *ed, int id, int v);
-double        _edje_var_float_get           (Edje *ed, int id);
-void          _edje_var_float_set           (Edje *ed, int id, double v);
-const char   *_edje_var_str_get             (Edje *ed, int id);
-void          _edje_var_str_set             (Edje *ed, int id, const char *str);
-
-void          _edje_var_list_var_append(Edje *ed, int id, Edje_Var *var);
-void          _edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var);
-void          _edje_var_list_var_append_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
-void          _edje_var_list_var_prepend_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
-Edje_Var     *_edje_var_list_nth(Edje *ed, int id, int n);
-
-int           _edje_var_list_count_get(Edje *ed, int id);
-void          _edje_var_list_remove_nth(Edje *ed, int id, int n);
-
-int           _edje_var_list_nth_int_get(Edje *ed, int id, int n);
-void          _edje_var_list_nth_int_set(Edje *ed, int id, int n, int v);
-void          _edje_var_list_int_append(Edje *ed, int id, int v);
-void          _edje_var_list_int_prepend(Edje *ed, int id, int v);
-void          _edje_var_list_int_insert(Edje *ed, int id, int n, int v);
-
-double        _edje_var_list_nth_float_get(Edje *ed, int id, int n);
-void          _edje_var_list_nth_float_set(Edje *ed, int id, int n, double v);
-void          _edje_var_list_float_append(Edje *ed, int id, double v);
-void          _edje_var_list_float_prepend(Edje *ed, int id, double v);
-void          _edje_var_list_float_insert(Edje *ed, int id, int n, double v);
-
-const char   *_edje_var_list_nth_str_get(Edje *ed, int id, int n);
-void          _edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v);
-void          _edje_var_list_str_append(Edje *ed, int id, const char *v);
-void          _edje_var_list_str_prepend(Edje *ed, int id, const char *v);
-void          _edje_var_list_str_insert(Edje *ed, int id, int n, const char *v);
-
-int           _edje_var_timer_add           (Edje *ed, double in, const char *fname, int val);
-void          _edje_var_timer_del           (Edje *ed, int id);
-
-int           _edje_var_anim_add            (Edje *ed, double len, const char *fname, int val);
-void          _edje_var_anim_del            (Edje *ed, int id);
-
-void          _edje_message_init            (void);
-void          _edje_message_shutdown        (void);
-void          _edje_message_cb_set          (Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data);
-Edje_Message *_edje_message_new             (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id);
-void          _edje_message_free            (Edje_Message *em);
-void          _edje_message_propornot_send  (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg, Eina_Bool prop);
-void          _edje_message_send            (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg);
-void          _edje_message_parameters_push (Edje_Message *em);
-void          _edje_message_process         (Edje_Message *em);
-void          _edje_message_queue_process   (void);
-void          _edje_message_queue_clear     (void);
-void          _edje_message_del             (Edje *ed);
-
-void _edje_textblock_styles_add(Edje *ed);
-void _edje_textblock_styles_del(Edje *ed);
-void _edje_textblock_style_all_update(Edje *ed);
-void _edje_textblock_style_parse_and_fix(Edje_File *edf);
-void _edje_textblock_style_cleanup(Edje_File *edf);
-Edje_File *_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed);
-void _edje_cache_coll_clean(Edje_File *edf);
-void _edje_cache_coll_flush(Edje_File *edf);
-void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc);
-EAPI void edje_cache_emp_alloc(Edje_Part_Collection_Directory_Entry *ce);
-EAPI void edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce);
-EAPI void _edje_cache_file_unref(Edje_File *edf);
-
-void _edje_embryo_globals_init(Edje *ed);
-
-#define CHKPARAM(n) if (params[0] != (sizeof(Embryo_Cell) * (n))) return -1;
-#define HASNPARAMS(n) (params[0] == (sizeof(Embryo_Cell) * (n)))
-#define GETSTR(str, par) { \
-   Embryo_Cell *___cptr; \
-   int ___l; \
-   str = NULL; \
-   if ((___cptr = embryo_data_address_get(ep, (par)))) { \
-      ___l = embryo_data_string_length_get(ep, ___cptr); \
-      if (((str) = alloca(___l + 1))) \
-       embryo_data_string_get(ep, ___cptr, (str)); } }
-#define GETSTREVAS(str, par) { \
-   if ((str)) { \
-      if ((par) && (!strcmp((par), (str)))) return 0; \
-      if ((par)) eina_stringshare_del((par)); \
-      (par) = (char *)eina_stringshare_add((str)); } \
-   else (par) = NULL; }
-#define GETFLOAT(val, par) { \
-   float *___cptr; \
-   if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
-      val = *___cptr; } }
-
-#define GETFLOAT_T(val, par)                                           \
-  {                                                                    \
-     float *___cptr;                                                   \
-     if ((___cptr = (float *)embryo_data_address_get(ep, (par))))      \
-       {                                                               \
-         val = FROM_DOUBLE(*___cptr);                                  \
-       }                                                               \
-  }
-
-#define GETINT(val, par) {                     \
-   int *___cptr; \
-   if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
-      val = *___cptr; } }
-#define SETSTR(str, par) { \
-   Embryo_Cell *___cptr; \
-   if ((___cptr = embryo_data_address_get(ep, (par)))) { \
-      embryo_data_string_set(ep, str, ___cptr); } }
-#define SETSTRALLOCATE(s)                      \
-  {                                            \
-     if (s) {                                  \
-       if ((int) strlen((s)) < params[4]) {    \
-          SETSTR((s), params[3]); }            \
-       else {                                  \
-          char *ss;                            \
-          ss = alloca(strlen((s)) + 1);        \
-          strcpy(ss, (s));                     \
-          ss[params[4] - 2] = 0;               \
-          SETSTR(ss, params[3]); } }           \
-     else                                      \
-       SETSTR("", params[3]);                  \
-  }
-#define SETFLOAT(val, par) { \
-   float *___cptr; \
-   if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
-      *___cptr = (float)val; } }
-#define SETFLOAT_T(val, par)                                           \
-  {                                                                    \
-     float *___cptr;                                                   \
-     if ((___cptr = (float *)embryo_data_address_get(ep, (par))))      \
-       {                                                               \
-         *___cptr = (float) TO_DOUBLE(val);                            \
-       }                                                               \
-  }
-#define SETINT(val, par) { \
-   int *___cptr; \
-   if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
-      *___cptr = (int)val; } }
-
-Eina_Bool _edje_script_only(Edje *ed);
-void _edje_script_only_init(Edje *ed);
-void _edje_script_only_shutdown(Edje *ed);
-void _edje_script_only_show(Edje *ed);
-void _edje_script_only_hide(Edje *ed);
-void _edje_script_only_move(Edje *ed);
-void _edje_script_only_resize(Edje *ed);
-void _edje_script_only_message(Edje *ed, Edje_Message *em);
-
-extern jmp_buf _edje_lua_panic_jmp;
-#define _edje_lua_panic_here() setjmp(_edje_lua_panic_jmp)
-
-lua_State *_edje_lua_state_get();
-lua_State *_edje_lua_new_thread(Edje *ed, lua_State *L);
-void _edje_lua_free_thread(Edje *ed, lua_State *L);
-void _edje_lua_new_reg(lua_State *L, int index, void *ptr);
-void _edje_lua_get_reg(lua_State *L, void *ptr);
-void _edje_lua_free_reg(lua_State *L, void *ptr);
-void _edje_lua_script_fn_new(Edje *ed);
-void _edje_lua_group_fn_new(Edje *ed);
-void _edje_lua_init();
-void _edje_lua_shutdown();
-
-void __edje_lua_error(const char *file, const char *fnc, int line, lua_State *L, int err_code);
-#define _edje_lua_error(L, err_code)                                   \
-  __edje_lua_error(__FILE__, __FUNCTION__, __LINE__, L, err_code)
-
-Eina_Bool  _edje_lua_script_only(Edje *ed);
-void _edje_lua_script_only_init(Edje *ed);
-void _edje_lua_script_only_shutdown(Edje *ed);
-void _edje_lua_script_only_show(Edje *ed);
-void _edje_lua_script_only_hide(Edje *ed);
-void _edje_lua_script_only_move(Edje *ed);
-void _edje_lua_script_only_resize(Edje *ed);
-void _edje_lua_script_only_message(Edje *ed, Edje_Message *em);
-
-void _edje_entry_init(Edje *ed);
-void _edje_entry_shutdown(Edje *ed);
-void _edje_entry_real_part_init(Edje_Real_Part *rp);
-void _edje_entry_real_part_shutdown(Edje_Real_Part *rp);
-void _edje_entry_real_part_configure(Edje_Real_Part *rp);
-const char *_edje_entry_selection_get(Edje_Real_Part *rp);
-const char *_edje_entry_text_get(Edje_Real_Part *rp);
-void _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text);
-void _edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text);
-void _edje_entry_text_markup_append(Edje_Real_Part *rp, const char *text);
-void _edje_entry_set_cursor_start(Edje_Real_Part *rp);
-void _edje_entry_set_cursor_end(Edje_Real_Part *rp);
-void _edje_entry_cursor_copy(Edje_Real_Part *rp, Edje_Cursor cur, Edje_Cursor dst);
-void _edje_entry_select_none(Edje_Real_Part *rp);
-void _edje_entry_select_all(Edje_Real_Part *rp);
-void _edje_entry_select_begin(Edje_Real_Part *rp);
-void _edje_entry_select_extend(Edje_Real_Part *rp);
-const Eina_List *_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char *anchor);
-const Eina_List *_edje_entry_anchors_list(Edje_Real_Part *rp);
-Eina_Bool _edje_entry_item_geometry_get(Edje_Real_Part *rp, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
-const Eina_List *_edje_entry_items_list(Edje_Real_Part *rp);
-void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
-void _edje_entry_user_insert(Edje_Real_Part *rp, const char *text);
-void _edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow);
-Eina_Bool _edje_entry_select_allow_get(const Edje_Real_Part *rp);
-void _edje_entry_select_abort(Edje_Real_Part *rp);
-void *_edje_entry_imf_context_get(Edje_Real_Part *rp);
-Eina_Bool _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur);
-Eina_Bool _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur);
-Eina_Bool _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur);
-Eina_Bool _edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur);
-Eina_Bool _edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur, int x, int y);
-Eina_Bool _edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
-Eina_Bool _edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
-char *_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos);
-int _edje_entry_cursor_pos_get(Edje_Real_Part *rp, Edje_Cursor cur);
-void _edje_entry_imf_context_reset(Edje_Real_Part *rp);
-void _edje_entry_input_panel_layout_set(Edje_Real_Part *rp, Edje_Input_Panel_Layout layout);
-Edje_Input_Panel_Layout _edje_entry_input_panel_layout_get(Edje_Real_Part *rp);
-void _edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type);
-Edje_Text_Autocapital_Type _edje_entry_autocapital_type_get(Edje_Real_Part *rp);
-void _edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction);
-Eina_Bool _edje_entry_prediction_allow_get(Edje_Real_Part *rp);
-void _edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled);
-Eina_Bool _edje_entry_input_panel_enabled_get(Edje_Real_Part *rp);
-void _edje_entry_input_panel_show(Edje_Real_Part *rp);
-void _edje_entry_input_panel_hide(Edje_Real_Part *rp);
-void _edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang);
-Edje_Input_Panel_Lang _edje_entry_input_panel_language_get(Edje_Real_Part *rp);
-void _edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len);
-void _edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len);
-void _edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type);
-Edje_Input_Panel_Return_Key_Type _edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp);
-void _edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled);
-Eina_Bool _edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp);
-
-void _edje_external_init();
-void _edje_external_shutdown();
-Evas_Object *_edje_external_type_add(const char *type_name, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name);
-void _edje_external_signal_emit(Evas_Object *obj, const char *emission, const char *source);
-Eina_Bool _edje_external_param_set(Evas_Object *obj, Edje_Real_Part *rp, const Edje_External_Param *param) EINA_ARG_NONNULL(2);
-Eina_Bool _edje_external_param_get(const Evas_Object *obj, Edje_Real_Part *rp, Edje_External_Param *param) EINA_ARG_NONNULL(2);
-Evas_Object *_edje_external_content_get(const Evas_Object *obj, const char *content) EINA_ARG_NONNULL(1, 2);
-void _edje_external_params_free(Eina_List *params, Eina_Bool free_strings);
-void _edje_external_recalc_apply(Edje *ed, Edje_Real_Part *ep,
-                                Edje_Calc_Params *params,
-                                Edje_Part_Description_Common *chosen_desc);
-void *_edje_external_params_parse(Evas_Object *obj, const Eina_List *params);
-void _edje_external_parsed_params_free(Evas_Object *obj, void *params);
-
-Eina_Module *_edje_module_handle_load(const char *module);
-void _edje_module_init();
-void _edje_module_shutdown();
-
-static inline Eina_Bool
-edje_program_is_strncmp(const char *str)
-{
-   size_t length;
-
-   length = strlen(str);
-
-   if (strpbrk(str, "*?[\\") != str + length)
-     return EINA_FALSE;
-   if (str[length] == '['
-       || str[length] == '\\')
-     return EINA_FALSE;
-   return EINA_TRUE;
-}
-
-static inline Eina_Bool
-edje_program_is_strrncmp(const char *str)
-{
-   if (*str != '*' && *str != '?')
-     return EINA_FALSE;
-   if (strpbrk(str + 1, "*?[\\"))
-     return EINA_FALSE;
-   return EINA_TRUE;
-}
-void edje_object_propagate_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data);
-
-
-/* used by edje_cc - private still */
-EAPI void _edje_program_insert(Edje_Part_Collection *ed, Edje_Program *p);
-EAPI void _edje_program_remove(Edje_Part_Collection *ed, Edje_Program *p);
-
-void _edje_lua2_error_full(const char *file, const char *fnc, int line, lua_State *L, int err_code);
-#define _edje_lua2_error(L, err_code) _edje_lua2_error_full(__FILE__, __FUNCTION__, __LINE__, L, err_code)
-void _edje_lua2_script_init(Edje *ed);
-void _edje_lua2_script_shutdown(Edje *ed);
-void _edje_lua2_script_load(Edje_Part_Collection *edc, void *data, int size);
-void _edje_lua2_script_unload(Edje_Part_Collection *edc);
-
-void _edje_lua2_script_func_shutdown(Edje *ed);
-void _edje_lua2_script_func_show(Edje *ed);
-void _edje_lua2_script_func_hide(Edje *ed);
-void _edje_lua2_script_func_move(Edje *ed);
-void _edje_lua2_script_func_resize(Edje *ed);
-void _edje_lua2_script_func_message(Edje *ed, Edje_Message *em);
-void _edje_lua2_script_func_signal(Edje *ed, const char *sig, const char *src);
-
-const char *edje_string_get(const Edje_String *es);
-const char *edje_string_id_get(const Edje_String *es);
-
-void _edje_object_orientation_inform(Evas_Object *obj);
-
-void _edje_lib_ref(void);
-void _edje_lib_unref(void);
-
-void _edje_subobj_register(Edje *ed, Evas_Object *ob);
-void _edje_subobj_unregister(Edje *ed, Evas_Object *ob);
-
-void _edje_multisense_init(void);
-void _edje_multisense_shutdown(void);
-Eina_Bool _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed);
-Eina_Bool _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration);
-
-void _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *state);
-
-void _edje_user_definition_remove(Edje_User_Defined *eud, Evas_Object *child);
-void _edje_user_definition_free(Edje_User_Defined *eud);
-
-void _scale_set(Eo *obj, void *_pd, va_list *list);
-void _scale_get(Eo *obj, void *_pd, va_list *list);
-void _mirrored_get(Eo *obj, void *_pd, va_list *list);
-void _mirrored_set(Eo *obj, void *_pd, va_list *list);
-void _data_get(Eo *obj, void *_pd, va_list *list);
-void _freeze(Eo *obj, void *_pd, va_list *list);
-void _thaw(Eo *obj, void *_pd, va_list *list);
-void _color_class_set(Eo *obj, void *_pd, va_list *list);
-void _color_class_get(Eo *obj, void *_pd, va_list *list);
-void _text_class_set(Eo *obj, void *_pd, va_list *list);
-void _part_exists(Eo *obj, void *_pd, va_list *list);
-void _part_object_get(Eo *obj, void *_pd, va_list *list);
-void _part_geometry_get(Eo *obj, void *_pd, va_list *list);
-void _item_provider_set(Eo *obj, void *_pd, va_list *list);
-void _text_change_cb_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_style_user_push(Eo *obj, void *_pd, va_list *list);
-void _part_text_style_user_pop(Eo *obj, void *_pd, va_list *list);
-void _part_text_style_user_peek(Eo *obj, void *_pd, va_list *list);
-void _part_text_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_escaped_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_unescaped_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_unescaped_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_selection_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_none(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_all(Eo *obj, void *_pd, va_list *list);
-void _part_text_insert(Eo *obj, void *_pd, va_list *list);
-void _part_text_append(Eo *obj, void *_pd, va_list *list);
-void _part_text_anchor_list_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_anchor_geometry_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_item_list_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_item_geometry_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_geometry_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_user_insert(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_allow_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_abort(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_begin(Eo *obj, void *_pd, va_list *list);
-void _part_text_select_extend(Eo *obj, void *_pd, va_list *list);
-void _part_text_imf_context_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_next(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_prev(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_up(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_down(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_begin_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_end_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_copy(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_line_begin_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_line_end_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_coord_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_is_format_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_is_visible_format_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_content_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_pos_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_cursor_pos_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_imf_context_reset(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_layout_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_layout_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_autocapital_type_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_autocapital_type_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_prediction_allow_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_prediction_allow_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_enabled_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_enabled_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_show(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_hide(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_language_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_language_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_imdata_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_imdata_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_return_key_type_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_return_key_type_get(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_return_key_disabled_set(Eo *obj, void *_pd, va_list *list);
-void _part_text_input_panel_return_key_disabled_get(Eo *obj, void *_pd, va_list *list);
-void _text_insert_filter_callback_add(Eo *obj, void *_pd, va_list *list);
-void _text_insert_filter_callback_del(Eo *obj, void *_pd, va_list *list);
-void _text_insert_filter_callback_del_full(Eo *obj, void *_pd, va_list *list);
-void _text_markup_filter_callback_add(Eo *obj, void *_pd, va_list *list);
-void _text_markup_filter_callback_del(Eo *obj, void *_pd, va_list *list);
-void _text_markup_filter_callback_del_full(Eo *obj, void *_pd, va_list *list);
-void _part_swallow(Eo *obj, void *_pd, va_list *list);
-void _part_unswallow(Eo *obj, void *_pd, va_list *list);
-void _part_swallow_get(Eo *obj, void *_pd, va_list *list);
-void _size_min_get(Eo *obj, void *_pd, va_list *list);
-void _size_max_get(Eo *obj, void *_pd, va_list *list);
-void _calc_force(Eo *obj, void *_pd, va_list *list);
-void _size_min_calc(Eo *obj, void *_pd, va_list *list);
-void _parts_extends_calc(Eo *obj, void *_pd, va_list *list);
-void _size_min_restricted_calc(Eo *obj, void *_pd, va_list *list);
-void _part_state_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_dir_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_value_set(Eo *obj, void *_pd, va_list *list);
-void _part_drag_value_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_size_set(Eo *obj, void *_pd, va_list *list);
-void _part_drag_size_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_step_set(Eo *obj, void *_pd, va_list *list);
-void _part_drag_step_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_page_set(Eo *obj, void *_pd, va_list *list);
-void _part_drag_page_get(Eo *obj, void *_pd, va_list *list);
-void _part_drag_step(Eo *obj, void *_pd, va_list *list);
-void _part_drag_page(Eo *obj, void *_pd, va_list *list);
-void _part_box_append(Eo *obj, void *_pd, va_list *list);
-void _part_box_prepend(Eo *obj, void *_pd, va_list *list);
-void _part_box_insert_before(Eo *obj, void *_pd, va_list *list);
-void _part_box_insert_at(Eo *obj, void *_pd, va_list *list);
-void _part_box_remove(Eo *obj, void *_pd, va_list *list);
-void _part_box_remove_at(Eo *obj, void *_pd, va_list *list);
-void _part_box_remove_all(Eo *obj, void *_pd, va_list *list);
-void _access_part_list_get(Eo *obj, void *_pd, va_list *list);
-void _part_table_child_get(Eo *obj, void *_pd, va_list *list);
-void _part_table_pack(Eo *obj, void *_pd, va_list *list);
-void _part_table_unpack(Eo *obj, void *_pd, va_list *list);
-void _part_table_col_row_size_get(Eo *obj, void *_pd, va_list *list);
-void _part_table_clear(Eo *obj, void *_pd, va_list *list);
-void _perspective_set(Eo *obj, void *_pd, va_list *list);
-void _perspective_get(Eo *obj, void *_pd, va_list *list);
-void _preload(Eo *obj, void *_pd, va_list *list);
-void _update_hints_set(Eo *obj, void *_pd, va_list *list);
-void _update_hints_get(Eo *obj, void *_pd, va_list *list);
-
-void _part_external_object_get(Eo *obj, void *_pd, va_list *list);
-void _part_external_param_set(Eo *obj, void *_pd, va_list *list);
-void _part_external_param_get(Eo *obj, void *_pd, va_list *list);
-void _part_external_content_get(Eo *obj, void *_pd, va_list *list);
-void _part_external_param_type_get(Eo *obj, void *_pd, va_list *list);
-
-void _file_get(Eo *obj, void *_pd, va_list *list);
-void _load_error_get(Eo *obj, void *_pd, va_list *list);
-
-void _message_send(Eo *obj, void *_pd, va_list *list);
-void _message_handler_set(Eo *obj, void *_pd, va_list *list);
-void _message_signal_process(Eo *obj, void *_pd, va_list *list);
-
-void _signal_callback_add(Eo *obj, void *_pd, va_list *list);
-void _signal_callback_del(Eo *obj, void *_pd, va_list *list);
-void _signal_callback_del_full(Eo *obj, void *_pd, va_list *list);
-void _signal_emit(Eo *obj, void *_pd, va_list *list);
-void _play_set(Eo *obj, void *_pd, va_list *list);
-void _play_get(Eo *obj, void *_pd, va_list *list);
-void _animation_set(Eo *obj, void *_pd, va_list *list);
-void _animation_get(Eo *obj, void *_pd, va_list *list);
-
-#ifdef HAVE_LIBREMIX
-#include <remix/remix.h>
-#endif
-#include <Eina.h>
-
-typedef struct _Edje_Multisense_Env  Edje_Multisense_Env;
-
-struct _Edje_Multisense_Env
-{
-#ifdef HAVE_LIBREMIX
-   RemixEnv *remixenv;
-#endif
-};
-
-typedef Eina_Bool (*MULTISENSE_FACTORY_INIT_FUNC) (Edje_Multisense_Env *);
-#ifdef HAVE_LIBREMIX
-typedef RemixBase* (*MULTISENSE_SOUND_PLAYER_GET_FUNC) (Edje_Multisense_Env *);
-#endif
-
-#endif
diff --git a/legacy/edje/src/lib/edje_program.c b/legacy/edje/src/lib/edje_program.c
deleted file mode 100644 (file)
index f1e8a77..0000000
+++ /dev/null
@@ -1,2335 +0,0 @@
-#include "edje_private.h"
-
-static void _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop);
-static void _edje_param_copy(Edje_Real_Part *src_part, const char *src_param, Edje_Real_Part *dst_part, const char *dst_param);
-static void _edje_param_set(Edje_Real_Part *part, const char *param, const char *value);
-
-int             _edje_anim_count = 0;
-Ecore_Animator *_edje_timer = NULL;
-Eina_List      *_edje_animators = NULL;
-
-
-/*============================================================================*
- *                                   API                                      *
- *============================================================================*/
-
-EAPI void
-edje_frametime_set(double t)
-{
-   ecore_animator_frametime_set(t);
-}
-
-EAPI double
-edje_frametime_get(void)
-{
-   return ecore_animator_frametime_get();
-}
-
-void
-edje_object_propagate_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
-{
-   Edje *ed;
-   Edje_Signal_Callback *escb;
-
-   ed = _edje_fetch(obj);
-   if (!ed) return;
-   if (ed->delete_me) return;
-   escb = calloc(1, sizeof(Edje_Signal_Callback));
-   escb->propagate = EINA_TRUE;
-   escb->signal = eina_stringshare_add("*");
-   escb->source = eina_stringshare_add("*");
-   escb->func = func;
-   escb->data = data;
-   ed->callbacks = eina_list_append(ed->callbacks, escb);
-   if (ed->walking_callbacks)
-     {
-       escb->just_added = 1;
-       ed->just_added_callbacks = EINA_TRUE;
-     }
-   else
-     _edje_callbacks_patterns_clean(ed);
-}
-
-EAPI void
-edje_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_signal_callback_add(emission, source, (Edje_Signal_Cb)func, data));
-}
-
-void
-_signal_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *emission = va_arg(*list, const char *);
-   const char *source = va_arg(*list, const char *);
-   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
-   void *data = va_arg(*list, void *);
-
-   Edje *ed = _pd;
-   Edje_Signal_Callback *escb;
-
-   if ((!emission) || (!source) || (!func)) return;
-   ed = _pd;
-   if (!ed) return;
-   if (ed->delete_me) return;
-   escb = calloc(1, sizeof(Edje_Signal_Callback));
-   if (emission[0])
-     escb->signal = eina_stringshare_add(emission);
-   if (source[0])
-     escb->source = eina_stringshare_add(source);
-   escb->func = func;
-   escb->data = data;
-   ed->callbacks = eina_list_append(ed->callbacks, escb);
-   if (ed->walking_callbacks)
-     {
-       escb->just_added = 1;
-       ed->just_added_callbacks = EINA_TRUE;
-     }
-   else
-     _edje_callbacks_patterns_clean(ed);
-}
-
-EAPI void *
-edje_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source))
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_signal_callback_del(emission, source, (Edje_Signal_Cb)func, &ret));
-   return ret;
-}
-
-void
-_signal_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *emission = va_arg(*list, const char *);
-   const char *source = va_arg(*list, const char *);
-   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
-   void **ret = va_arg(*list, void **);
-   if (ret) *ret = NULL;
-
-   Edje *ed = _pd;
-   Eina_List *l;
-   Edje_Signal_Callback *escb;
-
-   if ((!emission) || (!source) || (!func)) return;
-   if (!ed) return;
-   if (ed->delete_me) return;
-   EINA_LIST_FOREACH(ed->callbacks, l, escb)
-     {
-       if ((escb->func == func) &&
-           ((!escb->signal && !emission[0]) ||
-             (escb->signal && !strcmp(escb->signal, emission))) &&
-           ((!escb->source && !source[0]) ||
-             (escb->source && !strcmp(escb->source, source))))
-         {
-            void *data;
-
-            data = escb->data;
-            if (ed->walking_callbacks)
-              {
-                 escb->delete_me = EINA_TRUE;
-                 ed->delete_callbacks = EINA_TRUE;
-              }
-            else
-              {
-                 _edje_callbacks_patterns_clean(ed);
-
-                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
-                 if (escb->signal) eina_stringshare_del(escb->signal);
-                 if (escb->source) eina_stringshare_del(escb->source);
-                 free(escb);
-              }
-            if (ret) *ret = data;
-             return;
-         }
-     }
-   return;
-}
-
-EAPI void *
-edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_signal_callback_del_full(emission, source, func, data, &ret));
-   return ret;
-}
-
-void
-_signal_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *emission = va_arg(*list, const char *);
-   const char *source = va_arg(*list, const char *);
-   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
-   void *data = va_arg(*list, void *);
-   void **ret = va_arg(*list, void **);
-   if (ret) *ret = NULL;
-
-   Edje *ed = _pd;
-   Eina_List *l;
-   Edje_Signal_Callback *escb;
-
-   if ((!emission) || (!source) || (!func)) return;
-   if (!ed) return;
-   if (ed->delete_me) return;
-   EINA_LIST_FOREACH(ed->callbacks, l, escb)
-     {
-       if ((escb->func == func) && (escb->data == data) &&
-           ((!escb->signal && !emission[0]) ||
-             (escb->signal && !strcmp(escb->signal, emission))) &&
-           ((!escb->source && !source[0]) ||
-             (escb->source && !strcmp(escb->source, source))))
-         {
-            void *data2;
-
-            data2 = escb->data;
-            if (ed->walking_callbacks)
-              {
-                 escb->delete_me = EINA_TRUE;
-                 ed->delete_callbacks = EINA_TRUE;
-              }
-            else
-              {
-                 _edje_callbacks_patterns_clean(ed);
-
-                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
-                 if (escb->signal) eina_stringshare_del(escb->signal);
-                 if (escb->source) eina_stringshare_del(escb->source);
-                 free(escb);
-              }
-            if (ret) *ret = data2;
-             return;
-         }
-     }
-   return;
-}
-
-EAPI void
-edje_object_signal_emit(Evas_Object *obj, const char *emission, const char *source)
-{
-   if (!obj) return;
-   if (!eo_isa(obj, EDJE_OBJ_CLASS)) return;
-   eo_do(obj, edje_obj_signal_emit(emission, source));
-}
-
-void
-_signal_emit(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *emission = va_arg(*list, const char *);
-   const char *source = va_arg(*list, const char *);
-   Edje *ed;
-
-   if ((!emission) || (!source)) return;
-   ed = _pd;
-   if (!ed) return;
-   if (ed->delete_me) return;
-   _edje_emit(ed, (char *)emission, (char *)source);
-}
-
-/* FIXDOC: Verify/Expand */
-EAPI void
-edje_object_play_set(Evas_Object *obj, Eina_Bool play)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_play_set(play));
-}
-
-void
-_play_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool play = va_arg(*list, int);
-
-   Edje *ed = _pd;
-   double t;
-   Eina_List *l;
-   Edje_Running_Program *runp;
-   unsigned int i;
-
-   if (!ed) return;
-   if (ed->delete_me) return;
-   if (play)
-     {
-       if (!ed->paused) return;
-       ed->paused = EINA_FALSE;
-       t = ecore_time_get() - ed->paused_at;
-       EINA_LIST_FOREACH(ed->actions, l, runp)
-         runp->start_time += t;
-     }
-   else
-     {
-       if (ed->paused) return;
-       ed->paused = EINA_TRUE;
-       ed->paused_at = ecore_time_get();
-     }
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-       Edje_Real_Part *rp;
-       rp = ed->table_parts[i];
-       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-         edje_object_play_set(rp->typedata.swallow->swallowed_object, play);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_play_get(const Evas_Object *obj)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_play_get(&ret));
-   return ret;
-}
-
-void
-_play_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   *ret = EINA_FALSE;
-
-   if (!ed) return;
-   if (ed->delete_me) return;
-   if (ed->paused) return;
-   *ret = EINA_TRUE;
-}
-
-/* FIXDOC: Verify/Expand */
-EAPI void
-edje_object_animation_set(Evas_Object *obj, Eina_Bool on)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_animation_set(on));
-}
-
-void
-_animation_set(Eo *obj, void *_pd, va_list *list)
-{
-   Eina_Bool on = va_arg(*list, int);
-   Edje *ed = _pd;
-   Eina_List *l;
-   unsigned int i;
-
-   if (!ed) return;
-   if (ed->delete_me) return;
-   _edje_block(ed);
-   ed->no_anim = !on;
-   _edje_freeze(ed);
-   if (!on)
-     {
-       Eina_List *newl = NULL;
-       const void *data;
-
-       EINA_LIST_FOREACH(ed->actions, l, data)
-         newl = eina_list_append(newl, data);
-       while (newl)
-         {
-            Edje_Running_Program *runp;
-
-            runp = eina_list_data_get(newl);
-            newl = eina_list_remove(newl, eina_list_data_get(newl));
-            _edje_program_run_iterate(runp, runp->start_time + TO_DOUBLE(runp->program->tween.time));
-            if (_edje_block_break(ed))
-              {
-                 eina_list_free(newl);
-                 goto break_prog;
-              }
-         }
-     }
-   else
-     {
-       _edje_emit(ed, "load", NULL);
-       if (evas_object_visible_get(obj))
-         {
-            evas_object_hide(obj);
-            evas_object_show(obj);
-         }
-     }
-   break_prog:
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-       Edje_Real_Part *rp;
-       rp = ed->table_parts[i];
-       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-         edje_object_animation_set(rp->typedata.swallow->swallowed_object, on);
-     }
-
-   _edje_thaw(ed);
-   _edje_unblock(ed);
-}
-
-
-EAPI Eina_Bool
-edje_object_animation_get(const Evas_Object *obj)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_animation_get(&ret));
-   return ret;
-}
-
-void
-_animation_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   *ret = EINA_FALSE;
-
-   if (!ed) return;
-   if (ed->delete_me) return;
-   if (ed->no_anim) return;
-   *ret = EINA_TRUE;
-}
-
-/* Private Routines */
-
-Eina_Bool
-_edje_program_run_iterate(Edje_Running_Program *runp, double tim)
-{
-   FLOAT_T t, total;
-   Eina_List *l;
-   Edje *ed;
-   Edje_Program_Target *pt;
-   Edje_Real_Part *rp;
-
-   ed = runp->edje;
-   if (ed->delete_me) return EINA_FALSE;
-   _edje_block(ed);
-   _edje_ref(ed);
-   _edje_freeze(ed);
-   t = FROM_DOUBLE(tim - runp->start_time);
-   total = runp->program->tween.time;
-   t = DIV(t, total);
-   if (t > FROM_INT(1)) t = FROM_INT(1);
-   EINA_LIST_FOREACH(runp->program->targets, l, pt)
-     {
-       if (pt->id >= 0)
-         {
-            rp = ed->table_parts[pt->id % ed->table_parts_size];
-            if (rp) _edje_part_pos_set(ed, rp,
-                                       runp->program->tween.mode, t,
-                                        runp->program->tween.v1,
-                                        runp->program->tween.v2);
-         }
-     }
-   if (t >= FROM_INT(1))
-     {
-        Edje_Program_After *pa;
-
-        EINA_LIST_FOREACH(runp->program->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if (rp)
-                   {
-                      _edje_part_description_apply(ed, rp,
-                                                   runp->program->state,
-                                                   runp->program->value,
-                                                   NULL,
-                                                   0.0);
-                      _edje_part_pos_set(ed, rp,
-                                         runp->program->tween.mode, ZERO,
-                                          runp->program->tween.v1,
-                                          runp->program->tween.v2);
-                      rp->program = NULL;
-                   }
-              }
-         }
-       _edje_recalc(ed);
-       runp->delete_me = EINA_TRUE;
-       if (!ed->walking_actions)
-         {
-            _edje_anim_count--;
-            ed->actions = eina_list_remove(ed->actions, runp);
-            if (!ed->actions)
-              _edje_animators = eina_list_remove(_edje_animators, ed);
-         }
-//     _edje_emit(ed, "program,stop", runp->program->name);
-       if (_edje_block_break(ed))
-         {
-            if (!ed->walking_actions) free(runp);
-            goto break_prog;
-         }
-       EINA_LIST_FOREACH(runp->program->after, l, pa)
-         {
-            Edje_Program *pr;
-
-            if (pa->id >= 0)
-              {
-                 pr = ed->table_programs[pa->id % ed->table_programs_size];
-                 if (pr) _edje_program_run(ed, pr, 0, "", "");
-                 if (_edje_block_break(ed))
-                   {
-                      if (!ed->walking_actions) free(runp);
-                      goto break_prog;
-                   }
-              }
-         }
-       _edje_thaw(ed);
-       _edje_unref(ed);
-       if (!ed->walking_actions) free(runp);
-       _edje_unblock(ed);
-       return  EINA_FALSE;
-     }
-   break_prog:
-   _edje_recalc(ed);
-   _edje_thaw(ed);
-   _edje_unref(ed);
-   _edje_unblock(ed);
-   return EINA_TRUE;
-}
-
-void
-_edje_program_end(Edje *ed, Edje_Running_Program *runp)
-{
-   Eina_List *l;
-   Edje_Program_Target *pt;
-//   const char *pname = NULL;
-   int free_runp = 0;
-
-   if (ed->delete_me) return;
-   _edje_ref(ed);
-   _edje_freeze(ed);
-   EINA_LIST_FOREACH(runp->program->targets, l, pt)
-     {
-       Edje_Real_Part *rp;
-
-       if (pt->id >= 0)
-         {
-            rp = ed->table_parts[pt->id % ed->table_parts_size];
-            if (rp)
-              {
-                 _edje_part_description_apply(ed, rp,
-                                              runp->program->state,
-                                              runp->program->value,
-                                              NULL,
-                                              0.0);
-                 _edje_part_pos_set(ed, rp,
-                                    runp->program->tween.mode, ZERO,
-                                     runp->program->tween.v1,
-                                     runp->program->tween.v2);
-                 rp->program = NULL;
-              }
-         }
-     }
-   _edje_recalc(ed);
-   runp->delete_me = EINA_TRUE;
-//   pname = runp->program->name;
-   if (!ed->walking_actions)
-     {
-       _edje_anim_count--;
-       ed->actions = eina_list_remove(ed->actions, runp);
-       free_runp = 1;
-       if (!ed->actions)
-         {
-            _edje_animators = eina_list_remove(_edje_animators, ed);
-         }
-     }
-//   _edje_emit(ed, "program,stop", pname);
-   _edje_thaw(ed);
-   _edje_unref(ed);
-   if (free_runp) free(runp);
-}
-
-#ifdef HAVE_EPHYSICS
-static Eina_Bool
-_edje_physics_action_set(Edje *ed, Edje_Program *pr, void (*func)(EPhysics_Body *body, double x, double y, double z))
-{
-   Edje_Program_Target *pt;
-   Edje_Real_Part *rp;
-   Eina_List *l;
-
-   if (_edje_block_break(ed)) return EINA_FALSE;
-
-   EINA_LIST_FOREACH(pr->targets, l, pt)
-     {
-        if (pt->id >= 0)
-          {
-             rp = ed->table_parts[pt->id % ed->table_parts_size];
-             if ((rp) && (rp->body))
-               func(rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
-          }
-     }
-
-   return EINA_TRUE;
-}
-#endif
-
-void
-_edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, const char *ssrc)
-{
-   Eina_List *l;
-   Edje_Real_Part *rp;
-   Edje_Program_Target *pt;
-   Edje_Program *pr2;
-   Edje_Program_After *pa;
-   /* limit self-feeding loops in programs to 64 levels */
-   static int recursions = 0;
-   static int recursion_limit = 0;
-
-   if (ed->delete_me) return;
-   if ((pr->in.from > 0.0) && (pr->in.range >= 0.0) && (!force))
-     {
-       Edje_Pending_Program *pp;
-       double r = 0.0;
-
-       pp = calloc(1, sizeof(Edje_Pending_Program));
-       if (!pp) return;
-       if (pr->in.range > 0.0) r = ((double)rand() / RAND_MAX);
-       pp->timer = ecore_timer_add(pr->in.from + (pr->in.range * r),
-                                   _edje_pending_timer_cb, pp);
-       if (!pp->timer)
-         {
-            free(pp);
-            return;
-         }
-       pp->edje = ed;
-       pp->program = pr;
-       ed->pending_actions = eina_list_append(ed->pending_actions, pp);
-       return;
-     }
-   if ((recursions >= 64) || (recursion_limit))
-     {
-       ERR("Programs recursing up to recursion limit of %i in '%s' with '%s', '%s' from '%s', '%s'. Disabled.",
-           64, pr->name, ssig, ssrc, ed->path, ed->group);
-       recursion_limit = 1;
-       return;
-     }
-   recursions++;
-   _edje_block(ed);
-   _edje_ref(ed);
-   _edje_freeze(ed);
-   switch (pr->action)
-     {
-     case EDJE_ACTION_TYPE_STATE_SET:
-       if ((pr->tween.time > ZERO) && (!ed->no_anim))
-         {
-            Edje_Running_Program *runp;
-
-            runp = calloc(1, sizeof(Edje_Running_Program));
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                            if ((rp->object) && (pr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT))
-                              {
-                                 Edje_Calc_Params *tmp;
-
-                                 tmp = calloc(1, sizeof(Edje_Calc_Params));
-                                 if (!tmp) goto low_mem_current;
-                                _edje_part_recalc(ed, rp, FLAG_XY, tmp);
-
-                                 if (rp->current) free(rp->current);
-                                 rp->current = tmp;
-
-                                rp->current->x -= ed->x;
-                                rp->current->y -= ed->y;
-                                rp->current->map.center.x -= ed->x;
-                                rp->current->map.center.y -= ed->y;
-                                rp->current->map.light.x -= ed->x;
-                                rp->current->map.light.y -= ed->y;
-                                rp->current->map.persp.x -= ed->x;
-                                rp->current->map.persp.y -= ed->y;
-                              }
-                            else
-                              {
-                              low_mem_current:
-                                 if (rp->current) free(rp->current);
-                                 rp->current = NULL;
-                              }
-
-                           if (rp->program)
-                              _edje_program_end(ed, rp->program);
-                           _edje_part_description_apply(ed, rp,
-                                                        rp->param1.description->state.name,
-                                                        rp->param1.description->state.value,
-                                                        pr->state,
-                                                        pr->value);
-                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
-                                               pr->tween.v1,
-                                               pr->tween.v2);
-                           rp->program = runp;
-                        }
-                   }
-              }
-             // _edje_emit(ed, "program,start", pr->name);
-            if (_edje_block_break(ed))
-              {
-                 ed->actions = eina_list_append(ed->actions, runp);
-                 goto break_prog;
-              }
-            if (!ed->actions)
-              _edje_animators = eina_list_append(_edje_animators, ed);
-            ed->actions = eina_list_append(ed->actions, runp);
-            runp->start_time = ecore_loop_time_get();
-            runp->edje = ed;
-            runp->program = pr;
-            if (!_edje_timer)
-              _edje_timer = ecore_animator_add(_edje_timer_cb, NULL);
-            _edje_anim_count++;
-         }
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                           if (rp->program)
-                              _edje_program_end(ed, rp->program);
-                           _edje_part_description_apply(ed, rp,
-                                                        pr->state,
-                                                        pr->value,
-                                                        NULL,
-                                                        0.0);
-                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
-                                               pr->tween.v1,
-                                               pr->tween.v2);
-                        }
-                   }
-              }
-             // _edje_emit(ed, "program,start", pr->name);
-            if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-            if (_edje_block_break(ed)) goto break_prog;
-
-            EINA_LIST_FOREACH(pr->after, l, pa)
-              {
-                 if (pa->id >= 0)
-                   {
-                      pr2 = ed->table_programs[pa->id % ed->table_programs_size];
-                      if (pr2) _edje_program_run(ed, pr2, 0, "", "");
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-            _edje_recalc(ed);
-         }
-        break;
-     case EDJE_ACTION_TYPE_ACTION_STOP:
-        // _edje_emit(ed, "program,start", pr->name);
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            Eina_List *ll;
-            Edje_Running_Program *runp;
-            Edje_Pending_Program *pp;
-
-             for (ll = ed->actions; ll; )
-               {
-                  runp = ll->data;
-                  ll = ll->next;
-                 if (pt->id == runp->program->id)
-                   {
-                      _edje_program_end(ed, runp);
-//                    goto done;
-                   }
-              }
-             for (ll = ed->pending_actions; ll; )
-              {
-                  pp = ll->data;
-                  ll = ll->next;
-                 if (pt->id == pp->program->id)
-                   {
-                      ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
-                      ecore_timer_del(pp->timer);
-                      free(pp);
-//                    goto done;
-                   }
-              }
-//          done:
-//             continue;
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_SIGNAL_EMIT:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       _edje_emit(ed, pr->state, pr->state2);
-       if (_edje_block_break(ed)) goto break_prog;
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x = pr->value;
-                      rp->drag->val.y = pr->value2;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,set", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x += pr->value * rp->drag->step.x * rp->part->dragable.x;
-                      rp->drag->val.y += pr->value2 * rp->drag->step.y * rp->part->dragable.y;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,step", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x += pr->value * rp->drag->page.x * rp->part->dragable.x;
-                      rp->drag->val.y += pr->value2 * rp->drag->page.y * rp->part->dragable.y;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,page", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_SCRIPT:
-          {
-             char fname[128];
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             snprintf(fname, sizeof(fname), "_p%i", pr->id);
-             _edje_embryo_test_run(ed, fname, ssig, ssrc);
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             _edje_recalc_do(ed);
-          }
-        break;
-     case EDJE_ACTION_TYPE_FOCUS_SET:
-       if (!pr->targets)
-           ed->focused_part = NULL;
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                           if (ed->focused_part != rp)
-                             {
-                                if (ed->focused_part)
-                                  _edje_emit(ed, "focus,part,out", 
-                                             ed->focused_part->part->name);
-                                ed->focused_part = rp;
-                                _edje_emit(ed, "focus,part,in",
-                                           ed->focused_part->part->name);
-                             }
-                        }
-                   }
-              }
-         }
-        break;
-     case EDJE_ACTION_TYPE_FOCUS_OBJECT:
-       if (!pr->targets)
-         {
-            Evas_Object *focused;
-
-            focused = evas_focus_get(evas_object_evas_get(ed->obj));
-            if (focused)
-              {
-                 unsigned int i;
-
-                 /* Check if the current swallowed object is one of my child. */
-                 for (i = 0; i < ed->table_parts_size; ++i)
-                   {
-                      rp = ed->table_parts[i];
-                      if ((rp) && 
-                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                               (rp->typedata.swallow)) &&
-                           (rp->typedata.swallow->swallowed_object == focused))
-                        {
-                           evas_object_focus_set(focused, EINA_FALSE);
-                           break;
-                        }
-                   }
-              }
-         }
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp && 
-                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                               (rp->typedata.swallow)) &&
-                           (rp->typedata.swallow->swallowed_object))
-                         evas_object_focus_set(rp->typedata.swallow->swallowed_object, EINA_TRUE);
-                   }
-              }
-         }
-        break;
-     case EDJE_ACTION_TYPE_SOUND_SAMPLE:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        _edje_multisense_internal_sound_sample_play(ed, pr->sample_name, pr->speed);
-        break;
-     case EDJE_ACTION_TYPE_SOUND_TONE:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        _edje_multisense_internal_sound_tone_play(ed, pr->tone_name, pr->duration);
-        break;
-     case EDJE_ACTION_TYPE_PARAM_COPY:
-          {
-             Edje_Real_Part *src_part, *dst_part;
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             
-             src_part = ed->table_parts[pr->param.src % ed->table_parts_size];
-             dst_part = ed->table_parts[pr->param.dst % ed->table_parts_size];
-             _edje_param_copy(src_part, pr->state, dst_part, pr->state2);
-             
-             if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-          }
-        break;
-     case EDJE_ACTION_TYPE_PARAM_SET:
-          {
-             Edje_Real_Part *part;
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             
-             part = ed->table_parts[pr->param.dst % ed->table_parts_size];
-             _edje_param_set(part, pr->state, pr->state2);
-             
-             if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-          }
-        break;
-#ifdef HAVE_EPHYSICS
-     case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_central_impulse_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_torque_impulse_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_FORCE:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_central_force_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_torque_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    ephysics_body_forces_clear(rp->body);
-               }
-          }
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_linear_velocity_set))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
-        if (!_edje_physics_action_set(
-              ed, pr, ephysics_body_angular_velocity_set))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_STOP:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    ephysics_body_stop(rp->body);
-               }
-          }
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    {
-                       EPhysics_Quaternion quat;
-                       ephysics_quaternion_set(&quat, pr->physics.x,
-                                               pr->physics.y, pr->physics.z,
-                                               pr->physics.w);
-                       ephysics_quaternion_normalize(&quat);
-                       ephysics_body_rotation_set(rp->body, &quat);
-                    }
-               }
-          }
-        break;
-#endif
-     default:
-        // _edje_emit(ed, "program,start", pr->name);
-        // _edje_emit(ed, "program,stop", pr->name);
-        break;
-     }
-   if (!((pr->action == EDJE_ACTION_TYPE_STATE_SET)
-        /* hmm this fucks somethgin up. must look into it later */
-        /* && (pr->tween.time > ZERO) && (!ed->no_anim))) */
-        ))
-     {
-        EINA_LIST_FOREACH(pr->after, l, pa)
-         {
-            if (pa->id >= 0)
-              {
-                 pr2 = ed->table_programs[pa->id % ed->table_programs_size];
-                 if (pr2) _edje_program_run(ed, pr2, 0, "", "");
-                 if (_edje_block_break(ed)) goto break_prog;
-              }
-         }
-     }
-   break_prog:
-   _edje_thaw(ed);
-   _edje_unref(ed);
-   recursions--;
-   if (recursions == 0) recursion_limit = 0;
-   _edje_unblock(ed);
-}
-
-void
-_edje_emit(Edje *ed, const char *sig, const char *src)
-{
-   _edje_emit_full(ed, sig, src, NULL, NULL);
-}
-
-/* data should either be NULL or a malloc allocated data */
-void
-_edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*free_func)(void *))
-{
-   Edje_Message_Signal emsg;
-   const char *sep;
-   Eina_Bool broadcast;
-
-   if (!ed->collection) return;
-   if (ed->delete_me) return;
-   broadcast = ed->collection->broadcast_signal;
-
-   sep = strchr(sig, EDJE_PART_PATH_SEPARATOR);
-
-   /* If we are not sending the signal to a part of the child, the
-    * signal if for ourself
-    */
-   if (sep)
-     {
-        Edje_Real_Part *rp = NULL;
-        const char *newsig;
-        Edje *ed2;
-        char *part;
-        char *idx;
-        size_t length;
-
-        /* the signal contains a colon, split the signal into "parts:signal" */
-        length = sep - sig + 1;
-        part = alloca(length);
-        memcpy(part, sig, length - 1);
-        part[length - 1] = '\0';
-
-        newsig = sep + 1;
-
-        /* lookup for alias */
-        if (ed->collection && ed->collection->alias)
-          {
-             char *alias;
-
-             alias = eina_hash_find(ed->collection->alias, part);
-             if (alias) {
-                char *aliased;
-                int alien;
-                int nslen;
-
-                alien = strlen(alias);
-                nslen = strlen(newsig);
-                length = alien + nslen + 2;
-
-                aliased = alloca(length);
-                memcpy(aliased, alias, alien);
-                aliased[alien] = EDJE_PART_PATH_SEPARATOR;
-                memcpy(aliased + alien + 1, newsig, nslen + 1);
-
-                _edje_emit(ed, aliased, src);
-                return;
-             }
-          }
-
-        /* search for the index if present and remove it from the part */
-        idx = strchr(part, EDJE_PART_PATH_SEPARATOR_INDEXL);
-        if (idx)
-          {
-             char *end;
-
-             end = strchr(idx + 1, EDJE_PART_PATH_SEPARATOR_INDEXR);
-             if (end && end != idx + 1)
-               {
-                  char *tmp;
-
-                  tmp = alloca(end - idx - 1);
-                  memcpy(tmp, idx + 1, end - idx - 1);
-                  tmp[end - idx - 1] = '\0';
-                  *idx = '\0';
-                  idx = tmp;
-               }
-             else
-               {
-                  idx = NULL;
-               }
-          }
-
-        /* search for the right part now */
-        rp = _edje_real_part_get(ed, part);
-        if (!rp) goto end;
-
-        switch (rp->part->type)
-          {
-           case EDJE_PART_TYPE_GROUP:
-              if (((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-                   (!rp->typedata.swallow)) ||
-                  (!rp->typedata.swallow->swallowed_object))
-                goto end;
-              ed2 = _edje_fetch(rp->typedata.swallow->swallowed_object);
-              if (!ed2) goto end;
-
-              _edje_emit(ed2, newsig, src);
-             broadcast = EINA_FALSE;
-              break;
-
-           case EDJE_PART_TYPE_EXTERNAL:
-              if (((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-                   (!rp->typedata.swallow)) ||
-                  (!rp->typedata.swallow->swallowed_object))
-               break;
-
-              if (!idx)
-                {
-                   _edje_external_signal_emit(rp->typedata.swallow->swallowed_object, newsig, src);
-                }
-              else
-                {
-                   Evas_Object *child;
-
-                   child = _edje_children_get(rp, idx);
-                   ed2 = _edje_fetch(child);
-                   if (!ed2) goto end;
-                   _edje_emit(ed2, newsig, src);
-                }
-             broadcast = EINA_FALSE;
-              break ;
-
-           case EDJE_PART_TYPE_BOX:
-           case EDJE_PART_TYPE_TABLE:
-              if (idx)
-                {
-                   Evas_Object *child;
-
-                   child = _edje_children_get(rp, idx);
-                   ed2 = _edje_fetch(child);
-                   if (!ed2) goto end;
-                   _edje_emit(ed2, newsig, src);
-                  broadcast = EINA_FALSE;
-                }
-              break ;
-
-           default:
-//              ERR("SPANK SPANK SPANK !!!\nYou should never be here !");
-              break;
-          }
-     }
-
- end:
-   emsg.sig = sig;
-   emsg.src = src;
-   if (data)
-     {
-        emsg.data = calloc(1, sizeof(*(emsg.data)));
-        emsg.data->ref = 1;
-        emsg.data->data = data;
-        emsg.data->free_func = free_func;
-     }
-   else
-     {
-        emsg.data = NULL;
-     }
-/* new sends code */
-   if (broadcast)
-     edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-   else
-     _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-/* old send code - use api now
-   _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-   EINA_LIST_FOREACH(ed->subobjs, l, obj)
-     {
-        Edje *ed2;
-
-        ed2 = _edje_fetch(obj);
-        if (!ed2) continue;
-        if (ed2->delete_me) continue;
-        _edje_message_send(ed2, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-     }
- */
-   if (emsg.data && (--(emsg.data->ref) == 0))
-     {
-        if (emsg.data->free_func)
-          {
-             emsg.data->free_func(emsg.data->data);
-          }
-        free(emsg.data);
-     }
-}
-
-struct _Edje_Program_Data
-{
-  Eina_List     *matches;
-  Edje          *ed;
-  const char    *source;
-};
-
-static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt)
-{
-   struct _Edje_Program_Data *data = dt;
-   Edje_Real_Part *rp = NULL;
-   Eina_Bool exec = EINA_TRUE;
-
-   if (pr->filter.state)
-     {
-       rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source);
-       if (rp)
-          exec = (rp->chosen_description->state.name == pr->filter.state);
-     }
-
-   pr->exec = exec;
-
-   data->matches = eina_list_append(data->matches, pr);
-
-   return EINA_FALSE;
-}
-
-void
-_edje_callbacks_patterns_clean(Edje *ed)
-{
-   _edje_signals_sources_patterns_clean(&ed->patterns.callbacks);
-
-   eina_rbtree_delete(ed->patterns.callbacks.exact_match,
-                     EINA_RBTREE_FREE_CB(edje_match_signal_source_free),
-                     NULL);
-   ed->patterns.callbacks.exact_match = NULL;
-
-   ed->patterns.callbacks.u.callbacks.globing = eina_list_free(ed->patterns.callbacks.u.callbacks.globing);
-}
-
-static void
-_edje_callbacks_patterns_init(Edje *ed)
-{
-   Edje_Signals_Sources_Patterns *ssp = &ed->patterns.callbacks;
-
-   if ((ssp->signals_patterns) || (ssp->sources_patterns) ||
-       (ssp->u.callbacks.globing) || (ssp->exact_match))
-     return;
-
-   ssp->u.callbacks.globing = edje_match_callback_hash_build(ed->callbacks,
-                                                            &ssp->exact_match);
-
-   ssp->signals_patterns = edje_match_callback_signal_init(ssp->u.callbacks.globing);
-   ssp->sources_patterns = edje_match_callback_source_init(ssp->u.callbacks.globing);
-}
-
-/* FIXME: what if we delete the evas object??? */
-void
-_edje_emit_handle(Edje *ed, const char *sig, const char *src,
-                  Edje_Message_Signal_Data *sdata, Eina_Bool prop)
-{
-   if (ed->delete_me) return;
-   if (!sig) sig = "";
-   if (!src) src = "";
-//   printf("EDJE EMIT: (%p) signal: \"%s\" source: \"%s\"\n", ed, sig, src);
-   _edje_block(ed);
-   _edje_ref(ed);
-   _edje_freeze(ed);
-   
-   if (ed->collection && ed->L)
-     _edje_lua2_script_func_signal(ed, sig, src);
-
-   if (ed->collection)
-     {
-#ifdef EDJE_PROGRAM_CACHE
-       Edje_Part_Collection *ec;
-       char *tmps;
-       int l1, l2;
-#endif
-       int done;
-
-#ifdef EDJE_PROGRAM_CACHE
-       ec = ed->collection;
-       l1 = strlen(sig);
-       l2 = strlen(src);
-       tmps = alloca(l1 + l2 + 3); /* \0, \337, \0 */
-       strcpy(tmps, sig);
-       tmps[l1] = '\377';
-       strcpy(&(tmps[l1 + 1]), src);
-#endif
-       done = 0;
-
-#ifdef EDJE_PROGRAM_CACHE
-         {
-            Eina_List *matches;
-            Eina_List *l;
-            Edje_Program *pr;
-
-            if (eina_hash_find(ec->prog_cache.no_matches, tmps))
-              {
-                 done = 1;
-              }
-            else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps)))
-              {
-                  EINA_LIST_FOREACH(matches, l, pr)
-                   {
-                       Eina_Bool exec = EINA_TRUE;
-
-                       if (pr->filter.state)
-                         {
-                            Edje_Real_Part *rp;
-
-                            rp = _edje_real_part_get(ed, pr->filter.part ? pr->filter.part : src);
-                            if (rp)
-                              {
-                                 if (rp->program)
-                                   exec = EINA_FALSE;
-                                 else
-                                   exec = (rp->chosen_description->state.name == pr->filter.state);
-                              }
-                         }
-
-                       pr->exec = exec;
-                   }
-
-                  EINA_LIST_FOREACH(matches, l, pr)
-                    if (pr->exec)
-                      {
-                         _edje_program_run(ed, pr, 0, sig, src);
-                         if (_edje_block_break(ed))
-                           {
-                              goto break_prog;
-                           }
-                      }
-
-                 done = 1;
-              }
-         }
-#endif
-       if (!done)
-         {
-             struct _Edje_Program_Data  data;
-
-             data.ed = ed;
-             data.source = src;
-            data.matches = NULL;
-
-             if (ed->table_programs_size > 0)
-               {
-                 const Eina_Array *match;
-#ifdef EDJE_PROGRAM_CACHE
-                 const Eina_List *l;
-#endif
-                 Edje_Program *pr;
-                 Eina_Array_Iterator iterator;
-                 unsigned int i;       
-
-                 if (ed->patterns.programs.u.programs.globing)
-                   if (edje_match_programs_exec(ed->patterns.programs.signals_patterns,
-                                                ed->patterns.programs.sources_patterns,
-                                                sig,
-                                                src,
-                                                ed->patterns.programs.u.programs.globing,
-                                                _edje_glob_callback,
-                                                &data,
-                                                 prop) == 0)
-                     goto break_prog;
-
-                 match = edje_match_signal_source_hash_get(sig, src,
-                                                           ed->patterns.programs.exact_match);
-                  if (match)
-                    EINA_ARRAY_ITER_NEXT(match, i, pr, iterator)
-                      _edje_glob_callback(pr, &data);
-
-#ifdef EDJE_PROGRAM_CACHE
-                  EINA_LIST_FOREACH(data.matches, l, pr)
-#else
-                  EINA_LIST_FREE(data.matches, pr)
-#endif
-                    {
-                       if (pr->exec)
-                         _edje_program_run(ed, pr, 0, sig, src);
-
-                       if (_edje_block_break(ed))
-                         {
-                            eina_list_free(data.matches);
-                            data.matches = NULL;
-                            goto break_prog;
-                         }
-                    }
-               }
-
-#ifdef EDJE_PROGRAM_CACHE
-            if (tmps)
-              {
-                 if (data.matches == NULL)
-                   {
-                     if (!ec->prog_cache.no_matches)
-                       ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL);
-                     eina_hash_add(ec->prog_cache.no_matches, tmps, ed);
-                   }
-                 else
-                   {
-                     if (!ec->prog_cache.matches)
-                       ec->prog_cache.matches = eina_hash_string_superfast_new(NULL);
-                     eina_hash_add(ec->prog_cache.matches, tmps, data.matches);
-                   }
-              }
-#endif
-         }
-       _edje_emit_cb(ed, sig, src, sdata, prop);
-       if (_edje_block_break(ed))
-         {
-            goto break_prog;
-         }
-     }
-   break_prog:
-   _edje_thaw(ed);
-   _edje_unref(ed);
-   _edje_unblock(ed);
-}
-
-/* Extra data for callbacks */
-static void *callback_extra_data = NULL;
-
-EAPI void *
-edje_object_signal_callback_extra_data_get(void)
-{
-   return callback_extra_data;
-}
-
-/* FIXME: what if we delete the evas object??? */
-static void
-_edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop)
-{
-   Eina_List            *l;
-
-   if (ed->delete_me) return;
-   _edje_ref(ed);
-   _edje_freeze(ed);
-   _edje_block(ed);
-
-   if (ed->just_added_callbacks)
-     _edje_callbacks_patterns_clean(ed);
-
-   ed->walking_callbacks++;
-
-   if (ed->callbacks)
-     {
-       Edje_Signal_Callback *escb;
-       const Eina_Array *match;
-        Eina_Array_Iterator iterator;
-        unsigned int i;
-        int r = 1;
-        callback_extra_data = (data) ? data->data : NULL;
-
-       _edje_callbacks_patterns_init(ed);
-       if (ed->patterns.callbacks.u.callbacks.globing)
-         r = edje_match_callback_exec(ed->patterns.callbacks.signals_patterns,
-                                      ed->patterns.callbacks.sources_patterns,
-                                      sig,
-                                      src,
-                                      ed->patterns.callbacks.u.callbacks.globing,
-                                      ed,
-                                       prop);
-
-        if (!r)
-          goto break_prog;
-
-       match = edje_match_signal_source_hash_get(sig, src,
-                                                 ed->patterns.callbacks.exact_match);
-        if (match)
-          EINA_ARRAY_ITER_NEXT(match, i, escb, iterator)
-            {
-               if ((prop) && (escb->propagate)) continue;
-               if ((!escb->just_added) && (!escb->delete_me))
-                 {
-                    escb->func(escb->data, ed->obj, sig, src);
-                    if (_edje_block_break(ed))
-                      break;
-                 }
-            }
-     }
-   break_prog:
-
-   ed->walking_callbacks--;
-   if (!ed->walking_callbacks &&
-       ((ed->delete_callbacks) || (ed->just_added_callbacks)))
-     {
-       ed->delete_callbacks = EINA_FALSE;
-       ed->just_added_callbacks = EINA_FALSE;
-       l = ed->callbacks;
-       while (l)
-         {
-            Edje_Signal_Callback *escb = l->data;
-            Eina_List *next_l = l->next;
-
-            if (escb->just_added)
-              escb->just_added = 0;
-            if (escb->delete_me)
-              {
-                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
-                 if (escb->signal) eina_stringshare_del(escb->signal);
-                 if (escb->source) eina_stringshare_del(escb->source);
-                 free(escb);
-              }
-            l = next_l;
-         }
-
-        _edje_callbacks_patterns_clean(ed);
-     }
-   _edje_unblock(ed);
-   _edje_thaw(ed);
-   _edje_unref(ed);
-}
-
-static const Edje_External_Param_Info *
-_edje_external_param_info_get(const Evas_Object *obj, const char *name)
-{
-   const Edje_External_Type *type;
-   const Edje_External_Param_Info *info;
-
-   type = evas_object_data_get(obj, "Edje_External_Type");
-   if (!type) return NULL;
-   for (info = type->parameters_info; info->name; info++)
-     if (!strcmp(info->name, name)) return info;
-
-   return NULL;
-}
-
-static Edje_External_Param *
-_edje_param_external_get(Edje_Real_Part *rp, const char *name, Edje_External_Param *param)
-{
-   Evas_Object *swallowed_object;
-   const Edje_External_Param_Info *info;
-   
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return NULL;
-   swallowed_object = rp->typedata.swallow->swallowed_object;
-
-   info = _edje_external_param_info_get(swallowed_object, name);
-   if (!info) return NULL;
-
-   memset(param, 0, sizeof(*param));
-   param->name = info->name;
-   param->type = info->type;
-   if (!_edje_external_param_get(NULL, rp, param)) return NULL;
-   return param;
-}
-
-/* simulate external properties for native objects */
-static Edje_External_Param *
-_edje_param_native_get(Edje_Real_Part *rp, const char *name, Edje_External_Param *param, void **free_ptr)
-{
-   *free_ptr = NULL;
-   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
-       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-     {
-       if (!strcmp(name, "text"))
-         {
-            param->name = name;
-            param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-
-            _edje_recalc_do(rp->edje);
-            if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-              param->s = _edje_entry_text_get(rp);
-            else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
-                      ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                          (rp->typedata.text)))
-               param->s = rp->typedata.text->text;
-            else
-              param->s = evas_object_textblock_text_markup_get(rp->object);
-            return param;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-
-                 _edje_recalc_do(rp->edje);
-                 if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-                   {
-                      const char *tmp = _edje_entry_text_get(rp);
-                      char *unescaped = _edje_text_unescape(tmp);
-                      *free_ptr = unescaped;
-                      param->s = unescaped;
-                   }
-                  else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
-                           ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                               (rp->typedata.text)))
-                   param->s = rp->typedata.text->text;
-                 else
-                   {
-                      const char *tmp;
-                      char *unescaped;
-
-                      tmp = evas_object_textblock_text_markup_get(rp->object);
-                      unescaped = _edje_text_unescape(tmp);
-                      *free_ptr = unescaped;
-                      param->s = unescaped;
-                   }
-
-                 return param;
-              }
-
-             if (((rp->type == EDJE_RP_TYPE_TEXT) &&
-                  (rp->typedata.text)) &&
-                 ((rp->typedata.text->entry_data) &&
-                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
-                     (!strcmp(name, "select_allow"))))
-              {
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
-                 param->i = _edje_entry_select_allow_get(rp);
-                 return param;
-              }
-         }
-     }
-
-   if ((rp->drag) && (rp->drag->down.count == 0))
-     {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            const char *sub_name = name + sizeof("drag_") - 1;
-            if (!strcmp(sub_name, "value_x"))
-              {
-                 double d;
-
-                 _edje_recalc_do(rp->edje);
-                 d = TO_DOUBLE(rp->drag->val.x);
-                 if (rp->part->dragable.x < 0) d = 1.0 - d;
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = d;
-                 return param;
-              }
-            if (!strcmp(sub_name, "value_y"))
-              {
-                 double d;
-
-                 _edje_recalc_do(rp->edje);
-                 d = TO_DOUBLE(rp->drag->val.y);
-                 if (rp->part->dragable.y < 0) d = 1.0 - d;
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = d;
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "size_w"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->size.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "size_h"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->size.y);
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "step_x"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->step.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "step_y"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->step.y);
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "page_x"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->page.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "page_y"))
-              {
-                 _edje_recalc_do(rp->edje);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->page.y);
-                 return param;
-              }
-
-            return NULL;
-         }
-     }
-
-   return NULL;
-}
-
-static Eina_Bool
-_edje_param_native_set(Edje_Real_Part *rp, const char *name, const Edje_External_Param *param)
-{
-   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
-       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-     {
-       if (!strcmp(name, "text"))
-         {
-            if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
-              return EINA_FALSE;
-
-            _edje_object_part_text_raw_set
-              (rp->edje->obj, rp, rp->part->name, param->s);
-            return EINA_TRUE;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
-                   return EINA_FALSE;
-
-                 if (rp->part->type == EDJE_PART_TYPE_TEXT)
-                   _edje_object_part_text_raw_set
-                     (rp->edje->obj, rp, rp->part->name, param->s);
-                 else
-                   {
-                      char *escaped = _edje_text_escape(param->s);
-                     _edje_object_part_text_raw_set
-                        (rp->edje->obj, rp, rp->part->name, escaped);
-                      free(escaped);
-                   }
-
-                 return EINA_TRUE;
-              }
-
-             if (((rp->type == EDJE_RP_TYPE_TEXT) &&
-                  (rp->typedata.text)) &&
-                 ((rp->typedata.text->entry_data) &&
-                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
-                     (!strcmp(name, "select_allow"))))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-                   return EINA_FALSE;
-                 _edje_entry_select_allow_set(rp, param->i);
-                 return EINA_TRUE;
-              }
-         }
-     }
-
-   if ((rp->drag) && (rp->drag->down.count == 0))
-     {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            const char *sub_name = name + sizeof("drag_") - 1;
-            if (!strcmp(sub_name, "value_x"))
-              {
-                 double d;
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 d = param->d;
-                 if (rp->part->dragable.confine_id != -1)
-                   d = CLAMP(d, 0.0, 1.0);
-                 if (rp->part->dragable.x < 0) d = 1.0 - d;
-                 if (rp->drag->val.x == FROM_DOUBLE(d)) return EINA_TRUE;
-                 rp->drag->val.x = FROM_DOUBLE(d);
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 _edje_dragable_pos_set
-                   (rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
-                 _edje_emit(rp->edje, "drag,set", rp->part->name);
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "value_y"))
-              {
-                 double d;
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 d = param->d;
-                 if (rp->part->dragable.confine_id != -1)
-                   d = CLAMP(d, 0.0, 1.0);
-                 if (rp->part->dragable.y < 0) d = 1.0 - d;
-                 if (rp->drag->val.y == FROM_DOUBLE(d)) return EINA_TRUE;
-                 rp->drag->val.y = FROM_DOUBLE(d);
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 _edje_dragable_pos_set
-                   (rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
-                 _edje_emit(rp->edje, "drag,set", rp->part->name);
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "size_w"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->size.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-                  rp->edje->recalc_call = EINA_TRUE;
-                 rp->edje->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 _edje_recalc(rp->edje);
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "size_h"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->size.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-                  rp->edje->recalc_call = EINA_TRUE;
-                 rp->edje->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 _edje_recalc(rp->edje);
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "step_x"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->step.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "step_y"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->step.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "page_x"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->page.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "page_y"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->page.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
-#ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
-#endif
-                 return EINA_TRUE;
-              }
-
-            return EINA_FALSE;
-         }
-     }
-
-   return EINA_FALSE;
-}
-
-static const Edje_External_Param_Info *
-_edje_native_param_info_get(const Edje_Real_Part *rp, const char *name)
-{
-   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
-       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-     {
-       if (!strcmp(name, "text"))
-         {
-            static const Edje_External_Param_Info pi =
-              EDJE_EXTERNAL_PARAM_INFO_STRING("text");
-            return &pi;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_STRING("text_unescaped");
-                 return &pi;
-              }
-            if (!strcmp(name, "select_allow"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_BOOL("text_unescaped");
-                 return &pi;
-              }
-         }
-     }
-
-   if ((rp->drag) && (rp->drag->down.count == 0))
-     {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            name += sizeof("drag_") - 1;
-            if (!strcmp(name, "value_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "value_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_y");
-                 return &pi;
-              }
-            if (!strcmp(name, "size_w"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_w");
-                 return &pi;
-              }
-            if (!strcmp(name, "size_h"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_h");
-                 return &pi;
-              }
-            if (!strcmp(name, "step_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "step_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_y");
-                 return &pi;
-              }
-            if (!strcmp(name, "page_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "page_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_y");
-                 return &pi;
-              }
-
-            return NULL;
-         }
-     }
-
-   return NULL;
-}
-
-static Edje_External_Param *
-_edje_param_convert(Edje_External_Param *param, const Edje_External_Param_Info *dst_info)
-{
-   if (param->type == dst_info->type) return param;
-
-   switch (dst_info->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-       {
-          int i;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                i = (int)param->d;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                i = (param->s) ? atoi(param->s) : 0;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                i = param->i;
-                 break;
-             default:
-                return NULL;
-            }
-          if (dst_info->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-            i = !!i;
-          param->type = dst_info->type;
-          param->i = i;
-          return param;
-       }
-
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-       {
-          double d;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                d = (double)param->i;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                d = (param->s) ? atof(param->s) : 0.0;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                d = (double)param->i;
-                 break;
-             default:
-                return NULL;
-            }
-          param->type = dst_info->type;
-          param->d = d;
-          return param;
-       }
-
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-       {
-          static char s[64];
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                param->type = dst_info->type;
-                return param;
-             default:
-                return NULL;
-            }
-          param->type = dst_info->type;
-          param->s = s;
-          return param;
-       }
-
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-       {
-          static char s[64];
-          const char *val;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
-                val = s;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
-                val = s;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                val = param->s;
-                break;
-             default:
-                return NULL;
-            }
-
-          param->type = dst_info->type;
-          if (param->s != val) param->s = val;
-          return param;
-       }
-
-      default: return NULL;
-     }
-}
-
-static Eina_Bool
-_edje_param_validate(const Edje_External_Param *param, const Edje_External_Param_Info *info)
-{
-   switch (info->type)
-     {
-      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-        return ((param->i == 0) || (param->i == 1));
-
-      case EDJE_EXTERNAL_PARAM_TYPE_INT:
-        if ((info->info.i.min != EDJE_EXTERNAL_INT_UNSET) &&
-            (info->info.i.min > param->i))
-          return EINA_FALSE;
-
-        if ((info->info.i.max != EDJE_EXTERNAL_INT_UNSET) &&
-            (info->info.i.max < param->i))
-          return EINA_FALSE;
-
-        return EINA_TRUE;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        if ((info->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET) &&
-            (info->info.d.min > param->d))
-          return EINA_FALSE;
-
-        if ((info->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET) &&
-            (info->info.d.max < param->d))
-          return EINA_FALSE;
-
-        return EINA_TRUE;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        if (!param->s) return EINA_FALSE;
-        if (info->info.s.accept_fmt)
-          INF("string 'accept_fmt' validation not implemented.");
-        if (info->info.s.deny_fmt)
-          INF("string 'deny_fmt' validation not implemented.");
-        return EINA_TRUE;
-
-      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-       {
-          const char **itr = info->info.c.choices;
-          if (!itr) return EINA_FALSE;
-          for (; *itr; itr++)
-            if (!strcmp(*itr, param->s))
-              return EINA_TRUE;
-          return EINA_FALSE;
-       }
-
-      default: return EINA_FALSE;
-     }
-}
-
-static void
-_edje_param_copy(Edje_Real_Part *src_part, const char *src_param, Edje_Real_Part *dst_part, const char *dst_param)
-{
-   Edje_External_Param val;
-   const Edje_External_Param_Info *dst_info;
-   void *free_ptr = NULL;
-
-   if ((!src_part) || (!src_param) || (!dst_part) || (!dst_param))
-     return;
-
-   if ((dst_part->part->type == EDJE_PART_TYPE_EXTERNAL) &&
-       (dst_part->type == EDJE_RP_TYPE_SWALLOW) &&
-       (dst_part->typedata.swallow))
-     dst_info = _edje_external_param_info_get
-       (dst_part->typedata.swallow->swallowed_object, dst_param);
-   else
-     dst_info = _edje_native_param_info_get(dst_part, dst_param);
-
-   if (!dst_info)
-     {
-       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
-           dst_param, dst_part->part->name);
-       return;
-     }
-
-   if (src_part->part->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       if (!_edje_param_external_get
-           (src_part, src_param, &val))
-         {
-            ERR("cannot get parameter '%s' of part '%s'",
-                src_param, src_part->part->name);
-            return;
-         }
-     }
-   else
-     {
-       if (!_edje_param_native_get(src_part, src_param, &val, &free_ptr))
-         {
-            ERR("cannot get parameter '%s' of part '%s'",
-                src_param, src_part->part->name);
-            return;
-         }
-     }
-
-   if (!_edje_param_convert(&val, dst_info))
-     {
-       ERR("cannot convert parameter type %s to requested type %s",
-           edje_external_param_type_str(val.type),
-           edje_external_param_type_str(dst_info->type));
-       goto end;
-     }
-
-   if (!_edje_param_validate(&val, dst_info))
-     {
-       ERR("incorrect parameter value failed validation for type %s",
-           edje_external_param_type_str(dst_info->type));
-       goto end;
-     }
-
-   if (dst_part->part->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       val.name = dst_param;
-       if (!_edje_external_param_set(NULL, dst_part, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                dst_param, edje_external_param_type_str(dst_info->type),
-                dst_part->part->name);
-            goto end;
-         }
-     }
-   else
-     {
-       if (!_edje_param_native_set(dst_part, dst_param, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                dst_param, edje_external_param_type_str(dst_info->type),
-                dst_part->part->name);
-            goto end;
-         }
-     }
-
- end:
-   free(free_ptr);
-}
-
-static void
-_edje_param_set(Edje_Real_Part *part, const char *param, const char *value)
-{
-   Edje_External_Param val;
-   const Edje_External_Param_Info *info;
-
-   if ((!part) || (!param) || (!value))
-     return;
-
-   if ((part->part->type == EDJE_PART_TYPE_EXTERNAL) &&
-       (part->type == EDJE_RP_TYPE_SWALLOW) &&
-       (part->typedata.swallow))
-     info = _edje_external_param_info_get(part->typedata.swallow->swallowed_object, param);
-   else
-     info = _edje_native_param_info_get(part, param);
-
-   if (!info)
-     {
-       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
-           param, part->part->name);
-       return;
-     }
-
-   val.name = "(temp)";
-   val.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-   val.s = value;
-
-   if (!_edje_param_convert(&val, info))
-     {
-       ERR("cannot convert parameter type STRING to requested type %s",
-           edje_external_param_type_str(info->type));
-       return;
-     }
-
-   if (!_edje_param_validate(&val, info))
-     {
-       ERR("incorrect parameter value failed validation for type %s",
-           edje_external_param_type_str(info->type));
-       return;
-     }
-
-   if (part->part->type == EDJE_PART_TYPE_EXTERNAL)
-     {
-       val.name = param;
-       if (!_edje_external_param_set(NULL, part, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                param, edje_external_param_type_str(info->type),
-                part->part->name);
-            return;
-         }
-     }
-   else
-     {
-       if (!_edje_param_native_set(part, param, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                param, edje_external_param_type_str(info->type),
-                part->part->name);
-            return;
-         }
-     }
-}
diff --git a/legacy/edje/src/lib/edje_script_only.c b/legacy/edje/src/lib/edje_script_only.c
deleted file mode 100644 (file)
index 5fd281c..0000000
+++ /dev/null
@@ -1,643 +0,0 @@
-#include "edje_private.h"
-
-/*
- * ALREADY EXPORTED BY EMBRYO:
- *
- * enum Float_Round_Method {
- *    ROUND, FLOOR, CEIL, TOZERO
- * };
- * enum Float_Angle_Mode {
- *    RADIAN, DEGREES, GRADES
- * };
- *
- * numargs();
- * getarg(arg, index=0);
- * setarg(arg, index=0, value);
- *
- * Float:atof(string[]);
- * Float:fract(Float:value);
- *       round(Float:value, Float_Round_Method:method=ROUND);
- * Float:sqrt(Float:value);
- * Float:pow(Float:value, Float:exponent);
- * Float:log(Float:value, Float:base=10.0);
- * Float:sin(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:cos(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:tan(Float:value, Float_Angle_Mode:mode=RADIAN);
- * Float:abs(Float:value);
- *       atoi(str[]);
- *       fnmatch(glob[], str[]);
- *       strcmp(str1[], str2[]);
- *       strncmp(str1[], str2[]);
- *       strcpy(dst[], src[]);
- *       strncpy(dst[], src[], n);
- *       strlen(str[]);
- *       strcat(dst[], src[]);
- *       strncat(dst[], src[], n);
- *       strprep(dst[], src[]);
- *       strnprep(dst[], src[], n);
- *       strcut(dst[], str[], n, n2);
- *       snprintf(dst[], dstn, fmt[], ...);
- *       strstr(str[], ndl[]);
- *       strchr(str[], ch[]);
- *       strrchr(str[], ch[]);
- *       rand();
- * Float:randf();
- * Float:seconds();
- *       date(&year, &month, &day, &yearday, &weekday, &hr, &min, &Float:sec);
- *
- */
-
-typedef struct _Sinfo Sinfo;
-
-struct _Sinfo
-{
-   struct
-   {
-      Embryo_Function
-        obj_init, obj_shutdown, obj_show, obj_show_immediate,
-        obj_hide, obj_hide_immediate, obj_move, obj_move_immediate,
-        obj_resize, obj_resize_immediate, obj_message;
-   } fn;
-   struct
-   {
-      Ecore_Job * show, *hide, *move, *resize;
-   } job;
-   struct
-   {
-      int id;
-      Eina_Hash *hash;         // FIXME: hash -> bad. too big. one-way lookup etc.
-   } oid;
-};
-
-static void _call_fn(Edje * ed, const char *fname, Embryo_Function fn);
-
-/* frankly - these make the code shorter to type and read - just sanity for
- * development */
-#define IFFN(func) if (si->fn.func != EMBRYO_FUNCTION_NONE)
-#define IFNO(func) if (si->fn.func == EMBRYO_FUNCTION_NONE)
-#define CLFN(func) IFFN(func) {_call_fn(ed, #func, si->fn.func);}
-#define SI Sinfo *si; si = ed->script_only_data; if (!si) return
-#define SI_RETURN(ret) Sinfo *si; si = ed->script_only_data; if (!si) return (ret)
-#define PINT(val) embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)(val))
-#define PSTR(val) embryo_parameter_string_push(ed->collection->script, val)
-#define GTFN(func) si->fn.func = embryo_program_function_find(ed->collection->script, #func)
-#define DELJ(type) if (si->job.type) ecore_job_del(si->job.type);
-#define ADDJ(type, func) si->job.type = ecore_job_add(func, ed);
-#define ZERJ(type) si->job.type = NULL;
-#define IFNJ(type) if (!si->job.type)
-#define EXPF(func) embryo_program_native_call_add(ed->collection->script, #func, _exp_##func)
-
-typedef struct _Oid Oid;
-
-struct _Oid
-{
-   Edje *ed;
-   Evas_Object *obj;
-   Evas_Coord x, y, w, h;
-   int oid;
-};
-
-/* FIXME: using eina_hash and strings is just nasty! make a custom int hash */
-static int
-_oid_alloc(Edje * ed)
-{
-   SI_RETURN(0);
-
-   si->oid.id++;
-   return si->oid.id;
-}
-
-static Oid *
-_oid_track(Edje * ed, Evas_Object * o)
-{
-   Oid *oi;
-
-   char buf[64];
-
-   SI_RETURN(NULL);
-
-   oi = calloc(1, sizeof(Oid));
-   if (!oi)
-      return NULL;
-   oi->oid = _oid_alloc(ed);
-   if (!oi->oid)
-     {
-       free(oi);
-       return NULL;
-     }
-   oi->ed = ed;
-   oi->obj = o;
-   evas_object_smart_member_add(oi->obj, oi->ed->obj);
-   evas_object_clip_set(oi->obj, oi->ed->base->clipper);
-   evas_object_geometry_get(oi->obj, &(oi->x), &(oi->y), &(oi->w), &(oi->h));
-   snprintf(buf, sizeof(buf), "%i", oi->oid);
-   if (!si->oid.hash)
-      si->oid.hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(si->oid.hash, buf, oi);
-   return oi;
-}
-
-static Oid *
-_oid_find(Edje * ed, int oid)
-{
-   char buf[64];
-
-   SI_RETURN(NULL);
-
-   snprintf(buf, sizeof(buf), "%i", oid);
-   return eina_hash_find(si->oid.hash, buf);
-}
-
-static void
-_oid_del(Edje * ed, int oid)
-{
-   char buf[64];
-
-   SI;
-
-   snprintf(buf, sizeof(buf), "%i", oid);
-   eina_hash_del(si->oid.hash, buf, NULL);
-}
-
-static void
-_oid_free(Oid * oid)
-{
-   free(oid);
-}
-
-static Eina_Bool
-_oid_freeall_cb(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   Oid *oid = data;
-
-   evas_object_del(oid->obj);
-   free(oid);
-   return EINA_TRUE;
-}
-
-static void
-_oid_freeall(Edje * ed)
-{
-   SI;
-   if (!si->oid.hash)
-      return;
-   eina_hash_foreach(si->oid.hash, _oid_freeall_cb, ed);
-   eina_hash_free(si->oid.hash);
-   si->oid.hash = NULL;
-}
-
-static Eina_Bool
-_oid_moveall_cb(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   Oid *oid = data;
-
-   evas_object_move(oid->obj, oid->ed->x + oid->x, oid->ed->y + oid->y);
-   return EINA_TRUE;
-}
-
-static void
-_oid_moveall(Edje * ed)
-{
-   SI;
-   if (!si->oid.hash)
-      return;
-   eina_hash_foreach(si->oid.hash, _oid_moveall_cb, ed);
-}
-
-/**********/
-
-static Embryo_Cell
-_exp_e_obj_del(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(1);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   evas_object_del(oid->obj);
-   _oid_del(ed, oid->oid);
-   _oid_free(oid);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_rect_add(Embryo_Program * ep, Embryo_Cell * params __UNUSED__)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Evas_Object *o;
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   o = evas_object_rectangle_add(evas_object_evas_get(ed->obj));
-   if (!o)
-      return 0;
-   oid = _oid_track(ed, o);
-   if (oid)
-      return oid->oid;
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_show(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(1);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   evas_object_show(oid->obj);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_hide(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(1);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   evas_object_hide(oid->obj);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_move(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(3);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   if ((oid->x == params[2]) && (oid->y == params[3]))
-      return -1;
-   oid->x = params[2];
-   oid->y = params[3];
-   evas_object_move(oid->obj, ed->x + oid->x, ed->y + oid->y);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_resize(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(3);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   if ((oid->w == params[2]) && (oid->h == params[3]))
-      return -1;
-   oid->w = params[2];
-   oid->h = params[3];
-   evas_object_resize(oid->obj, oid->w, oid->h);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_geometry_set(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(5);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   if ((oid->x == params[2]) && (oid->y == params[3]) &&
-       (oid->w == params[4]) && (oid->h == params[5]))
-      return -1;
-   oid->x = params[2];
-   oid->y = params[3];
-   oid->w = params[4];
-   oid->h = params[5];
-   evas_object_move(oid->obj, ed->x + oid->x, ed->y + oid->y);
-   evas_object_resize(oid->obj, oid->w, oid->h);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_geometry_get(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(5);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   SETINT(oid->x, params[2]);
-   SETINT(oid->y, params[3]);
-   SETINT(oid->w, params[4]);
-   SETINT(oid->h, params[5]);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_color_set(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(5);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   evas_object_color_set(oid->obj, params[2], params[3], params[4], params[5]);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_obj_color_get(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   Oid *oid;
-
-   int r, g, b, a;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(5);
-   if (!(oid = _oid_find(ed, params[1])))
-      return -1;
-   evas_object_color_get(oid->obj, &r, &g, &b, &a);
-   SETINT(r, params[2]);
-   SETINT(g, params[3]);
-   SETINT(b, params[4]);
-   SETINT(a, params[5]);
-   return 0;
-}
-
-static Embryo_Cell
-_exp_e_signal_emit(Embryo_Program * ep, Embryo_Cell * params)
-{
-   Edje *ed = embryo_program_data_get(ep);
-
-   char *sig = NULL, *src = NULL;
-
-   SI_RETURN(-1);
-
-   CHKPARAM(2);
-   GETSTR(sig, params[1]);
-   GETSTR(src, params[2]);
-   if ((!sig) || (!src))
-      return -1;
-   _edje_emit(ed, sig, src);
-   return 0;
-}
-
-/**********/
-
-Eina_Bool
-_edje_script_only(Edje * ed)
-{
-   if ((ed->collection) && (ed->collection->script) &&
-       (ed->collection->script_only))
-      return EINA_TRUE;
-   return EINA_FALSE;
-}
-
-void
-_edje_script_only_init(Edje * ed)
-{
-   Sinfo *si;
-
-   si = calloc(1, sizeof(Sinfo));
-   if (!si)
-      return;
-   ed->script_only_data = si;
-
-   embryo_program_data_set(ed->collection->script, ed);
-
-   EXPF(e_obj_del);
-   EXPF(e_obj_rect_add);
-   EXPF(e_obj_show);
-   EXPF(e_obj_hide);
-   EXPF(e_obj_move);
-   EXPF(e_obj_resize);
-   EXPF(e_obj_geometry_set);
-   EXPF(e_obj_geometry_get);
-   EXPF(e_obj_color_set);
-   EXPF(e_obj_color_get);
-   EXPF(e_signal_emit);
-
-   embryo_program_vm_push(ed->collection->script);
-   embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
-
-   GTFN(obj_init);
-   GTFN(obj_shutdown);
-   GTFN(obj_show);
-   GTFN(obj_show_immediate);
-   GTFN(obj_hide);
-   GTFN(obj_hide_immediate);
-   GTFN(obj_move);
-   GTFN(obj_move_immediate);
-   GTFN(obj_resize);
-   GTFN(obj_resize_immediate);
-   GTFN(obj_message);
-
-   CLFN(obj_init);
-   _edje_script_only_move(ed);
-}
-
-void
-_edje_script_only_shutdown(Edje * ed)
-{
-   SI;
-
-   CLFN(obj_shutdown);
-   DELJ(show);
-   DELJ(hide);
-   DELJ(move);
-   DELJ(resize);
-   _oid_freeall(ed);
-}
-
-static void
-_show_job(void *data)
-{
-   Edje *ed = data;
-
-   SI;
-
-   ZERJ(show);
-   CLFN(obj_show);
-}
-void
-_edje_script_only_show(Edje * ed)
-{
-   SI;
-
-   IFFN(obj_show)
-   {
-      IFNJ(hide)
-      {
-        DELJ(show);
-        ADDJ(show, _show_job);
-      }
-      else
-      {
-        DELJ(hide);
-      }
-   }
-   IFNO(obj_show_immediate) return;
-   CLFN(obj_show_immediate);
-}
-
-static void
-_hide_job(void *data)
-{
-   Edje *ed = data;
-
-   SI;
-
-   ZERJ(hide);
-   CLFN(obj_hide);
-}
-void
-_edje_script_only_hide(Edje * ed)
-{
-   SI;
-
-   IFFN(obj_hide)
-   {
-      IFNJ(show)
-      {
-        DELJ(hide);
-        ADDJ(hide, _hide_job);
-      }
-      else
-      {
-        DELJ(show);
-      }
-   }
-   IFNO(obj_hide_immediate) return;
-   CLFN(obj_hide_immediate);
-}
-
-static void
-_move_job(void *data)
-{
-   Edje *ed = data;
-
-   SI;
-
-   _oid_moveall(ed);
-   ZERJ(move);
-   IFNO(obj_move) return;
-   PINT(ed->x);
-   PINT(ed->y);
-   CLFN(obj_move);
-}
-void
-_edje_script_only_move(Edje * ed)
-{
-   SI;
-
-   DELJ(move);
-   ADDJ(move, _move_job);
-   IFNO(obj_move_immediate) return;
-   PINT(ed->x);
-   PINT(ed->y);
-   CLFN(obj_move_immediate);
-}
-
-static void
-_resize_job(void *data)
-{
-   Edje *ed = data;
-
-   SI;
-
-   ZERJ(resize);
-   PINT(ed->w);
-   PINT(ed->h);
-   CLFN(obj_resize);
-}
-void
-_edje_script_only_resize(Edje * ed)
-{
-   SI;
-
-   IFFN(obj_resize)
-   {
-      DELJ(resize);
-      ADDJ(resize, _resize_job);
-   }
-   PINT(ed->w);
-   PINT(ed->h);
-   CLFN(obj_resize_immediate);
-}
-
-void
-_edje_script_only_message(Edje * ed, Edje_Message * em)
-{
-   SI;
-
-   IFNO(obj_message) return;
-   _edje_message_parameters_push(em);
-   CLFN(obj_message);
-}
-
-/**************************************************/
-
-static void
-_call_fn(Edje * ed, const char *fname, Embryo_Function fn)
-{
-   int ret;
-
-   ret = embryo_program_run(ed->collection->script, fn);
-   if (ret == EMBRYO_PROGRAM_FAIL)
-     {
-       ERR("ERROR with embryo script. "
-            "OBJECT NAME: '%s', "
-            "OBJECT FILE: '%s', "
-            "ENTRY POINT: '%s', "
-           "ERROR: '%s'",
-            ed->collection->part,
-            ed->file->path,
-            fname,
-            embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
-     }
-   else if (ret == EMBRYO_PROGRAM_TOOLONG)
-     {
-       ERR("ERROR with embryo script. "
-            "OBJECT NAME: '%s', "
-            "OBJECT FILE: '%s', "
-            "ENTRY POINT: '%s', "
-           "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
-            ed->collection->part,
-            ed->file->path,
-            fname, 
-            embryo_program_max_cycle_run_get(ed->collection->script));
-     }
-}
diff --git a/legacy/edje/src/lib/edje_smart.c b/legacy/edje/src/lib/edje_smart.c
deleted file mode 100644 (file)
index a180bf0..0000000
+++ /dev/null
@@ -1,623 +0,0 @@
-#include "edje_private.h"
-
-#include <Eo.h>
-
-EAPI Eo_Op EDJE_OBJ_BASE_ID = EO_NOOP;
-
-#ifdef MY_CLASS
-# undef MY_CLASS
-#endif
-
-#define MY_CLASS EDJE_OBJ_CLASS
-
-Eina_List *_edje_edjes = NULL;
-
-/************************** API Routines **************************/
-
-EAPI Evas_Object *
-edje_object_add(Evas *evas)
-{
-   Evas_Object *e;
-   e = eo_add(MY_CLASS, evas);
-   eo_unref(e);
-   return e;
-}
-
-static void
-_edje_smart_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
-{
-   Edje *ed = class_data;
-   ed->base = eo_data_get(obj, EVAS_OBJ_SMART_CLIPPED_CLASS);
-
-   eo_do_super(obj, eo_constructor());
-   eo_do(obj, evas_obj_type_set("edje"));
-   _edje_lib_ref();
-}
-
-static void
-_edje_color_class_free(void *data)
-{
-   Edje_Color_Class *cc = data;
-
-   if (cc->name) eina_stringshare_del(cc->name);
-   free(cc);
-}
-
-
-/* Private Routines */
-static void
-_edje_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-   Evas *tev = evas_object_evas_get(obj);
-
-   evas_event_freeze(tev);
-
-   ed->base->evas = tev;
-   ed->base->clipper = evas_object_rectangle_add(ed->base->evas);
-   evas_object_static_clip_set(ed->base->clipper, 1);
-   evas_object_smart_member_add(ed->base->clipper, obj);
-   evas_object_color_set(ed->base->clipper, 255, 255, 255, 255);
-   evas_object_move(ed->base->clipper, -10000, -10000);
-   evas_object_resize(ed->base->clipper, 20000, 20000);
-   evas_object_pass_events_set(ed->base->clipper, 1);
-   ed->is_rtl = EINA_FALSE;
-   ed->have_objects = EINA_TRUE;
-   ed->references = 1;
-   ed->user_defined = NULL;
-   ed->color_classes = eina_hash_string_small_new(_edje_color_class_free);
-
-   evas_object_geometry_get(obj, &(ed->x), &(ed->y), &(ed->w), &(ed->h));
-   ed->obj = obj;
-   _edje_edjes = eina_list_append(_edje_edjes, obj);
-   /*
-     {
-        Eina_List *l;
-        const void *data;
-
-        printf("--- EDJE DUMP [%i]\n", eina_list_count(_edje_edjes));
-        EINA_LIST_FOREACH(_edge_edges, l, data)
-          {
-             ed = _edje_fetch(data);
-             printf("EDJE: %80s | %80s\n", ed->path, ed->part);
-          }
-        printf("--- EDJE DUMP [%i]\n", eina_list_count(_edje_edjes));
-     }
-   */
-   evas_event_thaw(tev);
-   evas_event_thaw_eval(tev);
-}
-
-static void
-_edje_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-
-   _edje_block_violate(ed);
-   ed->delete_me = 1;
-   _edje_edjes = eina_list_remove(_edje_edjes, obj);
-   evas_object_smart_data_set(obj, NULL);
-   if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
-   if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
-#ifdef HAVE_EPHYSICS
-   /* clear physics world  / shutdown ephysics */
-   if ((ed->collection) && (ed->collection->physics_enabled))
-     {
-        ephysics_world_del(ed->world);
-        ephysics_shutdown();
-     }
-#endif
-   if (ed->persp) edje_object_perspective_set(obj, NULL);
-   _edje_file_del(ed);
-   _edje_clean_objects(ed);
-   _edje_unref(ed);
-   _edje_lib_unref();
-}
-
-static void
-_edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Coord x = va_arg(*list, Evas_Coord);
-   Evas_Coord y = va_arg(*list, Evas_Coord);
-   Edje *ed = _pd;
-
-   if ((ed->x == x) && (ed->y == y)) return;
-   ed->x = x;
-   ed->y = y;
-//   evas_object_move(ed->clipper, ed->x, ed->y);
-
-   if (_edje_script_only(ed))
-     {
-        _edje_script_only_move(ed);
-        return;
-     }
-   if (_edje_lua_script_only(ed))
-     {
-        _edje_lua_script_only_move(ed);
-        return;
-     }
-
-   if (ed->have_mapped_part)
-     {
-        ed->dirty = EINA_TRUE;
-        _edje_recalc_do(ed);
-     }
-   else
-     {
-        unsigned int i;
-
-        for (i = 0; i < ed->table_parts_size; i++)
-          {
-             Edje_Real_Part *ep;
-
-             ep = ed->table_parts[i];
-             if ((ep->type == EDJE_RP_TYPE_TEXT) &&
-                 (ep->typedata.text))
-               evas_object_move(ep->object, 
-                                ed->x + ep->x + ep->typedata.text->offset.x, 
-                                ed->y + ep->y + ep->typedata.text->offset.y);
-             else
-               evas_object_move(ep->object, 
-                                ed->x + ep->x, 
-                                ed->y + ep->y);
-             if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-               _edje_entry_real_part_configure(ep);
-             if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
-                 (ep->typedata.swallow))
-               {
-                  if (ep->typedata.swallow->swallowed_object)
-                    evas_object_move
-                    (ep->typedata.swallow->swallowed_object, 
-                        ed->x + ep->x, 
-                        ed->y + ep->y);
-               }
-          }
-     }
-//   _edje_emit(ed, "move", NULL);
-}
-
-static void
-_edje_limit_emit(Edje *ed, const char *limit_name, Eina_Bool over)
-{
-   char *buffer;
-   unsigned int length;
-
-   if (!limit_name) return ;
-
-   length = strlen(limit_name) + 13;
-   buffer = alloca(length);
-   snprintf(buffer, length, "limit,%s,%s", limit_name, over ? "over" : "below");
-   _edje_emit(ed, buffer, NULL);
-}
-
-static void
-_edje_limit_get(Edje *ed, Edje_Limit **limits, unsigned int length, Evas_Coord size_current, Evas_Coord size_next)
-{
-   unsigned int i;
-
-   if (size_next == size_current) return ;
-
-   for (i = 0; i < length; ++i)
-     {
-        if ((size_current <= limits[i]->value) && (limits[i]->value < size_next))
-          {
-             _edje_limit_emit(ed, limits[i]->name, EINA_TRUE);
-          }
-        else if ((size_next <= limits[i]->value) && (limits[i]->value < size_current))
-          {
-             _edje_limit_emit(ed, limits[i]->name, EINA_FALSE);
-          }
-     }
-}
-
-static void
-_edje_smart_resize(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
-{
-   Evas_Coord w = va_arg(*list, Evas_Coord);
-   Evas_Coord h = va_arg(*list, Evas_Coord);
-   Edje *ed = _pd;
-
-   if ((w == ed->w) && (h == ed->h)) return;
-   if (ed->collection)
-     {
-        _edje_limit_get(ed, ed->collection->limits.horizontal, ed->collection->limits.horizontal_count, ed->w, w);
-        _edje_limit_get(ed, ed->collection->limits.vertical, ed->collection->limits.vertical_count, ed->h, h);
-     }
-   ed->w = w;
-   ed->h = h;
-#ifdef HAVE_EPHYSICS
-   if ((ed->collection) && (ed->world))
-        ephysics_world_render_geometry_set(
-           ed->world, ed->x, ed->y, ed->collection->physics.world.z,
-           ed->w, ed->h, ed->collection->physics.world.depth);
-#endif
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-   if (_edje_script_only(ed))
-     {
-        _edje_script_only_resize(ed);
-        return;
-     }
-   if (_edje_lua_script_only(ed))
-     {
-        _edje_lua_script_only_resize(ed);
-        return;
-     }
-//   evas_object_resize(ed->clipper, ed->w, ed->h);
-   ed->dirty = EINA_TRUE;
-   _edje_recalc_do(ed);
-   _edje_emit(ed, "resize", NULL);
-}
-
-static void
-_edje_smart_show(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-
-   eo_do_super(obj, evas_obj_smart_show());
-   if (evas_object_visible_get(obj)) return;
-   if (_edje_script_only(ed))
-     {
-        _edje_script_only_show(ed);
-        return;
-     }
-   if (_edje_lua_script_only(ed))
-     {
-        _edje_lua_script_only_show(ed);
-        return;
-     }
-   _edje_emit(ed, "show", NULL);
-}
-
-static void
-_edje_smart_hide(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-
-   eo_do_super(obj, evas_obj_smart_hide());
-   if (!evas_object_visible_get(obj)) return;
-   if (_edje_script_only(ed))
-     {
-        _edje_script_only_hide(ed);
-        return;
-     }
-   if (_edje_lua_script_only(ed))
-     {
-        _edje_lua_script_only_hide(ed);
-        return;
-     }
-   _edje_emit(ed, "hide", NULL);
-}
-
-static void
-_edje_smart_calculate(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-   _edje_recalc_do(ed);
-}
-
-static void
-_edje_smart_file_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   const char *file = va_arg(*list, const char *);
-   const char *group = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Eina_Array *nested;
-   if (ret) *ret = EINA_FALSE;
-
-   nested = eina_array_new(8);
-   if (_edje_object_file_set_internal(obj, file, group, NULL, NULL, nested))
-     if (ret) *ret = EINA_TRUE;
-   eina_array_free(nested);
-}
-
-static void
-_edje_smart_class_constructor(Eo_Class *klass)
-{
-   const Eo_Op_Func_Description func_desc[] = {
-        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _edje_smart_constructor),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _edje_smart_add),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _edje_smart_del),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _edje_smart_move),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_SHOW), _edje_smart_show),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_HIDE), _edje_smart_hide),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _edje_smart_resize),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_CALCULATE), _edje_smart_calculate),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_SET), _scale_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_GET), _scale_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_GET), _mirrored_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_SET), _mirrored_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_DATA_GET), _data_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FREEZE), _freeze),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_THAW), _thaw),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET), _color_class_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET), _color_class_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET), _text_class_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXISTS), _part_exists),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_OBJECT_GET), _part_object_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET), _part_geometry_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET), _item_provider_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET), _text_change_cb_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH), _part_text_style_user_push),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP), _part_text_style_user_pop),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK), _part_text_style_user_peek),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SET), _part_text_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_GET), _part_text_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET), _part_text_escaped_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET), _part_text_unescaped_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET), _part_text_unescaped_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET), _part_text_selection_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE), _part_text_select_none),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL), _part_text_select_all),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT), _part_text_insert),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND), _part_text_append),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET), _part_text_anchor_list_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET), _part_text_anchor_geometry_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET), _part_text_item_list_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET), _part_text_item_geometry_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET), _part_text_cursor_geometry_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT), _part_text_user_insert),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET), _part_text_select_allow_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT), _part_text_select_abort),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN), _part_text_select_begin),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND), _part_text_select_extend),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET), _part_text_imf_context_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT), _part_text_cursor_next),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV), _part_text_cursor_prev),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP), _part_text_cursor_up),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN), _part_text_cursor_down),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET), _part_text_cursor_begin_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET), _part_text_cursor_end_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY), _part_text_cursor_copy),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET), _part_text_cursor_line_begin_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET), _part_text_cursor_line_end_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET), _part_text_cursor_coord_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET), _part_text_cursor_is_format_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET), _part_text_cursor_is_visible_format_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET), _part_text_cursor_content_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET), _part_text_cursor_pos_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET), _part_text_cursor_pos_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET), _part_text_imf_context_reset),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET), _part_text_input_panel_layout_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET), _part_text_input_panel_layout_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET), _part_text_autocapital_type_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET), _part_text_autocapital_type_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET), _part_text_prediction_allow_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET), _part_text_prediction_allow_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET), _part_text_input_panel_enabled_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET), _part_text_input_panel_enabled_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW), _part_text_input_panel_show),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE), _part_text_input_panel_hide),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET), _part_text_input_panel_language_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET), _part_text_input_panel_language_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET), _part_text_input_panel_imdata_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET), _part_text_input_panel_imdata_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET), _part_text_input_panel_return_key_type_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET), _part_text_input_panel_return_key_type_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET), _part_text_input_panel_return_key_disabled_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET), _part_text_input_panel_return_key_disabled_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD), _text_insert_filter_callback_add),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL), _text_insert_filter_callback_del),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL), _text_insert_filter_callback_del_full),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD), _text_markup_filter_callback_add),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL), _text_markup_filter_callback_del),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL), _text_markup_filter_callback_del_full),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW), _part_swallow),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_UNSWALLOW), _part_unswallow),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET), _part_swallow_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_GET), _size_min_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MAX_GET), _size_max_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_CALC_FORCE), _calc_force),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC), _size_min_calc),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC), _parts_extends_calc),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC), _size_min_restricted_calc),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_STATE_GET), _part_state_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET), _part_drag_dir_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET), _part_drag_value_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET), _part_drag_value_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET), _part_drag_size_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET), _part_drag_size_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET), _part_drag_step_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET), _part_drag_step_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET), _part_drag_page_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET), _part_drag_page_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP), _part_drag_step),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE), _part_drag_page),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_APPEND), _part_box_append),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND), _part_box_prepend),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE), _part_box_insert_before),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT), _part_box_insert_at),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE), _part_box_remove),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT), _part_box_remove_at),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL), _part_box_remove_all),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET), _access_part_list_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET), _part_table_child_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_PACK), _part_table_pack),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK), _part_table_unpack),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET), _part_table_col_row_size_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR), _part_table_clear),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET), _perspective_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET), _perspective_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PRELOAD), _preload),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET), _update_hints_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET), _update_hints_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), _part_external_object_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), _part_external_param_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), _part_external_param_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), _part_external_content_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), _part_external_param_type_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), _edje_smart_file_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_GET), _file_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET), _load_error_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SEND), _message_send),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET), _message_handler_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS), _message_signal_process),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD), _signal_callback_add),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL), _signal_callback_del),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL), _signal_callback_del_full),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_EMIT), _signal_emit),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_SET), _play_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_GET), _play_get),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_SET), _animation_set),
-        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_GET), _animation_get),
-        EO_OP_FUNC_SENTINEL
-   };
-
-   eo_class_funcs_set(klass, func_desc);
-}
-
-static const Eo_Op_Description op_desc[] = {
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SCALE_SET, "Set the scaling factor for a given Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SCALE_GET, "Get a given Edje object's scaling factor."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MIRRORED_GET, "Get the RTL orientation for this object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MIRRORED_SET, "Set the RTL orientation for this object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_DATA_GET, "Retrive an <b>EDC data field's value</b> from a given Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FREEZE, "Freezes the Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_THAW, "Thaws the Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET, "Sets the object color class."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET, "Gets the object color class."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET, "Sets Edje text class."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXISTS, "Check if an Edje part exists in a given Edje object's group"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_OBJECT_GET, "Get a handle to the Evas object implementing a given Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET, "Retrieve the geometry of a given Edje part, in a given Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET, "Set the function that provides item objects for named items in an edje entry text"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET, "Set the object text callback."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH, "Set the style of the"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP, "Delete the top style form the user style stack."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK, "Return the text of the object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SET, "Sets the text for an object part"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_GET, "Return the text of the object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET, "Sets the text for an object part, but converts HTML escapes to UTF8"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET, "Sets the raw (non escaped) text for an object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET, "Returns the text of the object part, without escaping."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET, "Return the selection text of the object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE, "Set the selection to be none."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL, "Set the selection to be everything."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT, "Insert text for an object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND, "Insert text for an object part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET, "Return a list of char anchor names."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET, "Return a list of Evas_Textblock_Rectangle anchor rectangles."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET, "Return a list of char item names."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET, "Return item geometry."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET, "Returns the cursor geometry of the part relative to the edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT, "This function inserts text as if the user has inserted it."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET, "Enables selection if the entry is an EXPLICIT selection mode"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT, "Aborts any selection action on a part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN, "Starts selecting at current cursor position"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND, "Extends the current selection to the current cursor position"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET, "Get the input method context in entry."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT, "Advances the cursor to the next cursor position."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV, "Moves the cursor to the previous char"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP, "Move the cursor to the char above the current cursor position."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN, "Moves the cursor to the char below the current cursor position."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET, "Moves the cursor to the beginning of the text part"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET, "Moves the cursor to the end of the text part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY, "Copy the cursor to another cursor."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET, "Move the cursor to the beginning of the line."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET, "Move the cursor to the end of the line."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET, "Position the given cursor to a X,Y position."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET, "Returns whether the cursor points to a format."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET, "Return true if the cursor points to a visible format"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET, "Returns the content (char) at the cursor position."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET, "Sets the cursor position to the given value"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET, "Retrieves the current position of the cursor"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET, "Reset the input method context if needed."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET, "Set the layout of the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET, "Get the layout of the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET, "Set the autocapitalization type on the immodule."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET, "Retrieves the autocapitalization type"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET, "Set whether the prediction is allowed or not."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET, "Get whether the prediction is allowed or not."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET, "Sets the attribute to show the input panel automatically."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET, "Retrieve the attribute to show the input panel automatically."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW, "Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE, "Hide the input panel (virtual keyboard)."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET, "Set the language mode of the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET, "Get the language mode of the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET, "Set the input panel-specific data to deliver to the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET, "Get the specific data of the current active input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET, "Set the return key type. This type is used to set string or icon on the return key of the input panel."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET, "Get the return key type."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET, "Set the return key on the input panel to be disabled."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET, "Get whether the return key on the input panel should be disabled or not."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD, "Add a filter function for newly inserted text."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL, "Delete a function from the filter list."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL, "Delete a function and matching user data from the filter list."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD, "Add a markup filter function for newly inserted text."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL, "Delete a function from the markup filter list."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL, "Delete a function and matching user data from the markup filter list."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_SWALLOW, "Swallows an object into one of the Edje object @c SWALLOW"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_UNSWALLOW, "Unswallow an object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET, "Get the object currently swallowed by a part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_GET, "Get the minimum size specified -- as an EDC property -- for a"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MAX_GET, "Get the maximum size specified -- as an EDC property -- for a"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_CALC_FORCE, "Force a Size/Geometry calculation."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC, "Calculate the minimum required size for a given Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC, "Calculate the geometry of the region, relative to a given Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC, "Calculate the minimum required size for a given Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_STATE_GET, "Returns the state of the Edje part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET, "Determine dragable directions."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET, "Set the dragable object location."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET, "Get the dragable object location."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET, "Set the dragable object size."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET, "Get the dragable object size."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET, "Sets the drag step increment."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET, "Gets the drag step increment values."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET, "Sets the page step increments."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET, "Gets the page step increments."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP, "Steps the dragable x,y steps."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE, "Pages x,y steps."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_APPEND, "Appends an object to the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND, "Prepends an object to the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE, "Adds an object to the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT, "Inserts an object to the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE, "Removes an object from the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT, "Removes an object from the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL, "Removes all elements from the box."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET, "Retrieve a list all accessibility part names"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET, "Retrieve a child from a table"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_PACK, "Packs an object into the table."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK, "Removes an object from the table."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET, "Gets the number of columns and rows the table has."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR, "Removes all object from the table."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET, "Set the given perspective object on this Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET, "Get the current perspective used on this Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PRELOAD, "Preload the images on the Edje Object in the background."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET, "Edje will automatically update the size hints on itself."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET, "Wether or not Edje will update size hints on itself."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET, "Get the object created by this external part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET, "Set the parameter for the external part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET, "Get the parameter for the external part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET, "Get an object contained in an part of type EXTERNAL"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET, "Facility to query the type of the given parameter of the given part."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FILE_SET, "Sets the @b EDJ file (and group within it) to load an Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FILE_GET, "Get the file and group name that a given Edje object is bound to"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET, "Gets the (last) file loading error for a given Edje object"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_SEND, "Send an (Edje) message to a given Edje object"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET, "Set an Edje message handler function for a given Edje object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS, "Process an object's message queue."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD, "Add a callback for an arriving Edje signal, emitted by"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL, "Remove a signal-triggered callback from an object."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL, "Unregister/delete a callback set for an arriving Edje"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_EMIT, "Send/emit an Edje signal to a given Edje object"),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PLAY_SET, "Set the Edje object to playing or paused states."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PLAY_GET, "Get the Edje object's state."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ANIMATION_SET, "Set the object's animation state."),
-     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ANIMATION_GET, "Get the Edje object's animation state."),
-     EO_OP_DESCRIPTION_SENTINEL
-};
-
-static const Eo_Class_Description edje_smart_class_desc = {
-     EO_VERSION,
-     "Edje_Smart",
-     EO_CLASS_TYPE_REGULAR,
-     EO_CLASS_DESCRIPTION_OPS(&EDJE_OBJ_BASE_ID, op_desc, EDJE_OBJ_SUB_ID_LAST),
-     NULL,
-     sizeof(Edje),
-     _edje_smart_class_constructor,
-     NULL
-};
-
-EO_DEFINE_CLASS(edje_object_class_get, &edje_smart_class_desc, EVAS_OBJ_SMART_CLIPPED_CLASS, NULL);
-
diff --git a/legacy/edje/src/lib/edje_text.c b/legacy/edje/src/lib/edje_text.c
deleted file mode 100644 (file)
index 907f5d2..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-#include "edje_private.h"
-#define _ELLIP_STR "\xE2\x80\xA6"
-
-/* returns with and height for this part.
- *
- * depending on the value of the use_alternate_font_metrics flag, it will
- * either use evas_object_geometry_get() or the _advance_get() functions.
- *
- * The latter is useful if you want to make sure that width and height
- * are the same value for the same number of characters in the text.
- * This usually only makes sense for monospaced fonts.
- *
- * In future changes to this file, you probably should use this wrapper
- * function everywhere instead of calling evas_object_geometry_get()
- * directly.
- */
-static inline void
-part_get_geometry(Edje_Real_Part *rp, Evas_Coord *w, Evas_Coord *h)
-{
-   if (!rp->part->use_alternate_font_metrics)
-     evas_object_geometry_get(rp->object, NULL, NULL, w, h);
-   else
-     {
-       if (w) *w = evas_object_text_horiz_advance_get(rp->object);
-       if (h) *h = evas_object_text_vert_advance_get(rp->object);
-     }
-}
-
-void
-_edje_text_init(void)
-{
-}
-
-void
-_edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep)
-{
-   Edje_Part *pt = ep->part;
-   Edje_Part_Description_Text *desc;
-   unsigned int i;
-
-   if (ep->part->type != EDJE_PART_TYPE_TEXT) return;
-
-   /* if text class exists for this part, add the edje to the tc member list */
-   desc = (Edje_Part_Description_Text *) pt->default_desc;
-   if ((pt->default_desc) && (desc->text.text_class))
-     _edje_text_class_member_add(ed, desc->text.text_class);
-
-   /* If any other classes exist add them */
-   for (i = 0; i < pt->other.desc_count; ++i)
-     {
-       desc = (Edje_Part_Description_Text *) pt->other.desc[i];
-       if ((desc) && (desc->text.text_class))
-         _edje_text_class_member_add(ed, desc->text.text_class);
-     }
-}
-
-void
-_edje_text_part_on_del(Edje *ed, Edje_Part *pt)
-{
-   Edje_Part_Description_Text *desc;
-   unsigned int i;
-
-   if (!pt) return;
-   if (pt->type != EDJE_PART_TYPE_TEXT
-       && pt->type != EDJE_PART_TYPE_TEXTBLOCK)
-     return ;
-
-   desc = (Edje_Part_Description_Text *) pt->default_desc;
-   if ((pt->default_desc) && (desc->text.text_class))
-     _edje_text_class_member_del(ed, desc->text.text_class);
-
-   for (i = 0; i < pt->other.desc_count; ++i)
-     {
-       desc = (Edje_Part_Description_Text *) pt->other.desc[i];
-       if (desc->text.text_class)
-         _edje_text_class_member_del(ed, desc->text.text_class);
-     }
-}
-
-static const char *
-_edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
-                 Edje_Calc_Params *params,
-                 const char *text, const char *font, int size,
-                 Evas_Coord sw, Evas_Coord sh, int *free_text)
-{
-   FLOAT_T sc;
-
-   sc = ed->scale;
-   if (sc == ZERO) sc = _edje_scale;
-
-   *free_text = 0;
-   if (sw <= 1) return "";
-
-   if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-
-   eo_do(ep->object,
-         evas_obj_text_ellipsis_set(params->type.text.elipsis),
-         evas_obj_text_font_set(font, size),
-         evas_obj_text_text_set(text),
-         evas_obj_size_set(sw, sh));
-
-   return text;
-}
-
-static const char *
-_edje_text_font_get(const char *base, const char *new, char **free_later)
-{
-   const char *base_style, *new_style, *aux;
-   size_t font_len, style_len;
-
-   if (base && (!new))
-     return base;
-   else if (!base)
-     return new;
-
-   base_style = strstr(base, ":style=");
-   if (!base_style)
-     return new;
-
-   new_style = strstr(new, ":style=");
-   if (new_style)
-     return new;
-
-   font_len = strlen(new);
-   aux = strchr(base_style, ',');
-   style_len = (aux) ? (size_t)(aux - base_style) : strlen(base_style);
-
-   *free_later = malloc(font_len + style_len + 1);
-   memcpy(*free_later, new, font_len);
-   memcpy(*free_later + font_len, base_style, style_len);
-   (*free_later)[font_len + style_len] = '\0';
-
-   return *free_later;
-}
-
-const char *
-_edje_text_class_font_get(Edje *ed, Edje_Part_Description_Text *chosen_desc, int *size, char **free_later)
-{
-   Edje_Text_Class *tc;
-   const char *text_class_name, *font;
-
-   font = edje_string_get(&chosen_desc->text.font);
-   *size = chosen_desc->text.size;
-
-   text_class_name = chosen_desc->text.text_class;
-   if ((!text_class_name) || (!text_class_name[0]))
-     return font;
-
-   tc = _edje_text_class_find(ed, text_class_name);
-   if (!tc)
-     return font;
-
-   font = _edje_text_font_get(edje_string_get(&chosen_desc->text.font), tc->font, free_later);
-   *size = _edje_text_size_calc(*size, tc);
-
-   return font;
-}
-
-void
-_edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
-                       Edje_Calc_Params *params,
-                       Edje_Part_Description_Text *chosen_desc)
-{
-   const char  *text = NULL;
-   const char  *font;
-   char                *font2 = NULL;
-   char         *sfont = NULL;
-   int          size;
-   Evas_Coord   tw, th;
-   Evas_Coord   sw, sh;
-   int          inlined_font = 0, free_text = 0;
-   Eina_Bool     same_text = EINA_FALSE;
-   FLOAT_T       sc;
-   
-   if ((ep->type != EDJE_RP_TYPE_TEXT) ||
-       (!ep->typedata.text)) return;
-   sc = ed->scale;
-   if (sc == 0.0) sc = _edje_scale;
-   text = edje_string_get(&chosen_desc->text.text);
-   font = _edje_text_class_font_get(ed, chosen_desc, &size, &sfont);
-
-   if (ep->typedata.text->text) text = ep->typedata.text->text;
-   if (ep->typedata.text->font) font = ep->typedata.text->font;
-   if (ep->typedata.text->size > 0) size = ep->typedata.text->size;
-
-   if (ep->typedata.text->text_source)
-     {
-       text = edje_string_get(&(((Edje_Part_Description_Text *)ep->typedata.text->text_source->chosen_description)->text.text));
-       if (ep->typedata.text->text_source->typedata.text->text) text = ep->typedata.text->text_source->typedata.text->text;
-     }
-   if (ep->typedata.text->source)
-     {
-       font = edje_string_get(&(((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.font));
-       size = ((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.size;
-       if (ep->typedata.text->source->typedata.text->font) font = ep->typedata.text->source->typedata.text->font;
-       if (ep->typedata.text->source->typedata.text->size > 0) size = ep->typedata.text->source->typedata.text->size;
-     }
-
-   if (!text) text = "";
-   if (!font) font = "";
-
-   /* check if the font is embedded in the .eet */
-   if (ed->file->fonts)
-     {
-       Edje_Font_Directory_Entry *fnt = eina_hash_find(ed->file->fonts, font);
-
-       if (fnt)
-         {
-             size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
-             font2 = alloca(len);
-             sprintf(font2, "edje/fonts/%s", font);
-             font = font2;
-            inlined_font = 1;
-             font2 = NULL;
-         }
-     }
-
-   if ((_edje_fontset_append) && (font))
-     {
-       font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 1);
-       if (font2)
-         {
-            strcpy(font2, font);
-            strcat(font2, ",");
-            strcat(font2, _edje_fontset_append);
-            font = font2;
-         }
-     }
-     {
-       int l, r, t, b;
-
-       evas_object_text_style_pad_get(ep->object, &l, &r, &t, &b);
-       sw = params->w;
-       sh = params->h;
-     }
-
-   size = params->type.text.size;
-   if (!text) text = "";
-
-   if ((text == ep->typedata.text->cache.in_str)
-       || (text && ep->typedata.text->cache.in_str && !strcmp(ep->typedata.text->cache.in_str, text)))
-     {
-        text = ep->typedata.text->cache.in_str;
-        same_text = EINA_TRUE;
-     }
-
-   if ((ep->typedata.text->cache.in_size == size) &&
-       (ep->typedata.text->cache.in_w == sw) &&
-       (ep->typedata.text->cache.in_h == sh) &&
-       (ep->typedata.text->cache.in_str) &&
-       same_text &&
-       (ep->typedata.text->cache.align_x == params->type.text.align.x) &&
-       (ep->typedata.text->cache.align_y == params->type.text.align.y) &&
-       (ep->typedata.text->cache.elipsis == params->type.text.elipsis) &&
-       (ep->typedata.text->cache.fit_x == chosen_desc->text.fit_x) &&
-       (ep->typedata.text->cache.fit_y == chosen_desc->text.fit_y))
-     {
-       text = ep->typedata.text->cache.out_str;
-       size = ep->typedata.text->cache.out_size;
-
-       goto arrange_text;
-     }
-   if (!same_text)
-     {
-        eina_stringshare_replace(&ep->typedata.text->cache.in_str, text);
-     }
-   ep->typedata.text->cache.in_size = size;
-   if (chosen_desc->text.fit_x && (ep->typedata.text->cache.in_str && eina_stringshare_strlen(ep->typedata.text->cache.in_str) > 0))
-     {
-        if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-       else evas_object_text_font_source_set(ep->object, NULL);
-
-       if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-        eo_do(ep->object,
-              evas_obj_text_font_set(font, size),
-              evas_obj_text_text_set(text));
-       part_get_geometry(ep, &tw, &th);
-        /* Find the wanted font size */
-       if ((tw != sw) && (size > 0) && (tw != 0))
-          {
-             size = (size * sw) / tw;
-
-             if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-             else evas_object_text_font_source_set(ep->object, NULL);
-
-             if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-             evas_object_text_font_set(ep->object, font, size);
-             part_get_geometry(ep, &tw, &th);
-         }
-
-        /* FIXME: This should possibly be replaced by more proper handling,
-         * but it's still way better than what was here before. */
-        if (tw > sw) size--;
-     }
-   if (chosen_desc->text.fit_y && (ep->typedata.text->cache.in_str && eina_stringshare_strlen(ep->typedata.text->cache.in_str) > 0))
-     {
-       /* if we fit in the x axis, too, size already has a somewhat
-        * meaningful value, so don't overwrite it with the starting
-        * value in that case
-        */
-       if (!chosen_desc->text.fit_x) size = sh;
-
-        if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-       else evas_object_text_font_source_set(ep->object, NULL);
-
-       if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-        eo_do(ep->object,
-              evas_obj_text_font_set(font, size),
-              evas_obj_text_text_set(text));
-       part_get_geometry(ep, &tw, &th);
-
-       /* only grow the font size if we didn't already reach the max size
-        * for the x axis
-        */
-       if (!chosen_desc->text.fit_x && th < sh)
-         {
-            int dif;
-
-            dif = (th - sh) / 4;
-            if (dif < 1) dif = 1;
-            while ((th < sh) && (sw > 0))
-              {
-                 size += dif;
-                 if (size <= 0) break;
-                 if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-                 else evas_object_text_font_source_set(ep->object, NULL);
-
-                 if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-                 evas_object_text_font_set(ep->object, font, size);
-                 part_get_geometry(ep, &tw, &th);
-                 if ((size > 0) && (th == 0)) break;
-              }
-            size -= dif;
-         }
-       else if (th > sh)
-         {
-            int current;
-
-            if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-            evas_object_text_font_set(ep->object, font, 10);
-            part_get_geometry(ep, &tw, &th);
-
-            if (th == sh)
-              current = 10;
-            else
-              {
-                 int bottom, top;
-
-                 if (th < sh) bottom = 10;
-                 else if (th > sh) bottom = 1;
-                 else bottom = 0; /* XXX shut up GCC, th == sh is handled before! */
-
-                 top = size;
-                 /* search one that fits (binary search) */
-                 do
-                   {
-                      current = (top + bottom) / 2;
-
-                      if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-                      evas_object_text_font_set(ep->object, font, current);
-                      part_get_geometry(ep, &tw, &th);
-
-                      if      (th < sh) bottom = current + 1;
-                      else if (th > sh) top    = current - 1;
-                   } while ((bottom < top) && (th != sh));
-              }
-
-            /* search the larger one that fits (linear search) */
-            do
-              {
-                 current++;
-
-                 if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-                 evas_object_text_font_set(ep->object, font, current);
-                 part_get_geometry(ep, &tw, &th);
-              } while (th <= sh);
-            size = current - 1;
-         }
-     }
-
-   /* Make sure the size is in range */
-   if (size < 1)
-      size = 1;
-   else if ((size > chosen_desc->text.size_range_max) &&
-            (chosen_desc->text.size_range_max > 0))
-      size = chosen_desc->text.size_range_max;
-   else if (size < chosen_desc->text.size_range_min)
-      size = chosen_desc->text.size_range_min;
-
-   /* Handle ellipsis */
-   if (!chosen_desc->text.min_x)
-     {
-       if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-       else evas_object_text_font_source_set(ep->object, NULL);
-
-       text = _edje_text_fit_x(ed, ep, params,
-                               text, font, size,
-                                sw, sh, &free_text);
-     }
-
-   eina_stringshare_replace(&ep->typedata.text->cache.out_str, text);
-   ep->typedata.text->cache.in_w = sw;
-   ep->typedata.text->cache.in_h = sh;
-   ep->typedata.text->cache.out_size = size;
-   ep->typedata.text->cache.align_x = params->type.text.align.x;
-   ep->typedata.text->cache.align_y = params->type.text.align.y;
-   ep->typedata.text->cache.elipsis = params->type.text.elipsis;
-   ep->typedata.text->cache.fit_x = chosen_desc->text.fit_x;
-   ep->typedata.text->cache.fit_y = chosen_desc->text.fit_y;
-   arrange_text:
-
-   if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
-   else evas_object_text_font_source_set(ep->object, NULL);
-
-   if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
-   eo_do(ep->object,
-         evas_obj_text_font_set(font, size),
-         evas_obj_text_text_set(text));
-   part_get_geometry(ep, &tw, &th);
-   /* Handle alignment */
-     {
-        FLOAT_T align_x;
-        if (params->type.text.align.x < FROM_INT(0))
-          {
-             if (evas_object_text_direction_get(ep->object) ==
-                   EVAS_BIDI_DIRECTION_RTL)
-               {
-                  align_x = FROM_INT(1);
-               }
-             else
-               {
-                  align_x = FROM_INT(0);
-               }
-          }
-        else
-          {
-             align_x = params->type.text.align.x;
-          }
-        ep->typedata.text->offset.x = TO_INT(SCALE(align_x, (sw - tw)));
-        ep->typedata.text->offset.y = TO_INT(SCALE(params->type.text.align.y, (sh - th)));
-     }
-
-   evas_object_move(ep->object,
-                   ed->x + params->x + ep->typedata.text->offset.x,
-                   ed->y + params->y + ep->typedata.text->offset.y);
-
-   if (params->visible) evas_object_show(ep->object);
-   else evas_object_hide(ep->object);
-     {
-       Evas_Text_Style_Type style;
-        Edje_Text_Effect effect;
-
-       style = EVAS_TEXT_STYLE_PLAIN;
-
-       evas_object_color_set(ep->object,
-                             (params->color.r * params->color.a) / 255,
-                             (params->color.g * params->color.a) / 255,
-                             (params->color.b * params->color.a) / 255,
-                             params->color.a);
-        effect = ep->part->effect;
-        switch (effect & EDJE_TEXT_EFFECT_MASK_BASIC)
-          {
-           case EDJE_TEXT_EFFECT_NONE:
-           case EDJE_TEXT_EFFECT_PLAIN:
-            style = EVAS_TEXT_STYLE_PLAIN;
-             break;
-           case EDJE_TEXT_EFFECT_OUTLINE:
-            style = EVAS_TEXT_STYLE_OUTLINE;
-            evas_object_text_outline_color_set(ep->object,
-                                               (params->type.text.color2.r * params->type.text.color2.a) / 255,
-                                               (params->type.text.color2.g * params->type.text.color2.a) / 255,
-                                               (params->type.text.color2.b * params->type.text.color2.a) / 255,
-                                               params->type.text.color2.a);
-             break;
-           case EDJE_TEXT_EFFECT_SOFT_OUTLINE:
-            style = EVAS_TEXT_STYLE_SOFT_OUTLINE;
-            evas_object_text_outline_color_set(ep->object,
-                                               (params->type.text.color2.r * params->type.text.color2.a) / 255,
-                                               (params->type.text.color2.g * params->type.text.color2.a) / 255,
-                                               (params->type.text.color2.b * params->type.text.color2.a) / 255,
-                                               params->type.text.color2.a);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW:
-            style = EVAS_TEXT_STYLE_SHADOW;
-            evas_object_text_shadow_color_set(ep->object,
-                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                              params->type.text.color3.a);
-             break;
-           case EDJE_TEXT_EFFECT_SOFT_SHADOW:
-            style = EVAS_TEXT_STYLE_SOFT_SHADOW;
-            evas_object_text_shadow_color_set(ep->object,
-                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                              params->type.text.color3.a);
-             break;
-           case EDJE_TEXT_EFFECT_OUTLINE_SHADOW:
-            style = EVAS_TEXT_STYLE_OUTLINE_SHADOW;
-             eo_do(ep->object,
-                   evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
-                                                   (params->type.text.color2.g * params->type.text.color2.a) / 255,
-                                                   (params->type.text.color2.b * params->type.text.color2.a) / 255,
-                                                   params->type.text.color2.a),
-                   evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                                  (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                                  (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                                  params->type.text.color3.a));
-             break;
-           case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW:
-            style = EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW;
-             eo_do(ep->object,
-                   evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
-                                                   (params->type.text.color2.g * params->type.text.color2.a) / 255,
-                                                   (params->type.text.color2.b * params->type.text.color2.a) / 255,
-                                                   params->type.text.color2.a),
-                   evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                                  (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                                  (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                                  params->type.text.color3.a));
-             break;
-           case EDJE_TEXT_EFFECT_FAR_SHADOW:
-            style = EVAS_TEXT_STYLE_FAR_SHADOW;
-            evas_object_text_shadow_color_set(ep->object,
-                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                              params->type.text.color3.a);
-             break;
-           case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW:
-            style = EVAS_TEXT_STYLE_FAR_SOFT_SHADOW;
-            evas_object_text_shadow_color_set(ep->object,
-                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                              params->type.text.color3.a);
-             break;
-           case EDJE_TEXT_EFFECT_GLOW:
-            style = EVAS_TEXT_STYLE_GLOW;
-             eo_do(ep->object,
-                   evas_obj_text_glow_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
-                                                (params->type.text.color2.g * params->type.text.color2.a) / 255,
-                                                (params->type.text.color2.b * params->type.text.color2.a) / 255,
-                                                params->type.text.color2.a),
-                   evas_obj_text_glow2_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
-                                                 (params->type.text.color3.g * params->type.text.color3.a) / 255,
-                                                 (params->type.text.color3.b * params->type.text.color3.a) / 255,
-                                                 params->type.text.color3.a));
-             break;
-           default:
-            style = EVAS_TEXT_STYLE_PLAIN;
-             break;
-          }
-        
-        switch (effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION)
-          {
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT);
-             break;
-           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT:
-             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
-                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT);
-             break;
-           default:
-             break;
-          }
-       evas_object_text_style_set(ep->object, style);
-     }
-   
-   if (free_text) free((char *)text);
-   if (font2) free(font2);
-   if (sfont) free(sfont);
-}
-
-Evas_Font_Size
-_edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc)
-{
-   int val;
-
-   if (tc->size == 0)
-     {
-       val = size;
-     }
-   else if (tc->size > 0.0)
-     {
-       val = tc->size;
-     }
-   else
-     {
-       val = (size * -tc->size) / 100;
-     }
-   return val;
-}
diff --git a/legacy/edje/src/lib/edje_textblock_styles.c b/legacy/edje/src/lib/edje_textblock_styles.c
deleted file mode 100644 (file)
index 52ea02f..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-#include "edje_private.h"
-
-static int
-_edje_font_is_embedded(Edje_File *edf, char *font)
-{
-   if (!eina_hash_find(edf->fonts, font)) return 0;
-   return 1;
-}
-
-static void
-_edje_format_param_parse(char *item, char **key, char **val)
-{
-   char *p, *k, *v;
-
-   p = strchr(item, '=');
-   k = malloc(p - item + 1);
-   strncpy(k, item, p - item);
-   k[p - item] = 0;
-   *key = k;
-   p++;
-   v = strdup(p);
-   *val = v;
-}
-
-static char *
-_edje_format_parse(const char **s)
-{
-   char *item, *ds;
-   const char *p, *ss;
-   const char *s1 = NULL;
-   const char *s2 = NULL;
-
-   p = *s;
-   if ((!p) || (*p == 0)) return NULL;
-   for (;;)
-     {
-       if (!s1)
-         {
-            if (*p != ' ') s1 = p;
-            if (*p == 0) break;
-         }
-       else if (!s2)
-         {
-            if ((p > *s) && (p[-1] != '\\'))
-              {
-                 if (*p == ' ') s2 = p;
-              }
-            if (*p == 0) s2 = p;
-         }
-       p++;
-       if (s1 && s2)
-         {
-            item = malloc(s2 - s1 + 1);
-            if (item)
-              {
-                 for (ds = item, ss = s1; ss < s2; ss++, ds++)
-                   {
-                      if ((*ss == '\\') && (ss < (s2 - 1))) ss++;
-                      *ds = *ss;
-                   }
-                 *ds = 0;
-              }
-            *s = s2;
-            return item;
-         }
-     }
-   *s = p;
-   return NULL;
-}
-
-static int
-_edje_format_is_param(char *item)
-{
-   if (strchr(item, '=')) return 1;
-   return 0;
-}
-
-static char *
-_edje_format_reparse(Edje_File *edf, const char *str, Edje_Style_Tag **tag_ret)
-{
-   Eina_Strbuf *txt, *tmp = NULL;
-   char *s2, *item, *ret;
-   const char *s;
-
-   txt = eina_strbuf_new();
-   s = str;
-   while ((item = _edje_format_parse(&s)))
-     {
-       if (_edje_format_is_param(item))
-         {
-            char *key = NULL, *val = NULL;
-
-            _edje_format_param_parse(item, &key, &val);
-            if (!strcmp(key, "font_source"))
-              {
-                 /* dont allow font sources */
-              }
-            else if (!strcmp(key, "text_class"))
-              {
-                 if (tag_ret)
-                   (*tag_ret)->text_class = eina_stringshare_add(val);
-              }
-            else if (!strcmp(key, "font_size"))
-              {
-                 if (tag_ret)
-                   (*tag_ret)->font_size = atof(val);
-              }
-            else if (!strcmp(key, "font")) /* Fix fonts */
-              {
-                 if (tag_ret)
-                   {
-                      if (_edje_font_is_embedded(edf, val))
-                        {
-                           if (!tmp)
-                             tmp = eina_strbuf_new();
-                           eina_strbuf_append(tmp, "edje/fonts/");
-                           eina_strbuf_append(tmp, val);
-                           (*tag_ret)->font = eina_stringshare_add(eina_strbuf_string_get(tmp));
-                           eina_strbuf_reset(tmp);
-                        }
-                      else
-                        {
-                           (*tag_ret)->font = eina_stringshare_add(val);
-                        }
-                   }
-              }
-            else /* Otherwise add to tag buffer */
-              {
-                 s2 = eina_str_escape(item);
-                 if (s2)
-                   {
-                      if (eina_strbuf_length_get(txt)) eina_strbuf_append(txt, " ");
-                      eina_strbuf_append(txt, s2);
-                      free(s2);
-                   }
-              }
-            free(key);
-            free(val);
-         }
-       else
-         {
-            if (eina_strbuf_length_get(txt)) eina_strbuf_append(txt, " ");
-            eina_strbuf_append(txt, item);
-         }
-       free(item);
-     }
-   if (tmp)
-     eina_strbuf_free(tmp);
-   ret = eina_strbuf_string_steal(txt);
-   eina_strbuf_free(txt);
-   return ret;
-}
-
-/* Update all evas_styles which are in an edje
- *
- * @param ed   The edje containing styles which need to be updated
- */
-void
-_edje_textblock_style_all_update(Edje *ed)
-{
-   Eina_List *l, *ll;
-   Edje_Style *stl;
-   Eina_Strbuf *txt = NULL;
-
-   if (!ed->file) return;
-
-   EINA_LIST_FOREACH(ed->file->styles, l, stl)
-     {
-       Edje_Style_Tag *tag;
-       Edje_Text_Class *tc;
-       int found = 0;
-       char *fontset = NULL, *fontsource = NULL;
-
-       /* Make sure the style is already defined */
-       if (!stl->style) break;
-
-       /* Make sure the style contains a text_class */
-       EINA_LIST_FOREACH(stl->tags, ll, tag)
-          {
-             if (tag->text_class)
-               {
-                  found = 1;
-                  break;
-               }
-          }
-
-       /* No text classes , goto next style */
-       if (!found) continue;
-       if (!txt)
-         txt = eina_strbuf_new();
-
-       if (_edje_fontset_append)
-         fontset = eina_str_escape(_edje_fontset_append);
-       fontsource = eina_str_escape(ed->file->path);
-
-       /* Build the style from each tag */
-       EINA_LIST_FOREACH(stl->tags, ll, tag)
-         {
-            if (!tag->key) continue;
-
-            /* Add Tag Key */
-            eina_strbuf_append(txt, tag->key);
-            eina_strbuf_append(txt, "='");
-
-            /* Configure fonts from text class if it exists */
-            tc = _edje_text_class_find(ed, tag->text_class);
-
-            /* Add and Ha`ndle tag parsed data */
-            eina_strbuf_append(txt, tag->value);
-
-            if (!strcmp(tag->key, "DEFAULT"))
-              {
-                 if (fontset)
-                   {
-                      eina_strbuf_append(txt, " ");
-                      eina_strbuf_append(txt, "font_fallbacks=");
-                      eina_strbuf_append(txt, fontset);
-                   }
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font_source=");
-                 eina_strbuf_append(txt, fontsource);
-              }
-            if (tag->font_size != 0)
-              {
-                 char font_size[32];
-
-                 if (tc && tc->size)
-                   snprintf(font_size, sizeof(font_size), "%f", (double) _edje_text_size_calc(tag->font_size, tc));
-                 else
-                   snprintf(font_size, sizeof(font_size), "%f", tag->font_size);
-
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font_size=");
-                 eina_strbuf_append(txt, font_size);
-              }
-            /* Add font name last to save evas from multiple loads */
-            if (tag->font)
-              {
-                 const char *f;
-
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font=");
-
-                 f = (tc && tc->font) ? tc->font : tag->font;
-                 eina_strbuf_append_escaped(txt, f);
-              }
-
-            eina_strbuf_append(txt, "'");
-         }
-       if (fontset) free(fontset);
-       if (fontsource) free(fontsource);
-
-       /* Configure the style */
-       evas_textblock_style_set(stl->style, eina_strbuf_string_get(txt));
-       eina_strbuf_reset(txt);
-     }
-   if (txt)
-     eina_strbuf_free(txt);
-}
-
-void
-_edje_textblock_styles_add(Edje *ed)
-{
-   Eina_List *l, *ll;
-   Edje_Style *stl;
-
-   if (!ed->file) return;
-
-   EINA_LIST_FOREACH(ed->file->styles, l, stl)
-     {
-       Edje_Style_Tag *tag;
-
-       /* Make sure the style contains the text_class */
-       EINA_LIST_FOREACH(stl->tags, ll, tag)
-         {
-           if (!tag->text_class) continue;
-           _edje_text_class_member_add(ed, tag->text_class);
-         }
-     }
-}
-
-void
-_edje_textblock_styles_del(Edje *ed)
-{
-   Eina_List *l, *ll;
-   Edje_Style *stl;
-
-   if (!ed->file) return;
-
-   EINA_LIST_FOREACH(ed->file->styles, l, stl)
-     {
-       Edje_Style_Tag *tag;
-
-       /* Make sure the style contains the text_class */
-       EINA_LIST_FOREACH(stl->tags, ll, tag)
-         {
-            if (!tag->text_class) continue;
-            _edje_text_class_member_del(ed, tag->text_class);
-         }
-     }
-}
-
-/* When we get to here the edje file had been read into memory
- * the name of the style is established as well as the name and
- * data for the tags.  This function will create the Evas_Style
- * object for each style. The style is composed of a base style
- * followed by a list of tags.
- */
-void
-_edje_textblock_style_parse_and_fix(Edje_File *edf)
-{
-   Eina_Strbuf *txt = NULL;
-   Eina_List *l, *ll;
-   Edje_Style *stl;
-
-   EINA_LIST_FOREACH(edf->styles, l, stl)
-     {
-       Edje_Style_Tag *tag;
-       char *fontset = NULL, *fontsource = NULL, *ts;
-
-       if (stl->style) break;
-
-       if (!txt)
-         txt = eina_strbuf_new();
-
-       stl->style = evas_textblock_style_new();
-       evas_textblock_style_set(stl->style, NULL);
-
-       if (_edje_fontset_append)
-         fontset = eina_str_escape(_edje_fontset_append);
-       fontsource = eina_str_escape(edf->path);
-
-       /* Build the style from each tag */
-       EINA_LIST_FOREACH(stl->tags, ll, tag)
-         {
-            if (!tag->key) continue;
-
-            /* Add Tag Key */
-            eina_strbuf_append(txt, tag->key);
-            eina_strbuf_append(txt, "='");
-
-            ts = _edje_format_reparse(edf, tag->value, &(tag));
-
-            /* Add and Handle tag parsed data */
-            if (ts)
-              {
-                 if (eet_dictionary_string_check(eet_dictionary_get(edf->ef), tag->value) == 0)
-                   eina_stringshare_del(tag->value);
-                 tag->value = eina_stringshare_add(ts);
-                 eina_strbuf_append(txt, tag->value);
-                 free(ts);
-              }
-
-            if (!strcmp(tag->key, "DEFAULT"))
-              {
-                 if (fontset)
-                   {
-                      eina_strbuf_append(txt, " ");
-                      eina_strbuf_append(txt, "font_fallbacks=");
-                      eina_strbuf_append(txt, fontset);
-                   }
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font_source=");
-                 eina_strbuf_append(txt, fontsource);
-              }
-            if (tag->font_size > 0)
-              {
-                 char font_size[32];
-
-                 snprintf(font_size, sizeof(font_size), "%f", tag->font_size);
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font_size=");
-                 eina_strbuf_append(txt, font_size);
-              }
-            /* Add font name last to save evas from multiple loads */
-            if (tag->font)
-              {
-                 eina_strbuf_append(txt, " ");
-                 eina_strbuf_append(txt, "font=");
-                 eina_strbuf_append_escaped(txt, tag->font);
-              }
-            eina_strbuf_append(txt, "'");
-         }
-       if (fontset) free(fontset);
-       if (fontsource) free(fontsource);
-
-       /* Configure the style */
-       evas_textblock_style_set(stl->style, eina_strbuf_string_get(txt));
-       eina_strbuf_reset(txt);
-     }
-   if (txt)
-     eina_strbuf_free(txt);
-}
-
-void
-_edje_textblock_style_cleanup(Edje_File *edf)
-{
-   while (edf->styles)
-     {
-       Edje_Style *stl;
-
-       stl = edf->styles->data;
-       edf->styles = eina_list_remove_list(edf->styles, edf->styles);
-       while (stl->tags)
-         {
-            Edje_Style_Tag *tag;
-
-            tag = stl->tags->data;
-            stl->tags = eina_list_remove_list(stl->tags, stl->tags);
-             if (edf->free_strings)
-               {
-                  if (tag->key) eina_stringshare_del(tag->key);
-/*                FIXME: Find a proper way to handle it. */
-                  if (tag->value) eina_stringshare_del(tag->value);
-                  if (tag->text_class) eina_stringshare_del(tag->text_class);
-                  if (tag->font) eina_stringshare_del(tag->font);
-               }
-             free(tag);
-         }
-        if (edf->free_strings && stl->name) eina_stringshare_del(stl->name);
-       if (stl->style) evas_textblock_style_free(stl->style);
-       free(stl);
-     }
-}
diff --git a/legacy/edje/src/lib/edje_util.c b/legacy/edje/src/lib/edje_util.c
deleted file mode 100644 (file)
index d03cb6d..0000000
+++ /dev/null
@@ -1,6659 +0,0 @@
-#include "edje_private.h"
-
-typedef struct _Edje_Box_Layout Edje_Box_Layout;
-struct _Edje_Box_Layout
-{
-   EINA_RBTREE;
-   Evas_Object_Box_Layout func;
-   void *(*layout_data_get)(void *);
-   void (*layout_data_free)(void *);
-   void *data;
-   void (*free_data)(void *);
-   char name[];
-};
-
-static Eina_Hash *_edje_color_class_hash = NULL;
-static Eina_Hash *_edje_color_class_member_hash = NULL;
-
-static Eina_Hash *_edje_text_class_hash = NULL;
-static Eina_Hash *_edje_text_class_member_hash = NULL;
-
-static Eina_Rbtree *_edje_box_layout_registry = NULL;
-
-char *_edje_fontset_append = NULL;
-FLOAT_T _edje_scale = ZERO;
-Eina_Bool _edje_password_show_last = EINA_FALSE;
-FLOAT_T _edje_password_show_last_timeout = ZERO;
-int _edje_freeze_val = 0;
-int _edje_freeze_calc_count = 0;
-Eina_List *_edje_freeze_calc_list = NULL;
-
-typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data;
-struct _Edje_List_Foreach_Data
-{
-   Eina_List *list;
-};
-
-typedef struct _Edje_List_Refcount Edje_List_Refcount;
-struct _Edje_List_Refcount
-{
-   EINA_REFCOUNT;
-
-   Eina_List *lookup;
-};
-
-static Eina_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
-static Eina_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
-static void _edje_object_image_preload_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void _edje_object_signal_preload_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void _edje_user_def_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__);
-static void _edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child);
-static void _edje_box_child_remove(Edje_Real_Part *rp, Evas_Object *child);
-
-Edje_Real_Part *_edje_real_part_recursive_get_helper(const Edje *ed, char **path);
-
-static Edje_User_Defined *
-_edje_user_definition_new(Edje_User_Defined_Type type, const char *part, Edje *ed)
-{
-   Edje_User_Defined *eud;
-
-   eud = malloc(sizeof (Edje_User_Defined));
-   if (!eud) return NULL;
-
-   eud->type = type;
-   eud->part = eina_stringshare_add(part);
-   eud->ed = ed;
-   ed->user_defined = eina_list_append(ed->user_defined, eud);
-
-   return eud;
-}
-
-void
-_edje_user_definition_remove(Edje_User_Defined *eud, Evas_Object *child)
-{
-   eud->ed->user_defined = eina_list_remove(eud->ed->user_defined, eud);
-
-   if (child) evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-   eina_stringshare_del(eud->part);
-   free(eud);
-}
-
-void
-_edje_user_definition_free(Edje_User_Defined *eud)
-{
-   Evas_Object *child = NULL;
-   Edje_Real_Part *rp;
-
-   eud->ed->user_defined = eina_list_remove(eud->ed->user_defined, eud);
-
-   switch (eud->type)
-     {
-      case EDJE_USER_SWALLOW:
-         child = eud->u.swallow.child;
-         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
-         if (rp)
-           {
-              _edje_real_part_swallow_clear(rp);
-              if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                  (rp->typedata.swallow))
-                {
-                   rp->typedata.swallow->swallowed_object = NULL;
-                   rp->typedata.swallow->swallow_params.min.w = 0;
-                   rp->typedata.swallow->swallow_params.min.h = 0;
-                   rp->typedata.swallow->swallow_params.max.w = 0;
-                   rp->typedata.swallow->swallow_params.max.h = 0;
-                }
-              rp->edje->dirty = EINA_TRUE;
-              rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-              rp->invalidate = 1;
-#endif
-              _edje_recalc_do(rp->edje);
-           }
-         break;
-      case EDJE_USER_BOX_PACK:
-         child = eud->u.box.child;
-         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
-         _edje_box_child_remove(rp, child);
-         break;
-      case EDJE_USER_TABLE_PACK:
-         child = eud->u.table.child;
-         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
-         _edje_table_child_remove(rp, child);
-         break;
-      case EDJE_USER_STRING:
-      case EDJE_USER_DRAG_STEP:
-      case EDJE_USER_DRAG_PAGE:
-      case EDJE_USER_DRAG_VALUE:
-      case EDJE_USER_DRAG_SIZE:
-         break;
-     }
-
-   _edje_user_definition_remove(eud, child);
-}
-
-static void
-_edje_user_def_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__)
-{
-   Edje_User_Defined *eud = data;
-
-   _edje_user_definition_free(eud);
-}
-
-static void
-_edje_class_member_direct_del(const char *class, Edje_List_Refcount *lookup, Eina_Hash *hash)
-{
-   Eina_List *members;
-
-   members = eina_hash_find(hash, class);
-   members = eina_list_remove_list(members, lookup->lookup);
-   eina_hash_set(hash, class, members);
-   free(lookup);
-}
-
-static void
-_edje_class_member_add(Edje *ed, Eina_Hash **ehash, Eina_Hash **ghash, const char *class)
-{
-   Edje_List_Refcount *lookup;
-   Eina_List *members;
-
-   if ((!ed) || (!ehash) || (!ghash) || (!class)) return;
-
-   lookup = eina_hash_find(*ehash, class);
-   if (lookup)
-     {
-        EINA_REFCOUNT_REF(lookup);
-        return;
-     }
-
-   lookup = malloc(sizeof (Edje_List_Refcount));
-   if (!lookup) return ;
-   EINA_REFCOUNT_INIT(lookup);
-
-   /* Get members list */
-   members = eina_hash_find(*ghash, class);
-
-   /* Update the member list */
-   lookup->lookup = members = eina_list_prepend(members, ed);
-
-   /* Don't loose track of members list */
-   if (!*ehash)
-     *ehash = eina_hash_string_small_new(NULL);
-   eina_hash_add(*ehash, class, lookup);
-
-   /* Reset the member list to the right pointer */
-   if (!*ghash)
-     *ghash = eina_hash_string_superfast_new(NULL);
-   eina_hash_set(*ghash, class, members);
-}
-
-static void
-_edje_class_member_del(Eina_Hash **ehash, Eina_Hash **ghash, const char *class)
-{
-   Edje_List_Refcount *lookup;
-   Eina_List *members;
-
-   if ((!ehash) || (!ghash) || (!class)) return;
-   members = eina_hash_find(*ghash, class);
-   if (!members) return;
-
-   lookup = eina_hash_find(*ehash, class);
-   if (!lookup) return ;
-
-   EINA_REFCOUNT_UNREF(lookup)
-   {
-      members = eina_list_remove_list(members, lookup->lookup);
-      eina_hash_set(*ghash, class, members);
-
-      eina_hash_del(*ehash, class, lookup);
-      free(lookup);
-   }
-}
-
-static Eina_Bool
-member_list_free(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   eina_list_free(data);
-   return EINA_TRUE;
-}
-
-static void
-_edje_class_members_free(Eina_Hash **ghash)
-{
-   if (!ghash || !*ghash) return;
-   eina_hash_foreach(*ghash, member_list_free, NULL);
-   eina_hash_free(*ghash);
-   *ghash = NULL;
-}
-
-/************************** API Routines **************************/
-
-#define FASTFREEZE 1
-
-EAPI void
-edje_freeze(void)
-{
-#ifdef FASTFREEZE
-   _edje_freeze_val++;
-#else
-// FIXME: could just have a global freeze instead of per object
-// above i tried.. but this broke some things. notable e17's menus. why?
-   Eina_List *l;
-   Evas_Object *data;
-
-   EINA_LIST_FOREACH(_edje_edjes, l, data)
-     edje_object_freeze(data);
-#endif
-}
-
-#ifdef FASTFREEZE
-static void
-_edje_thaw_edje(Edje *ed)
-{
-   unsigned int i;
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          {
-             Edje *ed2;
-
-             ed2 = _edje_fetch(rp->typedata.swallow->swallowed_object);
-             if (ed2) _edje_thaw_edje(ed2);
-          }
-     }
-   if ((ed->recalc) && (ed->freeze <= 0)) _edje_recalc_do(ed);
-}
-#endif
-
-EAPI void
-edje_thaw(void)
-{
-#ifdef FASTFREEZE
-   _edje_freeze_val--;
-   if ((_edje_freeze_val <= 0) && (_edje_freeze_calc_count > 0))
-     {
-        Edje *ed;
-
-        _edje_freeze_calc_count = 0;
-        EINA_LIST_FREE(_edje_freeze_calc_list, ed)
-          {
-             _edje_thaw_edje(ed);
-             ed->freeze_calc = EINA_FALSE;
-          }
-     }
-#else
-  Evas_Object *data;
-
-// FIXME: could just have a global freeze instead of per object
-// comment as above.. why?
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(_edje_edjes, l, data)
-     edje_object_thaw(data);
-#endif
-}
-
-EAPI void
-edje_fontset_append_set(const char *fonts)
-{
-   if (_edje_fontset_append)
-     free(_edje_fontset_append);
-   _edje_fontset_append = fonts ? strdup(fonts) : NULL;
-}
-
-EAPI const char *
-edje_fontset_append_get(void)
-{
-   return _edje_fontset_append;
-}
-
-EAPI void
-edje_scale_set(double scale)
-{
-   Eina_List *l;
-   Evas_Object *data;
-
-   if (_edje_scale == FROM_DOUBLE(scale)) return;
-   _edje_scale = FROM_DOUBLE(scale);
-   EINA_LIST_FOREACH(_edje_edjes, l, data)
-     edje_object_calc_force(data);
-}
-
-EAPI double
-edje_scale_get(void)
-{
-  return TO_DOUBLE(_edje_scale);
-}
-
-EAPI void
-edje_password_show_last_set(Eina_Bool password_show_last)
-{
-   if (_edje_password_show_last == password_show_last) return;
-   _edje_password_show_last = password_show_last;
-}
-
-EAPI void
-edje_password_show_last_timeout_set(double password_show_last_timeout)
-{
-   if (_edje_password_show_last_timeout == FROM_DOUBLE(password_show_last_timeout)) return;
-   _edje_password_show_last_timeout = FROM_DOUBLE(password_show_last_timeout);
-}
-
-EAPI Eina_Bool
-edje_object_scale_set(Evas_Object *obj, double scale)
-{
-   if (!eo_isa(obj, EDJE_OBJ_CLASS)) return EINA_FALSE;
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_scale_set(scale, &ret));
-   return ret;
-}
-
-void
-_scale_set(Eo *obj, void *_pd, va_list *list)
-{
-   double scale = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_TRUE;
-
-   Edje *ed, *ged;
-   Evas_Object *o;
-   Eina_List *l;
-   unsigned int i;
-
-   ed = _pd;
-   if (ed->scale == scale) return;
-   ed->scale = FROM_DOUBLE(scale);
-   EINA_LIST_FOREACH(ed->groups, l, ged)
-      ged->scale = ed->scale;
-   EINA_LIST_FOREACH(ed->subobjs, l, o)
-      edje_object_calc_force(o);
-   for(i = 0; i < ed->table_parts_size; ++i)
-     {
-        Edje_Real_Part *ep;
-        ep = ed->table_parts[i];
-        if ((ep->part->type == EDJE_PART_TYPE_BOX)
-            || (ep->part->type == EDJE_PART_TYPE_TABLE))
-          {
-             EINA_LIST_FOREACH(ep->typedata.container->items, l, o)
-                edje_object_scale_set(o, scale);
-          }
-     }
-   edje_object_calc_force(obj);
-}
-
-EAPI double
-edje_object_scale_get(const Evas_Object *obj)
-{
-   if (!obj) return 0.0;
-   double ret = 0.0;
-   eo_do((Eo *)obj, edje_obj_scale_get(&ret));
-   return ret;
-}
-
-void
-_scale_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double *ret = va_arg(*list, double *);
-   const Edje *ed = _pd;
-   *ret = TO_DOUBLE(ed->scale);
-}
-
-EAPI Eina_Bool
-edje_object_mirrored_get(const Evas_Object *obj)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_mirrored_get(&ret));
-   return ret;
-}
-
-void
-_mirrored_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   *ret = ed->is_rtl;
-}
-
-void
-_edje_object_orientation_inform(Evas_Object *obj)
-{
-   if (!obj) return;
-   if (edje_object_mirrored_get(obj))
-     edje_object_signal_emit(obj, "edje,state,rtl", "edje");
-   else
-     edje_object_signal_emit(obj, "edje,state,ltr", "edje");
-}
-
-EAPI void
-edje_object_mirrored_set(Evas_Object *obj, Eina_Bool rtl)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_mirrored_set(rtl));
-}
-
-void
-_mirrored_set(Eo *obj, void *_pd, va_list *list)
-{
-   Eina_Bool rtl = va_arg(*list, int);
-
-   Edje *ed = _pd;
-   unsigned int i;
-
-   if (ed->is_rtl == rtl) return;
-
-   ed->is_rtl = rtl;
-
-   for (i = 0 ; i < ed->table_parts_size ; i++)
-     {
-        Edje_Real_Part *ep;
-        const char *s;
-        double v;
-
-        ep = ed->table_parts[i];
-        s = ep->param1.description->state.name,
-          v = ep->param1.description->state.value;
-        _edje_part_description_apply(ed, ep, s, v , NULL, 0.0);
-        ep->chosen_description = ep->param1.description;
-     }
-   _edje_recalc_do(ed);
-
-   _edje_object_orientation_inform(obj);
-
-   return;
-}
-
-EAPI const char *
-edje_object_data_get(const Evas_Object *obj, const char *key)
-{
-   if (!obj) return NULL;
-   const char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_data_get(key, &ret));
-   return ret;
-}
-
-void
-_data_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *key = va_arg(*list, const char *);
-   const char **ret = va_arg(*list, const char **);
-   *ret = NULL;
-
-   const Edje *ed = _pd;
-
-   if ((!ed) || (!key))
-     return;
-   if (!ed->collection) return;
-   if (!ed->collection->data) return;
-   *ret = edje_string_get(eina_hash_find(ed->collection->data, key));
-}
-
-EAPI int
-edje_object_freeze(Evas_Object *obj)
-{
-   if (!obj) return 0;
-   int ret = 0;
-   eo_do(obj, edje_obj_freeze(&ret));
-   return ret;
-}
-
-void
-_freeze(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   int *ret = va_arg(*list, int *);
-
-   Edje *ed = _pd;
-   unsigned int i;
-
-   if (ret) *ret = 0;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_freeze(rp->typedata.swallow->swallowed_object);
-     }
-   int int_ret = _edje_freeze(ed);
-   if (ret) *ret = int_ret;
-}
-
-EAPI int
-edje_object_thaw(Evas_Object *obj)
-{
-   if (!obj) return 0;
-   int ret;
-   eo_do(obj, edje_obj_thaw(&ret));
-   return ret;
-}
-
-void
-_thaw(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   int *ret = va_arg(*list, int *);
-   Edje *ed = _pd;
-   unsigned int i;
-
-   if (ret) *ret = 0;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_thaw(rp->typedata.swallow->swallowed_object);
-     }
-   int int_ret = _edje_thaw(ed);
-   if (ret) *ret = int_ret;
-}
-
-EAPI Eina_Bool
-edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
-{
-   Eina_List *members;
-   Edje_Color_Class *cc;
-
-   if (!color_class) return EINA_FALSE;
-
-   cc = eina_hash_find(_edje_color_class_hash, color_class);
-   if (!cc)
-     {
-        cc = calloc(1, sizeof(Edje_Color_Class));
-        if (!cc) return EINA_FALSE;
-        cc->name = eina_stringshare_add(color_class);
-        if (!cc->name)
-          {
-             free(cc);
-             return EINA_FALSE;
-          }
-        if (!_edje_color_class_hash)
-          _edje_color_class_hash = eina_hash_string_superfast_new(NULL);
-        eina_hash_add(_edje_color_class_hash, color_class, cc);
-     }
-
-   if (r < 0)        r = 0;
-   else if (r > 255) r = 255;
-   if (g < 0)        g = 0;
-   else if (g > 255) g = 255;
-   if (b < 0)        b = 0;
-   else if (b > 255) b = 255;
-   if (a < 0)        a = 0;
-   else if (a > 255) a = 255;
-   if ((cc->r == r) && (cc->g == g) &&
-       (cc->b == b) && (cc->a == a) &&
-       (cc->r2 == r2) && (cc->g2 == g2) &&
-       (cc->b2 == b2) && (cc->a2 == a2) &&
-       (cc->r3 == r3) && (cc->g3 == g3) &&
-       (cc->b3 == b3) && (cc->a3 == a3))
-     return EINA_TRUE;
-   cc->r = r;
-   cc->g = g;
-   cc->b = b;
-   cc->a = a;
-   cc->r2 = r2;
-   cc->g2 = g2;
-   cc->b2 = b2;
-   cc->a2 = a2;
-   cc->r3 = r3;
-   cc->g3 = g3;
-   cc->b3 = b3;
-   cc->a3 = a3;
-
-   members = eina_hash_find(_edje_color_class_member_hash, color_class);
-   while (members)
-     {
-        Edje *ed;
-
-        ed = eina_list_data_get(members);
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-        ed->all_part_change = EINA_TRUE;
-#endif
-        _edje_recalc(ed);
-        _edje_emit(ed, "color_class,set", color_class);
-        members = eina_list_next(members);
-     }
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_color_class_get(const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
-{
-   Edje_Color_Class *cc;
-
-   if (!color_class)
-     cc = NULL;
-   else
-     cc = eina_hash_find(_edje_color_class_hash, color_class);
-
-   if (cc)
-     {
-#define X(C) if (C) *C = cc->C
-#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
-        S(r, g, b, a);
-        S(r2, g2, b2, a2);
-        S(r3, g3, b3, a3);
-#undef S
-#undef X
-        return EINA_TRUE;
-     }
-   else
-     {
-#define X(C) if (C) *C = 0
-#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
-        S(r, g, b, a);
-        S(r2, g2, b2, a2);
-        S(r3, g3, b3, a3);
-#undef S
-#undef X
-        return EINA_FALSE;
-     }
-}
-
-void
-edje_color_class_del(const char *color_class)
-{
-   Edje_Color_Class *cc;
-   Eina_List *members;
-
-   if (!color_class) return;
-
-   cc = eina_hash_find(_edje_color_class_hash, color_class);
-   if (!cc) return;
-
-   eina_hash_del(_edje_color_class_hash, color_class, cc);
-   eina_stringshare_del(cc->name);
-   free(cc);
-
-   members = eina_hash_find(_edje_color_class_member_hash, color_class);
-   while (members)
-     {
-        Edje *ed;
-
-        ed = eina_list_data_get(members);
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-        ed->all_part_change = EINA_TRUE;
-#endif
-        _edje_recalc(ed);
-        _edje_emit(ed, "color_class,del", color_class);
-        members = eina_list_next(members);
-     }
-}
-
-Eina_List *
-edje_color_class_list(void)
-{
-   Edje_List_Foreach_Data fdata;
-
-   if (!_edje_color_class_member_hash) return NULL;
-
-   memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-   eina_hash_foreach(_edje_color_class_member_hash,
-                     _edje_color_class_list_foreach, &fdata);
-
-   return fdata.list;
-}
-
-static Eina_Bool
-_edje_color_class_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key, void *data __UNUSED__, void *fdata)
-{
-   Edje_List_Foreach_Data *fd;
-
-   fd = fdata;
-   fd->list = eina_list_append(fd->list, strdup(key));
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_color_class_set(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, &ret));
-   return ret;
-}
-
-void
-_color_class_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *color_class = va_arg(*list, const char *);
-   int r = va_arg(*list, int);
-   int g = va_arg(*list, int);
-   int b = va_arg(*list, int);
-   int a = va_arg(*list, int);
-   int r2 = va_arg(*list, int);
-   int g2 = va_arg(*list, int);
-   int b2 = va_arg(*list, int);
-   int a2 = va_arg(*list, int);
-   int r3 = va_arg(*list, int);
-   int g3 = va_arg(*list, int);
-   int b3 = va_arg(*list, int);
-   int a3 = va_arg(*list, int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-
-   Edje *ed = _pd;
-   Edje_Color_Class *cc;
-   unsigned int i;
-
-   if ((!ed) || (!color_class)) return;
-   if (r < 0)        r = 0;
-   else if (r > 255) r = 255;
-   if (g < 0)        g = 0;
-   else if (g > 255) g = 255;
-   if (b < 0)        b = 0;
-   else if (b > 255) b = 255;
-   if (a < 0)        a = 0;
-   else if (a > 255) a = 255;
-   cc = eina_hash_find(ed->color_classes, color_class);
-   if (cc)
-     {
-        if ((cc->r == r) && (cc->g == g) &&
-            (cc->b == b) && (cc->a == a) &&
-            (cc->r2 == r2) && (cc->g2 == g2) &&
-            (cc->b2 == b2) && (cc->a2 == a2) &&
-            (cc->r3 == r3) && (cc->g3 == g3) &&
-            (cc->b3 == b3) && (cc->a3 == a3))
-          {
-             if (ret) *ret = EINA_TRUE;
-             return;
-          }
-       cc->r = r;
-       cc->g = g;
-       cc->b = b;
-       cc->a = a;
-       cc->r2 = r2;
-       cc->g2 = g2;
-       cc->b2 = b2;
-       cc->a2 = a2;
-       cc->r3 = r3;
-       cc->g3 = g3;
-       cc->b3 = b3;
-       cc->a3 = a3;
-       ed->dirty = EINA_TRUE;
-       ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-       ed->all_part_change = EINA_TRUE;
-#endif
-       _edje_recalc(ed);
-       if (ret) *ret = EINA_TRUE;
-       return;
-     }
-
-   color_class = eina_stringshare_add(color_class);
-   if (!color_class) return;
-   cc = malloc(sizeof(Edje_Color_Class));
-   if (!cc)
-     {
-        eina_stringshare_del(color_class);
-        return;
-     }
-   cc->name = color_class;
-   cc->r = r;
-   cc->g = g;
-   cc->b = b;
-   cc->a = a;
-   cc->r2 = r2;
-   cc->g2 = g2;
-   cc->b2 = b2;
-   cc->a2 = a2;
-   cc->r3 = r3;
-   cc->g3 = g3;
-   cc->b3 = b3;
-   cc->a3 = a3;
-   eina_hash_direct_add(ed->color_classes, cc->name, cc);
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_color_class_set(rp->typedata.swallow->swallowed_object,
-                                      color_class,
-                                      r, g, b, a, r2, g2, b2, a2, r3, g3, b3,
-                                      a3);
-     }
-
-   _edje_recalc(ed);
-   _edje_emit(ed, "color_class,set", color_class);
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_color_class_get(const Evas_Object *obj, const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_color_class_get(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, &ret));
-   return ret;
-}
-
-void
-_color_class_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *color_class = va_arg(*list, const char *);
-   int *r = va_arg(*list, int *);
-   int *g = va_arg(*list, int *);
-   int *b = va_arg(*list, int *);
-   int *a = va_arg(*list, int *);
-   int *r2 = va_arg(*list, int *);
-   int *g2 = va_arg(*list, int *);
-   int *b2 = va_arg(*list, int *);
-   int *a2 = va_arg(*list, int *);
-   int *r3 = va_arg(*list, int *);
-   int *g3 = va_arg(*list, int *);
-   int *b3 = va_arg(*list, int *);
-   int *a3 = va_arg(*list, int *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-
-   const Edje *ed = _pd;
-   Edje_Color_Class *cc = _edje_color_class_find(ed, color_class);
-
-   if (cc)
-     {
-#define X(C) if (C) *C = cc->C
-#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
-        S(r, g, b, a);
-        S(r2, g2, b2, a2);
-        S(r3, g3, b3, a3);
-#undef S
-#undef X
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-   else
-     {
-#define X(C) if (C) *C = 0
-#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
-        S(r, g, b, a);
-        S(r2, g2, b2, a2);
-        S(r3, g3, b3, a3);
-#undef S
-#undef X
-        return;
-     }
-}
-
-void
-edje_object_color_class_del(Evas_Object *obj, const char *color_class)
-{
-   Edje *ed;
-   Edje_Color_Class *cc = NULL;
-   unsigned int i;
-
-   ed = _edje_fetch(obj);
-
-   if ((!ed) || (!color_class)) return;
-
-   eina_hash_del(ed->color_classes, color_class, cc);
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_color_class_del(rp->typedata.swallow->swallowed_object, color_class);
-     }
-
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-   _edje_recalc(ed);
-   _edje_emit(ed, "color_class,del", color_class);
-}
-
-EAPI Eina_Bool
-edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size size)
-{
-   Eina_List *members;
-   Edje_Text_Class *tc;
-
-   if (!text_class) return EINA_FALSE;
-   if (!font) font = "";
-
-   tc = eina_hash_find(_edje_text_class_hash, text_class);
-   /* Create new text class */
-   if (!tc)
-     {
-        tc = calloc(1, sizeof(Edje_Text_Class));
-        if (!tc) return EINA_FALSE;
-        tc->name = eina_stringshare_add(text_class);
-        if (!tc->name)
-          {
-             free(tc);
-             return EINA_FALSE;
-          }
-        if (!_edje_text_class_hash) _edje_text_class_hash = eina_hash_string_superfast_new(NULL);
-        eina_hash_add(_edje_text_class_hash, text_class, tc);
-
-        tc->font = eina_stringshare_add(font);
-        tc->size = size;
-     }
-   else
-     {
-        /* Match and the same, return */
-        if (((tc->font && font) && !strcmp(tc->font, font)) &&
-            (tc->size == size))
-          return EINA_TRUE;
-
-        /* Update the class found */
-        eina_stringshare_replace(&tc->font, font);
-        tc->size = size;
-     }
-
-   /* Tell all members of the text class to recalc */
-   members = eina_hash_find(_edje_text_class_member_hash, text_class);
-   while (members)
-     {
-        Edje *ed;
-
-        ed = eina_list_data_get(members);
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-        _edje_textblock_style_all_update(ed);
-#ifdef EDJE_CALC_CACHE
-        ed->text_part_change = EINA_TRUE;
-#endif
-        _edje_recalc(ed);
-        members = eina_list_next(members);
-     }
-   return EINA_TRUE;
-}
-
-void
-edje_text_class_del(const char *text_class)
-{
-   Edje_Text_Class *tc;
-   Eina_List *members;
-
-   if (!text_class) return;
-
-   tc = eina_hash_find(_edje_text_class_hash, text_class);
-   if (!tc) return;
-
-   eina_hash_del(_edje_text_class_hash, text_class, tc);
-   eina_stringshare_del(tc->name);
-   eina_stringshare_del(tc->font);
-   free(tc);
-
-   members = eina_hash_find(_edje_text_class_member_hash, text_class);
-   while (members)
-     {
-        Edje *ed;
-
-        ed = eina_list_data_get(members);
-        ed->dirty = EINA_TRUE;
-        _edje_textblock_style_all_update(ed);
-#ifdef EDJE_CALC_CACHE
-        ed->text_part_change = EINA_TRUE;
-#endif
-        _edje_recalc(ed);
-        members = eina_list_next(members);
-     }
-}
-
-Eina_List *
-edje_text_class_list(void)
-{
-   Edje_List_Foreach_Data fdata;
-
-   memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-   eina_hash_foreach(_edje_text_class_member_hash,
-                     _edje_text_class_list_foreach, &fdata);
-   return fdata.list;
-}
-
-static Eina_Bool
-_edje_text_class_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key, void *data __UNUSED__, void *fdata)
-{
-   Edje_List_Foreach_Data *fd;
-
-   fd = fdata;
-   fd->list = eina_list_append(fd->list, eina_stringshare_add(key));
-   return EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_text_class_set(text_class, font, size, &ret));
-   return ret;
-}
-
-void
-_text_class_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *text_class = va_arg(*list, const char *);
-   const char *font = va_arg(*list, const char *);
-   Evas_Font_Size size = va_arg(*list, Evas_Font_Size);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-
-   Edje *ed = _pd;
-   Eina_List *l;
-   Edje_Text_Class *tc = NULL;
-   unsigned int i;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!text_class)) return;
-
-   /* for each text_class in the edje */
-   EINA_LIST_FOREACH(ed->text_classes, l, tc)
-     {
-        if ((tc->name) && (!strcmp(tc->name, text_class)))
-          {
-             /* Match and the same, return */
-             if ((tc->size == size) &&
-                 ((tc->font == font) ||
-                  (tc->font && font && !strcmp(tc->font, font))))
-               {
-                  if (ret) *ret = EINA_TRUE;
-                  return;
-               }
-
-             /* Update new text class properties */
-             eina_stringshare_replace(&tc->font, font);
-             tc->size = size;
-             break;
-          }
-     }
-
-   if (!tc)
-     {
-        /* No matches, create a new text class */
-        tc = calloc(1, sizeof(Edje_Text_Class));
-        if (!tc) return;
-        tc->name = eina_stringshare_add(text_class);
-        if (!tc->name)
-          {
-             free(tc);
-             return;
-          }
-        tc->font = eina_stringshare_add(font);
-        tc->size = size;
-        /* Add to edje's text class list */
-        ed->text_classes = eina_list_append(ed->text_classes, tc);
-     }
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_text_class_set(rp->typedata.swallow->swallowed_object,
-                                     text_class, font, size);
-     }
-
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->text_part_change = EINA_TRUE;
-#endif
-   _edje_textblock_style_all_update(ed);
-   _edje_recalc(ed);
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_exists(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_exists(part, &ret));
-   return ret;
-}
-
-void
-_part_exists(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   *ret = EINA_FALSE;
-
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   *ret = EINA_TRUE;
-}
-
-EAPI const Evas_Object *
-edje_object_part_object_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const Evas_Object *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_object_get(part, &ret));
-   return ret;
-}
-
-void
-_part_object_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const Evas_Object **ret = va_arg(*list, const Evas_Object **);
-   *ret = NULL;
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   *ret = rp->object;
-}
-
-EAPI Eina_Bool
-edje_object_part_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h )
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_geometry_get(part, x, y, w, h, &ret));
-   return ret;
-}
-
-void
-_part_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Coord *x = va_arg(*list, Evas_Coord *);
-   Evas_Coord *y = va_arg(*list, Evas_Coord *);
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part))
-     {
-        if (x) *x = 0;
-        if (y) *y = 0;
-        if (w) *w = 0;
-        if (h) *h = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp)
-     {
-        if (x) *x = 0;
-        if (y) *y = 0;
-        if (w) *w = 0;
-        if (h) *h = 0;
-        return;
-     }
-   if (x) *x = rp->x;
-   if (y) *y = rp->y;
-   if (w) *w = rp->w;
-   if (h) *h = rp->h;
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI void
-edje_object_item_provider_set(Evas_Object *obj, Edje_Item_Provider_Cb func, void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_item_provider_set(func, data));
-}
-
-void
-_item_provider_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Edje_Item_Provider_Cb func = va_arg(*list, Edje_Item_Provider_Cb);
-   void *data = va_arg(*list, void *);
-   Edje *ed = _pd;
-   ed->item_provider.func = func;
-   ed->item_provider.data = data;
-}
-
-/* FIXDOC: New Function */
-EAPI void
-edje_object_text_change_cb_set(Evas_Object *obj, Edje_Text_Change_Cb func, void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_text_change_cb_set(func, data));
-}
-
-void
-_text_change_cb_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Edje_Text_Change_Cb func = va_arg(*list, Edje_Text_Change_Cb);
-   void *data = va_arg(*list, void *);
-   Edje *ed = _pd;
-   unsigned int i;
-
-   ed->text_change.func = func;
-   ed->text_change.data = data;
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
-            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-             (rp->typedata.swallow)) &&
-            (rp->typedata.swallow->swallowed_object))
-          edje_object_text_change_cb_set(rp->typedata.swallow->swallowed_object, func, data);
-     }
-}
-
-Eina_Bool
-_edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
-{
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_TRUE;
-   if ((!rp->typedata.text->text) && (!text))
-     return EINA_TRUE; /* nothing to do, no error */
-   if ((rp->typedata.text->text) && (text) &&
-       (!strcmp(rp->typedata.text->text, text)))
-     return EINA_TRUE; /* nothing to do, no error */
-   if (rp->typedata.text->text)
-     {
-        eina_stringshare_del(rp->typedata.text->text);
-        rp->typedata.text->text = NULL;
-     }
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_text_markup_set(rp, text);
-   else
-     if (text) rp->typedata.text->text = eina_stringshare_add(text);
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-   rp->edje->recalc_hints = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-   if (rp->edje->text_change.func)
-     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_object_part_text_raw_append(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
-{
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return EINA_TRUE;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_text_markup_append(rp, text);
-   else if (text)
-     {
-        if (rp->typedata.text->text)
-          {
-             char *new = NULL;
-             int len_added = strlen(text);
-             int len_old = strlen(rp->typedata.text->text);
-             new = malloc(len_old + len_added + 1);
-             memcpy(new, rp->typedata.text->text, len_old);
-             memcpy(new + len_old, text, len_added);
-             new[len_old + len_added] = '\0';
-             eina_stringshare_replace(&rp->typedata.text->text, new);
-             free(new);
-          }
-        else
-          {
-             eina_stringshare_replace(&rp->typedata.text->text, text);
-          }
-     }
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = 1;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-   if (rp->edje->text_change.func)
-     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
-   return EINA_TRUE;
-}
-
-EAPI void
-edje_object_part_text_style_user_push(Evas_Object *obj, const char *part,
-                                const char *style)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_style_user_push(part, style));
-}
-
-void
-_part_text_style_user_push(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *style = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Evas_Textblock_Style *ts;
-
-   if ((!ed) || (!part) || (!style)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
-
-   ts = evas_textblock_style_new();
-   evas_textblock_style_set(ts, style);
-   evas_object_textblock_style_user_push(rp->object, ts);
-   evas_textblock_style_free(ts);
-   ed->recalc_hints = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(ed);
-}
-
-EAPI void
-edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_style_user_pop(part));
-}
-
-void
-_part_text_style_user_pop(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
-
-   evas_object_textblock_style_user_pop(rp->object);
-   ed->recalc_hints = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(ed);
-}
-
-EAPI const char *
-edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_style_user_peek(part, &ret));
-   return ret;
-}
-
-void
-_part_text_style_user_peek(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char **ret = va_arg(*list, const char **);
-   if (ret) *ret = NULL;
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   const Evas_Textblock_Style *ts;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
-
-   ts = evas_object_textblock_style_user_peek(rp->object);
-   if (ts)
-      if (ret) *ret = evas_textblock_style_get(ts);
-}
-
-static void
-_edje_user_define_string(Edje *ed, const char *part, const char *raw_text)
-{
-   /* NOTE: This one is tricky, text is referenced in rp->typedata.text->text for the life of the
-    rp. So on edje_object_file_set, we should first ref it, before destroying the old
-    layout. */
-   Edje_User_Defined *eud;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_STRING && !strcmp(eud->part, part))
-       {
-          if (!raw_text)
-            {
-               _edje_user_definition_free(eud);
-               return ;
-            }
-          eud->u.string.text = raw_text;
-          return ;
-       }
-
-   eud = _edje_user_definition_new(EDJE_USER_STRING, part, ed);
-   if (!eud) return ;
-   eud->u.string.text = raw_text;
-}
-
-EAPI Eina_Bool
-edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_set(part, text, &ret));
-   return ret;
-}
-
-void
-_part_text_set(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Eina_Bool r;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
-       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text))
-     {
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-   r = _edje_object_part_text_raw_set(obj, rp, part, text);
-   _edje_user_define_string(ed, part, rp->typedata.text->text);
-   if (ret) *ret = r;
-}
-
-EAPI const char *
-edje_object_part_text_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char **ret = va_arg(*list, const char **);
-   *ret = NULL;
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_text_get(rp);
-        return;
-     }
-   else
-     {
-        if (rp->part->type == EDJE_PART_TYPE_TEXT)
-          {
-             *ret = rp->typedata.text->text;
-             return;
-          }
-        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-          {
-             *ret = evas_object_textblock_text_markup_get(rp->object);
-             return;
-          }
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_escaped_set(Evas_Object *obj, const char *part, const char *text)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_escaped_set(part, text, &ret));
-   return ret;
-}
-
-void
-_part_text_escaped_set(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   if (ret) *ret = EINA_FALSE;
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Eina_Bool int_ret;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if ((rp->part->type == EDJE_PART_TYPE_TEXT) && (text))
-     {
-        Eina_Strbuf *sbuf;
-        char *esc_start = NULL, *esc_end = NULL;
-        char *s, *p;
-
-        sbuf = eina_strbuf_new();
-        p = (char *)text;
-        s = p;
-        for (;;)
-          {
-             if ((*p == 0) || (esc_end) || (esc_start))
-               {
-                  if (esc_end)
-                    {
-                       const char *escape;
-
-                       escape = evas_textblock_escape_string_range_get
-                          (esc_start, esc_end + 1);
-                       if (escape) eina_strbuf_append(sbuf, escape);
-                       esc_start = esc_end = NULL;
-                    }
-                  else if (*p == 0)
-                    {
-                       if (!s) s = esc_start; /* This would happen when there is & that isn't escaped */
-                       eina_strbuf_append_length(sbuf, s, p - s);
-                       s = NULL;
-                    }
-                  if (*p == 0)
-                    break;
-               }
-
-             if (*p == '&')
-               {
-                  if (!s) s = esc_start; /* This would happen when there is & that isn't escaped */
-                  esc_start = p;
-                  esc_end = NULL;
-                  eina_strbuf_append_length(sbuf, s, p - s);
-                  s = NULL;
-               }
-             else if (*p == ';')
-               {
-                  if (esc_start)
-                    {
-                       esc_end = p;
-                       s = p + 1;
-                    }
-               }
-             p++;
-          }
-        int_ret = _edje_object_part_text_raw_set
-          (obj, rp, part, eina_strbuf_string_get(sbuf));
-        _edje_user_define_string(ed, part, rp->typedata.text->text);
-        eina_strbuf_free(sbuf);
-        if (ret) *ret = int_ret;
-        return;
-     }
-   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
-   int_ret = _edje_object_part_text_raw_set(obj, rp, part, text);
-   _edje_user_define_string(ed, part, rp->typedata.text->text);
-   if (ret) *ret = int_ret;
-}
-
-
-char *
-_edje_text_escape(const char *text)
-{
-   Eina_Strbuf *txt;
-   char *ret;
-   const char *text_end;
-   size_t text_len;
-
-   if (!text) return NULL;
-
-   txt = eina_strbuf_new();
-   text_len = strlen(text);
-
-   text_end = text + text_len;
-   while (text < text_end)
-     {
-        int advance;
-        const char *escaped = evas_textblock_string_escape_get(text, &advance);
-        if (!escaped)
-          {
-             eina_strbuf_append_char(txt, text[0]);
-             advance = 1;
-          }
-        else
-          eina_strbuf_append(txt, escaped);
-
-        text += advance;
-     }
-
-   ret = eina_strbuf_string_steal(txt);
-   eina_strbuf_free(txt);
-   return ret;
-}
-
-char *
-_edje_text_unescape(const char *text)
-{
-   Eina_Strbuf *txt;
-   char *ret;
-   const char *text_end, *last, *escape_start;
-   size_t text_len;
-
-   if (!text) return NULL;
-
-   txt = eina_strbuf_new();
-   text_len = strlen(text);
-
-   text_end = text + text_len;
-   last = text;
-   escape_start = NULL;
-   for (; text < text_end; text++)
-     {
-        if (*text == '&')
-          {
-             size_t len;
-             const char *str;
-
-             if (last)
-               {
-                  len = text - last;
-                  str = last;
-               }
-             else
-               {
-                  len = text - escape_start;
-                  str = escape_start;
-               }
-
-             if (len > 0)
-               eina_strbuf_append_n(txt, str, len);
-
-             escape_start = text;
-             last = NULL;
-          }
-        else if ((*text == ';') && (escape_start))
-          {
-             size_t len;
-             const char *str = evas_textblock_escape_string_range_get(escape_start, text);
-
-             if (str)
-               len = strlen(str);
-             else
-               {
-                  str = escape_start;
-                  len = text + 1 - escape_start;
-               }
-
-             eina_strbuf_append_n(txt, str, len);
-
-             escape_start = NULL;
-             last = text + 1;
-          }
-     }
-
-   if (!last && escape_start)
-     last = escape_start;
-
-   if (last && (text > last))
-     {
-        size_t len = text - last;
-        eina_strbuf_append_n(txt, last, len);
-     }
-
-   ret = eina_strbuf_string_steal(txt);
-   eina_strbuf_free(txt);
-   return ret;
-}
-
-EAPI Eina_Bool
-edje_object_part_text_unescaped_set(Evas_Object *obj, const char *part, const char *text_to_escape)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_unescaped_set(part, text_to_escape, &ret));
-   return ret;
-}
-
-void
-_part_text_unescaped_set(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text_to_escape = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Eina_Bool int_ret = EINA_FALSE;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if (rp->part->type == EDJE_PART_TYPE_TEXT)
-     int_ret = _edje_object_part_text_raw_set(obj, rp, part, text_to_escape);
-   else if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-     {
-        char *text = _edje_text_escape(text_to_escape);
-
-        int_ret = _edje_object_part_text_raw_set(obj, rp, part, text);
-        free(text);
-     }
-   _edje_user_define_string(ed, part, rp->typedata.text->text);
-   if (ret) *ret = int_ret;
-}
-
-EAPI char *
-edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_unescaped_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_unescaped_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   char **ret = va_arg(*list, char **);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
-       (!rp->typedata.text)) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        const char *t = _edje_entry_text_get(rp);
-        *ret = _edje_text_unescape(t);
-        return;
-     }
-   else
-     {
-        if (rp->part->type == EDJE_PART_TYPE_TEXT)
-          {
-             *ret = strdup(rp->typedata.text->text);
-             return;
-          }
-        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-          {
-             const char *t = evas_object_textblock_text_markup_get(rp->object);
-             *ret = _edje_text_unescape(t);
-             return;
-          }
-     }
-}
-
-EAPI const char *
-edje_object_part_text_selection_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const char* ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_selection_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_selection_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char **ret = va_arg(*list, const char **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-      *ret = _edje_entry_selection_get(rp);
-}
-
-EAPI void
-edje_object_part_text_select_none(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_none(part));
-}
-
-void
-_part_text_select_none(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_none(rp);
-}
-
-EAPI void
-edje_object_part_text_select_all(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_all(part));
-}
-
-void
-_part_text_select_all(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_all(rp);
-}
-
-EAPI void
-edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *text)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_insert(part, text));
-}
-
-void
-_part_text_insert(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
-   if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return;
-   _edje_entry_text_markup_insert(rp, text);
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-   rp->edje->recalc_hints = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-   if (rp->edje->text_change.func)
-     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
-}
-
-EAPI void
-edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_append(part, text));
-}
-
-void
-_part_text_append(Eo *obj, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
-   _edje_object_part_text_raw_append(obj, rp, part, text);
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-   rp->edje->recalc_hints = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-   if (rp->edje->text_change.func)
-     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
-}
-
-EAPI const Eina_List *
-edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const Eina_List *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_anchor_list_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_anchor_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const Eina_List **ret = va_arg(*list, const Eina_List **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     *ret = _edje_entry_anchors_list(rp);
-}
-
-EAPI const Eina_List *
-edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor)
-{
-   if (!obj) return NULL;
-   const Eina_List *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_anchor_geometry_get(part, anchor, &ret));
-   return ret;
-}
-
-void
-_part_text_anchor_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *anchor = va_arg(*list, const char *);
-   const Eina_List **ret = va_arg(*list, const Eina_List **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     *ret = _edje_entry_anchor_geometry_get(rp, anchor);
-}
-
-EAPI const Eina_List *
-edje_object_part_text_item_list_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   const Eina_List *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_item_list_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_item_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const Eina_List **ret = va_arg(*list, const Eina_List **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     *ret = _edje_entry_items_list(rp);
-}
-
-EAPI Eina_Bool
-edje_object_part_text_item_geometry_get(const Evas_Object *obj, const char *part, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_item_geometry_get(part, item, cx, cy, cw, ch, &ret));
-   return ret;
-}
-
-void
-_part_text_item_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *item = va_arg(*list, const char *);
-   Evas_Coord *cx = va_arg(*list, Evas_Coord *);
-   Evas_Coord *cy = va_arg(*list, Evas_Coord *);
-   Evas_Coord *cw = va_arg(*list, Evas_Coord *);
-   Evas_Coord *ch = va_arg(*list, Evas_Coord *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_item_geometry_get(rp, item, cx, cy, cw, ch);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_cursor_geometry_get(part, x, y, w, h));
-}
-
-void
-_part_text_cursor_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Coord *x = va_arg(*list, Evas_Coord *);
-   Evas_Coord *y = va_arg(*list, Evas_Coord *);
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if (x) *x = 0;
-   if (y) *y = 0;
-   if (w) *w = 0;
-   if (h) *h = 0;
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_geometry_get(rp, x, y, w, h);
-        if (x) *x -= rp->edje->x;
-        if (y) *y -= rp->edje->y;
-     }
-}
-
-EAPI void
-edje_object_part_text_user_insert(const Evas_Object *obj, const char *part, const char *text)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_user_insert(part, text));
-}
-
-void
-_part_text_user_insert(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const char *text = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_user_insert(rp, text);
-}
-
-EAPI void
-edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Eina_Bool allow)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_allow_set(part, allow));
-}
-
-void
-_part_text_select_allow_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool allow = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_allow_set(rp, allow);
-}
-
-EAPI void
-edje_object_part_text_select_abort(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_abort(part));
-}
-
-void
-_part_text_select_abort(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_abort(rp);
-}
-
-EAPI void
-edje_object_part_text_select_begin(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_begin(part));
-}
-
-void
-_part_text_select_begin(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_begin(rp);
-}
-
-EAPI void
-edje_object_part_text_select_extend(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_select_extend(part));
-}
-
-void
-_part_text_select_extend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_select_extend(rp);
-}
-
-EAPI void *
-edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_imf_context_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_imf_context_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   void **ret = va_arg(*list, void **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, (char *)part);
-   if (!rp) return;
-
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     *ret = _edje_entry_imf_context_get(rp);
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_cursor_next(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_next(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_cursor_next(rp, cur);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_prev(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_cursor_prev(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_prev(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_cursor_prev(rp, cur);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_up(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_cursor_up(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_up(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_cursor_up(rp, cur);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_down(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_cursor_down(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_down(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_cursor_down(rp, cur);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_begin_set(part, cur));
-}
-
-void
-_part_text_cursor_begin_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_begin(rp, cur);
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_end_set(part, cur));
-}
-
-void
-_part_text_cursor_end_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_end(rp, cur);
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_copy(Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_copy(part, src, dst));
-}
-
-void
-_part_text_cursor_copy(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor src = va_arg(*list, Edje_Cursor);
-   Edje_Cursor dst = va_arg(*list, Edje_Cursor);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_copy(rp, src, dst);
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_line_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_line_begin_set(part, cur));
-}
-
-void
-_part_text_cursor_line_begin_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_line_begin(rp, cur);
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_line_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_line_end_set(part, cur));
-}
-
-void
-_part_text_cursor_line_end_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_line_end(rp, cur);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_coord_set(Evas_Object *obj, const char *part,
-                                       Edje_Cursor cur, Evas_Coord x,
-                                       Evas_Coord y)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_text_cursor_coord_set(part, cur, x, y, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_coord_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Evas_Coord x = va_arg(*list, Evas_Coord);
-   Evas_Coord y = va_arg(*list, Evas_Coord);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if (ret) *ret = EINA_FALSE;
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        Eina_Bool int_ret = _edje_entry_cursor_coord_set(rp, cur, x, y);
-        if (ret) *ret = int_ret;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_is_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_cursor_is_format_get(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_is_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_cursor_is_format_get(rp, cur);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_cursor_is_visible_format_get(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_is_visible_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_cursor_is_visible_format_get(rp, cur);
-     }
-}
-
-EAPI char *
-edje_object_part_text_cursor_content_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return NULL;
-   char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_text_cursor_content_get(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_content_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   char **ret = va_arg(*list, char **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_cursor_content_get(rp, cur);
-     }
-}
-
-EAPI void
-edje_object_part_text_cursor_pos_set(Evas_Object *obj, const char *part, Edje_Cursor cur, int pos)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_cursor_pos_set(part, cur, pos));
-}
-
-void
-_part_text_cursor_pos_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   int pos = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_cursor_pos_set(rp, cur, pos);
-     }
-}
-
-EAPI int
-edje_object_part_text_cursor_pos_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
-{
-   if (!obj) return 0;
-   int ret;
-   eo_do((Eo *)obj, edje_obj_part_text_cursor_pos_get(part, cur, &ret));
-   return ret;
-}
-
-void
-_part_text_cursor_pos_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
-   int *ret = va_arg(*list, int *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = 0;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_cursor_pos_get(rp, cur);
-     }
-}
-
-EAPI void
-edje_object_part_text_imf_context_reset(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_imf_context_reset(part));
-}
-
-void
-_part_text_imf_context_reset(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_imf_context_reset(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_layout_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_layout_set(part, layout));
-}
-
-void
-_part_text_input_panel_layout_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Layout layout = va_arg(*list, Edje_Input_Panel_Layout);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_layout_set(rp, layout);
-     }
-}
-
-EAPI Edje_Input_Panel_Layout
-edje_object_part_text_input_panel_layout_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
-   Edje_Input_Panel_Layout ret;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_layout_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_input_panel_layout_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Layout *ret = va_arg(*list, Edje_Input_Panel_Layout *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EDJE_INPUT_PANEL_LAYOUT_INVALID;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_input_panel_layout_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_autocapital_type_set(Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_autocapital_type_set(part, autocapital_type));
-}
-
-void
-_part_text_autocapital_type_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Text_Autocapital_Type autocapital_type = va_arg(*list, Edje_Text_Autocapital_Type);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_autocapital_type_set(rp, autocapital_type);
-     }
-}
-
-EAPI Edje_Text_Autocapital_Type
-edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-   Edje_Text_Autocapital_Type ret;
-   eo_do((Eo *)obj, edje_obj_part_text_autocapital_type_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_autocapital_type_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Text_Autocapital_Type *ret = va_arg(*list, Edje_Text_Autocapital_Type *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_autocapital_type_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_prediction_allow_set(Evas_Object *obj, const char *part, Eina_Bool prediction)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_prediction_allow_set(part, prediction));
-}
-
-void
-_part_text_prediction_allow_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool prediction = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_prediction_allow_set(rp, prediction);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_prediction_allow_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_prediction_allow_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_prediction_allow_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_prediction_allow_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_enabled_set(Evas_Object *obj, const char *part, Eina_Bool enabled)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_enabled_set(part, enabled));
-}
-
-void
-_part_text_input_panel_enabled_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool enabled = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_enabled_set(rp, enabled);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_input_panel_enabled_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_enabled_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_input_panel_enabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_input_panel_enabled_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_show(part));
-}
-
-void
-_part_text_input_panel_show(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_input_panel_show(rp);
-}
-
-EAPI void
-edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_hide(part));
-}
-
-void
-_part_text_input_panel_hide(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     _edje_entry_input_panel_hide(rp);
-}
-
-EAPI void
-edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_language_set(part, lang));
-}
-
-void
-_part_text_input_panel_language_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Lang lang = va_arg(*list, Edje_Input_Panel_Lang);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_language_set(rp, lang);
-     }
-}
-
-EAPI Edje_Input_Panel_Lang
-edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
-   Edje_Input_Panel_Lang ret;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_language_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_input_panel_language_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Lang *ret = va_arg(*list, Edje_Input_Panel_Lang *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EDJE_INPUT_PANEL_LANG_AUTOMATIC;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_input_panel_language_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_imdata_set(part, data, len));
-}
-
-void
-_part_text_input_panel_imdata_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   const void *data = va_arg(*list, const void *);
-   int len = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_imdata_set(rp, data, len);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_imdata_get(part, data, len));
-}
-
-void
-_part_text_input_panel_imdata_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   void *data = va_arg(*list, void *);
-   int *len = va_arg(*list, int *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_imdata_get(rp, data, len);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_return_key_type_set(part, return_key_type));
-}
-
-void
-_part_text_input_panel_return_key_type_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Return_Key_Type return_key_type = va_arg(*list, Edje_Input_Panel_Return_Key_Type);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_return_key_type_set(rp, return_key_type);
-     }
-}
-
-EAPI Edje_Input_Panel_Return_Key_Type
-edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
-   Edje_Input_Panel_Return_Key_Type ret;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_return_key_type_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_input_panel_return_key_type_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Input_Panel_Return_Key_Type *ret = va_arg(*list, Edje_Input_Panel_Return_Key_Type *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_input_panel_return_key_type_get(rp);
-     }
-}
-
-EAPI void
-edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_text_input_panel_return_key_disabled_set(part, disabled));
-}
-
-void
-_part_text_input_panel_return_key_disabled_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool disabled = va_arg(*list, int);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        _edje_entry_input_panel_return_key_disabled_set(rp, disabled);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_text_input_panel_return_key_disabled_get(part, &ret));
-   return ret;
-}
-
-void
-_part_text_input_panel_return_key_disabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-     {
-        *ret = _edje_entry_input_panel_return_key_disabled_get(rp);
-     }
-}
-
-EAPI void
-edje_object_text_insert_filter_callback_add(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_text_insert_filter_callback_add(part, func, data));
-}
-
-void
-_text_insert_filter_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
-   void *data = va_arg(*list, void *);
-   Edje *ed = _pd;
-   Edje_Text_Insert_Filter_Callback *cb;
-
-   if ((!ed) || (!part)) return;
-   cb = calloc(1, sizeof(Edje_Text_Insert_Filter_Callback));
-   cb->part = eina_stringshare_add(part);
-   cb->func = func;
-   cb->data = (void *)data;
-   ed->text_insert_filter_callbacks =
-     eina_list_append(ed->text_insert_filter_callbacks, cb);
-}
-
-EAPI void *
-edje_object_text_insert_filter_callback_del(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_text_insert_filter_callback_del(part, func, &ret));
-   return ret;
-}
-
-void
-_text_insert_filter_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
-   void **ret = va_arg(*list, void **);
-   Edje *ed = _pd;
-   Edje_Text_Insert_Filter_Callback *cb;
-   Eina_List *l;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   EINA_LIST_FOREACH(ed->text_insert_filter_callbacks, l, cb)
-     {
-        if ((!strcmp(cb->part, part)) && (cb->func == func))
-          {
-             void *data = cb->data;
-             ed->text_insert_filter_callbacks =
-                eina_list_remove_list(ed->text_insert_filter_callbacks, l);
-             eina_stringshare_del(cb->part);
-             free(cb);
-             if (ret) *ret = data;
-             return;
-          }
-     }
-}
-
-EAPI void *
-edje_object_text_insert_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_text_insert_filter_callback_del_full(part, func, data, &ret));
-   return ret;
-}
-
-void
-_text_insert_filter_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
-   void *data = va_arg(*list, void *);
-   void **ret = va_arg(*list, void **);
-   Edje *ed = _pd;
-   Edje_Text_Insert_Filter_Callback *cb;
-   Eina_List *l;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   EINA_LIST_FOREACH(ed->text_insert_filter_callbacks, l, cb)
-     {
-        if ((!strcmp(cb->part, part)) && (cb->func == func) &&
-            (cb->data == data))
-          {
-             void *tmp = cb->data;
-             ed->text_insert_filter_callbacks =
-                eina_list_remove_list(ed->text_insert_filter_callbacks, l);
-             eina_stringshare_del(cb->part);
-             free(cb);
-             if (ret) *ret = tmp;
-             return;
-          }
-     }
-}
-
-EAPI void
-edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_text_markup_filter_callback_add(part, func, data));
-}
-
-void
-_text_markup_filter_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
-   void *data = va_arg(*list, void *);
-   Edje *ed = _pd;
-   Edje_Markup_Filter_Callback *cb;
-
-   if ((!ed) || (!part)) return;
-   cb = calloc(1, sizeof(Edje_Markup_Filter_Callback));
-   cb->part = eina_stringshare_add(part);
-   cb->func = func;
-   cb->data = (void *)data;
-   ed->markup_filter_callbacks =
-     eina_list_append(ed->markup_filter_callbacks, cb);
-}
-
-EAPI void *
-edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_text_markup_filter_callback_del(part, func, &ret));
-   return ret;
-}
-
-void
-_text_markup_filter_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
-   void **ret = va_arg(*list, void **);
-   Edje *ed = _pd;
-   Edje_Markup_Filter_Callback *cb;
-   Eina_List *l;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb)
-     {
-        if ((!strcmp(cb->part, part)) && (cb->func == func))
-          {
-             void *data = cb->data;
-             ed->markup_filter_callbacks =
-                eina_list_remove_list(ed->markup_filter_callbacks, l);
-             eina_stringshare_del(cb->part);
-             free(cb);
-             if (ret) *ret = data;
-             return;
-          }
-     }
-}
-
-EAPI void *
-edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
-{
-   if (!obj) return NULL;
-   void *ret = NULL;
-   eo_do(obj, edje_obj_text_markup_filter_callback_del_full(part, func, data, &ret));
-   return ret;
-}
-
-void
-_text_markup_filter_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
-   void *data = va_arg(*list, void *);
-   void **ret = va_arg(*list, void **);
-   Edje *ed = _pd;
-   Edje_Markup_Filter_Callback *cb;
-   Eina_List *l;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-   EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb)
-     {
-        if ((!strcmp(cb->part, part)) && (cb->func == func) &&
-            (cb->data == data))
-          {
-             void *tmp = cb->data;
-             ed->markup_filter_callbacks =
-                eina_list_remove_list(ed->markup_filter_callbacks, l);
-             eina_stringshare_del(cb->part);
-             free(cb);
-             if (ret) *ret = tmp;
-             return;
-          }
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_swallow(part, obj_swallow, &ret));
-   return ret;
-}
-
-void
-_part_swallow(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *obj_swallow = va_arg(*list, Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud = NULL;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   // XXX: I guess this is not required, removing for testing purposes
-   // XXX: uncomment if you see glitches in e17 or others.
-   // XXX: by Gustavo, January 21th 2009.
-   // XXX: I got a backtrace with over 30000 calls without this,
-   // XXX: only with 32px shelves. The problem is probably somewhere else,
-   // XXX: but until it's found, leave this here.
-   // XXX: by Sachiel, January 21th 2009, 19:30 UTC
-   _edje_recalc_do(ed);
-
-   rp = evas_object_data_get(obj_swallow, "\377 edje.swallowing_part");
-   if (rp)
-     {
-        /* The object is already swallowed somewhere, unswallow it first */
-        edje_object_part_unswallow(rp->edje->obj, obj_swallow);
-     }
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp)
-     {
-        DBG("cannot swallow part %s: part not exist!", part);
-        return;
-     }
-   if (rp->part->type != EDJE_PART_TYPE_SWALLOW)
-     {
-        ERR("cannot swallow part %s: not swallow type!", rp->part->name);
-        return;
-     }
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   _edje_real_part_swallow(rp, obj_swallow, EINA_TRUE);
-
-   if (rp->typedata.swallow->swallowed_object)
-     {
-        if (!eud)
-          {
-             eud = _edje_user_definition_new(EDJE_USER_SWALLOW, part, ed);
-             evas_object_event_callback_add(obj_swallow, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-          }
-        else ed->user_defined = eina_list_append(ed->user_defined, eud);
-
-        if (eud)
-          {
-             eud->u.swallow.child = obj_swallow;
-          }
-     }
-
-   if (ret) *ret = EINA_TRUE;
-}
-
-static void
-_recalc_extern_parent(Evas_Object *obj)
-{
-   Evas_Object *parent;
-   Edje *ed;
-
-   parent = evas_object_smart_parent_get(obj);
-   if (!(ed = _edje_fetch(parent))) return;
-
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE; // ZZZ: ???
-   _edje_recalc(ed);
-}
-
-EAPI void
-edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
-{
-   if (!obj) return;
-   Edje_Real_Part *rp;
-
-   evas_object_size_hint_min_set(obj, minw, minh);
-   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
-   if (rp)
-     {
-        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-            (!rp->typedata.swallow)) return;
-        rp->typedata.swallow->swallow_params.min.w = minw;
-        rp->typedata.swallow->swallow_params.min.h = minh;
-
-        _recalc_extern_parent(obj);
-     }
-}
-
-EAPI void
-edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
-{
-   if (!obj) return;
-   Edje_Real_Part *rp;
-
-   evas_object_size_hint_max_set(obj, maxw, maxh);
-   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
-   if (rp)
-     {
-        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-            (!rp->typedata.swallow)) return;
-        rp->typedata.swallow->swallow_params.max.w = maxw;
-        rp->typedata.swallow->swallow_params.max.h = maxh;
-
-        _recalc_extern_parent(obj);
-     }
-}
-
-EAPI void
-edje_extern_object_aspect_set(Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah)
-{
-   if (!obj) return;
-   Edje_Real_Part *rp;
-   Evas_Aspect_Control asp;
-
-   asp = EVAS_ASPECT_CONTROL_NONE;
-   switch (aspect)
-     {
-      case EDJE_ASPECT_CONTROL_NONE: asp = EVAS_ASPECT_CONTROL_NONE; break;
-      case EDJE_ASPECT_CONTROL_NEITHER: asp = EVAS_ASPECT_CONTROL_NEITHER; break;
-      case EDJE_ASPECT_CONTROL_HORIZONTAL: asp = EVAS_ASPECT_CONTROL_HORIZONTAL; break;
-      case EDJE_ASPECT_CONTROL_VERTICAL: asp = EVAS_ASPECT_CONTROL_VERTICAL; break;
-      case EDJE_ASPECT_CONTROL_BOTH: asp = EVAS_ASPECT_CONTROL_BOTH; break;
-      default: break;
-     }
-   if (aw < 1) aw = 1;
-   if (ah < 1) ah = 1;
-   evas_object_size_hint_aspect_set(obj, asp, aw, ah);
-   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
-   if (rp)
-     {
-        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-            (!rp->typedata.swallow)) return;
-        rp->typedata.swallow->swallow_params.aspect.mode = aspect;
-        rp->typedata.swallow->swallow_params.aspect.w = aw;
-        rp->typedata.swallow->swallow_params.aspect.h = ah;
-        _recalc_extern_parent(obj);
-     }
-}
-
-struct edje_box_layout_builtin {
-   const char *name;
-   Evas_Object_Box_Layout cb;
-};
-
-static Evas_Object_Box_Layout
-_edje_box_layout_builtin_find(const char *name)
-{
-   const struct edje_box_layout_builtin _edje_box_layout_builtin[] = {
-     {"horizontal", evas_object_box_layout_horizontal},
-     {"horizontal_flow", evas_object_box_layout_flow_horizontal},
-     {"horizontal_homogeneous", evas_object_box_layout_homogeneous_horizontal},
-     {"horizontal_max", evas_object_box_layout_homogeneous_max_size_horizontal},
-     {"stack", evas_object_box_layout_stack},
-     {"vertical", evas_object_box_layout_vertical},
-     {"vertical_flow", evas_object_box_layout_flow_vertical},
-     {"vertical_homogeneous", evas_object_box_layout_homogeneous_vertical},
-     {"vertical_max", evas_object_box_layout_homogeneous_max_size_vertical},
-     {NULL, NULL}
-   };
-   const struct edje_box_layout_builtin *base;
-
-   switch (name[0])
-     {
-      case 'h':
-         base = _edje_box_layout_builtin + 0;
-         break;
-      case 's':
-         base = _edje_box_layout_builtin + 4;
-         break;
-      case 'v':
-         base = _edje_box_layout_builtin + 5;
-         break;
-      default:
-         return NULL;
-     }
-
-   for (; (base->name) && (base->name[0] == name[0]); base++)
-     if (strcmp(base->name, name) == 0)
-       return base->cb;
-
-   return NULL;
-}
-
-static Eina_Rbtree_Direction
-_edje_box_layout_external_node_cmp(const Eina_Rbtree *left, const Eina_Rbtree *right, __UNUSED__ void *data)
-{
-   Edje_Box_Layout *l = (Edje_Box_Layout *)left;
-   Edje_Box_Layout *r = (Edje_Box_Layout *)right;
-
-   if (strcmp(l->name, r->name) < 0)
-     return EINA_RBTREE_RIGHT;
-   else
-     return EINA_RBTREE_LEFT;
-}
-
-static int
-_edje_box_layout_external_find_cmp(const Eina_Rbtree *node, const void *key, __UNUSED__ int length, __UNUSED__ void *data)
-{
-   Edje_Box_Layout *l = (Edje_Box_Layout *)node;
-   return strcmp(key, l->name);
-}
-
-static Edje_Box_Layout *
-_edje_box_layout_external_find(const char *name)
-{
-   return (Edje_Box_Layout *)eina_rbtree_inline_lookup
-     (_edje_box_layout_registry, name, 0, _edje_box_layout_external_find_cmp,
-      NULL);
-}
-
-Eina_Bool
-_edje_box_layout_find(const char *name, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data))
-{
-   const Edje_Box_Layout *l;
-
-   if (!name) return EINA_FALSE;
-
-   *cb = _edje_box_layout_builtin_find(name);
-   if (*cb)
-     {
-        *free_data = NULL;
-        *data = NULL;
-        return EINA_TRUE;
-     }
-
-   l = _edje_box_layout_external_find(name);
-   if (!l) return EINA_FALSE;
-
-   *cb = l->func;
-   *free_data = l->layout_data_free;
-   if (l->layout_data_get)
-     *data = l->layout_data_get(l->data);
-   else
-     *data = NULL;
-
-   return EINA_TRUE;
-}
-
-static void
-_edje_box_layout_external_free(Eina_Rbtree *node, __UNUSED__ void *data)
-{
-   Edje_Box_Layout *l = (Edje_Box_Layout *)node;
-
-   if (l->data && l->free_data)
-     l->free_data(l->data);
-   free(l);
-}
-
-static Edje_Box_Layout *
-_edje_box_layout_external_new(const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data)
-{
-   Edje_Box_Layout *l;
-   size_t name_len;
-
-   name_len = strlen(name) + 1;
-   l = malloc(sizeof(Edje_Box_Layout) + name_len);
-   if (!l) return NULL;
-
-   l->func = func;
-   l->layout_data_get = layout_data_get;
-   l->layout_data_free = layout_data_free;
-   l->free_data = free_data;
-   l->data = data;
-
-   memcpy(l->name, name, name_len);
-
-   return l;
-}
-
-EAPI void
-edje_box_layout_register(const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data)
-{
-   Edje_Box_Layout *l;
-
-   if (!name) return;
-
-   if (_edje_box_layout_builtin_find(name))
-     {
-        ERR("Cannot register layout '%s': would override builtin!",
-            name);
-
-        if (data && free_data) free_data(data);
-        return;
-     }
-
-   l = _edje_box_layout_external_find(name);
-   if (!l)
-     {
-        if (!func)
-          {
-             if (data && free_data) free_data(data);
-             return;
-          }
-
-        l = _edje_box_layout_external_new
-           (name, func, layout_data_get, layout_data_free, free_data, data);
-        if (!l)
-          return;
-
-        _edje_box_layout_registry = eina_rbtree_inline_insert
-           (_edje_box_layout_registry, (Eina_Rbtree *)l,
-            _edje_box_layout_external_node_cmp, NULL);
-     }
-   else
-     {
-        if (func)
-          {
-             if (l->data && l->free_data) l->free_data(l->data);
-
-             l->func = func;
-             l->layout_data_get = layout_data_get;
-             l->layout_data_free = layout_data_free;
-             l->free_data = free_data;
-             l->data = data;
-          }
-        else
-          {
-             if (data && free_data) free_data(data);
-
-             _edje_box_layout_registry = eina_rbtree_inline_remove
-                (_edje_box_layout_registry, (Eina_Rbtree *)l,
-                 _edje_box_layout_external_node_cmp, NULL);
-             _edje_box_layout_external_free((Eina_Rbtree *)l, NULL);
-          }
-     }
-}
-
-EAPI void
-edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_part_unswallow(obj_swallow));
-}
-
-void
-_part_unswallow(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Object *obj_swallow = va_arg(*list, Evas_Object *);
-   Edje_Real_Part *rp;
-
-   if (!obj_swallow) return;
-
-   rp = (Edje_Real_Part *)evas_object_data_get(obj_swallow, "\377 edje.swallowing_part");
-   if (!rp)
-     return;
-   if (rp->part->type != EDJE_PART_TYPE_SWALLOW)
-     {
-        ERR("cannot unswallow part %s: not swallow type!", rp->part->name);
-        return;
-     }
-
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-
-   if (rp->typedata.swallow->swallowed_object == obj_swallow)
-     {
-        Edje_User_Defined *eud;
-        Eina_List *l;
-
-        if (obj)
-          {
-             Edje *ed = _pd;
-
-             if (!ed && obj)
-               {
-                  ERR("edje_object_part_unswallow called on a non Edje object ('%s').",
-                      evas_object_type_get(obj));
-               }
-             else
-               {
-                  EINA_LIST_FOREACH(ed->user_defined, l, eud)
-                    if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj_swallow)
-                      {
-                         _edje_user_definition_free(eud);
-                         return ;
-                      }
-               }
-          }
-
-        _edje_real_part_swallow_clear(rp);
-        rp->typedata.swallow->swallowed_object = NULL;
-        rp->typedata.swallow->swallow_params.min.w = 0;
-        rp->typedata.swallow->swallow_params.min.h = 0;
-        rp->typedata.swallow->swallow_params.max.w = 0;
-        rp->typedata.swallow->swallow_params.max.h = 0;
-        rp->edje->dirty = EINA_TRUE;
-        rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-        rp->invalidate = 1;
-#endif
-        _edje_recalc_do(rp->edje);
-        return;
-     }
-}
-
-EAPI Evas_Object *
-edje_object_part_swallow_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_swallow_get(part, &ret));
-   return ret;
-}
-
-void
-_part_swallow_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   *ret = rp->typedata.swallow->swallowed_object;
-}
-
-EAPI void
-edje_object_size_min_get(const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_size_min_get(minw, minh));
-}
-
-void
-_size_min_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
-   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
-   const Edje *ed = _pd;
-
-   if ((!ed) || (!ed->collection))
-     {
-        if (minw) *minw = 0;
-        if (minh) *minh = 0;
-        return;
-     }
-   if (minw) *minw = ed->collection->prop.min.w;
-   if (minh) *minh = ed->collection->prop.min.h;
-}
-
-EAPI void
-edje_object_size_max_get(const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh)
-{
-   if (!obj) return;
-   eo_do((Eo *)obj, edje_obj_size_max_get(maxw, maxh));
-}
-
-void
-_size_max_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Coord *maxw = va_arg(*list, Evas_Coord *);
-   Evas_Coord *maxh = va_arg(*list, Evas_Coord *);
-   Edje *ed = (Edje *)_pd;
-
-   if ((!ed) || (!ed->collection))
-     {
-        if (maxw) *maxw = 0;
-        if (maxh) *maxh = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   if (ed->collection->prop.max.w == 0)
-     {
-        /* XXX TODO: convert maxw to 0, fix things that break. */
-        if (maxw) *maxw = EDJE_INF_MAX_W;
-     }
-   else
-     {
-        if (maxw) *maxw = ed->collection->prop.max.w;
-     }
-   if (ed->collection->prop.max.h == 0)
-     {
-        /* XXX TODO: convert maxh to 0, fix things that break. */
-        if (maxh) *maxh = EDJE_INF_MAX_H;
-     }
-   else
-     {
-        if (maxh) *maxh = ed->collection->prop.max.h;
-     }
-}
-
-EAPI void
-edje_object_calc_force(Evas_Object *obj)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_calc_force());
-}
-
-void
-_calc_force(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
-{
-   Edje *ed = _pd;
-   int pf, pf2;
-
-   if (!ed) return;
-   ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-
-   pf2 = _edje_freeze_val;
-   pf = ed->freeze;
-
-   _edje_freeze_val = 0;
-   ed->freeze = 0;
-
-   _edje_recalc_do(ed);
-
-   ed->freeze = pf;
-   _edje_freeze_val = pf2;
-}
-
-EAPI void
-edje_object_size_min_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_size_min_calc(minw, minh));
-}
-
-void
-_size_min_calc(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
-   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
-   edje_object_size_min_restricted_calc(obj, minw, minh, 0, 0);
-}
-
-EAPI Eina_Bool
-edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_parts_extends_calc(x, y, w, h, &ret));
-   return ret;
-}
-
-void
-_parts_extends_calc(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Coord *x = va_arg(*list, Evas_Coord *);
-   Evas_Coord *y = va_arg(*list, Evas_Coord *);
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Evas_Coord xx1 = INT_MAX, yy1 = INT_MAX;
-   Evas_Coord xx2 = 0, yy2 = 0;
-   unsigned int i;
-   if (ret) *ret = EINA_FALSE;
-
-   if (!ed)
-     {
-        if (x) *x = 0;
-        if (y) *y = 0;
-        if (w) *w = 0;
-        if (h) *h = 0;
-        return;
-     }
-
-   ed->calc_only = EINA_TRUE;
-
-   /* Need to recalc before providing the object. */
-   ed->dirty = EINA_TRUE;
-   _edje_recalc_do(ed);
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-        Evas_Coord rpx1, rpy1;
-        Evas_Coord rpx2, rpy2;
-
-        rp = ed->table_parts[i];
-
-        rpx1 = rp->x;
-        rpy1 = rp->y;
-        rpx2 = rpx1 + rp->w;
-        rpy2 = rpy1 + rp->h;
-
-        if (xx1 > rpx1) xx1 = rpx1;
-        if (yy1 > rpy1) yy1 = rpy1;
-        if (xx2 < rpx2) xx2 = rpx2;
-        if (yy2 < rpy2) yy2 = rpy2;
-     }
-
-   ed->calc_only = EINA_FALSE;
-
-   if (x) *x = xx1;
-   if (y) *y = yy1;
-   if (w) *w = xx2 - xx1;
-   if (h) *h = yy2 - yy1;
-
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI void
-edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_size_min_restricted_calc(minw, minh, restrictedw, restrictedh));
-}
-
-void
-_size_min_restricted_calc(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
-   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
-   Evas_Coord restrictedw = va_arg(*list, Evas_Coord);
-   Evas_Coord restrictedh = va_arg(*list, Evas_Coord);
-   Edje *ed = _pd;
-   Evas_Coord pw, ph;
-   int maxw, maxh;
-   int okw, okh;
-   int reset_maxwh;
-   Edje_Real_Part *pep = NULL;
-   Eina_Bool has_non_fixed_tb = EINA_FALSE;
-
-   if ((!ed) || (!ed->collection))
-     {
-        if (minw) *minw = restrictedw;
-        if (minh) *minh = restrictedh;
-        return;
-     }
-   reset_maxwh = 1;
-   ed->calc_only = EINA_TRUE;
-   pw = ed->w;
-   ph = ed->h;
-
-   again:
-   ed->w = restrictedw;
-   ed->h = restrictedh;
-
-   maxw = 0;
-   maxh = 0;
-
-   do
-     {
-        unsigned int i;
-
-        okw = okh = 0;
-        ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-        ed->all_part_change = EINA_TRUE;
-#endif
-        _edje_recalc_do(ed);
-        if (reset_maxwh)
-          {
-             maxw = 0;
-             maxh = 0;
-          }
-        pep = NULL;
-        has_non_fixed_tb = EINA_FALSE;
-        for (i = 0; i < ed->table_parts_size; i++)
-          {
-             Edje_Real_Part *ep;
-             int w, h;
-             int didw;
-
-             ep = ed->table_parts[i];
-             w = ep->w - ep->req.w;
-             h = ep->h - ep->req.h;
-             didw = 0;
-             if (ep->chosen_description)
-               {
-                  if (!ep->chosen_description->fixed.w)
-                    {
-                       if ((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK))
-                         {
-                            Evas_Coord tb_mw;
-                            evas_object_textblock_size_formatted_get(ep->object,
-                                                                     &tb_mw, NULL);
-                            tb_mw -= ep->req.w;
-                            if (tb_mw > w)
-                              {
-                                 w = tb_mw;
-                              }
-                            has_non_fixed_tb = EINA_TRUE;
-                         }
-                       if (w > maxw)
-                         {
-                            maxw = w;
-                            okw = 1;
-                            pep = ep;
-                            didw = 1;
-                         }
-                    }
-                  if (!ep->chosen_description->fixed.h)
-                    {
-                       if (!((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
-                             (!((Edje_Part_Description_Text *)ep->chosen_description)->text.min_x) &&
-                             (didw)))
-                         {
-                            if (h > maxh)
-                              {
-                                 maxh = h;
-                                 okh = 1;
-                                 pep = ep;
-                              }
-                         }
-
-                       if (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-                         {
-                            has_non_fixed_tb = EINA_TRUE;
-                         }
-                    }
-               }
-          }
-        if (okw)
-          {
-             ed->w += maxw;
-             if (ed->w < restrictedw) ed->w = restrictedw;
-          }
-        if (okh)
-          {
-             ed->h += maxh;
-             if (ed->h < restrictedh) ed->h = restrictedh;
-          }
-        if ((ed->w > 4000) || (ed->h > 4000))
-          {
-             /* Only print it if we have a non-fixed textblock.
-              * We should possibly avoid all of this if in this case, but in
-              * the meanwhile, just doing this. */
-             if (!has_non_fixed_tb)
-               {
-                  if (pep)
-                    ERR("file %s, group %s has a non-fixed part '%s'. Adding 'fixed: 1 1;' to source EDC may help. Continuing discarding faulty part.",
-                        ed->path, ed->group, pep->part->name);
-                  else
-                    ERR("file %s, group %s overflowed 4000x4000 with minimum size of %dx%d. Continuing discarding faulty parts.",
-                        ed->path, ed->group, ed->w, ed->h);
-               }
-
-             if (reset_maxwh)
-               {
-                  reset_maxwh = 0;
-                  goto again;
-               }
-          }
-     }
-   while (okw || okh);
-   ed->min.w = ed->w;
-   ed->min.h = ed->h;
-
-   if (minw) *minw = ed->min.w;
-   if (minh) *minh = ed->min.h;
-
-   ed->w = pw;
-   ed->h = ph;
-   ed->dirty = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   ed->all_part_change = EINA_TRUE;
-#endif
-   _edje_recalc(ed);
-   ed->calc_only = EINA_FALSE;
-}
-
-/* FIXME: Correctly return other states */
-EAPI const char *
-edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val_ret)
-{
-   if (!obj) return NULL;
-   const char *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_state_get(part, val_ret, &ret));
-   return ret;
-}
-
-void
-_part_state_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double *val_ret = va_arg(*list, double *);
-   const char **ret = va_arg(*list, const char **);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = "";
-
-   if ((!ed) || (!part))
-     {
-        if (val_ret) *val_ret = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp)
-     {
-        if (val_ret) *val_ret = 0;
-        INF("part not found");
-        return;
-     }
-   if (rp->chosen_description)
-     {
-        if (val_ret) *val_ret = rp->chosen_description->state.value;
-        if (rp->chosen_description->state.name)
-          *ret = rp->chosen_description->state.name;
-        else
-          *ret = "default";
-        return;
-     }
-   else
-     {
-        if (rp->param1.description)
-          {
-             if (val_ret) *val_ret = rp->param1.description->state.value;
-             if (rp->param1.description->state.name)
-               *ret = rp->param1.description->state.name;
-             else
-               *ret = "default";
-             return;
-          }
-     }
-   if (val_ret) *val_ret = 0;
-}
-
-EAPI Edje_Drag_Dir
-edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part)
-{
-   if (!obj) return EDJE_DRAG_DIR_NONE;
-   Edje_Drag_Dir ret;
-   eo_do((Eo *)obj, edje_obj_part_drag_dir_get(part, &ret));
-   return ret;
-}
-
-void
-_part_drag_dir_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Edje_Drag_Dir *ret = va_arg(*list, Edje_Drag_Dir *);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = EDJE_DRAG_DIR_NONE;
-
-   if ((!ed) || (!part)) return;
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if ((rp->part->dragable.x) && (rp->part->dragable.y)) *ret = EDJE_DRAG_DIR_XY;
-   else if (rp->part->dragable.x) *ret = EDJE_DRAG_DIR_X;
-   else if (rp->part->dragable.y) *ret = EDJE_DRAG_DIR_Y;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_value_set(Evas_Object *obj, const char *part, double dx, double dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_value_set(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_value_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dx = va_arg(*list, double);
-   double dy = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-   if (rp->drag->down.count > 0) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_VALUE && !strcmp(part, eud->part))
-       {
-          eud->u.drag_position.x = dx;
-          eud->u.drag_position.y = dy;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_VALUE, part, ed);
-        if (eud)
-          {
-             eud->u.drag_position.x = dx;
-             eud->u.drag_position.y = dy;
-          }
-     }
-
-   if (rp->part->dragable.confine_id != -1)
-     {
-        dx = CLAMP(dx, 0.0, 1.0);
-        dy = CLAMP(dy, 0.0, 1.0);
-     }
-   if (rp->part->dragable.x < 0) dx = 1.0 - dx;
-   if (rp->part->dragable.y < 0) dy = 1.0 - dy;
-   if ((rp->drag->val.x == FROM_DOUBLE(dx)) && (rp->drag->val.y == FROM_DOUBLE(dy)))
-     {
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-   rp->drag->val.x = FROM_DOUBLE(dx);
-   rp->drag->val.y = FROM_DOUBLE(dy);
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
-   _edje_emit(rp->edje, "drag,set", rp->part->name);
-   if (ret) *ret = EINA_TRUE;
-}
-
-/* FIXME: Should this be x and y instead of dx/dy? */
-EAPI Eina_Bool
-edje_object_part_drag_value_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_drag_value_get(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double *dx = va_arg(*list, double *);
-   double *dy = va_arg(*list, double *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   double ddx, ddy;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part))
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp || !rp->drag)
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-   ddx = TO_DOUBLE(rp->drag->val.x);
-   ddy = TO_DOUBLE(rp->drag->val.y);
-   if (rp->part->dragable.x < 0) ddx = 1.0 - ddx;
-   if (rp->part->dragable.y < 0) ddy = 1.0 - ddy;
-   if (dx) *dx = ddx;
-   if (dy) *dy = ddy;
-   *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, double dh)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_size_set(part, dw, dh, &ret));
-   return ret;
-}
-
-void
-_part_drag_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dw = va_arg(*list, double);
-   double dh = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_SIZE && !strcmp(part, eud->part))
-       {
-          eud->u.drag_size.w = dw;
-          eud->u.drag_size.h = dh;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_SIZE, part, ed);
-        if (eud)
-          {
-             eud->u.drag_size.w = dw;
-             eud->u.drag_size.h = dh;
-          } 
-     }
-
-   if (dw < 0.0) dw = 0.0;
-   else if (dw > 1.0) dw = 1.0;
-   if (dh < 0.0) dh = 0.0;
-   else if (dh > 1.0) dh = 1.0;
-   if ((rp->drag->size.x == FROM_DOUBLE(dw)) && (rp->drag->size.y == FROM_DOUBLE(dh)))
-     {
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-   rp->drag->size.x = FROM_DOUBLE(dw);
-   rp->drag->size.y = FROM_DOUBLE(dh);
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_size_get(const Evas_Object *obj, const char *part, double *dw, double *dh)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_drag_size_get(part, dw, dh, &ret));
-   return ret;
-}
-
-void
-_part_drag_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double *dw = va_arg(*list, double *);
-   double *dh = va_arg(*list, double *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part))
-     {
-        if (dw) *dw = 0;
-        if (dh) *dh = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp || !rp->drag)
-     {
-        if (dw) *dw = 0;
-        if (dh) *dh = 0;
-        return;
-     }
-   if (dw) *dw = TO_DOUBLE(rp->drag->size.x);
-   if (dh) *dh = TO_DOUBLE(rp->drag->size.y);
-   *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_step_set(Evas_Object *obj, const char *part, double dx, double dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_step_set(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_step_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dx = va_arg(*list, double);
-   double dy = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_STEP && !strcmp(part, eud->part))
-       {
-          eud->u.drag_position.x = dx;
-          eud->u.drag_position.y = dy;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_STEP, part, ed);
-        if (eud)
-          {
-             eud->u.drag_position.x = dx;
-             eud->u.drag_position.y = dy;
-          } 
-     }
-
-   if (dx < 0.0) dx = 0.0;
-   else if (dx > 1.0) dx = 1.0;
-   if (dy < 0.0) dy = 0.0;
-   else if (dy > 1.0) dy = 1.0;
-   rp->drag->step.x = FROM_DOUBLE(dx);
-   rp->drag->step.y = FROM_DOUBLE(dy);
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_step_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_drag_step_get(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_step_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double *dx = va_arg(*list, double *);
-   double *dy = va_arg(*list, double *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part))
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp || !rp->drag)
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-   if (dx) *dx = TO_DOUBLE(rp->drag->step.x);
-   if (dy) *dy = TO_DOUBLE(rp->drag->step.y);
-   *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_page_set(Evas_Object *obj, const char *part, double dx, double dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_page_set(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_page_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dx = va_arg(*list, double);
-   double dy = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_PAGE && !strcmp(part, eud->part))
-       {
-          eud->u.drag_position.x = dx;
-          eud->u.drag_position.y = dy;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_PAGE, part, ed);
-        if (eud)
-          {
-             eud->u.drag_position.x = dx;
-             eud->u.drag_position.y = dy;
-          } 
-     }
-
-   if (dx < 0.0) dx = 0.0;
-   else if (dx > 1.0) dx = 1.0;
-   if (dy < 0.0) dy = 0.0;
-   else if (dy > 1.0) dy = 1.0;
-   rp->drag->page.x = FROM_DOUBLE(dx);
-   rp->drag->page.y = FROM_DOUBLE(dy);
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_page_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_drag_page_get(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_page_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double *dx = va_arg(*list, double *);
-   double *dy = va_arg(*list, double *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = (Edje *)_pd;
-   Edje_Real_Part *rp;
-   *ret = EINA_FALSE;
-
-   if ((!ed) || (!part))
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-
-   /* Need to recalc before providing the object. */
-   _edje_recalc_do(ed);
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp || !rp->drag)
-     {
-        if (dx) *dx = 0;
-        if (dy) *dy = 0;
-        return;
-     }
-   if (dx) *dx = TO_DOUBLE(rp->drag->page.x);
-   if (dy) *dy = TO_DOUBLE(rp->drag->page.y);
-   *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_step(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_step(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dx = va_arg(*list, double);
-   double dy = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   FLOAT_T px, py;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-   if (rp->drag->down.count > 0) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_STEP && !strcmp(part, eud->part))
-       {
-          eud->u.drag_position.x = dx;
-          eud->u.drag_position.y = dy;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_STEP, part, ed);
-        if (eud)
-          {
-             eud->u.drag_position.x = dx;
-             eud->u.drag_position.y = dy;
-          }
-     }
-
-   px = rp->drag->val.x;
-   py = rp->drag->val.y;
-   rp->drag->val.x = ADD(px, MUL(FROM_DOUBLE(dx),
-                                 MUL(rp->drag->step.x, rp->part->dragable.x)));
-   rp->drag->val.y = ADD(py, MUL(FROM_DOUBLE(dy),
-                                 MUL(rp->drag->step.y, rp->part->dragable.y)));
-   rp->drag->val.x = CLAMP (rp->drag->val.x, ZERO, FROM_DOUBLE(1.0));
-   rp->drag->val.y = CLAMP (rp->drag->val.y, ZERO, FROM_DOUBLE(1.0));
-   if ((px == rp->drag->val.x) && (py == rp->drag->val.y))
-     {
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
-   _edje_emit(rp->edje, "drag,step", rp->part->name);
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double dy)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_drag_page(part, dx, dy, &ret));
-   return ret;
-}
-
-void
-_part_drag_page(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   double dx = va_arg(*list, double);
-   double dy = va_arg(*list, double);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   FLOAT_T px, py;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (!rp->drag) return;
-   if (rp->drag->down.count > 0) return;
-
-   EINA_LIST_FOREACH(ed->user_defined, l, eud)
-     if (eud->type == EDJE_USER_DRAG_PAGE && !strcmp(part, eud->part))
-       {
-          eud->u.drag_position.x = dx;
-          eud->u.drag_position.y = dy;
-          break;
-       }
-   if (!eud)
-     {
-        eud = _edje_user_definition_new(EDJE_USER_DRAG_PAGE, part, ed);
-        if (eud)
-          {
-             eud->u.drag_position.x = dx;
-             eud->u.drag_position.y = dy;
-          }
-     }
-
-   px = rp->drag->val.x;
-   py = rp->drag->val.y;
-   rp->drag->val.x = ADD(px, MUL(FROM_DOUBLE(dx), MUL(rp->drag->page.x, rp->part->dragable.x)));
-   rp->drag->val.y = ADD(py, MUL(FROM_DOUBLE(dy), MUL(rp->drag->page.y, rp->part->dragable.y)));
-   rp->drag->val.x = CLAMP (rp->drag->val.x, ZERO, FROM_DOUBLE(1.0));
-   rp->drag->val.y = CLAMP (rp->drag->val.y, ZERO, FROM_DOUBLE(1.0));
-   if ((px == rp->drag->val.x) && (py == rp->drag->val.y))
-     {
-        if (ret) *ret = EINA_TRUE;
-        return;
-     }
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
-   _edje_emit(rp->edje, "drag,page", rp->part->name);
-   if (ret) *ret = EINA_TRUE;
-}
-
-void
-_edje_box_init(void)
-{
-
-}
-
-void
-_edje_box_shutdown(void)
-{
-   if (!_edje_box_layout_registry)
-     return;
-
-   eina_rbtree_delete
-     (_edje_box_layout_registry, _edje_box_layout_external_free, NULL);
-   _edje_box_layout_registry = NULL;
-}
-
-EAPI Eina_Bool
-edje_object_part_box_append(Evas_Object *obj, const char *part, Evas_Object *child)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_box_append(part, child, &ret));
-   return ret;
-}
-
-void
-_part_box_append(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child = va_arg(*list, Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part) || (!child)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   if (_edje_real_part_box_append(rp, child))
-     {
-        Edje_User_Defined *eud;
-
-        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
-        if (!eud) return;
-        eud->u.box.child = child;
-        eud->u.box.index = -1;
-
-        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-        if (ret) *ret = EINA_TRUE;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_box_prepend(part, child, &ret));
-   return ret;
-}
-
-void
-_part_box_prepend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child = va_arg(*list, Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   if (_edje_real_part_box_prepend(rp, child))
-     {
-        Edje_User_Defined *eud;
-
-        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
-        if (!eud) return;
-        eud->u.box.child = child;
-
-        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-        if (ret) *ret = EINA_TRUE;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_box_insert_before(part, child, reference, &ret));
-   return ret;
-}
-
-void
-_part_box_insert_before(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child = va_arg(*list, Evas_Object *);
-   const Evas_Object *reference = va_arg(*list, const Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   if (_edje_real_part_box_insert_before(rp, child, reference))
-     {
-        Edje_User_Defined *eud;
-
-        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
-        if (!eud) return;
-        eud->u.box.child = child;
-
-        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-        if (ret) *ret = EINA_TRUE;
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_box_insert_at(part, child, pos, &ret));
-   return ret;
-}
-
-void
-_part_box_insert_at(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child = va_arg(*list, Evas_Object *);
-   unsigned int pos = va_arg(*list, unsigned int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   if (_edje_real_part_box_insert_at(rp, child, pos))
-     {
-        Edje_User_Defined *eud;
-
-        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
-        if (!eud) return;
-        eud->u.box.child = child;
-
-        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-        if (ret) *ret = EINA_TRUE;
-     }
-}
-
-EAPI Evas_Object *
-edje_object_part_box_remove(Evas_Object *obj, const char *part, Evas_Object *child)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do(obj, edje_obj_part_box_remove(part, child, &ret));
-   return ret;
-}
-
-void
-_part_box_remove(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child = va_arg(*list, Evas_Object *);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Evas_Object *r;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   r = _edje_real_part_box_remove(rp, child);
-
-   if (r)
-     {
-        Edje_User_Defined *eud;
-        Eina_List *l;
-
-        EINA_LIST_FOREACH(ed->user_defined, l, eud)
-          if (eud->type == EDJE_USER_BOX_PACK && eud->u.box.child == child && !strcmp(eud->part, part))
-            {
-               _edje_user_definition_free(eud);
-               if (ret) *ret = r;
-               return;
-            }
-     }
-   if (ret) *ret = r;
-}
-
-EAPI Evas_Object *
-edje_object_part_box_remove_at(Evas_Object *obj, const char *part, unsigned int pos)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do(obj, edje_obj_part_box_remove_at(part, pos, &ret));
-   return ret;
-}
-
-void
-_part_box_remove_at(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   unsigned int pos = va_arg(*list, unsigned int);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Evas_Object *r;
-   if (ret) *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   r = _edje_real_part_box_remove_at(rp, pos);
-
-   if (r)
-     {
-        Edje_User_Defined *eud;
-        Eina_List *l;
-
-        EINA_LIST_FOREACH(ed->user_defined, l, eud)
-          if (eud->type == EDJE_USER_BOX_PACK && eud->u.box.child == r && !strcmp(eud->part, part))
-            {
-               _edje_user_definition_free(eud);
-               if (ret) *ret = r;
-               return;
-            }
-     }
-   if (ret) *ret = r;
-}
-
-EAPI Eina_Bool
-edje_object_part_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_box_remove_all(part, clear, &ret));
-   return ret;
-}
-
-void
-_part_box_remove_all(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool clear = va_arg(*list, int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
-
-   if (_edje_real_part_box_remove_all(rp, clear))
-     {
-        if (ret) *ret = EINA_TRUE;
-        Edje_User_Defined *eud;
-        Eina_List *ll, *l;
-
-        EINA_LIST_FOREACH_SAFE(ed->user_defined, l, ll, eud)
-          if (eud->type == EDJE_USER_BOX_PACK && !strcmp(eud->part, part))
-            {
-               _edje_user_definition_free(eud);
-               return;
-            }
-     }
-}
-
-EAPI Eina_List *
-edje_object_access_part_list_get(const Evas_Object *obj)
-{
-   if (!obj) return NULL;
-   Eina_List *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_access_part_list_get(&ret));
-   return ret;
-}
-
-void
-_access_part_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_List **ret = va_arg(*list, Eina_List **);
-   const Edje *ed = _pd;
-   Eina_List *access_parts = NULL;
-   *ret = NULL;
-
-   if ((!ed)) return;
-
-   unsigned int i;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-        rp = ed->table_parts[i];
-        if (rp->part->access)
-          access_parts = eina_list_append(access_parts, rp->part->name);
-     }
-
-   *ret = access_parts;
-}
-
-static void
-_edje_box_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__)
-{
-   Edje_Real_Part *rp = data;
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-static void
-_edje_box_child_add(Edje_Real_Part *rp, Evas_Object *child)
-{
-   evas_object_event_callback_add
-     (child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-static void
-_edje_box_child_remove(Edje_Real_Part *rp, Evas_Object *child)
-{
-   evas_object_event_callback_del_full
-     (child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-Eina_Bool
-_edje_real_part_box_append(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   Evas_Object_Box_Option *opt;
-
-   opt = evas_object_box_append(rp->object, child_obj);
-   if (!opt) return EINA_FALSE;
-
-   if (!_edje_box_layout_add_child(rp, child_obj))
-     {
-        evas_object_box_remove(rp->object, child_obj);
-        return EINA_FALSE;
-     }
-
-   _edje_box_child_add(rp, child_obj);
-
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_real_part_box_prepend(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   Evas_Object_Box_Option *opt;
-
-   opt = evas_object_box_prepend(rp->object, child_obj);
-   if (!opt) return EINA_FALSE;
-
-   if (!_edje_box_layout_add_child(rp, child_obj))
-     {
-        evas_object_box_remove(rp->object, child_obj);
-        return EINA_FALSE;
-     }
-
-   _edje_box_child_add(rp, child_obj);
-
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_real_part_box_insert_before(Edje_Real_Part *rp, Evas_Object *child_obj, const Evas_Object *ref)
-{
-   Evas_Object_Box_Option *opt;
-
-   opt = evas_object_box_insert_before(rp->object, child_obj, ref);
-   if (!opt) return EINA_FALSE;
-
-   if (!_edje_box_layout_add_child(rp, child_obj))
-     {
-        evas_object_box_remove(rp->object, child_obj);
-        return EINA_FALSE;
-     }
-
-   _edje_box_child_add(rp, child_obj);
-
-   return EINA_TRUE;
-}
-
-Eina_Bool
-_edje_real_part_box_insert_at(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned int pos)
-{
-   Evas_Object_Box_Option *opt;
-
-   opt = evas_object_box_insert_at(rp->object, child_obj, pos);
-   if (!opt) return EINA_FALSE;
-
-   if (!_edje_box_layout_add_child(rp, child_obj))
-     {
-        evas_object_box_remove(rp->object, child_obj);
-        return EINA_FALSE;
-     }
-
-   _edje_box_child_add(rp, child_obj);
-
-   return EINA_TRUE;
-}
-
-Evas_Object *
-_edje_real_part_box_remove(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   if (evas_object_data_get(child_obj, "\377 edje.box_item")) return NULL;
-   if (!evas_object_box_remove(rp->object, child_obj)) return NULL;
-   _edje_box_layout_remove_child(rp, child_obj);
-   _edje_box_child_remove(rp, child_obj);
-   return child_obj;
-}
-
-Evas_Object *
-_edje_real_part_box_remove_at(Edje_Real_Part *rp, unsigned int pos)
-{
-   Evas_Object_Box_Option *opt;
-   Evas_Object_Box_Data *priv;
-   Evas_Object *child_obj;
-
-   priv = eo_data_get(rp->object, EVAS_OBJ_BOX_CLASS);
-   opt = eina_list_nth(priv->children, pos);
-   if (!opt) return NULL;
-   child_obj = opt->obj;
-   if (evas_object_data_get(child_obj, "\377 edje.box_item")) return NULL;
-   if (!evas_object_box_remove_at(rp->object, pos)) return NULL;
-   _edje_box_layout_remove_child(rp, child_obj);
-   _edje_box_child_remove(rp, child_obj);
-   return child_obj;
-}
-
-Eina_Bool
-_edje_real_part_box_remove_all(Edje_Real_Part *rp, Eina_Bool clear)
-{
-   Eina_List *children;
-   int i = 0;
-
-   children = evas_object_box_children_get(rp->object);
-   while (children)
-     {
-        Evas_Object *child_obj = children->data;
-        if (evas_object_data_get(child_obj, "\377 edje.box_item"))
-          i++;
-        else
-          {
-             _edje_box_layout_remove_child(rp, child_obj);
-             _edje_box_child_remove(rp, child_obj);
-             if (!evas_object_box_remove_at(rp->object, i))
-               return EINA_FALSE;
-             if (clear)
-               evas_object_del(child_obj);
-          }
-        children = eina_list_remove_list(children, children);
-     }
-   return EINA_TRUE;
-}
-
-static void
-_edje_table_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child, void *einfo __UNUSED__)
-{
-   Edje_User_Defined *eud;
-   Eina_List *l;
-   Edje_Real_Part *rp = data;
-
-   EINA_LIST_FOREACH(rp->edje->user_defined, l, eud)
-     if (rp->part->type == EDJE_PART_TYPE_BOX)
-       {
-          if (eud->type == EDJE_USER_BOX_PACK &&
-              eud->u.box.child == child &&
-              !strcmp(rp->part->name, eud->part))
-            {
-               _edje_user_definition_free(eud);
-               break;
-            }
-       }
-     else if (rp->part->type == EDJE_PART_TYPE_TABLE)
-       {
-          if (eud->type == EDJE_USER_TABLE_PACK &&
-              eud->u.table.child == child &&
-              !strcmp(rp->part->name, eud->part))
-            {
-               _edje_user_definition_free(eud);
-               break;
-            }
-       }
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-static void
-_edje_table_child_add(Edje_Real_Part *rp, Evas_Object *child)
-{
-   evas_object_event_callback_add
-     (child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-static void
-_edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child)
-{
-   evas_object_event_callback_del_full
-     (child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   _edje_recalc(rp->edje);
-}
-
-EAPI Evas_Object *
-edje_object_part_table_child_get(const Evas_Object *obj, const char *part, unsigned int col, unsigned int row)
-{
-   if (!obj) return NULL;
-   Evas_Object *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_part_table_child_get(part, col, row, &ret));
-   return ret;
-}
-
-void
-_part_table_child_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   unsigned int col = va_arg(*list, unsigned int);
-   unsigned int row = va_arg(*list, unsigned int);
-   Evas_Object **ret = va_arg(*list, Evas_Object **);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   *ret = NULL;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
-
-   *ret = evas_object_table_child_get(rp->object, col, row);
-}
-
-EAPI Eina_Bool
-edje_object_part_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_table_pack(part, child_obj, col, row, colspan, rowspan, &ret));
-   return ret;
-}
-
-void
-_part_table_pack(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child_obj = va_arg(*list, Evas_Object *);
-   unsigned short col = va_arg(*list, unsigned int);
-   unsigned short row = va_arg(*list, unsigned int);
-   unsigned short colspan = va_arg(*list, unsigned int);
-   unsigned short rowspan = va_arg(*list, unsigned int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
-
-   if (_edje_real_part_table_pack(rp, child_obj, col, row, colspan, rowspan))
-     {
-        if (ret) *ret = EINA_TRUE;
-        eud = _edje_user_definition_new(EDJE_USER_TABLE_PACK, part, ed);
-        if (!eud) return;
-
-        eud->u.table.child = child_obj;
-        eud->u.table.col = col;
-        eud->u.table.row = row;
-        eud->u.table.colspan = colspan;
-        eud->u.table.rowspan = rowspan;
-
-        evas_object_event_callback_add(child_obj, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_table_unpack(part, child_obj, &ret));
-   return ret;
-}
-
-void
-_part_table_unpack(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Evas_Object *child_obj = va_arg(*list, Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
-
-   if (_edje_real_part_table_unpack(rp, child_obj))
-     {
-        if (ret) *ret = EINA_TRUE;
-        Edje_User_Defined *eud;
-        Eina_List *l;
-
-        EINA_LIST_FOREACH(ed->user_defined, l, eud)
-          if (eud->type == EDJE_USER_TABLE_PACK &&
-              eud->u.table.child == child_obj &&
-              !strcmp(part, eud->part))
-            {
-               _edje_user_definition_free(eud);
-               break;
-            }
-     }
-}
-
-EAPI Eina_Bool
-edje_object_part_table_col_row_size_get(const Evas_Object *obj, const char *part, int *cols, int *rows)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_part_table_col_row_size_get(part, cols, rows, &ret));
-   return ret;
-}
-
-void
-_part_table_col_row_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   int *cols = va_arg(*list, int *);
-   int *rows = va_arg(*list, int *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
-
-   evas_object_table_col_row_size_get(rp->object, cols, rows);
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI Eina_Bool
-edje_object_part_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_part_table_clear(part, clear, &ret));
-   return ret;
-}
-
-void
-_part_table_clear(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const char *part = va_arg(*list, const char *);
-   Eina_Bool clear = va_arg(*list, int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   Edje_Real_Part *rp;
-   if (ret) *ret = EINA_FALSE;
-
-   if ((!ed) || (!part)) return;
-
-   rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return;
-   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
-
-   _edje_real_part_table_clear(rp, clear);
-   if (ret) *ret = EINA_TRUE;
-}
-
-static void
-_edje_perspective_obj_del(void *data, __UNUSED__ Evas *e, __UNUSED__ Evas_Object *obj, __UNUSED__ void *event_info)
-{
-   Edje_Perspective *ps = data;
-   Evas_Object *o;
-
-   EINA_LIST_FREE(ps->users, o)
-     {
-        Edje *ed;
-
-        ed = eo_data_get(o, EDJE_OBJ_CLASS);
-        if (!ed) continue;
-        ed->persp = NULL;
-        ed->dirty = EINA_TRUE;
-        ed->recalc_call = EINA_TRUE;
-        _edje_recalc_do(ed);
-     }
-   free(ps);
-}
-
-EAPI Edje_Perspective *
-edje_perspective_new(Evas *e)
-{
-   Edje_Perspective *ps;
-   Evas_Coord vx, vy, vw, vh;
-
-   if (!e) return NULL;
-   ps = calloc(1, sizeof(Edje_Perspective));
-   ps->obj = evas_object_rectangle_add(e);
-   evas_object_data_set(ps->obj, "_edje_perspective", ps);
-   evas_object_event_callback_add(ps->obj, EVAS_CALLBACK_DEL, _edje_perspective_obj_del, ps);
-   evas_output_viewport_get(e, &vx, &vy, &vw, &vh);
-   ps->e = e;
-   ps->px = vx + (vw / 2);
-   ps->py = vy + (vh / 2);
-   ps->z0 = 0;
-   ps->foc = 1000;
-   return ps;
-}
-
-EAPI void
-edje_perspective_free(Edje_Perspective *ps)
-{
-   if (!ps) return;
-   evas_object_del(ps->obj);
-}
-
-EAPI void
-edje_perspective_set(Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)
-{
-   Eina_List *l;
-   Evas_Object *o;
-
-   if (!ps) return;
-   if ((ps->px == px) && (ps->py == py) && (ps->z0 == z0) && (ps->foc == foc)) return;
-   ps->px = px;
-   ps->py = py;
-   ps->z0 = z0;
-   ps->foc = foc;
-   EINA_LIST_FOREACH(ps->users, l, o)
-     {
-        Edje *ed;
-
-        ed = eo_data_get(o, EDJE_OBJ_CLASS);
-        if (!ed) continue;
-        if (!ed->persp)
-          {
-             ed->dirty = EINA_TRUE;
-             ed->recalc_call = EINA_TRUE;
-             _edje_recalc_do(ed);
-          }
-     }
-   if (ps->global)
-     {
-        EINA_LIST_FOREACH(_edje_edjes, l, o)
-          {
-             Edje *ed;
-
-             ed = eo_data_get(o, EDJE_OBJ_CLASS);
-             if (!ed) continue;
-             if (!ed->persp)
-               {
-                  ed->dirty = EINA_TRUE;
-                  ed->recalc_call = EINA_TRUE;
-                  _edje_recalc_do(ed);
-               }
-          }
-     }
-}
-
-EAPI void
-edje_perspective_global_set(Edje_Perspective *ps, Eina_Bool global)
-{
-   Evas_Object *o;
-   Eina_List *l;
-
-   if (!ps) return;
-   if (ps->global == global) return;
-   if (global)
-     {
-        o = evas_object_name_find(evas_object_evas_get(ps->obj),
-                                  "_edje_perspective");
-        if (o) evas_object_name_set(o, NULL);
-        evas_object_name_set(ps->obj, "_edje_perspective");
-     }
-   else
-     evas_object_name_set(ps->obj, NULL);
-   ps->global = global;
-   EINA_LIST_FOREACH(_edje_edjes, l, o)
-     {
-        Edje *ed;
-
-        ed = eo_data_get(o, EDJE_OBJ_CLASS);
-        if (!ed) continue;
-        if (!ed->persp)
-          {
-             ed->dirty = EINA_TRUE;
-             ed->recalc_call = EINA_TRUE;
-             _edje_recalc_do(ed);
-          }
-     }
-}
-
-EAPI Eina_Bool
-edje_perspective_global_get(const Edje_Perspective *ps)
-{
-   if (!ps) return EINA_FALSE;
-   return ps->global;
-}
-
-EAPI const Edje_Perspective *
-edje_evas_global_perspective_get(const Evas *e)
-{
-   Evas_Object *obj;
-
-   if (!e) return NULL;
-   obj = evas_object_name_find(e, "_edje_perspective");
-   if (!obj) return NULL;
-   return evas_object_data_get(obj, "_edje_perspective");
-}
-
-EAPI void
-edje_object_perspective_set(Evas_Object *obj, Edje_Perspective *ps)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_perspective_set(ps));
-}
-
-void
-_perspective_set(Eo *obj, void *_pd, va_list *list)
-{
-   Edje_Perspective *ps = va_arg(*list, Edje_Perspective *);
-   Edje *ed = _pd;
-
-   if (!ed) return;
-   if (ed->persp == ps) return;
-   if (ed->persp != ps)
-     {
-        if (ed->persp)
-          ed->persp->users = eina_list_remove(ed->persp->users, obj);
-     }
-   ed->persp = ps;
-   if (ps) ps->users = eina_list_append(ps->users, obj);
-   ed->dirty = EINA_TRUE;
-   ed->recalc_call = EINA_TRUE;
-   _edje_recalc_do(ed);
-}
-
-EAPI const Edje_Perspective *
-edje_object_perspective_get(const Evas_Object *obj)
-{
-   if (!obj) return NULL;
-   const Edje_Perspective *ret = NULL;
-   eo_do((Eo *)obj, edje_obj_perspective_get(&ret));
-   return ret;
-}
-
-void
-_perspective_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   const Edje_Perspective **ret = va_arg(*list, const Edje_Perspective **);
-   const Edje *ed = _pd;
-   *ret = ed->persp;
-}
-
-#define EDJE_PRELOAD_EMISSION "preload,done"
-#define EDJE_PRELOAD_SOURCE NULL
-
-EAPI Eina_Bool
-edje_object_preload(Evas_Object *obj, Eina_Bool cancel)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, edje_obj_preload(cancel, &ret));
-   return ret;
-}
-
-void
-_preload(Eo *obj, void *_pd, va_list *list)
-{
-   Eina_Bool cancel = va_arg(*list, int);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Edje *ed = _pd;
-   int count;
-   unsigned int i;
-   if (ret) *ret = EINA_FALSE;
-
-   if (!ed) return;
-
-   _edje_recalc_do(ed);
-
-   for (i = 0, count = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-        Edje_Part *ep;
-
-        rp = ed->table_parts[i];
-        ep = rp->part;
-
-        if ((ep->type == EDJE_PART_TYPE_IMAGE) ||
-            ((ep->type == EDJE_PART_TYPE_GROUP) &&
-             ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-              (rp->typedata.swallow)) &&
-             (rp->typedata.swallow->swallowed_object)))
-          count++;
-     }
-
-   ed->preload_count = count;
-
-   if (count > 0)
-     {
-        for (i = 0; i < ed->table_parts_size; i++)
-          {
-             Edje_Real_Part *rp;
-             Edje_Part *ep;
-
-             rp = ed->table_parts[i];
-             ep = rp->part;
-
-             if (ep->type == EDJE_PART_TYPE_IMAGE)
-               {
-                  const char *file = NULL;
-                  const char *key = NULL;
-
-                  evas_object_event_callback_del_full(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
-
-                  evas_object_image_file_get(rp->object, &file, &key);
-                  if (!file && !key)
-                    {
-                       ed->preload_count--;
-                    }
-                  else
-                    {
-                       evas_object_event_callback_add(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
-                       evas_object_image_preload(rp->object, cancel);
-                    }
-                  count--;
-               }
-             else if (ep->type == EDJE_PART_TYPE_GROUP)
-               {
-                  if (((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                       (rp->typedata.swallow)) &&
-                      (rp->typedata.swallow->swallowed_object))
-                    {
-                       char *tmp;
-
-                       if (rp->part->name)
-                         {
-                            tmp = alloca(strlen(rp->part->name) + 2);
-                            sprintf(tmp, "%s:", rp->part->name);
-
-                            edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb);
-                            edje_object_signal_callback_add(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb, ed);
-                            edje_object_preload(rp->typedata.swallow->swallowed_object, cancel);
-                         }
-                       else
-                         {
-                            ed->preload_count--;
-                         }
-                       count--;
-                    }
-               }
-          }
-     }
-   else
-     {
-        _edje_emit(ed, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE);
-     }
-
-   if (ret) *ret = EINA_TRUE;
-}
-
-EAPI void
-edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update)
-{
-   if (!obj) return;
-   eo_do(obj, edje_obj_update_hints_set(update));
-}
-
-void
-_update_hints_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool update = va_arg(*list, int);
-   Edje *ed = _pd;
-
-   if (!ed) return ;
-   if (ed->update_hints == !!update) return ;
-
-   ed->update_hints = !!update;
-   if (update)
-     {
-        ed->recalc_hints = EINA_TRUE;
-        _edje_recalc(ed);
-     }
-}
-
-EAPI Eina_Bool
-edje_object_update_hints_get(Evas_Object *obj)
-{
-   if (!obj) return EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *)obj, edje_obj_update_hints_get(&ret));
-   return ret;
-}
-
-void
-_update_hints_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   const Edje *ed = _pd;
-   *ret = ed->update_hints;
-}
-
-Eina_Bool
-_edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
-{
-   Eina_Bool ret =
-     evas_object_table_pack(rp->object, child_obj, col, row, colspan, rowspan);
-
-   _edje_table_child_add(rp, child_obj);
-
-   return ret;
-}
-
-Eina_Bool
-_edje_real_part_table_unpack(Edje_Real_Part *rp, Evas_Object *child_obj)
-{
-   Eina_Bool ret = evas_object_table_unpack(rp->object, child_obj);
-
-   if (ret)
-     _edje_table_child_remove(rp, child_obj);
-
-   return ret;
-}
-
-void
-_edje_real_part_table_clear(Edje_Real_Part *rp, Eina_Bool clear)
-{
-   Eina_List *children;
-
-   children = evas_object_table_children_get(rp->object);
-   while (children)
-     {
-        Evas_Object *child_obj = children->data;
-
-        _edje_table_child_remove(rp, child_obj);
-        if (!evas_object_data_get(child_obj, "\377 edje.table_item"))
-          {
-             evas_object_table_unpack(rp->object, child_obj);
-             if (clear)
-               evas_object_del(child_obj);
-          }
-        children = eina_list_remove_list(children, children);
-     }
-}
-
-Edje_Real_Part *
-_edje_real_part_recursive_get(const Edje *ed, const char *part)
-{
-   Edje_Real_Part *rp;
-   char **path;
-
-   path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
-   if (!path) return NULL;
-
-   rp = _edje_real_part_recursive_get_helper(ed, path);
-
-   free(*path);
-   free(path);
-   return rp;
-}
-
-Evas_Object *
-_edje_children_get(Edje_Real_Part *rp, const char *partid)
-{
-   Evas_Object *child;
-   Eina_List *l;
-   long int v;
-   char *p;
-
-   if (!partid) return NULL;
-
-   switch (rp->part->type)
-     {
-      case EDJE_PART_TYPE_EXTERNAL:
-        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-            (!rp->typedata.swallow)) return NULL;
-        return _edje_external_content_get
-          (rp->typedata.swallow->swallowed_object, partid);
-      case EDJE_PART_TYPE_BOX:
-         l = evas_object_box_children_get(rp->object);
-         break;
-      case EDJE_PART_TYPE_TABLE:
-         l = evas_object_table_children_get(rp->object);
-         break;
-      default:
-         return NULL;
-     }
-
-   v = strtol(partid, &p, 10);
-   if ((*p == '\0') && (v >= 0))
-     {
-        child = eina_list_nth(l, v);
-     }
-   else
-     {
-        Evas_Object *cur;
-        child = NULL;
-        EINA_LIST_FREE(l, cur)
-          {
-             const char *name = evas_object_name_get(cur);
-             if ((name) && (!strcmp(name, partid)))
-               {
-                  child = cur;
-                  break;
-               }
-          }
-     }
-   eina_list_free(l);
-
-   return child;
-}
-
-/* rebuild alternative path */
-char *
-_edje_merge_path(const char *alias, char * const *path)
-{
-   char *tmp;
-   unsigned int length = 1;
-   unsigned int alias_length;
-   unsigned int i;
-
-   if (!alias) return NULL;
-
-   alias_length = strlen(alias);
-
-   for (i = 0; path[i]; i++)
-     length += strlen(path[i]) + 1;
-
-   tmp = malloc(sizeof (char) * (length + alias_length + 2));
-   memcpy(tmp, alias, alias_length);
-   tmp[alias_length] = '\0';
-
-   for (i = 0; path[i]; i++)
-     {
-        strcat(tmp, EDJE_PART_PATH_SEPARATOR_STRING);
-        strcat(tmp, path[i]);
-     }
-
-   return tmp;
-}
-
-
-Edje_Real_Part *
-_edje_real_part_recursive_get_helper(const Edje *ed, char **path)
-{
-   Edje_Real_Part *rp;
-   Evas_Object *child;
-   char *idx = NULL;
-
-   if (!path[0])
-     return NULL;
-
-   if (ed->collection && ed->collection->alias)
-     {
-        char *alias;
-
-        alias = _edje_merge_path(eina_hash_find(ed->collection->alias, path[0]), path + 1);
-        if (alias) {
-           rp = _edje_real_part_recursive_get(ed, alias);
-           free(alias);
-           return rp;
-        }
-     }
-
-   //printf("  lookup: %s on %s\n", path[0], ed->parent ? ed->parent : "-");
-   idx = strchr(path[0], EDJE_PART_PATH_SEPARATOR_INDEXL);
-   if (idx)
-     {
-        char *end;
-
-        end = strchr(idx + 1, EDJE_PART_PATH_SEPARATOR_INDEXR);
-        if (end)
-          {
-             *end = '\0';
-             *idx = '\0';
-             idx++;
-          }
-     }
-
-   rp = _edje_real_part_get(ed, path[0]);
-   if (!path[1] && !idx) return rp;
-   if (!rp) return NULL;
-
-   switch (rp->part->type)
-     {
-      case EDJE_PART_TYPE_GROUP:
-         if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-             (!rp->typedata.swallow)) return NULL;
-         if (!rp->typedata.swallow->swallowed_object) return NULL;
-         ed = _edje_fetch(rp->typedata.swallow->swallowed_object);
-         if (!ed) return NULL;
-         path++;
-         return _edje_real_part_recursive_get_helper(ed, path);
-      case EDJE_PART_TYPE_BOX:
-      case EDJE_PART_TYPE_TABLE:
-      case EDJE_PART_TYPE_EXTERNAL:
-         if (!idx) return rp;
-         path++;
-
-         child = _edje_children_get(rp, idx);
-
-         ed = _edje_fetch(child);
-
-         if (!ed) return NULL;
-         return _edje_real_part_recursive_get_helper(ed, path);
-      default:
-         return NULL;
-     }
-}
-
-/* Private Routines */
-Edje_Real_Part *
-_edje_real_part_get(const Edje *ed, const char *part)
-{
-   unsigned int i;
-
-   if (!part) return NULL;
-
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-
-        rp = ed->table_parts[i];
-        if ((rp->part->name) && (!strcmp(rp->part->name, part))) return rp;
-     }
-   return NULL;
-}
-
-Edje_Color_Class *
-_edje_color_class_find(const Edje *ed, const char *color_class)
-{
-   Edje_Color_Class *cc = NULL;
-
-   if ((!ed) || (!color_class)) return NULL;
-
-   /* first look through the object scope */
-   cc = eina_hash_find(ed->color_classes, color_class);
-   if (cc) return cc;
-
-   /* next look through the global scope */
-   cc = eina_hash_find(_edje_color_class_hash, color_class);
-   if (cc) return cc;
-
-   /* finally, look through the file scope */
-   cc = eina_hash_find(ed->file->color_hash, color_class);
-   if (cc) return cc;
-
-   return NULL;
-}
-
-void
-_edje_color_class_member_add(Edje *ed, const char *color_class)
-{
-   _edje_class_member_add(ed, &ed->members.color_class, &_edje_color_class_member_hash, color_class);
-}
-
-void
-_edje_color_class_member_direct_del(const char *color_class, void *l)
-{
-   _edje_class_member_direct_del(color_class, l, _edje_color_class_member_hash);
-}
-
-void
-_edje_color_class_member_del(Edje *ed, const char *color_class)
-{
-   if ((!ed) || (!color_class)) return;
-
-   _edje_class_member_del(&ed->members.color_class, &_edje_color_class_member_hash, color_class);
-}
-
-void
-_edje_color_class_members_free(void)
-{
-   if (!_edje_color_class_member_hash) return;
-   eina_hash_foreach(_edje_color_class_member_hash, member_list_free, NULL);
-   eina_hash_free(_edje_color_class_member_hash);
-   _edje_color_class_member_hash = NULL;
-}
-
-static Eina_Bool
-color_class_hash_list_free(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   Edje_Color_Class *cc;
-
-   cc = data;
-   if (cc->name) eina_stringshare_del(cc->name);
-   free(cc);
-   return EINA_TRUE;
-}
-
-void
-_edje_color_class_hash_free(void)
-{
-   if (!_edje_color_class_hash) return;
-   eina_hash_foreach(_edje_color_class_hash, color_class_hash_list_free, NULL);
-   eina_hash_free(_edje_color_class_hash);
-   _edje_color_class_hash = NULL;
-}
-
-void
-_edje_color_class_on_del(Edje *ed, Edje_Part *ep)
-{
-   unsigned int i;
-
-   if ((ep->default_desc) && (ep->default_desc->color_class))
-     _edje_color_class_member_del(ed, ep->default_desc->color_class);
-
-   for (i = 0; i < ep->other.desc_count; ++i)
-     if (ep->other.desc[i]->color_class)
-       _edje_color_class_member_del(ed, ep->other.desc[i]->color_class);
-}
-
-Edje_Text_Class *
-_edje_text_class_find(Edje *ed, const char *text_class)
-{
-   Eina_List *l;
-   Edje_Text_Class *tc;
-
-   if ((!ed) || (!text_class)) return NULL;
-   EINA_LIST_FOREACH(ed->text_classes, l, tc)
-     if ((tc->name) && (!strcmp(text_class, tc->name))) return tc;
-   return eina_hash_find(_edje_text_class_hash, text_class);
-}
-
-void
-_edje_text_class_member_direct_del(const char *text_class,
-                                   void *l)
-{
-   _edje_class_member_direct_del(text_class, l, _edje_text_class_member_hash);
-}
-
-void
-_edje_text_class_member_add(Edje *ed, const char *text_class)
-{
-   _edje_class_member_add(ed, &ed->members.text_class, &_edje_text_class_member_hash, text_class);
-}
-
-void
-_edje_text_class_member_del(Edje *ed, const char *text_class)
-{
-   if ((!ed) || (!text_class)) return;
-
-   _edje_class_member_del(&ed->members.text_class, &_edje_text_class_member_hash, text_class);
-}
-
-void
-_edje_text_class_members_free(void)
-{
-   _edje_class_members_free(&_edje_text_class_member_hash);
-}
-
-static Eina_Bool
-text_class_hash_list_free(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)
-{
-   Edje_Text_Class *tc;
-
-   tc = data;
-   if (tc->name) eina_stringshare_del(tc->name);
-   if (tc->font) eina_stringshare_del(tc->font);
-   free(tc);
-   return EINA_TRUE;
-}
-
-void
-_edje_text_class_hash_free(void)
-{
-   if (!_edje_text_class_hash) return;
-   eina_hash_foreach(_edje_text_class_hash, text_class_hash_list_free, NULL);
-   eina_hash_free(_edje_text_class_hash);
-   _edje_text_class_hash = NULL;
-}
-
-Edje *
-_edje_fetch(const Evas_Object *obj)
-{
-   Edje *ed;
-
-   if (!obj || !eo_isa(obj, EDJE_OBJ_CLASS))
-     return NULL;
-   ed = eo_data_get(obj, EDJE_OBJ_CLASS);
-   if ((ed) && (ed->delete_me)) return NULL;
-   return ed;
-}
-
-int
-_edje_freeze(Edje *ed)
-{
-   ed->freeze++;
-//   printf("FREEZE %i\n", ed->freeze);
-   return ed->freeze;
-}
-
-int
-_edje_thaw(Edje *ed)
-{
-   ed->freeze--;
-   if (ed->freeze < 0)
-     {
-        //     printf("-------------########### OVER THAW\n");
-        ed->freeze = 0;
-     }
-   if ((ed->freeze == 0) && (ed->recalc))
-     {
-        //     printf("thaw recalc\n");
-        _edje_recalc(ed);
-     }
-   return ed->freeze;
-}
-
-int
-_edje_block(Edje *ed)
-{
-   _edje_ref(ed);
-   ed->block++;
-   return ed->block;
-}
-
-int
-_edje_unblock(Edje *ed)
-{
-   int ret = 0;
-
-   if (!ed) return ret;
-
-   ed->block--;
-   if (ed->block == 0) ed->block_break = EINA_FALSE;
-   ret = ed->block;
-   _edje_unref(ed);
-   return ret;
-}
-
-int
-_edje_block_break(Edje *ed)
-{
-   if (ed->block_break) return 1;
-   return 0;
-}
-
-void
-_edje_block_violate(Edje *ed)
-{
-   if (ed->block > 0) ed->block_break = EINA_TRUE;
-}
-
-void
-_edje_object_part_swallow_free_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje_Real_Part *rp;
-   Edje_User_Defined *eud;
-   Eina_List *l;
-
-   rp = data;
-
-   EINA_LIST_FOREACH(rp->edje->user_defined, l, eud)
-     if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj)
-       {
-          _edje_user_definition_free(eud);
-          break;
-       }
-
-   return;
-}
-
-static void
-_edje_real_part_swallow_hints_update(Edje_Real_Part *rp)
-{
-   const char *type;
-
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   type = evas_object_type_get(rp->typedata.swallow->swallowed_object);
-
-   rp->typedata.swallow->swallow_params.min.w = 0;
-   rp->typedata.swallow->swallow_params.min.h = 0;
-   rp->typedata.swallow->swallow_params.max.w = -1;
-   rp->typedata.swallow->swallow_params.max.h = -1;
-   if ((type) && (!strcmp(type, "edje")))
-     {
-        Evas_Coord w, h;
-
-#if 0
-        edje_object_size_min_get(rp->typedata.swallow->swallowed_object, &w, &h);
-        rp->typedata.swallow->swallow_params.min.w = w;
-        rp->typedata.swallow->swallow_params.min.h = h;
-#endif
-        edje_object_size_max_get(rp->typedata.swallow->swallowed_object, &w, &h);
-        rp->typedata.swallow->swallow_params.max.w = w;
-        rp->typedata.swallow->swallow_params.max.h = h;
-     }
-   else if ((type) && ((!strcmp(type, "text")) || (!strcmp(type, "polygon")) ||
-                       (!strcmp(type, "line"))))
-     {
-        Evas_Coord w, h;
-
-        evas_object_geometry_get(rp->typedata.swallow->swallowed_object, NULL, NULL, &w, &h);
-#if 0
-        rp->typedata.swallow->swallow_params.min.w = w;
-        rp->typedata.swallow->swallow_params.min.h = h;
-#endif
-        rp->typedata.swallow->swallow_params.max.w = w;
-        rp->typedata.swallow->swallow_params.max.h = h;
-     }
-     {
-        Evas_Coord w1, h1, w2, h2, aw, ah;
-        Evas_Aspect_Control am;
-
-        evas_object_size_hint_min_get(rp->typedata.swallow->swallowed_object, &w1, &h1);
-        evas_object_size_hint_max_get(rp->typedata.swallow->swallowed_object, &w2, &h2);
-        evas_object_size_hint_aspect_get(rp->typedata.swallow->swallowed_object, &am, &aw, &ah);
-        rp->typedata.swallow->swallow_params.min.w = w1;
-        rp->typedata.swallow->swallow_params.min.h = h1;
-        if (w2 > 0) rp->typedata.swallow->swallow_params.max.w = w2;
-        if (h2 > 0) rp->typedata.swallow->swallow_params.max.h = h2;
-        switch (am)
-          {
-           case EVAS_ASPECT_CONTROL_NONE:
-              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NONE;
-              break;
-           case EVAS_ASPECT_CONTROL_NEITHER:
-              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NEITHER;
-              break;
-           case EVAS_ASPECT_CONTROL_HORIZONTAL:
-              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_HORIZONTAL;
-              break;
-           case EVAS_ASPECT_CONTROL_VERTICAL:
-              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_VERTICAL;
-              break;
-           case EVAS_ASPECT_CONTROL_BOTH:
-              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_BOTH;
-              break;
-           default:
-              break;
-          }
-        rp->typedata.swallow->swallow_params.aspect.w = aw;
-        rp->typedata.swallow->swallow_params.aspect.h = ah;
-        evas_object_data_set(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part", rp);
-     }
-
-#ifdef EDJE_CALC_CACHE
-     rp->invalidate = 1;
-#endif
-}
-
-void
-_edje_object_part_swallow_changed_hints_cb(void *data, __UNUSED__ Evas *e, __UNUSED__ Evas_Object *obj, __UNUSED__ void *event_info)
-{
-   Edje_Real_Part *rp;
-
-   rp = data;
-   _edje_real_part_swallow_hints_update(rp);
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-   _edje_recalc(rp->edje);
-   return;
-}
-
-void
-_edje_object_part_swallow_image_resize_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Edje_Real_Part *rp = data;
-   Evas_Coord w, h;
-   Evas_Map *map;
-
-   if (!rp->chosen_description->map.on) return;
-   if (evas_object_image_source_get(rp->typedata.swallow->swallowed_object))
-     return;
-
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   map = (Evas_Map *)evas_object_map_get(rp->typedata.swallow->swallowed_object);
-   if (!map) return;
-
-   evas_object_image_size_get(rp->typedata.swallow->swallowed_object, &w, &h);
-   evas_map_point_image_uv_set(map, 0, 0, 0);
-   evas_map_point_image_uv_set(map, 1, w, 0);
-   evas_map_point_image_uv_set(map, 2, w, h);
-   evas_map_point_image_uv_set(map, 3, 0, h);
-
-   evas_object_map_set(rp->typedata.swallow->swallowed_object, map);
-}
-
-void
-_edje_real_part_swallow(Edje_Real_Part *rp,
-                        Evas_Object *obj_swallow,
-                        Eina_Bool hints_update)
-{
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   if (rp->typedata.swallow->swallowed_object)
-     {
-        if (rp->typedata.swallow->swallowed_object != obj_swallow)
-          {
-             edje_object_part_unswallow(rp->edje->obj, rp->typedata.swallow->swallowed_object);
-          }
-        else
-          {
-             if (hints_update)
-               _edje_real_part_swallow_hints_update(rp);
-             rp->edje->dirty = EINA_TRUE;
-             rp->edje->recalc_call = EINA_TRUE;
-             rp->edje->recalc_hints = EINA_TRUE;
-             _edje_recalc(rp->edje);
-             return;
-          }
-     }
-#ifdef EDJE_CALC_CACHE
-   rp->invalidate = 1;
-#endif
-   if (!obj_swallow) return;
-   rp->typedata.swallow->swallowed_object = obj_swallow;
-   evas_object_smart_member_add(rp->typedata.swallow->swallowed_object, rp->edje->obj);
-   if (rp->clip_to)
-     evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->clip_to->object);
-   else evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->edje->base->clipper);
-   evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
-   evas_object_event_callback_add(rp->typedata.swallow->swallowed_object,
-                                  EVAS_CALLBACK_DEL,
-                                  _edje_object_part_swallow_free_cb,
-                                  rp);
-   evas_object_event_callback_add(rp->typedata.swallow->swallowed_object,
-                                  EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-                                  _edje_object_part_swallow_changed_hints_cb,
-                                  rp);
-
-   //If the map is enabled, uv should be updated when image size is changed.
-   if (!strcmp(evas_object_type_get(rp->typedata.swallow->swallowed_object), "image"))
-     evas_object_event_callback_add(obj_swallow, EVAS_CALLBACK_IMAGE_RESIZE,
-                                    _edje_object_part_swallow_image_resize_cb,
-                                    rp);
-
-   if (hints_update)
-     _edje_real_part_swallow_hints_update(rp);
-
-   if (rp->part->mouse_events)
-     {
-        _edje_callbacks_add(obj_swallow, rp->edje, rp);
-        if (rp->part->repeat_events)
-          evas_object_repeat_events_set(obj_swallow, 1);
-        if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
-          evas_object_pointer_mode_set(obj_swallow, rp->part->pointer_mode);
-        evas_object_pass_events_set(obj_swallow, 0);
-     }
-   else
-     evas_object_pass_events_set(obj_swallow, 1);
-   _edje_callbacks_focus_add(rp->typedata.swallow->swallowed_object, rp->edje, rp);
-
-   if (rp->part->precise_is_inside)
-     evas_object_precise_is_inside_set(obj_swallow, 1);
-
-   rp->edje->dirty = EINA_TRUE;
-   rp->edje->recalc_call = EINA_TRUE;
-   rp->edje->recalc_hints = EINA_TRUE;
-   _edje_recalc(rp->edje);
-}
-
-void
-_edje_real_part_swallow_clear(Edje_Real_Part *rp)
-{
-   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
-       (!rp->typedata.swallow)) return;
-   if (!rp->typedata.swallow->swallowed_object) return;
-   evas_object_smart_member_del(rp->typedata.swallow->swallowed_object);
-   evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
-                                       EVAS_CALLBACK_DEL,
-                                       _edje_object_part_swallow_free_cb,
-                                       rp);
-   evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
-                                       EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-                                       _edje_object_part_swallow_changed_hints_cb,
-                                       rp);
-   if (!strcmp(evas_object_type_get(rp->typedata.swallow->swallowed_object), "image"))
-     evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
-                                         EVAS_CALLBACK_IMAGE_RESIZE,
-                                         _edje_object_part_swallow_image_resize_cb,
-                                         rp);
-   evas_object_clip_unset(rp->typedata.swallow->swallowed_object);
-   evas_object_data_del(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part");
-   if (rp->part->mouse_events)
-     _edje_callbacks_del(rp->typedata.swallow->swallowed_object, rp->edje);
-   _edje_callbacks_focus_del(rp->typedata.swallow->swallowed_object, rp->edje);
-   rp->typedata.swallow->swallowed_object = NULL;
-}
-
-static void
-_edje_object_preload(Edje *ed)
-{
-   ed->preload_count--;
-   if (!ed->preload_count)
-     _edje_emit(ed, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE);
-}
-
-static void
-_edje_object_image_preload_cb(void *data, __UNUSED__ Evas *e, Evas_Object *obj, __UNUSED__ void *event_info)
-{
-   Edje *ed = data;
-
-   evas_object_event_callback_del_full(obj, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
-   _edje_object_preload(ed);
-}
-
-static void
-_edje_object_signal_preload_cb(void *data, Evas_Object *obj, __UNUSED__ const char *emission, __UNUSED__ const char *source)
-{
-   Edje *ed = data;
-
-   edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb);
-   _edje_object_preload(ed);
-}
-
-/**
- * @internal
- * 
- * for edje_cc
- */
-EAPI void
-_edje_program_remove(Edje_Part_Collection *edc, Edje_Program *p)
-{
-   Edje_Program ***array;
-   unsigned int *count;
-   unsigned int i;
-
-   if (!p->signal && !p->source)
-     {
-        array = &edc->programs.nocmp;
-        count = &edc->programs.nocmp_count;
-     }
-   else if (p->signal && !strpbrk(p->signal, "*?[\\")
-            && p->source && !strpbrk(p->source, "*?[\\"))
-     {
-        array = &edc->programs.strcmp;
-        count = &edc->programs.strcmp_count;
-     }
-   else if (p->signal && edje_program_is_strncmp(p->signal)
-            && p->source && edje_program_is_strncmp(p->source))
-     {
-        array = &edc->programs.strncmp;
-        count = &edc->programs.strncmp_count;
-     }
-   else if (p->signal && edje_program_is_strrncmp(p->signal)
-            && p->source && edje_program_is_strrncmp(p->source))
-     {
-        array = &edc->programs.strrncmp;
-        count = &edc->programs.strrncmp_count;
-     }
-   else
-     {
-        array = &edc->programs.fnmatch;
-        count = &edc->programs.fnmatch_count;
-     }
-
-   for (i = 0; i < *count; ++i)
-     if ((*array)[i] == p)
-       {
-          memmove(*array + i, *array + i + 1, sizeof (Edje_Program *) * (*count - i -1));
-          (*count)--;
-          break;
-       }
-}
-
-/**
- * @internal
- * 
- * for edje_cc
- */
-EAPI void
-_edje_program_insert(Edje_Part_Collection *edc, Edje_Program *p)
-{
-   Edje_Program ***array;
-   unsigned int *count;
-
-   if (!p->signal && !p->source)
-     {
-        array = &edc->programs.nocmp;
-        count = &edc->programs.nocmp_count;
-     }
-   else if (p->signal && !strpbrk(p->signal, "*?[\\")
-            && p->source && !strpbrk(p->source, "*?[\\"))
-     {
-        array = &edc->programs.strcmp;
-        count = &edc->programs.strcmp_count;
-     }
-   else if (p->signal && edje_program_is_strncmp(p->signal)
-            && p->source && edje_program_is_strncmp(p->source))
-     {
-        array = &edc->programs.strncmp;
-        count = &edc->programs.strncmp_count;
-     }
-   else if (p->signal && edje_program_is_strrncmp(p->signal)
-            && p->source && edje_program_is_strrncmp(p->source))
-     {
-        array = &edc->programs.strrncmp;
-        count = &edc->programs.strrncmp_count;
-     }
-   else
-     {
-        array = &edc->programs.fnmatch;
-        count = &edc->programs.fnmatch_count;
-     }
-
-   *array = realloc(*array, sizeof (Edje_Program *) * (*count + 1));
-   (*array)[(*count)++] = p;
-}
-
-const char *
-edje_string_get(const Edje_String *es)
-{
-   /* FIXME: Handle localization here */
-   if (!es) return NULL;
-   return es->str;
-}
-
-const char *
-edje_string_id_get(const Edje_String *es)
-{
-   /* FIXME: Handle localization here */
-   if (!es) return NULL;
-   return es->str;
-}
-
-static void
-_cb_subobj_del(void *data, __UNUSED__ Evas *e, Evas_Object *obj, __UNUSED__ void *event_info)
-{
-   Edje *ed = data;
-   _edje_subobj_unregister(ed, obj);
-}
-
-void
-_edje_subobj_register(Edje *ed, Evas_Object *ob)
-{
-   ed->subobjs = eina_list_append(ed->subobjs, ob);
-   evas_object_event_callback_add(ob, EVAS_CALLBACK_DEL,
-                                  _cb_subobj_del, ed);
-}
-
-void
-_edje_subobj_unregister(Edje *ed, Evas_Object *obj)
-{
-   ed->subobjs = eina_list_remove(ed->subobjs, obj);
-   evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
-                                       _cb_subobj_del, ed);
-}
-
-/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
diff --git a/legacy/edje/src/lib/edje_var.c b/legacy/edje/src/lib/edje_var.c
deleted file mode 100644 (file)
index c6c83b1..0000000
+++ /dev/null
@@ -1,1093 +0,0 @@
-#include "edje_private.h"
-
-static Eina_Bool _edje_var_timer_cb(void *data);
-static Eina_Bool _edje_var_anim_cb(void *data);
-
-static Ecore_Animator *_edje_animator = NULL;
-static Eina_List   *_edje_anim_list = NULL;
-
-static Eina_Bool
-_edje_var_timer_cb(void *data)
-{
-   Edje_Var_Timer *et;
-   Edje *ed;
-   Embryo_Function fn;
-
-   et = data;
-   if (!et) return ECORE_CALLBACK_CANCEL;
-   ed = et->edje;
-//      _edje_embryo_script_reset(ed);
-   embryo_program_vm_push(ed->collection->script);
-   _edje_embryo_globals_init(ed);
-   embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)et->val);
-   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
-   fn = et->func;
-   free(et);
-     {
-       void *pdata;
-        int ret;
-
-       pdata = embryo_program_data_get(ed->collection->script);
-       embryo_program_data_set(ed->collection->script, ed);
-        embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
-        ret = embryo_program_run(ed->collection->script, fn);
-        if (ret == EMBRYO_PROGRAM_FAIL)
-          {
-             ERR("ERROR with embryo script (timer callback). "
-                 "OBJECT NAME: '%s', "
-                 "OBJECT FILE: '%s', "
-                 "ERROR: '%s'",
-                 ed->collection->part,
-                 ed->file->path,
-                 embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
-          }
-        else if (ret == EMBRYO_PROGRAM_TOOLONG)
-          {
-             ERR("ERROR with embryo script (timer callback). "
-                 "OBJECT NAME: '%s', "
-                 "OBJECT FILE: '%s', "
-                 "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
-                 ed->collection->part,
-                 ed->file->path,
-                 embryo_program_max_cycle_run_get(ed->collection->script));
-          }
-       embryo_program_data_set(ed->collection->script, pdata);
-       embryo_program_vm_pop(ed->collection->script);
-       _edje_recalc(ed);
-     }
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool
-_edje_var_anim_cb(void *data __UNUSED__)
-{
-   Eina_List *l, *tl = NULL;
-   double t;
-   const void *tmp;
-
-   t = ecore_loop_time_get();
-   EINA_LIST_FOREACH(_edje_anim_list, l, tmp)
-     tl = eina_list_append(tl, tmp);
-   while (tl)
-     {
-       Edje *ed;
-       Eina_List *tl2;
-       Edje_Var_Animator *ea;
-
-       ed = eina_list_data_get(tl);
-       _edje_ref(ed);
-       _edje_block(ed);
-       _edje_freeze(ed);
-       tl = eina_list_remove(tl, ed);
-       if (!ed->var_pool) continue;
-       tl2 = NULL;
-       EINA_LIST_FOREACH(ed->var_pool->animators, l, tmp)
-         tl2 = eina_list_append(tl2, tmp);
-       ed->var_pool->walking_list++;
-       while (tl2)
-         {
-            ea = eina_list_data_get(tl2);
-            if ((ed->var_pool) && (!ea->delete_me))
-              {
-                 if ((!ed->paused) && (!ed->delete_me))
-                   {
-                      Embryo_Function fn;
-                      float v;
-                       int ret;
-
-                      v = (t - ea->start)  / ea->len;
-                      if (v > 1.0) v= 1.0;
-//                    _edje_embryo_script_reset(ed);
-                      embryo_program_vm_push(ed->collection->script);
-                      _edje_embryo_globals_init(ed);
-                      embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)ea->val);
-                      embryo_parameter_cell_push(ed->collection->script, EMBRYO_FLOAT_TO_CELL(v));
-                      fn = ea->func;
-                        {
-                           void *pdata;
-
-                           pdata = embryo_program_data_get(ed->collection->script);
-                           embryo_program_data_set(ed->collection->script, ed);
-                           embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
-                            ret = embryo_program_run(ed->collection->script, fn);
-                            if (ret == EMBRYO_PROGRAM_FAIL)
-                              {
-                                 ERR("ERROR with embryo script (anim callback). "
-                                     "OBJECT NAME: '%s', "
-                                     "OBJECT FILE: '%s', "
-                                     "ERROR: '%s'",
-                                     ed->collection->part,
-                                     ed->file->path,
-                                     embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
-                              }
-                            else if (ret == EMBRYO_PROGRAM_TOOLONG)
-                              {
-                                 ERR("ERROR with embryo script (anim callback). "
-                                     "OBJECT NAME: '%s', "
-                                     "OBJECT FILE: '%s', "
-                                     "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
-                                     ed->collection->part,
-                                     ed->file->path,
-                                     embryo_program_max_cycle_run_get(ed->collection->script));
-                              }
-                           embryo_program_data_set(ed->collection->script, pdata);
-                           embryo_program_vm_pop(ed->collection->script);
-                           _edje_recalc(ed);
-                        }
-                      if (v == 1.0) ea->delete_me = 1;
-                   }
-              }
-            tl2 = eina_list_remove(tl2, ea);
-            if (ed->block_break)
-              {
-                 eina_list_free(tl2);
-                 break;
-              }
-         }
-       ed->var_pool->walking_list--;
-       EINA_LIST_FOREACH(ed->var_pool->animators, l, ea)
-         {
-            if (ea->delete_me)
-              {
-                l = eina_list_next(l);
-                 ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
-                 free(ea);
-              }
-            else
-              l = eina_list_next(l);
-         }
-       if (!ed->var_pool->animators)
-         _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
-       _edje_unblock(ed);
-       _edje_thaw(ed);
-       _edje_unref(ed);
-     }
-   if (!_edje_anim_list)
-     {
-       if (_edje_animator)
-         {
-            ecore_animator_del(_edje_animator);
-            _edje_animator = NULL;
-         }
-     }
-   return !!_edje_animator;
-}
-
-Edje_Var *
-_edje_var_new(void)
-{
-   return calloc(1, sizeof(Edje_Var));
-}
-
-void
-_edje_var_free(Edje_Var *var)
-{
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            free(var->data.s.v);
-         }
-     }
-   free(var);
-}
-
-void
-_edje_var_init(Edje *ed)
-{
-   if (!ed) return;
-   if (!ed->collection) return;
-   if (!ed->collection->script) return;
-   if (ed->var_pool) return;
-   ed->var_pool = calloc(1, sizeof(Edje_Var_Pool));
-   if (!ed->var_pool) return;
-   embryo_program_vm_push(ed->collection->script);
-   ed->var_pool->size = embryo_program_variable_count_get(ed->collection->script);
-   embryo_program_vm_pop(ed->collection->script);
-   if (ed->var_pool->size > 0)
-     ed->var_pool->vars = calloc(1, sizeof(Edje_Var) * ed->var_pool->size);
-}
-
-void
-_edje_var_shutdown(Edje *ed)
-{
-   if (!ed->var_pool) return;
-   if (ed->var_pool->vars)
-     {
-       int i;
-
-       for (i = 0; i < ed->var_pool->size; i++)
-         {
-            if (ed->var_pool->vars[i].type == EDJE_VAR_STRING)
-              {
-                 if (ed->var_pool->vars[i].data.s.v)
-                   {
-                      free(ed->var_pool->vars[i].data.s.v);
-                      ed->var_pool->vars[i].data.s.v = NULL;
-                   }
-              }
-            else if (ed->var_pool->vars[i].type == EDJE_VAR_LIST)
-              {
-                 while (ed->var_pool->vars[i].data.l.v)
-                   {
-                      _edje_var_free(eina_list_data_get(ed->var_pool->vars[i].data.l.v));
-                      ed->var_pool->vars[i].data.l.v = eina_list_remove_list(ed->var_pool->vars[i].data.l.v, ed->var_pool->vars[i].data.l.v);
-                   }
-              }
-         }
-       free(ed->var_pool->vars);
-     }
-   while (ed->var_pool->timers)
-     {
-       Edje_Var_Timer *et;
-
-       et = eina_list_data_get(ed->var_pool->timers);
-       ecore_timer_del(et->timer);
-       free(et);
-       ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
-     }
-   if (ed->var_pool->animators)
-     {
-       _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
-       if (!_edje_anim_list)
-         {
-            if (_edje_animator)
-              {
-                 ecore_animator_del(_edje_animator);
-                 _edje_animator = NULL;
-              }
-         }
-     }
-   while (ed->var_pool->animators)
-     {
-       Edje_Var_Animator *ea;
-
-       ea = eina_list_data_get(ed->var_pool->animators);
-       free(ea);
-       ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
-     }
-   free(ed->var_pool);
-   ed->var_pool = NULL;
-}
-
-int
-_edje_var_string_id_get(Edje *ed, const char *string)
-{
-   Embryo_Cell cell, *cptr;
-
-   if (!ed) return 0;
-   if (!ed->collection) return 0;
-   if (!ed->collection->script) return 0;
-   if (!string) return 0;
-   cell = embryo_program_variable_find(ed->collection->script, (char *)string);
-   if (cell == EMBRYO_CELL_NONE) return  0;
-   cptr = embryo_data_address_get(ed->collection->script, cell);
-   if (!cptr) return 0;
-   return (int)(*cptr);
-}
-
-int
-_edje_var_var_int_get(Edje *ed __UNUSED__, Edje_Var *var)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            double f;
-
-            f = atof(var->data.s.v);
-            free(var->data.s.v);
-            var->data.s.v = NULL;
-            var->data.i.v = (int)f;
-         }
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_FLOAT)
-     {
-       var->data.i.v = (int)(var->data.f.v);
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return 0;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return 0;
-     }
-   return var->data.i.v;
-}
-
-void
-_edje_var_var_int_set(Edje *ed __UNUSED__, Edje_Var *var, int v)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            free(var->data.s.v);
-            var->data.s.v = NULL;
-         }
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_FLOAT)
-     {
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->type = EDJE_VAR_INT;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return;
-     }
-   var->data.i.v = v;
-}
-
-double
-_edje_var_var_float_get(Edje *ed __UNUSED__, Edje_Var *var)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            double f;
-
-            f = atof(var->data.s.v);
-            free(var->data.s.v);
-            var->data.s.v = NULL;
-            var->data.f.v = f;
-         }
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_INT)
-     {
-       var->data.f.v = (double)(var->data.i.v);
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return 0.0;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return 0.0;
-     }
-   return var->data.f.v;
-}
-
-void
-_edje_var_var_float_set(Edje *ed __UNUSED__, Edje_Var *var, double v)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            free(var->data.s.v);
-            var->data.s.v = NULL;
-         }
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_INT)
-     {
-       var->data.f.v = 0;
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->type = EDJE_VAR_FLOAT;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return;
-     }
-   var->data.f.v = v;
-}
-
-const char *
-_edje_var_var_str_get(Edje *ed __UNUSED__, Edje_Var *var)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_INT)
-     {
-       char buf[64];
-
-       snprintf(buf, sizeof(buf), "%i", var->data.i.v);
-       var->data.s.v = strdup(buf);
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_FLOAT)
-     {
-       char buf[64];
-
-       snprintf(buf, sizeof(buf), "%f", var->data.f.v);
-       var->data.s.v = strdup(buf);
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->data.s.v = strdup("");
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return NULL;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return NULL;
-     }
-   return var->data.s.v;
-}
-
-void
-_edje_var_var_str_set(Edje *ed __UNUSED__, Edje_Var *var, const char *str)
-{
-   /* auto-cast */
-   if (var->type == EDJE_VAR_STRING)
-     {
-       if (var->data.s.v)
-         {
-            free(var->data.s.v);
-            var->data.s.v = NULL;
-         }
-     }
-   else if (var->type == EDJE_VAR_INT)
-     {
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_FLOAT)
-     {
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_NONE)
-     {
-       var->type = EDJE_VAR_STRING;
-     }
-   else if (var->type == EDJE_VAR_LIST)
-     {
-       return;
-     }
-   else if (var->type == EDJE_VAR_HASH)
-     {
-       return;
-     }
-   var->data.s.v = strdup(str);
-}
-
-int
-_edje_var_int_get(Edje *ed, int id)
-{
-   if (!ed) return 0;
-   if (!ed->var_pool) return 0;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
-   return _edje_var_var_int_get(ed, &(ed->var_pool->vars[id]));
-}
-
-void
-_edje_var_int_set(Edje *ed, int id, int v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   _edje_var_var_int_set(ed, &(ed->var_pool->vars[id]), v);
-}
-
-double
-_edje_var_float_get(Edje *ed, int id)
-{
-   if (!ed) return 0;
-   if (!ed->var_pool) return 0;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
-   return _edje_var_var_float_get(ed, &(ed->var_pool->vars[id]));
-}
-
-void
-_edje_var_float_set(Edje *ed, int id, double v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   _edje_var_var_float_set(ed, &(ed->var_pool->vars[id]), v);
-}
-
-const char *
-_edje_var_str_get(Edje *ed, int id)
-{
-   if (!ed) return NULL;
-   if (!ed->var_pool) return NULL;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
-   return _edje_var_var_str_get(ed, &(ed->var_pool->vars[id]));
-}
-
-void
-_edje_var_str_set(Edje *ed, int id, const char *str)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   if (!str) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   _edje_var_var_str_set(ed, &(ed->var_pool->vars[id]), str);
-}
-
-/* list stuff */
-
-void
-_edje_var_list_var_append(Edje *ed, int id, Edje_Var *var)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-   ed->var_pool->vars[id].data.l.v = eina_list_append(ed->var_pool->vars[id].data.l.v, var);
-}
-
-void
-_edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-   ed->var_pool->vars[id].data.l.v = eina_list_prepend(ed->var_pool->vars[id].data.l.v, var);
-}
-
-void
-_edje_var_list_var_append_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-   ed->var_pool->vars[id].data.l.v = eina_list_append_relative(ed->var_pool->vars[id].data.l.v, var, relative);
-}
-
-void
-_edje_var_list_var_prepend_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-   ed->var_pool->vars[id].data.l.v = eina_list_prepend_relative(ed->var_pool->vars[id].data.l.v, var, relative);
-}
-
-Edje_Var *
-_edje_var_list_nth(Edje *ed, int id, int n)
-{
-   if (!ed) return NULL;
-   if (!ed->var_pool) return NULL;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
-   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return NULL;
-   return eina_list_nth(ed->var_pool->vars[id].data.l.v, n);
-}
-
-int
-_edje_var_list_count_get(Edje *ed, int id)
-{
-   if (!ed) return 0;
-   if (!ed->var_pool) return 0;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
-   return eina_list_count(ed->var_pool->vars[id].data.l.v);
-}
-
-void
-_edje_var_list_remove_nth(Edje *ed, int id, int n)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Eina_List *nth;
-
-       nth = eina_list_nth_list(ed->var_pool->vars[id].data.l.v, n);
-       if (nth)
-         {
-            _edje_var_free(eina_list_data_get(nth));
-            ed->var_pool->vars[id].data.l.v = eina_list_remove_list(ed->var_pool->vars[id].data.l.v, nth);
-         }
-     }
-}
-
-int
-_edje_var_list_nth_int_get(Edje *ed, int id, int n)
-{
-   if (!ed) return 0;
-   if (!ed->var_pool) return 0;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return 0;
-       return _edje_var_var_int_get(ed, var);
-     }
-}
-
-void
-_edje_var_list_nth_int_set(Edje *ed, int id, int n, int v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return;
-       _edje_var_var_int_set(ed, var, v);
-     }
-}
-
-void
-_edje_var_list_int_append(Edje *ed, int id, int v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_int_set(ed, var, v);
-       _edje_var_list_var_append(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_int_prepend(Edje *ed, int id, int v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_int_set(ed, var, v);
-       _edje_var_list_var_prepend(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_int_insert(Edje *ed, int id, int n, int v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var, *var_rel;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_int_set(ed, var, v);
-       var_rel = _edje_var_list_nth(ed, id, n);
-       if (!var_rel)
-         _edje_var_list_var_append(ed, id, var);
-       else
-         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
-     }
-}
-
-double
-_edje_var_list_nth_float_get(Edje *ed, int id, int n)
-{
-   if (!ed) return 0;
-   if (!ed->var_pool) return 0;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return 0;
-       return _edje_var_var_float_get(ed, var);
-     }
-}
-
-void
-_edje_var_list_nth_float_set(Edje *ed, int id, int n, double v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return;
-       _edje_var_var_float_set(ed, var, v);
-     }
-}
-
-void
-_edje_var_list_float_append(Edje *ed, int id, double v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_float_set(ed, var, v);
-       _edje_var_list_var_append(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_float_prepend(Edje *ed, int id, double v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_float_set(ed, var, v);
-       _edje_var_list_var_prepend(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_float_insert(Edje *ed, int id, int n, double v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var, *var_rel;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_float_set(ed, var, v);
-       var_rel = _edje_var_list_nth(ed, id, n);
-       if (!var_rel)
-         _edje_var_list_var_append(ed, id, var);
-       else
-         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
-     }
-}
-
-const char *
-_edje_var_list_nth_str_get(Edje *ed, int id, int n)
-{
-   if (!ed) return NULL;
-   if (!ed->var_pool) return NULL;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return NULL;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return NULL;
-       return _edje_var_var_str_get(ed, var);
-     }
-}
-
-void
-_edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       id += EDJE_VAR_MAGIC_BASE;
-       var = _edje_var_list_nth(ed, id, n);
-       if (!var) return;
-       _edje_var_var_str_set(ed, var, v);
-     }
-}
-
-void
-_edje_var_list_str_append(Edje *ed, int id, const char *v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_str_set(ed, var, v);
-       _edje_var_list_var_append(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_str_prepend(Edje *ed, int id, const char *v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_str_set(ed, var, v);
-       _edje_var_list_var_prepend(ed, id, var);
-     }
-}
-
-void
-_edje_var_list_str_insert(Edje *ed, int id, int n, const char *v)
-{
-   if (!ed) return;
-   if (!ed->var_pool) return;
-   id -= EDJE_VAR_MAGIC_BASE;
-   if ((id < 0) || (id >= ed->var_pool->size)) return;
-   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
-     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
-   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
-     {
-       Edje_Var *var, *var_rel;
-
-       var = _edje_var_new();
-       if (!var) return;
-       id += EDJE_VAR_MAGIC_BASE;
-       _edje_var_var_str_set(ed, var, v);
-       var_rel = _edje_var_list_nth(ed, id, n);
-       if (!var_rel)
-         _edje_var_list_var_append(ed, id, var);
-       else
-         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
-     }
-}
-
-int
-_edje_var_timer_add(Edje *ed, double in, const char *fname, int val)
-{
-   Edje_Var_Timer *et;
-   Embryo_Function fn;
-
-   if (!ed->var_pool) return 0;
-   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
-   if (fn == EMBRYO_FUNCTION_NONE) return 0;
-   et = calloc(1, sizeof(Edje_Var_Timer));
-   if (!et) return 0;
-   et->id = ++ed->var_pool->id_count;
-   et->edje = ed;
-   et->func = fn;
-   et->val = val;
-   et->timer = ecore_timer_add(in, _edje_var_timer_cb, et);
-   if (!et->timer)
-     {
-       free(et);
-       return 0;
-     }
-   ed->var_pool->timers = eina_list_prepend(ed->var_pool->timers, et);
-   return et->id;
-}
-
-static Edje_Var_Timer *
-_edje_var_timer_find(Edje *ed, int id)
-{
-   Eina_List *l;
-   Edje_Var_Timer *et;
-
-   if (!ed->var_pool) return NULL;
-
-   EINA_LIST_FOREACH(ed->var_pool->timers, l, et)
-     if (et->id == id) return et;
-
-   return NULL;
-}
-
-void
-_edje_var_timer_del(Edje *ed, int id)
-{
-   Edje_Var_Timer *et;
-
-   et = _edje_var_timer_find(ed, id);
-   if (!et) return;
-
-   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
-   ecore_timer_del(et->timer);
-   free(et);
-}
-
-int
-_edje_var_anim_add(Edje *ed, double len, const char *fname, int val)
-{
-   Edje_Var_Animator *ea;
-   Embryo_Function fn;
-
-   if (!ed->var_pool) return 0;
-   if (len <= 0.0) return 0;
-   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
-   if (fn == EMBRYO_FUNCTION_NONE) return 0;
-   ea = calloc(1, sizeof(Edje_Var_Animator));
-   if (!ea) return 0;
-   ea->start = ecore_loop_time_get();
-   ea->len = len;
-   ea->id = ++ed->var_pool->id_count;
-   ea->edje = ed;
-   ea->func = fn;
-   ea->val = val;
-   if (!ed->var_pool->animators)
-     _edje_anim_list = eina_list_append(_edje_anim_list, ed);
-   ed->var_pool->animators = eina_list_prepend(ed->var_pool->animators, ea);
-   if (!_edje_animator)
-     _edje_animator = ecore_animator_add(_edje_var_anim_cb, NULL);
-   return ea->id;
-}
-
-static Edje_Var_Animator *
-_edje_var_anim_find(Edje *ed, int id)
-{
-   Eina_List *l;
-   Edje_Var_Animator *ea;
-
-   if (!ed->var_pool) return NULL;
-
-   EINA_LIST_FOREACH(ed->var_pool->animators, l, ea)
-     if (ea->id == id) return ea;
-
-   return NULL;
-}
-
-void
-_edje_var_anim_del(Edje *ed, int id)
-{
-   Edje_Var_Animator *ea;
-
-   ea = _edje_var_anim_find(ed, id);
-   if (!ea) return;
-
-   if (ed->var_pool->walking_list)
-     {
-       ea->delete_me = 1;
-       return;
-     }
-
-   ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
-   free(ea);
-
-   if (ed->var_pool->animators) return;
-
-   _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
-   if (!_edje_anim_list)
-     {
-       if (_edje_animator)
-         {
-            ecore_animator_del(_edje_animator);
-            _edje_animator = NULL;
-         }
-     }
-}
diff --git a/legacy/edje/src/modules/alsa_snd_player/alsa_snd_player.c b/legacy/edje/src/modules/alsa_snd_player/alsa_snd_player.c
deleted file mode 100644 (file)
index f397255..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * Remix ALSA Player: ALSA audio output
- *
- * Govindaraju SM <govi.sm@samsung.com>, October 2011
- * Prince Kumar Dubey <prince.dubey@samsung.com>, October 2011
- */
-
-#include "config.h"
-#include <stdio.h>
-#include <remix/remix.h>
-#include <alsa/asoundlib.h>
-#include <Eina.h>
-#ifdef HAVE_LIBSNDFILE
-#include <sndfile.h>
-#endif
-
-#define ALSA_PLAYER_BUFFERLEN 2048
-
-typedef struct _Alsa_Player_Data Alsa_Player_Data;
-typedef short PLAYER_PCM;
-
-struct _Alsa_Player_Data
-{
-   RemixPCM databuffer[ALSA_PLAYER_BUFFERLEN];
-   snd_pcm_t *alsa_dev;
-   unsigned int stereo;
-   unsigned channels;
-   unsigned int frequency;
-};
-
-static int _log_dom = -1;
-static int init_count = 0;
-
-#ifdef WRN
-# undef WRN
-#endif
-#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
-
-//#define MIXDBG 1
-
-/* Optimisation dependencies: none */
-static RemixBase *alsa_player_optimise(RemixEnv *env, RemixBase *base);
-
-static snd_pcm_t *
-alsa_open(int channels, unsigned int samplerate, unsigned int *real_samplerate)
-{
-   const char *device = "default";
-   snd_pcm_t *alsa_dev = NULL;
-   snd_pcm_hw_params_t *hw_params;
-   snd_pcm_uframes_t alsa_buffer_frames;
-   snd_pcm_uframes_t alsa_period_size;
-   unsigned int samplerate_ret = 0;
-   int err;
-   
-   alsa_buffer_frames = ALSA_PLAYER_BUFFERLEN;
-   alsa_period_size = ALSA_PLAYER_BUFFERLEN / 4;
-   
-   if ((err = snd_pcm_open(&alsa_dev, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0)
-     {
-        WRN("cannot open alsa playback stream (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   snd_pcm_hw_params_alloca(&hw_params);
-   if ((err = snd_pcm_hw_params_any(alsa_dev, hw_params)) < 0)
-     {
-        WRN("cannot initialize snd hw params (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params_set_access(alsa_dev, hw_params, 
-                                           SND_PCM_ACCESS_RW_INTERLEAVED)) < 0)
-     {
-         WRN("cannot set interleaved access (%s)", snd_strerror(err));
-         goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params_set_format(alsa_dev, hw_params, 
-                                           SND_PCM_FORMAT_FLOAT)) < 0)
-     {
-        WRN("cannot set float sample format (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-#ifdef MIXDBG // testing/debugging by making output samplerate be 48khz
-   samplerate_ret = 48000;
-   if ((err = snd_pcm_hw_params_set_rate_near(alsa_dev, hw_params, 
-                                              &samplerate_ret, 0)) < 0)
-     {
-        WRN("cannot set sample rate (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-#else
-   if ((err = snd_pcm_hw_params_set_rate_near(alsa_dev, hw_params, 
-                                              &samplerate, 0)) < 0)
-     {
-        WRN("cannot set sample rate (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-#endif
-   if ((err = snd_pcm_hw_params_set_channels(alsa_dev, hw_params, channels)) < 0)
-     {
-        WRN("cannot set channel count (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params_set_buffer_size_near(alsa_dev, hw_params, 
-                                                     &alsa_buffer_frames)) < 0)
-     {
-        WRN("cannot set buffer size (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params_set_period_size_near(alsa_dev, hw_params, 
-                                                     &alsa_period_size, 0)) < 0)
-     {
-        WRN("cannot set period size (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params(alsa_dev, hw_params)) < 0)
-     {
-        WRN("cannot set parameters (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_hw_params_get_rate(hw_params, &samplerate_ret, 0)) < 0)
-     {
-        WRN("cannot get samplerate (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if ((err = snd_pcm_prepare(alsa_dev)) < 0)
-     {
-        WRN("cannot prepare audio for use (%s)", snd_strerror(err));
-        goto catch_error;
-     }
-   if (real_samplerate) *real_samplerate = samplerate_ret;
-
-catch_error:
-   if ((err < 0) && (alsa_dev != NULL))
-     {
-        snd_pcm_close(alsa_dev);
-        return NULL;
-     }
-   return alsa_dev;
-}
-
-static RemixBase *
-alsa_player_reset_device(RemixEnv *env, RemixBase *base)
-{
-   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
-   unsigned int real_samplerate = 0;
-
-   if (player_data->alsa_dev)
-     {
-        snd_pcm_drain(player_data->alsa_dev);
-        snd_pcm_close(player_data->alsa_dev);
-     }
-   player_data->alsa_dev = alsa_open(player_data->channels,
-                                     player_data->frequency,
-                                     &real_samplerate);
-   if (!player_data->alsa_dev)
-     {
-        remix_set_error(env, REMIX_ERROR_SYSTEM);
-        return RemixNone;
-     }
-//   printf("%i != %i\n", real_samplerate, player_data->frequency);
-   if (real_samplerate != player_data->frequency)
-     {
-        player_data->frequency = real_samplerate;
-        remix_set_samplerate(env, player_data->frequency);
-     }
-   return base;
-}
-
-static RemixBase *
-alsa_player_init(RemixEnv *env, RemixBase *base, CDSet *parameters __UNUSED__)
-{
-   CDSet *channels;
-   Alsa_Player_Data *player_data = calloc(1, sizeof(Alsa_Player_Data));
-
-   if (!player_data)
-     {
-        remix_set_error(env, REMIX_ERROR_SYSTEM);
-        return RemixNone;
-     }
-
-   init_count++;
-   if (init_count == 1)
-     {
-        eina_init();
-        _log_dom = eina_log_domain_register("remix-alsa", EINA_COLOR_CYAN);
-     }
-   
-   remix_base_set_instance_data(env, base, player_data);
-   channels = remix_get_channels(env);
-
-   player_data->channels = cd_set_size(env, channels);
-   if (player_data->channels == 1) player_data->stereo = 0;
-   else if (player_data->channels == 2) player_data->stereo = 1;
-   
-   player_data->frequency = remix_get_samplerate(env);
-   alsa_player_reset_device(env, base);
-   base = alsa_player_optimise(env, base);
-   return base;
-}
-
-static RemixBase *
-alsa_player_clone(RemixEnv *env, RemixBase *base __UNUSED__)
-{
-   RemixBase *new_player = remix_base_new(env);
-   alsa_player_init(env, new_player, NULL);
-   return new_player;
-}
-
-static int
-alsa_player_destroy(RemixEnv *env, RemixBase *base)
-{
-   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
-   
-   if (player_data->alsa_dev)
-     {
-        snd_pcm_drain(player_data->alsa_dev);
-        snd_pcm_close(player_data->alsa_dev);
-     }
-   free(player_data);
-   init_count--;
-   if (init_count == 0)
-     {
-        eina_log_domain_unregister(_log_dom);
-        _log_dom = -1;
-        eina_shutdown();
-     }
-   return 0;
-}
-
-static int
-alsa_player_ready(RemixEnv *env, RemixBase *base)
-{
-   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
-   RemixCount nr_channels;
-   CDSet *channels;
-   int samplerate;
-
-   channels = remix_get_channels(env);
-   samplerate = (int)remix_get_samplerate(env);
-   nr_channels = cd_set_size(env, channels);
-   return ((samplerate == (int)player_data->frequency) &&
-           (((nr_channels == 1) && (player_data->stereo == 0)) ||
-               ((nr_channels > 1) && (player_data->stereo == 1))));
-}
-
-static RemixBase *
-alsa_player_prepare(RemixEnv *env, RemixBase *base)
-{
-   alsa_player_reset_device(env, base);
-   return base;
-}
-
-static RemixCount
-alsa_player_playbuffer(RemixEnv *env __UNUSED__, Alsa_Player_Data *player, RemixPCM *data, RemixCount count)
-{
-#ifdef MIXDBG
-     {
-        static int total = 0;
-        static SNDFILE *sfile = NULL;
-        static SF_INFO sfinfo;
-        
-        if (total == 0)
-          {
-             sfinfo.frames = 0;
-             sfinfo.samplerate = player->frequency;
-             sfinfo.channels = 2;
-             sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16 | SF_ENDIAN_LITTLE;
-             sfinfo.sections = 0;
-             sfinfo.seekable = 0;
-             sfile = sf_open("out.wav", SFM_WRITE, &sfinfo);
-          }
-
-        if (sfile)
-          {
-             sf_writef_float(sfile, data, count);
-             total += count;
-          }
-     }
-#endif
-   return snd_pcm_writei(player->alsa_dev, data, count);
-}
-
-static RemixCount
-alsa_player_chunk(RemixEnv *env, RemixChunk *chunk, RemixCount offset, RemixCount count, int channelname __UNUSED__, void *data)
-{
-   Alsa_Player_Data *player = data;
-   RemixCount remaining = count, written = 0, n, playcount;
-   RemixPCM *d;
-   
-   while (remaining > 0)
-     {
-        playcount = MIN(remaining, ALSA_PLAYER_BUFFERLEN);
-
-        d = &chunk->data[offset];
-        n = alsa_player_playbuffer(env, player, d, playcount);
-
-        if (n == -1) return -1;
-        else n /= sizeof(PLAYER_PCM);
-        
-        offset += n;
-        written += n;
-        remaining -= n;
-     }
-   return written;
-}
-
-static RemixCount
-alsa_player_process(RemixEnv *env, RemixBase *base, RemixCount count, RemixStream *input, RemixStream *output __UNUSED__)
-{
-   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
-   RemixCount nr_channels = remix_stream_nr_channels(env, input);
-   RemixCount remaining = count, processed = 0, n, nn;
-   
-   if ((nr_channels == 1) && (player_data->stereo == 0))
-     { /*MONO*/
-        return remix_stream_chunkfuncify(env, input, count,
-                                         alsa_player_chunk, player_data);
-     }
-   else if ((nr_channels == 2) && (player_data->stereo == 1))
-     { /*STEREO*/
-        while (remaining > 0)
-          {
-             n = MIN(remaining, ALSA_PLAYER_BUFFERLEN / 2);
-             n = remix_stream_interleave_2(env, input, 
-                                           REMIX_CHANNEL_LEFT,
-                                           REMIX_CHANNEL_RIGHT,
-                                           player_data->databuffer, n);
-             nn = alsa_player_playbuffer(env, player_data,
-                                         player_data->databuffer, n);
-             processed += n;
-             remaining -= n;
-          }
-        return processed;
-     }
-   WRN("[alsa_player_process] unsupported stream/output channel "
-       "combination %ld / %d", nr_channels, player_data->stereo ? 2 : 1);
-   return -1;
-}
-
-static RemixCount
-alsa_player_length(RemixEnv *env __UNUSED__, RemixBase *base __UNUSED__)
-{
-   return REMIX_COUNT_INFINITE;
-}
-
-static RemixCount
-alsa_player_seek(RemixEnv *env __UNUSED__, RemixBase *base __UNUSED__, RemixCount count __UNUSED__)
-{
-   return count;
-}
-
-static int
-alsa_player_flush(RemixEnv *env, RemixBase *base)
-{
-   alsa_player_reset_device(env, base);
-   return 0;
-}
-
-static struct _RemixMethods _alsa_player_methods =
-{
-   alsa_player_clone,
-   alsa_player_destroy,
-   alsa_player_ready,
-   alsa_player_prepare,
-   alsa_player_process,
-   alsa_player_length,
-   alsa_player_seek,
-   alsa_player_flush,
-};
-
-static RemixBase *
-alsa_player_optimise(RemixEnv *env, RemixBase *base)
-{
-   remix_base_set_methods(env, base, &_alsa_player_methods);
-   return base;
-}
-
-static struct _RemixMetaText alsa_player_metatext =
-{
-   "alsa_snd_player",
-   "ALSA sound player for Remix",
-   "Output the audio stream into ALSA Driver",
-   "Copyright (C) 2011, Samsung Electronics Co., Ltd.",
-   "http://www.samsung.com",
-   REMIX_ONE_AUTHOR("Govindaraju SM", "prince.dubey@samsung.com"),
-};
-
-static struct _RemixPlugin alsa_player_plugin =
-{
-   &alsa_player_metatext,
-   REMIX_FLAGS_NONE,
-   CD_EMPTY_SET, /* init scheme */
-   alsa_player_init,
-   CD_EMPTY_SET, /* process scheme */
-   NULL, /* suggests */
-   NULL, /* plugin data */
-   NULL  /* destroy */
-};
-
-EAPI CDList *
-remix_load(RemixEnv *env)
-{
-   CDList *plugins = cd_list_new(env);
-   plugins = cd_list_prepend(env, plugins, CD_POINTER(&alsa_player_plugin));
-   return plugins;
-}
diff --git a/legacy/edje/src/modules/eet_snd_reader/eet_snd_reader.c b/legacy/edje/src/modules/eet_snd_reader/eet_snd_reader.c
deleted file mode 100644 (file)
index 4e2dec9..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * RemixSnd_eetfile: a libsnd EET Virtual file handler
- *
- * Govindaraju SM <govi.sm@samsung.com>, August 2011
- * Prince Kumar Dubey <prince.dubey@samsung.com>, August 2011
- */
-
-#include "config.h"
-#include <math.h>
-#include <sndfile.h>
-#include <remix/remix.h>
-#include <Eet.h>
-
-#define PATH_KEY     1
-#define SOUND_ID_KEY 2
-#define SPEED_KEY    3
-#define BLOCK_FRAMES 8192
-
-static RemixBase *remix_eet_sndfile_optimise(RemixEnv *env, RemixBase *sndfile);
-
-typedef struct _VIO_DATA VIO_DATA;
-typedef struct _SndInstanceData SndInstanceData;
-
-struct _VIO_DATA
-{
-   sf_count_t  offset, length;
-   const char *data;
-};
-
-struct _SndInstanceData
-{
-   /* plugin parameters */
-   char       *path;
-   char       *sound_id;
-   double      speed;
-
-   /* Edj & Sndfile Reader */
-   Eet_File   *efp;
-   SNDFILE    *pcm_fp;
-   SF_INFO    *snd_info;
-   VIO_DATA   *vio_data;
-
-   /* PCM buffers */
-   RemixPCM   *readbuf;
-   RemixPCM   *inbuf;
-   RemixPCM   *outbuf;
-
-   /* Resample stuffs */
-   RemixPCM    prevreadbuf[2];
-   int         enable_resample;
-   double      rs_ratio;
-   RemixCount  resample_len;
-   RemixCount  in_avail;
-   RemixCount  out_generated;
-   RemixCount  required_resamples;
-};
-
-static sf_count_t
-eet_snd_file_get_length(void *user_data)
-{
-   VIO_DATA *vf = user_data;
-   return vf->length;
-}
-
-static sf_count_t
-eet_snd_file_seek(sf_count_t offset, int whence, void *user_data)
-{
-   VIO_DATA *vf = user_data;
-   
-   switch (whence)
-     {
-      case SEEK_SET:
-        vf->offset = offset;
-        break;
-      case SEEK_CUR:
-        vf->offset += offset;
-        break;
-      case SEEK_END:
-        vf->offset = vf->length + offset;
-        break;
-      default:
-        break;
-     }
-   return vf->offset;
-}
-
-static sf_count_t
-eet_snd_file_read(void *ptr, sf_count_t count, void *user_data)
-{
-   VIO_DATA *vf = user_data;
-
-   if ((vf->offset + count) > vf->length)
-     count = vf->length - vf->offset;
-   memcpy(ptr, vf->data + vf->offset, count);
-   vf->offset += count;
-   return count;
-}
-
-static sf_count_t
-eet_snd_file_tell(void *user_data)
-{
-   VIO_DATA *vf = user_data;
-   return vf->offset;
-}
-
-static int
-remix_init_resampler_data(RemixEnv *env, RemixBase *base)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, base);
-
-   si->rs_ratio = remix_get_samplerate(env) / si->snd_info->samplerate;
-   si->rs_ratio /= si->speed;
-   si->resample_len = (si->snd_info->frames * si->rs_ratio);
-
-   si->outbuf = malloc(sizeof(RemixPCM) * BLOCK_FRAMES * 2);
-   if (!si->outbuf) return 0;
-   if ((si->rs_ratio == 1.0)/* && (si->snd_info->channels == 2)*/)
-     {
-        si->enable_resample = 0;
-        return 1;
-     }
-   else
-     si->enable_resample = 1;
-
-   si->in_avail = 0;
-   si->out_generated = 0;
-   si->inbuf = malloc(sizeof(RemixPCM) * BLOCK_FRAMES *
-                      si->snd_info->channels);
-   if (!si->inbuf) return 0;
-   return 1;
-}
-
-static RemixBase *
-remix_eet_sndfile_create(RemixEnv *env, RemixBase *sndfile, const char *path, const char *sound_id, const double speed)
-{
-   SF_VIRTUAL_IO *eet_vio = NULL;
-   SndInstanceData *si;
-   const void *sound_data;
-   int sound_size;
-
-   if ((!path) || (!sound_id)) return NULL;
-
-   si = calloc(1, sizeof(SndInstanceData));
-   if (!si) goto err;
-   remix_base_set_instance_data(env, sndfile, si);
-
-   si->path = strdup(path);
-   si->sound_id = strdup(sound_id);
-   si->speed = speed;
-
-   si->efp = eet_open(path, EET_FILE_MODE_READ);
-   if (!si->efp) goto err;
-
-   // xxx: eet_read_direct does not work on Threads, using eet_read.
-   sound_data = eet_read(si->efp, sound_id, &(sound_size));
-   eet_close(si->efp);
-   si->efp = NULL;
-   if (sound_data == NULL) goto err;
-
-   eet_vio = calloc(1, sizeof(SF_VIRTUAL_IO));
-   if (!eet_vio) goto err;
-
-   /* Set up func pointers to read snd file directly from EET. */
-   eet_vio->get_filelen = eet_snd_file_get_length;
-   eet_vio->seek = eet_snd_file_seek;
-   eet_vio->read = eet_snd_file_read;
-   eet_vio->tell = eet_snd_file_tell;
-
-   si->vio_data = calloc(1, sizeof(VIO_DATA));
-   if (!si->vio_data) goto err;
-   si->vio_data->offset = 0;
-   si->vio_data->length = sound_size;
-   si->vio_data->data = sound_data;
-
-   si->snd_info = calloc(1, sizeof(SF_INFO));
-   if (!si->snd_info) goto err;
-
-   si->pcm_fp = sf_open_virtual(eet_vio, SFM_READ, si->snd_info, si->vio_data);
-   if (!si->pcm_fp) goto err;
-   free(eet_vio);
-   eet_vio = NULL;
-
-   if (!remix_init_resampler_data(env, sndfile)) goto err;
-   si->out_generated = 0;
-
-   return sndfile;
-
-err:
-   if (eet_vio) free(eet_vio);
-   remix_set_error(env, REMIX_ERROR_SYSTEM);
-   remix_destroy(env, (RemixBase *)sndfile);
-   return RemixNone;
-}
-
-static RemixBase *
-remix_eet_sndfile_reader_init(RemixEnv *env, RemixBase *base, CDSet *parameters)
-{
-   char *file_path, *sound_id;
-   double speed;
-
-   file_path = (cd_set_find(env, parameters, PATH_KEY)).s_string;
-   sound_id = (cd_set_find(env, parameters, SOUND_ID_KEY)).s_string;
-   speed = (cd_set_find(env, parameters, SPEED_KEY)).s_double;
-
-   if (!remix_eet_sndfile_create(env, base, file_path, sound_id, speed))
-     return RemixNone;
-   remix_eet_sndfile_optimise (env, base);
-   return base;
-}
-
-static RemixBase *
-remix_eet_sndfile_clone(RemixEnv *env, RemixBase *base)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, base);
-   RemixBase *new_sndfile = remix_base_new(env);
-
-   remix_eet_sndfile_create(env, new_sndfile, si->path, si->sound_id, si->speed);
-   remix_eet_sndfile_optimise(env, new_sndfile);
-   return new_sndfile;
-}
-
-static int
-remix_eet_sndfile_destroy(RemixEnv *env, RemixBase *base)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, base);
-   if (si)
-     {
-        sf_close (si->pcm_fp);
-        eet_close(si->efp);
-        if (si->path) free(si->path);
-        if (si->sound_id) free(si->sound_id);
-        if (si->snd_info) free(si->snd_info);
-        if (si->efp) eet_close(si->efp);
-        if (si->inbuf) free(si->inbuf);
-        if (si->outbuf) free(si->outbuf);
-        if (si->vio_data) free(si->vio_data);
-        free(si);
-      }
-   if (base) free (base);
-   return 0;
-}
-
-static int
-remix_pcm_resample(SndInstanceData *si)
-{
-   RemixPCM *src, *dst, *srcbase;
-   int i = 0, in_samples, pos, total, chnum, reqsamp, avail;
-   int interp = 1;
-   
-   dst = si->outbuf + (si->out_generated * 2);
-   in_samples = (double)si->required_resamples / si->rs_ratio;
-   chnum = si->snd_info->channels;
-   reqsamp = si->required_resamples;
-   avail = si->in_avail;
-   srcbase = si->readbuf;
-   if ((interp) && (si->rs_ratio >= 1.0))
-     {
-        // linear interpolation of resampling for lower quality samples
-        // so they don't get high requency aliasing effects
-        for (i = 0; i < reqsamp; i++)
-          {
-             float fpos, fpos1;
-             RemixPCM psam[2];
-             
-             fpos = (float)(i * in_samples) / (float)reqsamp;
-             pos = fpos;
-             if (pos >= avail) break;
-             fpos -= pos;
-             fpos1 = 1.0 - fpos;
-             src = srcbase + (pos * chnum);
-             if (chnum == 2)
-               {
-                  if (pos == 0)
-                    {
-                       psam[0] = si->prevreadbuf[0];
-                       psam[1] = si->prevreadbuf[1];
-                    }
-                  else
-                    {
-                       psam[0] = src[0 - 2];
-                       psam[1] = src[1 - 2];
-                    }
-                  *dst++ = (src[0] * fpos) + (psam[0] * fpos1);
-                  *dst++ = (src[1] * fpos) + (psam[1] * fpos1);
-               }
-             else
-               {
-                  if (pos == 0)
-                    psam[0] = si->prevreadbuf[0];
-                  else
-                    psam[0] = src[0 - 1];
-                  *dst++ = (src[0] * fpos) + (psam[0] * fpos1);
-               }
-          }
-     }
-   else
-     {
-        // simple sample-picking/nearest. faster and simpler
-        for (i = 0; i < reqsamp; i++)
-          {
-             pos = (i * in_samples) / reqsamp;
-             if (pos >= avail) break;
-             src = srcbase + (pos * chnum);
-             if (chnum == 2)
-               {
-                  *dst++ = src[0];
-                  *dst++ = src[1];
-               }
-             else
-               *dst++ = src[0];
-          }
-     }
-   si->out_generated += i;
-   total = (i * in_samples) / reqsamp;
-   si->readbuf += total * chnum;
-   si->in_avail -= total;
-   return total;
-}
-
-/* An RemixChunkFunc for creating sndfile */
-static RemixCount
-remix_eet_sndfile_read_update(RemixEnv *env, RemixBase *sndfile, RemixCount count)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, sndfile);
-   
-   si->out_generated = 0;
-   if (si->enable_resample)
-     {
-        RemixCount gen = 0;
-
-        while (gen < count)
-          {
-             if (si->in_avail <= 0)
-               {
-                  si->in_avail = sf_readf_float(si->pcm_fp, si->inbuf, BLOCK_FRAMES);
-                  si->readbuf = si->inbuf;
-               }
-             si->required_resamples = (count - gen);
-             remix_pcm_resample(si);
-             if (si->snd_info->channels == 2)
-               {
-                  si->prevreadbuf[0] = si->readbuf[-2];
-                  si->prevreadbuf[1] = si->readbuf[-1];
-               }
-             else
-               {
-                  si->prevreadbuf[0] = si->readbuf[-1];
-               }
-             gen += si->out_generated;
-          }
-        si->out_generated = gen;
-     }
-   else
-     {
-        si->out_generated = sf_readf_float(si->pcm_fp, si->outbuf, count);
-     }
-   return si->out_generated;
-}
-
-static RemixCount
-remix_eet_sndfile_read_into_chunk(RemixEnv *env, RemixChunk *chunk, RemixCount offset, RemixCount count, int channelname, void *data)
-{
-   RemixBase *sndfile = data;
-   SndInstanceData *si = remix_base_get_instance_data(env, sndfile);
-   RemixPCM *d, *p;
-   RemixCount remaining = count, written = 0, n, i;
-
-   d = &chunk->data[offset];
-   n = MIN(remaining, BLOCK_FRAMES);
-   // Need parameter support to advance the data reading
-   if (channelname == 0)
-     remix_eet_sndfile_read_update(env, sndfile, n);
-   n = MIN(si->out_generated, remaining);
-   p = si->outbuf;
-   if (si->snd_info->channels > 1) p += channelname;
-   for (i = 0; i < n; i++)
-     {
-        *d++ = *p;
-        p += si->snd_info->channels;
-     }
-   if (n == 0) n = _remix_pcm_set(d, 0.0, remaining);
-   remaining -= n;
-   written += n;
-   return written;
-}
-
-static RemixCount
-remix_eet_sndfile_reader_process(RemixEnv *env, RemixBase *base, RemixCount count, RemixStream *input __UNUSED__, RemixStream *output)
-{
-   return remix_stream_chunkfuncify(env, output, count, 
-                                    remix_eet_sndfile_read_into_chunk,
-                                    base);
-}
-
-static RemixCount
-remix_eet_sndfile_length(RemixEnv *env, RemixBase *base)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, base);
-   return si->resample_len;
-}
-
-static RemixCount
-remix_eet_sndfile_seek(RemixEnv *env, RemixBase *base, RemixCount offset)
-{
-   SndInstanceData *si = remix_base_get_instance_data(env, base);
-   return sf_seek(si->pcm_fp, offset, SEEK_SET);
-}
-
-static struct _RemixMethods _remix_eet_sndfile_reader_methods =
-{
-   remix_eet_sndfile_clone,
-   remix_eet_sndfile_destroy,
-   NULL, /* ready */
-   NULL, /* prepare */
-   remix_eet_sndfile_reader_process,
-   remix_eet_sndfile_length,
-   remix_eet_sndfile_seek,
-   NULL, /* flush */
-};
-
-static RemixBase *
-remix_eet_sndfile_optimise(RemixEnv *env, RemixBase *sndfile)
-{
-   remix_base_set_methods(env, sndfile, &_remix_eet_sndfile_reader_methods);
-   return sndfile;
-}
-
-static struct _RemixParameterScheme path_scheme =
-{
-   "path",
-   "Path to sound file",
-   REMIX_TYPE_STRING,
-   REMIX_CONSTRAINT_TYPE_NONE,
-   {NULL},
-   REMIX_HINT_FILENAME,
-};
-
-static struct _RemixParameterScheme sound_id_scheme =
-{
-   "sound_id",
-   "Sound Id (Key) inside EET",
-   REMIX_TYPE_STRING,
-   REMIX_CONSTRAINT_TYPE_NONE,
-   {NULL},
-   REMIX_HINT_DEFAULT,
-};
-
-static struct _RemixParameterScheme speed_scheme =
-{
-   "speed",
-   "Sound Play Speed",
-   REMIX_TYPE_FLOAT,
-   REMIX_CONSTRAINT_TYPE_NONE,
-   {NULL},
-   REMIX_HINT_DEFAULT,
-};
-
-static struct _RemixMetaText eet_sndfile_reader_metatext =
-{
-   "eet_sndfile_reader",
-   "File:: Sound file Reader from EET",
-   "Reads PCM audio files from EET bundle using libsndfile",
-   "Copyright (C) 2011, Samsung Electronics Co., Ltd.",
-   "http://www.samsung.com",
-   REMIX_ONE_AUTHOR ("govi.sm@samsung.com", "prince.dubey@samsung.com"),
-};
-
-static struct _RemixPlugin eet_sndfile_reader_plugin =
-{
-   &eet_sndfile_reader_metatext,
-   REMIX_FLAGS_NONE,
-   CD_EMPTY_SET, /* init scheme */
-   remix_eet_sndfile_reader_init,
-   CD_EMPTY_SET, /* process scheme */
-   NULL, /* suggests */
-   NULL, /* plugin data */
-   NULL  /* destroy */
-};
-
-EAPI CDList *
-remix_load(RemixEnv *env)
-{
-   CDList *plugins = cd_list_new(env);
-   
-   eet_sndfile_reader_plugin.init_scheme =
-     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, PATH_KEY,
-                   CD_POINTER(&path_scheme));
-   eet_sndfile_reader_plugin.init_scheme =
-     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, SOUND_ID_KEY,
-                   CD_POINTER(&sound_id_scheme));
-   eet_sndfile_reader_plugin.init_scheme =
-     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, SPEED_KEY,
-                   CD_POINTER(&speed_scheme));
-   
-   plugins = cd_list_prepend(env, plugins,
-                             CD_POINTER(&eet_sndfile_reader_plugin));
-   return plugins;
-}
diff --git a/legacy/edje/src/modules/multisense_factory/multisense_factory.c b/legacy/edje/src/modules/multisense_factory/multisense_factory.c
deleted file mode 100644 (file)
index 8b17be1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "config.h"
-#include "edje_private.h"
-
-#define DEFAULT_SAMPLERATE 44100
-
-#ifdef HAVE_LIBREMIX
-EAPI RemixBase *
-multisense_sound_player_get(Edje_Multisense_Env *msenv)
-{
-   RemixEnv *env = msenv->remixenv;
-   RemixPlugin *player_plugin;
-   RemixBase *player;
-
-   player_plugin = remix_find_plugin(env, "alsa_snd_player");
-   if (!player_plugin)
-     {
-        WRN("ALSA player_plugin init fail\n");
-        return remix_monitor_new(env);
-     }
-   player = remix_new(env, player_plugin, NULL);
-   return player;
-}
-#endif
-
-EAPI Eina_Bool
-multisense_factory_init(Edje_Multisense_Env *env __UNUSED__)
-{
-#ifdef HAVE_LIBREMIX
-   remix_set_samplerate(env->remixenv, DEFAULT_SAMPLERATE);
-   remix_set_channels(env->remixenv, REMIX_STEREO);
-#endif
-   return EINA_TRUE;
-}
diff --git a/legacy/edje/src/tests/edje_suite.h b/legacy/edje/src/tests/edje_suite.h
deleted file mode 100644 (file)
index 35ab20d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _EDJE_SUITE_H
-#define _EDJE_SUITE_H
-
-#include <check.h>
-
-void edje_test_edje(TCase *tc);
-
-
-#endif /* _EDJE_SUITE_H */
diff --git a/legacy/edje/src/tests/edje_test_edje.c b/legacy/edje/src/tests/edje_test_edje.c
deleted file mode 100644 (file)
index ad92c63..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <unistd.h>
-#include <stdio.h>
-
-#include <Eina.h>
-#include <Edje.h>
-
-#include "edje_suite.h"
-
-START_TEST(edje_test_edje_init)
-{
-   int ret;
-
-   ret = edje_init();
-   fail_if(ret != 1);
-
-   ret = edje_shutdown();
-   fail_if(ret != 0);
-}
-END_TEST
-
-void edje_test_edje(TCase *tc)
-{
-   tcase_add_test(tc, edje_test_edje_init);
-}
diff --git a/m4/efl_lua.m4 b/m4/efl_lua.m4
new file mode 100644 (file)
index 0000000..61eccf1
--- /dev/null
@@ -0,0 +1,26 @@
+dnl EFL_CHECK_LUA_5_1(EFL)
+dnl checks for lua5.1 in pkg-config (multiple names) and -llua directly
+dnl will call EFL_ADD_LIBS() or EFL_DEPEND_PKG() as required.
+dnl this is a strict call and will abort if lua is not found
+AC_DEFUN([EFL_CHECK_LUA_5_1],
+[dnl
+requirement_lua=""
+PKG_CHECK_EXISTS([lua >= 5.1.0], [requirement_lua="lua >= 5.1.0"],
+   [PKG_CHECK_EXISTS([lua5.1 >= 5.1.0], [requirement_lua="lua5.1 >= 5.1.0"],
+      [PKG_CHECK_EXISTS([lua-5.1 >= 5.1.0], [requirement_lua="lua-5.1 >= 5.1.0"],
+         [PKG_CHECK_EXISTS([lua51 >= 5.1.0], [requirement_lua="lua51 >= 5.1.0"])])])])
+
+if test "x${requirement_lua}" = "x"; then
+   AC_MSG_CHECKING([whether lua_newstate() is in liblua])
+   AC_CHECK_LIB([lua], [lua_newstate],
+      [have_lua="yes"
+       EFL_ADD_LIBS([$1], [-llua])],
+      [have_lua="no"])
+   AC_MSG_RESULT([${have_lua}])
+   if test "${have_lua}" = "no"; then
+      AC_MSG_ERROR([Missing lua 5.1 support])
+   fi
+else
+   EFL_DEPEND_PKG([$1], [LUA], [${requirement_lua}])
+fi
+])
diff --git a/old/ChangeLog.edje b/old/ChangeLog.edje
new file mode 100644 (file)
index 0000000..689b3e7
--- /dev/null
@@ -0,0 +1,718 @@
+2011-01-29  Carsten Haitzler (The Rasterman)
+
+        1.0.0 release
+
+2011-01-30  Tom Hacohen (TAsn)
+
+        * Added "UNDER" cursor mode.
+        * Added auto-alignment to text parts, just set text.alignment to -1 to
+          activate it. It's only relevant to TEXT parts, textblock objects
+          already have that by default.
+
+2011-02-01  Tom Hacohen (TAsn)
+
+        * Added Mirroring support to edje objects.
+
+2011-02-08  Cedric BAIL
+
+       * Fix invalid memory access by edje alias code.
+
+2011-02-10  Cedric BAIL
+
+       * Fix use of recursive alias.
+
+2011-02-21  WooHyun Jung
+
+        * Fix missing cursor changed signale on backspace
+
+2011-02-21  Mike Blumenkrantz
+
+        * Add built-in cpp (epp) to provide consistent output on all archs/OSes
+
+2011-02-10  Cedric BAIL
+
+       * Fix propagation of recursive events on existing part.
+
+2011-02-24  Cedric BAIL
+
+       * fix signal comming from box/table item to include their
+       index or name correctly.
+
+2011-02-25  Jihoon Kim
+
+       * Add edje_object_part_text_cursor_pos_{set,get} API
+
+2011-02-27  Tom Hacohen (TAsn)
+
+        * Added size_range property to TEXT parts in edje files.
+       This lets you limit the size of the font that will be used.
+       Especially useful when using fit.
+
+2011-03-10  WooHyun Jung
+
+        * Fix: Emit clicked signal on entry if still in - missing.
+
+2011-03-10  Cedric BAIL
+
+       * Correctly propagate recursive event with existing and non existing
+       part.
+
+2011-03-11  Cedric BAIL
+
+       * Add PROXY part.
+
+2011-03-19  Carsten Haitzler (The Rasterman)
+
+       * Change edje_decc to only use edje_cc as the compiler for security
+        and correctness reasons.
+
+2011-03-23  Brett Nash (nash)
+
+       * Move some of edje over to use smart clipper in evas.  This _should_
+       be transparent to users.
+
+2011-03-30  Carsten Haitzler (The Rasterman)
+
+       * text.align (only the vertical part) now works for textblock.
+
+2011-04-1  Carsten Haitzler (The Rasterman)
+
+       * Add Feature: Support explicit shadow direction with extra effect
+        param (optional). Default as before.
+
+2011-04-28  Tom Hacohen (TAsn)
+
+        * size_min_restricted_calc: Fixed textblock handling.
+
+2011-05-15  Tom Hacohen (TAsn)
+
+        * Entry - New API: added edje_object_part_text_append which appends
+          text to the end of the textblock part. This lets us do cool thing
+          like population of textblock using idler.
+
+2011-05-16  Carsten Haitzler (The Rasterman)
+
+       * Add new interpolation modes for programs to make animation
+        much easier. Added: ACCEL_FAC, DECEL_FAC, SIN_FAC, DIVIS,
+        BOUNCE, SPRING (also made short name versions of the long ones
+        possible too).
+
+2011-05-19  Tom Hacohen (TAsn)
+
+        * Entry: Don't emit "cursor,changed" when setting the text, because
+          the cursor really didn't change, it's more like a new cursor.
+          Also, when setting position, don't do anything if position is as it
+          was.
+
+2011-05-27  Carsten Haitzler (The Rasterman)
+
+       * Improve performance on create/delete of edje objects by using
+        evas freeze and thaw calls. May help in certain pathological
+        situations.
+
+2011-05-27  Cedric Bail
+
+       * Improve performance by avoiding walking eina_list for nothing
+       when deleting member_class.
+
+2011-06-09  Cedric Bail
+
+       * Fix external usage in sub group to have the proper parents.
+
+2011-06-11  Tom Hacohen (TAsn)
+
+       * Fix an issue with ellipsis not working properly with small
+         text parts.
+
+2011-06-21  Cedric Bail
+
+       * Make it possible to define part.description.max only on one axis.
+
+2011-07-24  Mike Blumenkrantz
+
+        * Add signals entry,paste,request,1 (PRIMARY) and entry,paste,request,3 (CLIPBOARD)
+          to differentiate between paste types
+        * Add entry,selection,all,request for signalling ctrl+a in an entry
+        * Add entry,selection,none,request for signalling ctrl+shift+a in an entry
+        * Fix entry,paste,request* to be emitted after cursor,changed (fixes middle mouse paste location)
+
+2011-05-27  Carsten Haitzler (The Rasterman)
+
+       * Fix edje_shutdown() being called before all evas objects created
+        by edje (edje objects) are gone. Delay internal core shutdown
+        until all references gone.
+
+2011-08-03  Tom Hacohen (TAsn)
+
+       * Entry: Added changed,user signal. This signal indicates the entry
+       has changed because of user interaction, i.e not by code.
+
+2012-08-04  Flavio Ceolin
+
+        * Added edje_codegen - tool that genereates code to working with
+          edje files.
+
+2011-08-22  Cedric Bail
+
+       * Add collection.group.limits {
+                 vertical: "name" value;
+                 horizontal: "name" value;
+             }.
+
+2011-08-25  Jihoon Kim
+
+       * Add entry input panel layout setting api's
+
+2011-08-10  Tom Hacohen (TAsn)
+
+       * Signals: Added the ability to pass extra data with edje signals.
+       Added edje_object_signal_callback_extra_data_get to support that.
+
+2011-08-29  Jaehwan Kim
+
+       * Add group's inheritance.
+       * Add insert_before, insert_after to can change the part's order.
+
+2011-10-02  Boris Faure (billiob)
+
+       * Fix edje_cc to accept -1 in description.max
+
+2011-10-03  Tom Hacohen (TAsn)
+
+       * Entry: Added change information to entry,changed,user
+
+2011-11-03  Jaehwan Kim
+
+       * Transition: Add the "CURRENT" option which causes the edje object move
+             from its current position.
+
+2011-10-04  Govindaraju SM, Prince Kumar Dubey
+
+       * Add Edje multisense that allows playback of samples and
+          vibrator control and ultimately beginsd to pave the way for
+          more complex audio etc. support.
+
+2011-11-06  David Seikel (onefang)
+
+       * Lua: Added color_class and text_class functions.
+           Still need to write a function for setting the classes of an object.
+           This works for things in OTHER groups using those classes though.
+       * Add image, text, textblock (commented out), and edje objects.
+           Very basic support.
+       * Add functions for set/get text font, size, and text.
+       * Add function for set/get image image.
+           Still needs to limit to only imagess in the current edje file.
+       * Add functions for set/get image fill and filled.
+       * Add function for set/get edje file.
+           Still needs to limit to only groups in the current edje file.
+       * Add full support for evas line object.
+       * Add full support for evas polygon object.
+       * Beefed up the example lua script to show most of the above.
+         Including some handling of size changes.
+       * White space fixes, one of the editors I use cleans those up automatically.  shrugs
+
+2011-11-06  David Seikel (onefang)
+
+       * Lua: Added half of the evas map API.
+
+2011-11-07  David Seikel (onefang)
+
+       * Lua: Added the other half of the evas map API.
+
+2011-11-19  Carsten Haitzler (The Rasterman)
+
+       * Fix message and signal propagation to be consistent in all situations
+        as well as simpler.
+
+2011-12-02 Carsten Haitzler (The Rasterman)
+
+        1.1.0 release
+
+2011-12-12 Mike Blumenkrantz (discomfitor/zmike)
+
+        * Fix potential crash from buffer overflow on copying map data.
+
+2011-12-15  Tom Hacohen (TAsn)
+
+       * Entry: Added support for various new key bindings:
+       Ctrl+Arrows, Ctrl+Del and Ctrl+Backspace.
+       * Entry: Added cursor,changed,manual signal.
+       This signal indicates the cursor has been manually changed, i.e by
+       either mouse click or arrows.
+
+2011-12-15  Cedric Bail
+
+       * Fix detections of limits by edje_cc parser.
+
+2011-12-16  Cedric Bail
+
+       * Fix wrong call to free() in edje_load.
+       * Reduce parts walk to the strict minimum.
+
+2011-12-19  Cedric Bail
+
+       * Check existence of group at compile time also.
+
+2012-01-02 Carsten Haitzler (The Rasterman)
+
+        * Fix prototype for edje_object_part_text_cursor_content_get()
+          as it returned a strduped string and not an internal one, so
+          this just formalizes its existing behavior correctly.
+
+2012-01-03  Tom Hacohen (TAsn)
+
+       * Entry: Fixed undo/redo with IMF.
+
+2012-01-04  Carsten Haitzler (The Rasterman)
+
+        * Add HEX, TERMINAL and PASSWORD layouts to edje
+        * Add "recalc" smart callback for object size changes
+
+2012-01-05  Cedric Bail
+
+       * Reduce call to stat during edje_object_file_set.
+
+2012-01-06  Cedric Bail
+
+       * Unswallow object that are about to be swallowed if necessary.
+       * Add EDJE_ASPECT_PREFER_SOURCE.
+
+2012-01-07  David Seikel (onefang)
+
+       * Lua: Calling non exstent functions no longer crashes scripts.
+          This is so that future scripts will still work with old libraries,
+          and lets us add the "host can provide Lua API" feature soon.
+
+2012-01-09  David Seikel (onefang)
+
+       * Lua: Added edje.version().
+
+2012-01-14  Carsten Haitzler (The Rasterman)
+
+        * Added minmul propery for edje to multiply minimum size during min size calc
+
+2012-01-20  Carsten Haitzler (The Rasterman)
+
+        * Fix the ability to change the edje file source of an edje object
+        inside a callback - it worked but you couldn't swallow/set text etc.
+
+2012-01-03  Tom Hacohen (TAsn)
+
+       * Entry: Added edje_object_part_text_style_user_set/get that'll use
+       the new corresponding textblock functions.
+
+2012-01-23  Cedric Bail
+
+       * Fix overridding group in edje_cc by fixing with the right index.
+
+2012-01-24  Cedric Bail
+
+       * Filter should only be valid once all program affecting there part are done.
+
+2012-01-25  Cedric Bail
+
+       * Only store the image used by active group.
+
+2012-01-26  Cedric Bail
+
+       * Add min: SOURCE, max: SOURCE.
+
+2012-02-03  Jihoon Kim
+
+       * Entry: Fix to work edje_object_part_text_input_panel_enabled_set/get well
+             even though ecore_imf doesn't exist or immodule isn't used.
+
+2012-02-07  WooHyun Jung
+
+        * Added edje_object_markup_filter_callback_{add,del,del_full}.
+        These let you append(delete) markup filter functions for filtering
+        inserted text.
+
+2012-02-08  Cedric Bail
+
+       * Fix bug when using EDJE_CALC_CACHE and using relative to x and y
+       on separate part.
+       * Fix bug with filter preventing any action to be triggered.
+
+2012-02-10  Cedric Bail
+
+       * Prevent propagation of signal, when there is a matching target with edje GROUP.
+
+2012-02-13  Jihoon Kim
+
+       * add edje_object_part_text_input_panel_show/hide.
+      These APIs can be used in input panel manual control mode.
+       * add edje_object_part_text_imf_context_reset that will use
+      for reseting the input method context.
+
+2012-02-14  Jihoon Kim
+
+       * add edje_object_part_text_prediction_allow_set/get.
+      These APIs can be used to set whether prediction feature is allowed or not.
+
+2012-02-14  Cedric Bail
+
+       * add a way to disable signal broadcasting introduced in edje 1.1.
+
+2012-02-15  Jihoon Kim
+
+       * add edje_object_part_text_input_panel_language_set/get
+          edje_object_part_text_input_panel_imdata_set/get
+          edje_object_part_text_input_panel_return_key_type_set/get
+          edje_object_part_text_input_panel_return_key_disabled_set/get
+
+2012-02-20  WooHyun Jung
+
+        * Change API names from edje_object_markup_filter_callback_{add,del,del_full}.
+        to edje_object_text_markup_filter_callback_{add,del,del_full}.
+
+2012-02-24  Jihoon Kim
+
+       * add edje_object_part_text_imf_context_get for getting Ecore_IMF_Context handle in edje text object
+
+2012-02-29  Tom Hacohen (TAsn)
+
+       * Entry: Added edje_object_part_text_user_insert.
+       This function inserts text as if the user has inserted it.
+       This means it actually registers as a change and etc.
+
+2012-03-06  Mikael Sans (XHeLL)
+
+       * Entry: Added double click and triple click.
+       Double click selects a word.
+       Triple click selects a line.
+
+2012-03-07  Tom Hacohen (TAsn)
+
+       * Entry: Replaced edje_object_part_text_style_user_set/get 
+       with edje_object_part_text_style_user_set/get to correspond to
+       textblock's recent changes.
+
+2012-03-07  Cedric Bail
+
+       * Correctly count and propagate preload signal with GROUP.
+       * Fix rotation with fixed point.
+
+2012-03-11  Cedric Bail
+
+       * Propagate scale factor to GROUP's part.
+
+2012-03-12  Cedric Bail
+
+       * Make it possible for edje to update size hint automatically.
+       * Add min: SOURCE to GROUP's part.
+
+2012-03-30  Jihoon Kim
+
+       * Fix number doesn't insert even though NUM LOCK is locked.
+
+2012-04-16  Carsten Haitzler (The Rasterman)
+
+        * Add EDJE_VERSION_12 define so edc files can #ifdef compile
+        right.
+
+2012-04-20  Carsten Haitzler (The Rasterman)
+
+        * To work through a bug in Elementary, add
+        edje_object_part_text_escaped_set() that converts escapes to
+        plain UTF8 if the part is TEXT.
+
+2012-04-26 Carsten Haitzler (The Rasterman)
+
+        1.2.0 release
+
+2012-04-30  Jérôme Pinot
+
+       * Add missing files in the tarballs.
+
+2012-05-02  Cedric Bail
+
+       * Doing less allocation and reuse Evas_Map does help.
+
+2012-05-08  Cedric Bail
+
+       * Add edje_watch tools to automatically rebuild edc.
+
+2012-05-09  Cedric Bail
+
+       * Fix bug in case of nesting edje_object_signal_emit and edje_object_signal_callback_{add,del}
+       * Check that the file changed on disk when trying to reopen it.
+       * Emit ['edje,change,file', 'edje'] when the file change on disk.
+       * Automatically reload edje file when it change in edje_player.
+
+2012-05-10  Cedric Bail
+
+       * Preserve user box and table items during call of edje_object_file_set.
+
+2012-05-12  Rajeev Ranjan (Rajeev)
+
+       * Add edje_cc optimization to remove alpha channel flag from images
+        with absolutely no alpha in them if marked as havin alpha in the
+        originals
+
+2012-05-14  Cedric Bail
+
+       * Preserve drag informations during call of edje_object_file_set.
+
+2012-05-15  Carsten Haitzler (The Rasterman)
+
+        * Optimize edje_cc to be multi-threaded and compress in parallel
+        * Remove O(n2) algorithms for O(1) in the parser in edje_cc
+        * Add options for the new compression modes in Eet. (fastcomp
+        and fastdecomp - LZ4 and LZ4HC).
+        * Overall sped up edje_cc by 4x faster (if you use fastcomp)
+        and about 4.5x faster with old zlib compression.
+
+2012-05-16  Cedric Bail
+
+       * Fix table and text when fixed point is turned on.
+       * Clamp image tween to never underflow also.
+
+2012-05-20  Cedric Bail
+
+       * Use Eina_File instead of fopen when possible in edje_cc.
+
+2012-05-21  Shilpa Onkar Singh
+
+        * Fix patch for edje draggable jump issue when external event
+        area is used for the dragable.
+
+2012-06-04  Cedric Bail
+
+       * Add SPACER part to reduce the load on the canvas (lighter and faster theme).
+
+2012-06-04  Prince Kumar Dubey
+
+       * Fix decompile of sound samples to use sound source file, not name
+       * Fix decompile of sound samples not double-free
+        * Fix alsa configure option to be alsa, not flac.
+
+2012-06-06  Leandro Pereira
+
+        * Made state index optional (defaulting to 0.0).
+
+2012-06-06  Jihoon Kim
+
+       * edje_entry: display preedit string even though there is no attribute
+
+2012-06-20  Kim Shinwoo
+
+       * Add edje_object_access_part_list_get and acess flags in edc file.
+
+2012-06-21  Carsten Haitzler (The Rasterman)
+
+        * Improve edje_cc slightly to use prefix for full path to
+        embryo_cc. this still like before requires embryo and edje to share
+        the same install prefix for edje_cc to work.
+
+2012-06-12  Michael Bouchaud (yoz)
+
+       * The aliases are now inherited from the targeted group
+       * Aliases can be usable with edje programs, if the part is in the
+       group
+
+2012-06-24  Cedric Bail
+
+       * Emit signal for flagged part when their size get to zero.
+
+2012-07-03  Tom Hacohen (TAsn)
+
+       * Entry: Update anchors from user_insert as well.
+
+2012-07-12  Tom Hacohen (TAsn)
+
+       * Textblock: Fixed issue with updating only the font size using text
+       classes.
+       * Textblock: Fixed updating textblock text_class with
+       edje_text_class_set.
+       * Text classes: Fixed edje_text_class_set to behave like
+       edje_object_text_class_set (and as expected) wrt NULL fonts.
+
+2012-07-12  Cedric Bail
+
+       * Warn at compile time about forgotten image definition.
+       * Stop compilation when clipping to a non RECT part.
+
+2012-07-14  Cedric Bail
+
+       * Fix Edje_Multisense shutdown.
+
+2012-07-24  Carsten Haitzler (The Rasterman)
+
+        * Fix edje entry to extend selection to char pos/word or line
+        when holding shift + mouse click.
+
+2012-07-29  Cedric Bail
+
+       * Reduce potential reentrant issue when using edje_object_signal_emit.
+
+2012-08-06  Cedric Bail
+
+       * Call edje_object_message_signal_process also on GROUP part Edje object.
+
+2012-08-07  Cedric Bail
+
+       * Fix memory leak when Edje file have alias defined.
+
+2012-08-09  Cedric Bail
+
+       * Improve speed of color_class lookup by using an Eina_Hash.
+
+2012-08-14  Hermet
+
+       * Fix the uv mapping correctly in case of image swallowed.
+
+2012-08-21  Guilherme Silveira
+
+       * Fix password timeout with fixed point.
+
+2012-08-24  Cedric Bail
+
+       * Properly destroy color_class and text_class on an Edje_Object.
+
+2012-08-27  Tom Hacohen (TAsn)
+
+       * Textblock: Fixed issue with textblock fit not sizing correctly. This
+       fix is not perfect.
+
+2012-08-29  Cedric Bail
+
+       * Don't leak memory on edje block error during signal emit.
+
+2012-08-30  Carsten Haitzler (The Rasterman)
+
+        1.7.0 release
+
+2012-08-30  Cedric Bail
+
+       * Check the number of parameter for image in edc.
+
+2012-09-04  Cedric Bail
+
+       * Report type of file when listing file used by an edc.
+
+2012-09-04  Jihoon Kim (jihoon)
+
+       * Add EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN.
+
+2012-09-04  Aharon Hillel
+
+       * Added nested parts support.
+       This lets us do nested parts, e.g parts "{ part { part { } } }"
+
+2012-09-05  ChunEon Park (Hermet)
+
+       * if user change image size of the image object which is swallowed and
+       it's map enabled by the edje, then edje needs to update it's uv mapping
+       info.
+
+2012-09-11  Cedric Bail
+
+       * O(1) lookup used when searching Part_Lookup in edje_cc.
+       * O(1) lookup when generating alias of group.
+       * O(1) access time for parameters in edje_cc_handler.
+       * Recycle and use less memory during load time.
+
+2012-09-11  Carsten Haitzler (The Rasterman)
+
+        * Improve memory footprint by cutting core edje real part
+        struct down by less than half its size and making some parts allocated
+        extra only if the type needs it.
+
+2012-09-12  Cedric Bail
+
+       * Small improvement in memory footprint by using an array instead of a list for
+       some callback list.
+
+2012-09-17  Cedric Bail
+
+       * Don't generate an annotate file if edje_cc failed.
+
+2012-09-17  Michael Bouchaud (yoz)
+
+        * fix group inheritance on a group who have a script with global
+        varable.
+        * fix group inheritance on a group who have some programs uses script
+
+2012-09-20  David Seikel (onefang)
+
+       * Lua: Lua 5.2 support added.
+
+2012-09-21  Flavio Ceolin
+
+       * edje_codegen: added support for externals
+
+2012-09-27  Michael Bouchaud (yoz)
+
+        * fix scale_set in sub group
+
+2012-09-27  Flavio Ceolin
+
+       * edje_codegen: adding support for draggable
+
+2012-10-10
+
+       * edje_entry: Add more tags(preedit_sub1~4) for a variety of preediting states.
+
+2012-10-21 Daniel Zaoui
+
+       * Edje: change Edje to use Eo.
+       This change adds Eo support to Edje while keeping the old API intact.
+       For more information, go to Eo.
+
+2012-10-26  Michael Bouchaud (yoz)
+
+        * fix edje_object_scale_set with edje containing boxes and/or tables
+
+2012-10-31  Carsten Haitzler (The Rasterman)
+
+        * Fix edje_cc to use max compression, not default compression.
+
+2012-10-31  ChunEon Park (Hermet)
+
+        * Fix to update the text classes when text classes are changed.
+
+2012-11-02  ChunEon Park (Hermet)
+
+        * Fix to not update map uv for proxy
+
+2012-11-15  Daniel Willmann
+
+        * Add embryo function get_image_id
+
+2012-11-23  Bruno Dilly
+
+        * Support message sending on edje player.
+
+2012-11-23  Eduardo Lima (Etrunko)
+
+        * Add embryo function get_program_id
+
+2012-12-05  Robert David
+
+       * Fix Solaris 11 build.
+
+2012-12-05  Tae-Hwan Kim (Bluezery)
+
+       * Fix inheriting gorups with programs that have after programs where
+        after programs are duplicated in the list.
+
+2012-12-12  Cedric Bail
+
+       * Use Evas to compute Ellipsis.
+
+2012-12-13  Jihoon Kim
+
+       * Return plain text in retrive surrounding text callback of entry
+
+2012-12-13  Bruno Dilly
+
+        * Support physics.
+
+2012-12-18  Jihoon Kim
+
+       * ecore_imf cursor infomation update is not necessary in focus-out event
+
+2012-12-18  WooHyun Jung
+
+       * Before cursor is moved by mouse_down, imf_context_reset should be called with current cursor position.
diff --git a/old/NEWS.edje b/old/NEWS.edje
new file mode 100644 (file)
index 0000000..6848d3a
--- /dev/null
@@ -0,0 +1,202 @@
+Edje 1.8.0
+
+Changes since Edje 1.7.0:
+-------------------------
+
+Additions:
+    * Report type of file when listing file used by an edc.
+    * Add nested parts support.
+    * Add EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN
+    * Add edje_codegen - A code generator to working with edje files.
+    * Add more tags(preedit_sub1~4) for a variety of preediting states.
+    * Add embryo function get_image_id
+    * edje_player slave mode supports sending messages.
+    * Add support to physics.
+
+Improvements:
+    * Change Edje to use Eo.
+    * Check the number of parameter for image in edc.
+    * Less memory used per part in an edje file (about 25% less).
+    * O(1) lookup used when searching Part_Lookup in edje_cc.
+    * O(1) lookup when generating alias of group.
+    * O(1) access time for parameters in edje_cc_handler.
+    * Recycle and use less memory during load time.
+    * Less memory used per callbacks.
+    * Don't generate an annotate file if edje_cc failed.
+    * Lua 5.2 support added, still works fine with 5.1.
+    * Evas now does compute Ellipsis.
+
+Fixes:
+    * fix scale_set with edje containing boxes and/or tables
+    * fix scale_set with edje containing groups
+    * fix edje_cc to use max, not default compression
+    * fix edje_text_class_set to update the text classes correctly.
+    * fix to not update map uv for proxy
+    * fix build on Solaris 11.
+    * fix duplicate after programs in group inheritance.
+    * fix return plain string in retrive surrounding text callback of entry
+    * Before cursor is moved by mouse_down, imf_context_reset should be called with current cursor position.
+
+Edje 1.7.0
+
+Changes since Edje 1.2.0:
+-------------------------
+
+Additions:
+    * Add edje_watch to monitore change on edje source.
+    * Emit ['edje,change,file', 'edje'] when the file change on disk.
+    * edje_player will automatically reload the file when it change on disk.
+    * Add SPACER part. This part are not putting anything into the canvas. So lighter and faster to
+    process (Use it to replace RECT part that are never visible and never catch any event).
+    * Add accessibility flags and API to retrieve the relevant part.
+    * Emit signal when flagged part size get to zero.
+    * Warn at compile time about forgotten image.
+    * Stop compilation when clipping to a non RECT part.
+
+Improvements:
+    * Allocate once and reuse Evas_Map.
+    * Make edje_cc faster by improving the parser, mapping file in memory and using threads.
+    * Made state index optional in EDC files and Embryo scripts.
+    * Improve speed of color_class lookup by using an Eina_Hash.
+
+Fixes:
+    * Add missing files in the tarballs.
+    * Prevent crash when running nested edje_object_signal_emit with edje_object_signal_callback_{add,del}.
+    * Do actually verify that the file on disk is different from the file we have loaded.
+    * Preserve user drag, box and table information during call of edje_object_file_set.
+    * Fix table and text when fixed point is turned on.
+    * Clamp image tween to never underflow also.
+    * [entry] display preedit string even though there is no attribute
+    * Fix shutdown of Edje_Multisense.
+    * Reduce potential reentrant issue when using edje_object_signal_emit.
+    * Call edje_object_message_signal_process also on GROUP part Edje object.
+    * Remove memory leak when alias are present in the edj file.
+    * Properly destroy color_class and text_class on an Edje_Object.
+    * Stop leaking memory on edje block error during signal emit.
+
+Edje 1.2.0
+
+Changes since Edje 1.1.0:
+-------------------------
+
+Additions:
+
+    * "recalc" smart callback for object size changes.
+    * EDJE_ASPECT_PREFER_SOURCE.
+    * edje.version() Lua function.
+    * minmul edc property.
+    * add min: SOURCE and max: SOURCE to IMAGE and GROUP parts.
+    * add broadcast_signal: bool.
+    * add edje_object_part_text_imf_context_get().
+    * add edje_object_update_hints_set() and edje_object_update_hints_get().
+    * nee keybindings in entry flr ctrl+arrows, ctrl+del and ctrl+backspace.
+    * cursor,changed,manual signal from entry.
+    * undo/redo in entry + IMF.
+    * HEX, TERMINAL, PASSOWORD vkbd types added.
+    * recalc smart callback for object size changes back to C.
+    * EDJE_ASPECT_PREFER_SOURCE.
+    * Lua: edje.version().
+    * minmul property.
+    * edje_object_part_text_style_user_set/get().
+    * min/max: SOURCE.
+    * edje_object_text_markup_filter_callback_add/del/del_full().
+    * edje_object_part_text_input_panel_show/hide().
+    * edje_object_part_text_imf_context_reset().
+    * edje_object_part_text_prediction_allow_set/get().
+    * add a way to disable signal broadcasting.
+    * edje_object_part_text_input_panel_language_set/get().
+    * edje_object_part_text_input_panel_imdata_set/get().
+    * edje_object_part_text_input_panel_return_key_type_set/get().
+    * edje_object_part_text_input_panel_return_key_disabled_set/get().
+    * edje_object_part_text_user_insert()
+    * double click in entry selects word, triple selects line.
+    * EDJE_VERSION_12 define in edc for #ifdefs handling edje 1.2 (or older)
+    * edje_object_part_text_escaped_set()
+
+Improvements:
+    * speedup load time of Edje file.
+    * check existence of group at compile time also.
+    * reduce number of call to stat during edje_object_file_set.
+    * unswallow object about to be swallowed if necessary.
+    * Lua scripts now more resilient against API changes.
+    * edje_cc only store the image actively used in an edje file.
+    * reduction in part walking.
+    * check group existence at edje_cc time.
+    * edje_object_part_text_cursor_content_get() prototype fixed.
+    * calling non-existant lua functions doesn't crash now.
+    * make it possible to update size hints automatically
+
+Fixes:
+    * Correctly count and propagate preload signal with GROUP.
+    * Fix rotation with fixed point.
+    * Correctly propagate scale factor to GROUP.
+    * Potential crash from buffer overflow copying map data.
+    * Limits detection by edje_cc.
+    * Errant free() call in loading of edje files.
+    * unswallow objects that are going to be swallowed elsewhere.
+    * ability to change edje source correctly inside edje callback.
+    * overriding group in edje_cc.
+    * filter now only valid once program affecting parts is done.
+    * edje_object_part_text_input_panel_enabled_set/get if IMF doesn't exist.
+    * EDJE_CALC_CACHE issues and when using relative to_x/y on separate parts.
+    * filter preventing any action being triggered.
+    * signal propagation when matching target GROUP exists.
+    * correctly count and propagate preload signal with GROUP
+    * rotation with fixed point
+    * propagate scale factor to GROUPS
+    * fix no number inserts even if numlock is locked
+
+Changes since Edje 1.0.0:
+-------------------------
+
+Additions:
+
+    * "UNDER" entry cursor mode
+    * auto alignment of TEXT parts with text.alignment set to -1
+    * mirroring support
+    * edje_object_part_text_cursor_pos_set/get()
+    * size_range propert to TEXT parts
+    * proxy parts so part can source other parts including swallows
+    * support explicit shadow direction with added effect param
+    * edje_object_part_text_append()
+    * new interpolations: ACCEL_FAC, DECEL_FAC, SIN_FAC, DIVIS, BOUNCE, SPRING
+    * "entry,paste,request,1" signal (primary)
+    * "entry,paste,request,3" signal (clipboard)
+    * "entry,selection,all,request" signal
+    * "entry,selection,none,request" signal
+    * "entry,paste,request*" signals afte cursor change
+    * "entry,changed,user" signal
+    * collection.group.limits.horizontal/vertical
+    * input panel layout setting API's
+    * edje_object_signal_callback_extra_data_get()
+    * group inheritance and part re-ordering with inheritance
+    * add change information to "entry,changed,user"
+    * add "CURRENT" option for transitions to transition from current state
+    * lua color/text class, map, text, image, line, polygon and edje object API's
+
+Fixes:
+
+    * invalid memory access in edje alias code
+    * recusive aliases fixed
+    * cursor didn't change on backspace signal
+    * propagation of recursive events on existing part
+    * box/table signal not including name correctly
+    * clicked signal on entry
+    * propagation of recursive events between existing and non-existing parts
+    * textblock handling in size_min_restricted_calc fixed
+    * stop emitting "cursor,changed" on text set
+    * external usage in sub groups now have proper parents
+    * ellipsis fixed with small text parts
+    * edje_shutdown() fixed if called before all edje objects are gone
+    * allow -1 for description.max
+
+Improvements:
+
+    * built-in epp (from e16) to replace cpp/gcc pre-processor on all platforms
+    * edje_decc only uses edje_cc as compiler for security paranoia
+    * use smart clipper more from evas
+    * text.align now works for textblock too
+    * creation/deletion of edje objects should be faster with freeze and thaws
+    * don't walk eina_list when deleting member classes - faster
+    * part.description.max now can define just 1 axis
+    * signal and message propagation is more consistent and simpler now
diff --git a/old/README.edje b/old/README.edje
new file mode 100644 (file)
index 0000000..8ce2e21
--- /dev/null
@@ -0,0 +1,42 @@
+Edje 1.7.99
+
+******************************************************************************
+
+ FOR ANY ISSUES PLEASE EMAIL:
+ enlightenment-devel@lists.sourceforge.net
+
+******************************************************************************
+
+Requirements:
+-------------
+
+Must:
+  libc
+  eet (at least 1.5.0)
+  ecore (at least 1.1.0)
+  ecore-evas (at least 1.1.0)
+  ecore-file (at least 1.1.0)
+  embryo (at least 1.1.0)
+  evas (at least 1.1.0)
+For audio support (disabled - you have to patch to enable):
+  remix - https://github.com/kfish/remix
+  libsndfile (at least 1.0.22)
+  libvorbis
+  libogg
+  libflac
+  libasound (alsa)
+
+Edje is a graphical layout and animation library for animated resizable,
+compressed and scalable themes. It is meant to abstract UI from the
+programmer to make it possible to plug in any replacement look at feel
+that can be generated any time after an application or library has
+already been developed, thus allowing full flexibility of look and
+feel without having to involve the software developers.
+
+------------------------------------------------------------------------------
+COMPILING AND INSTALLING:
+
+  ./configure
+  make
+(as root unless you are installing in your users directories):
+  make install
diff --git a/pc/edje.pc.in b/pc/edje.pc.in
new file mode 100644 (file)
index 0000000..c5a8764
--- /dev/null
@@ -0,0 +1,17 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+modules=@libdir@/edje/modules
+includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@/edje
+vmaj=@VMAJ@
+multisense=@want_multisense@
+
+Name: edje
+Description: Enlightened graphical design and layout engine.
+Requires.private: @requirements_pc_edje@
+Version: @VERSION@
+Libs: -L${libdir} -ledje
+Libs.private: @requirements_libs_edje@
+Cflags: -I${includedir}/edje-@VMAJ@
index e409af2ce4be0363f5728a013028ef9c76bd9a0f..20656081fcd6cea64df97539db77366f2d073950 100644 (file)
@@ -67,6 +67,7 @@ endif
 if HAVE_EPHYSICS
 include Makefile_EPhysics.am
 endif
+include Makefile_Edje.am
 
 .PHONY: benchmark examples
 
@@ -85,6 +86,7 @@ clean-local:
        rm -rf bin/eet/*.gcno
        rm -rf bin/efreet/*.gcno
        rm -rf bin/eeze/*.gcno
+       rm -rf bin/edje/*.gcno
        rm -rf lib/evil/*.gcno
        rm -rf lib/eina/*.gcno
        rm -rf lib/eo/*.gcno
@@ -103,6 +105,7 @@ clean-local:
        rm -rf lib/efreet/*.gcno
        rm -rf lib/eeze/*.gcno
        rm -rf lib/ephysics/*.gcno
+       rm -rf lib/edje/*.gcno
        rm -rf modules/eina/mp/pass_through/*.gcno
        rm -rf modules/eina/mp/one_big/*.gcno
        rm -rf modules/eina/mp/chained_pool/*.gcno
@@ -139,5 +142,8 @@ clean-local:
        rm -rf modules/evas/savers/jpeg/*.gcno
        rm -rf modules/evas/savers/png/*.gcno
        rm -rf modules/evas/savers/tiff/*.gcno
+       rm -rf modules/edje/alsa_snd_player/*.gcno
+       rm -rf modules/edje/eet_snd_reader/*.gcno
+       rm -rf modules/edje/multisense_factory/*.gcno
        rm -rf static_libs/liblinebreak/*.gcno
        rm -rf static_libs/lz4/*.gcno
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
new file mode 100644 (file)
index 0000000..952554d
--- /dev/null
@@ -0,0 +1,255 @@
+
+### Library
+
+lib_LTLIBRARIES += lib/edje/libedje.la
+
+EDJE_COMMON_CPPFLAGS = \
+-I$(top_srcdir) \
+-I$(top_srcdir)/src/lib/eina \
+-I$(top_builddir)/src/lib/eina \
+-I$(top_srcdir)/src/lib/eo \
+-I$(top_builddir)/src/lib/eo \
+-I$(top_srcdir)/src/lib/eet \
+-I$(top_builddir)/src/lib/eet \
+-I$(top_srcdir)/src/lib/evas \
+-I$(top_builddir)/src/lib/evas \
+-I$(top_srcdir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_file \
+-I$(top_builddir)/src/lib/ecore_file \
+-I$(top_srcdir)/src/lib/ecore_input \
+-I$(top_builddir)/src/lib/ecore_input \
+-I$(top_srcdir)/src/lib/ecore_imf \
+-I$(top_builddir)/src/lib/ecore_imf \
+-I$(top_srcdir)/src/lib/embryo \
+-I$(top_builddir)/src/lib/embryo \
+-I$(top_srcdir)/src/lib/eio \
+-I$(top_builddir)/src/lib/eio \
+-I$(top_srcdir)/src/lib/ephysics \
+-I$(top_builddir)/src/lib/ephysics \
+-I$(top_srcdir)/src/lib/edje \
+-I$(top_builddir)/src/lib/edje \
+-DPACKAGE_BIN_DIR=\"$(bindir)\" \
+-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)/edje\" \
+-DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)\" \
+-DEFL_EDJE_BUILD \
+@EFL_COV_CFLAGS@ \
+@EDJE_CFLAGS@ \
+@USE_EVIL_CFLAGS@
+
+EDJE_COMMON_LIBS = \
+lib/eina/libeina.la \
+lib/eo/libeo.la \
+lib/eet/libeet.la \
+lib/evas/libevas.la \
+lib/ecore/libecore.la \
+lib/ecore_evas/libecore_evas.la \
+lib/ecore_file/libecore_file.la \
+lib/ecore_input/libecore_input.la \
+lib/ecore_imf/libecore_imf.la \
+lib/ecore_imf/libecore_imf_evas.la \
+lib/embryo/libembryo.la \
+lib/eio/libeio.la \
+@USE_EVIL_LIBS@ \
+@EFL_COV_LIBS@
+
+if HAVE_EPHYSICS
+EDJE_COMMON_LIBS += lib/ephysics/libephysics.la
+endif
+
+installed_edjemainheadersdir = $(includedir)/edje-@VMAJ@
+dist_installed_edjemainheaders_DATA = \
+lib/edje/Edje.h \
+lib/edje/Edje_Edit.h
+
+lib_edje_libedje_la_SOURCES = \
+lib/edje/edje_private.h \
+lib/edje/edje_container.h \
+lib/edje/edje_convert.h \
+lib/edje/edje_box_layout.c \
+lib/edje/edje_cache.c \
+lib/edje/edje_calc.c \
+lib/edje/edje_callbacks.c \
+lib/edje/edje_container.c \
+lib/edje/edje_data.c \
+lib/edje/edje_edit.c \
+lib/edje/edje_embryo.c \
+lib/edje/edje_entry.c \
+lib/edje/edje_external.c \
+lib/edje/edje_load.c \
+lib/edje/edje_lua.c \
+lib/edje/edje_lua2.c \
+lib/edje/edje_lua_script_only.c \
+lib/edje/edje_main.c \
+lib/edje/edje_match.c \
+lib/edje/edje_message_queue.c \
+lib/edje/edje_misc.c \
+lib/edje/edje_module.c \
+lib/edje/edje_multisense.c \
+lib/edje/edje_program.c \
+lib/edje/edje_script_only.c \
+lib/edje/edje_smart.c \
+lib/edje/edje_text.c \
+lib/edje/edje_textblock_styles.c \
+lib/edje/edje_util.c \
+lib/edje/edje_var.c
+
+lib_edje_libedje_la_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+lib_edje_libedje_la_LIBADD = $(EDJE_COMMON_LIBS) @EDJE_LIBS@
+lib_edje_libedje_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
+
+if ENABLE_MULTISENSE
+# edjemoduleXXXdir = $(libdir)/edje/modules/
+# edjemoduleXXX_LTLIBRARIES = modules/edje/XXX/module.la
+#
+# modules_edje_XXX_module_la_SOURCES = modules/edje/XXX/XXX.c
+# modules_edje_XXX_module_la_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS) @XXX_LIBS@
+# modules_edje_XXX_module_la_LIBADD = $(EDJE_COMMON_USER_LIBADD)
+# modules_edje_XXX_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
+# modules_edje_XXX_module_la_LIBTOOLFLAGS = --tag=disable-static
+
+# edjemodulemultisensefactorydir = $(libdir)/edje/modules/multisense_factory/$(MODULE_ARCH)
+# edjemodulemultisensefactory_LTLIBRARIES = modules/edje/multisense_factory/module.la
+#
+# modules_edje_multisense_factory_module_la_SOURCES = \
+# modules/edje/multisense_factory/multisense_factory.c
+# modules_edje_multisense_factory_module_la_CPPFLAGS = \
+# $(EDJE_COMMON_CPPFLAGS) \
+# @REMIX_CFLAGS@
+# modules_edje_multisense_factory_module_la_LIBADD = \
+# $(EDJE_COMMON_USER_LIBADD) \
+# @REMIX_LIBS@
+# modules_edje_multisense_factory_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
+# modules_edje_multisense_factory_module_la_LIBTOOLFLAGS = --tag=disable-static
+
+endif
+
+### Binary
+
+EDJE_COMMON_USER_LDADD = \
+$(EDJE_COMMON_LIBS) \
+lib/edje/libedje.la \
+@EDJE_LDFLAGS@
+
+bin_PROGRAMS += \
+bin/edje/edje_cc \
+bin/edje/edje_decc \
+bin/edje/edje_player \
+bin/edje/edje_inspector \
+bin/edje/edje_external_inspector \
+bin/edje/edje_codegen \
+bin/edje/edje_pick \
+bin/edje/edje_watch
+
+bin_edje_edje_cc_SOURCES = \
+bin/edje/edje_multisense_convert.h \
+bin/edje/edje_cc.h \
+bin/edje/edje_cc.c \
+bin/edje/edje_cc_out.c \
+bin/edje/edje_cc_parse.c \
+bin/edje/edje_cc_mem.c \
+bin/edje/edje_cc_handlers.c \
+bin/edje/edje_cc_sources.c \
+bin/edje/edje_multisense_convert.c
+bin_edje_edje_cc_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_cc_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_decc_SOURCES = \
+bin/edje/edje_decc.c \
+bin/edje/edje_decc.h \
+bin/edje/edje_cc_mem.c \
+bin/edje/edje_cc_sources.c
+bin_edje_edje_decc_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_decc_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_player_SOURCES = bin/edje/edje_player.c
+bin_edje_edje_player_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_player_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_inspector_SOURCES = bin/edje/edje_inspector.c
+bin_edje_edje_inspector_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_inspector_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_external_inspector_SOURCES = bin/edje/edje_external_inspector.c
+bin_edje_edje_external_inspector_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_external_inspector_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_codegen_SOURCES = bin/edje/edje_codegen.c
+bin_edje_edje_codegen_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_codegen_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_pick_SOURCES = bin/edje/edje_pick.c
+bin_edje_edje_pick_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_pick_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+bin_edje_edje_watch_SOURCES = bin/edje/edje_watch.c
+bin_edje_edje_watch_CPPFLAGS = $(EDJE_COMMON_CPPFLAGS)
+bin_edje_edje_watch_LDADD = $(EDJE_COMMON_USER_LDADD)
+
+# EPP (Edje's CPP)
+eppdir = $(libdir)/edje/utils
+epp_PROGRAMS = bin/edje/epp/epp
+bin_edje_epp_epp_SOURCES = \
+bin/edje/epp/cpplib.h \
+bin/edje/epp/cpphash.h \
+bin/edje/epp/cppalloc.c \
+bin/edje/epp/cpperror.c \
+bin/edje/epp/cppexp.c \
+bin/edje/epp/cpphash.c \
+bin/edje/epp/cpplib.c \
+bin/edje/epp/cppmain.c
+
+# Note: eina is included only because of EINA_UNUSED
+bin_edje_epp_epp_CPPFLAGS = \
+-I$(top_builddir) \
+-I$(top_srcdir)/src/lib/eina \
+-I$(top_builddir)/src/lib/eina \
+$(CWARNFLAGS) \
+-DHAVE_CONFIG_H \
+-DHAVE_STRERROR \
+-DFATAL_EXIT_CODE=1 \
+-DSUCCESS_EXIT_CODE=0 \
+-DGCC_INCLUDE_DIR=\"/usr/include\" \
+-DGPLUSPLUS_INCLUDE_DIR=\"/usr/include\" \
+-DTOOL_INCLUDE_DIR=\"/usr/bin\" \
+-DHOST_BITS_PER_LONG=32 \
+-DBITS_PER_UNIT=8 \
+-DHOST_BITS_PER_INT=32 \
+-DBITS_PER_WORD=16 \
+-DTARGET_BELL=7 \
+-DTARGET_BS=8 \
+-DTARGET_FF=12 \
+-DTARGET_NEWLINE=10 \
+-DTARGET_CR=13 \
+-DTARGET_TAB=9 \
+-DTARGET_VT=11
+
+# TODO: why keep these?
+EXTRA_DIST += \
+bin/edje/edje_convert.h \
+bin/edje/edje_convert.c \
+bin/edje/edje_data_convert.c
+
+### Unit tests
+
+if EFL_ENABLE_TESTS
+
+check_PROGRAMS += tests/edje/edje_suite
+
+tests_edje_edje_suite_SOURCES = \
+tests/edje/edje_suite.c \
+tests/edje/edje_test_edje.c \
+tests/edje/edje_suite.h
+
+tests_edje_edje_suite_CPPFLAGS = \
+$(EDJE_COMMON_CPPFLAGS) \
+@CHECK_CFLAGS@
+
+tests_edje_edje_suite_LDADD = \
+$(EDJE_COMMON_USER_LDADD) \
+@CHECK_LIBS@
+
+endif
index f5bb307ea9e7d32046606c7ba50264e8dbf40ca6..77c0123cc38da1e83f1e4a93a2a9e730e751b741 100644 (file)
@@ -60,6 +60,7 @@ bin_embryo_embryo_cc_CPPFLAGS = \
 -DPACKAGE_BIN_DIR=\"$(bindir)\" \
 -DPACKAGE_LIB_DIR=\"$(libdir)\" \
 -DPACKAGE_DATA_DIR=\"$(datadir)/embryo\" \
+-DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)\" \
 @EMBRYO_CFLAGS@ \
 @USE_EVIL_CFLAGS@
 
diff --git a/src/bin/edje/edje_cc.c b/src/bin/edje/edje_cc.c
new file mode 100644 (file)
index 0000000..6d89890
--- /dev/null
@@ -0,0 +1,340 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <locale.h>
+#include <limits.h>
+#include <sys/stat.h>
+
+#include "edje_cc.h"
+int _edje_cc_log_dom = -1;
+static void main_help(void);
+
+Eina_Prefix  *pfx = NULL;
+Eina_List *snd_dirs = NULL;
+Eina_List *img_dirs = NULL;
+Eina_List *fnt_dirs = NULL;
+Eina_List *defines = NULL;
+char      *file_in = NULL;
+char      *tmp_dir = NULL;
+char      *file_out = NULL;
+char      *watchfile = NULL;
+
+static const char *progname = NULL;
+
+int        no_lossy = 0;
+int        no_comp = 0;
+int        no_raw = 0;
+int        no_save = 0;
+int        min_quality = 0;
+int        max_quality = 100;
+int        compress_mode = EET_COMPRESSION_HI;
+int        threads = 0;
+int       anotate = 0;
+
+static void
+_edje_cc_log_cb(const Eina_Log_Domain *d,
+                Eina_Log_Level level,
+                const char *file,
+                const char *fnc,
+                int fline,
+                const char *fmt,
+                EINA_UNUSED void *data,
+                va_list args)
+{
+   if ((d->name) && (d->namelen == sizeof("edje_cc") - 1) &&
+       (memcmp(d->name, "edje_cc", sizeof("edje_cc") - 1) == 0))
+     {
+        const char *prefix;
+
+        eina_log_console_color_set(stderr, eina_log_level_color_get(level));
+        switch (level)
+          {
+           case EINA_LOG_LEVEL_CRITICAL:
+              prefix = "Critical. ";
+              break;
+           case EINA_LOG_LEVEL_ERR:
+              prefix = "Error. ";
+              break;
+           case EINA_LOG_LEVEL_WARN:
+              prefix = "Warning. ";
+              break;
+           default:
+              prefix = "";
+          }
+        fprintf(stderr, "%s: %s", progname, prefix);
+        eina_log_console_color_set(stderr, EINA_COLOR_RESET);
+
+        vfprintf(stderr, fmt, args);
+        putc('\n', stderr);
+     }
+   else
+     eina_log_print_cb_stderr(d, level, file, fnc, fline, fmt, NULL, args);
+}
+
+static void
+main_help(void)
+{
+   printf
+     ("Usage:\n"
+      "\t%s [OPTIONS] input_file.edc [output_file.edj]\n"
+      "\n"
+      "Where OPTIONS is one or more of:\n"
+      "\n"
+      "-w files.txt             Dump all sources files path into files.txt\n"
+      "-anotate                 Anotate the dumped files.\n"
+      "-id image/directory      Add a directory to look in for relative path images\n"
+      "-fd font/directory       Add a directory to look in for relative path fonts\n"
+      "-sd sound/directory      Add a directory to look in for relative path sounds samples\n"
+      "-td temp/directory       Directory to store temporary files\n"
+      "-v                       Verbose output\n"
+      "-no-lossy                Do NOT allow images to be lossy\n"
+      "-no-comp                 Do NOT allow images to be stored with lossless compression\n"
+      "-no-raw                  Do NOT allow images to be stored with zero compression (raw)\n"
+      "-no-save                 Do NOT store the input EDC file in the EDJ file\n"
+      "-min-quality VAL         Do NOT allow lossy images with quality < VAL (0-100)\n"
+      "-max-quality VAL         Do NOT allow lossy images with quality > VAL (0-100)\n"
+      "-Ddefine_val=to          CPP style define to define input macro definitions to the .edc source\n"
+      "-fastcomp                Use a faster compression algorithm (LZ4) (mutually exclusive with -fastdecomp)\n"
+      "-fastdecomp              Use a faster decompression algorithm (LZ4HC) (mutually exclusive with -fastcomp)\n"
+      "-threads                 Compile the edje file using multiple parallel threads (by default)\n"
+      "-nothreads               Compile the edje file using only the main loop\n"
+      ,progname);
+}
+
+int
+main(int argc, char **argv)
+{
+   int i;
+   struct stat st;
+   char rpath[PATH_MAX], rpath2[PATH_MAX];
+
+   setlocale(LC_NUMERIC, "C");
+
+   if (!eina_init())
+     return -1;
+
+   _edje_cc_log_dom = eina_log_domain_register
+     ("edje_cc", EDJE_CC_DEFAULT_LOG_COLOR);
+   if (_edje_cc_log_dom < 0)
+     {
+       EINA_LOG_ERR("Enable to create a log domain.");
+       exit(-1);
+     }
+   if (!eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_WARN))
+     eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_WARN);
+
+   progname = ecore_file_file_get(argv[0]);
+   eina_log_print_cb_set(_edje_cc_log_cb, NULL);
+
+   tmp_dir = getenv("TMPDIR");
+
+   img_dirs = eina_list_append(img_dirs, ".");
+   
+   /* add defines to epp so edc files can detect edje_cc version */
+   defines = eina_list_append(defines, mem_strdup("-DEDJE_VERSION_12=12"));
+
+   for (i = 1; i < argc; i++)
+     {
+       if (!strcmp(argv[i], "-h"))
+         {
+            main_help();
+            exit(0);
+         }
+       else if (!strcmp(argv[i], "-v"))
+         {
+            eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_INFO);
+         }
+       else if (!strcmp(argv[i], "-no-lossy"))
+         {
+            no_lossy = 1;
+         }
+       else if (!strcmp(argv[i], "-no-comp"))
+         {
+            no_comp = 1;
+         }
+       else if (!strcmp(argv[i], "-no-raw"))
+         {
+            no_raw = 1;
+         }
+       else if (!strcmp(argv[i], "-no-save"))
+         {
+            no_save = 1;
+         }
+       else if ((!strcmp(argv[i], "-id") || !strcmp(argv[i], "--image_dir")) && (i < (argc - 1)))
+         {
+            i++;
+            img_dirs = eina_list_append(img_dirs, argv[i]);
+         }
+       else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1)))
+         {
+            i++;
+            fnt_dirs = eina_list_append(fnt_dirs, argv[i]);
+         }
+        else if ((!strcmp(argv[i], "-sd") || !strcmp(argv[i], "--sound_dir")) && (i < (argc - 1)))
+          {
+             i++;
+             snd_dirs = eina_list_append(snd_dirs, argv[i]);
+          }
+       else if ((!strcmp(argv[i], "-td") || !strcmp(argv[i], "--tmp_dir")) && (i < (argc - 1)))
+         {
+            i++;
+             if (!tmp_dir)
+               tmp_dir = argv[i];
+         }
+       else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1)))
+         {
+            i++;
+            min_quality = atoi(argv[i]);
+            if (min_quality < 0) min_quality = 0;
+            if (min_quality > 100) min_quality = 100;
+         }
+       else if ((!strcmp(argv[i], "-max-quality")) && (i < (argc - 1)))
+         {
+            i++;
+            max_quality = atoi(argv[i]);
+            if (max_quality < 0) max_quality = 0;
+            if (max_quality > 100) max_quality = 100;
+         }
+       else if (!strcmp(argv[i], "-fastcomp"))
+         {
+             compress_mode = EET_COMPRESSION_SUPERFAST;
+         }
+       else if (!strcmp(argv[i], "-fastdecomp"))
+         {
+             compress_mode = EET_COMPRESSION_VERYFAST;
+         }
+       else if (!strcmp(argv[i], "-threads"))
+         {
+             threads = 1;
+         }
+       else if (!strcmp(argv[i], "-nothreads"))
+         {
+             threads = 0;
+         }
+       else if (!strncmp(argv[i], "-D", 2))
+         {
+            defines = eina_list_append(defines, mem_strdup(argv[i]));
+         }
+       else if ((!strcmp(argv[i], "-o")) && (i < (argc - 1)))
+         {
+            i++;
+            file_out = argv[i];
+         }
+       else if ((!strcmp(argv[i], "-w")) && (i < (argc - 1)))
+         {
+             i++;
+             watchfile = argv[i];
+             unlink(watchfile);
+         }
+       else if (!strcmp(argv[i], "-anotate"))
+         {
+             anotate = 1;
+          }
+       else if (!file_in)
+         file_in = argv[i];
+       else if (!file_out)
+         file_out = argv[i];
+     }
+
+   if (!file_in)
+     {
+       ERR("no input file specified.");
+       main_help();
+       exit(-1);
+     }
+
+   
+
+   pfx = eina_prefix_new(argv[0],            /* argv[0] value (optional) */
+                         main,               /* an optional symbol to check path of */
+                         "EDJE",             /* env var prefix to use (XXX_PREFIX, XXX_BIN_DIR etc. */
+                         "edje",             /* dir to add after "share" (PREFIX/share/DIRNAME) */
+                         "include/edje.inc", /* a magic file to check for in PREFIX/share/DIRNAME for success */
+                         PACKAGE_BIN_DIR,    /* package bin dir @ compile time */
+                         PACKAGE_LIB_DIR,    /* package lib dir @ compile time */
+                         PACKAGE_DATA_DIR,   /* package data dir @ compile time */
+                         PACKAGE_DATA_DIR    /* if locale needed  use LOCALE_DIR */
+                        );
+
+   /* check whether file_in exists */
+#ifdef HAVE_REALPATH
+   if (!realpath(file_in, rpath) || stat(rpath, &st) || !S_ISREG(st.st_mode))
+#else
+   if (stat(file_in, &st) || !S_ISREG(st.st_mode))
+#endif
+     {
+       ERR("file not found: %s.", file_in);
+       main_help();
+       exit(-1);
+     }
+
+   if (!file_out)
+      {
+         char *suffix;
+
+         if ((suffix = strstr(file_in,".edc")) && (suffix[4] == 0))
+            {
+               file_out = strdup(file_in);
+               if (file_out)
+                  {
+                     suffix = strstr(file_out,".edc");
+                     strcpy(suffix,".edj");
+                  }
+            }
+      }
+   if (!file_out)
+     {
+       ERR("no output file specified.");
+       main_help();
+       exit(-1);
+     }
+
+#ifdef HAVE_REALPATH
+   if (realpath(file_out, rpath2) && !strcmp (rpath, rpath2))
+#else
+   if (!strcmp (file_in, file_out))
+#endif
+     {
+       ERR("input file equals output file.");
+       main_help();
+       exit(-1);
+     }
+
+   using_file(file_in, 'E');
+   if (anotate) using_file(file_out, 'O');
+
+   if (!edje_init())
+     exit(-1);
+
+   edje_file = mem_alloc(SZ(Edje_File));
+   edje_file->compiler = strdup("edje_cc");
+   edje_file->version = EDJE_FILE_VERSION;
+   edje_file->minor = EDJE_FILE_MINOR;
+   edje_file->feature_ver = 1; /* increment this every time we add a field
+                               * or feature to the edje file format that
+                               * does not load nicely as a NULL or 0 value
+                               * and needs a special fallback initialization
+                               */
+
+   source_edd();
+   source_fetch();
+
+   data_setup();
+   compile();
+   reorder_parts();
+   data_process_scripts();
+   data_process_lookups();
+   data_process_script_lookups();
+   data_write();
+
+   eina_prefix_free(pfx);
+   pfx = NULL;
+   
+   edje_shutdown();
+   eina_log_domain_unregister(_edje_cc_log_dom);
+   eina_shutdown();
+
+   return 0;
+}
diff --git a/src/bin/edje/edje_cc.h b/src/bin/edje/edje_cc.h
new file mode 100644 (file)
index 0000000..49c0bc4
--- /dev/null
@@ -0,0 +1,243 @@
+#ifndef EDJE_CC_H
+#define EDJE_CC_H
+
+#include <edje_private.h>
+
+extern Eina_Prefix *pfx;
+
+/*
+ * On Windows, if the file is not opened in binary mode,
+ * read does not return the correct size, because of
+ * CR / LF translation.
+ */
+#ifndef O_BINARY
+# define O_BINARY 0
+#endif
+
+/* logging variables */
+extern int _edje_cc_log_dom ;
+#define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
+
+#ifdef ERR
+# undef ERR
+#endif
+#define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef INF
+# undef INF
+#endif
+#define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef WRN
+# undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef CRIT
+# undef CRIT
+#endif
+#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef DBG
+# undef DBG
+#endif
+#define DBG(...) EINA_LOG_DOM_DBG(_edje_cc_log_dom, __VA_ARGS__)
+
+/* types */
+typedef struct _New_Object_Handler    New_Object_Handler;
+typedef struct _New_Statement_Handler New_Statement_Handler;
+typedef struct _New_Nested_Handler    New_Nested_Handler;
+typedef struct _External_List         External_List;
+typedef struct _External              External;
+typedef struct _Code                  Code;
+typedef struct _Code_Program          Code_Program;
+typedef struct _SrcFile               SrcFile;
+typedef struct _SrcFile_List          SrcFile_List;
+
+typedef struct _Edje_Program_Parser                  Edje_Program_Parser;
+typedef struct _Edje_Pack_Element_Parser             Edje_Pack_Element_Parser;
+typedef struct _Edje_Part_Parser                     Edje_Part_Parser;
+
+struct _New_Object_Handler
+{
+   const char *type;
+   void (*func)(void);
+};
+
+struct _New_Statement_Handler
+{
+   const char *type;
+   void (*func)(void);
+};
+
+struct _New_Nested_Handler
+{
+   const char *type;
+   const char *token;
+   void (*func_push)(void);
+   void (*func_pop)(void);
+};
+
+struct _External_List
+{
+   Eina_List *list;
+};
+
+struct _External
+{
+    char *name;
+};
+
+struct _Code
+{
+   int       l1, l2;
+   char      *shared;
+   char      *original;
+   Eina_List *programs;
+   int         is_lua;
+};
+
+struct _Code_Program
+{
+   int        l1, l2;
+   int        id;
+   char      *script;
+   char      *original;
+};
+
+struct _SrcFile
+{
+   char *name;
+   char *file;
+};
+
+struct _SrcFile_List
+{
+   Eina_List *list;
+};
+
+struct _Edje_Program_Parser
+{
+   Edje_Program common;
+   Eina_Bool can_override;
+};
+
+struct _Edje_Pack_Element_Parser
+{
+   Edje_Pack_Element common;
+   Eina_Bool can_override;
+};
+
+struct _Edje_Part_Parser
+{
+   Edje_Part common;
+   struct {
+      Eina_Bool           done;
+      const char         *insert_before; /* the part name for insertion in front of */
+      const char         *insert_after; /* the part name for insertion behind of */
+      Edje_Part_Parser   *before;
+      Edje_Part_Parser   *after;
+      int                 linked_prev; /* the number linked previous part for reorder */
+      int                 linked_next; /* the number linked next part for reorder */
+   } reorder;
+   Eina_Bool can_override;
+};
+
+/* global fn calls */
+void    data_setup(void);
+void    data_write(void);
+void    data_queue_face_group_lookup(const char *name);
+void    data_queue_group_lookup(const char *name, Edje_Part *part);
+void    data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
+void    data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest);
+void    data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest);
+void    data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest);
+void    data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
+void    data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
+void    data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
+void    data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
+void    data_queue_image_remove(int *dest, Eina_Bool *set);
+void    data_queue_part_slave_lookup(int *master, int *slave);
+void    data_queue_image_slave_lookup(int *master, int *slave);
+void    data_queue_spectrum_lookup(char *name, int *dest);
+void    data_queue_spectrum_slave_lookup(int *master, int *slave);
+void    data_process_lookups(void);
+void    data_process_scripts(void);
+void    data_process_script_lookups(void);
+
+void    part_description_image_cleanup(Edje_Part *ep);
+
+int     is_verbatim(void);
+void    track_verbatim(int on);
+void    set_verbatim(char *s, int l1, int l2);
+char   *get_verbatim(void);
+int     get_verbatim_line1(void);
+int     get_verbatim_line2(void);
+void    compile(void);
+int     is_param(int n);
+int     is_num(int n);
+char   *parse_str(int n);
+int     parse_enum(int n, ...);
+int     parse_flags(int n, ...);
+int     parse_int(int n);
+int     parse_int_range(int n, int f, int t);
+int     parse_bool(int n);
+double  parse_float(int n);
+double  parse_float_range(int n, double f, double t);
+int     get_arg_count(void);
+void    check_arg_count(int n);
+void    check_min_arg_count(int n);
+
+int     object_handler_num(void);
+int     statement_handler_num(void);
+int     nested_handler_num(void);
+
+void    reorder_parts(void);
+void    source_edd(void);
+void    source_fetch(void);
+int     source_append(Eet_File *ef);
+SrcFile_List *source_load(Eet_File *ef);
+int     source_fontmap_save(Eet_File *ef, Eina_List *fonts);
+Edje_Font_List *source_fontmap_load(Eet_File *ef);
+
+void   *mem_alloc(size_t size);
+char   *mem_strdup(const char *s);
+#define SZ sizeof
+
+void    using_file(const char *filename, const char type);
+
+void    error_and_abort(Eet_File *ef, const char *fmt, ...);
+
+
+void edje_cc_handlers_hierarchy_alloc(void);
+void edje_cc_handlers_hierarchy_free(void);
+
+/* global vars */
+extern Eina_List             *ext_dirs;
+extern Eina_List             *img_dirs;
+extern Eina_List             *fnt_dirs;
+extern Eina_List             *snd_dirs;
+extern char                  *file_in;
+extern char                  *tmp_dir;
+extern char                  *file_out;
+extern char                  *watchfile;
+extern int                    no_lossy;
+extern int                    no_comp;
+extern int                    no_raw;
+extern int                    no_save;
+extern int                    min_quality;
+extern int                    max_quality;
+extern int                    line;
+extern Eina_List             *stack;
+extern Edje_File             *edje_file;
+extern Eina_List             *edje_collections;
+extern Eina_Hash             *edje_collections_lookup;
+extern Eina_List             *externals;
+extern Eina_List             *fonts;
+extern Eina_List             *codes;
+extern Eina_List             *defines;
+extern Eina_List             *aliases;
+extern New_Object_Handler     object_handlers[];
+extern New_Statement_Handler  statement_handlers[];
+extern New_Nested_Handler     nested_handlers[];
+extern int                    compress_mode;
+extern int                    threads;
+extern int                   anotate;
+
+#endif
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
new file mode 100644 (file)
index 0000000..4a007c6
--- /dev/null
@@ -0,0 +1,9386 @@
+/*
+    Concerning the EDC reference:
+
+    The formatting for blocks and properties has been implemented as a table
+    which is filled using ALIASES.
+    For maximum flexibility I implemented them in the \@code/\@encode style,
+    this means that missing one or changing the order most certainly cause
+    formatting errors.
+
+    \@block
+        block name
+    \@context
+        code sample of the block
+    \@description
+        the block's description
+    \@endblock
+
+    \@property
+        property name
+    \@parameters
+        property's parameter list
+    \@effect
+        the property description (lol)
+    \@endproperty
+*/
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#include "edje_cc.h"
+
+/**
+ * @page edcref Edje Data Collection reference
+ * An Edje Data Collection, it's a plain text file (normally identified with the
+ * .edc extension), consisting of instructions for the Edje Compiler.
+ *
+ * The syntax for the edje data collection files follows a simple structure of
+ * "blocks { .. }" that can contain "properties: ..", more blocks, or both.
+ *
+ * @anchor sec_quickaccess Quick access to block descriptions:
+ * <ul>
+ *    <li>@ref sec_toplevel "Top-Level"</li>
+ *    <ul>
+ *      <li>@ref sec_toplevel_externals "Externals"</li>
+ *      <li>@ref sec_toplevel_images "Images"</li>
+ *      <ul>
+ *        <li>@ref sec_toplevel_images_set "Set"</li>
+ *        <ul>
+ *          <li>@ref sec_toplevel_images_image "Image"</li>
+ *        </ul>
+ *      </ul>
+ *      <li>@ref sec_toplevel_fonts "Fonts"</li>
+ *      <li>@ref sec_toplevel_data "Data"</li>
+ *      <li>@ref sec_toplevel_color_classes "Color Classes"</li>
+ *      <li>@ref sec_toplevel_styles "Styles"</li>
+ *    </ul>
+ *    <li>@ref sec_collections "Collections"</li>
+ *    <ul>
+ *      <li>@ref sec_collections_sounds "Sounds"</li>
+ *      <ul>
+ *        <li>@ref sec_collections_sounds_sample "Sample"</li>
+ *      </ul>
+ *      <li>@ref sec_collections_group "Group"</li>
+ *      <ul>
+ *        <li>@ref sec_collections_group_script "Script"</li>
+ *        <li>@ref sec_collections_group_limits "Limits"</li>
+ *        <li>@ref sec_toplevel_data "Data"</li>
+ *        <li>@ref sec_collections_group_parts "Parts"</li>
+ *        <ul>
+ *          <li>@ref sec_collections_group_parts_part "Part"</li>
+ *          <ul>
+ *            <li>@ref sec_collections_group_parts_dragable "Dragable"</li>
+ *            <li>@ref sec_collections_group_parts_items "Items"</li>
+ *            <li>@ref sec_collections_group_parts_description "Description"</li>
+ *            <ul>
+ *              <li>@ref sec_collections_group_parts_description_relatives "Relatives (rel1/rel2)"</li>
+ *              <li>@ref sec_collections_group_parts_description_image "Image"</li>
+ *              <ul>
+ *                <li>@ref sec_collections_group_parts_description_image_fill "Fill"</li>
+ *                <ul>
+ *                  <li>@ref sec_collections_group_parts_description_image_fill_origin "Origin"</li>
+ *                  <li>@ref sec_collections_group_parts_description_image_fill_size "Size"</li>
+ *                </ul>
+ *              </ul>
+ *              <li>@ref sec_collections_group_parts_description_text "Text"</li>
+ *              <li>@ref sec_collections_group_parts_description_box "Box"</li>
+ *              <ul>
+ *                <li>@ref sec_collections_group_parts_items "Items"</li>
+ *              </ul>
+ *              <li>@ref sec_collections_group_parts_description_table "Table"</li>
+ *              <li>@ref sec_collections_group_parts_description_physics "Physics"</li>
+ *              <ul>
+ *                  <li>@ref sec_collections_group_parts_description_physics_movement_freedom "Movement Freedom"</li>
+ *                  <li>@ref sec_collections_group_parts_description_physics_faces "Faces"</li>
+ *              </ul>
+ *              <li>@ref sec_collections_group_parts_description_map "Map (3d/transformations)"</li>
+ *              <ul>
+ *                <li>@ref sec_collections_group_parts_description_map_rotation "Rotation"</li>
+ *              </ul>
+ *              <li>@ref sec_collections_group_parts_description_perspective "Perspective"</li>
+ *              <li>@ref sec_collections_group_parts_descriptions_params "Params"</li>
+ *            </ul>
+ *          </ul>
+ *        </ul>
+ *        <li>@ref sec_collections_group_programs "Programs"</li>
+ *        <ul>
+ *          <li>@ref sec_collections_group_script "Script"</li>
+ *        </ul>
+ *        <li>@ref sec_collections_group_physics "Physics"</li>
+ *        <ul>
+ *          <li>@ref sec_collections_group_physics_world "World"</li>
+ *        </ul>
+ *      </ul>
+ *    </ul>
+ * </ul>
+ *
+ * @author Andres Blanc (dresb) andresblanc@gmail.com
+ *
+ * <table class="edcref" border="0">
+ */
+
+static Edje_Part_Collection_Directory_Entry *current_de = NULL;
+static Edje_Part *current_part = NULL;
+static Edje_Pack_Element *current_item = NULL;
+static Edje_Part_Description_Common *current_desc = NULL;
+static Edje_Part_Description_Common *parent_desc = NULL;
+static Edje_Program *current_program = NULL;
+
+struct _Edje_Cc_Handlers_Hierarchy_Info
+{  /* Struct that keeps globals value to impl hierarchy */
+   Edje_Part_Collection_Directory_Entry *current_de;
+   Edje_Part *current_part;
+   Edje_Pack_Element *current_item;
+   Edje_Part_Description_Common *current_desc;
+   Edje_Part_Description_Common *parent_desc;
+   Edje_Program *current_program;
+   Edje_Part *ep;
+};
+typedef struct _Edje_Cc_Handlers_Hierarchy_Info Edje_Cc_Handlers_Hierarchy_Info;
+
+static Eina_Array *part_hierarchy = NULL; /* stack parts,support nested parts */
+static void edje_cc_handlers_hierarchy_set(Edje_Part *src);
+static Edje_Part *edje_cc_handlers_hierarchy_parent_get(void);
+static void edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp);
+static void edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new);
+static void edje_cc_handlers_hierarchy_pop(void);
+
+static void st_externals_external(void);
+
+static void st_images_image(void);
+static void ob_images_set(void);
+static void st_images_set_name(void);
+static void ob_images_set_image(void);
+static void st_images_set_image_image(void);
+static void st_images_set_image_size(void);
+
+static void st_fonts_font(void);
+
+static void st_data_item(void);
+static void st_data_file(void);
+
+static void ob_styles_style(void);
+static void st_styles_style_name(void);
+static void st_styles_style_base(void);
+static void st_styles_style_tag(void);
+
+static void ob_color_class(void);
+static void st_color_class_name(void);
+static void st_color_class_color(void);
+static void st_color_class_color2(void);
+static void st_color_class_color3(void);
+
+static void ob_collections(void);
+
+static void ob_collections_group(void);
+static void st_collections_group_name(void);
+static void st_collections_group_inherit(void);
+static void st_collections_group_script_only(void);
+static void st_collections_group_alias(void);
+static void st_collections_group_min(void);
+static void st_collections_group_max(void);
+static void st_collections_group_broadcast_signal(void);
+static void st_collections_group_data_item(void);
+static void st_collections_group_orientation(void);
+
+static void st_collections_group_limits_vertical(void);
+static void st_collections_group_limits_horizontal(void);
+
+static void ob_collections_group_script(void);
+static void ob_collections_group_lua_script(void);
+
+static void st_collections_group_parts_alias(void);
+
+static Edje_Part *edje_cc_handlers_part_make(void);
+static void ob_collections_group_parts_part(void);
+static void st_collections_group_parts_part_name(void);
+static void st_collections_group_parts_part_type(void);
+#ifdef HAVE_EPHYSICS
+static void st_collections_group_parts_part_physics_body(void);
+#endif
+static void st_collections_group_parts_part_insert_before(void);
+static void st_collections_group_parts_part_insert_after(void);
+static void st_collections_group_parts_part_effect(void);
+static void st_collections_group_parts_part_mouse_events(void);
+static void st_collections_group_parts_part_repeat_events(void);
+static void st_collections_group_parts_part_ignore_flags(void);
+static void st_collections_group_parts_part_scale(void);
+static void st_collections_group_parts_part_pointer_mode(void);
+static void st_collections_group_parts_part_precise_is_inside(void);
+static void st_collections_group_parts_part_use_alternate_font_metrics(void);
+static void st_collections_group_parts_part_clip_to_id(void);
+static void st_collections_group_parts_part_source(void);
+static void st_collections_group_parts_part_source2(void);
+static void st_collections_group_parts_part_source3(void);
+static void st_collections_group_parts_part_source4(void);
+static void st_collections_group_parts_part_source5(void);
+static void st_collections_group_parts_part_source6(void);
+static void st_collections_group_parts_part_entry_mode(void);
+static void st_collections_group_parts_part_select_mode(void);
+static void st_collections_group_parts_part_cursor_mode(void);
+static void st_collections_group_parts_part_multiline(void);
+static void st_collections_group_parts_part_access(void);
+static void st_collections_group_parts_part_dragable_x(void);
+static void st_collections_group_parts_part_dragable_y(void);
+static void st_collections_group_parts_part_dragable_confine(void);
+static void st_collections_group_parts_part_dragable_events(void);
+
+/* box and table items share these */
+static void ob_collections_group_parts_part_box_items_item(void);
+static void st_collections_group_parts_part_box_items_item_type(void);
+static void st_collections_group_parts_part_box_items_item_name(void);
+static void st_collections_group_parts_part_box_items_item_source(void);
+static void st_collections_group_parts_part_box_items_item_min(void);
+static void st_collections_group_parts_part_box_items_item_prefer(void);
+static void st_collections_group_parts_part_box_items_item_max(void);
+static void st_collections_group_parts_part_box_items_item_padding(void);
+static void st_collections_group_parts_part_box_items_item_align(void);
+static void st_collections_group_parts_part_box_items_item_weight(void);
+static void st_collections_group_parts_part_box_items_item_aspect(void);
+static void st_collections_group_parts_part_box_items_item_aspect_mode(void);
+static void st_collections_group_parts_part_box_items_item_options(void);
+/* but these are only for table */
+static void st_collections_group_parts_part_table_items_item_position(void);
+static void st_collections_group_parts_part_table_items_item_span(void);
+
+static void ob_collections_group_parts_part_description(void);
+static void st_collections_group_parts_part_description_inherit(void);
+static void st_collections_group_parts_part_description_source(void);
+static void st_collections_group_parts_part_description_state(void);
+static void st_collections_group_parts_part_description_visible(void);
+static void st_collections_group_parts_part_description_limit(void);
+static void st_collections_group_parts_part_description_align(void);
+static void st_collections_group_parts_part_description_fixed(void);
+static void st_collections_group_parts_part_description_min(void);
+static void st_collections_group_parts_part_description_minmul(void);
+static void st_collections_group_parts_part_description_max(void);
+static void st_collections_group_parts_part_description_step(void);
+static void st_collections_group_parts_part_description_aspect(void);
+static void st_collections_group_parts_part_description_aspect_preference(void);
+static void st_collections_group_parts_part_description_rel1_relative(void);
+static void st_collections_group_parts_part_description_rel1_offset(void);
+static void st_collections_group_parts_part_description_rel1_to_set(const char *name);
+static void st_collections_group_parts_part_description_rel1_to(void);
+static void st_collections_group_parts_part_description_rel1_to_x(void);
+static void st_collections_group_parts_part_description_rel1_to_y(void);
+static void st_collections_group_parts_part_description_rel2_relative(void);
+static void st_collections_group_parts_part_description_rel2_offset(void);
+static void st_collections_group_parts_part_description_rel2_to_set(const char *name);
+static void st_collections_group_parts_part_description_rel2_to(void);
+static void st_collections_group_parts_part_description_rel2_to_x(void);
+static void st_collections_group_parts_part_description_rel2_to_y(void);
+static void st_collections_group_parts_part_description_image_normal(void);
+static void st_collections_group_parts_part_description_image_tween(void);
+static void st_collections_group_parts_part_description_image_border(void);
+static void st_collections_group_parts_part_description_image_middle(void);
+static void st_collections_group_parts_part_description_image_border_scale(void);
+static void st_collections_group_parts_part_description_image_border_scale_by(void);
+static void st_collections_group_parts_part_description_image_scale_hint(void);
+static void st_collections_group_parts_part_description_fill_smooth(void);
+static void st_collections_group_parts_part_description_fill_origin_relative(void);
+static void st_collections_group_parts_part_description_fill_origin_offset(void);
+static void st_collections_group_parts_part_description_fill_size_relative(void);
+static void st_collections_group_parts_part_description_fill_size_offset(void);
+static void st_collections_group_parts_part_description_fill_spread(void);
+static void st_collections_group_parts_part_description_fill_type(void);
+static void st_collections_group_parts_part_description_color_class(void);
+static void st_collections_group_parts_part_description_color(void);
+static void st_collections_group_parts_part_description_color2(void);
+static void st_collections_group_parts_part_description_color3(void);
+static void st_collections_group_parts_part_description_text_text(void);
+static void st_collections_group_parts_part_description_text_text_class(void);
+static void st_collections_group_parts_part_description_text_font(void);
+static void st_collections_group_parts_part_description_text_style(void);
+static void st_collections_group_parts_part_description_text_repch(void);
+static void st_collections_group_parts_part_description_text_size(void);
+static void st_collections_group_parts_part_description_text_size_range(void);
+static void st_collections_group_parts_part_description_text_fit(void);
+static void st_collections_group_parts_part_description_text_min(void);
+static void st_collections_group_parts_part_description_text_max(void);
+static void st_collections_group_parts_part_description_text_align(void);
+static void st_collections_group_parts_part_description_text_source(void);
+static void st_collections_group_parts_part_description_text_text_source(void);
+static void st_collections_group_parts_part_description_text_elipsis(void);
+static void st_collections_group_parts_part_description_box_layout(void);
+static void st_collections_group_parts_part_description_box_align(void);
+static void st_collections_group_parts_part_description_box_padding(void);
+static void st_collections_group_parts_part_description_box_min(void);
+static void st_collections_group_parts_part_description_table_homogeneous(void);
+static void st_collections_group_parts_part_description_table_align(void);
+static void st_collections_group_parts_part_description_table_padding(void);
+static void st_collections_group_parts_part_description_table_min(void);
+#ifdef HAVE_EPHYSICS
+static void st_collections_group_parts_part_description_physics_mass(void);
+static void st_collections_group_parts_part_description_physics_restitution(void);
+static void st_collections_group_parts_part_description_physics_friction(void);
+static void st_collections_group_parts_part_description_physics_damping(void);
+static void st_collections_group_parts_part_description_physics_sleep(void);
+static void st_collections_group_parts_part_description_physics_material(void);
+static void st_collections_group_parts_part_description_physics_density(void);
+static void st_collections_group_parts_part_description_physics_hardness(void);
+static void st_collections_group_parts_part_description_physics_ignore_part_pos(void);
+static void st_collections_group_parts_part_description_physics_light_on(void);
+static void st_collections_group_parts_part_description_physics_z(void);
+static void st_collections_group_parts_part_description_physics_depth(void);
+static void st_collections_group_parts_part_description_physics_movement_freedom_linear(void);
+static void st_collections_group_parts_part_description_physics_movement_freedom_angular(void);
+static void st_collections_group_parts_part_description_physics_backface_cull(void);
+static void st_collections_group_parts_part_description_physics_face(void);
+static void st_collections_group_parts_part_description_physics_face_type(void);
+static void st_collections_group_parts_part_description_physics_face_source(void);
+#endif
+static void st_collections_group_parts_part_description_map_perspective(void);
+static void st_collections_group_parts_part_description_map_light(void);
+static void st_collections_group_parts_part_description_map_rotation_center(void);
+static void st_collections_group_parts_part_description_map_rotation_x(void);
+static void st_collections_group_parts_part_description_map_rotation_y(void);
+static void st_collections_group_parts_part_description_map_rotation_z(void);
+static void st_collections_group_parts_part_description_map_on(void);
+static void st_collections_group_parts_part_description_map_smooth(void);
+static void st_collections_group_parts_part_description_map_alpha(void);
+static void st_collections_group_parts_part_description_map_backface_cull(void);
+static void st_collections_group_parts_part_description_map_perspective_on(void);
+static void st_collections_group_parts_part_description_perspective_zplane(void);
+static void st_collections_group_parts_part_description_perspective_focal(void);
+static void st_collections_group_parts_part_api(void);
+
+/* external part parameters */
+static void st_collections_group_parts_part_description_params_int(void);
+static void ob_collections_group_programs_program(void);
+static void st_collections_group_parts_part_description_params_double(void);
+
+static void st_collections_group_programs_program_name(void);
+static void st_collections_group_parts_part_description_params_string(void);
+static void st_collections_group_parts_part_description_params_bool(void);
+static void st_collections_group_parts_part_description_params_choice(void);
+static void st_collections_group_programs_program_signal(void);
+static void st_collections_group_programs_program_source(void);
+static void st_collections_group_programs_program_filter(void);
+static void st_collections_group_programs_program_in(void);
+static void st_collections_group_programs_program_action(void);
+static void st_collections_group_programs_program_transition(void);
+static void st_collections_group_programs_program_target(void);
+static void st_collections_group_programs_program_after(void);
+static void st_collections_group_programs_program_api(void);
+
+static void ob_collections_group_programs_program_script(void);
+static void st_collections_group_sound_sample_name(void);
+static void st_collections_group_sound_sample_source(void);
+static void st_collections_group_sound_tone(void);
+
+#ifdef HAVE_EPHYSICS
+static void st_collections_group_physics_world_gravity(void);
+static void st_collections_group_physics_world_rate(void);
+static void st_collections_group_physics_world_z(void);
+static void st_collections_group_physics_world_depth(void);
+#endif
+
+/*****/
+
+New_Statement_Handler statement_handlers[] =
+{
+     {"externals.external", st_externals_external},
+     {"images.image", st_images_image},
+     {"images.set.name", st_images_set_name},
+     {"images.set.image.image", st_images_set_image_image},
+     {"images.set.image.size", st_images_set_image_size},
+     {"fonts.font", st_fonts_font},
+     {"data.item", st_data_item},
+     {"data.file", st_data_file},
+     {"styles.style.name", st_styles_style_name},
+     {"styles.style.base", st_styles_style_base},
+     {"styles.style.tag", st_styles_style_tag},
+     {"color_classes.color_class.name", st_color_class_name},
+     {"color_classes.color_class.color", st_color_class_color},
+     {"color_classes.color_class.color2", st_color_class_color2},
+     {"color_classes.color_class.color3", st_color_class_color3},
+     {"collections.externals.external", st_externals_external}, /* dup */
+     {"collections.image", st_images_image}, /* dup */
+     {"collections.set.name", st_images_set_name}, /* dup */
+     {"collections.set.image.image", st_images_set_image_image}, /* dup */
+     {"collections.set.image.size", st_images_set_image_size}, /* dup */
+     {"collections.images.image", st_images_image}, /* dup */
+     {"collections.images.set.name", st_images_set_name}, /* dup */
+     {"collections.images.set.image.image", st_images_set_image_image}, /* dup */
+     {"collections.images.set.image.size", st_images_set_image_size}, /* dup */
+     {"collections.font", st_fonts_font}, /* dup */
+     {"collections.fonts.font", st_fonts_font}, /* dup */
+     {"collections.styles.style.name", st_styles_style_name}, /* dup */
+     {"collections.styles.style.base", st_styles_style_base}, /* dup */
+     {"collections.styles.style.tag", st_styles_style_tag}, /* dup */
+     {"collections.color_classes.color_class.name", st_color_class_name}, /* dup */
+     {"collections.color_classes.color_class.color", st_color_class_color}, /* dup */
+     {"collections.color_classes.color_class.color2", st_color_class_color2}, /* dup */
+     {"collections.color_classes.color_class.color3", st_color_class_color3}, /* dup */
+
+     {"collections.sounds.sample.name", st_collections_group_sound_sample_name},
+     {"collections.sounds.sample.source", st_collections_group_sound_sample_source},
+     {"collections.group.sounds.sample.name", st_collections_group_sound_sample_name}, /* dup */
+     {"collections.group.sounds.sample.source", st_collections_group_sound_sample_source}, /* dup */
+     {"collections.sounds.tone", st_collections_group_sound_tone},
+     {"collections.group.sounds.tone", st_collections_group_sound_tone}, /* dup */
+     {"collections.group.name", st_collections_group_name},
+     {"collections.group.inherit", st_collections_group_inherit},
+     {"collections.group.script_only", st_collections_group_script_only},
+     {"collections.group.lua_script_only", st_collections_group_script_only},
+     {"collections.group.alias", st_collections_group_alias},
+     {"collections.group.min", st_collections_group_min},
+     {"collections.group.max", st_collections_group_max},
+     {"collections.group.broadcast_signal", st_collections_group_broadcast_signal},
+     {"collections.group.orientation", st_collections_group_orientation},
+     {"collections.group.data.item", st_collections_group_data_item},
+     {"collections.group.limits.horizontal", st_collections_group_limits_horizontal},
+     {"collections.group.limits.vertical", st_collections_group_limits_vertical},
+     {"collections.group.externals.external", st_externals_external}, /* dup */
+     {"collections.group.image", st_images_image}, /* dup */
+     {"collections.group.set.name", st_images_set_name},
+     {"collections.group.set.image.image", st_images_set_image_image},
+     {"collections.group.set.image.size", st_images_set_image_size},
+     {"collections.group.images.image", st_images_image}, /* dup */
+     {"collections.group.images.set.name", st_images_set_name},
+     {"collections.group.images.set.image.image", st_images_set_image_image},
+     {"collections.group.images.set.image.size", st_images_set_image_size},
+     {"collections.group.font", st_fonts_font}, /* dup */
+     {"collections.group.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.styles.style.name", st_styles_style_name}, /* dup */
+     {"collections.group.styles.style.base", st_styles_style_base}, /* dup */
+     {"collections.group.styles.style.tag", st_styles_style_tag}, /* dup */
+     {"collections.group.color_classes.color_class.name", st_color_class_name}, /* dup */
+     {"collections.group.color_classes.color_class.color", st_color_class_color}, /* dup */
+     {"collections.group.color_classes.color_class.color2", st_color_class_color2}, /* dup */
+     {"collections.group.color_classes.color_class.color3", st_color_class_color3}, /* dup */
+     {"collections.group.parts.alias", st_collections_group_parts_alias },
+     {"collections.group.parts.image", st_images_image}, /* dup */
+     {"collections.group.parts.set.name", st_images_set_name},
+     {"collections.group.parts.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.images.set.name", st_images_set_name},
+     {"collections.group.parts.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.styles.style.name", st_styles_style_name}, /* dup */
+     {"collections.group.parts.styles.style.base", st_styles_style_base}, /* dup */
+     {"collections.group.parts.styles.style.tag", st_styles_style_tag}, /* dup */
+     {"collections.group.parts.color_classes.color_class.name", st_color_class_name}, /* dup */
+     {"collections.group.parts.color_classes.color_class.color", st_color_class_color}, /* dup */
+     {"collections.group.parts.color_classes.color_class.color2", st_color_class_color2}, /* dup */
+     {"collections.group.parts.color_classes.color_class.color3", st_color_class_color3}, /* dup */
+     {"collections.group.parts.part.name", st_collections_group_parts_part_name},
+     {"collections.group.parts.part.api", st_collections_group_parts_part_api},
+     {"collections.group.parts.part.type", st_collections_group_parts_part_type},
+#ifdef HAVE_EPHYSICS
+     {"collections.group.parts.part.physics_body", st_collections_group_parts_part_physics_body},
+#endif
+     {"collections.group.parts.part.insert_before", st_collections_group_parts_part_insert_before},
+     {"collections.group.parts.part.insert_after", st_collections_group_parts_part_insert_after},
+     {"collections.group.parts.part.effect", st_collections_group_parts_part_effect},
+     {"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events},
+     {"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events},
+     {"collections.group.parts.part.ignore_flags", st_collections_group_parts_part_ignore_flags},
+     {"collections.group.parts.part.scale", st_collections_group_parts_part_scale},
+     {"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode},
+     {"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside},
+     {"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics},
+     {"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id},
+     {"collections.group.parts.part.source", st_collections_group_parts_part_source},
+     {"collections.group.parts.part.source2", st_collections_group_parts_part_source2},
+     {"collections.group.parts.part.source3", st_collections_group_parts_part_source3},
+     {"collections.group.parts.part.source4", st_collections_group_parts_part_source4},
+     {"collections.group.parts.part.source5", st_collections_group_parts_part_source5},
+     {"collections.group.parts.part.source6", st_collections_group_parts_part_source6},
+     {"collections.group.parts.part.dragable.x", st_collections_group_parts_part_dragable_x},
+     {"collections.group.parts.part.dragable.y", st_collections_group_parts_part_dragable_y},
+     {"collections.group.parts.part.dragable.confine", st_collections_group_parts_part_dragable_confine},
+     {"collections.group.parts.part.dragable.events", st_collections_group_parts_part_dragable_events},
+     {"collections.group.parts.part.entry_mode", st_collections_group_parts_part_entry_mode},
+     {"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode},
+     {"collections.group.parts.part.cursor_mode", st_collections_group_parts_part_cursor_mode},
+     {"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline},
+     {"collections.group.parts.part.access", st_collections_group_parts_part_access},
+     {"collections.group.parts.part.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.set.name", st_images_set_name},
+     {"collections.group.parts.part.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.images.set.name", st_images_set_name},
+     {"collections.group.parts.part.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.styles.style.name", st_styles_style_name}, /* dup */
+     {"collections.group.parts.part.styles.style.base", st_styles_style_base}, /* dup */
+     {"collections.group.parts.part.styles.style.tag", st_styles_style_tag}, /* dup */
+     {"collections.group.parts.part.color_classes.color_class.name", st_color_class_name}, /* dup */
+     {"collections.group.parts.part.color_classes.color_class.color", st_color_class_color}, /* dup */
+     {"collections.group.parts.part.color_classes.color_class.color2", st_color_class_color2}, /* dup */
+     {"collections.group.parts.part.color_classes.color_class.color3", st_color_class_color3}, /* dup */
+     {"collections.group.parts.part.box.items.item.type", st_collections_group_parts_part_box_items_item_type},
+     {"collections.group.parts.part.box.items.item.name", st_collections_group_parts_part_box_items_item_name},
+     {"collections.group.parts.part.box.items.item.source", st_collections_group_parts_part_box_items_item_source},
+     {"collections.group.parts.part.box.items.item.min", st_collections_group_parts_part_box_items_item_min},
+     {"collections.group.parts.part.box.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer},
+     {"collections.group.parts.part.box.items.item.max", st_collections_group_parts_part_box_items_item_max},
+     {"collections.group.parts.part.box.items.item.padding", st_collections_group_parts_part_box_items_item_padding},
+     {"collections.group.parts.part.box.items.item.align", st_collections_group_parts_part_box_items_item_align},
+     {"collections.group.parts.part.box.items.item.weight", st_collections_group_parts_part_box_items_item_weight},
+     {"collections.group.parts.part.box.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect},
+     {"collections.group.parts.part.box.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode},
+     {"collections.group.parts.part.box.items.item.options", st_collections_group_parts_part_box_items_item_options},
+     {"collections.group.parts.part.table.items.item.type", st_collections_group_parts_part_box_items_item_type}, /* dup */
+     {"collections.group.parts.part.table.items.item.name", st_collections_group_parts_part_box_items_item_name}, /* dup */
+     {"collections.group.parts.part.table.items.item.source", st_collections_group_parts_part_box_items_item_source}, /* dup */
+     {"collections.group.parts.part.table.items.item.min", st_collections_group_parts_part_box_items_item_min}, /* dup */
+     {"collections.group.parts.part.table.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, /* dup */
+     {"collections.group.parts.part.table.items.item.max", st_collections_group_parts_part_box_items_item_max}, /* dup */
+     {"collections.group.parts.part.table.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, /* dup */
+     {"collections.group.parts.part.table.items.item.align", st_collections_group_parts_part_box_items_item_align}, /* dup */
+     {"collections.group.parts.part.table.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, /* dup */
+     {"collections.group.parts.part.table.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, /* dup */
+     {"collections.group.parts.part.table.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, /* dup */
+     {"collections.group.parts.part.table.items.item.options", st_collections_group_parts_part_box_items_item_options}, /* dup */
+     {"collections.group.parts.part.table.items.item.position", st_collections_group_parts_part_table_items_item_position},
+     {"collections.group.parts.part.table.items.item.span", st_collections_group_parts_part_table_items_item_span},
+     {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit},
+     {"collections.group.parts.part.description.source", st_collections_group_parts_part_description_source},
+     {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state},
+     {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible},
+     {"collections.group.parts.part.description.limit", st_collections_group_parts_part_description_limit},
+     {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align},
+     {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed},
+     {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min},
+     {"collections.group.parts.part.description.minmul", st_collections_group_parts_part_description_minmul},
+     {"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max},
+     {"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step},
+     {"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect},
+     {"collections.group.parts.part.description.aspect_preference", st_collections_group_parts_part_description_aspect_preference},
+     {"collections.group.parts.part.description.rel1.relative", st_collections_group_parts_part_description_rel1_relative},
+     {"collections.group.parts.part.description.rel1.offset", st_collections_group_parts_part_description_rel1_offset},
+     {"collections.group.parts.part.description.rel1.to", st_collections_group_parts_part_description_rel1_to},
+     {"collections.group.parts.part.description.rel1.to_x", st_collections_group_parts_part_description_rel1_to_x},
+     {"collections.group.parts.part.description.rel1.to_y", st_collections_group_parts_part_description_rel1_to_y},
+     {"collections.group.parts.part.description.rel2.relative", st_collections_group_parts_part_description_rel2_relative},
+     {"collections.group.parts.part.description.rel2.offset", st_collections_group_parts_part_description_rel2_offset},
+     {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to},
+     {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x},
+     {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y},
+     {"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal},
+     {"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween},
+     {"collections.group.parts.part.description.image.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.description.image.set.name", st_images_set_name},
+     {"collections.group.parts.part.description.image.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.description.image.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.description.image.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.description.image.images.set.name", st_images_set_name},
+     {"collections.group.parts.part.description.image.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.description.image.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border},
+     {"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle},
+     {"collections.group.parts.part.description.image.border_scale", st_collections_group_parts_part_description_image_border_scale},
+     {"collections.group.parts.part.description.image.border_scale_by", st_collections_group_parts_part_description_image_border_scale_by},
+     {"collections.group.parts.part.description.image.scale_hint", st_collections_group_parts_part_description_image_scale_hint},
+     {"collections.group.parts.part.description.fill.smooth", st_collections_group_parts_part_description_fill_smooth},
+     {"collections.group.parts.part.description.fill.origin.relative", st_collections_group_parts_part_description_fill_origin_relative},
+     {"collections.group.parts.part.description.fill.origin.offset", st_collections_group_parts_part_description_fill_origin_offset},
+     {"collections.group.parts.part.description.fill.size.relative", st_collections_group_parts_part_description_fill_size_relative},
+     {"collections.group.parts.part.description.fill.size.offset", st_collections_group_parts_part_description_fill_size_offset},
+     {"collections.group.parts.part.description.fill.spread", st_collections_group_parts_part_description_fill_spread},
+     {"collections.group.parts.part.description.fill.type", st_collections_group_parts_part_description_fill_type},
+     {"collections.group.parts.part.description.color_class", st_collections_group_parts_part_description_color_class},
+     {"collections.group.parts.part.description.color", st_collections_group_parts_part_description_color},
+     {"collections.group.parts.part.description.color2", st_collections_group_parts_part_description_color2},
+     {"collections.group.parts.part.description.color3", st_collections_group_parts_part_description_color3},
+     {"collections.group.parts.part.description.text.text", st_collections_group_parts_part_description_text_text},
+     {"collections.group.parts.part.description.text.text_class", st_collections_group_parts_part_description_text_text_class},
+     {"collections.group.parts.part.description.text.font", st_collections_group_parts_part_description_text_font},
+     {"collections.group.parts.part.description.text.style", st_collections_group_parts_part_description_text_style},
+     {"collections.group.parts.part.description.text.repch", st_collections_group_parts_part_description_text_repch},
+     {"collections.group.parts.part.description.text.size", st_collections_group_parts_part_description_text_size},
+     {"collections.group.parts.part.description.text.size_range", st_collections_group_parts_part_description_text_size_range},
+     {"collections.group.parts.part.description.text.fit", st_collections_group_parts_part_description_text_fit},
+     {"collections.group.parts.part.description.text.min", st_collections_group_parts_part_description_text_min},
+     {"collections.group.parts.part.description.text.max", st_collections_group_parts_part_description_text_max},
+     {"collections.group.parts.part.description.text.align", st_collections_group_parts_part_description_text_align},
+     {"collections.group.parts.part.description.text.source", st_collections_group_parts_part_description_text_source},
+     {"collections.group.parts.part.description.text.text_source", st_collections_group_parts_part_description_text_text_source},
+     {"collections.group.parts.part.description.text.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.text.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.text.elipsis", st_collections_group_parts_part_description_text_elipsis},
+     {"collections.group.parts.part.description.text.ellipsis", st_collections_group_parts_part_description_text_elipsis},
+     {"collections.group.parts.part.description.box.layout", st_collections_group_parts_part_description_box_layout},
+     {"collections.group.parts.part.description.box.align", st_collections_group_parts_part_description_box_align},
+     {"collections.group.parts.part.description.box.padding", st_collections_group_parts_part_description_box_padding},
+     {"collections.group.parts.part.description.box.min", st_collections_group_parts_part_description_box_min},
+     {"collections.group.parts.part.description.table.homogeneous", st_collections_group_parts_part_description_table_homogeneous},
+     {"collections.group.parts.part.description.table.align", st_collections_group_parts_part_description_table_align},
+     {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding},
+     {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min},
+#ifdef HAVE_EPHYSICS
+     {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass},
+     {"collections.group.parts.part.description.physics.restitution", st_collections_group_parts_part_description_physics_restitution},
+     {"collections.group.parts.part.description.physics.friction", st_collections_group_parts_part_description_physics_friction},
+     {"collections.group.parts.part.description.physics.damping", st_collections_group_parts_part_description_physics_damping},
+     {"collections.group.parts.part.description.physics.sleep", st_collections_group_parts_part_description_physics_sleep},
+     {"collections.group.parts.part.description.physics.material", st_collections_group_parts_part_description_physics_material},
+     {"collections.group.parts.part.description.physics.density", st_collections_group_parts_part_description_physics_density},
+     {"collections.group.parts.part.description.physics.hardness", st_collections_group_parts_part_description_physics_hardness},
+     {"collections.group.parts.part.description.physics.movement_freedom.linear", st_collections_group_parts_part_description_physics_movement_freedom_linear},
+     {"collections.group.parts.part.description.physics.movement_freedom.angular", st_collections_group_parts_part_description_physics_movement_freedom_angular},
+     {"collections.group.parts.part.description.physics.ignore_part_pos", st_collections_group_parts_part_description_physics_ignore_part_pos},
+     {"collections.group.parts.part.description.physics.light_on", st_collections_group_parts_part_description_physics_light_on},
+     {"collections.group.parts.part.description.physics.z", st_collections_group_parts_part_description_physics_z},
+     {"collections.group.parts.part.description.physics.depth", st_collections_group_parts_part_description_physics_depth},
+     {"collections.group.parts.part.description.physics.backface_cull", st_collections_group_parts_part_description_physics_backface_cull},
+     {"collections.group.parts.part.description.physics.faces.face.type", st_collections_group_parts_part_description_physics_face_type},
+     {"collections.group.parts.part.description.physics.faces.face.source", st_collections_group_parts_part_description_physics_face_source},
+#endif
+     {"collections.group.parts.part.description.map.perspective", st_collections_group_parts_part_description_map_perspective},
+     {"collections.group.parts.part.description.map.light", st_collections_group_parts_part_description_map_light},
+     {"collections.group.parts.part.description.map.rotation.center", st_collections_group_parts_part_description_map_rotation_center},
+     {"collections.group.parts.part.description.map.rotation.x", st_collections_group_parts_part_description_map_rotation_x},
+     {"collections.group.parts.part.description.map.rotation.y", st_collections_group_parts_part_description_map_rotation_y},
+     {"collections.group.parts.part.description.map.rotation.z", st_collections_group_parts_part_description_map_rotation_z},
+     {"collections.group.parts.part.description.map.on", st_collections_group_parts_part_description_map_on},
+     {"collections.group.parts.part.description.map.smooth", st_collections_group_parts_part_description_map_smooth},
+     {"collections.group.parts.part.description.map.alpha", st_collections_group_parts_part_description_map_alpha},
+     {"collections.group.parts.part.description.map.backface_cull", st_collections_group_parts_part_description_map_backface_cull},
+     {"collections.group.parts.part.description.map.perspective_on", st_collections_group_parts_part_description_map_perspective_on},
+     {"collections.group.parts.part.description.perspective.zplane", st_collections_group_parts_part_description_perspective_zplane},
+     {"collections.group.parts.part.description.perspective.focal", st_collections_group_parts_part_description_perspective_focal},
+     {"collections.group.parts.part.description.params.int", st_collections_group_parts_part_description_params_int},
+     {"collections.group.parts.part.description.params.double", st_collections_group_parts_part_description_params_double},
+     {"collections.group.parts.part.description.params.string", st_collections_group_parts_part_description_params_string},
+     {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool},
+     {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice},
+     {"collections.group.parts.part.description.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.description.images.set.name", st_images_set_name},
+     {"collections.group.parts.part.description.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.description.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.description.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.styles.style.name", st_styles_style_name}, /* dup */
+     {"collections.group.parts.part.description.styles.style.base", st_styles_style_base}, /* dup */
+     {"collections.group.parts.part.description.styles.style.tag", st_styles_style_tag}, /* dup */
+     {"collections.group.parts.part.description.color_classes.color_class.name", st_color_class_name}, /* dup */
+     {"collections.group.parts.part.description.color_classes.color_class.color", st_color_class_color}, /* dup */
+     {"collections.group.parts.part.description.color_classes.color_class.color2", st_color_class_color2}, /* dup */
+     {"collections.group.parts.part.description.color_classes.color_class.color3", st_color_class_color3}, /* dup */
+     {"collections.group.parts.part.description.programs.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.description.programs.set.name", st_images_set_name},
+     {"collections.group.parts.part.description.programs.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.description.programs.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.description.programs.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.description.programs.images.set.name", st_images_set_name},
+     {"collections.group.parts.part.description.programs.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.description.programs.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.description.programs.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.programs.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.description.programs.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.part.description.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.part.description.programs.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.part.description.programs.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.part.description.programs.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.part.description.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.part.description.programs.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.part.description.programs.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.parts.part.description.programs.program.api", st_collections_group_programs_program_api}, /* dup */
+     {"collections.group.parts.part.description.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.part.description.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.part.description.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.part.description.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.part.description.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.part.description.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.part.description.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.part.description.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.parts.part.description.program.api", st_collections_group_programs_program_api}, /* dup */
+     {"collections.group.parts.part.programs.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.programs.set.name", st_images_set_name},
+     {"collections.group.parts.part.programs.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.programs.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.programs.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.part.programs.images.set.name", st_images_set_name},
+     {"collections.group.parts.part.programs.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.part.programs.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.part.programs.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.programs.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.part.programs.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.part.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.part.programs.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.part.programs.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.part.programs.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.part.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.part.programs.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.part.programs.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.parts.part.programs.program.api", st_collections_group_programs_program_api}, /* dup */
+     {"collections.group.parts.part.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.part.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.part.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.part.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.part.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.part.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.part.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.part.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.parts.part.program.api", st_collections_group_programs_program_api}, /* dup */
+     {"collections.group.parts.programs.image", st_images_image}, /* dup */
+     {"collections.group.parts.programs.set.name", st_images_set_name},
+     {"collections.group.parts.programs.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.programs.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.programs.images.image", st_images_image}, /* dup */
+     {"collections.group.parts.programs.images.set.name", st_images_set_name},
+     {"collections.group.parts.programs.images.set.image.image", st_images_set_image_image},
+     {"collections.group.parts.programs.images.set.image.size", st_images_set_image_size},
+     {"collections.group.parts.programs.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.programs.fonts.font", st_fonts_font}, /* dup */
+     {"collections.group.parts.programs.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.programs.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.programs.program.filter", st_collections_group_programs_program_filter}, /* dup */
+     {"collections.group.parts.programs.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.programs.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.programs.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.programs.program.after", st_collections_group_programs_program_after},
+     {"collections.group.parts.programs.program.api", st_collections_group_programs_program_api},
+     {"collections.group.parts.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.parts.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.parts.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.parts.program.filter", st_collections_group_programs_program_filter}, /* dup */
+     {"collections.group.parts.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.parts.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.parts.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.parts.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.parts.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.parts.program.api", st_collections_group_programs_program_api}, /* dup */
+#ifdef HAVE_EPHYSICS
+     {"collections.group.physics.world.gravity", st_collections_group_physics_world_gravity},
+     {"collections.group.physics.world.rate", st_collections_group_physics_world_rate},
+     {"collections.group.physics.world.z", st_collections_group_physics_world_z},
+     {"collections.group.physics.world.depth", st_collections_group_physics_world_depth},
+#endif
+     {"collections.group.program.name", st_collections_group_programs_program_name}, /* dup */
+     {"collections.group.program.signal", st_collections_group_programs_program_signal}, /* dup */
+     {"collections.group.program.source", st_collections_group_programs_program_source}, /* dup */
+     {"collections.group.program.filter", st_collections_group_programs_program_filter}, /* dup */
+     {"collections.group.program.in", st_collections_group_programs_program_in}, /* dup */
+     {"collections.group.program.action", st_collections_group_programs_program_action}, /* dup */
+     {"collections.group.program.transition", st_collections_group_programs_program_transition}, /* dup */
+     {"collections.group.program.target", st_collections_group_programs_program_target}, /* dup */
+     {"collections.group.program.after", st_collections_group_programs_program_after}, /* dup */
+     {"collections.group.program.api", st_collections_group_programs_program_api}, /* dup */
+     {"collections.group.programs.program.name", st_collections_group_programs_program_name},
+     {"collections.group.programs.program.signal", st_collections_group_programs_program_signal},
+     {"collections.group.programs.program.source", st_collections_group_programs_program_source},
+     {"collections.group.programs.program.filter", st_collections_group_programs_program_filter}, /* dup */
+     {"collections.group.programs.program.in", st_collections_group_programs_program_in},
+     {"collections.group.programs.program.action", st_collections_group_programs_program_action},
+     {"collections.group.programs.program.transition", st_collections_group_programs_program_transition},
+     {"collections.group.programs.program.target", st_collections_group_programs_program_target},
+     {"collections.group.programs.program.after", st_collections_group_programs_program_after},
+     {"collections.group.programs.program.api", st_collections_group_programs_program_api},
+     {"collections.group.programs.image", st_images_image}, /* dup */
+     {"collections.group.programs.set.name", st_images_set_name},
+     {"collections.group.programs.set.image.image", st_images_set_image_image},
+     {"collections.group.programs.set.image.size", st_images_set_image_size},
+     {"collections.group.programs.images.image", st_images_image}, /* dup */
+     {"collections.group.programs.images.set.name", st_images_set_name},
+     {"collections.group.programs.images.set.image.image", st_images_set_image_image},
+     {"collections.group.programs.images.set.image.size", st_images_set_image_size},
+     {"collections.group.programs.font", st_fonts_font}, /* dup */
+     {"collections.group.programs.fonts.font", st_fonts_font} /* dup */
+};
+
+New_Object_Handler object_handlers[] =
+{
+     {"externals", NULL},
+     {"images", NULL},
+     {"images.set", ob_images_set},
+     {"images.set.image", ob_images_set_image},
+     {"fonts", NULL},
+     {"data", NULL},
+     {"styles", NULL},
+     {"styles.style", ob_styles_style},
+     {"color_classes", NULL},
+     {"color_classes.color_class", ob_color_class},
+     {"spectra", NULL},
+     {"collections", ob_collections},
+     {"collections.externals", NULL}, /* dup */
+     {"collections.set", ob_images_set}, /* dup */
+     {"collections.set.image", ob_images_set_image}, /* dup */
+     {"collections.images", NULL}, /* dup */
+     {"collections.images.set", ob_images_set}, /* dup */
+     {"collections.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.fonts", NULL}, /* dup */
+     {"collections.styles", NULL}, /* dup */
+     {"collections.styles.style", ob_styles_style}, /* dup */
+     {"collections.color_classes", NULL}, /* dup */
+     {"collections.color_classes.color_class", ob_color_class}, /* dup */
+     {"collections.sounds", NULL},
+     {"collections.group.sounds", NULL}, /* dup */
+     {"collections.sounds.sample", NULL},
+     {"collections.group.sounds.sample", NULL}, /* dup */
+     {"collections.group", ob_collections_group},
+     {"collections.group.data", NULL},
+     {"collections.group.limits", NULL},
+     {"collections.group.script", ob_collections_group_script},
+     {"collections.group.lua_script", ob_collections_group_lua_script},
+     {"collections.group.externals", NULL}, /* dup */
+     {"collections.group.set", ob_images_set}, /* dup */
+     {"collections.group.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.images", NULL}, /* dup */
+     {"collections.group.images.set", ob_images_set}, /* dup */
+     {"collections.group.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.fonts", NULL}, /* dup */
+     {"collections.group.styles", NULL}, /* dup */
+     {"collections.group.styles.style", ob_styles_style}, /* dup */
+     {"collections.group.color_classes", NULL}, /* dup */
+     {"collections.group.color_classes.color_class", ob_color_class}, /* dup */
+     {"collections.group.parts", NULL},
+     {"collections.group.parts.set", ob_images_set}, /* dup */
+     {"collections.group.parts.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.images", NULL}, /* dup */
+     {"collections.group.parts.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.fonts", NULL}, /* dup */
+     {"collections.group.parts.styles", NULL}, /* dup */
+     {"collections.group.parts.styles.style", ob_styles_style}, /* dup */
+     {"collections.group.parts.color_classes", NULL}, /* dup */
+     {"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */
+     {"collections.group.parts.part", ob_collections_group_parts_part},
+     {"collections.group.parts.part.dragable", NULL},
+     {"collections.group.parts.part.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.images", NULL}, /* dup */
+     {"collections.group.parts.part.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.fonts", NULL}, /* dup */
+     {"collections.group.parts.part.styles", NULL}, /* dup */
+     {"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */
+     {"collections.group.parts.part.color_classes", NULL}, /* dup */
+     {"collections.group.parts.part.color_classes.color_class", ob_color_class}, /* dup */
+     {"collections.group.parts.part.box", NULL},
+     {"collections.group.parts.part.box.items", NULL},
+     {"collections.group.parts.part.box.items.item", ob_collections_group_parts_part_box_items_item},
+     {"collections.group.parts.part.table", NULL},
+     {"collections.group.parts.part.table.items", NULL},
+     {"collections.group.parts.part.table.items.item", ob_collections_group_parts_part_box_items_item}, /* dup */
+     {"collections.group.parts.part.description", ob_collections_group_parts_part_description},
+     {"collections.group.parts.part.description.rel1", NULL},
+     {"collections.group.parts.part.description.rel2", NULL},
+     {"collections.group.parts.part.description.image", NULL}, /* dup */
+     {"collections.group.parts.part.description.image.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.description.image.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.description.image.images", NULL}, /* dup */
+     {"collections.group.parts.part.description.image.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.description.image.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.description.fill", NULL},
+     {"collections.group.parts.part.description.fill.origin", NULL},
+     {"collections.group.parts.part.description.fill.size", NULL},
+     {"collections.group.parts.part.description.text", NULL},
+     {"collections.group.parts.part.description.text.fonts", NULL}, /* dup */
+     {"collections.group.parts.part.description.images", NULL}, /* dup */
+     {"collections.group.parts.part.description.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.description.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.description.fonts", NULL}, /* dup */
+     {"collections.group.parts.part.description.styles", NULL}, /* dup */
+     {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */
+     {"collections.group.parts.part.description.box", NULL},
+     {"collections.group.parts.part.description.table", NULL},
+#ifdef HAVE_EPHYSICS
+     {"collections.group.parts.part.description.physics", NULL},
+     {"collections.group.parts.part.description.physics.movement_freedom", NULL},
+     {"collections.group.parts.part.description.physics.faces", NULL},
+     {"collections.group.parts.part.description.physics.faces.face", st_collections_group_parts_part_description_physics_face},
+#endif
+     {"collections.group.parts.part.description.map", NULL},
+     {"collections.group.parts.part.description.map.rotation", NULL},
+     {"collections.group.parts.part.description.perspective", NULL},
+     {"collections.group.parts.part.description.params", NULL},
+     {"collections.group.parts.part.description.color_classes", NULL}, /* dup */
+     {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */
+     {"collections.group.parts.part.description.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.part.description.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.part.description.programs", NULL}, /* dup */
+     {"collections.group.parts.part.description.programs.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.description.programs.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.description.programs.images", NULL}, /* dup */
+     {"collections.group.parts.part.description.programs.images.set", ob_images_set},
+     {"collections.group.parts.part.description.programs.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.description.programs.fonts", NULL}, /* dup */
+     {"collections.group.parts.part.description.programs.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.part.description.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.part.description.script", ob_collections_group_script}, /* dup */
+     {"collections.group.parts.part.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.part.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.part.programs", NULL}, /* dup */
+     {"collections.group.parts.part.programs.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.programs.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.programs.images", NULL}, /* dup */
+     {"collections.group.parts.part.programs.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.part.programs.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.part.programs.fonts", NULL}, /* dup */
+     {"collections.group.parts.part.programs.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.part.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.part.script", ob_collections_group_script}, /* dup */
+     {"collections.group.parts.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.programs", NULL}, /* dup */
+     {"collections.group.parts.programs.set", ob_images_set}, /* dup */
+     {"collections.group.parts.programs.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.programs.images", NULL}, /* dup */
+     {"collections.group.parts.programs.images.set", ob_images_set}, /* dup */
+     {"collections.group.parts.programs.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.parts.programs.fonts", NULL}, /* dup */
+     {"collections.group.parts.programs.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.parts.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.parts.script", ob_collections_group_script}, /* dup */
+#ifdef HAVE_EPHYSICS
+     {"collections.group.physics", NULL},
+     {"collections.group.physics.world", NULL},
+#endif
+     {"collections.group.program", ob_collections_group_programs_program}, /* dup */
+     {"collections.group.program.script", ob_collections_group_programs_program_script}, /* dup */
+     {"collections.group.programs", NULL},
+     {"collections.group.programs.set", ob_images_set}, /* dup */
+     {"collections.group.programs.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.programs.images", NULL}, /* dup */
+     {"collections.group.programs.images.set", ob_images_set}, /* dup */
+     {"collections.group.programs.images.set.image", ob_images_set_image}, /* dup */
+     {"collections.group.programs.fonts", NULL}, /* dup */
+     {"collections.group.programs.program", ob_collections_group_programs_program},
+     {"collections.group.programs.program.script", ob_collections_group_programs_program_script},
+     {"collections.group.programs.script", ob_collections_group_script} /* dup */
+};
+
+New_Nested_Handler nested_handlers[] = {
+     {"collections.group.parts", "part", NULL, edje_cc_handlers_hierarchy_pop }
+};
+
+/*****/
+
+int
+object_handler_num(void)
+{
+   return sizeof(object_handlers) / sizeof (New_Object_Handler);
+}
+
+int
+statement_handler_num(void)
+{
+   return sizeof(statement_handlers) / sizeof (New_Object_Handler);
+}
+
+int
+nested_handler_num(void)
+{
+   return sizeof(nested_handlers) / sizeof (New_Nested_Handler);
+}
+
+static void
+_edje_part_description_fill(Edje_Part_Description_Spec_Fill *fill)
+{
+   fill->smooth = 1;
+   fill->pos_rel_x = FROM_DOUBLE(0.0);
+   fill->pos_abs_x = 0;
+   fill->rel_x = FROM_DOUBLE(1.0);
+   fill->abs_x = 0;
+   fill->pos_rel_y = FROM_DOUBLE(0.0);
+   fill->pos_abs_y = 0;
+   fill->rel_y = FROM_DOUBLE(1.0);
+   fill->abs_y = 0;
+   fill->angle = 0;
+   fill->spread = 0;
+   fill->type = EDJE_FILL_TYPE_SCALE;
+}
+
+static void
+_edje_part_description_image_remove(Edje_Part_Description_Image *ed)
+{
+   unsigned int j;
+
+   if (!ed) return;
+
+   data_queue_image_remove(&(ed->image.id), &(ed->image.set));
+
+   for (j = 0; j < ed->image.tweens_count; ++j)
+     data_queue_image_remove(&(ed->image.tweens[j]->id),
+                             &(ed->image.tweens[j]->set));
+}
+
+void
+part_description_image_cleanup(Edje_Part *ep)
+{
+   Edje_Part_Description_Image *ed;
+   unsigned int j;
+
+   if (ep->type != EDJE_PART_TYPE_IMAGE)
+     return ;
+
+   ed = (Edje_Part_Description_Image*) ep->default_desc;
+   _edje_part_description_image_remove(ed);
+
+   for (j = 0; j < ep->other.desc_count; j++)
+     {
+        ed = (Edje_Part_Description_Image*) ep->other.desc[j];
+        _edje_part_description_image_remove(ed);
+     }
+}
+
+static Edje_Part_Description_Common *
+_edje_part_description_alloc(unsigned char type, const char *collection, const char *part)
+{
+   Edje_Part_Description_Common *result = NULL;
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_SPACER:
+      case EDJE_PART_TYPE_RECTANGLE:
+      case EDJE_PART_TYPE_SWALLOW:
+      case EDJE_PART_TYPE_GROUP:
+        result = mem_alloc(SZ(Edje_Part_Description_Common));
+        break;
+      case EDJE_PART_TYPE_TEXT:
+      case EDJE_PART_TYPE_TEXTBLOCK:
+       {
+          Edje_Part_Description_Text *ed;
+
+          ed = mem_alloc(SZ(Edje_Part_Description_Text));
+
+          ed->text.color3.r = 0;
+          ed->text.color3.g = 0;
+          ed->text.color3.b = 0;
+          ed->text.color3.a = 128;
+          ed->text.align.x = FROM_DOUBLE(0.5);
+          ed->text.align.y = FROM_DOUBLE(0.5);
+          ed->text.id_source = -1;
+          ed->text.id_text_source = -1;
+
+          result = &ed->common;
+          break;
+       }
+      case EDJE_PART_TYPE_IMAGE:
+       {
+          Edje_Part_Description_Image *ed;
+
+          ed = mem_alloc(SZ(Edje_Part_Description_Image));
+
+          ed->image.id = -1;
+
+           _edje_part_description_fill(&ed->image.fill);
+
+          result = &ed->common;
+          break;
+       }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = mem_alloc(SZ(Edje_Part_Description_Proxy));
+
+           ed->proxy.id = -1;
+
+           _edje_part_description_fill(&ed->proxy.fill);
+
+           result = &ed->common;
+           break;
+        }
+      case EDJE_PART_TYPE_BOX:
+       {
+          Edje_Part_Description_Box *ed;
+
+          ed = mem_alloc(SZ(Edje_Part_Description_Box));
+
+          ed->box.layout = NULL;
+          ed->box.alt_layout = NULL;
+          ed->box.align.x = FROM_DOUBLE(0.5);
+          ed->box.align.y = FROM_DOUBLE(0.5);
+          ed->box.padding.x = 0;
+          ed->box.padding.y = 0;
+
+          result = &ed->common;
+          break;
+       }
+      case EDJE_PART_TYPE_TABLE:
+       {
+          Edje_Part_Description_Table *ed;
+
+          ed = mem_alloc(SZ(Edje_Part_Description_Table));
+
+          ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE;
+          ed->table.align.x = FROM_DOUBLE(0.5);
+          ed->table.align.y = FROM_DOUBLE(0.5);
+          ed->table.padding.x = 0;
+          ed->table.padding.y = 0;
+
+          result = &ed->common;
+          break;
+       }
+      case EDJE_PART_TYPE_EXTERNAL:
+       {
+          Edje_Part_Description_External *ed;
+
+          ed = mem_alloc(SZ(Edje_Part_Description_External));
+
+          ed->external_params = NULL;
+
+          result = &ed->common;
+          break;
+       }
+     }
+
+   if (!result)
+     {
+        ERR("Unknown type %i of part %s in collection %s.",
+            type, part, collection);
+        exit(-1);
+     }
+
+#ifdef HAVE_EPHYSICS
+   result->physics.mass = FROM_DOUBLE(1.0);
+   result->physics.friction = FROM_DOUBLE(0.5);
+   result->physics.sleep.linear = FROM_DOUBLE(24);
+   result->physics.sleep.angular = FROM_DOUBLE(57.29);
+   result->physics.hardness = FROM_DOUBLE(1.0);
+   result->physics.ignore_part_pos = 1;
+   result->physics.mov_freedom.lin.x = 1;
+   result->physics.mov_freedom.lin.y = 1;
+   result->physics.mov_freedom.ang.z = 1;
+   result->physics.z = -15;
+   result->physics.depth = 30;
+#endif
+
+   return result;
+}
+
+static void
+_edje_program_check(const char *name, Edje_Program *me, Edje_Program **pgrms, unsigned int count)
+{
+   Edje_Part_Collection *pc;
+   unsigned int i;
+   Edje_Program_Parser *epp;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   for (i = 0; i < count; ++i)
+     if (pgrms[i]->name)
+       if (pgrms[i] != me && (!strcmp(name, pgrms[i]->name)))
+        {
+            epp = (Edje_Program_Parser *)pgrms[i];
+            if (!epp->can_override)
+              {
+                 ERR("parse error %s:%i. There is already a program of the name %s",
+                     file_in, line - 1, name);
+                 exit(-1);
+              }
+            else
+              {
+                 _edje_program_remove(pc, me);
+                 current_program = pgrms[i];
+                 epp->can_override = EINA_FALSE;
+                 return;
+              }
+        }
+}
+
+static void
+_edje_program_copy(Edje_Program *ep, Edje_Program *ep2)
+{
+   Edje_Part_Collection *pc;
+   Edje_Program_Target *et, *et2;
+   Edje_Program_After *pa, *pa2;
+   Edje_Program_Parser *epp;
+   Eina_List *l;
+   char *name;
+   char *copy;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   #define STRDUP(x) x ? strdup(x) : NULL
+   ep->name = STRDUP(ep2->name);
+
+   _edje_program_remove(pc, current_program);
+   ep->signal = STRDUP(ep2->signal);
+   ep->source = STRDUP(ep2->source);
+   _edje_program_insert(pc, current_program);
+
+   ep->filter.part = STRDUP(ep2->filter.part);
+   ep->filter.state = STRDUP(ep2->filter.state);
+   ep->in.from = ep2->in.from;
+   ep->in.range = ep2->in.range;
+   ep->action = ep2->action;
+   ep->state = STRDUP(ep2->state);
+   ep->state2 = STRDUP(ep2->state2);
+   ep->value = ep2->value;
+   ep->value2 = ep2->value2;
+   ep->tween.mode = ep2->tween.mode;
+   ep->tween.time = ep2->tween.time;
+   ep->tween.v1 = ep2->tween.v1;
+   ep->tween.v2 = ep2->tween.v2;
+   ep->sample_name = STRDUP(ep2->sample_name);
+   ep->tone_name = STRDUP(ep2->tone_name);
+   ep->duration = ep2->duration;
+   ep->speed = ep2->speed;
+
+   EINA_LIST_FOREACH(ep2->targets, l, et2)
+     {
+        name = (char*) (et2 + 1);
+        et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1);
+        ep->targets = eina_list_append(ep->targets, et);
+        copy = (char*) (et + 1);
+
+        memcpy(copy, name, strlen(name) + 1);
+
+        if (ep2->action == EDJE_ACTION_TYPE_STATE_SET)
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_ACTION_STOP)
+          data_queue_copied_program_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_SCRIPT)
+          data_queue_copied_program_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_SET)
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP)
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE)
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_FOCUS_SET)
+
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else if (ep2->action == EDJE_ACTION_TYPE_FOCUS_OBJECT)
+          data_queue_copied_part_lookup(pc, &(et2->id), &(et->id));
+        else
+          {
+             ERR("parse error %s:%i. target may only be used after action",
+                 file_in, line - 1);
+             exit(-1);
+          }
+     }
+
+   EINA_LIST_FOREACH(ep2->after, l, pa2)
+     {
+        name = (char*) (pa2 + 1);
+        pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
+        ep->after = eina_list_append(ep->after, pa);
+        copy = (char*) (pa + 1);
+        memcpy(copy, name, strlen(name) + 1);
+        data_queue_copied_program_lookup(pc, &(pa2->id), &(pa->id));
+     }
+
+   ep->api.name = STRDUP(ep2->api.name);
+   ep->api.description = STRDUP(ep2->api.description);
+   data_queue_copied_part_lookup(pc, &(ep2->param.src), &(ep->param.src));
+   data_queue_copied_part_lookup(pc, &(ep2->param.dst), &(ep->param.dst));
+
+   epp = (Edje_Program_Parser *)ep;
+   epp->can_override = EINA_TRUE;
+
+   #undef STRDUP
+}
+
+/*****/
+
+/**
+   @edcsection{toplevel,Top-Level blocks}
+ */
+
+/**
+   @edcsubsection{toplevel_externals,Externals}
+ */
+
+/**
+    @page edcref
+
+    @block
+        externals
+    @context
+        externals {
+           external: "name";
+        }
+    @description
+        The "externals" block is used to list each external module file that will be used in others
+       programs.
+    @endblock
+
+    @property
+        external
+    @parameters
+        [external filename]
+    @effect
+        Used to add a file to the externals list.
+    @endproperty
+ */
+static void
+st_externals_external(void)
+{
+   External *ex;
+
+   check_arg_count(1);
+
+   if (!edje_file->external_dir)
+     edje_file->external_dir = mem_alloc(SZ(Edje_External_Directory));
+
+   ex = mem_alloc(SZ(External));
+   ex->name = parse_str(0);
+     {
+       Eina_List *l;
+       External *lex;
+
+       EINA_LIST_FOREACH(externals, l, lex)
+         {
+            if (!strcmp(lex->name, ex->name))
+              {
+                 free(ex->name);
+                 free(ex);
+                 return;
+              }
+         }
+     }
+   externals = eina_list_append(externals, ex);
+
+   if (edje_file->external_dir)
+     {
+       edje_file->external_dir->entries_count++;
+       edje_file->external_dir->entries = realloc(edje_file->external_dir->entries,
+                                                  sizeof (Edje_External_Directory) * edje_file->external_dir->entries_count);
+       memset(edje_file->external_dir->entries + edje_file->external_dir->entries_count - 1,
+              0, sizeof (Edje_External_Directory));
+       if (!edje_file->external_dir->entries)
+         {
+            ERR("not enough memory");
+            exit(-1);
+         }
+
+       edje_file->external_dir->entries[edje_file->external_dir->entries_count - 1].entry = mem_strdup(ex->name);
+     }
+}
+
+/**
+   @edcsubsection{toplevel_images,Images}
+ */
+
+/**
+    @page edcref
+
+    @block
+        images
+    @context
+        images {
+            image: "filename1.ext" COMP;
+            image: "filename2.ext" LOSSY 99;
+           set {
+              name: "image_name_used";
+               image {
+                  image: "filename3.ext" LOSSY 90;
+                  size: 201 201 500 500;
+               }
+               image {
+                  image: "filename4.ext" COMP;
+                  size: 51 51 200 200;
+               }
+               image {
+                  image: "filename5.ext" COMP;
+                  size: 11 11 50 50;
+               }
+               image {
+                  image: "filename6.ext" RAW;
+                  size: 0 0 10 10;
+               }
+            }
+            ..
+        }
+    @description
+        The "images" block is used to list each image file that will be used in
+        the theme along with its compression method (if any).
+        Besides the document's root, additional "images" blocks can be
+        included inside other blocks, normally "collections", "group" and
+        "part", easing maintenance of the file list when the theme is split
+        among multiple files.
+    @endblock
+
+    @property
+        image
+    @parameters
+        [image file] [compression method] (compression level)
+    @effect
+        Used to include each image file. The full path to the directory holding
+        the images can be defined later with edje_cc's "-id" option.
+        Compression methods:
+        @li RAW: Uncompressed.
+        @li COMP: Lossless compression.
+        @li LOSSY [0-100]: Lossy compression with quality from 0 to 100.
+        @li USER: Do not embed the file, refer to the external file instead.
+    @endproperty
+ */
+static void
+st_images_image(void)
+{
+   Edje_Image_Directory_Entry *img;
+   const char *tmp;
+   unsigned int i;
+   int v;
+
+   check_min_arg_count(2);
+
+   if (!edje_file->image_dir)
+     edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
+
+   tmp = parse_str(0);
+
+   for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+     if (!strcmp(edje_file->image_dir->entries[i].entry, tmp))
+       {
+         free((char*) tmp);
+         return;
+       }
+
+   edje_file->image_dir->entries_count++;
+   edje_file->image_dir->entries = realloc(edje_file->image_dir->entries,
+                                          sizeof (Edje_Image_Directory_Entry) * edje_file->image_dir->entries_count);
+   memset(edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1,
+         0, sizeof (Edje_Image_Directory_Entry));
+   if (!edje_file->image_dir->entries)
+     {
+        ERR("No enough memory.");
+        exit(-1);
+     }
+
+   img = edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1;
+
+   img->entry = tmp;
+   img->id = edje_file->image_dir->entries_count - 1;
+   v = parse_enum(1,
+                 "RAW", 0,
+                 "COMP", 1,
+                 "LOSSY", 2,
+                 "USER", 3,
+                 NULL);
+   if (v == 0)
+     {
+       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT;
+       img->source_param = 0;
+     }
+   else if (v == 1)
+     {
+       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT;
+       img->source_param = 1;
+     }
+   else if (v == 2)
+     {
+       img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY;
+       img->source_param = 0;
+     }
+   else if (v == 3)
+     {
+       img->source_type = EDJE_IMAGE_SOURCE_TYPE_EXTERNAL;
+       img->source_param = 0;
+     }
+   if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY)
+       check_arg_count(2);
+   else
+     {
+       img->source_param = parse_int_range(2, 0, 100);
+       check_arg_count(3);
+     }
+}
+
+/**
+   @edcsubsection{toplevel_images_set,Set}
+ */
+
+/**
+    @page edcref
+
+    @block
+        set
+    @context
+    set {
+       name: "image_name_used";
+       image {
+          image: "filename3.ext" LOSSY 90;
+          size: 201 201 500 500;
+       }
+       image {
+          image: "filename4.ext" COMP;
+          size: 51 51 200 200;
+       }
+       image {
+          image: "filename5.ext" COMP;
+          size: 11 11 50 50;
+       }
+       image {
+          image: "filename6.ext" RAW;
+          size: 0 0 10 10;
+       }
+    }
+    @description
+        The "set" block is used to define an image with different content depending on their size.
+        Besides the document's root, additional "set" blocks can be
+        included inside other blocks, normally "collections", "group" and
+        "part", easing maintenance of the file list when the theme is split
+        among multiple files.
+    @endblock
+ */
+static void
+ob_images_set(void)
+{
+   if (!edje_file->image_dir)
+     edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
+
+   edje_file->image_dir->sets_count++;
+   edje_file->image_dir->sets = realloc(edje_file->image_dir->sets,
+                                       sizeof (Edje_Image_Directory_Set) * edje_file->image_dir->sets_count);
+   memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1,
+         0, sizeof (Edje_Image_Directory_Set));
+   if (!edje_file->image_dir->sets)
+     {
+        ERR("Not enough memory.");
+        exit(-1);
+     }
+   edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].id = edje_file->image_dir->sets_count - 1;
+}
+
+/**
+    @page edcref
+
+    @property
+        name
+    @parameters
+        [image name]
+    @effect
+        Define the name that refer to this image description.
+    @endproperty
+*/
+static void
+st_images_set_name(void)
+{
+   check_arg_count(1);
+
+   edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].name = parse_str(0);
+}
+
+/**
+   @edcsubsection{toplevel_images_image,Image}
+ */
+
+/**
+    @page edcref
+
+    @block
+        image
+    @description
+        The "image" block inside a "set" block define the characteristic of an image.
+       Every block will describe one image and the size rule to use it.
+    @endblock
+**/
+static void
+ob_images_set_image(void)
+{
+   Edje_Image_Directory_Set_Entry *entry;
+   Edje_Image_Directory_Set *set;
+
+   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
+
+   entry = mem_alloc(SZ(Edje_Image_Directory_Set_Entry));
+
+   set->entries = eina_list_append(set->entries, entry);
+}
+
+/**
+    @page edcref
+
+    @property
+        image
+    @parameters
+        [image file] [compression method] (compression level)
+    @effect
+        Used to include each image file. The full path to the directory holding
+        the images can be defined later with edje_cc's "-id" option.
+        Compression methods:
+        @li RAW: Uncompressed.
+        @li COMP: Lossless compression.
+        @li LOSSY [0-100]: Lossy compression with quality from 0 to 100.
+        @li USER: Do not embed the file, refer to the external file instead.
+    @endproperty
+**/
+static void
+st_images_set_image_image(void)
+{
+   Edje_Image_Directory_Set_Entry *entry;
+   Edje_Image_Directory_Set *set;
+   unsigned int i;
+
+   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
+   entry = eina_list_data_get(eina_list_last(set->entries));
+
+   /* Add the image to the global pool with the same syntax. */
+   st_images_image();
+
+   entry->name = parse_str(0);
+
+   for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+     if (!strcmp(edje_file->image_dir->entries[i].entry, entry->name))
+       {
+        entry->id = i;
+        return;
+       }
+}
+
+/**
+    @page edcref
+
+    @property
+        size
+    @parameters
+        [minw minh maxw mawh]
+    @effect
+        Define the minimal and maximal size that will select the specified image.
+    @endproperty
+*/
+static void
+st_images_set_image_size(void)
+{
+   Edje_Image_Directory_Set_Entry *entry;
+   Edje_Image_Directory_Set *set;
+
+   set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
+   entry = eina_list_data_get(eina_list_last(set->entries));
+
+   entry->size.min.w = parse_int(0);
+   entry->size.min.h = parse_int(1);
+   entry->size.max.w = parse_int(2);
+   entry->size.max.h = parse_int(3);
+
+   if (entry->size.min.w > entry->size.max.w
+       || entry->size.min.h > entry->size.max.h)
+     {
+       ERR("parse error %s:%i. Image min and max size are not in the right order ([%i, %i] < [%i, %i])",
+          file_in, line - 1,
+          entry->size.min.w, entry->size.min.h,
+          entry->size.max.w, entry->size.max.h);
+       exit(-1);
+     }
+}
+
+/**
+   @edcsubsection{toplevel_fonts,Fonts}
+ */
+
+/**
+    @page edcref
+
+    @block
+        fonts
+    @context
+        fonts {
+            font: "filename1.ext" "fontname";
+            font: "filename2.ext" "otherfontname";
+            ..
+        }
+    @description
+        The "fonts" block is used to list each font file with an alias used later
+        in the theme. As with the "images" block, additional "fonts" blocks can
+        be included inside other blocks.
+    @endblock
+
+    @property
+        font
+    @parameters
+        [font filename] [font alias]
+    @effect
+        Defines each font "file" and "alias", the full path to the directory
+        holding the font files can be defined with edje_cc's "-fd" option.
+    @endproperty
+ */
+static void
+st_fonts_font(void)
+{
+   Edje_Font *fn;
+
+   check_arg_count(2);
+
+   if (!edje_file->fonts)
+     edje_file->fonts = eina_hash_string_small_new(free);
+
+   fn = mem_alloc(SZ(Edje_Font));
+   fn->file = parse_str(0);
+   fn->name = parse_str(1);
+
+   if (eina_hash_find(edje_file->fonts, fn->name))
+     {
+       free(fn->file);
+       free(fn->name);
+       free(fn);
+       return;
+     }
+
+   eina_hash_direct_add(edje_file->fonts, fn->name, fn);
+}
+
+/**
+   @edcsubsection{toplevel_data,Data}
+ */
+
+/**
+    @page edcref
+    @block
+        data
+    @context
+        data {
+            item: "key" "value";
+            file: "otherkey" "filename.ext";
+            ..
+        }
+    @description
+        The "data" block is used to pass arbitrary parameters from the theme to
+        the application. Unlike the "images" and "fonts" blocks, additional
+        "data" blocks can only be included inside the "group" block.
+    @endblock
+
+    @property
+        item
+    @parameters
+        [parameter name] [parameter value]
+    @effect
+        Defines a new parameter, the value will be the string specified next to
+        it.
+    @endproperty
+ */
+static void
+st_data_item(void)
+{
+   Edje_String *es;
+   char *key;
+
+   check_arg_count(2);
+
+   key = parse_str(0);
+
+   es = mem_alloc(SZ(Edje_String));
+   es->str = parse_str(1);
+
+   if (!edje_file->data)
+     edje_file->data = eina_hash_string_small_new(free);
+
+   /* FIXME: check if data already exist */
+   eina_hash_direct_add(edje_file->data, key, es);
+}
+
+/**
+    @page edcref
+    @property
+        file
+    @parameters
+        [parameter name] [parameter filename]
+    @effect
+        Defines a new parameter, the value will be the contents of the
+        specified file formated as a single string of text. This property only
+        works with plain text files.
+    @endproperty
+ */
+static void
+st_data_file(void)
+{
+   const char *data;
+   const char *over;
+   Edje_String *es;
+   char *filename;
+   char *value;
+   char *key;
+   int fd;
+   int i;
+   struct stat buf;
+
+   check_arg_count(2);
+
+   key = parse_str(0);
+
+   es = mem_alloc(SZ(Edje_String));
+   filename = parse_str(1);
+
+   fd = open(filename, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR);
+   if (fd < 0)
+     {
+        ERR("%s:%i when opening file \"%s\": \"%s\"",
+           file_in, line, filename, strerror(errno));
+        exit(-1);
+     }
+
+   if (fstat(fd, &buf))
+     {
+        ERR("%s:%i when stating file \"%s\": \"%s\"",
+           file_in, line, filename, strerror(errno));
+        exit(-1);
+     }
+
+   data = mmap(NULL, buf.st_size, PROT_READ, MAP_SHARED, fd, 0);
+   if (data == MAP_FAILED)
+     {
+        ERR("%s:%i when mapping file \"%s\": \"%s\"",
+           file_in, line, filename, strerror(errno));
+        exit(-1);
+     }
+
+   over = data;
+   for (i = 0; i < buf.st_size; ++i, ++over)
+     if (*over == '\0')
+       {
+          ERR("%s:%i file \"%s\" is a binary file.", file_in, line, filename);
+          exit(-1);
+       }
+
+   value = malloc(sizeof (char) * buf.st_size + 1);
+   snprintf(value, buf.st_size + 1, "%s", data);
+
+   munmap((void*)data, buf.st_size);
+   close(fd);
+
+   es->str = value;
+
+   eina_hash_direct_add(edje_file->data, key, es);
+
+   free(filename);
+}
+
+/**
+   @edcsubsection{toplevel_color_classes,Color Classes}
+ */
+
+/**
+    @page edcref
+    @block
+        color_classes
+    @context
+        color_classes {
+            color_class {
+                name:  "colorclassname";
+                color:  [0-255] [0-255] [0-255] [0-255];
+                color2: [0-255] [0-255] [0-255] [0-255];
+                color3: [0-255] [0-255] [0-255] [0-255]
+            }
+            ..
+        }
+    @description
+        The "color_classes" block contains a list of one or more "color_class"
+        blocks. Each "color_class" allows the designer to name an arbitrary
+        group of colors to be used in the theme, the application can use that
+        name to alter the color values at runtime.
+    @endblock
+*/
+static void
+ob_color_class(void)
+{
+   Edje_Color_Class *cc;
+
+   cc = mem_alloc(SZ(Edje_Color_Class));
+   edje_file->color_classes = eina_list_append(edje_file->color_classes, cc);
+
+   cc->r = 0;
+   cc->g = 0;
+   cc->b = 0;
+   cc->a = 0;
+   cc->r2 = 0;
+   cc->g2 = 0;
+   cc->b2 = 0;
+   cc->a2 = 0;
+   cc->r3 = 0;
+   cc->g3 = 0;
+   cc->b3 = 0;
+   cc->a3 = 0;
+}
+
+/**
+    @page edcref
+
+    @property
+        name
+    @parameters
+        [color class name]
+    @effect
+        Sets the name for the color class, used as reference by both the theme
+        and the application.
+    @endproperty
+*/
+static void
+st_color_class_name(void)
+{
+   Edje_Color_Class *cc, *tcc;
+   Eina_List *l;
+
+   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
+   cc->name = parse_str(0);
+   EINA_LIST_FOREACH(edje_file->color_classes, l, tcc)
+     {
+       if ((cc != tcc) && (!strcmp(cc->name, tcc->name)))
+         {
+            ERR("parse error %s:%i. There is already a color class named \"%s\"",
+                file_in, line - 1, cc->name);
+            exit(-1);
+         }
+     }
+}
+
+/**
+    @page edcref
+    @property
+        color
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        The main color.
+    @endproperty
+*/
+static void
+st_color_class_color(void)
+{
+   Edje_Color_Class *cc;
+
+   check_arg_count(4);
+
+   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
+   cc->r = parse_int_range(0, 0, 255);
+   cc->g = parse_int_range(1, 0, 255);
+   cc->b = parse_int_range(2, 0, 255);
+   cc->a = parse_int_range(3, 0, 255);
+}
+
+/**
+    @page edcref
+    @property
+        color2
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        Used as outline in text and textblock parts.
+    @endproperty
+*/
+static void
+st_color_class_color2(void)
+{
+   Edje_Color_Class *cc;
+
+   check_arg_count(4);
+
+   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
+   cc->r2 = parse_int_range(0, 0, 255);
+   cc->g2 = parse_int_range(1, 0, 255);
+   cc->b2 = parse_int_range(2, 0, 255);
+   cc->a2 = parse_int_range(3, 0, 255);
+}
+
+/**
+    @page edcref
+    @property
+        color3
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        Used as shadow in text and textblock parts.
+    @endproperty
+*/
+static void
+st_color_class_color3(void)
+{
+   Edje_Color_Class *cc;
+
+   check_arg_count(4);
+
+   cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
+   cc->r3 = parse_int_range(0, 0, 255);
+   cc->g3 = parse_int_range(1, 0, 255);
+   cc->b3 = parse_int_range(2, 0, 255);
+   cc->a3 = parse_int_range(3, 0, 255);
+}
+
+/**
+   @edcsubsection{toplevel_styles,Styles}
+ */
+
+/**
+    @page edcref
+    @block
+        styles
+    @context
+        styles {
+            style {
+                name: "stylename";
+                base: "..default style properties..";
+
+                tag:  "tagname" "..style properties..";
+                ..
+            }
+            ..
+        }
+    @description
+        The "styles" block contains a list of one or more "style" blocks. A
+        "style" block is used to create style \<tags\> for advanced TEXTBLOCK
+        formatting.
+    @endblock
+*/
+static void
+ob_styles_style(void)
+{
+   Edje_Style *stl;
+
+   stl = mem_alloc(SZ(Edje_Style));
+   edje_file->styles = eina_list_append(edje_file->styles, stl);
+}
+
+/**
+    @page edcref
+    @property
+        name
+    @parameters
+        [style name]
+    @effect
+        The name of  the style to be used as reference later in the theme.
+    @endproperty
+*/
+static void
+st_styles_style_name(void)
+{
+   Edje_Style *stl, *tstl;
+   Eina_List *l;
+
+   stl = eina_list_data_get(eina_list_last(edje_file->styles));
+   stl->name = parse_str(0);
+   EINA_LIST_FOREACH(edje_file->styles, l, tstl)
+     {
+       if (stl->name && tstl->name && (stl != tstl) && (!strcmp(stl->name, tstl->name)))
+         {
+            ERR("parse error %s:%i. There is already a style named \"%s\"",
+                file_in, line - 1, stl->name);
+            exit(-1);
+         }
+     }
+}
+
+/**
+    @page edcref
+    @property
+        base
+    @parameters
+        [style properties string]
+    @effect
+        The default style properties that will be applied to the complete
+        text.
+    @endproperty
+*/
+static void
+st_styles_style_base(void)
+{
+   Edje_Style *stl;
+   Edje_Style_Tag *tag;
+
+   stl = eina_list_data_get(eina_list_last(edje_file->styles));
+   if (stl->tags)
+     {
+        ERR("parse error %s:%i. There is already a basic format for the style",
+            file_in, line - 1);
+        exit(-1);
+     }
+   tag = mem_alloc(SZ(Edje_Style_Tag));
+   tag->key = mem_strdup("DEFAULT");
+   tag->value = parse_str(0);
+   stl->tags = eina_list_append(stl->tags, tag);
+}
+
+/**
+    @page edcref
+    @property
+        tag
+    @parameters
+        [tag name] [style properties string]
+    @effect
+        Style to be applied only to text between style \<tags\>..\</tags\>.
+        When creating "paired" tags, like \<bold\>\</bold\>, A '+' should be added at the start of the style properties of the first part (\<bold\>).
+        If the second part (\</bold\>) is also defined, a '-' should be prepended to it's style properties.
+        This only applies to paired tags; Single tags, like \<tab\>, must not include a starting '+'.
+    @endproperty
+*/
+static void
+st_styles_style_tag(void)
+{
+   Edje_Style *stl;
+   Edje_Style_Tag *tag;
+
+   stl = eina_list_data_get(eina_list_last(edje_file->styles));
+   tag = mem_alloc(SZ(Edje_Style_Tag));
+   tag->key = parse_str(0);
+   tag->value = parse_str(1);
+   stl->tags = eina_list_append(stl->tags, tag);
+}
+
+/**
+   @edcsection{collections,Collections Blocks}
+ */
+
+/**
+    @page edcref
+    @block
+        collections
+    @context
+        collections {
+            ..
+            sounds { }
+            group { }
+            group { }
+            ..
+        }
+    @description
+        The "collections" block is used to list the groups that compose the
+        theme. Additional "collections" blocks do not prevent overriding group
+        names. The "sounds" block comprises of all sound definitions.
+    @endblock
+*/
+static void
+ob_collections(void)
+{
+   if (!edje_file->collection)
+     {
+        edje_file->collection = eina_hash_string_small_new(NULL);
+        edje_collections_lookup = eina_hash_int32_new(NULL);
+     }
+}
+
+/**
+   @edcsubsection{collections_sounds,Sounds}
+ */
+
+/**
+    @page edcref
+    @block
+        sounds
+    @context
+        sounds {
+           sample {
+              name: "sound_file1" COMP;
+              source: "sound_file1.wav";
+           }
+           sample {
+              name: "sound_file2" LOSSY 0.4;
+              source: "sound_file2.wav";
+           }
+           tone: "tone-1"  2300;
+        }
+
+    @description
+        The "sounds" block contains a list of one or more sound sample and tones items.
+    @endblock
+*/
+
+/**
+   @edcsubsection{collections_sounds_sample,Sample}
+ */
+
+/**
+    @page edcref
+    @block
+        sample
+    @context
+       sample {
+          name: "sound_file1" RAW;
+          source: "sound_file1.wav";
+       }
+       sample {
+          name: "sound_file2" LOSSY 0.5;
+          source: "sound_file2.wav";
+       }
+       sample {
+          name: "sound_file3" COMP;
+          source: "sound_file3.wav";
+       }
+       sample {
+          name: "sound_file4" AS_IS;
+          source: "sound_file1.wav";
+       }
+    @description
+        The sample block defines the sound sample.
+    @endblock
+    @property
+        name
+    @parameters
+        [sample name] [compression type] [if lossy, then quality]
+    @effect
+        Used to include each sound file. The full path to the directory holding
+        the sounds can be defined later with edje_cc's "-sd" option.
+        @li RAW: Uncompressed.
+        @li COMP: Lossless compression.
+        @li LOSSY [-0.1  - 1.0]: Lossy compression with quality from 0 to 1.0.
+        @li AS_IS: Check for re-encoding, no compression/encoding, just write the file information as it is.
+    @endproperty
+    @since 1.1.0
+ */
+static void
+st_collections_group_sound_sample_name(void)
+{
+   Edje_Sound_Sample *sample;
+   const char *tmp;
+   unsigned int i;
+   
+   if (!edje_file->sound_dir)
+     edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory));
+   
+   tmp = parse_str(0);
+   
+   for (i = 0; i < edje_file->sound_dir->samples_count; i++)
+     {
+        if (!strcmp(edje_file->sound_dir->samples[i].name, tmp))
+          {
+             free((char *)tmp);
+             return;
+          }
+     }
+   
+   edje_file->sound_dir->samples_count++;
+   edje_file->sound_dir->samples = 
+     realloc(edje_file->sound_dir->samples,
+             sizeof(Edje_Sound_Sample) * 
+             edje_file->sound_dir->samples_count);
+
+   if (!edje_file->sound_dir->samples)
+     {
+        ERR("No enough memory.");
+        exit(-1);
+     }
+   
+   sample =
+     edje_file->sound_dir->samples +
+     edje_file->sound_dir->samples_count - 1;
+   memset(sample, 0, sizeof (Edje_Sound_Sample));
+   
+   sample->name = tmp;
+   sample->id = edje_file->sound_dir->samples_count - 1;
+   sample->compression = parse_enum(1,
+                                    "RAW", EDJE_SOUND_SOURCE_TYPE_INLINE_RAW,
+                                    "COMP", EDJE_SOUND_SOURCE_TYPE_INLINE_COMP,
+                                    "LOSSY", EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY,
+                                    "AS_IS", EDJE_SOUND_SOURCE_TYPE_INLINE_AS_IS,
+                                    NULL);
+   
+   if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY)
+     {
+        sample->quality = parse_float_range(2, 45.0, 1000.0);
+        check_arg_count(3);
+     }
+   else
+     check_arg_count(2);
+
+}
+
+/**
+    @page edcref
+    @property
+        source
+    @parameters
+        [sound file name]
+    @effect
+        The Sound source file name (Source can be mono/stereo WAV file.
+        Only files with 44.1 KHz sample rate supported now)
+    @endproperty
+    @since 1.1.0
+ */
+static void
+st_collections_group_sound_sample_source(void)
+{
+   Edje_Sound_Sample *sample;
+
+   if (!edje_file->sound_dir->samples)
+     {
+        ERR("Invalid sound sample source definition.");
+        exit(-1);
+     }
+   
+   sample = 
+     edje_file->sound_dir->samples +
+     edje_file->sound_dir->samples_count - 1;
+   
+   if (!sample)
+     {
+        ERR("Invalid sound sample source definition.");
+        exit(-1);
+     }
+   sample->snd_src = parse_str(0);
+   check_arg_count(1);
+}
+
+/**
+    @page edcref
+    @property
+        tone
+    @parameters
+        [tone name] [frequency]
+    @effect
+        sound of specific frequency
+    @endproperty
+    @since 1.1.0
+ */
+static void
+st_collections_group_sound_tone(void)
+{
+   Edje_Sound_Tone *tone;
+   const char *tmp;
+   unsigned int i;
+   int value;
+
+   check_arg_count(2);
+   
+   if (!edje_file->sound_dir)
+     edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory));
+   
+   tmp = parse_str(0);
+   /* Audible range 20 to 20KHz */
+   value = parse_int_range(1, 20, 20000);
+   
+   /* Check for Tone duplication */
+   for (i = 0; i < edje_file->sound_dir->tones_count; i++)
+     {
+        if (!strcmp(edje_file->sound_dir->tones[i].name, tmp))
+          {
+             ERR("Tone name: %s already exist.", tmp);
+             free((char *)tmp);
+             exit(-1);
+          }
+        if (edje_file->sound_dir->tones[i].value == value)
+          {
+             ERR("Tone name %s with same frequency %d exist.",
+                 edje_file->sound_dir->tones[i].name, value);
+             exit(-1);
+          }
+     }
+   edje_file->sound_dir->tones_count++;
+   edje_file->sound_dir->tones = 
+     realloc(edje_file->sound_dir->tones,
+             sizeof (Edje_Sound_Tone) * 
+             edje_file->sound_dir->tones_count);
+   
+   if (!edje_file->sound_dir->tones)
+     {
+        ERR("No enough memory.");
+        exit(-1);
+     }
+   
+   tone = edje_file->sound_dir->tones + edje_file->sound_dir->tones_count - 1;
+   memset(tone, 0, sizeof (Edje_Sound_Tone));
+   
+   tone->name = tmp;
+   tone->value = value;
+   tone->id = edje_file->sound_dir->tones_count - 1;
+}
+
+/**
+   @edcsubsection{collections_group,Group}
+ */
+
+/**
+    @page edcref
+    @block
+        group
+    @context
+        collections {
+            ..
+            group {
+                name: "nameusedbytheapplication";
+                alias: "anothername";
+                min: width height;
+                max: width height;
+
+                script { }
+                limits { }
+                data { }
+                parts { }
+                programs { }
+            }
+            ..
+        }
+    @description
+        A "group" block contains the list of parts and programs that compose a
+        given Edje Object.
+    @endblock
+*/
+static void
+ob_collections_group(void)
+{
+   Edje_Part_Collection *pc;
+   Code *cd;
+
+   if (current_de && !current_de->entry)
+     {
+        ERR("A collection without a name was detected, that's not allowed.");
+        exit(-1);
+     }
+
+   current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
+   current_de->id = eina_list_count(edje_collections);
+
+   eina_hash_add(edje_collections_lookup, &current_de->id, current_de);
+
+   pc = mem_alloc(SZ(Edje_Part_Collection));
+   edje_collections = eina_list_append(edje_collections, pc);
+   pc->id = current_de->id;
+   pc->broadcast_signal = EINA_TRUE; /* This was the behaviour by default in Edje 1.1 */
+
+   cd = mem_alloc(SZ(Code));
+   codes = eina_list_append(codes, cd);
+
+#ifdef HAVE_EPHYSICS
+   pc->physics.world.gravity.x = 0;
+   pc->physics.world.gravity.y = 294;
+   pc->physics.world.gravity.z = 0;
+   pc->physics.world.depth = 100;
+   pc->physics.world.z = -50;
+   pc->physics.world.rate = FROM_DOUBLE(30);
+#endif
+}
+
+/**
+    @page edcref
+    @property
+        name
+    @parameters
+        [group name]
+    @effect
+        The name that will be used by the application to load the resulting
+        Edje object and to identify the group to swallow in a GROUP part. If a
+        group with the same name exists already it will be completely overriden
+        by the new group.
+    @endproperty
+*/
+static void
+st_collections_group_name(void)
+{
+   Edje_Part_Collection_Directory_Entry *alias;
+   Edje_Part_Collection_Directory_Entry *older;
+   Edje_Part_Collection *current_pc;
+   Eina_List *l = NULL;
+
+   check_arg_count(1);
+
+   current_pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   current_de->entry = parse_str(0);
+   current_pc->part = current_de->entry;
+
+   older = eina_hash_find(edje_file->collection, current_de->entry);
+   if (older) eina_hash_del(edje_file->collection, current_de->entry, older);
+   eina_hash_direct_add(edje_file->collection, current_de->entry, current_de);
+   if (!older) return;
+
+   EINA_LIST_FOREACH(aliases, l, alias)
+     if (strcmp(alias->entry, current_de->entry) == 0)
+       {
+          Edje_Part_Collection *pc;
+
+          pc = eina_list_nth(edje_collections, older->id);
+          INF("overriding alias ('%s' => '%s') by group '%s'",
+              alias->entry, pc->part,
+              current_de->entry);
+          aliases = eina_list_remove_list(aliases, l);
+          free(alias);
+          break;
+       }
+
+}
+
+typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data;
+struct _Edje_List_Foreach_Data
+{
+   Eina_List *list;
+};
+
+static Eina_Bool
+_edje_data_item_list_foreach(const Eina_Hash *hash EINA_UNUSED, const void *key, void *data EINA_UNUSED, void *fdata)
+{
+   Edje_List_Foreach_Data *fd;
+
+   fd = fdata;
+   fd->list = eina_list_append(fd->list, strdup(key));
+
+   return EINA_TRUE;
+}
+
+/**
+    @page edcref
+    @property
+        inherit
+    @parameters
+        [parent group name]
+    @effect
+        Parent group name for inheritance.
+        Group "inherit" is used to inherit any predefined group and change
+        some property which belongs to "part", "description", "items" or "program".
+        The child group has the same property as parent group. If you specify the
+        type again in an inherited part, it will cause an error (unless you plan
+        to fix that).
+    @endproperty
+    @since 1.1.0
+*/
+static void
+st_collections_group_inherit(void)
+{
+   Edje_Part_Collection *pc, *pc2;
+   Edje_Part *ep, *ep2;
+   Edje_Part_Parser *epp, *epp2;
+   Edje_Pack_Element *item, *item2;
+   Edje_Pack_Element_Parser *pitem;
+   Edje_Part_Description_Common *ed, *ed2;
+   Edje_List_Foreach_Data fdata;
+   Eina_List *l;
+   char *parent_name;
+   unsigned int i, j;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   parent_name = parse_str(0);
+
+   EINA_LIST_FOREACH(edje_collections, l, pc2)
+     {
+        if (!strcmp(parent_name, pc2->part))
+          break;
+     }
+   if (!pc2)
+     {
+        ERR("parse error %s:%i. There isn't a group with the name %s",
+            file_in, line - 1, parent_name);
+        exit(-1);
+     }
+   if (pc2 == pc)
+     {
+        ERR("parse error %s:%i. You are trying to inherit '%s' from itself. That's not possible."
+            "If there is another group of the same name, you want to inherit from that group and have the"
+            "same name as that group, there is a trick ! Just put the inherit before the directive that set"
+            "the name !", file_in, line - 1, parent_name);
+        exit(-1);
+     }
+
+   if (pc2->data)
+     {
+        char *key, *data;
+
+        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
+        eina_hash_foreach(pc2->data,
+                     _edje_data_item_list_foreach, &fdata);
+
+        if (!pc->data) pc->data = eina_hash_string_small_new(free);
+        EINA_LIST_FREE(fdata.list, key)
+          {
+             data = eina_hash_find(pc2->data, key);
+             eina_hash_direct_add(pc->data, key, data);
+          }
+     }
+
+   if (pc2->alias)
+     {
+        char *key, *alias;
+
+        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
+        eina_hash_foreach(pc2->alias,
+                     _edje_data_item_list_foreach, &fdata);
+        if (!pc->alias) pc->alias = eina_hash_string_small_new(free);
+        EINA_LIST_FREE(fdata.list, key)
+          {
+             alias = eina_hash_find(pc2->alias, key);
+             eina_hash_direct_add(pc->alias, key, alias);
+          }
+     }
+   if (pc2->aliased)
+     {
+        char *key, *aliased;
+
+        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
+        eina_hash_foreach(pc2->aliased,
+                          _edje_data_item_list_foreach, &fdata);
+        if (!pc->aliased) pc->aliased = eina_hash_string_small_new(free);
+        EINA_LIST_FREE(fdata.list, key)
+          {
+             aliased = eina_hash_find(pc2->aliased, key);
+             eina_hash_direct_add(pc->aliased, key, aliased);
+          }
+     }
+
+#ifdef HAVE_EPHYSICS
+   pc->physics.world.gravity.x = pc2->physics.world.gravity.x;
+   pc->physics.world.gravity.y = pc2->physics.world.gravity.y;
+   pc->physics.world.gravity.z = pc2->physics.world.gravity.z;
+   pc->physics.world.depth = pc2->physics.world.depth;
+   pc->physics.world.z = pc2->physics.world.z;
+   pc->physics.world.rate = pc2->physics.world.rate;
+#endif
+
+   pc->prop.min.w = pc2->prop.min.w;
+   pc->prop.min.h = pc2->prop.min.h;
+   pc->prop.orientation = pc2->prop.orientation;
+
+   pc->lua_script_only = pc2->lua_script_only;
+
+   #define STRDUP(x) x ? strdup(x) : NULL
+   for (i = 0 ; i < pc2->parts_count ; i++)
+     {
+        // copy the part
+        edje_cc_handlers_part_make();
+        ep = pc->parts[i];
+        ep2 = pc2->parts[i];
+        ep->name = STRDUP(ep2->name);
+        ep->source = STRDUP(ep2->source);
+        ep->source2 = STRDUP(ep2->source2);
+        ep->source3 = STRDUP(ep2->source3);
+        ep->source4 = STRDUP(ep2->source4);
+        ep->source5 = STRDUP(ep2->source5);
+        ep->source6 = STRDUP(ep2->source6);
+
+        data_queue_copied_part_lookup(pc, &(ep2->clip_to_id), &(ep->clip_to_id));
+
+        ep->type = ep2->type;
+        ep->mouse_events = ep2->mouse_events;
+        ep->repeat_events = ep2->repeat_events;
+        ep->ignore_flags = ep2->ignore_flags;
+        ep->scale = ep2->scale;
+        ep->pointer_mode = ep2->pointer_mode;
+        ep->precise_is_inside = ep2->precise_is_inside;
+        ep->use_alternate_font_metrics = ep2->use_alternate_font_metrics;
+        ep->effect = ep2->effect;
+        ep->entry_mode = ep2->entry_mode;
+        ep->select_mode = ep2->select_mode;
+        ep->cursor_mode = ep2->cursor_mode;
+        ep->multiline = ep2->multiline;
+        ep->access = ep2->access;
+        ep->dragable.x = ep2->dragable.x;
+        ep->dragable.step_x = ep2->dragable.step_x;
+        ep->dragable.count_x = ep2->dragable.count_x;
+        ep->dragable.y = ep2->dragable.y;
+        ep->dragable.step_y = ep2->dragable.step_y;
+        ep->dragable.count_y = ep2->dragable.count_y;
+        ep->nested_children_count = ep2->nested_children_count;
+
+        data_queue_copied_part_lookup(pc, &(ep2->dragable.confine_id), &(ep->dragable.confine_id));
+        data_queue_copied_part_lookup(pc, &(ep2->dragable.event_id), &(ep->dragable.event_id));
+
+        epp = (Edje_Part_Parser *)ep;
+        epp2 = (Edje_Part_Parser *)ep2;
+        epp->reorder.insert_before = STRDUP(epp2->reorder.insert_before);
+        epp->reorder.insert_after = STRDUP(epp2->reorder.insert_after);
+        epp->can_override = EINA_TRUE;
+
+        for (j = 0 ; j < ep2->items_count ; j++)
+          {
+             ob_collections_group_parts_part_box_items_item();
+             item = ep->items[j];
+             item2 = ep2->items[j];
+             item->type = item2->type;
+             item->name = STRDUP(item2->name);
+             item->source = STRDUP(item2->source);
+             item->min.w = item2->min.w;
+             item->min.h = item2->min.h;
+             item->prefer.w = item2->prefer.w;
+             item->prefer.h = item2->prefer.h;
+             item->max.w = item2->max.w;
+             item->max.h = item2->max.h;
+             item->padding.l = item2->padding.l;
+             item->padding.r = item2->padding.r;
+             item->padding.t = item2->padding.t;
+             item->padding.b = item2->padding.b;
+             item->align.x = item2->align.x;
+             item->align.y = item2->align.y;
+             item->weight.x = item2->weight.x;
+             item->weight.y = item2->weight.y;
+             item->aspect.w = item2->aspect.w;
+             item->aspect.h = item2->aspect.h;
+             item->aspect.mode = item2->aspect.mode;
+             item->options = STRDUP(item2->options);
+             item->col = item2->col;
+             item->row = item2->row;
+             item->colspan = item2->colspan;
+             item->rowspan = item2->rowspan;
+
+             pitem = (Edje_Pack_Element_Parser *)item;
+             pitem->can_override = EINA_TRUE;
+          }
+
+        ep->api.name = STRDUP(ep2->api.name);
+        if (ep2->api.description) ep->api.description = STRDUP(ep2->api.description);
+
+        // copy default description
+        ob_collections_group_parts_part_description();
+        ed = ep->default_desc;
+        parent_desc = ed2 = ep2->default_desc;
+        ed->state.name = STRDUP(ed2->state.name);
+        ed->state.value = ed2->state.value;
+        st_collections_group_parts_part_description_inherit();
+        parent_desc = NULL;
+
+        // copy other description
+        for (j = 0 ; j < ep2->other.desc_count ; j++)
+          {
+             ob_collections_group_parts_part_description();
+             ed = ep->other.desc[j];
+             parent_desc = ed2 = ep2->other.desc[j];
+             ed->state.name = STRDUP(ed2->state.name);
+             ed->state.value = ed2->state.value;
+             st_collections_group_parts_part_description_inherit();
+             parent_desc = NULL;
+          }
+     }
+
+   //copy programs
+   for (j = 0 ; j < pc2->programs.fnmatch_count ; j++)
+     {
+        ob_collections_group_programs_program();
+        _edje_program_copy(current_program, pc2->programs.fnmatch[j]);
+     }
+   for (j = 0 ; j < pc2->programs.strcmp_count ; j++)
+     {
+        ob_collections_group_programs_program();
+        _edje_program_copy(current_program, pc2->programs.strcmp[j]);
+     }
+   for (j = 0 ; j < pc2->programs.strncmp_count ; j++)
+     {
+        ob_collections_group_programs_program();
+        _edje_program_copy(current_program, pc2->programs.strncmp[j]);
+     }
+   for (j = 0 ; j < pc2->programs.strrncmp_count ; j++)
+     {
+        ob_collections_group_programs_program();
+        _edje_program_copy(current_program, pc2->programs.strrncmp[j]);
+     }
+   for (j = 0 ; j < pc2->programs.nocmp_count ; j++)
+     {
+        ob_collections_group_programs_program();
+        _edje_program_copy(current_program, pc2->programs.nocmp[j]);
+     }
+
+   Code *cd, *cd2;
+   Code_Program *cp, *cp2;
+   Edje_Part_Collection_Directory_Entry *de;
+
+   de = eina_hash_find(edje_file->collection, pc2->part);
+   cd2 = eina_list_nth(codes, de->id);
+   cd = eina_list_data_get(eina_list_last(codes));
+
+   EINA_LIST_FOREACH(cd2->programs, l, cp2)
+     {
+        cp = mem_alloc(SZ(Code_Program));
+
+        cp->l1 = cp2->l1;
+        cp->l2 = cp2->l2;
+        cp->script = STRDUP(cp2->script);
+        cd->is_lua = cd2->is_lua;
+        cd->shared = cd2->shared;
+        cd->programs = eina_list_append(cd->programs, cp);
+        data_queue_copied_anonymous_lookup(pc, &(cp2->id), &(cp->id));
+     }
+
+   free(parent_name);
+   #undef STRDUP
+}
+
+/**
+    @page edcref
+    @property
+        script_only
+    @parameters
+        [on/off]
+    @effect
+        The flag (on/off) as to if this group is defined ONLY by script
+        callbacks such as init(), resize() and shutdown()
+    @endproperty
+*/
+static void
+st_collections_group_script_only(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->lua_script_only = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        alias
+    @parameters
+        [aditional group name]
+    @effect
+        Additional name to serve as identifier. Defining multiple aliases is
+        supported.
+    @endproperty
+*/
+static void
+st_collections_group_alias(void)
+{
+   Edje_Part_Collection_Directory_Entry *alias;
+   Edje_Part_Collection_Directory_Entry *tmp;
+   Eina_List *l;
+
+   check_arg_count(1);
+
+   alias = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
+   alias->id = current_de->id;
+   alias->entry = parse_str(0);
+
+   EINA_LIST_FOREACH(aliases, l, tmp)
+     if (strcmp(alias->entry, tmp->entry) == 0)
+       {
+          Edje_Part_Collection *pc;
+
+          pc = eina_list_nth(edje_collections, tmp->id);
+          INF("overriding alias ('%s' => '%s') to ('%s' => '%s')",
+              tmp->entry, pc->part,
+              alias->entry, current_de->entry);
+          aliases = eina_list_remove_list(aliases, l);
+          free(tmp);
+          break;
+       }
+
+   aliases = eina_list_append(aliases, alias);
+}
+
+/**
+    @page edcref
+    @property
+        min
+    @parameters
+        [width] [height]
+    @effect
+        The minimum size for the container defined by the composition of the
+        parts. It is not enforced.
+    @endproperty
+*/
+static void
+st_collections_group_min(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(2);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->prop.min.w = parse_int_range(0, 0, 0x7fffffff);
+   pc->prop.min.h = parse_int_range(1, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        max
+    @parameters
+        [width] [height]
+    @effect
+        The maximum size for the container defined by the totality of the
+        parts. It is not enforced.
+    @endproperty
+*/
+static void
+st_collections_group_max(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(2);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->prop.max.w = parse_int_range(0, 0, 0x7fffffff);
+   pc->prop.max.h = parse_int_range(1, 0, 0x7fffffff);
+}
+
+/**
+   @page edcref
+   @property
+       broadcast_signal
+   @parameters
+       [broadcast]
+   @effect
+       Signal got automatically broadcasted to all sub group part. Default to
+       true since 1.1.
+   @endproperty
+*/
+static void
+st_collections_group_broadcast_signal(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->broadcast_signal = parse_bool(0);
+}
+
+/**
+   @edcsubsection{collections_group_script,Script}
+ */
+
+/**
+    @page edcref
+    @block
+        script
+    @context
+        ..
+        group {
+            script {
+                //embryo script
+            }
+            ..
+            program {
+                script {
+                    //embryo script
+                }
+            }
+            ..
+        }
+        ..
+    @description
+        This block is used to "inject" embryo scripts to a given Edje theme and
+        it functions in two modalities. When it's included inside a "program"
+        block, the script will be executed every time the program is run, on
+        the other hand, when included directly into a "group", "part" or
+        "description" block, it will be executed once at load time, in the
+        load order.
+    @endblock
+*/
+static void
+ob_collections_group_script(void)
+{
+   Code *cd;
+
+   cd = eina_list_data_get(eina_list_last(codes));
+
+   if (!is_verbatim()) track_verbatim(1);
+   else
+     {
+       char *s;
+
+       s = get_verbatim();
+       if (s)
+         {
+            cd->l1 = get_verbatim_line1();
+            cd->l2 = get_verbatim_line2();
+            if (cd->shared)
+              {
+                 ERR("parse error %s:%i. There is already an existing script section for the group",
+                     file_in, line - 1);
+                 exit(-1);
+              }
+            cd->shared = s;
+             cd->original = strdup(s);
+            cd->is_lua = 0;
+            set_verbatim(NULL, 0, 0);
+         }
+     }
+}
+
+static void
+ob_collections_group_lua_script(void)
+{
+   Code *cd;
+
+   cd = eina_list_data_get(eina_list_last(codes));
+
+   if (!is_verbatim()) track_verbatim(1);
+   else
+     {
+       char *s;
+
+       s = get_verbatim();
+       if (s)
+         {
+            cd->l1 = get_verbatim_line1();
+            cd->l2 = get_verbatim_line2();
+            if (cd->shared)
+              {
+                 ERR("parse error %s:%i. There is already an existing script section for the group",
+                     file_in, line - 1);
+                 exit(-1);
+              }
+            cd->shared = s;
+            cd->is_lua = 1;
+            set_verbatim(NULL, 0, 0);
+         }
+     }
+}
+
+static void
+st_collections_group_data_item(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_String *es;
+   char *key;
+
+   check_arg_count(2);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   if (!pc->data)
+     pc->data = eina_hash_string_small_new(free);
+
+   key = parse_str(0);
+
+   es = mem_alloc(SZ(Edje_String));
+   es->str = parse_str(1);
+
+   if (eina_hash_find(pc->data, key))
+     eina_hash_modify(pc->data, key, es);
+   else
+     eina_hash_direct_add(pc->data, key, es);
+}
+
+/**
+    @page edcref
+    @property
+        orientation
+    @parameters
+    enum AUTO, LTR, RTL
+    @effect
+        This defines GROUP orientation.
+        This is useful if you want match interface orientation with language.
+        AUTO  - Follow system defs.
+        LTR  - suitable for Left To Right Languages (latin)
+        RTL - suitable for Right To Left Languages (Hebrew, Arabic interface)
+    @endproperty
+*/
+static void
+st_collections_group_orientation(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->prop.orientation = parse_enum(0,
+         "AUTO", EDJE_ORIENTATION_AUTO,
+         "LTR", EDJE_ORIENTATION_LTR,
+         "RTL", EDJE_ORIENTATION_RTL,
+         NULL);
+}
+
+/**
+   @edcsubsection{collections_group_limits,Limits}
+ */
+
+/**
+    @page edcref
+    @block
+        limits
+    @context
+        group {
+            limits {
+                vertical: "limit_name" height_barrier;
+                horizontal: "limit_name" width_barrier;
+                ..
+            }
+            ..
+        }
+        ..
+    @description
+        This block is used to trigger some signal when the Edje object is resized.
+    @endblock
+
+    @page edcref
+    @property
+        vertical
+    @parameters
+        [name] [height barrier]
+    @effect
+        It will send a signal: "limit,name,over" when the object is resized and pass
+        the limit by growing over it. And it will send: "limit,name,below" when
+        it pass below that limit.
+        This limit will be applied on the y absis and is expressed in pixels.
+    @endproperty
+*/
+static void
+st_collections_group_limits_vertical(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Limit *el;
+
+   check_arg_count(2);
+
+   el = mem_alloc(SZ(Edje_Limit));
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->limits.vertical_count++;
+   pc->limits.vertical = realloc(pc->limits.vertical, pc->limits.vertical_count * sizeof (Edje_Limit *));
+   if (!pc->limits.vertical || !el)
+     {
+        ERR("Not enough memory.");
+        exit(-1);
+     }
+
+   pc->limits.vertical[pc->limits.vertical_count - 1] = el;
+
+   el->name = parse_str(0);
+   el->value = parse_int_range(1, 1, 0xffff);
+}
+
+/**
+    @page edcref
+    @property
+        horizontal
+    @parameters
+        [name] [width barrier]
+    @effect
+        It will send a signal: "limit,name,over" when the object is resized and pass
+        the limit by growing over it. And it will send: "limit,name,below" when
+        it pass below that limit.
+        This limit will be applied on the x absis and is expressed in pixels.
+    @endproperty
+*/
+static void
+st_collections_group_limits_horizontal(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Limit *el;
+
+   check_arg_count(2);
+
+   el = mem_alloc(SZ(Edje_Limit));
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->limits.horizontal_count++;
+   pc->limits.horizontal = realloc(pc->limits.horizontal, pc->limits.horizontal_count * sizeof (Edje_Limit *));
+   if (!pc->limits.horizontal || !el)
+     {
+        ERR("Not enough memory.");
+        exit(-1);
+     }
+
+   pc->limits.horizontal[pc->limits.horizontal_count - 1] = el;
+
+   el->name = parse_str(0);
+   el->value = parse_int_range(1, 1, 0xffff);
+}
+
+/**
+   @edcsubsection{collections_group_parts,Parts}
+ */
+
+/**
+    @page edcref
+    @block
+        parts
+    @context
+        group {
+            parts {
+                alias: "theme_part_path" "real_part_path";
+                ..
+            }
+        }
+    @description
+        Alias of part give a chance to let the designer put the real one
+       in a box or reuse one from a GROUP or inside a BOX.
+    @endblock
+*/
+static void
+st_collections_group_parts_alias(void)
+{
+   Edje_Part_Collection *pc;
+   const char *alias;
+   const char *aliased;
+
+   check_arg_count(2);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   alias = parse_str(0);
+   aliased = parse_str(1);
+
+   if (!pc->alias) pc->alias = eina_hash_string_small_new(NULL);
+   eina_hash_add(pc->alias, alias, aliased);
+
+   if (!pc->aliased) pc->aliased = eina_hash_string_small_new(NULL);
+   eina_hash_add(pc->aliased, aliased, alias);
+}
+
+/**
+   @edcsubsection{collections_group_parts_part,Part}
+ */
+
+/**
+    @page edcref
+    @block
+        part
+    @context
+        group {
+            parts {
+                ..
+                part {
+                    name: "partname";
+                    type: IMAGE;
+                    mouse_events:  1;
+                    repeat_events: 0;
+                    ignore_flags: NONE;
+                    clip_to: "anotherpart";
+                    source:  "groupname";
+                    pointer_mode: AUTOGRAB;
+                    use_alternate_font_metrics: 0;
+
+                    dragable { }
+                    items { }
+                    description { }
+                }
+                ..
+            }
+        }
+    @description
+        Parts are used to represent the most basic design elements of the
+        theme, for example, a part can represent a line in a border or a label
+        on a button.
+    @endblock
+*/
+static Edje_Part *
+edje_cc_handlers_part_make(void)
+{  /* Doing ob_collections_group_parts_part() job, without hierarchy */
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   Edje_Part_Parser *epp;
+
+   ep = mem_alloc(SZ(Edje_Part_Parser));
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   pc->parts_count++;
+   pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
+   if (!pc->parts)
+     {
+        ERR("Not enough memory.");
+        exit(-1);
+     }
+   current_part = pc->parts[pc->parts_count - 1] = ep;
+
+   ep->id = pc->parts_count - 1;
+   ep->type = EDJE_PART_TYPE_IMAGE;
+   ep->mouse_events = 1;
+   ep->repeat_events = 0;
+   ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
+   ep->scale = 0;
+   ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
+   ep->precise_is_inside = 0;
+   ep->use_alternate_font_metrics = 0;
+   ep->access = 0;
+   ep->clip_to_id = -1;
+   ep->dragable.confine_id = -1;
+   ep->dragable.event_id = -1;
+   ep->items = NULL;
+   ep->nested_children_count = 0;
+
+   epp = (Edje_Part_Parser *)ep;
+   epp->reorder.insert_before = NULL;
+   epp->reorder.insert_after = NULL;
+   epp->reorder.before = NULL;
+   epp->reorder.after = NULL;
+   epp->reorder.linked_prev = 0;
+   epp->reorder.linked_next = 0;
+   epp->reorder.done = EINA_FALSE;
+   epp->can_override = EINA_FALSE;
+
+   return ep;
+}
+
+static void
+ob_collections_group_parts_part(void)
+{
+   Edje_Part *cp = current_part;  /* Save to restore on pop    */
+   Edje_Part *ep = edje_cc_handlers_part_make(); /* This changes current_part */
+   Edje_Part *prnt;
+
+   /* Add this new part to hierarchy stack (removed part finished parse) */
+   edje_cc_handlers_hierarchy_push(ep, cp);
+
+   prnt = edje_cc_handlers_hierarchy_parent_get();
+   if (prnt)  /* This is the child of parent in stack */
+     prnt->nested_children_count++;
+}
+
+/**
+    @page edcref
+    @property
+        name
+    @parameters
+        [part name]
+    @effect
+        The part's name will be used as reference in the theme's relative
+        positioning system, by programs and in some cases by the application.
+        It must be unique within the group.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_name(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   Edje_Part_Parser *epp;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_part;
+   ep->name = parse_str(0);
+
+   if (ep->name)
+     {
+        unsigned int i;
+
+        for (i = 0; i < (pc->parts_count - 1); i++)
+          {  /* Compare name only if did NOT updated ep from hircy pop */
+             if ((ep != pc->parts[i]) &&
+                   (pc->parts[i]->name &&
+                    (!strcmp(pc->parts[i]->name, ep->name))))
+               {
+                  epp = (Edje_Part_Parser *)pc->parts[i];
+                  if (!epp->can_override)
+                    {
+                       ERR("parse error %s:%i. There is already a part of the name %s",
+                           file_in, line - 1, ep->name);
+                       exit(-1);
+                    }
+                  else
+                    {
+                       free(ep);
+                       pc->parts_count--;
+                       pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
+                       current_part = pc->parts[i];
+                       edje_cc_handlers_hierarchy_rename(ep, current_part);
+                       epp->can_override = EINA_FALSE;
+                       break;
+                    }
+               }
+          }
+     }
+}
+
+/**
+    @page edcref
+    @property
+        type
+    @parameters
+        [TYPE]
+    @effect
+        Set the type (all caps) from among the available types, it's set to
+        IMAGE by default. Valid types:
+            @li RECT
+            @li TEXT
+            @li IMAGE
+            @li SWALLOW
+            @li TEXTBLOCK
+            @li GROUP
+            @li BOX
+            @li TABLE
+            @li EXTERNAL
+           @li PROXY
+           @li SPACER
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_type(void)
+{
+   unsigned int type;
+
+   check_arg_count(1);
+
+   type = parse_enum(0,
+                     "NONE", EDJE_PART_TYPE_NONE,
+                     "RECT", EDJE_PART_TYPE_RECTANGLE,
+                     "TEXT", EDJE_PART_TYPE_TEXT,
+                     "IMAGE", EDJE_PART_TYPE_IMAGE,
+                     "SWALLOW", EDJE_PART_TYPE_SWALLOW,
+                     "TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK,
+                     "GROUP", EDJE_PART_TYPE_GROUP,
+                     "BOX", EDJE_PART_TYPE_BOX,
+                     "TABLE", EDJE_PART_TYPE_TABLE,
+                     "EXTERNAL", EDJE_PART_TYPE_EXTERNAL,
+                     "PROXY", EDJE_PART_TYPE_PROXY,
+                    "SPACER", EDJE_PART_TYPE_SPACER,
+                     NULL);
+
+   /* handle type change of inherited part */
+   if (type != current_part->type)
+     {
+        Edje_Part_Description_Common *new, *previous;
+        Edje_Part_Collection *pc;
+        Edje_Part *ep;
+        unsigned int i;
+
+        /* we don't free old part as we don't remove all reference to them */
+        part_description_image_cleanup(current_part);
+
+        pc = eina_list_data_get(eina_list_last(edje_collections));
+        ep = current_part;
+
+        previous = ep->default_desc;
+        if (previous)
+          {
+             new = _edje_part_description_alloc(type, pc->part, ep->name);
+             memcpy(new, previous, sizeof (Edje_Part_Description_Common));
+
+             ep->default_desc = new;
+          }
+
+        for (i = 0; i < ep->other.desc_count; i++)
+          {
+             previous = ep->other.desc[i];
+             new = _edje_part_description_alloc(type, pc->part, ep->name);
+             memcpy(new, previous, sizeof (Edje_Part_Description_Common));
+             ep->other.desc[i] = new;
+          }
+     }
+
+   current_part->type = type;
+}
+
+/**
+    @page edcref
+    @property
+        physics_body
+    @parameters
+        [TYPE]
+    @effect
+        Set the type (all caps) from among the available types of physics
+        body, it's set to NONE by default. If type is NONE no physics
+        will be applied and physics block inside part will be discarded.
+        Valid types:
+            @li NONE
+            @li RIGID_BOX
+            @li RIGID_SPHERE
+            @li RIGID_CYLINDER
+            @li SOFT_BOX
+            @li SOFT_SPHERE
+            @li SOFT_CYLINDER
+            @li CLOTH
+            @li BOUNDARY_TOP
+            @li BOUNDARY_BOTTOM
+            @li BOUNDARY_RIGHT
+            @li BOUNDARY_LEFT
+            @li BOUNDARY_FRONT
+            @li BOUNDARY_BACK
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_physics_body(void)
+{
+   unsigned int body;
+
+   check_arg_count(1);
+
+   body = parse_enum(0,
+                     "NONE", EDJE_PART_PHYSICS_BODY_NONE,
+                     "RIGID_BOX", EDJE_PART_PHYSICS_BODY_RIGID_BOX,
+                     "RIGID_SPHERE", EDJE_PART_PHYSICS_BODY_RIGID_SPHERE,
+                     "RIGID_CYLINDER", EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER,
+                     "SOFT_BOX", EDJE_PART_PHYSICS_BODY_SOFT_BOX,
+                     "SOFT_SPHERE", EDJE_PART_PHYSICS_BODY_SOFT_SPHERE,
+                     "SOFT_CYLINDER", EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER,
+                     "CLOTH", EDJE_PART_PHYSICS_BODY_CLOTH,
+                     "BOUNDARY_TOP", EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP,
+                     "BOUNDARY_BOTTOM", EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM,
+                     "BOUNDARY_RIGHT", EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT,
+                     "BOUNDARY_LEFT", EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT,
+                     "BOUNDARY_FRONT", EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT,
+                     "BOUNDARY_BACK", EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK,
+                     NULL);
+
+   current_part->physics_body = body;
+
+   if (body)
+     {
+        Edje_Part_Collection *pc;
+        pc = eina_list_data_get(eina_list_last(edje_collections));
+        pc->physics_enabled = 1;
+     }
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        part
+    @parameters
+        [part declaration]
+    @effect
+    @code
+        group {
+            parts {
+                part {
+                    name: "parent_rect";
+                    type: RECT;
+                    description { }
+                    part {
+                        name: "nested_rect";
+                        type: RECT;
+                        description { }
+                    }
+                }
+                ..
+            }
+        }
+    @endcode
+        Nested parts adds hierarchy to edje.
+        Nested part inherits it's location relatively to the parent part.
+        To declare a nested part just start a new part within current part decl.
+        You must define parent part name before adding nested parts.
+    @endproperty
+    @since 1.7.0
+*/
+
+/**
+    @page edcref
+    @property
+        insert_before
+    @parameters
+        [another part's name]
+    @effect
+        The part's name which this part is inserted before. One part cannot
+        have both insert_before and insert_after. One part cannot refer
+        more than one by insert_before.
+    @endproperty
+    @since 1.1.0
+*/
+static void
+st_collections_group_parts_part_insert_before(void)
+{
+   Edje_Part_Parser *epp;
+   check_arg_count(1);
+
+   epp = (Edje_Part_Parser *)current_part;
+   epp->reorder.insert_before = parse_str(0);
+}
+
+/**
+    @page edcref
+    @property
+        insert_after
+    @parameters
+        [another part's name]
+    @effect
+        The part's name which this part is inserted after. One part cannot
+        have both insert_before and insert_after. One part cannot refer
+        more than one by insert_after.
+    @endproperty
+    @since 1.1.0
+*/
+static void
+st_collections_group_parts_part_insert_after(void)
+{
+   Edje_Part_Parser *epp;
+   check_arg_count(1);
+
+   epp = (Edje_Part_Parser *)current_part;
+   epp->reorder.insert_after = parse_str(0);
+}
+
+/**
+    @page edcref
+    @property
+        mouse_events
+    @parameters
+        [1 or 0]
+    @effect
+        Specifies whether the part will emit signals, although it is named
+        "mouse_events", disabling it (0) will prevent the part from emitting
+        any type of signal at all. It's set to 1 by default.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_mouse_events(void)
+{
+   check_arg_count(1);
+
+   current_part->mouse_events = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        repeat_events
+    @parameters
+        [1 or 0]
+    @effect
+        Specifies whether a part echoes a mouse event to other parts below the
+        pointer (1), or not (0). It's set to 0 by default.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_repeat_events(void)
+{
+   check_arg_count(1);
+
+   current_part->repeat_events = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        ignore_flags
+    @parameters
+        [FLAG] ...
+    @effect
+        Specifies whether events with the given flags should be ignored,
+       i.e., will not have the signals emitted to the parts. Multiple flags
+       must be separated by spaces, the effect will be ignoring all events
+       with one of the flags specified. Possible flags:
+            @li NONE (default value, no event will be ignored)
+            @li ON_HOLD
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_ignore_flags(void)
+{
+   check_min_arg_count(1);
+
+   current_part->ignore_flags = parse_flags(0,
+                                 "NONE", EVAS_EVENT_FLAG_NONE,
+                                 "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD,
+                                 NULL);
+}
+
+/**
+    @page edcref
+    @property
+        scale
+    @parameters
+        [1 or 0]
+    @effect
+        Specifies whether the part will scale its size with an edje scaling
+        factor. By default scale is off (0) and the default scale factor is
+        1.0 - that means no scaling. This would be used to scale properties
+        such as font size, min/max size of the part, and possibly can be used
+        to scale based on DPI of the target device. The reason to be selective
+        is that some things work well being scaled, others do not, so the
+        designer gets to choose what works best.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_scale(void)
+{
+   check_arg_count(1);
+
+   current_part->scale = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        pointer_mode
+    @parameters
+        [MODE]
+    @effect
+        Sets the mouse pointer behavior for a given part. The default value is
+        AUTOGRAB. Aviable modes:
+            @li AUTOGRAB, when the part is clicked and the button remains
+                pressed, the part will be the source of all future mouse
+                signals emitted, even outside the object, until the button is
+                released.
+            @li NOGRAB, the effect will be limited to the part's container.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_pointer_mode(void)
+{
+   check_arg_count(1);
+
+   current_part->pointer_mode = parse_enum(0,
+                                "AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB,
+                                "NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB,
+                                NULL);
+}
+
+/**
+    @page edcref
+    @property
+        precise_is_inside
+    @parameters
+        [1 or 0]
+    @effect
+        Enables precise point collision detection for the part, which is more
+        resource intensive. Disabled by default.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_precise_is_inside(void)
+{
+   check_arg_count(1);
+
+   current_part->precise_is_inside = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        use_alternate_font_metrics
+    @parameters
+        [1 or 0]
+    @effect
+        Only affects text and textblock parts, when enabled Edje will use
+        different size measurement functions. Disabled by default. (note from
+        the author: I don't know what this is exactly useful for?)
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_use_alternate_font_metrics(void)
+{
+   check_arg_count(1);
+
+   current_part->use_alternate_font_metrics = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        clip_to
+    @parameters
+        [another part's name]
+    @effect
+        Only renders the area of part that coincides with another part's
+        container. Overflowing content will not be displayed. Note that
+        the part being clipped to can only be a rectangle part.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_clip_to_id(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+     {
+       char *name;
+
+       name = parse_str(0);
+       data_queue_part_lookup(pc, name, &(current_part->clip_to_id));
+       free(name);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        source
+    @parameters
+        [another group's name]
+    @effect
+        Only available to GROUP or TEXTBLOCK parts. Swallows the specified 
+        group into the part's container if a GROUP. If TEXTBLOCK it is used
+        for the group to be loaded and used for selection display UNDER the
+        selected text. source2 is used for on top of the selected text, if
+        source2 is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source = parse_str(0);
+   data_queue_group_lookup(current_part->source, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        source2
+    @parameters
+        [another group's name]
+    @effect
+        Only available to TEXTBLOCK parts. It is used for the group to be 
+        loaded and used for selection display OVER the selected text. source
+        is used for under of the selected text, if source is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source2(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source2 = parse_str(0);
+   data_queue_group_lookup(current_part->source2, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        source3
+    @parameters
+        [another group's name]
+    @effect
+        Only available to TEXTBLOCK parts. It is used for the group to be 
+        loaded and used for cursor display UNDER the cursor position. source4
+        is used for over the cursor text, if source4 is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source3(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source3 = parse_str(0);
+   data_queue_group_lookup(current_part->source3, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        source4
+    @parameters
+        [another group's name]
+    @effect
+        Only available to TEXTBLOCK parts. It is used for the group to be 
+        loaded and used for cursor display OVER the cursor position. source3
+        is used for under the cursor text, if source4 is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source4(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source4 = parse_str(0);
+   data_queue_group_lookup(current_part->source4, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        source5
+    @parameters
+        [another group's name]
+    @effect
+        Only available to TEXTBLOCK parts. It is used for the group to be 
+        loaded and used for anchors display UNDER the anchor position. source6
+        is used for over the anchors text, if source6 is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source5(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source5 = parse_str(0);
+   data_queue_group_lookup(current_part->source5, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        source6
+    @parameters
+        [another group's name]
+    @effect
+        Only available to TEXTBLOCK parts. It is used for the group to be 
+        loaded and used for anchor display OVER the anchor position. source5
+        is used for under the anchor text, if source6 is specified.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_source6(void)
+{
+   check_arg_count(1);
+
+   //FIXME: validate this somehow (need to decide on the format also)
+   current_part->source6 = parse_str(0);
+   data_queue_group_lookup(current_part->source6, current_part);
+}
+
+/**
+    @page edcref
+
+    @property
+        effect
+    @parameters
+        [EFFECT]
+        (optional) [SHADOW DIRECTION]
+    @effect
+        Causes Edje to draw the selected effect among:
+        @li PLAIN
+        @li OUTLINE
+        @li SOFT_OUTLINE
+        @li SHADOW
+        @li SOFT_SHADOW
+        @li OUTLINE_SHADOW
+        @li OUTLINE_SOFT_SHADOW
+        @li FAR_SHADOW
+        @li FAR_SOFT_SHADOW
+        @li GLOW
+
+        Shadow directions (default if not given is BOTTOM_RIGHT):
+        @li BOTTOM_RIGHT
+        @li BOTTOM
+        @li BOTTOM_LEFT
+        @li LEFT
+        @li TOP_LEFT
+        @li TOP
+        @li TOP_RIGHT
+        @li RIGHT
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_effect(void)
+{
+   check_min_arg_count(1);
+
+   current_part->effect = parse_enum(0,
+               "NONE", EDJE_TEXT_EFFECT_NONE,
+               "PLAIN", EDJE_TEXT_EFFECT_PLAIN,
+               "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE,
+               "SOFT_OUTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE,
+               "SHADOW", EDJE_TEXT_EFFECT_SHADOW,
+               "SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW,
+               "OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW,
+               "OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW,
+               "FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW,
+               "FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW,
+               "GLOW", EDJE_TEXT_EFFECT_GLOW,
+               NULL);
+   if (get_arg_count() >= 2)
+     {
+        unsigned char shadow;
+        
+        shadow = parse_enum(1,
+               "BOTTOM_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT,
+               "BOTTOM", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM,
+               "BOTTOM_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT,
+               "LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT,
+               "TOP_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT,
+               "TOP", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP,
+               "TOP_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT,
+               "RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT,
+               NULL);
+        EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(current_part->effect, shadow);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        entry_mode
+    @parameters
+        [MODE]
+    @effect
+        Sets the edit mode for a textblock part to one of:
+        @li NONE
+        @li PLAIN
+        @li EDITABLE
+        @li PASSWORD
+        It causes the part be editable if the edje object has the keyboard
+        focus AND the part has the edje focus (or selectable always
+        regardless of focus) and in the event of password mode, not
+        selectable and all text chars replaced with *'s but editable and
+        pastable.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_entry_mode(void)
+{
+   check_arg_count(1);
+
+   current_part->entry_mode = parse_enum(0,
+                              "NONE", EDJE_ENTRY_EDIT_MODE_NONE,
+                              "PLAIN", EDJE_ENTRY_EDIT_MODE_SELECTABLE,
+                              "EDITABLE", EDJE_ENTRY_EDIT_MODE_EDITABLE,
+                              "PASSWORD", EDJE_ENTRY_EDIT_MODE_PASSWORD,
+                              NULL);
+}
+
+/**
+    @page edcref
+    @property
+        select_mode
+    @parameters
+        [MODE]
+    @effect
+        Sets the selection mode for a textblock part to one of:
+        @li DEFAULT selection mode is what you would expect on any desktop. Press
+        mouse, drag and release to end.
+        @li EXPLICIT mode requires the application
+        controlling the edje object has to explicitly begin and end selection
+        modes, and the selection itself is dragable at both ends.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_select_mode(void)
+{
+   check_arg_count(1);
+
+   current_part->select_mode = parse_enum(0,
+                                "DEFAULT", EDJE_ENTRY_SELECTION_MODE_DEFAULT,
+                                "EXPLICIT", EDJE_ENTRY_SELECTION_MODE_EXPLICIT,
+                                "BLOCK_HANDLE", EDJE_ENTRY_SELECTION_MODE_DEFAULT,
+                                NULL);
+}
+
+/**
+    @page edcref
+    @property
+        cursor_mode
+    @parameters
+        [MODE]
+    @effect
+        Sets the cursor mode for a textblock part to one of:
+        @li UNDER cursor mode means the cursor will draw below the character pointed
+        at. That's the default.
+        @li BEFORE cursor mode means the cursor is drawn as a vertical line before
+        the current character, just like many other GUI toolkits handle it.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_cursor_mode(void)
+{
+   check_arg_count(1);
+
+   current_part->cursor_mode = parse_enum(0,
+                                "UNDER", EDJE_ENTRY_CURSOR_MODE_UNDER,
+                                "BEFORE", EDJE_ENTRY_CURSOR_MODE_BEFORE,
+                                NULL);
+}
+
+/**
+    @page edcref
+    @property
+        multiline
+    @parameters
+        [1 or 0]
+    @effect
+        It causes a textblock that is editable to allow multiple lines for
+        editing.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_multiline(void)
+{
+   check_arg_count(1);
+
+   current_part->multiline = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        access 
+    @parameters
+        [1 or 0]
+    @effect
+        Specifies whether the part will use accessibility feature (1),
+        or not (0). It's set to 0 by default.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_access(void)
+{
+   check_arg_count(1);
+
+   current_part->access = parse_bool(0);
+}
+
+/**
+   @edcsubsection{collections_group_parts_dragable,Dragable}
+ */
+
+/**
+    @page edcref
+    @block
+        dragable
+    @context
+        part {
+            ..
+            dragable {
+                confine: "another part";
+                events:  "another dragable part";
+                x: 0 0 0;
+                y: 0 0 0;
+            }
+            ..
+        }
+    @description
+        When this block is used the resulting part can be dragged around the
+        interface, do not confuse with external drag & drop. By default Edje
+        (and most applications) will attempt to use the minimal size possible
+        for a dragable part. If the min property is not set in the description
+        the part will be (most likely) set to 0px width and 0px height, thus
+        invisible.
+    @endblock
+
+    @property
+        x
+    @parameters
+        [enable/disable] [step] [count]
+    @effect
+        Used to setup dragging events for the X axis. The first parameter is
+        used to enable (1 or -1) and disable (0) dragging along the axis. When
+        enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second
+        parameter takes any integer and will limit movement to values
+        divisible by it, causing the part to jump from position to position.
+        The third parameter, (question from the author: What is count for?).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_dragable_x(void)
+{
+   check_arg_count(3);
+
+   current_part->dragable.x = parse_int_range(0, -1, 1);
+   current_part->dragable.step_x = parse_int_range(1, 0, 0x7fffffff);
+   current_part->dragable.count_x = parse_int_range(2, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        y
+    @parameters
+        [enable/disable] [step] [count]
+    @effect
+        Used to setup dragging events for the Y axis. The first parameter is
+        used to enable (1 or -1) and disable (0) dragging along the axis. When
+        enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second
+        parameter takes any integer and will limit movement to values
+        divisibles by it, causing the part to jump from position to position.
+        The third parameter, (question from the author: What is count for?).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_dragable_y(void)
+{
+   check_arg_count(3);
+
+   current_part->dragable.y = parse_int_range(0, -1, 1);
+   current_part->dragable.step_y = parse_int_range(1, 0, 0x7fffffff);
+   current_part->dragable.count_y = parse_int_range(2, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        confine
+    @parameters
+        [another part's name]
+    @effect
+        When set, limits the movement of the dragged part to another part's
+        container. When you use confine don't forget to set a min size for the
+        part, or the draggie will not show up.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_dragable_confine(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+     {
+       char *name;
+
+       name = parse_str(0);
+       data_queue_part_lookup(pc, name, &(current_part->dragable.confine_id));
+       free(name);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        events
+    @parameters
+        [another dragable part's name]
+    @effect
+        It causes the part to forward the drag events to another part, thus
+        ignoring them for itself.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_dragable_events(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+     {
+       char *name;
+
+       name = parse_str(0);
+       data_queue_part_lookup(pc, name, &(current_part->dragable.event_id));
+       free(name);
+     }
+}
+
+/**
+   @edcsubsection{collections_group_parts_items,Items}
+ */
+
+/**
+    @page edcref
+    @block
+        items
+    @context
+        part {
+            ..
+           box {
+                items {
+                    item {
+                        type: TYPE;
+                        source: "some source";
+                        min: 1 1;
+                        max: 100 100;
+                        padding: 1 1 2 2;
+                    }
+                    item {
+                        type: TYPE;
+                        source: "some other source";
+                        name: "some name";
+                        align: 1.0 0.5;
+                    }
+                    ..
+                }
+           }
+            ..
+        }
+    @description
+        On a part of type BOX, this block can be used to set other groups
+       as elements of the box. These can be mixed with external objects set
+       by the application through the edje_object_part_box_* API.
+    @endblock
+*/
+static void ob_collections_group_parts_part_box_items_item(void)
+{
+   Edje_Part *ep;
+   Edje_Pack_Element *item;
+   Edje_Pack_Element_Parser *pitem;
+
+   ep = current_part;
+
+   if ((ep->type != EDJE_PART_TYPE_BOX) && (ep->type != EDJE_PART_TYPE_TABLE))
+     {
+        ERR("parse error %s:%i. box attributes in non-BOX or TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ep->items_count++;
+   ep->items = realloc(ep->items, sizeof (Edje_Pack_Element*) * ep->items_count);
+   if (!ep->items)
+     {
+        ERR("Not enough memory.");
+        exit(-1);
+     }
+
+   item = mem_alloc(SZ(Edje_Pack_Element_Parser));
+   current_item = ep->items[ep->items_count - 1] = item;
+   item->type = EDJE_PART_TYPE_GROUP;
+   item->name = NULL;
+   item->source = NULL;
+   item->min.w = 0;
+   item->min.h = 0;
+   item->prefer.w = 0;
+   item->prefer.h = 0;
+   item->max.w = -1;
+   item->max.h = -1;
+   item->padding.l = 0;
+   item->padding.r = 0;
+   item->padding.t = 0;
+   item->padding.b = 0;
+   item->align.x = FROM_DOUBLE(0.5);
+   item->align.y = FROM_DOUBLE(0.5);
+   item->weight.x = FROM_DOUBLE(0.0);
+   item->weight.y = FROM_DOUBLE(0.0);
+   item->aspect.w = 0;
+   item->aspect.h = 0;
+   item->aspect.mode = EDJE_ASPECT_CONTROL_NONE;
+   item->options = NULL;
+   item->col = -1;
+   item->row = -1;
+   item->colspan = 1;
+   item->rowspan = 1;
+   pitem = (Edje_Pack_Element_Parser *)item;
+   pitem->can_override = EINA_FALSE;
+}
+
+/**
+    @page edcref
+    @property
+        type
+    @parameters
+        Only GROUP for now (defaults to it)
+    @effect
+        Sets the type of the object this item will hold.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_type(void)
+{
+   check_arg_count(1);
+
+     {
+       char *s;
+
+       s = parse_str(0);
+       if (strcmp(s, "GROUP"))
+         {
+            ERR("parse error %s:%i. token %s not one of: GROUP.",
+                file_in, line - 1, s);
+            exit(-1);
+         }
+       /* FIXME: handle the enum, once everything else is supported */
+       current_item->type = EDJE_PART_TYPE_GROUP;
+     }
+}
+
+/**
+    @page edcref
+    @property
+        name
+    @parameters
+        [name for the object]
+    @effect
+        Sets the name of the object via evas_object_name_set().
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_name(void)
+{
+   Edje_Part *ep;
+   Edje_Pack_Element *item;
+   Edje_Pack_Element_Parser *pitem;
+
+   check_arg_count(1);
+
+   ep = current_part;
+   item = ep->items[ep->items_count - 1];
+
+   item->name = parse_str(0);
+
+     {
+        unsigned int i;
+
+        for (i = 0; i < ep->items_count - 1; ++i)
+          {
+             if (ep->items[i]->name && (!strcmp(ep->items[i]->name, item->name)))
+               {
+                  pitem = (Edje_Pack_Element_Parser *)ep->items[i];
+                  if (!pitem->can_override)
+                    {
+                       ERR("parse error %s:%i. There is already a item of the name %s",
+                           file_in, line - 1, item->name);
+                       exit(-1);
+                    }
+                  else
+                    {
+                       free(item);
+                       ep->items_count--;
+                       ep->items = realloc(ep->items, ep->items_count * sizeof (Edje_Pack_Element *));
+                       current_item = ep->items[i];
+                       pitem->can_override = EINA_FALSE;
+                    }
+               }
+          }
+     }
+}
+
+/**
+    @page edcref
+    @property
+        source
+    @parameters
+        [another group's name]
+    @effect
+        Sets the group this object will be made from.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_source(void)
+{
+   check_arg_count(1);
+
+   current_item->source = parse_str(0);
+   data_queue_group_lookup(current_item->source, current_part);
+}
+
+/**
+    @page edcref
+    @property
+        min
+    @parameters
+        [width] [height]
+    @effect
+        Sets the minimum size hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_min(void)
+{
+   check_arg_count(2);
+
+   current_item->min.w = parse_int_range(0, 0, 0x7ffffff);
+   current_item->min.h = parse_int_range(1, 0, 0x7ffffff);
+}
+
+/**
+    @page edcref
+    @property
+        prefer
+    @parameters
+        [width] [height]
+    @effect
+        Sets the preferred size hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_prefer(void)
+{
+   check_arg_count(2);
+
+   current_item->prefer.w = parse_int_range(0, 0, 0x7ffffff);
+   current_item->prefer.h = parse_int_range(1, 0, 0x7ffffff);
+}
+/**
+    @page edcref
+    @property
+        max
+    @parameters
+        [width] [height]
+    @effect
+        Sets the maximum size hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_max(void)
+{
+   check_arg_count(2);
+
+   current_item->max.w = parse_int_range(0, 0, 0x7ffffff);
+   current_item->max.h = parse_int_range(1, 0, 0x7ffffff);
+}
+
+/**
+    @page edcref
+    @property
+        padding
+    @parameters
+        [left] [right] [top] [bottom]
+    @effect
+        Sets the padding hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_padding(void)
+{
+   check_arg_count(4);
+
+   current_item->padding.l = parse_int_range(0, 0, 0x7ffffff);
+   current_item->padding.r = parse_int_range(1, 0, 0x7ffffff);
+   current_item->padding.t = parse_int_range(2, 0, 0x7ffffff);
+   current_item->padding.b = parse_int_range(3, 0, 0x7ffffff);
+}
+
+/**
+    @page edcref
+    @property
+        align
+    @parameters
+        [x] [y]
+    @effect
+        Sets the alignment hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_align(void)
+{
+   check_arg_count(2);
+
+   current_item->align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
+   current_item->align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
+}
+
+/**
+    @page edcref
+    @property
+        weight
+    @parameters
+        [x] [y]
+    @effect
+        Sets the weight hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_weight(void)
+{
+   check_arg_count(2);
+
+   current_item->weight.x = FROM_DOUBLE(parse_float_range(0, 0.0, 99999.99));
+   current_item->weight.y = FROM_DOUBLE(parse_float_range(1, 0.0, 99999.99));
+}
+
+/**
+    @page edcref
+    @property
+        aspect
+    @parameters
+        [w] [h]
+    @effect
+        Sets the aspect width and height hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_aspect(void)
+{
+   check_arg_count(2);
+
+   current_item->aspect.w = parse_int_range(0, 0, 0x7fffffff);
+   current_item->aspect.h = parse_int_range(1, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        aspect_mode
+    @parameters
+        NONE, NEITHER, HORIZONTAL, VERTICAL, BOTH
+    @effect
+        Sets the aspect control hints for this object.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_aspect_mode(void)
+{
+   check_arg_count(1);
+
+   current_item->aspect.mode = parse_enum(0,
+                                 "NONE", EDJE_ASPECT_CONTROL_NONE,
+                                 "NEITHER", EDJE_ASPECT_CONTROL_NEITHER,
+                                 "HORIZONTAL", EDJE_ASPECT_CONTROL_HORIZONTAL,
+                                 "VERTICAL", EDJE_ASPECT_CONTROL_VERTICAL,
+                                 "BOTH", EDJE_ASPECT_CONTROL_BOTH,
+                                 NULL);
+}
+
+/**
+    @page edcref
+    @property
+        options
+    @parameters
+        [extra options]
+    @effect
+        Sets extra options for the object. Unused for now.
+    @endproperty
+*/
+static void st_collections_group_parts_part_box_items_item_options(void)
+{
+   check_arg_count(1);
+
+   current_item->options = parse_str(0);
+}
+
+/**
+    @page edcref
+    @property
+        position
+    @parameters
+        [col] [row]
+    @effect
+        Sets the position this item will have in the table.
+        This is required for parts of type TABLE.
+    @endproperty
+*/
+static void st_collections_group_parts_part_table_items_item_position(void)
+{
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. table attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   current_item->col = parse_int_range(0, 0, 0xffff);
+   current_item->row = parse_int_range(1, 0, 0xffff);
+}
+
+/**
+    @page edcref
+    @property
+        span
+    @parameters
+        [col] [row]
+    @effect
+        Sets how many columns/rows this item will use.
+        Defaults to 1 1.
+    @endproperty
+*/
+static void st_collections_group_parts_part_table_items_item_span(void)
+{
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. table attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   current_item->colspan = parse_int_range(0, 1, 0xffff);
+   current_item->rowspan = parse_int_range(1, 1, 0xffff);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description,Description}
+ */
+
+/**
+    @page edcref
+    @block
+        description
+    @context
+        description {
+            inherit: "another_description" INDEX;
+            state: "description_name" INDEX;
+            visible: 1;
+            min: 0 0;
+            max: -1 -1;
+            align: 0.5 0.5;
+            fixed: 0 0;
+            step: 0 0;
+            aspect: 1 1;
+
+            rel1 {
+                ..
+            }
+
+            rel2 {
+                ..
+            }
+        }
+    @description
+        Every part can have one or more description blocks. Each description is
+        used to define style and layout properties of a part in a given
+        "state".
+    @endblock
+*/
+static void
+ob_collections_group_parts_part_description(void)
+{  /* Allocate and set desc, set relative part hierarchy if needed */
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   Edje_Part_Description_Common *ed;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_part;
+
+   ed = _edje_part_description_alloc(ep->type, pc->part, ep->name);
+
+   ed->rel1.id_x = -1;
+   ed->rel1.id_y = -1;
+   ed->rel2.id_x = -1;
+   ed->rel2.id_y = -1;
+
+   if (!ep->default_desc)
+     {
+        current_desc = ep->default_desc = ed;
+
+          {  /* Get the ptr of the part above current part in hierarchy */
+             Edje_Part *node = edje_cc_handlers_hierarchy_parent_get();
+             if (node)  /* Make relative according to part hierarchy */
+               edje_cc_handlers_hierarchy_set(node);
+          }
+     }
+   else
+     {
+        ep->other.desc_count++;
+        ep->other.desc = realloc(ep->other.desc,
+                                 sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
+        current_desc = ep->other.desc[ep->other.desc_count - 1] = ed;
+     }
+
+   ed->visible = 1;
+   ed->limit = 0;
+   ed->align.x = FROM_DOUBLE(0.5);
+   ed->align.y = FROM_DOUBLE(0.5);
+   ed->min.w = 0;
+   ed->min.h = 0;
+   ed->fixed.w = 0;
+   ed->fixed.h = 0;
+   ed->max.w = -1;
+   ed->max.h = -1;
+   ed->rel1.relative_x = FROM_DOUBLE(0.0);
+   ed->rel1.relative_y = FROM_DOUBLE(0.0);
+   ed->rel1.offset_x = 0;
+   ed->rel1.offset_y = 0;
+   ed->rel2.relative_x = FROM_DOUBLE(1.0);
+   ed->rel2.relative_y = FROM_DOUBLE(1.0);
+   ed->rel2.offset_x = -1;
+   ed->rel2.offset_y = -1;
+   ed->color_class = NULL;
+   ed->color.r = 255;
+   ed->color.g = 255;
+   ed->color.b = 255;
+   ed->color.a = 255;
+   ed->color2.r = 0;
+   ed->color2.g = 0;
+   ed->color2.b = 0;
+   ed->color2.a = 255;
+   ed->map.id_persp = -1;
+   ed->map.id_light = -1;
+   ed->map.rot.id_center = -1;
+   ed->map.rot.x = FROM_DOUBLE(0.0);
+   ed->map.rot.y = FROM_DOUBLE(0.0);
+   ed->map.rot.z = FROM_DOUBLE(0.0);
+   ed->map.on = 0;
+   ed->map.smooth = 1;
+   ed->map.alpha = 1;
+   ed->map.backcull = 0;
+   ed->map.persp_on = 0;
+   ed->persp.zplane = 0;
+   ed->persp.focal = 1000;
+   ed->minmul.have = 1;
+   ed->minmul.w = FROM_INT(1);
+   ed->minmul.h = FROM_INT(1);
+}
+
+/**
+    @page edcref
+    @property
+        inherit
+    @parameters
+        [another description's name] [another description's index]
+    @effect
+        When set, the description will inherit all the properties from the
+        named description. The properties defined in this part will override
+        the inherited properties, reducing the amount of necessary code for
+        simple state changes. Note: inheritance in Edje is single level only.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_inherit(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   Edje_Part_Description_Common *ed, *parent = NULL;
+   Edje_Part_Image_Id *iid;
+   char *parent_name;
+   const char *state_name;
+   double parent_val, state_val;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_part;
+   ed = current_desc;
+
+   if (!ed->state.name)
+     {
+        ERR("parse error %s:%i. inherit may only be used after state",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   parent = parent_desc;
+   if (!parent)
+     {
+        check_min_arg_count(1);
+
+        /* inherit may not be used in the default description */
+        if (!ep->other.desc_count)
+          {
+             ERR("parse error %s:%i. "
+                 "inherit may not be used in the default description",
+                 file_in, line - 1);
+             exit(-1);
+          }
+
+        /* find the description that we inherit from */
+        parent_name = parse_str(0);
+        if (get_arg_count() == 2)
+          parent_val = parse_float_range(1, 0.0, 1.0);
+        else
+          parent_val = 0.0;
+
+        if (!strcmp (parent_name, "default") && parent_val == 0.0)
+          parent = ep->default_desc;
+        else
+          {
+             Edje_Part_Description_Common *d;
+             double min_dst = 999.0;
+             unsigned int i;
+
+             if (!strcmp(parent_name, "default"))
+               {
+                  parent = ep->default_desc;
+                  min_dst = ABS(ep->default_desc->state.value - parent_val);
+               }
+
+             for (i = 0; i < ep->other.desc_count; ++i)
+               {
+                  d = ep->other.desc[i];
+
+                  if (!strcmp (d->state.name, parent_name))
+                    {
+
+                       double dst;
+
+                       dst = ABS(d->state.value - parent_val);
+                       if (dst < min_dst)
+                         {
+                            parent = d;
+                            min_dst = dst;
+                         }
+                    }
+               }
+          }
+
+        if (!parent)
+          {
+             ERR("parse error %s:%i. "
+                 "cannot find referenced part %s state %s %lf",
+                 file_in, line - 1, ep->name, parent_name, parent_val);
+             exit(-1);
+          }
+
+        free(parent_name);
+     }
+   /* now do a full copy, only state info will be kept */
+   state_name = ed->state.name;
+   state_val = ed->state.value;
+
+   *ed = *parent;
+
+   ed->state.name = state_name;
+   ed->state.value = state_val;
+
+   data_queue_copied_part_lookup(pc, &parent->rel1.id_x, &ed->rel1.id_x);
+   data_queue_copied_part_lookup(pc, &parent->rel1.id_y, &ed->rel1.id_y);
+   data_queue_copied_part_lookup(pc, &parent->rel2.id_x, &ed->rel2.id_x);
+   data_queue_copied_part_lookup(pc, &parent->rel2.id_y, &ed->rel2.id_y);
+
+   data_queue_copied_part_lookup(pc, &parent->map.id_persp, &ed->map.id_persp);
+   data_queue_copied_part_lookup(pc, &parent->map.id_light, &ed->map.id_light);
+   data_queue_copied_part_lookup(pc, &parent->map.rot.id_center, &ed->map.rot.id_center);
+
+   /* make sure all the allocated memory is getting copied, not just
+    * referenced
+    */
+#define STRDUP(x) x ? strdup(x) : NULL
+
+   ed->color_class = STRDUP(ed->color_class);
+   switch (ep->type)
+     {
+      case EDJE_PART_TYPE_SPACER:
+      case EDJE_PART_TYPE_RECTANGLE:
+      case EDJE_PART_TYPE_SWALLOW:
+      case EDJE_PART_TYPE_GROUP:
+         /* Nothing todo, this part only have a common description. */
+         break;
+      case EDJE_PART_TYPE_TEXT:
+      case EDJE_PART_TYPE_TEXTBLOCK:
+           {
+              Edje_Part_Description_Text *ted = (Edje_Part_Description_Text*) ed;
+              Edje_Part_Description_Text *tparent = (Edje_Part_Description_Text*) parent;
+
+              ted->text = tparent->text;
+
+              ted->text.text.str = STRDUP(ted->text.text.str);
+              ted->text.text_class = STRDUP(ted->text.text_class);
+              ted->text.font.str = STRDUP(ted->text.font.str);
+
+              data_queue_copied_part_lookup(pc, &(tparent->text.id_source), &(ted->text.id_source));
+              data_queue_copied_part_lookup(pc, &(tparent->text.id_text_source), &(ted->text.id_text_source));
+
+              break;
+           }
+      case EDJE_PART_TYPE_IMAGE:
+           {
+              Edje_Part_Description_Image *ied = (Edje_Part_Description_Image *) ed;
+              Edje_Part_Description_Image *iparent = (Edje_Part_Description_Image *) parent;
+              unsigned int i;
+
+              ied->image = iparent->image;
+
+              data_queue_image_remove(&ied->image.id, &ied->image.set);
+              data_queue_copied_image_lookup(&iparent->image.id, &ied->image.id, &ied->image.set);
+
+              ied->image.tweens = calloc(iparent->image.tweens_count,
+                                         sizeof (Edje_Part_Image_Id*));
+              for (i = 0; i < iparent->image.tweens_count; i++)
+                {
+                   Edje_Part_Image_Id *iid_new;
+
+                   iid = iparent->image.tweens[i];
+
+                   iid_new = mem_alloc(SZ(Edje_Part_Image_Id));
+                   data_queue_image_remove(&ied->image.id, &ied->image.set);
+                   data_queue_copied_image_lookup(&(iid->id), &(iid_new->id), &(iid_new->set));
+                   ied->image.tweens[i] = iid_new;
+                }
+
+              break;
+           }
+      case EDJE_PART_TYPE_PROXY:
+           {
+              Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy*) ed;
+              Edje_Part_Description_Proxy *pparent = (Edje_Part_Description_Proxy*) parent;
+
+              data_queue_copied_part_lookup(pc, &(pparent->proxy.id), &(ped->proxy.id));
+
+              break;
+           }
+      case EDJE_PART_TYPE_BOX:
+           {
+              Edje_Part_Description_Box *bed = (Edje_Part_Description_Box *) ed;
+              Edje_Part_Description_Box *bparent = (Edje_Part_Description_Box *) parent;
+
+              bed->box = bparent->box;
+
+              break;
+           }
+      case EDJE_PART_TYPE_TABLE:
+           {
+              Edje_Part_Description_Table *ted = (Edje_Part_Description_Table *) ed;
+              Edje_Part_Description_Table *tparent = (Edje_Part_Description_Table *) parent;
+
+              ted->table = tparent->table;
+
+              break;
+           }
+      case EDJE_PART_TYPE_EXTERNAL:
+           {
+              Edje_Part_Description_External *eed = (Edje_Part_Description_External *) ed;
+              Edje_Part_Description_External *eparent = (Edje_Part_Description_External *) parent;
+
+              if (eparent->external_params)
+                {
+                   Eina_List *l;
+                   Edje_External_Param *param, *new_param;
+
+                   eed->external_params = NULL;
+                   EINA_LIST_FOREACH(eparent->external_params, l, param)
+                     {
+                        new_param = mem_alloc(SZ(Edje_External_Param));
+                        *new_param = *param;
+                        eed->external_params = eina_list_append(eed->external_params, new_param);
+                     }
+                }
+              break;
+           }
+     }
+
+#undef STRDUP
+}
+
+/**
+    @page edcref
+
+    @property
+        source
+    @parameters
+        [another part's name]
+    @effect
+        Causes the part to use another part content as the content of this part.
+        Only work with PROXY part.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_source(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part_Description_Proxy *ed;
+   char *name;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   if (current_part->type != EDJE_PART_TYPE_PROXY)
+     {
+        ERR("parse error %s:%i. source attributes in non-PROXY part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Proxy*) current_desc;
+
+   name = parse_str(0);
+
+   data_queue_part_lookup(pc, name, &(ed->proxy.id));
+   free(name);
+}
+
+/**
+    @page edcref
+    @property
+        state
+    @parameters
+        [a name for the description] [an index]
+    @effect
+        Sets a name used to identify a description inside a given part.
+        Multiple descriptions are used to declare different states of the same
+        part, like "clicked" or "invisible". All states declarations are also
+        coupled with an index number between 0.0 and 1.0. All parts must have
+        at least one description named "default 0.0".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_state(void)
+{
+   Edje_Part *ep;
+   Edje_Part_Description_Common *ed;
+   char *s;
+
+   check_min_arg_count(1);
+
+   ep = current_part;
+
+   ed = ep->default_desc;
+   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+   s = parse_str(0);
+   if (!strcmp (s, "custom"))
+     {
+        ERR("parse error %s:%i. invalid state name: '%s'.",
+            file_in, line - 1, s);
+        exit(-1);
+     }
+
+   ed->state.name = s;
+   if (get_arg_count() == 1)
+     ed->state.value = 0.0;
+   else
+     ed->state.value = parse_float_range(1, 0.0, 1.0);
+
+   if (ed != ep->default_desc)
+     {
+        if ((ep->default_desc->state.name && !strcmp(s, ep->default_desc->state.name) && ed->state.value == ep->default_desc->state.value) ||
+            (!ep->default_desc->state.name && !strcmp(s, "default") && ed->state.value == ep->default_desc->state.value))
+          {
+             if (ep->type == EDJE_PART_TYPE_IMAGE)
+               _edje_part_description_image_remove((Edje_Part_Description_Image*) ed);
+
+             free(ed);
+             ep->other.desc_count--;
+             ep->other.desc = realloc(ep->other.desc,
+                                      sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
+             current_desc = ep->default_desc;
+          }
+        else if (ep->other.desc_count)
+          {
+             unsigned int i;
+             for (i = 0; i < ep->other.desc_count - 1; ++i)
+               {
+                  if (!strcmp(s, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value)
+                    {
+                       if (ep->type == EDJE_PART_TYPE_IMAGE)
+                         _edje_part_description_image_remove((Edje_Part_Description_Image*) ed);
+
+                       free(ed);
+                       ep->other.desc_count--;
+                       ep->other.desc = realloc(ep->other.desc,
+                                                sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
+                       current_desc = ep->other.desc[i];
+                       break;
+                    }
+               }
+          }
+     }
+}
+
+/**
+    @page edcref
+    @property
+        visible
+    @parameters
+        [0 or 1]
+    @effect
+        Takes a boolean value specifying whether part is visible (1) or not
+        (0). Non-visible parts do not emit signals. The default value is 1.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_visible(void)
+{
+   check_arg_count(1);
+
+   if (current_part->type == EDJE_PART_TYPE_SPACER)
+     {
+       ERR("parse error %s:%i. SPACER part can't have a visibility defined",
+          file_in, line - 1);
+       exit(-1);
+     }
+
+   current_desc->visible = parse_bool(0);
+}
+/**
+    @page edcref
+    @property
+        limit
+    @parameters
+        [NONE, WIDTH, HEIGHT or BOTH]
+    @effect
+       Emit a signal when the part size change from zero or to a zero size
+       ('limit,width,over', 'limit,width,zero'). By default no signal are
+       emitted.
+    @endproperty
+    @since 1.7.0
+*/
+static void
+st_collections_group_parts_part_description_limit(void)
+{
+   check_arg_count(1);
+
+   current_desc->limit = parse_enum(0,
+                                   "NONE", 0,
+                                   "WIDTH", 1,
+                                   "HEIGHT", 2,
+                                   "BOTH", 3);
+
+   if (current_desc->limit)
+     {
+        Edje_Part_Collection *pc;
+        int count;
+
+        pc = eina_list_data_get(eina_list_last(edje_collections));
+        count = pc->limits.parts_count++;
+        pc->limits.parts = realloc(pc->limits.parts,
+                                   pc->limits.parts_count * sizeof (Edje_Part_Limit));
+        data_queue_part_lookup(pc, current_part->name,
+                               &(pc->limits.parts[count].part));
+     }
+}
+
+/**
+    @page edcref
+    @property
+        align
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        When the displayed object's size is smaller than its container, this
+        property moves it relatively along both axis inside its container. The
+        default value is "0.5 0.5".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_align(void)
+{
+   check_arg_count(2);
+
+   current_desc->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
+   current_desc->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+}
+
+/**
+    @page edcref
+    @property
+        fixed
+    @parameters
+        [width, 0 or 1] [height, 0 or 1]
+    @effect
+        This affects the minimum size calculation. See
+        edje_object_size_min_calc() and edje_object_size_min_restricted_calc().
+        This tells the min size calculation routine that this part does not
+        change size in width or height (1 for it doesn't, 0 for it does), so
+        the routine should not try and expand or contract the part.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fixed(void)
+{
+   check_arg_count(2);
+
+   current_desc->fixed.w = parse_float_range(0, 0, 1);
+   current_desc->fixed.h = parse_float_range(1, 0, 1);
+}
+
+/**
+    @page edcref
+    @property
+        min
+    @parameters
+        [width] [height] or SOURCE
+    @effect
+        The minimum size of the state.
+
+        When min is defined to SOURCE, it will look at the original
+        image size and enforce it minimal size to match at least the
+        original one. The part must be an IMAGE or a GROUP part.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_min(void)
+{
+   check_min_arg_count(1);
+
+   if (is_param(1)) {
+      current_desc->min.w = parse_float_range(0, 0, 0x7fffffff);
+      current_desc->min.h = parse_float_range(1, 0, 0x7fffffff);
+   } else {
+      char *tmp;
+
+      tmp = parse_str(0);
+      if ((current_part->type != EDJE_PART_TYPE_IMAGE && current_part->type != EDJE_PART_TYPE_GROUP) ||
+          !tmp || strcmp(tmp, "SOURCE") != 0)
+        {
+           ERR("parse error %s:%i. "
+               "Only IMAGE and GROUP part can have a min: SOURCE; defined",
+               file_in, line - 1);
+           exit(-1);
+        }
+
+      current_desc->min.limit = EINA_TRUE;
+   }
+}
+
+/**
+    @page edcref
+    @property
+        minmul
+    @parameters
+        [width multipler] [height multiplier]
+    @effect
+        A multiplier FORCIBLY applied to whatever minimum size is only during
+        minimum size calculation.
+    @endproperty
+    @since 1.2
+*/
+static void
+st_collections_group_parts_part_description_minmul(void)
+{
+   check_arg_count(2);
+
+   current_desc->minmul.w = FROM_DOUBLE(parse_float_range(0, 0, 999999));
+   current_desc->minmul.h = FROM_DOUBLE(parse_float_range(1, 0, 999999));
+}
+
+/**
+    @page edcref
+    @property
+        max
+    @parameters
+        [width] [height] or SOURCE
+    @effect
+        The maximum size of the state. A size of -1.0 means that it will be ignored in one direction.
+
+        When max is set to SOURCE, edje will enforce the part to be
+        not more than the original image size. The part must be an
+        IMAGE part.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_max(void)
+{
+   check_min_arg_count(1);
+
+   if (is_param(1)) {
+      current_desc->max.w = parse_float_range(0, -1.0, 0x7fffffff);
+      current_desc->max.h = parse_float_range(1, -1.0, 0x7fffffff);
+   } else {
+      char *tmp;
+
+      tmp = parse_str(0);
+      if (current_part->type != EDJE_PART_TYPE_IMAGE ||
+          !tmp || strcmp(tmp, "SOURCE") != 0)
+        {
+           ERR("parse error %s:%i. "
+               "Only IMAGE part can have a max: SOURCE; defined",
+               file_in, line - 1);
+           exit(-1);
+        }
+
+      current_desc->max.limit = EINA_TRUE;
+   }
+}
+
+/**
+    @page edcref
+    @property
+        step
+    @parameters
+        [width] [height]
+    @effect
+        Restricts resizing of each dimension to values divisibles by its value.
+        This causes the part to jump from value to value while resizing. The
+        default value is "0 0" disabling stepping.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_step(void)
+{
+   check_arg_count(2);
+
+   current_desc->step.x = parse_float_range(0, 0, 0x7fffffff);
+   current_desc->step.y = parse_float_range(1, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        aspect
+    @parameters
+        [min] [max]
+    @effect
+        Normally width and height can be resized to any values independently.
+        The aspect property forces the width to height ratio to be kept between
+        the minimum and maximum set. For example, "1.0 1.0" will increase the
+        width a pixel for every pixel added to height. The default value is
+        "0.0 0.0" disabling aspect.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_aspect(void)
+{
+   check_arg_count(2);
+
+   current_desc->aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
+   current_desc->aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
+}
+
+/**
+    @page edcref
+    @property
+        aspect_preference
+    @parameters
+        [DIMENSION]
+    @effect
+        Sets the scope of the "aspect" property to a given dimension. Available
+        options are BOTH, VERTICAL, HORIZONTAL, SOURCE and NONE
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_aspect_preference(void)
+{
+   check_arg_count(1);
+
+   current_desc->aspect.prefer =  parse_enum(0,
+                                  "NONE", EDJE_ASPECT_PREFER_NONE,
+                                  "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
+                                  "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
+                                  "BOTH", EDJE_ASPECT_PREFER_BOTH,
+                                  "SOURCE", EDJE_ASPECT_PREFER_SOURCE,
+                                  NULL);
+}
+
+/**
+    @page edcref
+    @property
+        color_class
+    @parameters
+        [color class name]
+    @effect
+        The part will use the color values of the named color_class, these
+        values can be overrided by the "color", "color2" and "color3"
+        properties set below.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_color_class(void)
+{
+   check_arg_count(1);
+
+   if (current_part->type == EDJE_PART_TYPE_SPACER)
+     {
+       ERR("parse error %s:%i. SPACER part can't have a color defined",
+          file_in, line - 1);
+       exit(-1);
+     }
+
+   current_desc->color_class = parse_str(0);
+}
+
+/**
+    @page edcref
+    @property
+        color
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        Sets the main color to the specified values (between 0 and 255).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_color(void)
+{
+   check_arg_count(4);
+
+   if (current_part->type == EDJE_PART_TYPE_SPACER)
+     {
+       ERR("parse error %s:%i. SPACER part can't have a color defined",
+          file_in, line - 1);
+       exit(-1);
+     }
+
+   current_desc->color.r = parse_int_range(0, 0, 255);
+   current_desc->color.g = parse_int_range(1, 0, 255);
+   current_desc->color.b = parse_int_range(2, 0, 255);
+   current_desc->color.a = parse_int_range(3, 0, 255);
+}
+
+/**
+    @page edcref
+    @property
+        color2
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        Sets the text shadow color to the specified values (0 to 255).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_color2(void)
+{
+   check_arg_count(4);
+
+   if (current_part->type == EDJE_PART_TYPE_SPACER)
+     {
+       ERR("parse error %s:%i. SPACER part can't have a color defined",
+          file_in, line - 1);
+       exit(-1);
+     }
+
+   current_desc->color2.r = parse_int_range(0, 0, 255);
+   current_desc->color2.g = parse_int_range(1, 0, 255);
+   current_desc->color2.b = parse_int_range(2, 0, 255);
+   current_desc->color2.a = parse_int_range(3, 0, 255);
+}
+
+/**
+    @page edcref
+    @property
+        color3
+    @parameters
+        [red] [green] [blue] [alpha]
+    @effect
+        Sets the text outline color to the specified values (0 to 255).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_color3(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(4);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   if (current_part->type != EDJE_PART_TYPE_TEXT
+       && current_part->type != EDJE_PART_TYPE_TEXTBLOCK)
+     {
+        ERR("Setting color3 in part %s from %s not of type TEXT or TEXTBLOCK.",
+            current_part->name, pc->part);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*)current_desc;
+
+   ed->text.color3.r = parse_int_range(0, 0, 255);
+   ed->text.color3.g = parse_int_range(1, 0, 255);
+   ed->text.color3.b = parse_int_range(2, 0, 255);
+   ed->text.color3.a = parse_int_range(3, 0, 255);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_relatives,Relatives (rel1/rel2)}
+ */
+
+/**
+    @page edcref
+    @block
+        rel1/rel2
+    @context
+        description {
+            ..
+            rel1 {
+                relative: 0.0 0.0;
+                offset:     0   0;
+            }
+            ..
+            rel2 {
+                relative: 1.0 1.0;
+                offset:    -1  -1;
+            }
+            ..
+        }
+    @description
+        The rel1 and rel2 blocks are used to define the position of each corner
+        of the part's container. With rel1 being the left-up corner and rel2
+        being the right-down corner.
+    @endblock
+
+    @property
+        relative
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        Moves a corner to a relative position inside the container of the
+        relative "to" part. Values from 0.0 (0%, beginning) to 1.0 (100%, end)
+        of each axis.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_rel1_relative(void)
+{
+   check_arg_count(2);
+
+   current_desc->rel1.relative_x = FROM_DOUBLE(parse_float(0));
+   current_desc->rel1.relative_y = FROM_DOUBLE(parse_float(1));
+}
+
+/**
+    @page edcref
+    @property
+        offset
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        Affects the corner position a fixed number of pixels along each axis.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_rel1_offset(void)
+{
+   check_arg_count(2);
+
+   current_desc->rel1.offset_x = parse_int(0);
+   current_desc->rel1.offset_y = parse_int(1);
+}
+
+/**
+    @page edcref
+    @property
+        to
+    @parameters
+        [another part's name]
+    @effect
+        Causes a corner to be positioned relatively to another part's
+        container. Setting to "" will un-set this value for inherited
+        parts.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_rel1_to_set(const char *name)
+{
+   Edje_Part_Collection *pc;
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x));
+   data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y));
+}
+
+static void
+st_collections_group_parts_part_description_rel1_to(void)
+{
+   check_arg_count(1);
+
+   {
+      char *name;
+      name = parse_str(0);
+      st_collections_group_parts_part_description_rel1_to_set(name);
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        to_x
+    @parameters
+        [another part's name]
+    @effect
+        Causes a corner to be positioned relatively to the X axis of another
+        part's container. Simply put affects the first parameter of "relative".
+        Setting to "" will un-set this value for inherited parts.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_rel1_to_x(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        to_y
+    @parameters
+        [another part's name]
+    @effect
+        Causes a corner to be positioned relatively to the Y axis of another
+        part's container. Simply put, affects the second parameter of
+        "relative". Setting to "" will un-set this value for inherited parts.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_rel1_to_y(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y));
+      free(name);
+   }
+}
+
+static void
+st_collections_group_parts_part_description_rel2_relative(void)
+{
+   check_arg_count(2);
+
+   current_desc->rel2.relative_x = FROM_DOUBLE(parse_float(0));
+   current_desc->rel2.relative_y = FROM_DOUBLE(parse_float(1));
+}
+
+static void
+st_collections_group_parts_part_description_rel2_offset(void)
+{
+   check_arg_count(2);
+
+   current_desc->rel2.offset_x = parse_int(0);
+   current_desc->rel2.offset_y = parse_int(1);
+}
+
+static void
+st_collections_group_parts_part_description_rel2_to_set(const char *name)
+{
+   Edje_Part_Collection *pc;
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x));
+   data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y));
+}
+
+static void
+st_collections_group_parts_part_description_rel2_to(void)
+{
+   check_arg_count(1);
+
+   {
+      char *name;
+      name = parse_str(0);
+      st_collections_group_parts_part_description_rel2_to_set(name);
+      free(name);
+   }
+}
+
+static void
+st_collections_group_parts_part_description_rel2_to_x(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x));
+      free(name);
+   }
+}
+
+static void
+st_collections_group_parts_part_description_rel2_to_y(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y));
+      free(name);
+   }
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_image,Image}
+ */
+
+/**
+    @page edcref
+    @block
+        image
+    @context
+        description {
+            ..
+            image {
+                normal: "filename.ext";
+                tween:  "filename2.ext";
+                ..
+                tween:  "filenameN.ext";
+                border:  left right top bottom;
+                middle:  0/1/NONE/DEFAULT/SOLID;
+                fill { }
+            }
+            ..
+        }
+    @description
+    @endblock
+
+    @property
+        normal
+    @parameters
+        [image's filename]
+    @effect
+        Name of image to be used as previously declared in the  images block.
+        In an animation, this is the first and last image displayed. It's
+        required in any image part
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_normal(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. "
+            "image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_image_remove(&(ed->image.id), &(ed->image.set));
+      data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        tween
+    @parameters
+        [image's filename]
+    @effect
+        Name of an image to be used in an animation loop, an image block can
+        have none, one or multiple tween declarations. Images are displayed in
+        the order they are listed, during the transition to the state they are
+        declared in; the "normal" image is the final state.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_tween(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   {
+      char *name;
+      Edje_Part_Image_Id *iid;
+
+      iid = mem_alloc(SZ(Edje_Part_Image_Id));
+      ed->image.tweens_count++;
+      ed->image.tweens = realloc(ed->image.tweens,
+                                sizeof (Edje_Part_Image_Id*) * ed->image.tweens_count);
+      ed->image.tweens[ed->image.tweens_count - 1] = iid;
+      name = parse_str(0);
+      data_queue_image_remove(&(iid->id), &(iid->set));
+      data_queue_image_lookup(name, &(iid->id), &(iid->set));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        border
+    @parameters
+        [left] [right] [top] [bottom]
+    @effect
+        If set, the area (in pixels) of each side of the image will be
+        displayed as a fixed size border, from the side -> inwards, preventing
+        the corners from being changed on a resize.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_border(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(4);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   ed->image.border.l = parse_int_range(0, 0, 0x7fffffff);
+   ed->image.border.r = parse_int_range(1, 0, 0x7fffffff);
+   ed->image.border.t = parse_int_range(2, 0, 0x7fffffff);
+   ed->image.border.b = parse_int_range(3, 0, 0x7fffffff);
+}
+
+/**
+    @page edcref
+    @property
+        middle
+    @parameters
+        0, 1, NONE, DEFAULT, SOLID
+    @effect
+        If border is set, this value tells Edje if the rest of the
+        image (not covered by the defined border) will be displayed or not
+        or be assumed to be solid (without alpha). The default is 1/DEFAULT.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_middle(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   ed->image.border.no_fill =  parse_enum(0,
+                                         "1", 0,
+                                         "DEFAULT", 0,
+                                         "0", 1,
+                                         "NONE", 1,
+                                         "SOLID", 2,
+                                         NULL);
+}
+
+/**
+    @page edcref
+    @property
+        border_scale_by
+    @parameters
+        0.0 or bigger (0.0 or 1.0 to turn it off)
+    @effect
+        If border scaling is enabled then normally the OUTPUT border sizes
+        (e.g. if 3 pixels on the left edge are set as a border, then normally
+        at scale 1.0, those 3 columns will always be the exact 3 columns of
+        output, or at scale 2.0 they will be 6 columns, or 0.33 they will merge
+        into a single column). This property multiplies the input scale
+        factor by this multiplier, allowing the creation of "supersampled"
+        borders to make much higher resolution outputs possible by always using
+        the highest resolution artwork and then runtime scaling it down.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_border_scale_by(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   ed->image.border.scale_by = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
+}
+
+/**
+    @page edcref
+    @property
+        border_scale
+    @parameters
+        0, 1
+    @effect
+        If border is set, this value tells Edje if the border should be scaled
+        by the object/global edje scale factors
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_border_scale(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   ed->image.border.scale =  parse_enum(0,
+                                       "0", 0,
+                                       "1", 1,
+                                       NULL);
+}
+
+/**
+    @page edcref
+    @property
+        scale_hint
+    @parameters
+        0, NONE, DYNAMIC, STATIC
+    @effect
+        Sets the evas image scale hint letting the engine more effectively save
+        cached copies of the scaled image if it makes sense
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_image_scale_hint(void)
+{
+   Edje_Part_Description_Image *ed;
+
+   check_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) current_desc;
+
+   ed->image.scale_hint =  parse_enum(0,
+                                     "NONE", EVAS_IMAGE_SCALE_HINT_NONE,
+                                     "DYNAMIC", EVAS_IMAGE_SCALE_HINT_DYNAMIC,
+                                     "STATIC", EVAS_IMAGE_SCALE_HINT_STATIC,
+                                     "0", EVAS_IMAGE_SCALE_HINT_NONE,
+                                     NULL);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_image_fill,Fill}
+ */
+
+/**
+    @page edcref
+    @block
+        fill
+    @context
+        description {
+            ..
+            fill {
+                smooth: 0-1;
+                origin {
+                    relative: X-axis Y-axis;
+                    offset:   X-axis Y-axis;
+                }
+                size {
+                    relative: width  height;
+                    offset:   width  height;
+                }
+            }
+            ..
+        }
+    @description
+        The fill method is an optional block that defines the way an IMAGE part
+        is going to be displayed inside its container.
+        It can be used for tiling (repeating the image) or displaying only
+        part of an image. See @ref evas_object_image_fill_set() documentation
+        for more details.
+    @endblock
+
+    @property
+        smooth
+    @parameters
+        [0 or 1]
+    @effect
+        The smooth property takes a boolean value to decide if the image will
+        be smoothed on scaling (1) or not (0). The default value is 1.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_smooth(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(1);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY `%s` part (%i).",
+               file_in, line - 1, current_part->name, current_part->type);
+           exit(-1);
+        }
+     }
+
+   fill->smooth = parse_bool(0);
+}
+
+/**
+    @page edcref
+
+    @property
+        spread
+    @parameters
+        TODO
+    @effect
+        TODO
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_spread(void)
+{
+#if 0
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   Edje_Part_Description_Image *ed;
+#endif
+
+   check_arg_count(1);
+
+   /* XXX this will need to include IMAGES when spread support is added to evas images */
+   {
+      ERR("parse error %s:%i. fill.spread not supported yet.",
+         file_in, line - 1);
+      exit(-1);
+   }
+
+#if 0
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   ep = pc->parts[pc->parts_count - 1];
+
+   if (ep->type != EDJE_PART_TYPE_IMAGE)
+     {
+        ERR("parse error %s:%i. image attributes in non-IMAGE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Image*) ep->default_desc;
+   if (ep->other.desc_count) ed = (Edje_Part_Description_Image*)  ep->other.desc[ep->other.desc_count - 1];
+
+   ed->image.fill.spread = parse_int_range(0, 0, 1);
+#endif
+}
+
+/**
+    @page edcref
+
+    @property
+        type
+    @parameters
+        TODO
+    @effect
+        TODO
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_type(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(1);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY part.",
+               file_in, line - 1);
+           exit(-1);
+        }
+     }
+
+   fill->type = parse_enum(0,
+                           "SCALE", EDJE_FILL_TYPE_SCALE,
+                           "TILE", EDJE_FILL_TYPE_TILE,
+                           NULL);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_image_fill_origin,Origin}
+ */
+
+/**
+    @page edcref
+    @block
+        origin
+    @context
+        description {
+            ..
+            fill {
+                ..
+                origin {
+                    relative: 0.0 0.0;
+                    offset:   0   0;
+                }
+                ..
+            }
+            ..
+        }
+    @description
+        The origin block is used to place the starting point, inside the
+        displayed element, that will be used to render the tile. By default,
+        the origin is set at the element's left-up corner.
+    @endblock
+
+    @property
+        relative
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        Sets the starting point relatively to displayed element's content.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_origin_relative(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(2);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY part.",
+               file_in, line - 1);
+           exit(-1);
+        }
+     }
+
+   fill->pos_rel_x = FROM_DOUBLE(parse_float_range(0, -999999999.0, 999999999.0));
+   fill->pos_rel_y = FROM_DOUBLE(parse_float_range(1, -999999999.0, 999999999.0));
+}
+
+/**
+    @page edcref
+    @property
+        offset
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        Affects the starting point a fixed number of pixels along each axis.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_origin_offset(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(2);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY part.",
+               file_in, line - 1);
+           exit(-1);
+        }
+     }
+
+   fill->pos_abs_x = parse_int(0);
+   fill->pos_abs_y = parse_int(1);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_image_fill_size,Size}
+ */
+
+/**
+    @page edcref
+    @block
+        size
+    @context
+        description {
+            ..
+            fill {
+                ..
+                size {
+                    relative: 1.0 1.0;
+                    offset:  -1  -1;
+                }
+                ..
+            }
+            ..
+        }
+    @description
+        The size block defines the tile size of the content that will be
+        displayed.
+    @endblock
+
+    @property
+        relative
+    @parameters
+        [width] [height]
+    @effect
+        Takes a pair of decimal values that represent the percentual value
+        of the original size of the element. For example, "0.5 0.5" represents
+        half the size, while "2.0 2.0" represents the double. The default
+        value is "1.0 1.0".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_size_relative(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(2);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY part.",
+               file_in, line - 1);
+           exit(-1);
+        }
+     }
+
+   fill->rel_x = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
+   fill->rel_y = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
+}
+
+/**
+    @page edcref
+    @property
+        offset
+    @parameters
+        [X axis] [Y axis]
+    @effect
+        Affects the size of the tile a fixed number of pixels along each axis.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_fill_size_offset(void)
+{
+   Edje_Part_Description_Spec_Fill *fill;
+
+   check_arg_count(2);
+
+   switch (current_part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+        {
+           Edje_Part_Description_Image *ed;
+
+           ed = (Edje_Part_Description_Image*) current_desc;
+
+           fill = &ed->image.fill;
+          break;
+        }
+      case EDJE_PART_TYPE_PROXY:
+        {
+           Edje_Part_Description_Proxy *ed;
+
+           ed = (Edje_Part_Description_Proxy*) current_desc;
+
+           fill = &ed->proxy.fill;
+          break;
+        }
+      default:
+        {
+           ERR("parse error %s:%i. "
+               "image and proxy attributes in non-IMAGE, non-PROXY part.",
+               file_in, line - 1);
+           exit(-1);
+        }
+     }
+
+   fill->abs_x = parse_int(0);
+   fill->abs_y = parse_int(1);
+}
+
+
+/**
+   @edcsubsection{collections_group_parts_description_text,Text}
+ */
+
+/**
+    @page edcref
+
+    @block
+        text
+    @context
+        part {
+            description {
+                ..
+                text {
+                    text:        "some string of text to display";
+                    font:        "font_name";
+                    size:         SIZE;
+                    text_class:  "class_name";
+                    fit:          horizontal vertical;
+                    min:          horizontal vertical;
+                    max:          horizontal vertical;
+                    align:        X-axis     Y-axis;
+                    source:      "part_name";
+                    text_source: "text_part_name";
+                    ellipsis:     0.0-1.0;
+                    style:       "stylename";
+                }
+                ..
+            }
+        }
+    @description
+    @endblock
+
+    @property
+        text
+    @parameters
+        [a string of text, or nothing]
+    @effect
+        Sets the default content of a text part, normally the application is
+        the one changing its value.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_text(void)
+{
+   Edje_Part_Description_Text *ed;
+   char *str = NULL;
+   int i;
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   for (i = 0; ;i++)
+     {
+       char *s;
+
+       if (!is_param(i)) break;
+       s = parse_str(i);
+       if (!str) str = s;
+       else
+         {
+            str = realloc(str, strlen(str) + strlen(s) + 1);
+            strcat(str, s);
+            free(s);
+         }
+     }
+   ed->text.text.str = str;
+}
+
+/**
+    @page edcref
+
+    @property
+        text_class
+    @parameters
+        [text class name]
+    @effect
+        Similar to color_class, this is the name used by the application
+        to alter the font family and size at runtime.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_text_class(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.text_class = parse_str(0);
+}
+
+/**
+    @page edcref
+
+    @property
+        font
+    @parameters
+        [font alias]
+    @effect
+        This sets the font family to one of the aliases set up in the "fonts"
+        block. Can be overrided by the application.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_font(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.font.str = parse_str(0);
+}
+
+/**
+    @page edcref
+
+    @property
+        style
+    @parameters
+        [the style name]
+    @effect
+        Causes the part to use the default style and tags defined in the
+        "style" block with the specified name.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_style(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.style.str = parse_str(0);
+}
+
+/**
+    @page edcref
+
+    @property
+        repch
+    @parameters
+        [the replacement character string]
+    @effect
+        If this is a textblock and is in PASSWORD mode this string is used
+        to replace every character to hide the details of the entry. Normally
+        you would use a "*", but you can use anything you like.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_repch(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.repch.str = parse_str(0);
+}
+
+/**
+    @page edcref
+
+    @property
+        size
+    @parameters
+        [font size in points (pt)]
+    @effect
+        Sets the default font size for the text part. Can be overrided by the
+        application.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_size(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*)current_desc;
+
+   ed->text.size = parse_int_range(0, 0, 255);
+}
+
+/**
+    @page edcref
+
+    @property
+        size_range
+    @parameters
+        [font min size in points (pt)] [font max size in points (pt)]
+    @effect
+        Sets the allowed font size for the text part. Setting min and max to 0
+        means we won't restrict the sizing (default).
+    @endproperty
+    @since 1.1.0
+*/
+static void
+st_collections_group_parts_part_description_text_size_range(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(2);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.size_range_min = parse_int_range(0, 0, 255);
+   ed->text.size_range_max = parse_int_range(1, 0, 255);
+   if (ed->text.size_range_min > ed->text.size_range_max)
+     {
+        ERR("parse error %s:%i. min size is bigger than max size.",
+            file_in, line - 1);
+        exit(-1);
+     }
+}
+
+/**
+    @page edcref
+
+    @property
+        fit
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        When any of the parameters is set to 1 edje will resize the text for it
+        to fit in it's container. Both are disabled by default.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_fit(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(2);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.fit_x = parse_bool(0);
+   ed->text.fit_y = parse_bool(1);
+}
+
+/**
+    @page edcref
+
+    @property
+        min
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        When any of the parameters is enabled (1) it forces the minimum size of
+        the container to be equal to the minimum size of the text. The default
+        value is "0 0".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_min(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(2);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*)current_desc;
+
+   ed->text.min_x = parse_bool(0);
+   ed->text.min_y = parse_bool(1);
+}
+
+/**
+    @page edcref
+
+    @property
+        max
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        When any of the parameters is enabled (1) it forces the maximum size of
+        the container to be equal to the maximum size of the text. The default
+        value is "0 0".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_max(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(2);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.max_x = parse_bool(0);
+   ed->text.max_y = parse_bool(1);
+}
+
+/**
+    @page edcref
+
+    @property
+        align
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        Change the position of the point of balance inside the container. The
+        default value is 0.5 0.5.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_align(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(2);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
+   ed->text.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+}
+
+/**
+    @page edcref
+
+    @property
+        source
+    @parameters
+        [another TEXT part's name]
+    @effect
+        Causes the part to use the text properties (like font and size) of
+        another part and update them as they change.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_source(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(ed->text.id_source));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+
+    @property
+        text_source
+    @parameters
+        [another TEXT part's name]
+    @effect
+        Causes the part to display the text content of another part and update
+        them as they change.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_text_source(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(ed->text.id_text_source));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+
+    @property
+        ellipsis
+    @parameters
+        [point of balance]
+    @effect
+        Used to balance the text in a relative point from 0.0 to 1.0, this
+        point is the last section of the string to be cut out in case of a
+        resize that is smaller than the text itself. The default value is 0.0.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_text_elipsis(void)
+{
+   Edje_Part_Description_Text *ed;
+
+   check_arg_count(1);
+
+   if ((current_part->type != EDJE_PART_TYPE_TEXT) &&
+       (current_part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        ERR("parse error %s:%i. text attributes in non-TEXT part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Text*) current_desc;
+
+   ed->text.elipsis = parse_float_range(0, 0.0, 1.0);
+}
+
+
+/**
+   @edcsubsection{collections_group_parts_description_box,Box}
+ */
+
+/**
+    @page edcref
+
+    @block
+        box
+    @context
+        part {
+            description {
+                ..
+                box {
+                    layout: "vertical";
+                    padding: 0 2;
+                    align: 0.5 0.5;
+                   min: 0 0;
+                }
+                ..
+            }
+        }
+    @description
+        A box block can contain other objects and display them in different
+       layouts, any of the predefined set, or a custom one, set by the
+       application.
+    @endblock
+
+    @property
+        layout
+    @parameters
+        [primary layout] [fallback layout]
+    @effect
+        Sets the layout for the box:
+            @li horizontal (default)
+            @li vertical
+            @li horizontal_homogeneous
+            @li vertical_homogeneous
+            @li horizontal_max (homogeneous to the max sized child)
+            @li vertical_max
+            @li horizontal_flow
+            @li vertical_flow
+            @li stack
+            @li some_other_custom_layout_set_by_the_application
+        You could set a custom layout as fallback, it makes very
+        very little sense though, and if that one fails, it will
+        default to horizontal.
+    @endproperty
+
+    @property
+        align
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        Change the position of the point of balance inside the container. The
+        default value is 0.5 0.5.
+    @endproperty
+
+    @property
+        padding
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        Sets the space between cells in pixels. Defaults to 0 0.
+    @endproperty
+
+    @property
+        min
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        When any of the parameters is enabled (1) it forces the minimum size of
+        the box to be equal to the minimum size of the items. The default
+        value is "0 0".
+    @endproperty
+*/
+static void st_collections_group_parts_part_description_box_layout(void)
+{
+   Edje_Part_Description_Box *ed;
+
+   check_min_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_BOX)
+     {
+        ERR("parse error %s:%i. box attributes in non-BOX part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Box*) current_desc;
+
+   ed->box.layout = parse_str(0);
+   if (is_param(1))
+     ed->box.alt_layout = parse_str(1);
+}
+
+static void st_collections_group_parts_part_description_box_align(void)
+{
+   Edje_Part_Description_Box *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_BOX)
+     {
+        ERR("parse error %s:%i. box attributes in non-BOX part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Box*) current_desc;
+
+   ed->box.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
+   ed->box.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
+}
+
+static void st_collections_group_parts_part_description_box_padding(void)
+{
+   Edje_Part_Description_Box *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_BOX)
+     {
+        ERR("parse error %s:%i. box attributes in non-BOX part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Box*) current_desc;
+
+   ed->box.padding.x = parse_int_range(0, 0, 0x7fffffff);
+   ed->box.padding.y = parse_int_range(1, 0, 0x7fffffff);
+}
+
+static void
+st_collections_group_parts_part_description_box_min(void)
+{
+   Edje_Part_Description_Box *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_BOX)
+     {
+        ERR("parse error %s:%i. box attributes in non-BOX part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Box*) current_desc;
+
+   ed->box.min.h = parse_bool(0);
+   ed->box.min.v = parse_bool(1);
+}
+
+
+/**
+   @edcsubsection{collections_group_parts_description_table,Table}
+ */
+
+/**
+    @page edcref
+
+    @block
+        table
+    @context
+        part {
+            description {
+                ..
+                table {
+                    homogeneous: TABLE;
+                    padding: 0 2;
+                    align: 0.5 0.5;
+                    min: 0 0;
+                }
+                ..
+            }
+        }
+    @description
+        A table block can contain other objects packed in multiple columns
+        and rows, and each item can span across more than one column and/or
+        row.
+    @endblock
+
+    @property
+        homogeneous
+    @parameters
+        [homogeneous mode]
+    @effect
+        Sets the homogeneous mode for the table:
+            @li NONE (default)
+            @li TABLE
+            @li ITEM
+    @endproperty
+
+    @property
+        align
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        Change the position of the point of balance inside the container. The
+        default value is 0.5 0.5.
+    @endproperty
+
+    @property
+        padding
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        Sets the space between cells in pixels. Defaults to 0 0.
+    @endproperty
+
+    @property
+        min
+    @parameters
+        [horizontal] [vertical]
+    @effect
+        When any of the parameters is enabled (1) it forces the minimum size of
+        the table to be equal to the minimum size of the items. The default
+        value is "0 0".
+    @endproperty
+*/
+static void st_collections_group_parts_part_description_table_homogeneous(void)
+{
+   Edje_Part_Description_Table *ed;
+
+   check_min_arg_count(1);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. table attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Table*) current_desc;
+
+   ed->table.homogeneous = parse_enum(0,
+                                    "NONE", EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE,
+                                    "TABLE", EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE,
+                                    "ITEM", EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM,
+                                    NULL);
+}
+
+static void st_collections_group_parts_part_description_table_align(void)
+{
+   Edje_Part_Description_Table *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. table attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Table*) current_desc;
+
+   ed->table.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
+   ed->table.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
+}
+
+static void st_collections_group_parts_part_description_table_padding(void)
+{
+   Edje_Part_Description_Table *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. table attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Table*) current_desc;
+
+   ed->table.padding.x = parse_int_range(0, 0, 0x7fffffff);
+   ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff);
+}
+
+static void
+st_collections_group_parts_part_description_table_min(void)
+{
+   Edje_Part_Description_Table *ed;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_TABLE)
+     {
+        ERR("parse error %s:%i. box attributes in non-TABLE part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_Table*) current_desc;
+
+   ed->table.min.h = parse_bool(0);
+   ed->table.min.v = parse_bool(1);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_physics,Physics}
+ */
+
+/**
+    @page edcref
+    @block
+        physics
+    @context
+    description {
+        ..
+        physics {
+            ignore_part_pos: 1;
+            mass: 5.31;
+            friction: 0.5;
+            restitution: 0.82;
+            damping: 0.4 0.24;
+            sleep: 32 18.9;
+            material: IRON;
+            density: 3.2;
+            hardness: 0.42;
+            light_on: 1;
+            z: -15;
+            depth: 30;
+            movement_freedom {
+                ..
+            }
+            faces {
+                ..
+            }
+        }
+        ..
+    }
+
+    @description
+        Physics block should be used to configure the body associated to the
+        part. The part's property physics_body needs to be set to something
+        different from NONE, otherwise the properties inside physics block
+        won't have any effect.
+        It's possible to set body's material, mass, restitution, friction,
+        allow / disallow movement in specific axes, etc.
+    @endblock
+
+    @property
+        mass
+    @parameters
+        [body's mass in kilograms]
+    @effect
+        Double value used to set inertial mass of the body.
+        It is a quantitative measure of an object's resistance to the change of
+        its speed. If mass is set to 0 the body will have infinite mass,
+        so it will be immovable, static.
+    @endproperty
+    @since 1.8.0
+*/
+
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_mass(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.mass = parse_float(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        restitution
+    @parameters
+        [body's restitution]
+    @effect
+        The coefficient of restitution is proporcion between speed after and
+        before a collision. It's 0 by default.
+
+        COR = relative speed after collision / relative speed before collision
+
+        @li elastically collide for COR == 1;
+        @li inelastically collide for 0 < COR < 1;
+        @li completelly stop (no bouncing at all) for COR == 0.
+
+    @endproperty
+    @since 1.8.0
+*/
+
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_restitution(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.restitution = parse_float(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        friction
+    @parameters
+        [body's friction]
+    @effect
+        Friction is used to make objects slide along each ot
+
+        The friction parameter is usually set between 0 and 1, but can be any
+        non-negative value. A friction value of 0 turns off friction and a value
+        of 1 makes the friction strong.
+
+        By default friction value is 0.5 and simulation resulsts will be better
+        when friction in non-zero.
+
+    @endproperty
+    @since 1.8.0
+*/
+
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_friction(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.friction = parse_float(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        ignore_part_pos
+    @parameters
+        [1 or 0]
+    @effect
+        If enabled, the body won't be positioned following rel1/rel2.
+        It will keep its position updated only by physics calculations.
+        If disabled, when the state is set, the body will be moved to
+        the position described by the blocks rel1/rel2.
+        Default is 1 (enabled).
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_ignore_part_pos(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.ignore_part_pos = parse_bool(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        damping
+    @parameters
+        [linear damping] [angular damping]
+    @effect
+        Damping(linear and angular) values are applied to body's linear and
+        angular velocity.
+        By applying a bodies damping factor the user will face a velocity
+        reduction, with a force applied to it - "like" air resistance.
+        The force is applied to slow it down.
+        Values should be between 0.0 and 1.0, and are set to 0 by default.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_damping(void)
+{
+   check_arg_count(2);
+
+   current_desc->physics.damping.linear = parse_float_range(0, 0, 1.0);
+   current_desc->physics.damping.angular = parse_float_range(1, 0, 1.0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        sleep
+    @parameters
+        [linear sleeping threshold] [angular sleeping threshold]
+    @effect
+        Sleeping threshold factors are used to determine whenever a rigid body
+        is supposed to increment the sleeping time. Linear threshold is
+        measured in Evas coordinates per second and angular threshold is
+        measured in degrees per second.
+        After every tick the sleeping time is incremented, if the body's
+        linear and angular speed is less than the respective thresholds
+        the sleeping time is incremented by the current time step (delta time).
+        Reaching the max sleeping time the body is marked to sleep, that means
+        the rigid body is to be deactivated.
+        By default linear threshold is 24 pixels / second and angular is
+        57.29 degrees / sec (1 rad/sec).
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_sleep(void)
+{
+   check_arg_count(2);
+
+   current_desc->physics.sleep.linear = parse_float(0);
+   current_desc->physics.sleep.angular = parse_float(1);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        material
+    @parameters
+        [body's material]
+    @effect
+        Set the type (all caps) from among the available material types,
+        it's set to CUSTOM by default.
+        Each material has specific properties to be
+        applied on the body, as density, friction and restitution.
+        So if a material different of CUSTOM is set, the properties cited above
+        won't be considered.
+        Valid types:
+          * CUSTOM
+          * CONCRETE
+          * IRON
+          * PLASTIC
+          * POLYSTYRENE
+          * RUBBER
+          * WOOD
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_material(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.material = parse_enum(0,
+      "CUSTOM", EPHYSICS_BODY_MATERIAL_CUSTOM,
+      "CONCRETE", EPHYSICS_BODY_MATERIAL_CONCRETE,
+      "IRON", EPHYSICS_BODY_MATERIAL_IRON,
+      "PLASTIC", EPHYSICS_BODY_MATERIAL_PLASTIC,
+      "POLYSTYRENE", EPHYSICS_BODY_MATERIAL_POLYSTYRENE,
+      "RUBBER", EPHYSICS_BODY_MATERIAL_RUBBER,
+      "WOOD", EPHYSICS_BODY_MATERIAL_WOOD,
+      NULL);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        density
+    @parameters
+        [body's material density]
+    @effect
+        It will set the body mass considering its volume. While a density is
+        set, resizing a body will always recalculate its mass.
+        When a mass is explicitely set the density will be unset.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_density(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.density = parse_float(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        hardness
+    @parameters
+        [soft bodie or cloth hardness]
+    @effect
+        The hardness is set with a double value (0.0 - 1.0), defining
+        how the soft body is supposed to deform.
+        Its default is set to 1.0. The soft body mass will also interfere on
+        soft body deformation, so bare in mind that the bodies mass must also
+        be changed to have different deformation results.
+        Valid values vary from 0.0 to 1.0. Only works on soft bodies and cloths.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_hardness(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.hardness = parse_float_range(0, 0, 1.0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        light_on
+    @parameters
+        [1 or 0]
+    @effect
+        Set body to be affected by world's light or not.
+        It won't be respected if world's property "all_bodies" is enabled.
+        Disabled by default (0).
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_light_on(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.light_on = parse_bool(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        z
+    @parameters
+        [body position in z axis]
+    @effect
+        Defines body position in z axis. It's set to -15 by default.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_z(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.z = parse_int(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        depth
+    @parameters
+        [body's depth]
+    @effect
+        Defines body's depth (z axis). It's set to 30 by default.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_depth(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.depth = parse_int(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        backface_cull
+    @parameters
+        [1 or 0]
+    @effect
+        This enables backface culling (when the rotated part that normally faces
+        the camera is facing away after being rotated etc.).
+        This means that the object will be hidden when "backface culled".
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_backface_cull(void)
+{
+   check_arg_count(1);
+
+   current_desc->physics.backcull = parse_bool(0);
+}
+#endif
+
+/**
+   @edcsubsection{collections_group_parts_description_physics_movement_freedom,Movement Freedom}
+ */
+
+/**
+    @page edcref
+    @block
+        movement_freedom
+    @context
+    description {
+        ..
+        physics {
+            ...
+            movement_freedom {
+                linear: 1 1 0;
+                angular: 0 0 1;
+            }
+        }
+        ..
+    }
+
+    @description
+        The "movement_freedom" block consists of two blocks to describe all
+        the allowed movements for a body.
+        It's set by default to allow just 2D movement (linear moves on
+        x and y axis and rotations on x-y plane).
+    @endblock
+
+    @property
+        linear
+    @parameters
+        [x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
+    @effect
+        Block "linear" can be used to allow linear movements in the three
+        axes. Allowed values are 0 or 1.
+        Axes x and y are enabled by default.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_movement_freedom_linear(void)
+{
+   check_arg_count(3);
+
+   current_desc->physics.mov_freedom.lin.x = parse_bool(0);
+   current_desc->physics.mov_freedom.lin.y = parse_bool(1);
+   current_desc->physics.mov_freedom.lin.z = parse_bool(2);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        angular
+    @parameters
+        [x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
+    @effect
+        Block "angular" can be used to allow angular movements around the three
+        axes. Allowed values are 0 or 1.
+        Z axis is enabled by default.
+    @endproperty
+    @since 1.8.0
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_movement_freedom_angular(void)
+{
+   check_arg_count(3);
+
+   current_desc->physics.mov_freedom.ang.x = parse_bool(0);
+   current_desc->physics.mov_freedom.ang.y = parse_bool(1);
+   current_desc->physics.mov_freedom.ang.z = parse_bool(2);
+}
+#endif
+
+/**
+   @edcsubsection{collections_group_parts_description_physics_faces,Faces}
+ */
+
+/**
+    @page edcref
+    @block
+        faces
+    @context
+        faces {
+            face {
+                type: BOX_FRONT;
+                source:  "groupname";
+            }
+            ..
+        }
+    @description
+        The "faces" block contains a list of one or more "face" blocks.
+        The "faces" block is used to list the faces that compose the body.
+        Each face is described by a "face" block, that associates a part
+        to a specific face of the body's shape.
+        Only the "faces" block declared in the "default" description
+        will be considered.
+    @endblock
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_face(void)
+{
+   Edje_Physics_Face *pface;
+
+   pface = mem_alloc(SZ(Edje_Physics_Face));
+   current_desc->physics.faces = eina_list_append(current_desc->physics.faces,
+                                                  pface);
+   pface->type = 0;
+   pface->source = NULL;
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        type
+    @parameters
+        [FACE]
+    @effect
+        Set the face (all caps) from among the available body's shape faces.
+        Valid faces:
+            * BOX_MIDDLE_FRONT
+            * BOX_MIDDLE_BACK
+            * BOX_FRONT
+            * BOX_BACK
+            * BOX_LEFT
+            * BOX_RIGHT
+            * BOX_TOP
+            * BOX_BOTTOM
+            * CLOTH_FRONT
+            * CLOTH_BACK
+            * CYLINDER_MIDDLE_FRONT
+            * CYLINDER_MIDDLE_BACK
+            * CYLINDER_FRONT
+            * CYLINDER_BACK
+            * CYLINDER_CURVED
+            * SPHERE_FRONT
+            * SPHERE_BACK
+    @endproperty
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_face_type(void)
+{
+   Edje_Physics_Face *pface, *pface2;
+   Eina_List *l;
+
+   pface = eina_list_data_get(eina_list_last(current_desc->physics.faces));
+   pface->type = parse_enum(0,
+      "BOX_MIDDLE_FRONT", EPHYSICS_BODY_BOX_FACE_MIDDLE_FRONT,
+      "BOX_MIDDLE_BACK", EPHYSICS_BODY_BOX_FACE_MIDDLE_BACK,
+      "BOX_FRONT", EPHYSICS_BODY_BOX_FACE_FRONT,
+      "BOX_BACK", EPHYSICS_BODY_BOX_FACE_BACK,
+      "BOX_LEFT", EPHYSICS_BODY_BOX_FACE_LEFT,
+      "BOX_RIGHT", EPHYSICS_BODY_BOX_FACE_RIGHT,
+      "BOX_TOP", EPHYSICS_BODY_BOX_FACE_TOP,
+      "BOX_BOTTOM", EPHYSICS_BODY_BOX_FACE_BOTTOM,
+      "CLOTH_FRONT", EPHYSICS_BODY_CLOTH_FACE_FRONT,
+      "CLOTH_BACK", EPHYSICS_BODY_CLOTH_FACE_BACK,
+      "CYLINDER_MIDDLE_FRONT", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_FRONT,
+      "CYLINDER_MIDDLE_BACK", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_BACK,
+      "CYLINDER_FRONT", EPHYSICS_BODY_CYLINDER_FACE_FRONT,
+      "CYLINDER_BACK", EPHYSICS_BODY_CYLINDER_FACE_BACK,
+      "CYLINDER_CURVED", EPHYSICS_BODY_CYLINDER_FACE_CURVED,
+      "SPHERE_FRONT", EPHYSICS_BODY_SPHERE_FACE_FRONT,
+      "SPHERE_BACK", EPHYSICS_BODY_SPHERE_FACE_BACK,
+      NULL);
+
+   EINA_LIST_FOREACH(current_desc->physics.faces, l, pface2)
+     {
+       if ((pface != pface2) && (pface->type == pface2->type))
+         {
+            ERR("parse error %s:%i. There is already a face of type \"%i\"",
+                file_in, line - 1, pface->type);
+            exit(-1);
+         }
+     }
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        source
+    @parameters
+        [another group's name]
+    @effect
+        This sets the group that is used as the object representing the physics
+        body face.
+    @endproperty
+*/
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_parts_part_description_physics_face_source(void)
+{
+   Edje_Physics_Face *pface;
+
+   pface = eina_list_data_get(eina_list_last(current_desc->physics.faces));
+   check_arg_count(1);
+
+   pface->source = parse_str(0);
+   data_queue_face_group_lookup(pface->source);
+}
+#endif
+
+/**
+   @edcsubsection{collections_group_parts_description_map,Map}
+ */
+
+/**
+    @page edcref
+    @block
+        map
+    @context
+    description {
+        ..
+        map {
+            perspective: "name";
+            light: "name";
+            on: 1;
+            smooth: 1;
+            perspective_on: 1;
+            backface_cull: 1;
+            alpha: 1;
+            
+            rotation {
+                ..
+            }
+        }
+        ..
+    }
+    
+    @description
+    @endblock
+    
+    @property
+        perspective
+    @parameters
+        [another part's name]
+    @effect
+        This sets the part that is used as the "perspective point" for giving
+        a part a "3d look". The perspective point should have a perspective
+        section that provides zplane and focal properties. The center of this
+        part will be used as the focal point, so size, color and visibility
+        etc. are not relevant just center point, zplane and focal are used.
+        This also implicitly enables perspective transforms (see the on
+        parameter for the map section).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_perspective(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->map.id_persp));
+      free(name);
+   }
+
+   current_desc->map.persp_on = 1;
+}
+
+/**
+    @page edcref
+    @property
+        light
+    @parameters
+        [another part's name]
+    @effect
+        This sets the part that is used as the "light" for calculating the
+        brightness (based on how directly the part's surface is facing the
+        light source point). Like the perspective point part, the center point
+        is used and zplane is used for the z position (0 being the zero-plane
+        where all 2D objects normally live) and positive values being further
+        away into the distance. The light part color is used as the light
+        color (alpha not used for light color). The color2 color is used for
+        the ambient lighting when calculating brightness (alpha also not
+        used).
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_light(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->map.id_light));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        on
+    @parameters
+        [1 or 0]
+    @effect
+        This enables mapping for the part. Default is 0.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_on(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.on = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        smooth
+    @parameters
+        [1 or 0]
+    @effect
+        This enable smooth map rendering. This may be linear interpolation,
+        anisotropic filtering or anything the engine decides is "smooth".
+        This is a best-effort hint and may not produce precisely the same
+        results in all engines and situations. Default is 1
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_smooth(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.smooth = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        alpha
+    @parameters
+        [1 or 0]
+    @effect
+        This enable alpha channel when map rendering. Default is 1.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_alpha(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.alpha = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        backface_cull
+    @parameters
+        [1 or 0]
+    @effect
+        This enables backface culling (when the rotated part that normally
+        faces the camera is facing away after being rotated etc.). This means
+        that the object will be hidden when "backface culled".
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_backface_cull(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.backcull = parse_bool(0);
+}
+
+/**
+    @page edcref
+    @property
+        perspective_on
+    @parameters
+       [1 or 0]
+    @effect
+        Enable perspective when rotating even without a perspective point object.
+        This would use perspective set for the object itself or for the
+        canvas as a whole as the global perspective with 
+        edje_perspective_set() and edje_perspective_global_set().
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_perspective_on(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.persp_on = parse_bool(0);
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_map_rotation,Rotation}
+ */
+
+/**
+    @page edcref
+    @block
+        rotation
+    @context
+    map {
+        ..
+        rotation {
+            center: "name";
+            x: 45.0;
+            y: 45.0;
+            z: 45.0;
+        }
+        ..
+    }
+    @description
+        Rotates the part, optionally with the center on another part.
+    @endblock
+    
+    @property
+        center
+    @parameters
+        [another part's name]
+    @effect
+        This sets the part that is used as the center of rotation when
+        rotating the part with this description. The part's center point
+        is used as the rotation center when applying rotation around the
+        x, y and z axes. If no center is given, the parts original center
+        itself is used for the rotation center.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_rotation_center(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   {
+      char *name;
+
+      name = parse_str(0);
+      data_queue_part_lookup(pc, name, &(current_desc->map.rot.id_center));
+      free(name);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        x
+    @parameters
+        [X degrees]
+    @effect
+        This sets the rotation around the x axis of the part considering
+        the center set. In degrees.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_rotation_x(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.rot.x = FROM_DOUBLE(parse_float(0));
+}
+
+/**
+    @page edcref
+    @property
+        y
+    @parameters
+        [Y degrees]
+    @effect
+        This sets the rotation around the y axis of the part considering
+        the center set. In degrees.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_rotation_y(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.rot.y = FROM_DOUBLE(parse_float(0));
+}
+
+/**
+    @page edcref
+    @property
+        z
+    @parameters
+        [Z degrees]
+    @effect
+        This sets the rotation around the z axis of the part considering
+        the center set. In degrees.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_map_rotation_z(void)
+{
+   check_arg_count(1);
+
+   current_desc->map.rot.z = FROM_DOUBLE(parse_float(0));
+}
+
+/**
+   @edcsubsection{collections_group_parts_description_perspective,Perspective}
+ */
+
+/**
+    @page edcref
+    @block
+        perspective
+    @context
+    description {
+        ..
+        perspective {
+            zplane: 0;
+            focal: 1000;
+        }
+        ..
+    }
+    @description
+        Adds focal and plane perspective to the part. Active if perspective_on is true.
+        Must be provided if the part is being used by other part as it's perspective target.
+    @endblock
+    
+    @property
+        zplane
+    @parameters
+        [unscaled Z value]
+    @effect
+        This sets the z value that will not be scaled. Normally this is 0 as
+        that is the z distance that all objects are at normally.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_perspective_zplane(void)
+{
+   check_arg_count(1);
+
+   current_desc->persp.zplane = parse_int(0);
+}
+
+
+/**
+    @page edcref
+    @property
+        focal
+    @parameters
+        [distance]
+    @effect
+        This sets the distance from the focal z plane (zplane) and the
+        camera - i.e. very much equating to focal length of the camera
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_perspective_focal(void)
+{
+   check_arg_count(1);
+
+   current_desc->persp.focal = parse_int_range(0, 1, 0x7fffffff);
+}
+
+
+/**
+   @edcsubsection{collections_group_parts_descriptions_params,Params}
+ */
+
+/**
+    @page edcref
+    @block
+        params
+    @context
+    description {
+        ..
+        params {
+            int: "name" 0;
+            double: "other_name" 0.0;
+            string: "another_name" "some text";
+           bool: "name" 1;
+           choice: "some_name" "value";
+        }
+        ..
+    }
+    @description
+        Set parameters for EXTERNAL parts. The value overwrites previous
+        definitions with the same name.
+    @endblock
+*/
+static void
+_st_collections_group_parts_part_description_params(Edje_External_Param_Type type)
+{
+   Edje_Part_Description_External *ed;
+   Edje_External_Param *param;
+   Eina_List *l;
+   const char *name;
+   int found = 0;
+
+   check_arg_count(2);
+
+   if (current_part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        ERR("parse error %s:%i. params in non-EXTERNAL part.",
+            file_in, line - 1);
+        exit(-1);
+     }
+
+   ed = (Edje_Part_Description_External*) current_desc;
+
+   name = parse_str(0);
+
+   /* if a param with this name already exists, overwrite it */
+   EINA_LIST_FOREACH(ed->external_params, l, param)
+     {
+       if (!strcmp(param->name, name))
+         {
+            found = 1;
+            break;
+         }
+     }
+
+   if (!found)
+     {
+       param = mem_alloc(SZ(Edje_External_Param));
+       param->name = name;
+     }
+
+   param->type = type;
+   param->i = 0;
+   param->d = 0;
+   param->s = NULL;
+
+   switch (type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+        param->i = parse_int(1);
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+        param->d = parse_float(1);
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+        param->s = parse_str(1);
+        break;
+      default:
+        ERR("parse error %s:%i. Invalid param type.",
+            file_in, line - 1);
+        break;
+     }
+
+   if (!found)
+     ed->external_params = eina_list_append(ed->external_params, param);
+}
+
+/**
+    @page edcref
+    @property
+        int
+    @parameters
+        [param_name] [int_value]
+    @effect
+        Adds an integer parameter for an external object
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_params_int(void)
+{
+   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_INT);
+}
+
+/**
+    @page edcref
+    @property
+        double
+    @parameters
+        [param_name] [double_value]
+    @effect
+        Adds a double parameter for an external object
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_params_double(void)
+{
+   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_DOUBLE);
+}
+
+/**
+    @page edcref
+    @property
+        string
+    @parameters
+        [param_name] [string_value]
+    @effect
+        Adds a string parameter for an external object
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_params_string(void)
+{
+   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_STRING);
+}
+
+/**
+    @page edcref
+    @property
+        bool
+    @parameters
+        [param_name] [bool_value]
+    @effect
+        Adds an boolean parameter for an external object. Value must be 0 or 1.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_params_bool(void)
+{
+   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_BOOL);
+}
+
+/**
+    @page edcref
+    @property
+        choice
+    @parameters
+        [param_name] [choice_string]
+    @effect
+        Adds a choice parameter for an external object. The possible
+        choice values are defined by external type at their register time
+        and will be validated at runtime.
+    @endproperty
+*/
+static void
+st_collections_group_parts_part_description_params_choice(void)
+{
+   _st_collections_group_parts_part_description_params(EDJE_EXTERNAL_PARAM_TYPE_CHOICE);
+}
+
+
+/**
+   @edcsubsection{collections_group_programs,Programs}
+ */
+
+/**
+    @page edcref
+    @block
+        programs
+    @context
+        group {
+            programs {
+               ..
+                  program {
+                     name: "programname";
+                     signal: "signalname";
+                     source: "partname";
+                     filter: "partname" "statename";
+                     in: 0.3 0.0;
+                     action: STATE_SET "statename" state_value;
+                     transition: LINEAR 0.5;
+                     target: "partname";
+                     target: "anotherpart";
+                     after: "programname";
+                     after: "anotherprogram";
+                  }
+               ..
+            }
+        }
+    @description
+        Programs define how your interface reacts to events.
+        Programs can change the state of parts, react to events or trigger
+        other events.
+    @endblock
+*/
+static void
+ob_collections_group_programs_program(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Program *ep;
+   Edje_Program_Parser *epp;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   ep = mem_alloc(SZ(Edje_Program_Parser));
+   ep->id = -1;
+   ep->tween.mode = EDJE_TWEEN_MODE_LINEAR;
+   ep->after = NULL;
+   epp = (Edje_Program_Parser *)ep;
+   epp->can_override = EINA_FALSE;
+
+   _edje_program_insert(pc, ep);
+
+   current_program = ep;
+}
+
+/**
+    @page edcref
+    @property
+        name
+    @parameters
+        [program name]
+    @effect
+        Symbolic name of program as a unique identifier.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_name(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   current_program->name = parse_str(0);
+
+   _edje_program_check(current_program->name, current_program, pc->programs.fnmatch, pc->programs.fnmatch_count);
+   _edje_program_check(current_program->name, current_program, pc->programs.strcmp, pc->programs.strcmp_count);
+   _edje_program_check(current_program->name, current_program, pc->programs.strncmp, pc->programs.strncmp_count);
+   _edje_program_check(current_program->name, current_program, pc->programs.strrncmp, pc->programs.strrncmp_count);
+   _edje_program_check(current_program->name, current_program, pc->programs.nocmp, pc->programs.nocmp_count);
+}
+
+/**
+    @page edcref
+    @property
+        signal
+    @parameters
+        [signal name]
+    @effect
+        Specifies signal(s) that should cause the program to run. The signal
+        received must match the specified source to run.
+        Signals may be globbed, but only one signal keyword per program
+        may be used. ex: signal: "mouse,clicked,*"; (clicking any mouse button
+        that matches source starts program).
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_signal(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   _edje_program_remove(pc, current_program);
+   current_program->signal = parse_str(0);
+   _edje_program_insert(pc, current_program);
+}
+
+/**
+    @page edcref
+    @property
+        source
+    @parameters
+        [source name]
+    @effect
+        Source of accepted signal. Sources may be globbed, but only one source
+        keyword per program may be used. ex:source: "button-*"; (Signals from
+        any part or program named "button-*" are accepted).
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_source(void)
+{
+   Edje_Part_Collection *pc;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+
+   _edje_program_remove(pc, current_program);
+   current_program->source = parse_str(0);
+   _edje_program_insert(pc, current_program);
+}
+
+/**
+    @page edcref
+    @property
+        filter
+    @parameters
+        [part] [state]
+    @effect
+        Filter signals to be only accepted if the part [part] is in state named [state].
+        Only one filter per program can be used. If [state] is not given, the source of
+        the event will be used instead.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_filter(void)
+{
+   check_min_arg_count(1);
+
+   if(is_param(1)) {
+          current_program->filter.part = parse_str(0);
+          current_program->filter.state = parse_str(1);
+   } else {
+          current_program->filter.state = parse_str(0);
+   }
+}
+
+/**
+    @page edcref
+    @property
+        in
+    @parameters
+        [from] [range]
+    @effect
+        Wait 'from' seconds before executing the program. And add a random
+        number of seconds (from 0 to 'range') to the total waiting time.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_in(void)
+{
+   check_arg_count(2);
+
+   current_program->in.from = parse_float_range(0, 0.0, 999999999.0);
+   current_program->in.range = parse_float_range(1, 0.0, 999999999.0);
+}
+
+/**
+    @page edcref
+    @property
+        action
+    @parameters
+        [type] [param1] [param2]
+    @effect
+        Action to be performed by the program. Valid actions are: STATE_SET,
+        ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, DRAG_VAL_STEP, DRAG_VAL_PAGE,
+        FOCUS_SET, PARAM_COPY, PARAM_SET, PLAY_SAMPLE, PLAY_TONE,
+        PHYSICS_IMPULSE, PHYSICS_TORQUE_IMPULSE, PHYSICS_FORCE, PHYSICS_TORQUE,
+        PHYSICS_FORCES_CLEAR, PHYSICS_VEL_SET, PHYSICS_ANG_VEL_SET,
+        PHYSICS_STOP, PHYSICS_ROT_SET
+        Only one action can be specified per program. Examples:\n
+           action: STATE_SET "statename" 0.5;\n
+           action: ACTION_STOP;\n
+           action: SIGNAL_EMIT "signalname" "emitter";\n
+           action: DRAG_VAL_SET 0.5 0.0;\n
+           action: DRAG_VAL_STEP 1.0 0.0;\n
+           action: DRAG_VAL_PAGE 0.0 0.0;\n
+           action: FOCUS_SET;\n
+           action: FOCUS_OBJECT;\n
+           action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";\n
+           action: PARAM_SET "part" "param" "value";\n
+           action: PLAY_SAMPLE "sample name";\n
+           action: PLAY_TONE "tone name" duration in seconds ( Range 0.1 to 10.0 );\n
+           action: PHYSICS_IMPULSE 10 -23.4 0;\n
+           action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
+           action: PHYSICS_FORCE -20.8 0 30.85;\n
+           action: PHYSICS_TORQUE 0 0 4.8;\n
+           action: PHYSICS_FORCES_CLEAR;\n
+           action: PHYSICS_VEL_SET 40.9 0 0;\n
+           action: PHYSICS_ANG_VEL_SET 12.4 0 0.66;\n
+           action: PHYSICS_STOP;\n
+           action: PHYSICS_ROT_SET 0.707 0 0 0.707;\n
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_action(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Program *ep;
+   int i;
+   
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_program;
+   ep->action = parse_enum(0,
+                           "STATE_SET", EDJE_ACTION_TYPE_STATE_SET,
+                           "ACTION_STOP", EDJE_ACTION_TYPE_ACTION_STOP,
+                           "SIGNAL_EMIT", EDJE_ACTION_TYPE_SIGNAL_EMIT,
+                           "DRAG_VAL_SET", EDJE_ACTION_TYPE_DRAG_VAL_SET,
+                           "DRAG_VAL_STEP", EDJE_ACTION_TYPE_DRAG_VAL_STEP,
+                           "DRAG_VAL_PAGE", EDJE_ACTION_TYPE_DRAG_VAL_PAGE,
+                           "SCRIPT", EDJE_ACTION_TYPE_SCRIPT,
+                           "FOCUS_SET", EDJE_ACTION_TYPE_FOCUS_SET,
+                           "FOCUS_OBJECT", EDJE_ACTION_TYPE_FOCUS_OBJECT,
+                           "PARAM_COPY", EDJE_ACTION_TYPE_PARAM_COPY,
+                           "PARAM_SET", EDJE_ACTION_TYPE_PARAM_SET,
+                           "PLAY_SAMPLE", EDJE_ACTION_TYPE_SOUND_SAMPLE,
+                           "PLAY_TONE", EDJE_ACTION_TYPE_SOUND_TONE,
+                           "PHYSICS_IMPULSE", EDJE_ACTION_TYPE_PHYSICS_IMPULSE,
+                           "PHYSICS_TORQUE_IMPULSE",
+                           EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE,
+                           "PHYSICS_FORCE", EDJE_ACTION_TYPE_PHYSICS_FORCE,
+                           "PHYSICS_TORQUE", EDJE_ACTION_TYPE_PHYSICS_TORQUE,
+                           "PHYSICS_FORCES_CLEAR",
+                           EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR,
+                           "PHYSICS_VEL_SET", EDJE_ACTION_TYPE_PHYSICS_VEL_SET,
+                           "PHYSICS_ANG_VEL_SET",
+                           EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET,
+                           "PHYSICS_STOP", EDJE_ACTION_TYPE_PHYSICS_STOP,
+                           "PHYSICS_ROT_SET", EDJE_ACTION_TYPE_PHYSICS_ROT_SET,
+                           NULL);
+   if (ep->action == EDJE_ACTION_TYPE_STATE_SET)
+     {
+       ep->state = parse_str(1);
+       if (get_arg_count() == 1)
+         ep->value = 0.0;
+       else
+         ep->value = parse_float_range(2, 0.0, 1.0);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)
+     {
+       ep->state = parse_str(1);
+       ep->state2 = parse_str(2);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_SOUND_SAMPLE)
+     {
+        ep->sample_name = parse_str(1);
+        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
+          {
+             if (!strcmp(edje_file->sound_dir->samples[i].name, ep->sample_name))
+               break;
+             if (i == (int)(edje_file->sound_dir->samples_count - 1))
+               {
+                  ERR("No Sample name %s exist.", ep->sample_name);
+                  exit(-1);
+               }
+          }
+        ep->speed = parse_float_range(2, 0.0, 10.0);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_SOUND_TONE)
+     {
+        ep->tone_name = parse_str(1);
+        for (i = 0; i < (int)edje_file->sound_dir->tones_count; i++)
+          {
+             if (!strcmp(edje_file->sound_dir->tones[i].name, ep->tone_name))
+               break;
+             if (i == (int)(edje_file->sound_dir->tones_count - 1))
+               {
+                  ERR("No Tone name %s exist.", ep->tone_name);
+                  exit(-1);
+               }
+          }
+        ep->duration = parse_float_range(2, 0.1, 10.0);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_SET)
+     {
+       ep->value = parse_float(1);
+       ep->value2 = parse_float(2);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP)
+     {
+       ep->value = parse_float(1);
+       ep->value2 = parse_float(2);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE)
+     {
+       ep->value = parse_float(1);
+       ep->value2 = parse_float(2);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_PARAM_COPY)
+     {
+       char *src_part, *dst_part;
+        
+       src_part = parse_str(1);
+       ep->state = parse_str(2);
+       dst_part = parse_str(3);
+       ep->state2 = parse_str(4);
+        
+       data_queue_part_lookup(pc, src_part, &(ep->param.src));
+       data_queue_part_lookup(pc, dst_part, &(ep->param.dst));
+        
+       free(src_part);
+       free(dst_part);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_PARAM_SET)
+     {
+       char *part;
+        
+       part = parse_str(1);
+       ep->state = parse_str(2);
+       ep->state2 = parse_str(3);
+        
+       data_queue_part_lookup(pc, part, &(ep->param.dst));
+       free(part);
+     }
+#ifdef HAVE_EPHYSICS
+   else if ((ep->action == EDJE_ACTION_TYPE_PHYSICS_IMPULSE) ||
+            (ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE) ||
+            (ep->action == EDJE_ACTION_TYPE_PHYSICS_FORCE) ||
+            (ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE) ||
+            (ep->action == EDJE_ACTION_TYPE_PHYSICS_VEL_SET) ||
+            (ep->action == EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET))
+     {
+        ep->physics.x = parse_float(1);
+        ep->physics.y = parse_float(2);
+        ep->physics.z = parse_float(3);
+     }
+   else if (ep->action == EDJE_ACTION_TYPE_PHYSICS_ROT_SET)
+     {
+        ep->physics.w = parse_float(1);
+        ep->physics.x = parse_float(2);
+        ep->physics.y = parse_float(3);
+        ep->physics.z = parse_float(4);
+     }
+#endif
+
+   switch (ep->action)
+     {
+      case EDJE_ACTION_TYPE_SCRIPT:
+       /* this is implicitly set by script {} so this is here just for
+        * completeness */
+       break;
+      case EDJE_ACTION_TYPE_ACTION_STOP:
+      case EDJE_ACTION_TYPE_FOCUS_OBJECT:
+      case EDJE_ACTION_TYPE_FOCUS_SET:
+      case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
+      case EDJE_ACTION_TYPE_PHYSICS_STOP:
+        check_arg_count(1);
+        break;
+      case EDJE_ACTION_TYPE_PARAM_SET:
+      case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
+      case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
+      case EDJE_ACTION_TYPE_PHYSICS_FORCE:
+      case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
+      case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
+      case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
+        check_arg_count(4);
+        break;
+      case EDJE_ACTION_TYPE_PARAM_COPY:
+      case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
+        check_arg_count(5);
+        break;
+      default:
+       check_arg_count(3);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        transition
+    @parameters
+        [type] [length] [[interp val 1]] [[interp val 2]] [[option]]
+    @effect
+        Defines how transitions occur using STATE_SET action.\n
+        Where 'type' is the style of the transition and 'length' is a double
+        specifying the number of seconds in which to preform the transition.\n
+        Valid types are: LIN or LINEAR, SIN or SINUSOIDAL, 
+        ACCEL or ACCELERATE, DECEL or DECELERATE, 
+        ACCEL_FAC or ACCELERATE_FACTOR, DECEL_FAC or DECELERATE_FACTOR,
+        SIN_FAC or SINUSOIDAL_FACTOR, DIVIS or DIVISOR_INTERP,
+        BOUNCE, SPRING.
+        
+        ACCEL_FAC, DECEL_FAC and SIN_FAC need the extra optional
+        "interp val 1" to determine the "factor" of curviness. 1.0 is the same
+        as their non-factor counterparts, where 0.0 is equal to linear.
+        Numbers higher than one make the curve angles steeper with a more
+        pronounced curve point.
+        
+        DIVIS, BOUNCE and SPRING also require "interp val 2" in addition
+        to "interp val 1".
+        
+        DIVIS uses val 1 as the initial gradient start
+        (0.0 is horizontal, 1.0 is diagonal (linear), 2.0 is twice the
+        gradient of linear etc.). val 2 is interpreted as an integer factor
+        defining how much the value swings "outside" the gradient only to come
+        back to the final resting spot at the end. 0.0 for val 2 is equivalent
+        to linear interpolation. Note that DIVIS can exceed 1.0
+        
+        BOUNCE uses val 2 as the number of bounces (so its rounded down to
+        the nearest integer value), with val 1 determining how much the
+        bounce decays, with 0.0 giving linear decay per bounce, and higher
+        values giving much more decay.
+
+        SPRING is similar to bounce, where val 2 specifies the number of
+        spring "swings" and val 1 specifies the decay, but it can exceed 1.0
+        on the outer swings.
+
+        Valid option is CURRENT.
+
+        CURRENT is the option which causes the edje object to move from its current position.
+        It can be used as the last parameter of any transition type. (@since 1.1.0)
+
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_transition(void)
+{
+   check_min_arg_count(2);
+
+   current_program->tween.mode = parse_enum(0,
+                                            // short names
+                                           "LIN", EDJE_TWEEN_MODE_LINEAR,
+                                           "SIN", EDJE_TWEEN_MODE_SINUSOIDAL,
+                                           "ACCEL", EDJE_TWEEN_MODE_ACCELERATE,
+                                           "DECEL", EDJE_TWEEN_MODE_DECELERATE,
+                                           "ACCEL_FAC", EDJE_TWEEN_MODE_ACCELERATE_FACTOR,
+                                           "DECEL_FAC", EDJE_TWEEN_MODE_DECELERATE_FACTOR,
+                                           "SIN_FAC", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR,
+                                           "DIVIS", EDJE_TWEEN_MODE_DIVISOR_INTERP,
+                                            
+                                            // long/full names
+                                           "LINEAR", EDJE_TWEEN_MODE_LINEAR,
+                                           "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL,
+                                           "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE,
+                                           "DECELERATE", EDJE_TWEEN_MODE_DECELERATE,
+                                           "ACCELERATE_FACTOR", EDJE_TWEEN_MODE_ACCELERATE_FACTOR,
+                                           "DECELERATE_FACTOR", EDJE_TWEEN_MODE_DECELERATE_FACTOR,
+                                           "SINUSOIDAL_FACTOR", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR,
+                                           "DIVISOR_INTERP", EDJE_TWEEN_MODE_DIVISOR_INTERP,
+                                            
+                                            // long/full is short enough
+                                           "BOUNCE", EDJE_TWEEN_MODE_BOUNCE,
+                                           "SPRING", EDJE_TWEEN_MODE_SPRING,
+                                           NULL);
+   current_program->tween.time = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
+   if ((current_program->tween.mode >= EDJE_TWEEN_MODE_LINEAR) &&
+       (current_program->tween.mode <= EDJE_TWEEN_MODE_DECELERATE))
+     {
+        if ((get_arg_count() == 3) && (!strcmp(parse_str(2), "CURRENT")))
+          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
+        else if (get_arg_count() != 2)
+          {
+             ERR("parse error %s:%i. Need 2rd parameter to set time",
+                 file_in, line - 1);
+             exit(-1);
+          }
+     }
+   // the following need v1
+   // EDJE_TWEEN_MODE_ACCELERATE_FACTOR
+   // EDJE_TWEEN_MODE_DECELERATE_FACTOR
+   // EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR
+   // current_program->tween.v1
+   else if ((current_program->tween.mode >= EDJE_TWEEN_MODE_ACCELERATE_FACTOR) &&
+       (current_program->tween.mode <= EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR))
+     {
+        if ((get_arg_count() == 4) && (!strcmp(parse_str(3), "CURRENT")))
+          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
+        else if (get_arg_count() != 3)
+          {
+            ERR("parse error %s:%i. Need 3rd parameter to set factor",
+                file_in, line - 1);
+            exit(-1);
+          }
+        current_program->tween.v1 = FROM_DOUBLE(parse_float_range(2, 0.0, 999999999.0));
+     }
+   // the followjng also need v2
+   // EDJE_TWEEN_MODE_DIVISOR_INTERP
+   // EDJE_TWEEN_MODE_BOUNCE
+   // EDJE_TWEEN_MODE_SPRING
+   // current_program->tween.v2
+   else if ((current_program->tween.mode >= EDJE_TWEEN_MODE_DIVISOR_INTERP) &&
+            (current_program->tween.mode <= EDJE_TWEEN_MODE_SPRING))
+     {
+        if ((get_arg_count() == 5) && (!strcmp(parse_str(4), "CURRENT")))
+          current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT;
+        else if (get_arg_count() != 4)
+          {
+            ERR("parse error %s:%i. "
+                "Need 3rd and 4th parameters to set factor and counts",
+                file_in, line - 1);
+            exit(-1);
+          }
+        current_program->tween.v1 = FROM_DOUBLE(parse_float_range(2, 0.0, 999999999.0));
+        current_program->tween.v2 = FROM_DOUBLE(parse_float_range(3, 0.0, 999999999.0));
+     }
+}
+
+/**
+    @page edcref
+    @property
+        target
+    @parameters
+        [target]
+    @effect
+        Program or part on which the specified action acts. Multiple target
+        keywords may be specified, one per target. SIGNAL_EMITs do not have
+        targets.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_target(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Program *ep;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_program;
+     {
+       Edje_Program_Target *et;
+       Edje_Program_Target *etw;
+       Eina_List *l;
+       char *name;
+       char *copy;
+
+       name = parse_str(0);
+        
+       EINA_LIST_FOREACH(ep->targets, l, etw)
+          {
+             if (!strcmp(name, (char*) (etw + 1)))
+               {
+                  free(name);
+                  return;
+               }
+          }
+
+       et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1);
+       ep->targets = eina_list_append(ep->targets, et);
+       copy = (char*) (et + 1);
+       memcpy(copy, name, strlen(name) + 1);
+        switch (ep->action)
+          {
+           case EDJE_ACTION_TYPE_ACTION_STOP:
+              data_queue_program_lookup(pc, name, &(et->id));
+              break;
+           case EDJE_ACTION_TYPE_STATE_SET:
+           case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+           case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+           case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+           case EDJE_ACTION_TYPE_FOCUS_SET:
+           case EDJE_ACTION_TYPE_FOCUS_OBJECT:
+#ifdef HAVE_EPHYSICS
+           case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
+           case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
+           case EDJE_ACTION_TYPE_PHYSICS_FORCE:
+           case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
+           case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
+           case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
+           case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
+           case EDJE_ACTION_TYPE_PHYSICS_STOP:
+           case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
+#endif
+              data_queue_part_lookup(pc, name, &(et->id));
+              break;
+           default:
+              ERR("parse error %s:%i. target may only be used after action",
+                  file_in, line - 1);
+              exit(-1);
+          }
+       free(name);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        after
+    @parameters
+        [after]
+    @effect
+        Specifies a program to run after the current program completes. The
+        source and signal parameters of a program run as an "after" are ignored.
+        Multiple "after" statements can be specified per program.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_after(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Program *ep;
+
+   check_arg_count(1);
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   ep = current_program;
+     {
+       Edje_Program_After *pa;
+       Edje_Program_After *pa2;
+       Eina_List *l;
+       char *name;
+        char *copy;
+
+       name = parse_str(0);
+
+        EINA_LIST_FOREACH(ep->after, l, pa2)
+          {
+             if (!strcmp(name, (char*) (pa2 + 1)))
+               {
+                  free(name);
+                  return;
+               }
+          }
+
+       pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1);
+       pa->id = -1;
+       ep->after = eina_list_append(ep->after, pa);
+        copy = (char*)(pa + 1);
+        memcpy(copy, name, strlen(name) + 1);
+       data_queue_program_lookup(pc, name, &(pa->id));
+       free(name);
+     }
+}
+
+/**
+    @page edcref
+    @property
+        api
+    @parameters
+        [name] [description]
+    @effect
+        Specifies a hint to let applications (or IDE's) know how to bind
+       things. The parameter name should contain the name of the function that
+       the application should use, and description describes how it should
+       be used.
+    @endproperty
+*/
+static void
+st_collections_group_programs_program_api(void)
+{
+   check_min_arg_count(1);
+
+   current_program->api.name = parse_str(0);
+
+   if (is_param(1))
+     {
+       check_arg_count(2);
+       current_program->api.description = parse_str(1);
+     }
+}
+
+static void
+st_collections_group_parts_part_api(void)
+{
+   check_min_arg_count(1);
+
+   current_part->api.name = parse_str(0);
+   if (is_param(1))
+     {
+       check_arg_count(2);
+       current_part->api.description = parse_str(1);
+     }
+}
+
+static void
+ob_collections_group_programs_program_script(void)
+{
+   Edje_Part_Collection *pc;
+   Code *cd;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   cd = eina_list_data_get(eina_list_last(codes));
+
+   if (!is_verbatim()) track_verbatim(1);
+   else
+     {
+        Eina_Bool empty = EINA_TRUE;
+        char *s;
+        int i, len;
+
+        s = get_verbatim();
+        if (s)
+          {
+             Code_Program *cp;
+
+             /* FIXME: Need to store the script somewhere to be restored when using edje_edit API */
+             cp = mem_alloc(SZ(Code_Program));
+             cp->l1 = get_verbatim_line1();
+             cp->l2 = get_verbatim_line2();
+             cp->script = s;
+             cp->original = strdup(s);
+             if (cd->shared && cd->is_lua)
+               {
+                  ERR("parse error %s:%i. You're trying to mix Embryo and Lua scripting in the same group",
+                      file_in, line - 1);
+                  exit(-1);
+               }
+             cd->is_lua = 0;
+
+             len = strlen(cp->script);
+             for (i = 0; i < len; i++)
+               {
+                  if (((cp->script[i] > 'a') && (cp->script[i] < 'z')) ||
+                      ((cp->script[i] > 'A') && (cp->script[i] < 'Z')) ||
+                      ((cp->script[i] > '0') && (cp->script[i] < '9')))
+                    empty = EINA_FALSE;
+               }
+
+             if (!empty)
+               {
+                  cd->programs = eina_list_append(cd->programs, cp);
+                  data_queue_anonymous_lookup(pc, current_program, &(cp->id));
+                  current_program->action = EDJE_ACTION_TYPE_SCRIPT;
+               }
+             else
+               {
+                  data_queue_anonymous_lookup(pc, current_program, NULL);
+                  free(cp);
+                  cp = NULL;
+               }
+
+             set_verbatim(NULL, 0, 0);
+          }
+     }
+}
+
+/**
+   @edcsubsection{collections_group_physics,Physics}
+ */
+
+/**
+    @page edcref
+    @block
+        physics
+    @context
+       group {
+           ..
+           physics {
+               world {
+                   ..
+               }
+           }
+           ..
+       }
+    @description
+        The "physics" block consists of blocks related to physics but
+        not to configure a body. By now, it only has a "world" block.
+    @endblock
+ */
+
+/**
+   @edcsubsection{collections_group_physics_world,World}
+ */
+
+/**
+    @page edcref
+    @block
+        world
+    @context
+        physics {
+            world {
+               gravity: 0 294 0;
+               rate: 30;
+               z: -50;
+               depth: 100;
+            }
+        }
+    @description
+        The "world" block configures the physics world. It's the
+        environment where the part's bodies will be simulated.
+        It can be used to customize gravity, rate, depth and others.
+    @endblock
+
+    @property
+        gravity
+    @parameters
+        [x-axis] [y-axis] [z-axis]
+    @effect
+        Three double values defining the gravity vector.
+        Each one is the component of this same vector over each axis.
+        Its unit is Evas Coordinates per second ^ 2.
+        The default value is 0, 294, 0, since we've a default rate of
+        30 pixels.
+    @endproperty
+    @since 1.8.0
+ */
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_physics_world_gravity(void)
+{
+   Edje_Part_Collection *pc;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   check_arg_count(3);
+
+   pc->physics.world.gravity.x = parse_int(0);
+   pc->physics.world.gravity.y = parse_int(1);
+   pc->physics.world.gravity.z = parse_int(2);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        rate
+    @parameters
+        [rate pixels / meter]
+    @effect
+        Set rate between pixels on evas canvas and meters on physics world.
+        It will be used by automatic updates of evas objects associated to
+        physics bodies.
+        By default rate is 30 pixels per meter.
+    @endproperty
+    @since 1.8.0
+ */
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_physics_world_rate(void)
+{
+   Edje_Part_Collection *pc;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   check_arg_count(1);
+
+   pc->physics.world.rate = parse_float(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        depth
+    @parameters
+        [depth in pixels]
+    @effect
+        World's depth, in pixels. It's only relevant if boundaries are used,
+        since their size depends on this.
+        By default world's depth is 100 pixels.
+    @endproperty
+    @since 1.8.0
+ */
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_physics_world_depth(void)
+{
+   Edje_Part_Collection *pc;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   check_arg_count(1);
+
+   pc->physics.world.depth = parse_int(0);
+}
+#endif
+
+/**
+    @page edcref
+    @property
+        z
+    @parameters
+        [world's front border position]
+    @effect
+        Position in z axis, in pixels.
+        It's only relevant if boundaries are used, since their position
+        depends on this.
+        By default world's z is -50 pixels.
+    @endproperty
+    @since 1.8.0
+ */
+#ifdef HAVE_EPHYSICS
+static void
+st_collections_group_physics_world_z(void)
+{
+   Edje_Part_Collection *pc;
+
+   pc = eina_list_data_get(eina_list_last(edje_collections));
+   check_arg_count(1);
+
+   pc->physics.world.z = parse_int(0);
+}
+#endif
+
+/**
+    @page edcref
+    </table>
+*/
+
+static void
+edje_cc_handlers_hierarchy_set(Edje_Part *src)
+{  /* This funcion makes current part rel_1.id, rel_2.id relative to src */
+   if (!src->name)
+     {
+        ERR("parse error %s:%i. You must set parent name before creating nested part",
+            file_in, line - 1);
+        exit(-1);
+     }
+   st_collections_group_parts_part_description_rel1_to_set(src->name);
+   st_collections_group_parts_part_description_rel2_to_set(src->name);
+}
+
+static Edje_Part *
+edje_cc_handlers_hierarchy_parent_get(void)
+{  /* Return the parent part pointer */
+   int idx = eina_array_count(part_hierarchy) - 2;
+   Edje_Cc_Handlers_Hierarchy_Info *info = (idx >= 0) ?
+      eina_array_data_get(part_hierarchy, idx) : NULL;
+
+   return (info) ? info->ep : NULL;
+}
+
+static void
+edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp)
+{  /* Remove part from hierarchy stack when finished parsing it */
+   Edje_Cc_Handlers_Hierarchy_Info *info = malloc(sizeof(*info));
+   info->current_de = current_de;
+   info->current_part = cp;  /* current_part restored on pop */
+   info->current_item = current_item;
+   info->current_desc = current_desc;
+   info->parent_desc = parent_desc;
+   info->current_program = current_program;
+   info->ep = ep;
+
+   eina_array_push(part_hierarchy, info);
+}
+
+static void
+edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new)
+{
+   Edje_Cc_Handlers_Hierarchy_Info *item;
+   Eina_Array_Iterator iterator;
+   unsigned int i;
+
+   EINA_ARRAY_ITER_NEXT(part_hierarchy, i, item, iterator)
+     {
+        if (item->ep == old) item->ep = new;
+        if (item->current_part == old) item->current_part = new;
+     }
+}
+
+void
+edje_cc_handlers_hierarchy_alloc(void)
+{
+   part_hierarchy = eina_array_new(8);
+}
+
+void
+edje_cc_handlers_hierarchy_free(void)
+{
+   eina_array_free(part_hierarchy);
+   part_hierarchy = NULL;
+}
+
+static void
+edje_cc_handlers_hierarchy_pop(void)
+{  /* Remove part from hierarchy stack when finished parsing it */
+   Edje_Cc_Handlers_Hierarchy_Info *info = eina_array_pop(part_hierarchy);
+
+   if (info)
+     {
+        current_de = info->current_de;
+        current_part = info->current_part;
+        current_item = info->current_item;
+        current_desc = info->current_desc;
+        parent_desc = info->parent_desc;
+        current_program = info->current_program;
+
+        free(info);
+     }
+}
diff --git a/src/bin/edje/edje_cc_mem.c b/src/bin/edje/edje_cc_mem.c
new file mode 100644 (file)
index 0000000..e1fa239
--- /dev/null
@@ -0,0 +1,34 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <errno.h>
+
+#include "edje_cc.h"
+
+void *
+mem_alloc(size_t size)
+{
+   void *mem;
+
+   mem = calloc(1, size);
+   if (mem) return mem;
+   ERR("%s:%i memory allocation of %zu bytes failed. %s",
+       file_in, line, size, strerror(errno));
+   exit(-1);
+   return NULL;
+}
+
+char *
+mem_strdup(const char *s)
+{
+   void *str;
+
+   str = strdup(s);
+   if (str) return str;
+   ERR("%s:%i memory allocation of %zu bytes failed. %s. string being duplicated: \"%s\"",
+       file_in, line, strlen(s) + 1, strerror(errno), s);
+   exit(-1);
+   return NULL;
+}
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
new file mode 100644 (file)
index 0000000..9fd34b6
--- /dev/null
@@ -0,0 +1,2650 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif !defined alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _AIX
+#  define alloca __alloca
+# elif defined _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# elif !defined HAVE_ALLOCA
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *alloca (size_t);
+# endif
+#endif
+
+#include <string.h>
+#include <limits.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+#include <Ecore_Evas.h>
+
+#include "edje_cc.h"
+#include "edje_convert.h"
+#include "edje_multisense_convert.h"
+
+#include <lua.h>
+#include <lauxlib.h>
+
+typedef struct _External_Lookup External_Lookup;
+typedef struct _Part_Lookup Part_Lookup;
+typedef struct _Program_Lookup Program_Lookup;
+typedef struct _Group_Lookup Group_Lookup;
+typedef struct _Image_Lookup Image_Lookup;
+typedef struct _Slave_Lookup Slave_Lookup;
+typedef struct _Code_Lookup Code_Lookup;
+
+
+struct _External_Lookup
+{
+   char *name;
+};
+
+struct _Part_Lookup
+{
+   Edje_Part_Collection *pc;
+   char *name;
+   int *dest;
+};
+
+struct _Program_Lookup
+{
+   Edje_Part_Collection *pc;
+
+   union
+   {
+      char *name;
+      Edje_Program *ep;
+   } u;
+
+   int *dest;
+
+   Eina_Bool anonymous : 1;
+};
+
+struct _Group_Lookup
+{
+   char *name;
+   Edje_Part *part;
+};
+
+struct _String_Lookup
+{
+   char *name;
+   int *dest;
+};
+
+struct _Image_Lookup
+{
+   char *name;
+   int *dest;
+   Eina_Bool *set;
+};
+
+struct _Slave_Lookup
+{
+   int *master;
+   int *slave;
+};
+
+struct _Code_Lookup
+{
+   char *ptr;
+   int   len;
+   int   val;
+   Eina_Bool set;
+};
+
+typedef struct _Script_Lua_Writer Script_Lua_Writer;
+
+struct _Script_Lua_Writer
+{
+   char *buf;
+   int size;
+};
+
+typedef struct _Script_Write Script_Write;;
+typedef struct _Head_Write Head_Write;
+typedef struct _Fonts_Write Fonts_Write;
+typedef struct _Image_Write Image_Write;
+typedef struct _Sound_Write Sound_Write;
+typedef struct _Group_Write Group_Write;
+
+struct _Script_Write
+{
+   Eet_File *ef;
+   Code *cd;
+   int i;
+   Ecore_Exe *exe;
+   int tmpn_fd, tmpo_fd;
+   char tmpn[PATH_MAX];
+   char tmpo[PATH_MAX];
+   char *errstr;
+};
+
+struct _Head_Write
+{
+   Eet_File *ef;
+   char *errstr;
+};
+
+struct _Fonts_Write
+{
+   Eet_File *ef;
+   Edje_Font *fn;
+   char *errstr;
+};
+
+struct _Image_Write
+{
+   Eet_File *ef;
+   Edje_Image_Directory_Entry *img;
+   Evas_Object *im;
+   int w, h;
+   int alpha;
+   unsigned int *data;
+   char *path;
+   char *errstr;
+};
+
+struct _Sound_Write
+{
+   Eet_File *ef;
+   Edje_Sound_Sample *sample;
+   int i;
+};
+
+struct _Group_Write
+{
+   Eet_File *ef;
+   Edje_Part_Collection *pc;
+   char *errstr;
+};
+
+static int pending_threads = 0;
+
+static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len));
+
+Edje_File *edje_file = NULL;
+Eina_List *edje_collections = NULL;
+Eina_Hash *edje_collections_lookup = NULL;
+Eina_List *externals = NULL;
+Eina_List *fonts = NULL;
+Eina_List *codes = NULL;
+Eina_List *code_lookups = NULL;
+Eina_List *aliases = NULL;
+
+static Eet_Data_Descriptor *edd_edje_file = NULL;
+static Eet_Data_Descriptor *edd_edje_part_collection = NULL;
+
+static Eina_List *program_lookups = NULL;
+static Eina_List *group_lookups = NULL;
+static Eina_List *face_group_lookups = NULL;
+static Eina_List *image_lookups = NULL;
+static Eina_List *part_slave_lookups = NULL;
+static Eina_List *image_slave_lookups= NULL;
+
+static Eina_Hash *part_dest_lookup = NULL;
+static Eina_Hash *part_pc_dest_lookup = NULL;
+
+void
+error_and_abort(Eet_File *ef EINA_UNUSED, const char *fmt, ...)
+{
+   va_list ap;
+
+   va_start(ap, fmt);
+   eina_log_vprint(_edje_cc_log_dom, EINA_LOG_LEVEL_CRITICAL,
+                   "unknown", "unknown", 0, fmt, ap);
+   va_end(ap);
+   unlink(file_out);
+   if (watchfile) unlink(watchfile);
+   exit(-1);
+}
+
+static unsigned int
+_double_pointer_key_length(const void *key EINA_UNUSED)
+{
+   return sizeof (void*) * 2;
+}
+
+static int
+_double_pointer_key_cmp(const void *key1, int key1_length,
+                        const void *key2, int key2_length EINA_UNUSED)
+{
+   return memcmp(key1, key2, key1_length);
+}
+
+static int
+_double_pointer_key_hash(const void *key, int key_length EINA_UNUSED)
+{
+#ifdef __LP64__
+   return eina_hash_int64(key, sizeof (void*)) ^
+     eina_hash_int64((void*)(((unsigned char*) key) + sizeof (void*)), sizeof (void*));
+#else
+   /* double 32 bits pointer is ... 64bits awesome ! */
+   return eina_hash_int64(key, key_length);
+#endif
+}
+
+static void
+data_part_lookup_free(Part_Lookup *pl)
+{
+   free(pl->name);
+   free(pl);
+}
+
+void
+data_setup(void)
+{
+   edd_edje_file = _edje_edd_edje_file;
+   edd_edje_part_collection = _edje_edd_edje_part_collection;
+
+   part_dest_lookup = eina_hash_pointer_new(EINA_FREE_CB(eina_list_free));
+   part_pc_dest_lookup = eina_hash_new(EINA_KEY_LENGTH(_double_pointer_key_length),
+                                       EINA_KEY_CMP(_double_pointer_key_cmp),
+                                       EINA_KEY_HASH(_double_pointer_key_hash),
+                                       EINA_FREE_CB(data_part_lookup_free),
+                                       8);
+}
+
+static void
+check_image_part_desc(Edje_Part_Collection *pc, Edje_Part *ep,
+                      Edje_Part_Description_Image *epd, Eet_File *ef)
+{
+   unsigned int i;
+
+   if (epd->image.id == -1 && epd->common.visible)
+     WRN("Collection %s(%i): image attributes missing for "
+        "part \"%s\", description \"%s\" %f",
+        pc->part, pc->id, ep->name, epd->common.state.name, epd->common.state.value);
+
+   for (i = 0; i < epd->image.tweens_count; ++i)
+     {
+       if (epd->image.tweens[i]->id == -1)
+         error_and_abort(ef, "Collection %i: tween image id missing for "
+                         "part \"%s\", description \"%s\" %f",
+                         pc->id, ep->name, epd->common.state.name, epd->common.state.value);
+    }
+}
+
+static void
+check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
+{
+   unsigned int i;
+
+   for (i = 0; i < ep->items_count; ++i)
+     {
+       if (ep->items[i]->type == EDJE_PART_TYPE_GROUP && !ep->items[i]->source)
+         error_and_abort(ef, "Collection %i: missing source on packed item "
+                         "of type GROUP in part \"%s\"",
+                         pc->id, ep->name);
+       if (ep->type == EDJE_PART_TYPE_TABLE && (ep->items[i]->col < 0 || ep->items[i]->row < 0))
+         error_and_abort(ef, "Collection %i: missing col/row on packed item "
+                         "for part \"%s\" of type TABLE",
+                         pc->id, ep->name);
+     }
+}
+
+static void
+check_nameless_state(Edje_Part_Collection *pc, Edje_Part *ep, Edje_Part_Description_Common *ed, Eet_File *ef)
+{
+   if (!ed->state.name)
+      error_and_abort(ef, "Collection %i: description with state missing on part \"%s\"",
+                      pc->id, ep->name);
+}
+
+static void
+check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
+{
+   unsigned int i;
+   /* FIXME: check image set and sort them. */
+   if (!ep->default_desc)
+     error_and_abort(ef, "Collection %i: default description missing "
+                    "for part \"%s\"", pc->id, ep->name);
+
+   for (i = 0; i < ep->other.desc_count; ++i)
+     check_nameless_state(pc, ep, ep->other.desc[i], ef);
+
+   if (ep->type == EDJE_PART_TYPE_IMAGE)
+     {
+       check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->default_desc, ef);
+
+       for (i = 0; i < ep->other.desc_count; ++i)
+         check_image_part_desc (pc, ep, (Edje_Part_Description_Image*) ep->other.desc[i], ef);
+     }
+   else if ((ep->type == EDJE_PART_TYPE_BOX) ||
+           (ep->type == EDJE_PART_TYPE_TABLE))
+     check_packed_items(pc, ep, ef);
+
+   /* FIXME: When mask are supported remove this check */
+   if (ep->clip_to_id != -1 &&
+       pc->parts[ep->clip_to_id]->type != EDJE_PART_TYPE_RECTANGLE)
+     error_and_abort(ef, "Collection %i: clip_to point to a non RECT part '%s' !",
+                     pc->id, pc->parts[ep->clip_to_id]->name);
+}
+
+static void
+check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef)
+{
+   switch (ep->action)
+     {
+      case EDJE_ACTION_TYPE_STATE_SET:
+      case EDJE_ACTION_TYPE_ACTION_STOP:
+      case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+      case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+      case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+        if (!ep->targets)
+          error_and_abort(ef, "Collection %i: target missing in program "
+                          "\"%s\"", pc->id, ep->name);
+        break;
+      default:
+        break;
+     }
+}
+
+static void
+data_thread_head(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Head_Write *hw = data;
+   int bytes = 0;
+   char buf[PATH_MAX];
+
+   if (edje_file)
+     {
+       if (edje_file->collection)
+         {
+            Edje_Part_Collection_Directory_Entry *ce;
+
+            EINA_LIST_FREE(aliases, ce)
+              {
+                 Edje_Part_Collection_Directory_Entry *sce;
+
+                 if (!ce->entry)
+                    {
+                       snprintf(buf, sizeof(buf),
+                                "Collection %i: name missing.", ce->id);
+                       hw->errstr = strdup(buf);
+                       return;
+                    }
+
+                 sce = eina_hash_find(edje_collections_lookup, &ce->id);
+                 if (sce)
+                    {
+                       memcpy(&ce->count, &sce->count, sizeof (ce->count));
+                    }
+                 else
+                    {
+                       snprintf(buf, sizeof(buf),
+                                "Collection %s (%i) can't find an correct alias.",
+                                ce->entry, ce->id);
+                       hw->errstr = strdup(buf);
+                       return;
+                    }
+
+                 eina_hash_direct_add(edje_file->collection, ce->entry, ce);
+              }
+         }
+       bytes = eet_data_write(hw->ef, edd_edje_file, "edje/file", edje_file,
+                               compress_mode);
+       if (bytes <= 0)
+          {
+             snprintf(buf, sizeof(buf),
+                      "Unable to write \"edje_file\" entry to \"%s\"",
+                      file_out);
+             hw->errstr = strdup(buf);
+             return;
+          }
+     }
+
+   INF("Wrote %9i bytes (%4iKb) for \"edje_file\" header",
+       bytes, (bytes + 512) / 1024);
+}
+
+static void
+data_thread_head_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Head_Write *hw = data;
+
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (hw->errstr)
+     {
+        error_and_abort(hw->ef, hw->errstr);
+        free(hw->errstr);
+     }
+   free(hw);
+}
+
+static void
+data_write_header(Eet_File *ef)
+{
+   Head_Write  *hw;
+
+   hw = calloc(1, sizeof(Head_Write));
+   hw->ef = ef;
+   pending_threads++;
+   if (threads)
+     ecore_thread_run(data_thread_head, data_thread_head_end, NULL, hw);
+   else
+     {
+        data_thread_head(hw, NULL);
+        data_thread_head_end(hw, NULL);
+     }
+}
+
+static void
+data_thread_fonts(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Fonts_Write *fc = data;
+   Eina_List *ll;
+   Eina_File *f = NULL;
+   void *m = NULL;
+   int bytes = 0;
+   char buf[PATH_MAX];
+   char buf2[PATH_MAX];
+
+   f = eina_file_open(fc->fn->file, 0);
+   if (f)
+     {
+       using_file(fc->fn->file, 'F');
+        m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
+     }
+   else
+     {
+        char *dat;
+
+        EINA_LIST_FOREACH(fnt_dirs, ll, dat)
+          {
+             snprintf(buf, sizeof(buf), "%s/%s", dat, fc->fn->file);
+             f = eina_file_open(buf, 0);
+             if (f)
+               {
+                using_file(buf, 'F');
+                  m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
+                  if (m) break;
+                  eina_file_close(f);
+                  f = NULL;
+               }
+          }
+     }
+   if (!m)
+     {
+        if (f) eina_file_close(f);
+        snprintf(buf, sizeof(buf),
+                 "Unable to load font part \"%s\" entry to %s",
+                 fc->fn->file, file_out);
+        fc->errstr = strdup(buf);
+        return;
+     }
+
+   snprintf(buf, sizeof(buf), "edje/fonts/%s", fc->fn->name);
+   bytes = eet_write(fc->ef, buf, m, eina_file_size_get(f), compress_mode);
+
+   if ((bytes <= 0) || eina_file_map_faulted(f, m))
+     {
+        eina_file_map_free(f, m);
+        eina_file_close(f);
+        snprintf(buf2, sizeof(buf2),
+                 "Unable to write font part \"%s\" as \"%s\" "
+                 "part entry to %s", fc->fn->file, buf, file_out);
+        fc->errstr = strdup(buf2);
+        return;
+     }
+
+   INF("Wrote %9i bytes (%4iKb) for \"%s\" font entry \"%s\" compress: [real: %2.1f%%]",
+       bytes, (bytes + 512) / 1024, buf, fc->fn->file,
+       100 - (100 * (double)bytes) / ((double)(eina_file_size_get(f)))
+       );
+   eina_file_map_free(f, m);
+   eina_file_close(f);
+}
+
+static void
+data_thread_fonts_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Fonts_Write *fc = data;
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (fc->errstr)
+     {
+        error_and_abort(fc->ef, fc->errstr);
+        free(fc->errstr);
+     }
+   free(fc);
+}
+
+static void
+data_write_fonts(Eet_File *ef, int *font_num)
+{
+   Eina_Iterator *it;
+   Edje_Font *fn;
+
+   if (!edje_file->fonts) return;
+
+   it = eina_hash_iterator_data_new(edje_file->fonts);
+   EINA_ITERATOR_FOREACH(it, fn)
+     {
+        Fonts_Write *fc;
+
+        fc = calloc(1, sizeof(Fonts_Write));
+        if (!fc) continue;
+        fc->ef = ef;
+        fc->fn = fn;
+        pending_threads++;
+        if (threads)
+          ecore_thread_run(data_thread_fonts, data_thread_fonts_end, NULL, fc);
+        else
+          {
+             data_thread_fonts(fc, NULL);
+             data_thread_fonts_end(fc, NULL);
+          }
+        *font_num += 1;
+     }
+   eina_iterator_free(it);
+}
+
+static void
+error_and_abort_image_load_error(Eet_File *ef, const char *file, int error)
+{
+   const char *errmsg = evas_load_error_str(error);
+   char hint[1024] = "";
+
+   if (error == EVAS_LOAD_ERROR_DOES_NOT_EXIST)
+     {
+       snprintf
+         (hint, sizeof(hint),
+          " Check if path to file \"%s\" is correct "
+          "(both directory and file name).",
+          file);
+     }
+   else if (error == EVAS_LOAD_ERROR_CORRUPT_FILE)
+     {
+       snprintf
+         (hint, sizeof(hint),
+          " Check if file \"%s\" is consistent.",
+          file);
+     }
+   else if (error == EVAS_LOAD_ERROR_UNKNOWN_FORMAT)
+     {
+       const char *ext = strrchr(file, '.');
+       const char **itr, *known_loaders[] = {
+         /* list from evas_image_load.c */
+         "png",
+         "jpg",
+         "jpeg",
+         "jfif",
+         "eet",
+         "edj",
+         "eap",
+         "edb",
+         "xpm",
+         "tiff",
+         "tif",
+         "svg",
+         "svgz",
+         "gif",
+         "pbm",
+         "pgm",
+         "ppm",
+         "pnm",
+         "bmp",
+         "ico",
+         "tga",
+         NULL
+       };
+
+       if (!ext)
+         {
+            snprintf
+              (hint, sizeof(hint),
+               " File \"%s\" does not have an extension, "
+               "maybe it should?",
+               file);
+            goto show_err;
+         }
+
+       ext++;
+       for (itr = known_loaders; *itr; itr++)
+         {
+            if (strcasecmp(ext, *itr) == 0)
+              {
+                 snprintf
+                   (hint, sizeof(hint),
+                    " Check if Evas was compiled with %s module enabled and "
+                    "all required dependencies exist.",
+                    ext);
+                 goto show_err;
+              }
+         }
+
+       snprintf(hint, sizeof(hint),
+                " Check if Evas supports loading files of type \"%s\" (%s) "
+                "and this module was compiled and all its dependencies exist.",
+                ext, file);
+     }
+ show_err:
+   error_and_abort
+     (ef, "Unable to load image \"%s\" used by file \"%s\": %s.%s",
+      file, file_out, errmsg, hint);
+}
+
+static void
+data_thread_image(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Image_Write *iw = data;
+   char buf[PATH_MAX], buf2[PATH_MAX];
+   unsigned int *start, *end;
+   Eina_Bool opaque = EINA_TRUE;
+   int bytes = 0;
+
+   if ((iw->data) && (iw->w > 0) && (iw->h > 0))
+     {
+        int mode, qual;
+
+        snprintf(buf, sizeof(buf), "edje/images/%i", iw->img->id);
+        qual = 80;
+        if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
+            (iw->img->source_param == 0))
+          mode = 0; /* RAW */
+        else if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
+                 (iw->img->source_param == 1))
+          mode = 1; /* COMPRESS */
+        else
+          mode = 2; /* LOSSY */
+        if ((mode == 0) && (no_raw))
+          {
+             mode = 1; /* promote compression */
+             iw->img->source_param = 95;
+          }
+        if ((mode == 2) && (no_lossy)) mode = 1; /* demote compression */
+        if ((mode == 1) && (no_comp))
+          {
+             if (no_lossy) mode = 0; /* demote compression */
+             else if (no_raw)
+               {
+                  iw->img->source_param = 90;
+                  mode = 2; /* no choice. lossy */
+               }
+          }
+        if (mode == 2)
+          {
+             qual = iw->img->source_param;
+             if (qual < min_quality) qual = min_quality;
+             if (qual > max_quality) qual = max_quality;
+          }
+        if (iw->alpha)
+          {
+             start = (unsigned int *) iw->data;
+             end = start + (iw->w * iw->h);
+             while (start < end)
+               {
+                  if ((*start & 0xff000000) != 0xff000000)
+                    {
+                       opaque = EINA_FALSE;
+                       break;
+                    }
+                  start++;
+               }
+             if (opaque) iw->alpha = 0;
+          }
+        if (mode == 0)
+          bytes = eet_data_image_write(iw->ef, buf,
+                                       iw->data, iw->w, iw->h,
+                                       iw->alpha,
+                                       0, 0, 0);
+        else if (mode == 1)
+          bytes = eet_data_image_write(iw->ef, buf,
+                                       iw->data, iw->w, iw->h,
+                                       iw->alpha,
+                                       compress_mode,
+                                       0, 0);
+        else if (mode == 2)
+          bytes = eet_data_image_write(iw->ef, buf,
+                                       iw->data, iw->w, iw->h,
+                                       iw->alpha,
+                                       0, qual, 1);
+        if (bytes <= 0)
+          {
+             snprintf(buf2, sizeof(buf2),
+                      "Unable to write image part "
+                      "\"%s\" as \"%s\" part entry to "
+                      "%s", iw->img->entry, buf, file_out);
+             iw->errstr = strdup(buf2);
+             return;
+          }
+     }
+   else
+     {
+        snprintf(buf, sizeof(buf), "edje/images/%i", iw->img->id);
+        snprintf(buf2, sizeof(buf2),
+                 "Unable to load image part "
+                 "\"%s\" as \"%s\" part entry to "
+                 "%s", iw->img->entry, buf, file_out);
+        iw->errstr = strdup(buf2);
+        return;
+     }
+
+   if (eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_INFO))
+     {
+        struct stat st;
+
+        if (!iw->path || (stat(iw->path, &st))) st.st_size = 0;
+        INF("Wrote %9i bytes (%4iKb) for \"%s\" image entry \"%s\" compress: [raw: %2.1f%%] [real: %2.1f%%]",
+               bytes, (bytes + 512) / 1024, buf, iw->img->entry,
+               100 - (100 * (double)bytes) / ((double)(iw->w * iw->h * 4)),
+               100 - (100 * (double)bytes) / ((double)(st.st_size))
+              );
+     }
+}
+
+static void
+data_thread_image_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Image_Write *iw = data;
+
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (iw->errstr)
+     {
+        error_and_abort(iw->ef, iw->errstr);
+        free(iw->errstr);
+     }
+   if (iw->path) free(iw->path);
+   evas_object_del(iw->im);
+   free(iw);
+}
+
+static void
+data_image_preload_done(void *data, Evas *e EINA_UNUSED, Evas_Object *o, void *event_info EINA_UNUSED)
+{
+   Image_Write *iw = data;
+
+   evas_object_image_size_get(o, &iw->w, &iw->h);
+   iw->alpha = evas_object_image_alpha_get(o);
+   iw->data = evas_object_image_data_get(o, 0);
+   if (threads)
+     ecore_thread_run(data_thread_image, data_thread_image_end, NULL, iw);
+   else
+     {
+        data_thread_image(iw, NULL);
+        data_thread_image_end(iw, NULL);
+     }
+}
+
+static void
+data_write_images(Eet_File *ef, int *image_num)
+{
+   int i;
+   Ecore_Evas *ee;
+   Evas *evas;
+
+   if (!((edje_file) && (edje_file->image_dir))) return;
+
+   ecore_evas_init();
+   ee = ecore_evas_buffer_new(1, 1);
+   if (!ee)
+     error_and_abort(ef, "Cannot create buffer engine canvas for image load.");
+   evas = ecore_evas_get(ee);
+
+   for (i = 0; i < (int)edje_file->image_dir->entries_count; i++)
+     {
+        Edje_Image_Directory_Entry *img;
+
+        img = &edje_file->image_dir->entries[i];
+        if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) ||
+            (img->entry == NULL))
+          {
+          }
+        else
+          {
+             Evas_Object *im;
+             Eina_List *ll;
+             char *s;
+             int load_err = EVAS_LOAD_ERROR_NONE;
+             Image_Write *iw;
+
+             iw = calloc(1, sizeof(Image_Write));
+             iw->ef = ef;
+             iw->img = img;
+             iw->im = im = evas_object_image_add(evas);
+             if (threads)
+               evas_object_event_callback_add(im,
+                                              EVAS_CALLBACK_IMAGE_PRELOADED,
+                                              data_image_preload_done,
+                                              iw);
+             EINA_LIST_FOREACH(img_dirs, ll, s)
+               {
+                  char buf[PATH_MAX];
+
+                  snprintf(buf, sizeof(buf), "%s/%s", s, img->entry);
+                  evas_object_image_file_set(im, buf, NULL);
+                  load_err = evas_object_image_load_error_get(im);
+                  if (load_err == EVAS_LOAD_ERROR_NONE)
+                    {
+                       *image_num += 1;
+                       iw->path = strdup(buf);
+                       pending_threads++;
+                       if (threads)
+                         evas_object_image_preload(im, 0);
+                       using_file(buf, 'I');
+                       if (!threads)
+                         data_image_preload_done(iw, evas, im, NULL);
+                       break;
+                    }
+               }
+             if (load_err != EVAS_LOAD_ERROR_NONE)
+               {
+                  evas_object_image_file_set(im, img->entry, NULL);
+                  load_err = evas_object_image_load_error_get(im);
+                  if (load_err == EVAS_LOAD_ERROR_NONE)
+                    {
+                       *image_num += 1;
+                       iw->path = strdup(img->entry);
+                       pending_threads++;
+                       if (threads)
+                         evas_object_image_preload(im, 0);
+                       using_file(img->entry, 'I');
+                       if (!threads)
+                         data_image_preload_done(iw, evas, im, NULL);
+                    }
+                  else
+                    error_and_abort_image_load_error
+                    (ef, img->entry, load_err);
+               }
+         }
+     }
+}
+
+static void
+data_thread_sounds(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Sound_Write *sw = data;
+   Eina_List *ll;
+#ifdef HAVE_LIBSNDFILE
+   Edje_Sound_Encode *enc_info;
+#endif
+   char *dir_path = NULL;
+   char snd_path[PATH_MAX];
+   char sndid_str[15];
+   Eina_File *f = NULL;
+   void *m = NULL;
+   int bytes = 0;
+
+   // Search the Sound file in all the -sd ( sound directory )
+   EINA_LIST_FOREACH(snd_dirs, ll, dir_path)
+     {
+        snprintf((char *)snd_path, sizeof(snd_path), "%s/%s", dir_path,
+                 sw->sample->snd_src);
+        f = eina_file_open(snd_path, 0);
+        if (f) break;
+     }
+   if (!f)
+     {
+        snprintf((char *)snd_path, sizeof(snd_path), "%s",
+                 sw->sample->snd_src);
+        f = eina_file_open(snd_path, 0);
+     }
+#ifdef HAVE_LIBSNDFILE
+   if (f) eina_file_close(f);
+   enc_info = _edje_multisense_encode(snd_path, sw->sample,
+                                      sw->sample->quality);
+   f = eina_file_open(enc_info->file, 0);
+   if (f) using_file(enc_info->file, 'S');
+#else
+   if (f) using_file(snd_path, 'S');
+#endif
+   if (!f)
+     {
+        ERR("Unable to load sound data of: %s", sw->sample->name);
+        exit(-1);
+     }
+
+   snprintf(sndid_str, sizeof(sndid_str), "edje/sounds/%i", sw->sample->id);
+   m = eina_file_map_all(f, EINA_FILE_WILLNEED);
+   if (m)
+     {
+        bytes = eet_write(sw->ef, sndid_str, m, eina_file_size_get(f),
+                          EET_COMPRESSION_NONE);
+        if (eina_file_map_faulted(f, m))
+          {
+             ERR("File access error when reading '%s'",
+                 eina_file_filename_get(f));
+             exit(-1);
+          }
+        eina_file_map_free(f, m);
+     }
+   eina_file_close(f);
+
+#ifdef HAVE_LIBSNDFILE
+   //If encoded temporary file, delete it.
+   if (enc_info->encoded) unlink(enc_info->file);
+#endif
+#ifdef HAVE_LIBSNDFILE
+   INF("Wrote %9i bytes (%4iKb) for \"%s\" %s sound entry \"%s\"",
+       bytes, (bytes + 512) / 1024,
+       sndid_str, enc_info->comp_type, sw->sample->name);
+#else
+   INF("Wrote %9i bytes (%4iKb) for \"%s\" %s sound entry \"%s\"",
+       bytes, (bytes + 512) / 1024,
+       sndid_str, "RAW PCM", sw->sample->name);
+#endif
+
+#ifdef HAVE_LIBSNDFILE
+   if ((enc_info->file) && (!enc_info->encoded))
+     eina_stringshare_del(enc_info->file);
+   if (enc_info) free(enc_info);
+   enc_info = NULL;
+#endif
+}
+
+static void
+data_thread_sounds_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Sound_Write *sw = data;
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   free(sw);
+}
+
+static void
+data_write_sounds(Eet_File *ef, int *sound_num)
+{
+   if ((edje_file) && (edje_file->sound_dir))
+     {
+        int i;
+
+        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
+          {
+             Sound_Write *sw;
+
+             sw = calloc(1, sizeof(Sound_Write));
+             if (!sw) continue;
+             sw->ef = ef;
+             sw->sample = &edje_file->sound_dir->samples[i];
+             sw->i = i;
+             *sound_num += 1;
+             pending_threads++;
+             if (threads)
+               ecore_thread_run(data_thread_sounds, data_thread_sounds_end, NULL, sw);
+             else
+               {
+                  data_thread_sounds(sw, NULL);
+                  data_thread_sounds_end(sw, NULL);
+               }
+          }
+     }
+}
+
+static void
+check_groups(Eet_File *ef)
+{
+   Edje_Part_Collection *pc;
+   Eina_List *l;
+
+   /* sanity checks for parts and programs */
+   EINA_LIST_FOREACH(edje_collections, l, pc)
+     {
+       unsigned int i;
+
+       for (i = 0; i < pc->parts_count; ++i)
+         check_part(pc, pc->parts[i], ef);
+
+#define CHECK_PROGRAM(Type, Pc, It)                            \
+       for (It = 0; It < Pc->programs.Type ## _count; ++It)    \
+         check_program(Pc, Pc->programs.Type[i], ef);          \
+
+       CHECK_PROGRAM(fnmatch, pc, i);
+       CHECK_PROGRAM(strcmp, pc, i);
+       CHECK_PROGRAM(strncmp, pc, i);
+       CHECK_PROGRAM(strrncmp, pc, i);
+       CHECK_PROGRAM(nocmp, pc, i);
+     }
+}
+
+static void
+data_thread_group(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Group_Write *gw = data;
+   int bytes;
+   char buf[PATH_MAX];
+   char buf2[PATH_MAX];
+
+   snprintf(buf, sizeof(buf), "edje/collections/%i", gw->pc->id);
+   bytes = eet_data_write(gw->ef, edd_edje_part_collection, buf, gw->pc,
+                          compress_mode);
+   return;
+   if (bytes <= 0)
+     {
+        snprintf(buf2, sizeof(buf2),
+                 "Unable to write \"%s\" part entry to %s",
+                 buf, file_out);
+        gw->errstr = strdup(buf2);
+        return;
+     }
+
+   INF("Wrote %9i bytes (%4iKb) for \"%s\" aka \"%s\" collection entry",
+       bytes, (bytes + 512) / 1024, buf, gw->pc->part);
+}
+
+static void
+data_thread_group_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Group_Write *gw = data;
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (gw->errstr)
+     {
+        error_and_abort(gw->ef, gw->errstr);
+        free(gw->errstr);
+     }
+   free(gw);
+}
+
+static void
+data_write_groups(Eet_File *ef, int *collection_num)
+{
+   Eina_List *l;
+   Edje_Part_Collection *pc;
+
+   EINA_LIST_FOREACH(edje_collections, l, pc)
+     {
+        Group_Write *gw;
+
+        gw = calloc(1, sizeof(Group_Write));
+        if (!gw)
+          {
+             error_and_abort(ef, "Cannot allocate memory for group writer");
+             return;
+          }
+        gw->ef = ef;
+        gw->pc = pc;
+        pending_threads++;
+        if (threads)
+          ecore_thread_run(data_thread_group, data_thread_group_end, NULL, gw);
+        else
+          {
+             data_thread_group(gw, NULL);
+             data_thread_group_end(gw, NULL);
+          }
+        *collection_num += 1;
+     }
+}
+
+static void
+create_script_file(Eet_File *ef, const char *filename, const Code *cd, int fd)
+{
+   FILE *f = fdopen(fd, "wb");
+   if (!f)
+     error_and_abort(ef, "Unable to open temp file \"%s\" for script "
+                    "compilation.", filename);
+
+   Eina_List *ll;
+   Code_Program *cp;
+
+   fprintf(f, "#include <edje>\n");
+   int ln = 2;
+
+   if (cd->shared)
+     {
+       while (ln < (cd->l1 - 1))
+         {
+            fprintf(f, " \n");
+            ln++;
+         }
+       {
+          char *sp;
+          int hash = 0;
+          int newlined = 0;
+
+          for (sp = cd->shared; *sp; sp++)
+            {
+               if ((sp[0] == '#') && (newlined))
+                 {
+                    hash = 1;
+                 }
+               newlined = 0;
+               if (sp[0] == '\n') newlined = 1;
+               if (!hash) fputc(sp[0], f);
+               else if (sp[0] == '\n') hash = 0;
+            }
+          fputc('\n', f);
+       }
+       ln += cd->l2 - cd->l1 + 1;
+     }
+   EINA_LIST_FOREACH(cd->programs, ll, cp)
+     {
+       if (cp->script)
+         {
+            while (ln < (cp->l1 - 1))
+              {
+                 fprintf(f, " \n");
+                 ln++;
+              }
+            /* FIXME: this prototype needs to be */
+            /* formalised and set in stone */
+            fprintf(f, "public _p%i(sig[], src[]) {", cp->id);
+            {
+               char *sp;
+               int hash = 0;
+               int newlined = 0;
+
+               for (sp = cp->script; *sp; sp++)
+                 {
+                    if ((sp[0] == '#') && (newlined))
+                      {
+                         hash = 1;
+                      }
+                    newlined = 0;
+                    if (sp[0] == '\n') newlined = 1;
+                    if (!hash) fputc(sp[0], f);
+                    else if (sp[0] == '\n') hash = 0;
+                 }
+            }
+            fprintf(f, "}\n");
+            ln += cp->l2 - cp->l1 + 1;
+         }
+     }
+
+   fclose(f);
+}
+
+static void
+data_thread_script(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Script_Write *sc = data;
+   FILE *f;
+   int size;
+   char buf[PATH_MAX];
+
+   f = fdopen(sc->tmpo_fd, "rb");
+   if (!f)
+     {
+        snprintf(buf, sizeof(buf),
+                 "Unable to open script object \"%s\" for reading.",
+                 sc->tmpo);
+        sc->errstr = strdup(buf);
+        return;
+     }
+
+   fseek(f, 0, SEEK_END);
+   size = ftell(f);
+   rewind(f);
+
+   if (size > 0)
+     {
+       void *dat = malloc(size);
+
+       if (dat)
+         {
+            if (fread(dat, size, 1, f) != 1)
+               {
+                  snprintf(buf, sizeof(buf),
+                           "Unable to read all of script object \"%s\"",
+                           sc->tmpo);
+                  sc->errstr = strdup(buf);
+                  return;
+               }
+            snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i",
+                      sc->i);
+            eet_write(sc->ef, buf, dat, size, compress_mode);
+            free(dat);
+         }
+        else
+          {
+             snprintf(buf, sizeof(buf),
+                      "Alloc failed for %lu bytes", (unsigned long)size);
+             sc->errstr = strdup(buf);
+             return;
+          }
+     }
+   fclose(f);
+
+   if (!no_save)
+     {
+        Eina_List *ll;
+        Code_Program *cp;
+
+        if (sc->cd->original)
+          {
+             snprintf(buf, PATH_MAX, "edje/scripts/embryo/source/%i", sc->i);
+             eet_write(sc->ef, buf, sc->cd->original,
+                       strlen(sc->cd->original) + 1, compress_mode);
+          }
+        EINA_LIST_FOREACH(sc->cd->programs, ll, cp)
+          {
+             if (!cp->original) continue;
+             snprintf(buf, PATH_MAX, "edje/scripts/embryo/source/%i/%i",
+                      sc->i, cp->id);
+             eet_write(sc->ef, buf, cp->original,
+                       strlen(cp->original) + 1, compress_mode);
+          }
+     }
+
+   unlink(sc->tmpn);
+   unlink(sc->tmpo);
+   close(sc->tmpn_fd);
+   close(sc->tmpo_fd);
+}
+
+static void
+data_thread_script_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Script_Write *sc = data;
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (sc->errstr)
+     {
+        error_and_abort(sc->ef, sc->errstr);
+        free(sc->errstr);
+     }
+   free(sc);
+}
+
+static Eina_Bool
+data_scripts_exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *evinfo)
+{
+   Script_Write *sc = data;
+   Ecore_Exe_Event_Del *ev = evinfo;
+
+   if (!ev->exe) return ECORE_CALLBACK_RENEW;
+   if (ecore_exe_data_get(ev->exe) != sc) return ECORE_CALLBACK_RENEW;
+   if (ev->exit_code != 0)
+     {
+        error_and_abort(sc->ef, "Compiling script code not clean.");
+        return ECORE_CALLBACK_CANCEL;
+     }
+   if (threads)
+     {
+        pending_threads++;
+        ecore_thread_run(data_thread_script, data_thread_script_end, NULL, sc);
+     }
+   else
+     {
+        pending_threads++;
+        data_thread_script(sc, NULL);
+        data_thread_script_end(sc, NULL);
+     }
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+data_write_scripts(Eet_File *ef)
+{
+   Eina_List *l;
+   char embryo_cc_path[PATH_MAX] = "";
+   char inc_path[PATH_MAX] = "";
+   int i;
+
+   if (!tmp_dir)
+#ifdef HAVE_EVIL
+     tmp_dir = (char *)evil_tmpdir_get();
+#else
+     tmp_dir = "/tmp";
+#endif
+
+#ifdef _WIN32
+# define BIN_EXT ".exe"
+#else
+# define BIN_EXT
+#endif
+     if (getenv("EFL_RUN_IN_TREE"))
+       {
+          snprintf(embryo_cc_path, sizeof(embryo_cc_path),
+                   "%s/src/bin/embryo/embryo_cc" BIN_EXT,
+                   PACKAGE_BUILD_DIR);
+          snprintf(inc_path, sizeof(inc_path),
+                   "%s/data/edje/include", PACKAGE_BUILD_DIR);
+          if (!ecore_file_exists(embryo_cc_path))
+            embryo_cc_path[0] = '\0';
+       }
+
+     if (embryo_cc_path[0] == '\0')
+       {
+          snprintf(embryo_cc_path, sizeof(embryo_cc_path),
+                   "%s/embryo_cc" BIN_EXT,
+                   eina_prefix_bin_get(pfx));
+          snprintf(inc_path, sizeof(inc_path),
+                   "%s/include",
+                   eina_prefix_data_get(pfx));
+       }
+#undef BIN_EXT
+
+   for (i = 0, l = codes; l; l = eina_list_next(l), i++)
+     {
+       Code *cd = eina_list_data_get(l);
+        Script_Write *sc;
+        char buf[PATH_MAX];
+
+       if (cd->is_lua)
+         continue;
+       if ((!cd->shared) && (!cd->programs))
+         continue;
+        sc = calloc(1, sizeof(Script_Write));
+        sc->ef = ef;
+        sc->cd = cd;
+        sc->i = i;
+        snprintf(sc->tmpn, PATH_MAX, "%s/edje_cc.sma-tmp-XXXXXX", tmp_dir);
+        sc->tmpn_fd = mkstemp(sc->tmpn);
+        if (sc->tmpn_fd < 0)
+          error_and_abort(ef, "Unable to open temp file \"%s\" for script "
+                          "compilation.", sc->tmpn);
+        snprintf(sc->tmpo, PATH_MAX, "%s/edje_cc.amx-tmp-XXXXXX", tmp_dir);
+        sc->tmpo_fd = mkstemp(sc->tmpo);
+        if (sc->tmpo_fd < 0)
+          {
+             unlink(sc->tmpn);
+             error_and_abort(ef, "Unable to open temp file \"%s\" for script "
+                             "compilation.", sc->tmpn);
+          }
+        create_script_file(ef, sc->tmpn, cd, sc->tmpn_fd);
+        snprintf(buf, sizeof(buf),
+                 "%s -i %s -o %s %s", embryo_cc_path, inc_path,
+                 sc->tmpo, sc->tmpn);
+        pending_threads++;
+        sc->exe = ecore_exe_run(buf, sc);
+        ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
+                                data_scripts_exe_del_cb, sc);
+     }
+}
+
+#ifdef LUA_BINARY
+static int
+_edje_lua_script_writer(lua_State *L EINA_UNUSED, const void *chunk_buf, size_t chunk_size, void *_data)
+{
+   Script_Lua_Writer *data;
+   void *old;
+
+   data = (Script_Lua_Writer *)_data;
+   old = data->buf;
+   data->buf = malloc(data->size + chunk_size);
+   memcpy(data->buf, old, data->size);
+   memcpy(&((data->buf)[data->size]), chunk_buf, chunk_size);
+   if (old) free(old);
+   data->size += chunk_size;
+
+   return 0;
+}
+#endif
+
+void
+_edje_lua_error_and_abort(lua_State *L, int err_code, Script_Write *sc)
+{
+   char buf[PATH_MAX];
+   char *err_type;
+
+   switch (err_code)
+     {
+      case LUA_ERRRUN:
+       err_type = "runtime";
+       break;
+      case LUA_ERRSYNTAX:
+       err_type = "syntax";
+       break;
+      case LUA_ERRMEM:
+       err_type = "memory allocation";
+       break;
+      case LUA_ERRERR:
+       err_type = "error handler";
+       break;
+      default:
+       err_type = "unknown";
+       break;
+     }
+   snprintf(buf, sizeof(buf),
+            "Lua %s error: %s", err_type, lua_tostring(L, -1));
+   sc->errstr = strdup(buf);
+}
+
+static void
+data_thread_lua_script(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Script_Write *sc = data;
+   char buf[PATH_MAX];
+   lua_State *L;
+   int ln = 1;
+   luaL_Buffer b;
+   Script_Lua_Writer dat;
+   Eina_List *ll;
+   Code_Program *cp;
+#ifdef LUA_BINARY
+   int err_code;
+#endif
+
+   L = luaL_newstate();
+   if (!L)
+     {
+        snprintf(buf, sizeof(buf),
+                 "Lua error: Lua state could not be initialized");
+        sc->errstr = strdup(buf);
+        return;
+     }
+
+   luaL_buffinit(L, &b);
+
+   dat.buf = NULL;
+   dat.size = 0;
+   if (sc->cd->shared)
+     {
+        while (ln < (sc->cd->l1 - 1))
+          {
+             luaL_addchar(&b, '\n');
+             ln++;
+          }
+        luaL_addstring(&b, sc->cd->shared);
+        ln += sc->cd->l2 - sc->cd->l1;
+     }
+
+   EINA_LIST_FOREACH(sc->cd->programs, ll, cp)
+     {
+        if (cp->script)
+          {
+             while (ln < (cp->l1 - 1))
+               {
+                  luaL_addchar(&b, '\n');
+                  ln++;
+               }
+             luaL_addstring(&b, "_G[");
+             lua_pushnumber(L, cp->id);
+             luaL_addvalue(&b);
+             luaL_addstring(&b, "] = function (ed, signal, source)");
+             luaL_addstring(&b, cp->script);
+             luaL_addstring(&b, "end\n");
+             ln += cp->l2 - cp->l1 + 1;
+          }
+     }
+   luaL_pushresult(&b);
+#ifdef LUA_BINARY
+   if (err_code = luaL_loadstring(L, lua_tostring (L, -1)))
+     {
+        _edje_lua_error_and_abort(L, err_code, sc);
+        return;
+     }
+   lua_dump(L, _edje_lua_script_writer, &dat);
+#else // LUA_PLAIN_TEXT
+   dat.buf = (char *)lua_tostring(L, -1);
+   dat.size = strlen(dat.buf);
+#endif
+   //printf("lua chunk size: %d\n", dat.size);
+
+   /*
+    * TODO load and test Lua chunk
+    */
+
+   /*
+    if (luaL_loadbuffer(L, globbuf, globbufsize, "edje_lua_script"))
+    printf("lua load error: %s\n", lua_tostring (L, -1));
+    if (lua_pcall(L, 0, 0, 0))
+    printf("lua call error: %s\n", lua_tostring (L, -1));
+    */
+
+   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", sc->i);
+   if (eet_write(sc->ef, buf, dat.buf, dat.size, compress_mode) <= 0)
+     {
+        snprintf(buf, sizeof(buf),
+                 "Unable to write script %i", sc->i);
+        sc->errstr = strdup(buf);
+        return;
+     }
+#ifdef LUA_BINARY
+   free(dat.buf);
+#endif
+   lua_close(L);
+}
+
+static void
+data_thread_lua_script_end(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Script_Write *sc = data;
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+   if (sc->errstr)
+     {
+        error_and_abort(sc->ef, sc->errstr);
+        free(sc->errstr);
+     }
+   free(sc);
+}
+
+static void
+data_write_lua_scripts(Eet_File *ef)
+{
+   Eina_List *l;
+   int i;
+
+   for (i = 0, l = codes; l; l = eina_list_next(l), i++)
+     {
+        Code *cd;
+        Script_Write *sc;
+
+        cd = (Code *)eina_list_data_get(l);
+        if (!cd->is_lua)
+          continue;
+        if ((!cd->shared) && (!cd->programs))
+          continue;
+
+        sc = calloc(1, sizeof(Script_Write));
+        sc->ef = ef;
+        sc->cd = cd;
+        sc->i = i;
+        pending_threads++;
+        if (threads)
+          ecore_thread_run(data_thread_lua_script, data_thread_lua_script_end, NULL, sc);
+        else
+          {
+             data_thread_lua_script(sc, NULL);
+             data_thread_lua_script_end(sc, NULL);
+          }
+     }
+}
+
+static void
+data_thread_source(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Eet_File *ef = data;
+   source_append(ef);
+}
+
+static void
+data_thread_source_end(void *data EINA_UNUSED, Ecore_Thread *thread EINA_UNUSED)
+{
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+}
+
+static void
+data_thread_fontmap(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   Eet_File *ef = data;
+   source_fontmap_save(ef, fonts);
+}
+
+static void
+data_thread_fontmap_end(void *data EINA_UNUSED, Ecore_Thread *thread EINA_UNUSED)
+{
+   pending_threads--;
+   if (pending_threads <= 0) ecore_main_loop_quit();
+}
+
+void
+data_write(void)
+{
+   Eet_File *ef;
+   int image_num = 0;
+   int sound_num = 0;
+   int font_num = 0;
+   int collection_num = 0;
+   double t;
+
+   if (!edje_file)
+     {
+       ERR("No data to put in \"%s\"", file_out);
+       exit(-1);
+     }
+
+   ef = eet_open(file_out, EET_FILE_MODE_WRITE);
+   if (!ef)
+     {
+       ERR("Unable to open \"%s\" for writing output", file_out);
+       exit(-1);
+     }
+
+   check_groups(ef);
+
+   ecore_thread_max_set(ecore_thread_max_get() * 2);
+
+   pending_threads++;
+   t = ecore_time_get();
+   data_write_header(ef);
+
+   INF("header: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_groups(ef, &collection_num);
+   INF("groups: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_scripts(ef);
+   INF("scripts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_lua_scripts(ef);
+   INF("lua scripts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+
+   pending_threads++;
+   if (threads)
+     ecore_thread_run(data_thread_source, data_thread_source_end, NULL, ef);
+   else
+     {
+        data_thread_source(ef, NULL);
+        data_thread_source_end(ef, NULL);
+     }
+   INF("source: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   pending_threads++;
+   if (threads)
+     ecore_thread_run(data_thread_fontmap, data_thread_fontmap_end, NULL, ef);
+   else
+     {
+        data_thread_fontmap(ef, NULL);
+        data_thread_fontmap_end(ef, NULL);
+     }
+   INF("fontmap: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_images(ef, &image_num);
+   INF("images: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_fonts(ef, &font_num);
+   INF("fonts: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   data_write_sounds(ef, &sound_num);
+   INF("sounds: %3.5f", ecore_time_get() - t); t = ecore_time_get();
+   pending_threads--;
+   if (pending_threads > 0) ecore_main_loop_begin();
+   INF("THREADS: %3.5f", ecore_time_get() - t);
+
+   eet_close(ef);
+
+   if (eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_INFO))
+     {
+        printf("Summary:\n"
+               "  Wrote %i collections\n"
+               "  Wrote %i images\n"
+               "  Wrote %i sounds\n"
+               "  Wrote %i fonts\n"
+               ,
+               collection_num,
+               image_num,
+               sound_num,
+               font_num);
+     }
+}
+
+void
+reorder_parts(void)
+{
+   Edje_Part_Collection *pc;
+   Edje_Part **parts;
+   Edje_Part_Parser *ep, *ep2;
+   Eina_List *l;
+
+   /* sanity checks for parts and programs */
+   EINA_LIST_FOREACH(edje_collections, l, pc)
+     {
+        unsigned int i, j, k;
+       Eina_Bool found = EINA_FALSE;
+
+       for (i = 0; i < pc->parts_count; i++)
+          {
+             ep = (Edje_Part_Parser *)pc->parts[i];
+             if (ep->reorder.insert_before && ep->reorder.insert_after)
+               ERR("Unable to use together insert_before and insert_after in part \"%s\".", pc->parts[i]->name);
+
+             if (ep->reorder.done)
+               {
+                  continue;
+               }
+             if (ep->reorder.insert_before || ep->reorder.insert_after)
+               {
+                  found = EINA_FALSE;
+                  for (j = 0; j < pc->parts_count; j++)
+                    {
+                       if (ep->reorder.insert_before &&
+                           !strcmp(ep->reorder.insert_before, pc->parts[j]->name))
+                         {
+                            ep2 = (Edje_Part_Parser *)pc->parts[j];
+                            if (ep2->reorder.after)
+                              ERR("The part \"%s\" is ambiguous ordered part.",
+                                  pc->parts[i]->name);
+                            if (ep2->reorder.linked_prev)
+                              ERR("Unable to insert two or more parts in same part \"%s\".",
+                                  pc->parts[j]->name);
+                            /* Need it to be able to insert an element before the first */
+                            if (j == 0) k = 0;
+                            else k = j - 1;
+                           found = EINA_TRUE;
+                            ep2->reorder.linked_prev += ep->reorder.linked_prev + 1;
+                            ep->reorder.before = (Edje_Part_Parser *)pc->parts[j];
+                            while (ep2->reorder.before)
+                              {
+                                 ep2->reorder.before->reorder.linked_prev = ep2->reorder.linked_prev + 1;
+                                 ep2 = ep2->reorder.before;
+                              }
+                            break;
+                         }
+                       else if (ep->reorder.insert_after &&
+                           !strcmp(ep->reorder.insert_after, pc->parts[j]->name))
+                         {
+                            ep2 = (Edje_Part_Parser *)pc->parts[j];
+                            if (ep2->reorder.before)
+                              ERR("The part \"%s\" is ambiguous ordered part.", pc->parts[i]->name);
+                            if (ep2->reorder.linked_next)
+                              ERR("Unable to insert two or more parts in same part \"%s\".", pc->parts[j]->name);
+                            k = j;
+                           found = EINA_TRUE;
+                            ep2->reorder.linked_next += ep->reorder.linked_next + 1;
+                            ep->reorder.after = (Edje_Part_Parser *)pc->parts[j];
+                            while (ep2->reorder.after)
+                              {
+                                 ep2->reorder.after->reorder.linked_next = ep2->reorder.linked_next + 1;
+                                 ep2 = ep2->reorder.after;
+                              }
+                            break;
+                         }
+                    }
+                  if (found)
+                    {
+                      unsigned int amount, linked;
+
+                       if (((i > k) && ((i - ep->reorder.linked_prev) <= k))
+                           || ((i < k) && ((i + ep->reorder.linked_next) >= k)))
+                         ERR("The part order is wrong. It has circular dependency.");
+
+                       amount = ep->reorder.linked_prev + ep->reorder.linked_next + 1;
+                       linked = i - ep->reorder.linked_prev;
+                       parts = malloc(amount * sizeof(Edje_Part));
+                       for (j = 0 ; j < amount ; j++)
+                         {
+                            parts[j] = pc->parts[linked];
+                            linked++;
+                         }
+                       if (i > k)
+                         {
+                            for (j = i - ep->reorder.linked_prev ; j > k; j--)
+                              {
+                                 pc->parts[j + amount - 1] = pc->parts[j - 1];
+                                 pc->parts[j + amount - 1]->id = j + amount - 1;
+                              }
+                            for (j = 0 ; j < amount ; j++)
+                              {
+                                 pc->parts[j + k] = parts[j];
+                                 pc->parts[j + k]->id = j + k;
+                              }
+                         }
+                       else if (i < k)
+                         {
+                            for (j = i + ep->reorder.linked_next + 1 ; j <= k ; j++)
+                              {
+                                 pc->parts[j - amount] = pc->parts[j];
+                                 pc->parts[j - amount]->id = j - amount;
+                              }
+                            for (j = 0 ; j < amount ; j++)
+                              {
+                                 pc->parts[j + k - amount + 1] = parts[j];
+                                 pc->parts[j + k - amount + 1]->id = j + k - amount + 1;
+                              }
+                            i -= amount;
+                         }
+                       ep->reorder.done = EINA_TRUE;
+                       free(parts);
+                    }
+               }
+          }
+     }
+}
+
+void
+data_queue_group_lookup(const char *name, Edje_Part *part)
+{
+   Group_Lookup *gl;
+
+   if (!name || !name[0]) return;
+
+   gl = mem_alloc(SZ(Group_Lookup));
+   group_lookups = eina_list_append(group_lookups, gl);
+   gl->name = mem_strdup(name);
+   gl->part = part;
+}
+
+void
+data_queue_face_group_lookup(const char *name)
+{
+   char *group_name;
+
+   if (!name || !name[0]) return;
+
+   group_name = mem_strdup(name);
+   face_group_lookups = eina_list_append(face_group_lookups, group_name);
+}
+
+void
+data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest)
+{
+   void *key[2];
+   Part_Lookup *pl = NULL;
+   Eina_List *list;
+
+   key[0] = pc;
+   key[1] = dest;
+
+   pl = eina_hash_find(part_pc_dest_lookup, &key);
+   if (pl)
+     {
+        if (name[0])
+          {
+             free(pl->name);
+             pl->name = mem_strdup(name);
+          }
+        else
+          {
+             list = eina_hash_find(part_dest_lookup, &pl->dest);
+             list = eina_list_remove(list, pl);
+             eina_hash_set(part_dest_lookup, &pl->dest, list);
+             eina_hash_del(part_pc_dest_lookup, &key, pl);
+          }
+        return ;
+     }
+
+   if (!name[0]) return;
+
+   pl = mem_alloc(SZ(Part_Lookup));
+   pl->pc = pc;
+   pl->name = mem_strdup(name);
+   pl->dest = dest;
+
+   eina_hash_add(part_pc_dest_lookup, &key, pl);
+
+   list = eina_hash_find(part_dest_lookup, &pl->dest);
+   list = eina_list_prepend(list, pl);
+   eina_hash_set(part_dest_lookup, &pl->dest, list);
+}
+
+void
+data_queue_copied_part_lookup(Edje_Part_Collection *pc, int *src, int *dest)
+{
+   Eina_List *list;
+   Eina_List *l;
+   Part_Lookup *pl;
+
+   list = eina_hash_find(part_dest_lookup, &src);
+   EINA_LIST_FOREACH(list, l, pl)
+     data_queue_part_lookup(pc, pl->name, dest);
+}
+
+void
+data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest)
+{
+   Eina_List *l, *l2;
+   Program_Lookup *pl;
+
+   if (!ep) return ; /* FIXME: should we stop compiling ? */
+
+   EINA_LIST_FOREACH(program_lookups, l, pl)
+     {
+        if (pl->u.ep == ep)
+          {
+             Code *cd;
+             Code_Program *cp;
+
+             cd = eina_list_data_get(eina_list_last(codes));
+
+             EINA_LIST_FOREACH(cd->programs, l2, cp)
+               {
+                  if (&(cp->id) == pl->dest)
+                    {
+                       cd->programs = eina_list_remove(cd->programs, cp);
+                       free(cp);
+                       cp = NULL;
+                    }
+               }
+             program_lookups = eina_list_remove(program_lookups, pl);
+             free(pl);
+          }
+     }
+
+   if (dest)
+     {
+        pl = mem_alloc(SZ(Program_Lookup));
+        program_lookups = eina_list_append(program_lookups, pl);
+        pl->pc = pc;
+        pl->u.ep = ep;
+        pl->dest = dest;
+        pl->anonymous = EINA_TRUE;
+     }
+}
+
+void
+data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest)
+{
+   Eina_List *l;
+   Program_Lookup *pl;
+   unsigned int i;
+
+   EINA_LIST_FOREACH(program_lookups, l, pl)
+     {
+        if (pl->dest == src && pl->u.ep->name)
+          {
+             for (i = 0 ; i < pc->programs.fnmatch_count ; i++)
+               {
+                  if (pc->programs.fnmatch[i]->name &&
+                      !strcmp(pl->u.ep->name, pc->programs.fnmatch[i]->name))
+                    data_queue_anonymous_lookup(pc, pc->programs.fnmatch[i], dest);
+               }
+             for (i = 0 ; i < pc->programs.strcmp_count ; i++)
+               {
+                  if (pc->programs.strcmp[i]->name &&
+                      !strcmp(pl->u.ep->name, pc->programs.strcmp[i]->name))
+                    data_queue_anonymous_lookup(pc, pc->programs.strcmp[i], dest);
+               }
+             for (i = 0 ; i < pc->programs.strncmp_count ; i++)
+               {
+                  if (pc->programs.strncmp[i]->name &&
+                      !strcmp(pl->u.ep->name, pc->programs.strncmp[i]->name))
+                    data_queue_anonymous_lookup(pc, pc->programs.strncmp[i], dest);
+               }
+             for (i = 0 ; i < pc->programs.strrncmp_count ; i++)
+               {
+                  if (pc->programs.strrncmp[i]->name &&
+                      !strcmp(pl->u.ep->name, pc->programs.strrncmp[i]->name))
+                    data_queue_anonymous_lookup(pc, pc->programs.strrncmp[i], dest);
+               }
+             for (i = 0 ; i < pc->programs.nocmp_count ; i++)
+               {
+                  if (pc->programs.nocmp[i]->name &&
+                      !strcmp(pl->u.ep->name, pc->programs.nocmp[i]->name))
+                    data_queue_anonymous_lookup(pc, pc->programs.nocmp[i], dest);
+               }
+          }
+     }
+}
+
+void
+data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest)
+{
+   Program_Lookup *pl;
+
+   if (!name) return ; /* FIXME: should we stop compiling ? */
+
+   pl = mem_alloc(SZ(Program_Lookup));
+   program_lookups = eina_list_append(program_lookups, pl);
+   pl->pc = pc;
+   pl->u.name = mem_strdup(name);
+   pl->dest = dest;
+   pl->anonymous = EINA_FALSE;
+}
+
+void
+data_queue_copied_program_lookup(Edje_Part_Collection *pc, int *src, int *dest)
+{
+   Eina_List *l;
+   Program_Lookup *pl;
+
+   EINA_LIST_FOREACH(program_lookups, l, pl)
+     {
+        if (pl->dest == src)
+          data_queue_program_lookup(pc, pl->u.name, dest);
+     }
+}
+
+void
+data_queue_image_lookup(char *name, int *dest, Eina_Bool *set)
+{
+   Image_Lookup *il;
+
+   il = mem_alloc(SZ(Image_Lookup));
+   image_lookups = eina_list_append(image_lookups, il);
+   il->name = mem_strdup(name);
+   il->dest = dest;
+   il->set = set;
+}
+
+void
+data_queue_image_remove(int *dest, Eina_Bool *set)
+{
+   Eina_List *l;
+   Image_Lookup *il;
+
+   EINA_LIST_FOREACH(image_lookups, l, il)
+     {
+        if (il->dest == dest && il->set == set)
+          {
+             image_lookups = eina_list_remove_list(image_lookups, l);
+             free(il->name);
+             free(il);
+             return ;
+          }
+     }
+ }
+
+void
+data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set)
+{
+   Eina_List *l;
+   Image_Lookup *il;
+
+   EINA_LIST_FOREACH(image_lookups, l, il)
+     {
+        if (il->dest == src)
+          data_queue_image_lookup(il->name, dest, set);
+     }
+}
+void
+data_queue_part_slave_lookup(int *master, int *slave)
+{
+   Slave_Lookup *sl;
+
+   sl = mem_alloc(SZ(Slave_Lookup));
+   part_slave_lookups = eina_list_append(part_slave_lookups, sl);
+   sl->master = master;
+   sl->slave = slave;
+}
+
+void
+data_queue_image_slave_lookup(int *master, int *slave)
+{
+   Slave_Lookup *sl;
+
+   sl = mem_alloc(SZ(Slave_Lookup));
+   image_slave_lookups = eina_list_append(image_slave_lookups, sl);
+   sl->master = master;
+   sl->slave = slave;
+}
+
+void
+handle_slave_lookup(Eina_List *list, int *master, int value)
+{
+   Eina_List *l;
+   Slave_Lookup *sl;
+
+   EINA_LIST_FOREACH(list, l, sl)
+     if (sl->master == master)
+       *sl->slave = value;
+}
+
+void
+data_process_lookups(void)
+{
+   Edje_Part_Collection *pc;
+   Eina_Iterator *it;
+   Part_Lookup *part;
+   Program_Lookup *program;
+   Group_Lookup *group;
+   Image_Lookup *image;
+   Eina_List *l2;
+   Eina_List *l;
+   Eina_Hash *images_in_use;
+   void *data;
+   char *group_name;
+   Eina_Bool is_lua = EINA_FALSE;
+
+   /* remove all unreferenced Edje_Part_Collection */
+   EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc)
+     {
+        Edje_Part_Collection_Directory_Entry *alias;
+        Edje_Part_Collection_Directory_Entry *find;
+        Eina_List *l3;
+        unsigned int id = 0;
+        unsigned int i;
+
+        if (!pc->part)
+          {
+             ERR("A collection without a name was detected, that's not allowed.");
+             exit(-1);
+          }
+        find = eina_hash_find(edje_file->collection, pc->part);
+        if (find && find->id == pc->id)
+          continue ;
+
+        EINA_LIST_FOREACH(aliases, l3, alias)
+          if (alias->id == pc->id)
+            continue ;
+
+        /* This Edje_Part_Collection is not used at all */
+        edje_collections = eina_list_remove_list(edje_collections, l);
+        l3 = eina_list_nth_list(codes, pc->id);
+        codes = eina_list_remove_list(codes, l3);
+
+        /* Unref all image used by that group */
+        for (i = 0; i < pc->parts_count; ++i)
+         part_description_image_cleanup(pc->parts[i]);
+
+        /* Correct all id */
+        EINA_LIST_FOREACH(edje_collections, l3, pc)
+          {
+             Eina_List *l4;
+
+             /* Some group could be removed from the collection, but still be referenced by alias */
+             find = eina_hash_find(edje_file->collection, pc->part);
+             if (pc->id != find->id) find = NULL;
+
+             /* Update all matching alias */
+             EINA_LIST_FOREACH(aliases, l4, alias)
+               if (pc->id == alias->id)
+                 alias->id = id;
+
+             pc->id = id++;
+             if (find) find->id = pc->id;
+          }
+     }
+
+   EINA_LIST_FOREACH(edje_collections, l, pc)
+     {
+        unsigned int count = 0;
+        unsigned int i;
+
+        if (pc->lua_script_only)
+          is_lua = EINA_TRUE;
+#define PROGRAM_ID_SET(Type, Pc, It, Count)                            \
+        for (It = 0; It < Pc->programs.Type ## _count; ++It)           \
+          {                                                            \
+             Pc->programs.Type[It]->id = Count++;                      \
+          }
+
+        PROGRAM_ID_SET(fnmatch, pc, i, count);
+        PROGRAM_ID_SET(strcmp, pc, i, count);
+        PROGRAM_ID_SET(strncmp, pc, i, count);
+        PROGRAM_ID_SET(strrncmp, pc, i, count);
+        PROGRAM_ID_SET(nocmp, pc, i, count);
+
+#undef PROGRAM_ID_SET
+     }
+
+   it = eina_hash_iterator_data_new(part_pc_dest_lookup);
+   EINA_ITERATOR_FOREACH(it, part)
+     {
+        Edje_Part *ep;
+        unsigned int i;
+
+        if (!strcmp(part->name, "-"))
+          {
+             *(part->dest) = -1;
+          }
+        else
+          {
+             char *alias;
+             alias = eina_hash_find(part->pc->alias, part->name);
+             if (!alias)
+               alias = part->name;
+             for (i = 0; i < part->pc->parts_count; ++i)
+               {
+                  ep = part->pc->parts[i];
+
+                  if ((ep->name) && (!strcmp(ep->name, alias)))
+                    {
+                       handle_slave_lookup(part_slave_lookups, part->dest, ep->id);
+                       *(part->dest) = ep->id;
+                       break;
+                    }
+               }
+
+             if (i == part->pc->parts_count)
+               {
+                  ERR("Unable to find part name \"%s\" needed in group '%s'.",
+                      alias, part->pc->part);
+                  exit(-1);
+               }
+          }
+     }
+   eina_iterator_free(it);
+   eina_hash_free(part_dest_lookup);
+   eina_hash_free(part_pc_dest_lookup);
+
+   EINA_LIST_FREE(program_lookups, program)
+     {
+        unsigned int i;
+        Eina_Bool find = EINA_FALSE;
+
+#define PROGRAM_MATCH(Type, Pl, It)                                    \
+        for (It = 0; It < Pl->pc->programs.Type ## _count; ++It)       \
+          {                                                            \
+             Edje_Program *ep;                                         \
+             \
+             ep = Pl->pc->programs.Type[It];                           \
+             \
+             if ((Pl->anonymous && ep == Pl->u.ep) ||                  \
+                 ((!Pl->anonymous) && (ep->name) && (!strcmp(ep->name, Pl->u.name)))) \
+               {                                                       \
+                  *(Pl->dest) = ep->id;                                        \
+                  find = EINA_TRUE;                                    \
+                  break;                                               \
+               }                                                       \
+          }
+
+        PROGRAM_MATCH(fnmatch, program, i);
+        PROGRAM_MATCH(strcmp, program, i);
+        PROGRAM_MATCH(strncmp, program, i);
+        PROGRAM_MATCH(strrncmp, program, i);
+        PROGRAM_MATCH(nocmp, program, i);
+
+#undef PROGRAM_MATCH
+
+        if (!find)
+          {
+             if (!program->anonymous)
+               ERR("Unable to find program name \"%s\".",
+                   program->u.name);
+             else
+               ERR("Unable to find anonymous program.");
+             exit(-1);
+          }
+
+        if (!program->anonymous)
+          free(program->u.name);
+        free(program);
+     }
+
+   EINA_LIST_FREE(group_lookups, group)
+     {
+        Edje_Part_Collection_Directory_Entry *de;
+
+        if (group->part)
+          {
+             if (group->part->type != EDJE_PART_TYPE_GROUP
+                 && group->part->type != EDJE_PART_TYPE_TEXTBLOCK
+                 && group->part->type != EDJE_PART_TYPE_BOX
+                 && group->part->type != EDJE_PART_TYPE_TABLE)
+               goto free_group;
+          }
+
+        de = eina_hash_find(edje_file->collection, group->name);
+
+        if (!de)
+          {
+             Eina_Bool found = EINA_FALSE;
+
+             EINA_LIST_FOREACH(aliases, l, de)
+               if (strcmp(de->entry, group->name) == 0)
+                 {
+                    found = EINA_TRUE;
+                    break;
+                 }
+             if (!found) de = NULL;
+          }
+
+        if (!de)
+          {
+             ERR("Unable to find group name \"%s\".", group->name);
+             exit(-1);
+          }
+
+free_group:
+        free(group->name);
+        free(group);
+     }
+
+   EINA_LIST_FREE(face_group_lookups, group_name)
+     {
+        Edje_Part_Collection_Directory_Entry *de;
+
+        de = eina_hash_find(edje_file->collection, group_name);
+
+        if (!de)
+          {
+             Eina_Bool found = EINA_FALSE;
+
+             EINA_LIST_FOREACH(aliases, l, de)
+               if (strcmp(de->entry, group_name) == 0)
+                 {
+                    found = EINA_TRUE;
+                    break;
+                 }
+             if (!found) de = NULL;
+          }
+
+        if (!de)
+          {
+             ERR("Unable to find group name \"%s\".", group_name);
+             exit(-1);
+          }
+
+        free(group_name);
+     }
+
+   images_in_use = eina_hash_string_superfast_new(NULL);
+
+   EINA_LIST_FREE(image_lookups, image)
+     {
+        Eina_Bool find = EINA_FALSE;
+
+        if (edje_file->image_dir)
+          {
+             Edje_Image_Directory_Entry *de;
+             unsigned int i;
+
+             for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+               {
+                  de = edje_file->image_dir->entries + i;
+
+                  if ((de->entry) && (!strcmp(de->entry, image->name)))
+                    {
+                       handle_slave_lookup(image_slave_lookups, image->dest, de->id);
+                       if (de->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
+                         *(image->dest) = -de->id - 1;
+                       else
+                         *(image->dest) = de->id;
+                       *(image->set) = EINA_FALSE;
+                       find = EINA_TRUE;
+
+                       if (!eina_hash_find(images_in_use, image->name))
+                         eina_hash_direct_add(images_in_use, de->entry, de);
+                       break;
+                    }
+               }
+
+             if (!find)
+               {
+                  Edje_Image_Directory_Set *set;
+
+                  for (i = 0; i < edje_file->image_dir->sets_count; ++i)
+                    {
+                       set = edje_file->image_dir->sets + i;
+
+                       if ((set->name) && (!strcmp(set->name, image->name)))
+                         {
+                            Edje_Image_Directory_Set_Entry *child;
+                            Eina_List *lc;
+
+                            handle_slave_lookup(image_slave_lookups, image->dest, set->id);
+                            *(image->dest) = set->id;
+                            *(image->set) = EINA_TRUE;
+                            find = EINA_TRUE;
+
+                            EINA_LIST_FOREACH(set->entries, lc, child)
+                               if (!eina_hash_find(images_in_use, child->name))
+                                 eina_hash_direct_add(images_in_use, child->name, child);
+
+                            if (!eina_hash_find(images_in_use, image->name))
+                              eina_hash_direct_add(images_in_use, set->name, set);
+                            break;
+                         }
+                    }
+               }
+          }
+
+        if (!find)
+          {
+             ERR("Unable to find image name \"%s\".", image->name);
+             exit(-1);
+          }
+
+        free(image->name);
+        free(image);
+     }
+
+   if (edje_file->image_dir && !is_lua)
+     {
+        Edje_Image_Directory_Entry *de;
+        Edje_Image_Directory_Set *set;
+        unsigned int i;
+
+        for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+          {
+             de = edje_file->image_dir->entries + i;
+
+             if (de->entry && eina_hash_find(images_in_use, de->entry))
+               continue ;
+
+             INF("Image '%s' in resource 'edje/image/%i' will not be included as it is unused.",
+                 de->entry, de->id);
+
+             de->entry = NULL;
+          }
+
+        for (i = 0; i < edje_file->image_dir->sets_count; ++i)
+          {
+             set = edje_file->image_dir->sets + i;
+
+             if (set->name && eina_hash_find(images_in_use, set->name))
+               continue ;
+
+             INF("Set '%s' will not be included as it is unused.", set->name);
+
+             set->name = NULL;
+             set->entries = NULL;
+          }
+     }
+
+   eina_hash_free(images_in_use);
+
+   EINA_LIST_FREE(part_slave_lookups, data)
+     free(data);
+
+   EINA_LIST_FREE(image_slave_lookups, data)
+     free(data);
+}
+
+static void
+data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len))
+{
+   char *p;
+   char *key;
+   int keyl;
+   int quote, escape;
+
+   key = alloca(strlen(prefix) + 2 + 1);
+   if (!key) return;
+   strcpy(key, prefix);
+   strcat(key, ":\"");
+   keyl = strlen(key);
+   quote = 0;
+   escape = 0;
+   for (p = s; (p) && (*p); p++)
+     {
+       if (!quote)
+         {
+            if (*p == '\"')
+              {
+                 quote = 1;
+                 p++;
+              }
+         }
+       if (!quote)
+         {
+            if (!strncmp(p, key, keyl))
+              {
+                  char *ptr;
+                  int len;
+                  int inesc = 0;
+                 char *name;
+
+                  ptr = p;
+                  p += keyl;
+                 while ((*p))
+                   {
+                      if (!inesc)
+                        {
+                           if (*p == '\\') inesc = 1;
+                           else if (*p == '\"')
+                             {
+                                /* string concatenation, see below */
+                                if (*(p + 1) != '\"')
+                                  break;
+                                else
+                                  p++;
+                             }
+                        }
+                       else
+                            inesc = 0;
+                       p++;
+                   }
+                 len = p - ptr + 1;
+                 name = alloca(len);
+                 if (name)
+                   {
+                      char *pp;
+                      int i;
+
+                      name[0] = 0;
+                      pp = ptr + keyl;
+                      inesc = 0;
+                      i = 0;
+                      while (*pp)
+                        {
+                           if (!inesc)
+                             {
+                                if (*pp == '\\') inesc = 1;
+                                else if (*pp == '\"')
+                                  {
+                                     /* concat strings like "foo""bar" to "foobar" */
+                                     if (*(pp + 1) == '\"')
+                                       pp++;
+                                     else
+                                       {
+                                          name[i] = 0;
+                                          break;
+                                       }
+                                  }
+                                else
+                                  {
+                                     name[i] = *pp;
+                                     name[i + 1] = 0;
+                                     i++;
+                                  }
+                             }
+                           else
+                              inesc = 0;
+                           pp++;
+                       }
+                     func(pc, name, ptr, len);
+                  }
+              }
+         }
+       else
+         {
+            if (!escape)
+              {
+                 if (*p == '\"') quote = 0;
+                 else if (*p == '\\') escape = 1;
+              }
+            else if (escape)
+              {
+                 escape = 0;
+              }
+         }
+     }
+}
+
+static void
+_data_queue_part_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len)
+{
+   Code_Lookup *cl;
+
+   cl = mem_alloc(SZ(Code_Lookup));
+   cl->ptr = ptr;
+   cl->len = len;
+
+   data_queue_part_lookup(pc, name, &(cl->val));
+
+   code_lookups = eina_list_append(code_lookups, cl);
+}
+static void
+_data_queue_program_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len)
+{
+   Code_Lookup *cl;
+
+   cl = mem_alloc(SZ(Code_Lookup));
+   cl->ptr = ptr;
+   cl->len = len;
+
+   data_queue_program_lookup(pc, name, &(cl->val));
+
+   code_lookups = eina_list_append(code_lookups, cl);
+}
+static void
+_data_queue_group_lookup(Edje_Part_Collection *pc EINA_UNUSED, char *name, char *ptr EINA_UNUSED, int len EINA_UNUSED)
+{
+   data_queue_group_lookup(name, NULL);
+}
+static void
+_data_queue_image_pc_lookup(Edje_Part_Collection *pc EINA_UNUSED, char *name, char *ptr, int len)
+{
+   Code_Lookup *cl;
+
+   cl = mem_alloc(SZ(Code_Lookup));
+   cl->ptr = ptr;
+   cl->len = len;
+
+   data_queue_image_lookup(name, &(cl->val),  &(cl->set));
+
+   code_lookups = eina_list_append(code_lookups, cl);
+}
+
+void
+data_process_scripts(void)
+{
+   Eina_List *l, *l2;
+
+   for (l = codes, l2 = edje_collections; (l) && (l2); l = eina_list_next(l), l2 = eina_list_next(l2))
+     {
+       Edje_Part_Collection *pc;
+       Code *cd;
+
+       cd = eina_list_data_get(l);
+       pc = eina_list_data_get(l2);
+
+       if ((cd->shared) && (!cd->is_lua))
+         {
+            data_process_string(pc, "PART",    cd->shared, _data_queue_part_lookup);
+            data_process_string(pc, "PROGRAM", cd->shared, _data_queue_program_lookup);
+            data_process_string(pc, "IMAGE",   cd->shared, _data_queue_image_pc_lookup);
+            data_process_string(pc, "GROUP",   cd->shared, _data_queue_group_lookup);
+         }
+
+       if (cd->programs)
+         {
+            Code_Program *cp;
+            Eina_List *ll;
+
+            EINA_LIST_FOREACH(cd->programs, ll, cp)
+              {
+                 if (cp->script)
+                   {
+                      data_process_string(pc, "PART",    cp->script, _data_queue_part_lookup);
+                      data_process_string(pc, "PROGRAM", cp->script, _data_queue_program_lookup);
+                      data_process_string(pc, "IMAGE",   cp->script, _data_queue_image_pc_lookup);
+                      data_process_string(pc, "GROUP",   cp->script, _data_queue_group_lookup);
+                   }
+              }
+         }
+     }
+}
+
+void
+data_process_script_lookups(void)
+{
+   Eina_List *l;
+   Code_Lookup *cl;
+
+   EINA_LIST_FOREACH(code_lookups, l, cl)
+     {
+       char buf[12];
+       int n;
+
+       /* FIXME !! Handle set in program */
+       n = eina_convert_itoa(cl->val, buf);
+       if (n > cl->len)
+         {
+            ERR("The unexpected happened. A numeric replacement string was larger than the original!");
+            exit(-1);
+         }
+       memset(cl->ptr, ' ', cl->len);
+       strncpy(cl->ptr, buf, n);
+     }
+}
+
+void
+using_file(const char *filename, const char type)
+{
+   FILE *f;
+
+   if (!watchfile) return;
+   f = fopen(watchfile, "ab");
+   if (!f) return ;
+   if (anotate)
+     {
+       fprintf(f, "%c: %s\n", type, filename);
+     }
+   else
+     {
+       fputs(filename, f);
+       fputc('\n', f);
+     }
+   fclose(f);
+}
diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
new file mode 100644 (file)
index 0000000..f7aa932
--- /dev/null
@@ -0,0 +1,1641 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+#else
+# include <stddef.h>
+# ifdef  __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif
+
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <math.h>
+
+#include "edje_cc.h"
+#include <Ecore.h>
+#include <Ecore_File.h>
+
+#ifdef _WIN32
+# define EPP_EXT ".exe"
+#else
+# define EPP_EXT
+#endif
+
+static void  new_object(void);
+static void  new_statement(void);
+static char *perform_math (char *input);
+static int   isdelim(char c);
+static char *next_token(char *p, char *end, char **new_p, int *delim);
+static const char *stack_id(void);
+static void  parse(char *data, off_t size);
+
+/* simple expression parsing protos */
+static int my_atoi(const char * s);
+static char * _alphai(char *s, int * val);
+static char * _betai(char *s, int * val);
+static char * _gammai(char *s, int * val);
+static char * _deltai(char *s, int * val);
+static char * _get_numi(char *s, int * val);
+static int _is_numi(char c);
+static int _is_op1i(char c);
+static int _is_op2i(char c);
+static int _calci(char op, int a, int b);
+
+static double my_atof(const char * s);
+static char * _alphaf(char *s, double * val);
+static char * _betaf(char *s, double * val);
+static char * _gammaf(char *s, double * val);
+static char * _deltaf(char *s, double * val);
+static char * _get_numf(char *s, double * val);
+static int _is_numf(char c);
+static int _is_op1f(char c);
+static int _is_op2f(char c);
+static double _calcf(char op, double a, double b);
+static int strstrip(const char *in, char *out, size_t size);
+
+
+int        line = 0;
+Eina_List *stack = NULL;
+Eina_Array params;
+
+static char  file_buf[4096];
+static int   verbatim = 0;
+static int   verbatim_line1 = 0;
+static int   verbatim_line2 = 0;
+static char *verbatim_str = NULL;
+static Eina_Strbuf *stack_buf = NULL;
+
+static void
+err_show_stack(void)
+{
+   const char *s;
+   
+   s = stack_id();
+   if (s)
+      ERR("PARSE STACK:\n%s", s);
+   else
+      ERR("NO PARSE STACK");
+}
+
+static void
+err_show_params(void)
+{
+   Eina_Array_Iterator iterator;
+   unsigned int i;
+   char *p;
+
+   ERR("PARAMS:");
+   EINA_ARRAY_ITER_NEXT(&params, i, p, iterator)
+     {
+        ERR("  %s", p);
+     }
+}
+
+static void
+err_show(void)
+{
+   err_show_stack();
+   err_show_params();
+}
+
+static char *
+_parse_param_get(int n)
+{
+   if (n < (int) eina_array_count(&params))
+     return eina_array_data_get(&params, n);
+   return NULL;
+}
+
+static Eina_Hash *_new_object_hash = NULL;
+static Eina_Hash *_new_statement_hash = NULL;
+static Eina_Hash *_new_nested_hash = NULL;
+static void
+fill_object_statement_hashes(void)
+{
+   int i, n;
+
+   if (_new_object_hash) return;
+   
+   _new_object_hash = eina_hash_string_superfast_new(NULL);
+   _new_statement_hash = eina_hash_string_superfast_new(NULL);
+   _new_nested_hash = eina_hash_string_superfast_new(NULL);
+   
+   n = object_handler_num();
+   for (i = 0; i < n; i++)
+     {
+        eina_hash_direct_add(_new_object_hash, object_handlers[i].type,
+                             &(object_handlers[i]));
+     }
+   n = statement_handler_num();
+   for (i = 0; i < n; i++)
+     {
+        eina_hash_direct_add(_new_statement_hash, statement_handlers[i].type,
+                             &(statement_handlers[i]));
+     }
+   n = nested_handler_num();
+   for (i = 0; i < n; i++)
+     {
+        eina_hash_direct_add(_new_nested_hash, nested_handlers[i].type,
+                             &(nested_handlers[i]));
+     }
+}
+
+static void
+new_object(void)
+{
+   const char *id;
+   New_Object_Handler *oh;
+   New_Statement_Handler *sh;
+
+   fill_object_statement_hashes();
+   id = stack_id();
+   oh = eina_hash_find(_new_object_hash, id);
+   if (oh)
+     {
+        if (oh->func) oh->func();
+     }
+   else
+     {
+        sh = eina_hash_find(_new_statement_hash, id);
+        if (!sh)
+          {
+             ERR("%s:%i unhandled keyword %s",
+                 file_in, line - 1,
+                 (char *)eina_list_data_get(eina_list_last(stack)));
+             err_show();
+             exit(-1);
+          }
+     }
+}
+
+static void
+new_statement(void)
+{
+   const char *id;
+   New_Statement_Handler *sh;
+
+   fill_object_statement_hashes();
+   id = stack_id();
+   sh = eina_hash_find(_new_statement_hash, id);
+   if (sh)
+     {
+        if (sh->func) sh->func();
+     }
+   else
+     {
+        ERR("%s:%i unhandled keyword %s",
+            file_in, line - 1,
+            (char *)eina_list_data_get(eina_list_last(stack)));
+        err_show();
+        exit(-1);
+     }
+}
+
+static char *
+perform_math (char *input)
+{
+   char buf[256];
+   double res;
+
+   /* FIXME
+    * Always apply floating-point arithmetic.
+    * Does this cause problems for integer parameters? (yes it will)
+    *
+    * What we should do is, loop over the string and figure out whether
+    * there are floating point operands, too and then switch to
+    * floating point math.
+    */
+   res = my_atof(input);
+   snprintf(buf, sizeof (buf), "%lf", res);
+   return strdup(buf);
+}
+
+static int
+isdelim(char c)
+{
+   const char *delims = "{},;:";
+   char *d;
+
+   d = (char *)delims;
+   while (*d)
+     {
+       if (c == *d) return 1;
+       d++;
+     }
+   return 0;
+}
+
+static char *
+next_token(char *p, char *end, char **new_p, int *delim)
+{
+   char *tok_start = NULL, *tok_end = NULL, *tok = NULL, *sa_start = NULL;
+   int in_tok = 0;
+   int in_quote = 0;
+   int in_parens = 0;
+   int in_comment_ss  = 0;
+   int in_comment_cpp = 0;
+   int in_comment_sa  = 0;
+   int had_quote = 0;
+   int is_escaped = 0;
+
+   *delim = 0;
+   if (p >= end) return NULL;
+   while (p < end)
+     {
+       if (*p == '\n')
+         {
+            in_comment_ss = 0;
+            in_comment_cpp = 0;
+            line++;
+         }
+       if ((!in_comment_ss) && (!in_comment_sa))
+         {
+            if ((!in_quote) && (*p == '/') && (p < (end - 1)) && (*(p + 1) == '/'))
+              in_comment_ss = 1;
+            if ((!in_quote) && (*p == '#'))
+              in_comment_cpp = 1;
+            if ((!in_quote) && (*p == '/') && (p < (end - 1)) && (*(p + 1) == '*'))
+              {
+                 in_comment_sa = 1;
+                 sa_start = p;
+              }
+         }
+       if ((in_comment_cpp) && (*p == '#'))
+         {
+            char *pp, fl[4096];
+            char *tmpstr = NULL;
+            int   l, nm;
+
+            /* handle cpp comments */
+            /* their line format is
+             * #line <line no. of next line> <filename from next line on> [??]
+             */
+
+            pp = p;
+            while ((pp < end) && (*pp != '\n'))
+              {
+                 pp++;
+              }
+            l = pp - p;
+            tmpstr = alloca(l + 1);
+            strncpy(tmpstr, p, l);
+            tmpstr[l] = 0;
+            l = sscanf(tmpstr, "%*s %i \"%[^\"]\"", &nm, fl);
+            if (l == 2)
+              {
+                 strcpy(file_buf, fl);
+                 line = nm;
+                 file_in = file_buf;
+              }
+         }
+       else if ((!in_comment_ss) && (!in_comment_sa) && (!in_comment_cpp))
+         {
+            if (!in_tok)
+              {
+                 if (!in_quote)
+                   {
+                      if (!isspace(*p))
+                        {
+                           if (*p == '"')
+                             {
+                                in_quote = 1;
+                                had_quote = 1;
+                             }
+                           else if (*p == '(')
+                             in_parens++;
+
+                           in_tok = 1;
+                           tok_start = p;
+                           if (isdelim(*p)) *delim = 1;
+                        }
+                   }
+              }
+            else
+              {
+                 if (in_quote)
+                   {
+                      if ((*p) == '\\')
+                        is_escaped = !is_escaped;
+                      else if (((*p) == '"') && (!is_escaped))
+                        {
+                           in_quote = 0;
+                           had_quote = 1;
+                        }
+                      else if (is_escaped)
+                        is_escaped = 0;
+                   }
+                 else if (in_parens)
+                   {
+                      if (((*p) == ')') && (!is_escaped))
+                        in_parens--;
+                   }
+                 else
+                   {
+                      if (*p == '"')
+                        {
+                           in_quote = 1;
+                           had_quote = 1;
+                        }
+                      else if (*p == '(')
+                        in_parens++;
+
+                      /* check for end-of-token */
+                      if (
+                          (isspace(*p)) ||
+                          ((*delim) && (!isdelim(*p))) ||
+                          (isdelim(*p))
+                          )
+                        {/*the line below this is never  used because it skips to
+                           * the 'done' label which is after the return call for
+                           * in_tok being 0. is this intentional?
+                           */
+                           in_tok = 0;
+
+                           tok_end = p - 1;
+                           if (*p == '\n') line--;
+                           goto done;
+                        }
+                   }
+              }
+         }
+       if (in_comment_sa)
+         {
+            if ((*p == '/') && (*(p - 1) == '*') && ((p - sa_start) > 2))
+              in_comment_sa = 0;
+         }
+       p++;
+     }
+   if (!in_tok) return NULL;
+   tok_end = p - 1;
+
+   done:
+   *new_p = p;
+
+   tok = mem_alloc(tok_end - tok_start + 2);
+   strncpy(tok, tok_start, tok_end - tok_start + 1);
+   tok[tok_end - tok_start + 1] = 0;
+
+   if (had_quote)
+     {
+       is_escaped = 0;
+       p = tok;
+
+       while (*p)
+         {
+            if ((*p == '\"') && (!is_escaped))
+              {
+                 memmove(p, p + 1, strlen(p));
+              }
+            else if ((*p == '\\') && (*(p + 1) == 'n'))
+              {
+                 memmove(p, p + 1, strlen(p));
+                 *p = '\n';
+              }
+            else if ((*p == '\\') && (*(p + 1) == 't'))
+              {
+                 memmove(p, p + 1, strlen(p));
+                 *p = '\t';
+              }
+            else if (*p == '\\')
+              {
+                 memmove(p, p + 1, strlen(p));
+                 if (*p == '\\') p++;
+                 else is_escaped = 1;
+              }
+            else
+              {
+                 if (is_escaped) is_escaped = 0;
+                 p++;
+              }
+         }
+     }
+   else if ((tok) && (*tok == '('))
+     {
+       char *tmp;
+       tmp = tok;
+       tok = perform_math(tok);
+       free(tmp);
+     }
+
+   return tok;
+}
+
+static void
+stack_push(char *token)
+{
+   New_Nested_Handler *nested;
+   Eina_Bool do_append = EINA_TRUE;
+
+   if (eina_list_count(stack) > 1)
+     {
+        if (!strcmp(token, eina_list_data_get(eina_list_last(stack))))
+          {
+             char *tmp;
+             int token_length;
+
+             token_length = strlen(token);
+             tmp = alloca(eina_strbuf_length_get(stack_buf));
+             memcpy(tmp,
+                    eina_strbuf_string_get(stack_buf),
+                    eina_strbuf_length_get(stack_buf) - token_length - 1);
+             tmp[eina_strbuf_length_get(stack_buf) - token_length - 1] = '\0';
+
+             nested = eina_hash_find(_new_nested_hash, tmp);
+             if (nested)
+               {
+                  if (!strcmp(token, nested->token) &&
+                      stack && !strcmp(eina_list_data_get(eina_list_last(stack)), nested->token))
+                    {
+                       /* Do not append the nested token in buffer */
+                       do_append = EINA_FALSE;
+                       if (nested->func_push) nested->func_push();
+                    }
+               }
+          }
+     }
+   if (do_append)
+     {
+        if (stack) eina_strbuf_append(stack_buf, ".");
+        eina_strbuf_append(stack_buf, token);
+     }
+   stack = eina_list_append(stack, token);
+}
+
+static void
+stack_pop(void)
+{
+   char *tmp;
+   int tmp_length;
+   Eina_Bool do_remove = EINA_TRUE;
+
+   if (!stack)
+     {
+       ERR("parse error %s:%i. } marker without matching { marker",
+           file_in, line - 1);
+        err_show();
+       exit(-1);
+     }
+   tmp = eina_list_data_get(eina_list_last(stack));
+   tmp_length = strlen(tmp);
+
+   stack = eina_list_remove_list(stack, eina_list_last(stack));
+   if (eina_list_count(stack) > 0)
+     {
+        const char *prev;
+        New_Nested_Handler *nested;
+        char *hierarchy;
+        char *lookup;
+
+        hierarchy = alloca(eina_strbuf_length_get(stack_buf) + 1);
+        memcpy(hierarchy,
+               eina_strbuf_string_get(stack_buf),
+               eina_strbuf_length_get(stack_buf) + 1);
+
+        /* This is nasty, but it's the way to get parts.part when they are collapsed together. still not perfect */
+        lookup = strrchr(hierarchy + eina_strbuf_length_get(stack_buf) - tmp_length, '.');
+        while (lookup)
+          {
+             hierarchy[lookup - hierarchy] = '\0';
+             nested = eina_hash_find(_new_nested_hash, hierarchy);
+             if (nested && nested->func_pop) nested->func_pop();
+             lookup = strrchr(hierarchy + eina_strbuf_length_get(stack_buf) - tmp_length, '.');
+          }
+
+        hierarchy[eina_strbuf_length_get(stack_buf) - 1 - tmp_length] = '\0';
+
+        nested = eina_hash_find(_new_nested_hash, hierarchy);
+        if (nested)
+          {
+             if (nested->func_pop) nested->func_pop();
+
+             prev = eina_list_data_get(eina_list_last(stack));
+             if (!strcmp(tmp, prev))
+               {
+                  if (!strcmp(nested->token, tmp))
+                    do_remove = EINA_FALSE;
+               }
+          }
+
+        if (do_remove)
+          eina_strbuf_remove(stack_buf,
+                             eina_strbuf_length_get(stack_buf) - tmp_length - 1,
+                             eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */
+     }
+   else
+     {
+        eina_strbuf_remove(stack_buf,
+                           eina_strbuf_length_get(stack_buf) - tmp_length,
+                           eina_strbuf_length_get(stack_buf)); /* remove: 'tmp' */
+     }
+   free(tmp);
+}
+
+static const char *
+stack_id(void)
+{
+   return eina_strbuf_string_get(stack_buf);
+}
+
+static void
+parse(char *data, off_t size)
+{
+   char *p, *end, *token;
+   int delim = 0;
+   int do_params = 0;
+
+   DBG("Parsing input file");
+
+   /* Allocate arrays used to impl nested parts */
+   edje_cc_handlers_hierarchy_alloc();
+   p = data;
+   end = data + size;
+   line = 1;
+   while ((token = next_token(p, end, &p, &delim)))
+     {
+       /* if we are in param mode, the only delimiter
+        * we'll accept is the semicolon
+        */
+       if (do_params && delim && *token != ';')
+         {
+            ERR("parse error %s:%i. %c marker before ; marker",
+                file_in, line - 1, *token);
+             err_show();
+            exit(-1);
+         }
+       else if (delim)
+         {
+            if (*token == ',' || *token == ':') do_params = 1;
+            else if (*token == '}')
+              {
+                 if (do_params)
+                   {
+                      ERR("Parse error %s:%i. } marker before ; marker",
+                          file_in, line - 1);
+                      err_show();
+                      exit(-1);
+                   }
+                 else
+                   stack_pop();
+              }
+            else if (*token == ';')
+              {
+                 if (do_params)
+                   {
+                       void *param;
+
+                      do_params = 0;
+                      new_statement();
+                      /* clear out params */
+                      while ((param = eina_array_pop(&params)))
+                         free(param);
+                      /* remove top from stack */
+                      stack_pop();
+                   }
+              }
+            else if (*token == '{')
+              {
+                 if (do_params)
+                   {
+                      ERR("parse error %s:%i. { marker before ; marker",
+                          file_in, line - 1);
+                       err_show();
+                      exit(-1);
+                   }
+              }
+            free(token);
+         }
+       else
+         {
+            if (do_params)
+               {
+                  eina_array_push(&params, token);
+               }
+            else
+              {
+                  stack_push(token);
+                 new_object();
+                 if ((verbatim == 1) && (p < (end - 2)))
+                   {
+                      int escaped = 0;
+                      int inquotes = 0;
+                      int insquotes = 0;
+                      int squigglie = 1;
+                      int l1 = 0, l2 = 0;
+                      char *verbatim_1;
+                      char *verbatim_2;
+
+                      l1 = line;
+                      while ((p[0] != '{') && (p < end))
+                        {
+                           if (*p == '\n') line++;
+                           p++;
+                        }
+                      p++;
+                      verbatim_1 = p;
+                      verbatim_2 = NULL;
+                      for (; p < end; p++)
+                        {
+                           if (*p == '\n') line++;
+                           if (escaped) escaped = 0;
+                           if (!escaped)
+                             {
+                                if (p[0] == '\\') escaped = 1;
+                                else if (p[0] == '\"')
+                                  {
+                                     if (!insquotes)
+                                       {
+                                          if (inquotes) inquotes = 0;
+                                          else inquotes = 1;
+                                       }
+                                  }
+                                else if (p[0] == '\'')
+                                  {
+                                     if (!inquotes)
+                                       {
+                                          if (insquotes) insquotes = 0;
+                                          else insquotes = 1;
+                                       }
+                                  }
+                                else if ((!inquotes) && (!insquotes))
+                                  {
+                                     if      (p[0] == '{') squigglie++;
+                                     else if (p[0] == '}') squigglie--;
+                                     if (squigglie == 0)
+                                       {
+                                          verbatim_2 = p - 1;
+                                          l2 = line;
+                                          break;
+                                       }
+                                  }
+                             }
+                        }
+                      if (verbatim_2 > verbatim_1)
+                        {
+                           int l;
+                           char *v;
+
+                           l = verbatim_2 - verbatim_1 + 1;
+                           v = malloc(l + 1);
+                           strncpy(v, verbatim_1, l);
+                           v[l] = 0;
+                           set_verbatim(v, l1, l2);
+                        }
+                      else
+                        {
+                           ERR("Parse error %s:%i. { marker does not have matching } marker",
+                               file_in, line - 1);
+                            err_show();
+                           exit(-1);
+                        }
+                      new_object();
+                      verbatim = 0;
+                   }
+              }
+         }
+     }
+
+   edje_cc_handlers_hierarchy_free();
+   DBG("Parsing done");
+}
+
+static char *clean_file = NULL;
+static void
+clean_tmp_file(void)
+{
+   if (clean_file) unlink(clean_file);
+}
+
+int
+is_verbatim(void)
+{
+   return verbatim;
+}
+
+void
+track_verbatim(int on)
+{
+   verbatim = on;
+}
+
+void
+set_verbatim(char *s, int l1, int l2)
+{
+   verbatim_line1 = l1;
+   verbatim_line2 = l2;
+   verbatim_str = s;
+}
+
+char *
+get_verbatim(void)
+{
+   return verbatim_str;
+}
+
+int
+get_verbatim_line1(void)
+{
+   return verbatim_line1;
+}
+
+int
+get_verbatim_line2(void)
+{
+   return verbatim_line2;
+}
+
+void
+compile(void)
+{
+   char buf[4096], buf2[4096];
+   char inc[4096];
+   static char tmpn[4096];
+   int fd;
+   off_t size;
+   char *data, *p;
+   Eina_List *l;
+   Edje_Style *stl;
+
+   if (!tmp_dir)
+#ifdef HAVE_EVIL
+     tmp_dir = (char *)evil_tmpdir_get();
+#else
+     tmp_dir = "/tmp";
+#endif
+
+   strncpy(inc, file_in, 4000);
+   inc[4001] = 0;
+   p = strrchr(inc, '/');
+   if (!p) strcpy(inc, "./");
+   else *p = 0;
+   snprintf(tmpn, PATH_MAX, "%s/edje_cc.edc-tmp-XXXXXX", tmp_dir);
+   fd = mkstemp(tmpn);
+   if (fd < 0)
+     {
+        CRIT("Unable to open temp file \"%s\" for pre-processor.", tmpn);
+        exit(-1);
+     }
+
+   if (fd >= 0)
+     {
+       int ret;
+       char *def;
+
+       clean_file = tmpn;
+       close(fd);
+       atexit(clean_tmp_file);
+       if (!defines)
+         def = mem_strdup("");
+       else
+         {
+            int len;
+            char *define;
+
+            len = 0;
+            EINA_LIST_FOREACH(defines, l, define)
+              len += strlen(define) + 1;
+            def = mem_alloc(len + 1);
+            def[0] = 0;
+            EINA_LIST_FOREACH(defines, l, define)
+              {
+                 strcat(def, define);
+                 strcat(def, " ");
+              }
+         }
+
+       /*
+        * Run the input through the C pre-processor.
+        */
+
+        buf2[0] = '\0';
+        if (getenv("EFL_RUN_IN_TREE"))
+          {
+             snprintf(buf2, sizeof(buf2), "%s/src/bin/edje/epp/epp" EPP_EXT,
+                      PACKAGE_BUILD_DIR);
+             if (!ecore_file_exists(buf2))
+               buf2[0] = '\0';
+          }
+
+        if (buf2[0] == '\0')
+          snprintf(buf2, sizeof(buf2), "%s/edje/utils/epp" EPP_EXT,
+                   eina_prefix_lib_get(pfx));
+        if (ecore_file_exists(buf2))
+          {
+             if (anotate)
+               snprintf(buf, sizeof(buf), "%s -anotate -a %s %s -I%s %s -o %s",
+                        buf2, watchfile ? watchfile : "/dev/null", file_in, inc, def, tmpn);
+             else
+               snprintf(buf, sizeof(buf), "%s -a %s %s -I%s %s -o %s",
+                        buf2, watchfile ? watchfile : "/dev/null", file_in, inc, def, tmpn);
+             ret = system(buf);
+          }
+        else
+          {
+             ERR("Cannot run epp: %s", buf2);
+             exit(-1);
+          }
+       if (ret == EXIT_SUCCESS)
+         file_in = tmpn;
+        else
+          {
+             ERR("Exit code of epp not clean: %i", ret);
+             exit(-1);
+          }
+       free(def);
+     }
+   fd = open(file_in, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR);
+   if (fd < 0)
+     {
+       ERR("Cannot open file \"%s\" for input. %s",
+           file_in, strerror(errno));
+       exit(-1);
+     }
+   DBG("Opening \"%s\" for input", file_in);
+
+   size = lseek(fd, 0, SEEK_END);
+   lseek(fd, 0, SEEK_SET);
+   data = malloc(size);
+   if (data && (read(fd, data, size) == size))
+     {
+        stack_buf = eina_strbuf_new();
+       eina_array_step_set(&params, sizeof (Eina_Array), 8);
+        parse(data, size);
+       eina_array_flush(&params);
+        eina_strbuf_free(stack_buf);
+        stack_buf = NULL;
+     }
+   else
+     {
+       ERR("Cannot read file \"%s\". %s", file_in, strerror(errno));
+       exit(-1);
+     }
+   free(data);
+   close(fd);
+
+   EINA_LIST_FOREACH(edje_file->styles, l, stl)
+     {
+        if (!stl->name)
+          {
+             ERR("style must have a name.");
+             exit(-1);
+          }
+     }
+}
+
+int
+is_param(int n)
+{
+   char *str;
+
+   str = _parse_param_get(n);
+   if (str) return 1;
+   return 0;
+}
+
+int
+is_num(int n)
+{
+   char *str;
+   char *end;
+   long int ret;
+   
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+               file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   if (str[0] == 0) return 0;
+   end = str;
+   ret = strtol(str, &end, 0);
+   if ((ret == LONG_MIN) || (ret == LONG_MAX))
+     {
+        n = 0; // do nothing. shut gcc warnings up
+     }
+   if ((end != str) && (end[0] == 0)) return 1;
+   return 0;
+}
+
+char *
+parse_str(int n)
+{
+   char *str;
+   char *s;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   s = mem_strdup(str);
+   return s;
+}
+
+static int
+_parse_enum(char *str, va_list va)
+{
+   va_list va2;
+   va_copy(va2, va); /* iterator for the error message */
+
+   for (;;)
+     {
+       char *s;
+       int   v;
+
+       s = va_arg(va, char *);
+
+       /* End of the list, nothing matched. */
+       if (!s)
+         {
+            ERR("%s:%i token %s not one of:", file_in, line - 1, str);
+            s = va_arg(va2, char *);
+            while (s)
+              {
+                 va_arg(va2, int);
+                 fprintf(stderr, " %s", s);
+                 s = va_arg(va2, char *);
+                 if (!s) break;
+              }
+            fprintf(stderr, "\n");
+            va_end(va2);
+            va_end(va);
+             err_show();
+            exit(-1);
+         }
+
+       v = va_arg(va, int);
+       if (!strcmp(s, str))
+         {
+            va_end(va2);
+            va_end(va);
+            return v;
+         }
+     }
+   va_end(va2);
+   va_end(va);
+   return 0;
+}
+
+int
+parse_enum(int n, ...)
+{
+   char *str;
+   int result;
+   va_list va;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+
+   va_start(va, n);
+   result = _parse_enum(str, va);
+   va_end(va);
+
+   return result;
+}
+
+int
+parse_flags(int n, ...)
+{
+   int result = 0;
+   va_list va;
+
+   va_start(va, n);
+   while (n < (int) eina_array_count(&params))
+     {
+        result |= _parse_enum(eina_array_data_get(&params, n), va);
+        n++;
+     }
+   va_end(va);
+
+   return result;
+}
+
+int
+parse_int(int n)
+{
+   char *str;
+   int i;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   i = my_atoi(str);
+   return i;
+}
+
+int
+parse_int_range(int n, int f, int t)
+{
+   char *str;
+   int i;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   i = my_atoi(str);
+   if ((i < f) || (i > t))
+     {
+       ERR("%s:%i integer %i out of range of %i to %i inclusive",
+           file_in, line - 1, i, f, t);
+        err_show();
+       exit(-1);
+     }
+   return i;
+}
+
+int
+parse_bool(int n)
+{
+   char *str, buf[4096];
+   int i;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+
+   if (!strstrip(str, buf, sizeof (buf)))
+     {
+       ERR("%s:%i expression is too long",
+           file_in, line - 1);
+       return 0;
+     }
+
+   if (!strcasecmp(buf, "false") || !strcasecmp(buf, "off"))
+      return 0;
+   if (!strcasecmp(buf, "true") || !strcasecmp(buf, "on"))
+      return 1;
+
+   i = my_atoi(str);
+   if ((i < 0) || (i > 1))
+     {
+       ERR("%s:%i integer %i out of range of 0 to 1 inclusive",
+           file_in, line - 1, i);
+        err_show();
+       exit(-1);
+     }
+   return i;
+}
+
+double
+parse_float(int n)
+{
+   char *str;
+   double i;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   i = my_atof(str);
+   return i;
+}
+
+double
+parse_float_range(int n, double f, double t)
+{
+   char *str;
+   double i;
+
+   str = _parse_param_get(n);
+   if (!str)
+     {
+       ERR("%s:%i no parameter supplied as argument %i",
+           file_in, line - 1, n + 1);
+        err_show();
+       exit(-1);
+     }
+   i = my_atof(str);
+   if ((i < f) || (i > t))
+     {
+       ERR("%s:%i float %3.3f out of range of %3.3f to %3.3f inclusive",
+           file_in, line - 1, i, f, t);
+        err_show();
+       exit(-1);
+     }
+   return i;
+}
+
+int
+get_arg_count(void)
+{
+   return eina_array_count(&params);
+}
+
+void
+check_arg_count(int required_args)
+{
+   int num_args = eina_array_count(&params);
+
+   if (num_args != required_args)
+     {
+        ERR("%s:%i got %i arguments, but expected %i",
+            file_in, line - 1, num_args, required_args);
+        err_show();
+       exit(-1);
+     }
+}
+
+void
+check_min_arg_count(int min_required_args)
+{
+   int num_args = eina_array_count(&params);
+
+   if (num_args < min_required_args)
+     {
+       ERR("%s:%i got %i arguments, but expected at least %i",
+           file_in, line - 1, num_args, min_required_args);
+        err_show();
+       exit(-1);
+     }
+}
+
+/* simple expression parsing stuff */
+
+/*
+ * alpha ::= beta + beta || beta
+ * beta  ::= gamma + gamma || gamma
+ * gamma ::= num || delta
+ * delta ::= '(' alpha ')'
+ *
+ */
+
+/* int set of function */
+
+static int
+my_atoi(const char *s)
+{
+   int res = 0;
+   char buf[4096];
+   
+   if (!s) return 0;
+   if (!strstrip(s, buf, sizeof(buf)))
+     {
+       ERR("%s:%i expression is too long",
+           file_in, line - 1);
+       return 0;
+     }
+   _alphai(buf, &res);
+   return res;
+}
+
+static char *
+_deltai(char *s, int *val)
+{
+   if (!val) return NULL;
+   if ('(' != s[0])
+     {
+       ERR("%s:%i unexpected character at %s",
+           file_in, line - 1, s);
+       return s;
+     }
+   else
+     {
+       s++;
+       s = _alphai(s, val);
+       s++;
+       return s;
+     }
+   return s;
+}
+
+static char *
+_funci(char *s, int *val)
+{
+   if (!strncmp(s, "floor(", 6))
+     {
+        s += 5;
+        s = _deltai(s, val);
+        *val = *val;
+     }
+   else if (!strncmp(s, "ceil(", 5))
+     {
+        s += 4;
+        s = _deltai(s, val);
+        *val = *val;
+     }
+   else
+     {
+        ERR("%s:%i unexpected character at %s",
+           file_in, line - 1, s);
+     }
+   return s;
+}
+
+static char *
+_gammai(char *s, int *val)
+{
+   if (!val) return NULL;
+   if (_is_numi(s[0]))
+     {
+       s = _get_numi(s, val);
+       return s;
+     }
+   else if ('(' == s[0])
+     {
+       s = _deltai(s, val);
+       return s;
+     }
+   else
+     {
+        s = _funci(s, val);
+//        ERR("%s:%i unexpected character at %s",
+//                progname, file_in, line - 1, s);
+     }
+   return s;
+}
+
+static char *
+_betai(char *s, int *val)
+{
+   int a1, a2;
+   char op;
+
+   if (!val) return NULL;
+   s = _gammai(s, &a1);
+   while (_is_op1i(s[0]))
+     {
+       op = s[0];
+       s++;
+       s = _gammai(s, &a2);
+       a1 = _calci(op, a1, a2);
+     }
+   (*val) = a1;
+   return s;
+}
+
+static char *
+_alphai(char *s, int *val)
+{
+   int a1, a2;
+   char op;
+   
+   if (!val) return NULL;
+   s = _betai(s, &a1);
+   while (_is_op2i(s[0]))
+     {
+       op = s[0];
+       s++;
+       s = _betai(s, &a2);
+       a1 = _calci(op, a1, a2);
+     }
+   (*val) = a1;
+   return s;
+}
+
+char *
+_get_numi(char *s, int *val)
+{
+   char buf[4096];
+   int pos = 0;
+   
+   if (!val) return s;
+   while ((('0' <= s[pos]) && ('9' >= s[pos])) ||
+         ((0 == pos) && ('-' == s[pos])))
+     {
+       buf[pos] = s[pos];
+       pos++;
+     }
+   buf[pos] = '\0';
+   (*val) = atoi(buf);
+   return (s + pos);
+}
+
+int
+_is_numi(char c)
+{
+   if (((c >= '0') && (c <= '9')) || ('-' == c) || ('+' == c))
+     return 1;
+   else
+     return 0;
+}
+
+int
+_is_op1i(char c)
+{
+   switch (c)
+     {
+     case '*':;
+     case '%':;
+     case '/': return 1;
+     default: break;
+     }
+   return 0;
+}
+
+int
+_is_op2i(char c)
+{
+   switch (c)
+     {
+     case '+':;
+     case '-': return 1;
+     default: break;
+     }
+   return 0;
+}
+
+int
+_calci(char op, int a, int b)
+{
+   switch(op)
+     {
+     case '+':
+       a += b;
+       return a;
+     case '-':
+       a -= b;
+       return a;
+     case '/':
+       if (0 != b) a /= b;
+       else
+         ERR("%s:%i divide by zero", file_in, line - 1);
+       return a;
+     case '*':
+       a *= b;
+       return a;
+     case '%':
+       if (0 != b) a = a % b;
+       else
+         ERR("%s:%i modula by zero", file_in, line - 1);
+       return a;
+     default:
+       ERR("%s:%i unexpected character '%c'", file_in, line - 1, op);
+     }
+   return a;
+}
+
+/* float set of functoins */
+
+double
+my_atof(const char *s)
+{
+   double res = 0;
+   char buf[4096];
+   
+   if (!s) return 0;
+
+   if (!strstrip(s, buf, sizeof (buf)))
+     {
+       ERR("%s:%i expression is too long", file_in, line - 1);
+       return 0;
+     }
+   _alphaf(buf, &res);
+   return res;
+}
+
+static char *
+_deltaf(char *s, double *val)
+{
+   if (!val) return NULL;
+   if ('(' != s[0])
+     {
+       ERR("%s:%i unexpected character at %s", file_in, line - 1, s);
+       return s;
+     }
+   else
+     {
+       s++;
+       s = _alphaf(s, val);
+       s++;
+     }
+   return s;
+}
+
+static char *
+_funcf(char *s, double *val)
+{
+   if (!strncmp(s, "floor(", 6))
+     {
+        s += 5;
+        s = _deltaf(s, val);
+        *val = floor(*val);
+     }
+   else if (!strncmp(s, "ceil(", 5))
+     {
+        s += 4;
+        s = _deltaf(s, val);
+        *val = ceil(*val);
+     }
+   else
+     {
+        ERR("%s:%i unexpected character at %s", file_in, line - 1, s);
+     }
+   return s;
+}
+
+static char *
+_gammaf(char *s, double *val)
+{
+   if (!val) return NULL;
+   
+   if (_is_numf(s[0]))
+     {
+       s = _get_numf(s, val);
+       return s;
+     }
+   else if ('(' == s[0])
+     {
+       s = _deltaf(s, val);
+       return s;
+     }
+   else
+     {
+        s = _funcf(s, val);
+//        ERR("%s:%i unexpected character at %s",
+//                progname, file_in, line - 1, s);
+     }
+   return s;
+}
+
+static char *
+_betaf(char *s, double *val)
+{
+   double a1=0, a2=0;
+   char op;
+   
+   if (!val) return NULL;
+   s = _gammaf(s, &a1);
+   while (_is_op1f(s[0]))
+     {
+       op = s[0];
+       s++;
+       s = _gammaf(s, &a2);
+       a1 = _calcf(op, a1, a2);
+     }
+   (*val) = a1;
+   return s;
+}
+
+static char *
+_alphaf(char *s, double *val)
+{
+   double a1=0, a2=0;
+   char op;
+
+   if (!val) return NULL;
+   s = _betaf(s, &a1);
+   while (_is_op2f(s[0]))
+     {
+       op = s[0];
+       s++;
+       s = _betaf(s, &a2);
+       a1 = _calcf(op, a1, a2);
+     }
+   (*val) = a1;
+   return s;
+}
+
+static char *
+_get_numf(char *s, double *val)
+{
+   char buf[4096];
+   int pos = 0;
+
+   if (!val) return s;
+
+   while ((('0' <= s[pos]) && ('9' >= s[pos])) ||
+         ('.' == s[pos]) ||
+         ((0 == pos) && ('-' == s[pos])))
+     {
+       buf[pos] = s[pos];
+       pos++;
+     }
+   buf[pos] = '\0';
+   (*val) = atof(buf);
+   return (s+pos);
+}
+
+static int
+_is_numf(char c)
+{
+   if (((c >= '0') && (c <= '9'))
+       || ('-' == c)
+       || ('.' == c)
+       || ('+' == c))
+     return 1;
+   return 0;
+}
+
+static int
+_is_op1f(char c)
+{
+   switch(c)
+     {
+     case '*':;
+     case '%':;
+     case '/': return 1;
+     default: break;
+     }
+   return 0;
+}
+
+static int
+_is_op2f(char c)
+{
+   switch(c)
+     {
+     case '+':;
+     case '-': return 1;
+     default: break;
+     }
+   return 0;
+}
+
+static double
+_calcf(char op, double a, double b)
+{
+   switch(op)
+     {
+     case '+':
+       a += b;
+       return a;
+     case '-':
+       a -= b;
+       return a;
+     case '/':
+       if (b != 0) a /= b;
+       else
+         ERR("%s:%i divide by zero", file_in, line - 1);
+       return a;
+     case '*':
+       a *= b;
+       return a;
+     case '%':
+       if (0 != b) a = (double)((int)a % (int)b);
+       else
+         ERR("%s:%i modula by zero", file_in, line - 1);
+       return a;
+     default:
+       ERR("%s:%i unexpected character '%c'", file_in, line - 1, op);
+     }
+   return a;
+}
+
+static int
+strstrip(const char *in, char *out, size_t size)
+{
+   if ((size -1 ) < strlen(in))
+     {
+       ERR("%s:%i expression is too long", file_in, line - 1);
+       return 0;
+     }
+   /* remove spaces and tabs */
+   while (*in)
+     {
+       if ((0x20 != *in) && (0x09 != *in))
+         {
+            *out = *in;
+            out++;
+         }
+       in++;
+     }
+   *out = '\0';
+   return 1;
+}
diff --git a/src/bin/edje/edje_cc_sources.c b/src/bin/edje/edje_cc_sources.c
new file mode 100644 (file)
index 0000000..ef23d32
--- /dev/null
@@ -0,0 +1,252 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+
+#include "edje_cc.h"
+
+static Eet_Data_Descriptor *_srcfile_edd = NULL;
+static Eet_Data_Descriptor *_srcfile_list_edd = NULL;
+
+static Eet_Data_Descriptor *_external_edd = NULL;
+static Eet_Data_Descriptor *_external_list_edd = NULL;
+
+static Eet_Data_Descriptor *_font_edd = NULL;
+static Eet_Data_Descriptor *_font_list_edd = NULL;
+
+static SrcFile_List srcfiles = {NULL};
+
+void
+source_edd(void)
+{
+   Eet_Data_Descriptor_Class eddc;
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile", sizeof (SrcFile));
+   _srcfile_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "name", name, EET_T_INLINED_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "file", file, EET_T_INLINED_STRING);
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile_list", sizeof (SrcFile_List));
+   _srcfile_list_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_srcfile_list_edd, SrcFile_List, "list", list, _srcfile_edd);
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "external", sizeof (External));
+   _external_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_external_edd, External, "name", name, EET_T_INLINED_STRING);
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "external_list", sizeof (External_List));
+   _external_list_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_external_list_edd, External_List, "list", list, _external_edd);
+
+   _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);
+}
+
+static void source_fetch_file(const char *fil, const char *filname);
+
+static void
+source_fetch_file(const char *fil, const char *filname)
+{
+   FILE *f;
+   char buf[16 * 1024], *dir = NULL;
+   long sz;
+   size_t tmp;
+   ssize_t dir_len = 0;
+   SrcFile *sf;
+
+   f = fopen(fil, "rb");
+   if (!f)
+     {
+       ERR("Cannot open file '%s'", fil);
+       exit(-1);
+     }
+
+   fseek(f, 0, SEEK_END);
+   sz = ftell(f);
+   fseek(f, 0, SEEK_SET);
+   sf = mem_alloc(SZ(SrcFile));
+   sf->name = mem_strdup(filname);
+   sf->file = mem_alloc(sz + 1);
+   if (sz > 0)
+     {
+       tmp = fread(sf->file, sz, 1, f);
+       if (tmp != 1)
+         {
+            ERR("file length for (%s) doesn't match!", filname);
+            exit(-1);
+         }
+     }
+
+   sf->file[sz] = '\0';
+   fseek(f, 0, SEEK_SET);
+   srcfiles.list = eina_list_append(srcfiles.list, sf);
+
+   while (fgets(buf, sizeof(buf), f))
+     {
+       char *p, *pp;
+       int got_hash = 0;
+       int forgetit = 0;
+       int haveinclude = 0;
+       char *file = NULL, *fname = NULL;
+
+       p = buf;
+       while ((!forgetit) && (*p))
+         {
+            if (!got_hash)
+              {
+                 if (!isspace(*p))
+                   {
+                      if (*p == '#')
+                        got_hash = 1;
+                      else
+                        forgetit = 1;
+                   }
+                 p++;
+              }
+
+            if (!haveinclude)
+              {
+                 if (!isspace(*p))
+                   {
+                      if (!strncmp(p, "include", 7))
+                        {
+                           haveinclude = 1;
+                           p += 7;
+                        }
+                      /* HACK! the logic above should be fixed so
+                       * preprocessor statements don't have to begin
+                       * in column 0.
+                       * otoh, edje_cc should print a warning in that case,
+                       * since according to the standard, preprocessor
+                       * statements need to be put in column 0.
+                       */
+                      else if (!strncmp(p, "#include", 8))
+                        {
+                           haveinclude = 1;
+                           p += 8;
+                        }
+                      else
+                        forgetit = 1;
+                   }
+              }
+            else
+              {
+                 if (!isspace(*p))
+                   {
+                      char end = '\0';
+
+                      if (*p == '"') end = '"';
+                      else if (*p == '<') end = '>';
+
+                      if (end)
+                        {
+                           pp = strchr(p + 1, end);
+                           if (!pp)
+                             forgetit = 1;
+                           else
+                             {
+                                char *slash;
+                                ssize_t l = 0;
+
+                                /* get the directory of the current file
+                                 * if we haven't already done so
+                                 */
+                                if ((!dir) && (strrchr(fil, '/')))
+                                  {
+                                     dir = mem_strdup(fil);
+                                     slash = strrchr(dir, '/');
+                                     *slash = '\0';
+                                     dir_len = strlen(dir);
+                                  }
+
+                                l = pp - p + dir_len + 1;
+                                file = mem_alloc(l);
+
+                                if (!dir_len)
+                                  {
+                                     snprintf(file, l - 1, "%s", p + 1);
+                                     file[l - 2] = 0;
+                                  }
+                                else
+                                  {
+                                     snprintf(file, l, "%s/%s", dir, p + 1);
+                                     file[l - 1] = 0;
+                                  }
+
+
+                                fname = strdup(p + 1);
+                                pp = strrchr(fname, end);
+                                if (pp) *pp = 0;
+                                forgetit = 1;
+                             }
+                        }
+                      else
+                        forgetit = 1;
+                   }
+                 else
+                   p++;
+              }
+
+            got_hash = 0;
+         }
+       if ((file) && (fname))
+         {
+            source_fetch_file(file, fname);
+            free(file);
+            free(fname);
+         }
+     }
+   free(dir);
+   fclose(f);
+}
+
+void
+source_fetch(void)
+{
+   char buf[PATH_MAX] = {0}, *ptr;
+
+   ptr = strrchr(file_in, '/');
+   if (ptr)
+     {
+       snprintf(buf, sizeof (buf), "%s", ptr + 1);
+     }
+
+   source_fetch_file(file_in, buf[0] ? buf : file_in);
+}
+
+int
+source_append(Eet_File *ef)
+{
+   return eet_data_write(ef, _srcfile_list_edd, "edje_sources", &srcfiles,
+                         compress_mode);
+}
+
+SrcFile_List *
+source_load(Eet_File *ef)
+{
+   SrcFile_List *s;
+
+   s = eet_data_read(ef, _srcfile_list_edd, "edje_sources");
+   return s;
+}
+
+int
+source_fontmap_save(Eet_File *ef, Eina_List *font_list)
+{
+   Edje_Font_List fl;
+
+   fl.list = font_list;
+   return eet_data_write(ef, _font_list_edd, "edje_source_fontmap", &fl,
+                         compress_mode);
+}
+
+Edje_Font_List *
+source_fontmap_load(Eet_File *ef)
+{
+   Edje_Font_List *fl;
+
+   fl = eet_data_read(ef, _font_list_edd, "edje_source_fontmap");
+   return fl;
+}
diff --git a/src/bin/edje/edje_codegen.c b/src/bin/edje/edje_codegen.c
new file mode 100644 (file)
index 0000000..891a4b8
--- /dev/null
@@ -0,0 +1,1229 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <locale.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Getopt.h>
+#include <Ecore_Evas.h>
+
+#include "Edje.h"
+#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT 1
+#include "Edje_Edit.h"
+
+static int _log_dom;
+#define DBG(...)  EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
+#define ERR(...)  EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
+
+static Ecore_Evas *ee = NULL;
+static char *file = NULL;
+static char *group = NULL;
+static char *prefix = NULL;
+static FILE *source_fd = NULL;
+static FILE *header_fd = NULL;
+static Eina_List *externals = NULL;
+
+#define H_HEADER                                        \
+  "#ifndef _%s\n"                                       \
+  "#define _%s\n\n"                                     \
+  "#include <Edje.h>\n"                                 \
+  "#include <Evas.h>\n\n"                               \
+  "#include <stdlib.h>\n\n"
+
+#define H_FOOTER                                        \
+  "\n#endif /* _%s */\n"
+
+#define C_HEADER                                        \
+  "#include \"%s\"\n\n"
+
+#define C_CODEGEN_OBJECT_ADD                              \
+  "Evas_Object *\n"                                       \
+  "%s_object_add(Evas *e, const char *file)\n"            \
+  "{\n"                                                   \
+  "   Evas_Object *o;\n\n"                                \
+  "   o = edje_object_add(e);\n"                          \
+  "   if (!o) return NULL;\n\n"                           \
+  "   if (file)\n"                                        \
+  "      edje_object_file_set(o, file, \"%s\");\n"        \
+  "   else\n"                                             \
+  "      edje_object_file_set(o, \"%s\", \"%s\");\n\n"    \
+  "   return o;\n"                                        \
+  "}\n\n"
+
+#define H_CODEGEN_OBJECT_ADD                                           \
+  "/**\n * @brief Creates the Edje object and set the edj file\n"      \
+  " * @param e The surface\n"                                          \
+  " * @param file The path to edj, if NULL it's used the path given\n" \
+  " *             to edje_codegen\n */\n"                              \
+  "Evas_Object *%s_object_add(Evas *e, const char *file);\n\n"
+
+#define C_CODEGEN_DRAG_SET(option)                                      \
+  "Eina_Bool\n"                                                         \
+  "%s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy)\n"    \
+  "{\n"                                                                 \
+  "   return edje_object_part_drag_"#option"_set(o, \"%s\", dx, dy);\n" \
+  "}\n\n"
+
+#define H_CODEGEN_DRAG_SET(option)                                      \
+  "Eina_Bool %s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy);\n"
+
+#define C_CODEGEN_DRAG_GET(option)                                      \
+  "Eina_Bool\n"                                                         \
+  "%s_%s_drag_"#option"_get(Evas_Object *o, double *dx, double *dy)\n"  \
+  "{\n"                                                                 \
+  "   return edje_object_part_drag_"#option"_get(o, \"%s\", dx, dy);\n" \
+  "}\n\n"
+
+#define H_CODEGEN_DRAG_GET(option)                                      \
+  "Eina_Bool %s_%s_drag_"#option"_get(Evas_Object *o, double *dx"       \
+  ", double *dy);\n"
+
+#define C_CODEGEN_DRAG_ACTION(option)                                   \
+  "Eina_Bool\n"                                                         \
+  "%s_%s_drag_"#option"(Evas_Object *o, double dx, double dy)\n"        \
+  "{\n"                                                                 \
+  "   return edje_object_part_drag_"#option"(o, \"%s\", dx, dy);\n"     \
+  "}\n\n"
+
+#define H_CODEGEN_DRAG_ACTION(option)                                   \
+  "Eina_Bool %s_%s_drag_"#option"(Evas_Object *o, double dx, double dy);\n"
+
+#define C_CODEGEN_DRAG_DIR_GET                              \
+  "Edje_Drag_Dir\n"                                         \
+  "%s_%s_drag_dir_get(Evas_Object *o)\n"                    \
+  "{\n"                                                     \
+  "   return edje_object_part_drag_dir_get(o, \"%s\");\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_DRAG_DIR_GET                          \
+  "Edje_Drag_Dir %s_%s_drag_dir_get(Evas_Object *o);\n"
+
+#define C_CODEGEN_PART_TEXT_SET                         \
+  "void\n"                                              \
+  "%s_%s_set(Evas_Object *o, const char *value)\n"      \
+  "{\n"                                                 \
+  "   edje_object_part_text_set(o, \"%s\", value);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TEXT_SET                              \
+  "void %s_%s_set(Evas_Object *o, const char *value);\n"
+
+#define C_CODEGEN_PART_SWALLOW_SET                             \
+  "void\n"                                                     \
+  "%s_%s_set(Evas_Object *o, Evas_Object *value)\n"            \
+  "{\n"                                                        \
+  "   edje_object_part_swallow(o, \"%s\", value);\n"           \
+  "}\n\n"
+
+#define H_CODEGEN_PART_SWALLOW_SET                             \
+  "void %s_%s_set(Evas_Object *o, Evas_Object *value);\n"
+
+#define C_CODEGEN_PART_TEXT_GET                         \
+  "const char *\n"                                      \
+  "%s_%s_get(const Evas_Object *o)\n"                   \
+  "{\n"                                                 \
+  "   return edje_object_part_text_get(o, \"%s\");\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TEXT_GET                         \
+  "const char *%s_%s_get(const Evas_Object *o);\n"
+
+#define C_CODEGEN_PART_SWALLOW_GET                        \
+  "Evas_Object *\n"                                       \
+  "%s_%s_get(const Evas_Object *o)\n"                     \
+  "{\n"                                                   \
+  "   return edje_object_part_swallow_get(o, \"%s\");\n"  \
+  "}\n\n"
+
+#define H_CODEGEN_PART_SWALLOW_GET                         \
+  "Evas_Object *%s_%s_get(const Evas_Object *o);\n"
+
+#define C_CODEGEN_PART_BOX_APPEND                                \
+  "Eina_Bool\n"                                                  \
+  "%s_%s_append(Evas_Object *o, Evas_Object *child)\n"           \
+  "{\n"                                                          \
+  "   return edje_object_part_box_append(o, \"%s\", child);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_APPEND                                      \
+  "Eina_Bool %s_%s_append(Evas_Object *o, Evas_Object *child);\n"
+
+#define C_CODEGEN_PART_BOX_PREPEND                                \
+  "Eina_Bool\n"                                                   \
+  "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n"           \
+  "{\n"                                                           \
+  "   return edje_object_part_box_prepend(o, \"%s\", child);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_PREPEND                                      \
+  "Eina_Bool %s_%s_prepend(Evas_Object *o, Evas_Object *child);\n"
+
+#define C_CODEGEN_PART_BOX_INSERT_BEFORE                          \
+  "Eina_Bool\n"                                                   \
+  "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, "      \
+  "const Evas_Object *reference)\n"                               \
+  "{\n"                                                           \
+  "   return edje_object_part_box_insert_before(o, \"%s\", "      \
+  "child, reference);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_INSERT_BEFORE                                \
+  "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, "  \
+  "const Evas_Object *reference);\n"
+
+#define C_CODEGEN_PART_BOX_INSERT_AT                                        \
+  "Eina_Bool\n"                                                             \
+  "%s_%s_insert_at(Evas_Object *o, Evas_Object *child, unsigned int pos)\n" \
+  "{\n"                                                                     \
+  "   return edje_object_part_box_insert_at(o, \"%s\", child, pos);\n"      \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_INSERT_AT                                     \
+  "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, "       \
+  "unsigned int pos);\n"
+
+#define C_CODEGEN_PART_BOX_REMOVE                                   \
+  "Evas_Object *\n"                                                 \
+  "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n"              \
+  "{\n"                                                             \
+  "   return edje_object_part_box_remove(o, \"%s\", child);\n"      \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_REMOVE                                    \
+  "Evas_Object *%s_%s_remove(Evas_Object *o, Evas_Object *child);\n"
+
+#define C_CODEGEN_PART_BOX_REMOVE_AT                                 \
+  "Evas_Object *\n"                                                  \
+  "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n"              \
+  "{\n"                                                              \
+  "   return edje_object_part_box_remove_at(o, \"%s\", pos);\n"      \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_REMOVE_AT                                 \
+  "Evas_Object *%s_%s_remove_at(Evas_Object *o, unsigned int pos);\n"
+
+#define C_CODEGEN_PART_BOX_REMOVE_ALL                                \
+  "Eina_Bool\n"                                                      \
+  "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n"              \
+  "{\n"                                                              \
+  "   return edje_object_part_box_remove_all(o, \"%s\", clear);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_BOX_REMOVE_ALL                                     \
+  "Eina_Bool %s_%s_remove_all(Evas_Object *o, Eina_Bool clear);\n"
+
+#define C_CODEGEN_PART_TABLE_CHILD_GET                                    \
+  "Evas_Object *\n"                                                       \
+  "%s_%s_child_get(Evas_Object *o, unsigned int col, unsigned int row)\n" \
+  "{\n"                                                                   \
+  "   return edje_object_part_table_child_get(o, \"%s\", col, row);\n"    \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TABLE_CHILD_GET                                \
+  "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, "  \
+  "unsigned int row);\n"
+
+#define C_CODEGEN_PART_TABLE_PACK                                         \
+  "Eina_Bool\n"                                                           \
+  "%s_%s_pack(Evas_Object *o, Evas_Object *child, unsigned short col, "   \
+  "unsigned short row, unsigned short colspan, unsigned short rowspan)\n" \
+  "{\n"                                                                   \
+  "   return edje_object_part_table_pack(o, \"%s\", child, col, row, "    \
+  "colspan, rowspan);\n"                                                  \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TABLE_PACK                                \
+  "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, "    \
+  "unsigned short col, unsigned short row, unsigned short "      \
+  "colspan, unsigned short rowspan);\n"
+
+#define C_CODEGEN_PART_TABLE_UNPACK                                  \
+  "Eina_Bool\n"                                                      \
+  "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n"               \
+  "{\n"                                                              \
+  "   return edje_object_part_table_unpack(o, \"%s\", child);\n"     \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TABLE_UNPACK                                  \
+  "Eina_Bool %s_%s_unpack(Evas_Object *o, Evas_Object *child);\n"
+
+#define C_CODEGEN_PART_TABLE_CLEAR                               \
+  "Eina_Bool\n"                                                  \
+  "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n"               \
+  "{\n"                                                          \
+  "   return edje_object_part_table_clear(o, \"%s\", clear);\n"  \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TABLE_CLEAR                                   \
+  "Eina_Bool %s_%s_clear(Evas_Object *o, Eina_Bool clear);\n"
+
+#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET                        \
+  "Eina_Bool\n"                                                      \
+  "%s_%s_col_row_size_get(Evas_Object *o, int  *cols, int *rows)\n"  \
+  "{\n"                                                              \
+  "   return edje_object_part_table_col_row_size_get(o, \"%s\", "    \
+  "cols, rows);\n"                                                   \
+  "}\n\n"
+
+#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET                                \
+  "Eina_Bool %s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows);\n"
+
+#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field)            \
+  "Eina_Bool\n"                                                               \
+  "%s_%s_%s_set(Evas_Object *o, "type"value)\n"                               \
+  "{\n"                                                                       \
+  "   Edje_External_Param param;\n\n"                                         \
+  "   param.name = \"%s\";\n"                                                 \
+  "   param.type = "param_type";\n"                                           \
+  "   param."field" = value;\n"                                               \
+  "   return edje_object_part_external_param_set(o, \"%s\", &param);\n"       \
+  "}\n\n"
+
+#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type)            \
+  "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type"value);\n"
+
+#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field)            \
+  "Eina_Bool\n"                                                               \
+  "%s_%s_%s_get(Evas_Object *o, "type"*value)\n"                              \
+  "{\n"                                                                       \
+  "   if (!value) return EINA_FALSE;\n\n"                                     \
+  "   Edje_External_Param param;\n\n"                                         \
+  "   param.name = \"%s\";\n"                                                 \
+  "   param.type = "param_type";\n"                                           \
+  "   if (!edje_object_part_external_param_get(o, \"%s\", &param))\n"         \
+  "     return EINA_FALSE;\n\n"                                               \
+  "   *value = param."field";\n"                                              \
+  "   return EINA_TRUE;\n"                                                    \
+  "}\n\n"
+
+#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type)               \
+  "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type"*value);\n"
+
+#define C_CODEGEN_PROGRAM_EMIT                          \
+  "void\n"                                              \
+  "%s_%s_emit(Evas_Object *o)\n"                        \
+  "{\n"                                                 \
+  "   edje_object_signal_emit(o, \"%s\", \"%s\");\n"    \
+  "}\n\n"
+
+#define H_CODEGEN_PROGRAM_EMIT         \
+  "void %s_%s_emit(Evas_Object *o);\n"
+
+#define C_CODEGEN_PROGRAM_CALLBACK_ADD                                        \
+  "void\n"                                                                    \
+  "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n"     \
+  "{\n"                                                                       \
+  "   edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n"      \
+  "}\n\n"
+
+#define H_CODEGEN_PROGRAM_CALLBACK_ADD                                  \
+  "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, "       \
+  "void *data);\n"
+
+#define C_CODEGEN_PROGRAM_CALLBACK_DEL                                          \
+  "void\n"                                                                      \
+  "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n"  \
+  "{\n"                                                                         \
+  "   edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n"   \
+  "}\n\n"
+
+#define H_CODEGEN_PROGRAM_CALLBACK_DEL                                  \
+  "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, "  \
+  "void *data);\n"
+
+
+typedef struct _Part_External_Info Part_External_Info;
+struct _Part_External_Info {
+  const char *description, *name, *source;
+  char *apiname;
+  Eina_Bool draggable;
+};
+
+const Ecore_Getopt optdesc = {
+  "edje_codegen",
+  "%prog [options] <file.edj> <group> <source_file_name> <header_file_name>",
+  PACKAGE_VERSION,
+  "(C) 2012 - The Enlightenment Project",
+  "BSD",
+  "Edje generates the boilerplate code to get and set the "
+  "parts of a group from a compiled (binary) edje "
+  "file avoiding common errors with typos.\n",
+  0,
+  {
+    ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \
+                          "generataed code."),
+    ECORE_GETOPT_LICENSE('L', "license"),
+    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
+    ECORE_GETOPT_VERSION('V', "version"),
+    ECORE_GETOPT_HELP('h', "help"),
+    ECORE_GETOPT_SENTINEL
+  }
+};
+
+static char *
+_standardizes_header(const char *filename)
+{
+   char *str, *itr, *aux;
+
+   aux = strrchr(filename, '/');
+   str = itr = strdup(aux ? aux + 1 : filename);
+
+   for (; *itr; itr++)
+     if (*itr == '.')
+       *itr = '_';
+     else
+       *itr = toupper(*itr);
+
+   return str;
+}
+
+static Eina_Bool
+_open_file_descriptors(const char *source, const char *header)
+{
+   header_fd = fopen(header, "w");
+   if (!header_fd)
+     return EINA_FALSE;
+
+   source_fd = fopen(source, "w");
+   if (!source_fd)
+     goto err;
+
+   return EINA_TRUE;
+
+ err:
+   fclose(header_fd);
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_close_file_descriptors(void)
+{
+   Eina_Bool ret = EINA_FALSE;
+
+   if (!fclose(header_fd))
+     ret = EINA_TRUE;
+
+   if (!fclose(source_fd))
+     ret &= EINA_TRUE;
+
+   return ret;
+}
+
+static Eina_Bool
+_write_headers(const char *filename)
+{
+   char buf[512];
+   char *str;
+
+   str = _standardizes_header(filename);
+   snprintf(buf, sizeof(buf), H_HEADER, str, str);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     {
+       free(str);
+       return EINA_FALSE;
+     }
+
+   free(str);
+
+   snprintf(buf, sizeof(buf), C_HEADER, filename);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+       return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_write_footer(const char *filename)
+{
+   char buf[512];
+   char *str;
+
+   str = _standardizes_header(filename);
+   snprintf(buf, sizeof(buf), H_FOOTER, str);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     {
+       free(str);
+       return EINA_FALSE;
+     }
+
+   free(str);
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_write_object_get(void)
+{
+   char buf[512];
+
+   snprintf(buf, sizeof(buf), H_CODEGEN_OBJECT_ADD, prefix);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     return EINA_FALSE;
+
+   snprintf(buf, sizeof(buf), C_CODEGEN_OBJECT_ADD, prefix, group, file, group);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+     return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_write_part_draggable(const char *apiname, const char *partname)
+{
+   char buf[1024];
+
+#define TEMPLATE_DRAGGABLE(sufix, option)                               \
+   do {                                                                 \
+     const char *template;                                              \
+     template = C_CODEGEN_DRAG_##sufix(option);                         \
+     snprintf(buf, sizeof(buf), template, prefix, apiname,              \
+              partname);                                                \
+     if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                   \
+       return EINA_FALSE;                                               \
+     template = H_CODEGEN_DRAG_##sufix(option);                         \
+     snprintf(buf, sizeof(buf), template, prefix,                       \
+              apiname);                                                 \
+     if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                   \
+       return EINA_FALSE;                                               \
+   } while (0)
+
+   TEMPLATE_DRAGGABLE(SET, value);
+   TEMPLATE_DRAGGABLE(GET, value);
+   TEMPLATE_DRAGGABLE(SET, size);
+   TEMPLATE_DRAGGABLE(GET, size);
+   TEMPLATE_DRAGGABLE(SET, page);
+   TEMPLATE_DRAGGABLE(GET, page);
+   TEMPLATE_DRAGGABLE(SET, step);
+   TEMPLATE_DRAGGABLE(GET, step);
+   TEMPLATE_DRAGGABLE(ACTION, page);
+   TEMPLATE_DRAGGABLE(ACTION, step);
+
+#undef TEMPLATE_DRAGGABLE
+
+   snprintf(buf, sizeof(buf), C_CODEGEN_DRAG_DIR_GET, prefix,
+           apiname, partname);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+     return EINA_FALSE;
+   snprintf(buf, sizeof(buf), H_CODEGEN_DRAG_DIR_GET, prefix, apiname);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_write_part_external_param(const Part_External_Info *info,
+                          const Edje_External_Param_Info *param)
+{
+   const char *template;
+   char buf[1024];
+
+#define WRITE_TEMPLATE(type, param_type, field)                                     \
+   do {                                                                      \
+      template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \
+      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
+             param->name, param->name, info->name);                         \
+      if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                       \
+       return EINA_FALSE;                                                   \
+      template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type);                    \
+      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
+              param->name);                                                 \
+      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                       \
+       return EINA_FALSE;                                                   \
+      template =                                                             \
+       C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field);          \
+      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
+             param->name, param->name, info->name);                         \
+      if (fwrite(buf, strlen(buf), 1, source_fd) != 1)                       \
+       return EINA_FALSE;                                                   \
+      template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type);                    \
+      snprintf(buf, sizeof(buf), template, info->apiname, info->name,        \
+              param->name);                                                 \
+      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)                       \
+       return EINA_FALSE;                                                   \
+   } while (0)
+
+   switch (param->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+        WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i");
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+        WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d");
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+        WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s");
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+        WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i");
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+        WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s");
+        break;
+      default:
+         break;
+     }
+
+#undef WRITE_TEMPLATE
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_write_part_external(Eina_List **parts)
+{
+   char buf[1024];
+   Eina_Iterator *itr;
+   Part_External_Info *ei;
+   const Eina_Hash_Tuple *tuple;
+   Eina_List *l, *l_next;
+   const char *name;
+   Eina_Bool ret = EINA_TRUE;
+
+   itr = edje_external_iterator_get();
+   EINA_ITERATOR_FOREACH(itr, tuple)
+     {
+        const Edje_External_Type *type = tuple->data;
+        const Edje_External_Param_Info *param;
+        name = tuple->key;
+
+        if (!type)
+          {
+             ERR("no type value for '%s'", name);
+             continue;
+          }
+        else if (type->abi_version != edje_external_type_abi_version_get())
+          {
+             ERR("type '%s' with incorrect abi_version %u (expected %u)",
+                 name, type->abi_version, edje_external_type_abi_version_get());
+             continue;
+          }
+
+       EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei)
+         {
+            if (!strcmp(ei->source, name))
+              {
+                 if (ei->description)
+                   {
+                      snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n",
+                               ei->description);
+                      if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+                        {
+                           ret = EINA_FALSE;
+                           goto end;
+                        }
+                   }
+
+                  if (ei->draggable)
+                    {
+                      if (!_write_part_draggable(ei->apiname, ei->name))
+                        {
+                           ret = EINA_FALSE;
+                           goto end;
+                        }
+                    }
+
+                 for (param = type->parameters_info; param->name != NULL;
+                      param++)
+                   if (!_write_part_external_param(ei, param))
+                     {
+                        ret = EINA_FALSE;
+                        goto end;
+                     }
+
+                 edje_edit_string_free(ei->description);
+                 free(ei->apiname);
+                 free(ei);
+
+                 *parts = eina_list_remove_list(*parts, l);
+
+              }
+         }
+     }
+
+ end:
+   if (eina_list_count(*parts) == 0) *parts = NULL;
+   eina_iterator_free(itr);
+
+   return ret;
+}
+
+static Eina_Bool
+_write_part(const char *apiname, const char *partname, Edje_Part_Type parttype,
+            const char *description, Eina_Bool draggable)
+{
+   char buf[512];
+
+#define TEMPLATE_NAME(sufix)                                     \
+   do {                                                          \
+     snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix,       \
+              apiname, partname);                                \
+     if (fwrite(buf, strlen(buf), 1, source_fd) != 1)            \
+       goto err;                                                 \
+     snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix,       \
+              apiname);                                          \
+     if (fwrite(buf, strlen(buf), 1, header_fd) != 1)            \
+       goto err;                                                 \
+   } while (0)
+
+   if (description)
+     {
+       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
+       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+         goto err;
+     }
+
+   switch (parttype)
+     {
+      case EDJE_PART_TYPE_BOX:
+        TEMPLATE_NAME(PART_BOX_APPEND);
+        TEMPLATE_NAME(PART_BOX_PREPEND);
+        TEMPLATE_NAME(PART_BOX_INSERT_BEFORE);
+        TEMPLATE_NAME(PART_BOX_INSERT_AT);
+        TEMPLATE_NAME(PART_BOX_REMOVE);
+        TEMPLATE_NAME(PART_BOX_REMOVE_AT);
+        TEMPLATE_NAME(PART_BOX_REMOVE_ALL);
+        break;
+
+      case EDJE_PART_TYPE_TABLE:
+        TEMPLATE_NAME(PART_TABLE_PACK);
+        TEMPLATE_NAME(PART_TABLE_UNPACK);
+        TEMPLATE_NAME(PART_TABLE_CHILD_GET);
+        TEMPLATE_NAME(PART_TABLE_CLEAR);
+        TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET);
+        break;
+
+      case EDJE_PART_TYPE_TEXT:
+        TEMPLATE_NAME(PART_TEXT_SET);
+        TEMPLATE_NAME(PART_TEXT_GET);
+        break;
+
+      case EDJE_PART_TYPE_SWALLOW:
+        TEMPLATE_NAME(PART_SWALLOW_SET);
+        TEMPLATE_NAME(PART_SWALLOW_GET);
+        break;
+
+      default:
+        break;
+     }
+
+   if (draggable)
+     if (!_write_part_draggable(apiname, partname))
+       goto err;
+
+#undef TEMPLATE_NAME
+
+   return EINA_TRUE;
+
+ err:
+   ERR("Could not write the part: %s", partname);
+   return EINA_FALSE;
+}
+
+static inline Eina_Bool
+_c_id_allowed(char c)
+{
+   if ((c >= '0') && (c <= '9')) return EINA_TRUE;
+   if ((c >= 'a') && (c <= 'z')) return EINA_TRUE;
+   if ((c >= 'A') && (c <= 'Z')) return EINA_TRUE;
+
+   return EINA_FALSE;
+}
+
+static char *
+_api_name_fix(const char *orig)
+{
+   char *d, *d_end, buf[256];
+   const char *s;
+
+   if (!orig) return NULL;
+
+   s = orig;
+   d = buf;
+   d_end = d + sizeof(buf) - 1;
+
+   for (; (*s != '\0') && (d < d_end); s++, d++)
+     if (_c_id_allowed(*s)) *d = *s;
+     else *d = '_';
+   *d = '\0';
+
+   return strdup(buf);
+}
+
+static char *
+_part_api_name_get(Evas_Object *ed, const char *program)
+{
+   const char *orig;
+   char *fix;
+
+   orig = edje_edit_part_api_name_get(ed, program);
+   fix = _api_name_fix(orig);
+   edje_edit_string_free(orig);
+
+   return fix;
+}
+
+static Eina_Bool
+_parse_parts(Evas_Object *ed)
+{
+   Eina_List *parts, *l, *parts_external = NULL;
+   const char *name, *description;
+   char *apiname;
+   Edje_Part_Type type;
+   Eina_Bool draggable, ret = EINA_TRUE;
+   Part_External_Info *ei;
+
+   parts = edje_edit_parts_list_get(ed);
+   EINA_LIST_FOREACH(parts, l, name)
+     {
+       if (!(apiname = _part_api_name_get(ed, name)))
+         {
+            DBG("filter out part '%s': not API.", name);
+            continue;
+         }
+
+       type = edje_edit_part_type_get(ed, name);
+       if (!((type == EDJE_PART_TYPE_TEXT)      ||
+             (type == EDJE_PART_TYPE_SWALLOW)   ||
+             (type == EDJE_PART_TYPE_BOX)       ||
+             (type == EDJE_PART_TYPE_EXTERNAL)  ||
+             (type == EDJE_PART_TYPE_IMAGE)     ||
+             (type == EDJE_PART_TYPE_TABLE)))
+         {
+            ERR("Invalid part type %d", type);
+            free(apiname);
+            continue;
+         }
+        if (edje_edit_part_drag_x_get(ed, name) ||
+            edje_edit_part_drag_y_get(ed, name))
+         draggable = EINA_TRUE;
+        else
+         draggable = EINA_FALSE;
+
+       description = edje_edit_part_api_description_get(ed, name);
+       if (type == EDJE_PART_TYPE_EXTERNAL)
+         {
+            ei = calloc(1, sizeof(Part_External_Info));
+            if (!ei) goto end;
+            ei->description = description;
+            ei->source = edje_edit_part_source_get(ed, name);
+            ei->apiname = apiname;
+            ei->name = name;
+            ei->draggable = draggable;
+
+            parts_external = eina_list_append(parts_external, ei);
+         }
+       else
+         {
+            if (!_write_part(apiname, name, type, description, draggable))
+              {
+                 ret = EINA_FALSE;
+                 edje_edit_string_free(description);
+                 free(apiname);
+                 goto end;
+              }
+
+            edje_edit_string_free(description);
+            free(apiname);
+         }
+     }
+
+   ret = _write_part_external(&parts_external);
+
+ end:
+   edje_edit_string_list_free(parts);
+   EINA_LIST_FREE(parts_external, ei)
+     {
+       edje_edit_string_free(ei->description);
+       free(ei->apiname);
+       free(ei);
+     }
+
+   return ret;
+}
+
+static Eina_Bool
+_write_program_emit(const char *apiname, const char *source, const char *signal,
+                   const char *description)
+{
+   char buf[512];
+
+   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_EMIT, prefix,
+           apiname, signal, source);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+     goto err;
+
+   if (description)
+     {
+       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
+       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+         goto err;
+     }
+
+   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_EMIT, prefix,
+           apiname);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     goto err;
+
+   return EINA_TRUE;
+
+ err:
+   ERR("Could not write the program: %s", apiname);
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_write_program_add(const char *apiname, const char *source, const char *signal,
+                  const char *description)
+{
+  char buf[512];
+
+   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_ADD, prefix,
+           apiname, signal, source);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+     goto err;
+
+   snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_DEL, prefix,
+           apiname, signal, source);
+   if (fwrite(buf, strlen(buf), 1, source_fd) != 1)
+     goto err;
+
+   if (description)
+     {
+       snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description);
+       if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+         goto err;
+     }
+
+   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_ADD, prefix,
+           apiname);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     goto err;
+
+   snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_DEL, prefix,
+           apiname);
+   if (fwrite(buf, strlen(buf), 1, header_fd) != 1)
+     goto err;
+
+   return EINA_TRUE;
+
+ err:
+   ERR("Could not write the program [action]: %s", apiname);
+   return EINA_FALSE;
+}
+
+static char *
+_program_api_name_get(Evas_Object *ed, const char *program)
+{
+   const char *orig;
+   char *fix;
+
+   orig = edje_edit_program_api_name_get(ed, program);
+   fix = _api_name_fix(orig);
+   edje_edit_string_free(orig);
+
+   return fix;
+}
+
+static Eina_Bool
+_parse_programs(Evas_Object *ed)
+{
+   Eina_Bool ret = EINA_TRUE;
+   Eina_List *programs, *l;
+   const char *name, *source = NULL, *signal = NULL, *description;
+   char *apiname;
+   Edje_Action_Type type;
+
+   programs = edje_edit_programs_list_get(ed);
+   EINA_LIST_FOREACH(programs, l, name)
+     {
+       if (!(apiname = _program_api_name_get(ed, name)))
+         {
+            DBG("filter out program '%s': not API.", name);
+            continue;
+         }
+
+       description = edje_edit_program_api_description_get(ed, name);
+       type = edje_edit_program_action_get(ed, name);
+       if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT)
+         {
+            const char *str, *str2;
+            str = edje_edit_program_state_get(ed, name);
+            str2 = edje_edit_program_state2_get(ed, name);
+
+            if (!_write_program_add(apiname, str2, str, description))
+              {
+                 ret = EINA_FALSE;
+                 edje_edit_string_free(str);
+                 edje_edit_string_free(str2);
+                 break;
+              }
+
+            edje_edit_string_free(str);
+            edje_edit_string_free(str2);
+         }
+
+       signal = edje_edit_program_signal_get(ed, name);
+       if (!signal)
+         {
+            free(apiname);
+            edje_edit_string_free(description);
+            continue;
+         }
+
+       source = edje_edit_program_source_get(ed, name);
+       if (!source)
+         {
+            free(apiname);
+            edje_edit_string_free(signal);
+            edje_edit_string_free(description);
+            continue;
+         }
+
+       if (!_write_program_emit(apiname, source, signal, description))
+         {
+            ret = EINA_FALSE;
+            break;
+         }
+
+       edje_edit_string_free(description);
+       edje_edit_string_free(signal);
+       edje_edit_string_free(source);
+       free(apiname);
+     }
+
+   edje_edit_string_list_free(programs);
+   if (!ret)
+     {
+       edje_edit_string_free(description);
+       edje_edit_string_free(signal);
+       edje_edit_string_free(source);
+       free(apiname);
+     }
+
+   return ret;
+}
+
+static Eina_Bool
+_module_matches(const char *module)
+{
+   Eina_List *l;
+   const char *name;
+
+   EINA_LIST_FOREACH(externals, l, name)
+     {
+       if (!strcmp(module, name))
+         return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_parse(void)
+{
+   Evas_Object *ed;
+   Eina_Bool ret;
+   const char *module_name;
+   const Eina_List *modules_available, *l;
+   unsigned short modules_loaded = 0;
+
+   modules_available = edje_available_modules_get();
+   ed = edje_edit_object_add(ecore_evas_get(ee));
+   if (!edje_object_file_set(ed, file, group))
+     {
+       Edje_Load_Error err = edje_object_load_error_get(ed);
+       const char *errmsg = edje_load_error_str(err);
+       ERR("could not load group '%s' from file '%s': %s",
+           group, file, errmsg);
+       evas_object_del(ed);
+       return EINA_FALSE;
+     }
+
+   externals = edje_edit_externals_list_get(ed);
+   if (externals)
+     {
+       EINA_LIST_FOREACH(modules_available, l, module_name)
+         {
+            if (_module_matches(module_name))
+              {
+                 if (!edje_module_load(module_name))
+                   {
+                      ERR("error loading external '%s'", module_name);
+                      continue;
+                   }
+                 modules_loaded++;
+              }
+         }
+     }
+
+   if (eina_list_count(externals) != modules_loaded)
+     {
+       edje_edit_string_list_free(externals);
+       evas_object_del(ed);
+       return EINA_FALSE;
+     }
+
+   ret = _parse_parts(ed) && _parse_programs(ed);
+
+   evas_object_del(ed);
+   return ret;
+}
+
+int
+main(int argc, char *argv[])
+{
+   Eina_Bool quit_option = EINA_FALSE;
+   char *source, *header;
+   int arg_index, ret = 0;
+   Ecore_Getopt_Value values[] = {
+     ECORE_GETOPT_VALUE_STR(prefix),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_NONE
+   };
+
+   setlocale(LC_NUMERIC, "C");
+
+   eina_init();
+   ecore_init();
+   ecore_evas_init();
+   edje_init();
+
+   if (argc < 2)
+     {
+        fprintf(stderr, "Missing action. See '--help or -h'.\n");
+        ret = 1;
+       goto error_log;
+     }
+
+   _log_dom = eina_log_domain_register("edje_codegen", EINA_COLOR_YELLOW);
+   if (_log_dom < 0)
+     {
+        EINA_LOG_CRIT("could not register log domain 'edje_codegen'");
+        ret = 1;
+        goto error_log;
+     }
+
+   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
+   if (arg_index < 0)
+     {
+        ERR("could not parse arguments.");
+        ret = 1;
+        goto error_getopt;
+     }
+   else if (quit_option) goto error_getopt;
+   else if (arg_index != argc - 4)
+     {
+        fprintf(stderr, "Incorrect number of parameters. Requires "    \
+               "fours arguments, an edje, the group, "                 \
+               "the source output (foo.c) and the header(foo.h).\n"    \
+               "See %s --help\n", argv[0]);
+        ret = 1;
+        goto error_getopt;
+     }
+
+   file = argv[arg_index++];
+
+   // check if the file is accessible
+   if (access(file, R_OK) == -1)
+     {
+        ERR("File '%s' not accessible, error %d (%s).\n",
+            file, errno, strerror(errno));
+        ret = 1;
+        goto error_getopt;
+     }
+
+   group = argv[arg_index++];
+   source = argv[arg_index++];
+   header = argv[arg_index++];
+
+   if (!edje_file_group_exists(file, group))
+     {
+       ERR("The group %s not exists", group);
+       ret = 2;
+       goto error_getopt;
+     }
+
+   ee = ecore_evas_buffer_new(1, 1);
+   if (!ee)
+     {
+       ERR("could not create ecore_evas_buffer");
+       ret = 3;
+       goto error_getopt;
+     }
+
+   if (!_open_file_descriptors(source, header))
+     {
+       ERR("Could not create the source files, error %d (%s)",
+           errno, strerror(errno));
+       ret = 4;
+       goto error_getopt;
+     }
+
+   if (!_write_headers(header))
+     {
+       ERR("Could not write the header, error %d (%s)",
+           errno, strerror(errno));
+       ret = 5;
+       goto error_getopt;
+     }
+
+   if (!_write_object_get())
+     {
+       ERR("Could not write the object get, error %d (%s)",
+           errno, strerror(errno));
+       ret = 6;
+       goto error_getopt;
+     }
+
+   if (!_parse())
+     {
+       ERR("Could not parsing the EDJE");
+       ret = 7;
+       goto error_getopt;
+     }
+
+   if (!_write_footer(header))
+     {
+       ERR("Could not write the footer, error %d (%s)",
+           errno, strerror(errno));
+       ret = 8;
+       goto error_getopt;
+     }
+
+   if (!_close_file_descriptors())
+     {
+       ERR("Could not close the source files, error %d (%s)",
+           errno, strerror(errno));
+       ret = 9;
+     }
+
+ error_getopt:
+   if (ee)
+     ecore_evas_free(ee);
+
+ error_log:
+   edje_shutdown();
+   ecore_evas_shutdown();
+   ecore_shutdown();
+   eina_log_domain_unregister(_log_dom);
+   eina_shutdown();
+
+   if (ret > 4)
+     {
+       unlink(header);
+       unlink(source);
+     }
+
+   return ret;
+}
diff --git a/src/bin/edje/edje_convert.c b/src/bin/edje/edje_convert.c
new file mode 100644 (file)
index 0000000..bd6cf31
--- /dev/null
@@ -0,0 +1,459 @@
+#include "edje_private.h"
+
+#include "edje_cc.h"
+#include "edje_convert.h"
+
+static const Edje_File *_current_edje_file = NULL;
+
+const Edje_File *
+_edje_file_get(void)
+{
+   return _current_edje_file;
+}
+
+void
+_edje_file_set(const Edje_File *edf)
+{
+   _current_edje_file = edf;
+}
+
+static Eina_Bool
+_edje_file_convert_external(Edje_File *edf, Old_Edje_File *oedf)
+{
+   Edje_External_Directory_Entry *ede;
+   unsigned int max;
+   unsigned int i = 0;
+
+   edf->external_dir = calloc(1, sizeof (Edje_External_Directory));
+   if (!edf->external_dir) return EINA_FALSE;
+   if (!oedf->external_dir) return EINA_TRUE;
+
+   max = eina_list_count(oedf->external_dir->entries);
+   edf->external_dir->entries = calloc(1, sizeof (Edje_External_Directory_Entry) * max);
+   edf->external_dir->entries_count = max;
+
+   if (!edf->external_dir->entries && max)
+     return EINA_FALSE;
+
+   EINA_LIST_FREE(oedf->external_dir->entries, ede)
+     {
+       edf->external_dir->entries[i++].entry = ede->entry;
+       free(ede);
+     }
+
+   free(oedf->external_dir);
+   oedf->external_dir = NULL;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf)
+{
+   Edje_Image_Directory_Entry *de;
+   Edje_Image_Directory_Set *ds;
+   Eina_List *l;
+   int max;
+
+   edf->image_dir = calloc(1, sizeof (Edje_Image_Directory));
+   if (!edf->image_dir) return EINA_FALSE;
+   if (!oedf->image_dir) return EINA_TRUE;
+
+   max = -1;
+   EINA_LIST_FOREACH(oedf->image_dir->entries, l, de)
+     if (max < de->id)
+       max = de->id;
+
+   edf->image_dir->entries = calloc(1, sizeof (Edje_Image_Directory_Entry) * (max + 1));
+   edf->image_dir->entries_count = max + 1;
+
+   if (!edf->image_dir->entries && edf->image_dir->entries_count)
+     return EINA_FALSE;
+
+   EINA_LIST_FREE(oedf->image_dir->entries, de)
+     {
+       memcpy(edf->image_dir->entries + de->id,
+              de,
+              sizeof (Edje_Image_Directory_Entry));
+       free(de);
+     }
+
+   max = -1;
+   EINA_LIST_FOREACH(oedf->image_dir->sets, l, ds)
+     if (max < ds->id)
+       max = ds->id;
+
+   edf->image_dir->sets = calloc(1, sizeof (Edje_Image_Directory_Set) * (max + 1));
+   edf->image_dir->sets_count = max + 1;
+
+   if (!edf->image_dir->sets && edf->image_dir->sets_count)
+     {
+       free(edf->image_dir->entries);
+       edf->image_dir->entries = NULL;
+       return EINA_FALSE;
+     }
+
+   EINA_LIST_FREE(oedf->image_dir->sets, ds)
+     {
+       memcpy(edf->image_dir->sets + ds->id,
+              ds,
+              sizeof (Edje_Image_Directory_Set));
+       free(ds);
+     }
+
+   return EINA_TRUE;
+}
+
+Edje_File *
+_edje_file_convert(Eet_File *ef, Old_Edje_File *oedf)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Font_Directory_Entry *fnt;
+   Edje_File *edf;
+   Eina_List *l;
+   Old_Edje_Data *ed;
+
+   if (oedf->version < 2) return NULL;
+
+   edf = calloc(1, sizeof (Edje_File));
+   if (!edf) return NULL;
+
+   edf->free_strings = 0;
+
+   edf->fonts = eina_hash_string_small_new(free);
+   edf->collection = eina_hash_string_small_new(free);
+   edf->data = eina_hash_string_small_new(free);
+
+   if (!edf->fonts || !edf->collection || !edf->data)
+     goto on_error;
+
+   EINA_LIST_FREE(oedf->data, ed)
+     {
+       Edje_String *es;
+
+       es = calloc(1, sizeof (Edje_String));
+       if (!es) continue;
+
+       es->str = ed->value;
+
+       eina_hash_direct_add(edf->data, ed->key, es);
+       free(ed);
+     }
+
+   EINA_LIST_FOREACH(oedf->collection_dir->entries, l, ce)
+     if (ce->entry)
+       eina_hash_direct_add(edf->collection, ce->entry, ce);
+     else
+       error_and_abort(ef, "Collection %i: name missing.\n", ce->id);
+
+   if (oedf->font_dir)
+     EINA_LIST_FOREACH(oedf->font_dir->entries, l, fnt)
+        eina_hash_direct_add(edf->fonts, fnt->entry, fnt);
+
+   if (!_edje_file_convert_images(edf, oedf))
+     goto on_error;
+
+   if (!_edje_file_convert_external(edf, oedf))
+     goto on_error;
+
+   edf->styles = oedf->styles;
+   edf->color_classes = oedf->color_classes;
+   edf->version = EDJE_FILE_VERSION;
+   edf->feature_ver = oedf->feature_ver;
+   edf->compiler = oedf->compiler;
+
+   edf->dangling = EINA_FALSE;
+   edf->warning = EINA_FALSE;
+
+   /* Below you will find all memory structure that could be cleaned when under
+      memory pressure */
+   edf->collection_cache = NULL;
+   edf->collection_patterns = NULL;
+
+   return edf;
+
+ on_error:
+   eina_hash_free(edf->fonts);
+   eina_hash_free(edf->collection);
+   eina_hash_free(edf->data);
+   free(edf->image_dir);
+   free(edf->external_dir);
+   free(edf);
+   return NULL;
+}
+
+static void
+_edje_collection_program_add(Edje_Program ***array,
+                            unsigned int *count,
+                            Edje_Program *add)
+{
+   Edje_Program **tmp;
+
+   tmp = realloc(*array, sizeof (Edje_Program*) * (*count + 1));
+   if (!tmp) return ;
+
+   tmp[(*count)++] = add;
+   *array = tmp;
+}
+
+Edje_Part_Collection *
+_edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, Old_Edje_Part_Collection *oedc)
+{
+   Edje_Part_Collection *edc;
+   Old_Edje_Part *part;
+   Edje_Program *pg;
+   Old_Edje_Data *di;
+   Eina_List *l;
+   char *buffer;
+   unsigned int k;
+
+   oedc->part = ce->entry;
+
+   /* Count each type part and their respective state */
+   EINA_LIST_FOREACH(oedc->parts, l, part)
+     {
+       int *count;
+       int dummy = 0;
+
+
+       switch (part->type)
+         {
+#define CSP(Tp, Ce)                                            \
+            case EDJE_PART_TYPE_##Tp :                         \
+               count = &Ce->count.Tp;                          \
+               break;
+
+            CSP(RECTANGLE, ce);
+            CSP(TEXT, ce);
+            CSP(IMAGE, ce);
+            CSP(SWALLOW, ce);
+            CSP(TEXTBLOCK, ce);
+            CSP(GROUP, ce);
+            CSP(BOX, ce);
+            CSP(TABLE, ce);
+            CSP(EXTERNAL, ce);
+          default:
+             count = &dummy;
+             break;
+         }
+
+       *count += eina_list_count(part->other_desc) + 1;
+     }
+   ce->count.part = eina_list_count(oedc->parts);
+
+#define CONVERT_EMN(Tp, Sz, Ce)                                                \
+   buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2);               \
+   sprintf(buffer, "%s/%s", ce->entry, #Tp);                           \
+   Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp);
+
+   CONVERT_EMN(RECTANGLE, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(TEXT, Edje_Part_Description_Text, ce);
+   CONVERT_EMN(IMAGE, Edje_Part_Description_Image, ce);
+   CONVERT_EMN(SWALLOW, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(TEXTBLOCK, Edje_Part_Description_Text, ce);
+   CONVERT_EMN(GROUP, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(BOX, Edje_Part_Description_Box, ce);
+   CONVERT_EMN(TABLE, Edje_Part_Description_Table, ce);
+   CONVERT_EMN(EXTERNAL, Edje_Part_Description_External, ce);
+   CONVERT_EMN(part, Edje_Part, ce);
+
+   /* Change structure layout */
+   edc = calloc(1, sizeof (Edje_Part_Collection));
+   if (!edc) error_and_abort(ef, "Not enough memory");
+   ce->ref = edc;
+
+   EINA_LIST_FREE(oedc->programs, pg)
+     {
+       if (!pg->signal && !pg->source)
+         _edje_collection_program_add(&edc->programs.nocmp,
+                                      &edc->programs.nocmp_count,
+                                      pg);
+       else if (pg->signal && !strpbrk(pg->signal, "*?[\\")
+                && pg->source && !strpbrk(pg->source, "*?[\\"))
+         _edje_collection_program_add(&edc->programs.strcmp,
+                                      &edc->programs.strcmp_count,
+                                      pg);
+       else if (pg->signal && edje_program_is_strncmp(pg->signal)
+                && pg->source && edje_program_is_strncmp(pg->source))
+         _edje_collection_program_add(&edc->programs.strncmp,
+                                      &edc->programs.strncmp_count,
+                                      pg);
+       else if (pg->signal && edje_program_is_strrncmp(pg->signal)
+                && pg->source && edje_program_is_strrncmp(pg->source))
+         _edje_collection_program_add(&edc->programs.strrncmp,
+                                      &edc->programs.strrncmp_count,
+                                      pg);
+       else
+         _edje_collection_program_add(&edc->programs.fnmatch,
+                                      &edc->programs.fnmatch_count,
+                                      pg);
+     }
+
+   edc->data = eina_hash_string_small_new(NULL);
+   EINA_LIST_FREE(oedc->data, di)
+     {
+       Edje_String *es;
+
+       es = calloc(1, sizeof (Edje_String));
+       if (!es) continue ;
+
+       es->str = di->value;
+
+       eina_hash_direct_add(edc->data, di->key, es);
+       free(di);
+     }
+
+   edc->parts_count = eina_list_count(oedc->parts);
+   edc->parts = calloc(edc->parts_count, sizeof (Edje_Part *));
+   if (edc->parts_count && !edc->parts)
+     error_and_abort(ef, "Not enough memory");
+   k = 0;
+
+   EINA_LIST_FREE(oedc->parts, part)
+     {
+       Old_Edje_Part_Description *oepd;
+       Edje_Pack_Element *elm;
+       Edje_Part *replacement;
+       unsigned int i;
+
+       replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part));
+       if (!replacement)
+         error_and_abort(ef, "Not enough memory");
+
+       replacement->name = part->name;
+       replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc);
+
+       replacement->other.desc_count = eina_list_count(part->other_desc);
+       replacement->other.desc = calloc(replacement->other.desc_count, sizeof (Edje_Part_Description_Common*));
+
+       i = 0;
+       EINA_LIST_FREE(part->other_desc, oepd)
+         replacement->other.desc[i++] = _edje_description_convert(part->type, ce, oepd);
+
+       replacement->source = part->source;
+       replacement->source2 = part->source2;
+       replacement->source3 = part->source3;
+       replacement->source4 = part->source4;
+       replacement->source5 = part->source5;
+       replacement->source6 = part->source6;
+       replacement->id = part->id;
+       replacement->clip_to_id = part->clip_to_id;
+       replacement->dragable = part->dragable;
+       replacement->items_count = eina_list_count(part->items);
+       replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element*));
+
+       i = 0;
+       EINA_LIST_FREE(part->items, elm)
+         replacement->items[i++] = elm;
+
+       replacement->type = part->type;
+       replacement->effect = part->effect;
+       replacement->mouse_events = part->mouse_events;
+       replacement->repeat_events = part->repeat_events;
+       replacement->ignore_flags = part->ignore_flags;
+       replacement->scale = part->scale;
+       replacement->precise_is_inside = part->precise_is_inside;
+       replacement->use_alternate_font_metrics = part->use_alternate_font_metrics;
+       replacement->pointer_mode = part->pointer_mode;
+       replacement->entry_mode = part->entry_mode;
+       replacement->select_mode = part->select_mode;
+       replacement->multiline = part->multiline;
+       replacement->api = part->api;
+
+       edc->parts[k++] = replacement;
+
+       free(part);
+     }
+
+   edc->id = oedc->id;
+   edc->alias = oedc->alias;
+   edc->prop.min = oedc->prop.min;
+   edc->prop.max = oedc->prop.max;
+   edc->script = oedc->script;
+   edc->part = oedc->part;
+   edc->script_only = oedc->script_only;
+   edc->lua_script_only = oedc->lua_script_only;
+   edc->checked = oedc->checked;
+
+   free(oedc);
+
+   return edc;
+}
+
+Edje_Part_Description_Common*
+_edje_description_convert(int type,
+                         Edje_Part_Collection_Directory_Entry *ce,
+                         Old_Edje_Part_Description *oed)
+{
+   Edje_Part_Description_Common *result = NULL;
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_RECTANGLE:
+        result = eina_mempool_malloc(ce->mp.RECTANGLE,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+      case EDJE_PART_TYPE_SWALLOW:
+        result = eina_mempool_malloc(ce->mp.SWALLOW,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+      case EDJE_PART_TYPE_GROUP:
+        result = eina_mempool_malloc(ce->mp.GROUP,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+
+      case EDJE_PART_TYPE_IMAGE:
+       {
+          Edje_Part_Description_Image *img;
+          Edje_Part_Image_Id *id;
+          unsigned int i = 0;
+
+          img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image));
+
+          img->image.tweens_count = eina_list_count(oed->image.tween_list);
+          img->image.tweens = calloc(img->image.tweens_count,
+                                     sizeof (Edje_Part_Image_Id*));
+          if (img->image.tweens_count > 0 && !img->image.tweens)
+            {
+               eina_mempool_free(ce->mp.IMAGE, img);
+               return NULL;
+            }
+
+          EINA_LIST_FREE(oed->image.tween_list, id)
+            img->image.tweens[i++] = id;
+
+          img->image.id = oed->image.id;
+          img->image.scale_hint = oed->image.scale_hint;
+          img->image.set = oed->image.set;
+
+          img->image.border = oed->image.border;
+          img->image.fill = oed->image.fill;
+
+          result = &img->common;
+          break;
+       }
+
+#define CONVERT_ALLOC_POOL(Short, Type, Name)                          \
+        case EDJE_PART_TYPE_##Short:                                   \
+          {                                                            \
+             Edje_Part_Description_##Type *Name;                       \
+                                                                       \
+             Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \
+             Name->Name = oed->Name;                                   \
+             result = &Name->common;                                   \
+             break;                                                    \
+          }
+
+        CONVERT_ALLOC_POOL(TEXT, Text, text);
+        CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text);
+        CONVERT_ALLOC_POOL(BOX, Box, box);
+        CONVERT_ALLOC_POOL(TABLE, Table, table);
+        CONVERT_ALLOC_POOL(EXTERNAL, External, external_params);
+     }
+
+   if (result)
+     *result = oed->common;
+
+   free(oed);
+   return result;
+}
diff --git a/src/bin/edje/edje_convert.h b/src/bin/edje/edje_convert.h
new file mode 100644 (file)
index 0000000..0bbb38e
--- /dev/null
@@ -0,0 +1,154 @@
+#ifndef EDJE_CONVERT_H__
+# define EDJE_CONVERT_H__
+
+
+typedef struct _Old_Edje_File                  Old_Edje_File;
+typedef struct _Old_Edje_Image_Directory       Old_Edje_Image_Directory;
+typedef struct _Old_Edje_Font_Directory         Old_Edje_Font_Directory;
+typedef struct _Old_Edje_External_Directory    Old_Edje_External_Directory;
+typedef struct _Old_Edje_Part                  Old_Edje_Part;
+typedef struct _Old_Edje_Part_Collection       Old_Edje_Part_Collection;
+typedef struct _Old_Edje_Part_Collection_Directory Old_Edje_Part_Collection_Directory;
+typedef struct _Old_Edje_Part_Description       Old_Edje_Part_Description;
+typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image;
+typedef struct _Old_Edje_Data                   Old_Edje_Data;
+
+struct _Old_Edje_Data
+{
+   const char *key;
+   char *value;
+};
+
+/*----------*/
+
+struct _Old_Edje_Font_Directory
+{
+   Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
+};
+
+struct _Old_Edje_Image_Directory
+{
+   Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
+   Eina_List *sets; /* a list of Edje_Image_Directory_Set */
+};
+
+struct _Old_Edje_External_Directory
+{
+   Eina_List *entries; /* a list of Edje_External_Directory_Entry */
+};
+
+struct _Old_Edje_File
+{
+   const char                     *path;
+   time_t                          mtime;
+
+   Old_Edje_External_Directory    *external_dir;
+   Old_Edje_Font_Directory        *font_dir;
+   Old_Edje_Image_Directory       *image_dir;
+   Old_Edje_Part_Collection_Directory *collection_dir;
+   Eina_List                      *data;
+   Eina_List                      *styles;
+   Eina_List                      *color_classes;
+
+   const char                     *compiler;
+   int                             version;
+   int                             feature_ver;
+};
+
+struct _Old_Edje_Part_Collection
+{
+   Eina_List *programs; /* a list of Edje_Program */
+   Eina_List *parts; /* a list of Edje_Part */
+   Eina_List *data;
+
+   int        id; /* the collection id */
+
+   Eina_Hash *alias; /* aliasing part*/
+
+   struct {
+      Edje_Size min, max;
+   } prop;
+
+   int        references;
+#ifdef EDJE_PROGRAM_CACHE
+   struct {
+      Eina_Hash                   *no_matches;
+      Eina_Hash                   *matches;
+   } prog_cache;
+#endif
+
+   Embryo_Program   *script; /* all the embryo script code for this group */
+   const char       *part;
+
+   unsigned char    script_only;
+
+   unsigned char    lua_script_only;
+
+   unsigned char    checked : 1;
+};
+
+struct _Old_Edje_Part
+{
+   const char            *name; /* the name if any of the part */
+   Old_Edje_Part_Description *default_desc; /* the part descriptor for default */
+   Eina_List             *other_desc; /* other possible descriptors */
+   const char            *source, *source2, *source3, *source4, *source5, *source6;
+   int                    id; /* its id number */
+   int                    clip_to_id; /* the part id to clip this one to */
+   Edje_Part_Dragable     dragable;
+   Eina_List             *items; /* packed items for box and table */
+   unsigned char          type; /* what type (image, rect, text) */
+   unsigned char          effect; /* 0 = plain... */
+   unsigned char          mouse_events; /* it will affect/respond to mouse events */
+   unsigned char          repeat_events; /* it will repeat events to objects below */
+   Evas_Event_Flags       ignore_flags;
+   unsigned char          scale; /* should certain properties scale with edje scale factor? */
+   unsigned char          precise_is_inside;
+   unsigned char          use_alternate_font_metrics;
+   unsigned char          pointer_mode;
+   unsigned char          entry_mode;
+   unsigned char          select_mode;
+   unsigned char          multiline;
+   Edje_Part_Api         api;
+};
+
+struct _Old_Edje_Part_Description_Spec_Image
+{
+   Eina_List     *tween_list; /* list of Edje_Part_Image_Id */
+   int            id; /* the image id to use */
+   int            scale_hint; /* evas scale hint */
+   Eina_Bool      set; /* if image condition it's content */
+
+   Edje_Part_Description_Spec_Border border;
+   Edje_Part_Description_Spec_Fill   fill;
+};
+
+struct _Old_Edje_Part_Description
+{
+   Edje_Part_Description_Common common;
+   Old_Edje_Part_Description_Spec_Image image;
+   Edje_Part_Description_Spec_Text text;
+   Edje_Part_Description_Spec_Box box;
+   Edje_Part_Description_Spec_Table table;
+
+   Eina_List *external_params; /* parameters for external objects */
+};
+
+struct _Old_Edje_Part_Collection_Directory
+{
+   Eina_List *entries; /* a list of Edje_Part_Collection_Directory_Entry */
+
+   int        references;
+};
+
+Edje_File *_edje_file_convert(Eet_File *ef, Old_Edje_File *oedf);
+Edje_Part_Collection *_edje_collection_convert(Eet_File *ef,
+                                              Edje_Part_Collection_Directory_Entry *ce,
+                                              Old_Edje_Part_Collection *oedc);
+Edje_Part_Description_Common *_edje_description_convert(int type,
+                                                       Edje_Part_Collection_Directory_Entry *ce,
+                                                       Old_Edje_Part_Description *oed);
+const Edje_File *_edje_file_get(void);
+void _edje_file_set(const Edje_File *edf);
+
+#endif
diff --git a/src/bin/edje/edje_convert_main.c b/src/bin/edje/edje_convert_main.c
new file mode 100644 (file)
index 0000000..e17d412
--- /dev/null
@@ -0,0 +1,205 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <locale.h>
+#include <limits.h>
+#include <sys/stat.h>
+
+#include "edje_cc.h"
+#include "edje_convert.h"
+
+extern Eet_Data_Descriptor *_edje_edd_old_edje_file;
+extern Eet_Data_Descriptor *_edje_edd_old_edje_part_collection;
+
+void _edje_edd_old_shutdown(void);
+void _edje_edd_old_init(void);
+
+char *progname = NULL;
+int _edje_cc_log_dom = -1;
+
+void
+error_and_abort(Eet_File *ef, const char *fmt, ...)
+{
+   va_list ap;
+
+   va_start(ap, fmt);
+   eina_log_vprint(_edje_cc_log_dom, EINA_LOG_LEVEL_CRITICAL,
+                   "unknown", "unknown", 0, fmt, ap);
+   va_end(ap);
+   eet_close(ef);
+   exit(-1);
+}
+
+static void
+main_help(void)
+{
+   printf
+     ("Usage:\n"
+      "\t%s file.edj\n"
+      "\n"
+      ,progname);
+}
+
+static void
+_edje_alias_int(const char *target, Eet_File *ef, const char *base, const char *to)
+{
+   char buf[1024];
+   char **match;
+   int count;
+   int i;
+
+   snprintf(buf, sizeof (buf), "%s/*", base);
+   match = eet_list(ef, buf, &count);
+
+   snprintf(buf, sizeof (buf), "%s/", base);
+   strcat(buf, "%i");
+   for (i = 0; i < count && match; ++i)
+     {
+       char name[1024];
+       int id;
+
+       if (sscanf(match[i], buf, &id) != 1)
+         {
+            EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target);
+            continue ;
+         }
+
+       snprintf(name, sizeof (name), "%s/%i", to, id);
+       eet_alias(ef, name, match[i], 1);
+     }
+   free(match);
+}
+
+static void
+_edje_alias_string(const char *target, Eet_File *ef, const char *base, const char *to)
+{
+   char buf[1024];
+   char **match;
+   int count;
+   int i;
+
+   snprintf(buf, sizeof (buf), "%s/*", base);
+   match = eet_list(ef, buf, &count);
+
+   snprintf(buf, sizeof (buf), "%s/", base);
+   strcat(buf, "%s");
+   for (i = 0; i < count && match; ++i)
+     {
+       char name[1024];
+       char id[1024];
+
+       if (sscanf(match[i], buf, &id) != 1)
+         {
+            EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target);
+            continue ;
+         }
+
+       snprintf(name, sizeof (name), "%s/%s", to, id);
+       eet_alias(ef, name, match[i], 1);
+     }
+   free(match);
+}
+
+int
+main(int argc, char **argv)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Old_Edje_File *oef;
+   Edje_File *nef;
+   Eina_Iterator *it;
+   Eet_File *ef;
+
+   setlocale(LC_NUMERIC, "C");
+
+   if (!eina_init())
+     return -1;
+
+   _edje_cc_log_dom = eina_log_domain_register
+     ("edje_convert", EDJE_CC_DEFAULT_LOG_COLOR);
+   if (_edje_cc_log_dom < 0)
+     {
+       EINA_LOG_ERR("Enable to create a log domain.");
+       exit(-1);
+     }
+
+   eet_init();
+
+   progname = argv[0];
+   if (argc > 2 || argc < 2 || !strcmp(argv[1], "-h"))
+     {
+       main_help();
+       return 0;
+     }
+
+   _edje_edd_old_init();
+   _edje_edd_init();
+
+   ef = eet_open(argv[1], EET_FILE_MODE_READ_WRITE);
+   if (!ef)
+     {
+       EINA_LOG_ERR("Unable to open `%s'.", argv[1]);
+       return -1;
+     }
+
+   oef = eet_data_read(ef, _edje_edd_old_edje_file, "edje_file");
+   if (!oef)
+     {
+       EINA_LOG_ERR("Unable to get edje_file section from old file format, are you sure it's an old file ?");
+       return -1;
+     }
+
+   nef = _edje_file_convert(ef, oef);
+   _edje_file_set(nef);
+
+   /* convert old structure to new one */
+   it = eina_hash_iterator_data_new(nef->collection);
+
+   EINA_ITERATOR_FOREACH(it, ce)
+     {
+       Old_Edje_Part_Collection *opc;
+       Edje_Part_Collection *npc;
+       char buf[1024];
+       int bytes = 0;
+
+       snprintf(buf, sizeof (buf), "collections/%i", ce->id);
+       opc = eet_data_read(ef, _edje_edd_old_edje_part_collection, buf);
+       if (!opc)
+         {
+            EINA_LOG_ERR("Unable to find collection `%s'[%i] in `%s'.", ce->entry, ce->id, argv[1]);
+            return -1;
+         }
+
+       npc = _edje_collection_convert(ef, ce, opc);
+
+       snprintf(buf, sizeof (buf), "edje/collections/%i", ce->id);
+       bytes = eet_data_write(ef, _edje_edd_edje_part_collection, buf, npc, 1);
+       if (bytes <= 0)
+         {
+            EINA_LOG_ERR("Unable to save `%s' in section `%s' of `%s'.", ce->entry, buf, argv[1]);
+            return -1;
+         }
+     }
+
+   if (eet_data_write(ef, _edje_edd_edje_file, "edje/file", nef, 1) <= 0)
+     {
+       EINA_LOG_ERR("Unable to save main section of `%s'.", argv[1]);
+       return -1;
+     }
+
+   _edje_alias_string(argv[1], ef, "fonts", "edje/fonts");
+   _edje_alias_int(argv[1], ef, "images", "edje/images");
+   _edje_alias_int(argv[1], ef, "scripts", "edje/scripts/embryo/compiled");
+   _edje_alias_int(argv[1], ef, "lua_script", "edje/scripts/lua");
+
+   eet_close(ef);
+
+   _edje_edd_shutdown();
+   _edje_edd_old_shutdown();
+
+   eet_shutdown();
+   eina_shutdown();
+
+   return 0;
+}
diff --git a/src/bin/edje/edje_data_convert.c b/src/bin/edje/edje_data_convert.c
new file mode 100644 (file)
index 0000000..5fb129e
--- /dev/null
@@ -0,0 +1,451 @@
+#include "edje_private.h"
+#include "edje_convert.h"
+
+Eet_Data_Descriptor *_edje_edd_old_edje_file = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_style = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_style_tag = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_color_class = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_data = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_external_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_external_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_font_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_font_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_image_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_set = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_image_directory_set_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_program = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_program_target = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_program_after = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part_collection_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part_collection_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_pack_element = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part_collection = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part_description = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_part_image_id = NULL;
+Eet_Data_Descriptor *_edje_edd_old_edje_external_param = NULL;
+
+#define FREED(eed) \
+   if (eed) \
+   { \
+      eet_data_descriptor_free((eed)); \
+      (eed) = NULL; \
+   }
+
+void
+_edje_edd_old_shutdown(void)
+{
+   FREED(_edje_edd_old_edje_file);
+   FREED(_edje_edd_old_edje_style);
+   FREED(_edje_edd_old_edje_style_tag);
+   FREED(_edje_edd_old_edje_color_class);
+   FREED(_edje_edd_old_edje_data);
+   FREED(_edje_edd_old_edje_external_directory);
+   FREED(_edje_edd_old_edje_external_directory_entry);
+   FREED(_edje_edd_old_edje_font_directory);
+   FREED(_edje_edd_old_edje_font_directory_entry);
+   FREED(_edje_edd_old_edje_image_directory);
+   FREED(_edje_edd_old_edje_image_directory_entry);
+   FREED(_edje_edd_old_edje_program);
+   FREED(_edje_edd_old_edje_program_target);
+   FREED(_edje_edd_old_edje_program_after);
+   FREED(_edje_edd_old_edje_part_collection_directory);
+   FREED(_edje_edd_old_edje_part_collection_directory_entry);
+   FREED(_edje_edd_old_edje_pack_element);
+   FREED(_edje_edd_old_edje_part_collection);
+   FREED(_edje_edd_old_edje_part);
+   FREED(_edje_edd_old_edje_part_description);
+   FREED(_edje_edd_old_edje_part_image_id);
+   FREED(_edje_edd_old_edje_external_param);
+   FREED(_edje_edd_old_edje_image_directory_set);
+   FREED(_edje_edd_old_edje_image_directory_set_entry);
+}
+
+void
+_edje_edd_old_init(void)
+{
+   Eet_Data_Descriptor_Class eddc;
+
+   /* external directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory_Entry);
+   _edje_edd_old_edje_external_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_directory_entry, Edje_External_Directory_Entry, "entry", entry, EET_T_STRING);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_External_Directory",
+                                          sizeof (Old_Edje_External_Directory));
+   _edje_edd_old_edje_external_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_external_directory, Edje_External_Directory, "entries", entries, _edje_edd_old_edje_external_directory_entry);
+
+   /* font directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Font_Directory_Entry);
+   _edje_edd_old_edje_font_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_font_directory_entry, Edje_Font_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_font_directory_entry, Edje_Font_Directory_Entry, "file", file, EET_T_STRING);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_Font_Directory",
+                                          sizeof (Old_Edje_Font_Directory));
+   _edje_edd_old_edje_font_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_font_directory, Old_Edje_Font_Directory, "entries", entries, _edje_edd_old_edje_font_directory_entry);
+
+   /* image directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Entry);
+   _edje_edd_old_edje_image_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_type", source_type, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_param", source_param, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_entry, Edje_Image_Directory_Entry, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set_Entry);
+   _edje_edd_old_edje_image_directory_set_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.w", size.min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.h", size.min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.w", size.max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.h", size.max.h, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set);
+   _edje_edd_old_edje_image_directory_set =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set,  "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_old_edje_image_directory_set_entry);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_Image_Directory",
+                                          sizeof (Old_Edje_Image_Directory));
+   _edje_edd_old_edje_image_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory, Old_Edje_Image_Directory, "entries", entries, _edje_edd_old_edje_image_directory_entry);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory, Old_Edje_Image_Directory, "sets", sets, _edje_edd_old_edje_image_directory_set);
+
+   /* collection directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection_Directory_Entry);
+   _edje_edd_old_edje_part_collection_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "id", id, EET_T_INT);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_Part_Collection_Directory",
+                                          sizeof (Old_Edje_Part_Collection_Directory));
+   _edje_edd_old_edje_part_collection_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection_directory, Old_Edje_Part_Collection_Directory, "entries", entries, _edje_edd_old_edje_part_collection_directory_entry);
+
+   /* generic data attachment */
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_Data", sizeof (Old_Edje_Data));
+   _edje_edd_old_edje_data =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_data, Old_Edje_Data, "key", key, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_data, Old_Edje_Data, "value", value, EET_T_STRING);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style_Tag);
+   _edje_edd_old_edje_style_tag =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style_tag, Edje_Style_Tag, "key", key, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style_tag, Edje_Style_Tag, "value", value, EET_T_STRING);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style);
+   _edje_edd_old_edje_style =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_style, Edje_Style, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_style, Edje_Style, "tags", tags, _edje_edd_old_edje_style_tag);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color_Class);
+   _edje_edd_old_edje_color_class =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r", r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g", g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b", b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a", a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r2", r2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g2", g2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b2", b2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a2", a2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "r3", r3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "g3", g3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "b3", b3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_color_class, Edje_Color_Class, "a3", a3, EET_T_UCHAR);
+
+   /* the main file directory */
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                          "Edje_File", sizeof (Old_Edje_File));
+   _edje_edd_old_edje_file =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "compiler", compiler, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "version", version, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "feature_ver", feature_ver, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "external_dir", external_dir, _edje_edd_old_edje_external_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "font_dir", font_dir, _edje_edd_old_edje_font_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "image_dir", image_dir, _edje_edd_old_edje_image_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_file, Old_Edje_File, "collection_dir", collection_dir, _edje_edd_old_edje_part_collection_directory);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "data", data, _edje_edd_old_edje_data);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "styles", styles, _edje_edd_old_edje_style);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_file, Old_Edje_File, "color_classes", color_classes, _edje_edd_old_edje_color_class);
+
+   /* parts & programs - loaded induvidually */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_Target);
+   _edje_edd_old_edje_program_target =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program_target, Edje_Program_Target, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_After);
+   _edje_edd_old_edje_program_after =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program_after,
+                                 Edje_Program_After, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program);
+   _edje_edd_old_edje_program =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "signal", signal, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "in.range", in.range, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "action", action, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "state", state, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "state2", state2, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "value", value, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "value2", value2, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "tween.mode", tween.mode, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "tween.time", tween.time, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_program, Edje_Program, "targets", targets, _edje_edd_old_edje_program_target);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_program, Edje_Program, "after", after, _edje_edd_old_edje_program_after);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "api.name", api.name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "api.description", api.description, EET_T_STRING);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "param.src", param.src, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id);
+   _edje_edd_old_edje_part_image_id =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_image_id, Edje_Part_Image_Id, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_image_id, Edje_Part_Image_Id, "set", set, EET_T_UCHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Param);
+   _edje_edd_old_edje_external_param =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "type", type, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "i", i, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "d", d, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_param, Edje_External_Param, "s", s, EET_T_STRING);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part_Description", sizeof (Old_Edje_Part_Description));
+   _edje_edd_old_edje_part_description =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "state.name", common.state.name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "state.value", common.state.value, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "visible", common.visible, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "align.x", common.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "align.y", common.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fixed.w", common.fixed.w, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fixed.h", common.fixed.h, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "min.w", common.min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "min.h", common.min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "max.w", common.max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "max.h", common.max.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "step.x", common.step.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "step.y", common.step.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.min", common.aspect.min, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.max", common.aspect.max, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "aspect.prefer", common.aspect.prefer, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.relative_x", common.rel1.relative_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.relative_y", common.rel1.relative_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.offset_x", common.rel1.offset_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.offset_y", common.rel1.offset_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.id_x", common.rel1.id_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel1.id_y", common.rel1.id_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.relative_x", common.rel2.relative_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.relative_y", common.rel2.relative_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.offset_x", common.rel2.offset_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.offset_y", common.rel2.offset_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.id_x", common.rel2.id_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "rel2.id_y", common.rel2.id_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.id", image.id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.set", image.set, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "image.tween_list", image.tween_list, _edje_edd_old_edje_part_image_id);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.l", image.border.l, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.r", image.border.r, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.t", image.border.t, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.b", image.border.b, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.no_fill", image.border.no_fill, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "border.scale", image.border.scale, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.smooth", image.fill.smooth, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_rel_x", image.fill.pos_rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_abs_x", image.fill.pos_abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.rel_x", image.fill.rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.abs_x", image.fill.abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_rel_y", image.fill.pos_rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.pos_abs_y", image.fill.pos_abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.rel_y", image.fill.rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.abs_y", image.fill.abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.angle", image.fill.angle, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.spread", image.fill.spread, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "fill.type", image.fill.type, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color_class", common.color_class, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.r", common.color.r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.g", common.color.g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.b", common.color.b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color.a", common.color.a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.r", common.color2.r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.g", common.color2.g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.b", common.color2.b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color2.a", common.color2.a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.r", text.color3.r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.g", text.color3.g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.b", text.color3.b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "color3.a", text.color3.a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.text", text.text.str, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.text_class", text.text_class, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.style", text.style.str, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.font", text.font.str, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.repch", text.repch.str, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.size", text.size, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.fit_x", text.fit_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.fit_y", text.fit_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.min_x", text.min_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.min_y", text.min_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.max_x", text.max_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.max_y", text.max_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.align.x", text.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.align.y", text.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.id_source", text.id_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.id_text_source", text.id_text_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "text.elipsis", text.elipsis, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.layout", box.layout, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.alt_layout", box.alt_layout, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.align.x", box.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.align.y", box.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.padding.x", box.padding.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.padding.y", box.padding.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.min.h", box.min.h, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "box.min.v", box.min.v, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.homogeneous", table.homogeneous, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.align.x", table.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.align.y", table.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.padding.x", table.padding.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "table.padding.y", table.padding.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.id_persp", common.map.id_persp, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.id_light", common.map.id_light, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.id_center", common.map.rot.id_center, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.x", common.map.rot.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.y", common.map.rot.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.rot.z", common.map.rot.z, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.on", common.map.on, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.smooth", common.map.smooth, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.alpha", common.map.alpha, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.persp_on", common.map.persp_on, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "map.backcull", common.map.backcull, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "persp.zplane", common.persp.zplane, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "persp.focal", common.persp.focal, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_description, Old_Edje_Part_Description, "external_params", external_params, _edje_edd_old_edje_external_param);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
+   _edje_edd_old_edje_pack_element =
+      eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "type", type, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "min.w", min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "min.h", min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "prefer.w", prefer.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "prefer.h", prefer.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "max.w", max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "max.h", max.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.l", padding.l, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.r", padding.r, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.t", padding.t, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "padding.b", padding.b, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "align.x", align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "align.y", align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "weight.x", weight.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "weight.y", weight.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.w", aspect.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.h", aspect.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "aspect.mode", aspect.mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "options", options, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "col", col, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "row", row, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "colspan", colspan, EET_T_USHORT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "rowspan", rowspan, EET_T_USHORT);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part", sizeof (Old_Edje_Part));
+   _edje_edd_old_edje_part =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "type", type, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "effect", effect, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "mouse_events", mouse_events, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "repeat_events", repeat_events, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "scale", scale, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "pointer_mode", pointer_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "precise_is_inside", precise_is_inside, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_old_edje_part, Old_Edje_Part, "default_desc", default_desc, _edje_edd_old_edje_part_description);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part, Old_Edje_Part, "other_desc", other_desc, _edje_edd_old_edje_part_description);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.x", dragable.x, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.step_x", dragable.step_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.count_x", dragable.count_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.y", dragable.y, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.step_y", dragable.step_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.count_y", dragable.count_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.counfine_id", dragable.confine_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "dragable.events_id", dragable.event_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "entry_mode", entry_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "select_mode", select_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "multiline", multiline, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source2", source2, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source3", source3, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source4", source4, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source5", source5, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "source6", source6, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part, Old_Edje_Part, "items", items, _edje_edd_old_edje_pack_element);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "api.name", api.name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "api.description", api.description, EET_T_STRING);
+
+   eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part_Collection", sizeof (Old_Edje_Part_Collection));
+   _edje_edd_old_edje_part_collection  =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "programs", programs, _edje_edd_old_edje_program);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "parts", parts, _edje_edd_old_edje_part);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "data", data, _edje_edd_old_edje_data);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.min.w", prop.min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.min.h", prop.min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.max.w", prop.max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "prop.max.h", prop.max.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "script_only", script_only, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "lua_script_only", lua_script_only, EET_T_UCHAR);
+
+   {
+      Old_Edje_Part_Collection epc;
+
+      eet_data_descriptor_element_add(_edje_edd_old_edje_part_collection,
+                                     "alias", EET_T_STRING, EET_G_HASH,
+                                     (char *)(&(epc.alias)) - (char *)(&(epc)),
+                                     0, /* 0,  */NULL, NULL);
+   }
+}
diff --git a/src/bin/edje/edje_decc.c b/src/bin/edje/edje_decc.c
new file mode 100644 (file)
index 0000000..1fe3660
--- /dev/null
@@ -0,0 +1,558 @@
+/* ugly ugly. avert your eyes. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <locale.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+
+
+#include <Ecore_File.h>
+#include <Ecore_Evas.h>
+
+#include "edje_decc.h"
+
+int _edje_cc_log_dom = -1;
+static const char *progname = NULL;
+char *file_in = NULL;
+char *file_out = NULL;
+int compress_mode = EET_COMPRESSION_DEFAULT;
+
+Edje_File *edje_file = NULL;
+SrcFile_List *srcfiles = NULL;
+Edje_Font_List *fontlist = NULL;
+
+int line = 0;
+int build_sh = 1;
+int new_dir = 1;
+
+int        decomp(void);
+void       output(void);
+static int compiler_cmd_is_sane();
+static int root_filename_is_sane();
+
+
+static void
+_edje_cc_log_cb(const Eina_Log_Domain *d,
+                Eina_Log_Level level,
+                const char *file,
+                const char *fnc,
+                int line,
+                const char *fmt,
+                EINA_UNUSED void *data,
+                va_list args)
+{
+   if ((d->name) && (d->namelen == sizeof("edje_decc") - 1) &&
+       (memcmp(d->name, "edje_decc", sizeof("edje_decc") - 1) == 0))
+     {
+        const char *prefix;
+        Eina_Bool use_color = !eina_log_color_disable_get();
+
+        if (use_color)
+          {
+#ifndef _WIN32
+             fputs(eina_log_level_color_get(level), stderr);
+#else
+             int color;
+             switch (level)
+               {
+                case EINA_LOG_LEVEL_CRITICAL:
+                   color = FOREGROUND_RED | FOREGROUND_INTENSITY;
+                   break;
+                case EINA_LOG_LEVEL_ERR:
+                   color = FOREGROUND_RED;
+                   break;
+                case EINA_LOG_LEVEL_WARN:
+                   color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY;
+                   break;
+                case EINA_LOG_LEVEL_INFO:
+                   color = FOREGROUND_GREEN | FOREGROUND_INTENSITY;
+                   break;
+                case EINA_LOG_LEVEL_DBG:
+                   color = FOREGROUND_BLUE | FOREGROUND_INTENSITY;
+                   break;
+                default:
+                   color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
+               }
+             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
+#endif
+          }
+
+        switch (level)
+          {
+           case EINA_LOG_LEVEL_CRITICAL:
+              prefix = "Critical. ";
+              break;
+           case EINA_LOG_LEVEL_ERR:
+              prefix = "Error. ";
+              break;
+           case EINA_LOG_LEVEL_WARN:
+              prefix = "Warning. ";
+              break;
+           default:
+              prefix = "";
+          }
+        fprintf(stderr, "%s: %s", progname, prefix);
+
+        if (use_color)
+          {
+#ifndef _WIN32
+             fputs(EINA_COLOR_RESET, stderr);
+#else
+             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
+                                     FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
+#endif
+          }
+
+
+        vfprintf(stderr, fmt, args);
+        putc('\n', stderr);
+     }
+   else
+     eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args);
+}
+
+static void
+main_help(void)
+{
+   printf
+     ("Usage:\n"
+      "\t%s input_file.edj [-main-out file.edc] [-no-build-sh] [-current-dir]\n"
+      "\n"
+      " -main-out\tCreate a symbolic link to the main edc \n"
+      " -no-build-sh\tDon't output build.sh \n"
+      " -current-dir\tOutput to current directory \n"
+      " -quiet\t\tProduce less output\n"
+      "\n"
+      ,progname);
+}
+
+Eet_File *ef;
+Eet_Dictionary *ed;
+
+int
+main(int argc, char **argv)
+{
+   int i;
+
+   setlocale(LC_NUMERIC, "C");
+   if (!eina_init())
+     exit(-1);
+   _edje_cc_log_dom = eina_log_domain_register
+     ("edje_decc", EDJE_CC_DEFAULT_LOG_COLOR);
+   if (_edje_cc_log_dom < 0)
+     {
+       EINA_LOG_ERR("Impossible to create a log domain.");
+       eina_shutdown();
+       exit(-1);
+     }
+   progname = ecore_file_file_get(argv[0]);
+   eina_log_print_cb_set(_edje_cc_log_cb, NULL);
+   eina_log_domain_level_set("edje_decc", EINA_LOG_LEVEL_INFO);
+
+   for (i = 1; i < argc; i++)
+     {
+       if (!strcmp(argv[i], "-h"))
+         {
+            main_help();
+            exit(0);
+         }
+       if (!file_in)
+         file_in = argv[i];
+       else if ((!strcmp(argv[i], "-main-out")) && (i < (argc - 1)))
+         {
+            i++;
+            file_out = argv[i];
+         }
+       else if (!strcmp(argv[i], "-no-build-sh"))
+         build_sh = 0;
+       else if (!strcmp(argv[i], "-current-dir"))
+         new_dir = 0;
+        else if (!strcmp(argv[i], "-quiet"))
+          eina_log_domain_level_set("edje_decc", EINA_LOG_LEVEL_WARN);
+     }
+   if (!file_in)
+     {
+       ERR("no input file specified.");
+       main_help();
+       exit(-1);
+     }
+
+   if (!edje_init())
+     exit(-1);
+   source_edd();
+
+   if (!decomp()) return -1;
+   output();
+
+   WRN("If any Image or audio data was encoded in a LOSSY way, then "
+       "re-encoding will drop quality even more. "
+       "You need access to the original data to ensure no loss of quality.");
+   eet_close(ef);
+   edje_shutdown();
+   eina_log_domain_unregister(_edje_cc_log_dom);
+   _edje_cc_log_dom = -1;
+   eina_shutdown();
+   return 0;
+}
+
+int
+decomp(void)
+{
+   ef = eet_open(file_in, EET_FILE_MODE_READ);
+   if (!ef)
+     {
+       ERR("cannot open %s", file_in);
+       return 0;
+     }
+
+   srcfiles = source_load(ef);
+   if (!srcfiles || !srcfiles->list)
+     {
+       ERR("%s has no decompile information", file_in);
+       eet_close(ef);
+       return 0;
+     }
+   if (!eina_list_data_get(srcfiles->list) || !root_filename_is_sane())
+     {
+        ERR("Invalid root filename: '%s'", (char *) eina_list_data_get(srcfiles->list));
+       eet_close(ef);
+       return 0;
+     }
+   edje_file = eet_data_read(ef, _edje_edd_edje_file, "edje/file");
+   if (!edje_file)
+     {
+        ERR("%s does not appear to be an edje file", file_in);
+       eet_close(ef);
+       return 0;
+     }
+   /* force compiler to be edje_cc */
+   edje_file->compiler = strdup("edje_cc");
+   if (!edje_file->compiler)
+     {
+       edje_file->compiler = strdup("edje_cc");
+     }
+   else if (!compiler_cmd_is_sane())
+     {
+       ERR("invalid compiler executable: '%s'", edje_file->compiler);
+       eet_close(ef);
+       return 0;
+     }
+   fontlist = source_fontmap_load(ef);
+   return 1;
+}
+
+void
+output(void)
+{
+   Eina_List *l;
+   Eet_File *tef;
+   SrcFile *sf;
+   char *outdir, *p;
+
+   if (!new_dir)
+     outdir = strdup(".");
+   else
+     {
+       p = strrchr(file_in, '/');
+       if (p)
+         outdir = strdup(p + 1);
+       else
+         outdir = strdup(file_in);
+       p = strrchr(outdir, '.');
+       if (p) *p = 0;
+       ecore_file_mkpath(outdir);
+     }
+
+
+   tef = eet_open(file_in, EET_FILE_MODE_READ);
+
+   if (edje_file->image_dir)
+     {
+        Edje_Image_Directory_Entry *ei;
+       unsigned int i;
+
+       for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+         {
+            ei = &edje_file->image_dir->entries[i];
+
+            if ((ei->source_type > EDJE_IMAGE_SOURCE_TYPE_NONE) &&
+                (ei->source_type < EDJE_IMAGE_SOURCE_TYPE_LAST) &&
+                (ei->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) &&
+                (ei->entry))
+              {
+                 Ecore_Evas *ee;
+                 Evas *evas;
+                 Evas_Object *im;
+                 char buf[4096];
+                 char out[4096];
+                 char *pp;
+
+                 ecore_init();
+                 ecore_evas_init();
+                 ee = ecore_evas_buffer_new(1, 1);
+                 if (!ee)
+                   {
+                      ERR("Cannot create buffer engine canvas for image save.");
+                      exit(-1);
+                   }
+                 evas = ecore_evas_get(ee);
+                 im = evas_object_image_add(evas);
+                 if (!im)
+                   {
+                      ERR("Cannot create image object for save.");
+                      exit(-1);
+                   }
+                 snprintf(buf, sizeof(buf), "edje/images/%i", ei->id);
+                 evas_object_image_file_set(im, file_in, buf);
+                 snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry);
+                 INF("Output Image: %s", out);
+                 pp = strdup(out);
+                 p = strrchr(pp, '/');
+                 *p = 0;
+                 if (strstr(pp, "../"))
+                   {
+                      ERR("Potential security violation. attempt to write in parent dir.");
+                      exit(-1);
+                   }
+                 ecore_file_mkpath(pp);
+                 free(pp);
+                 if (!evas_object_image_save(im, out, NULL, "quality=100 compress=9"))
+                   {
+                      ERR("Cannot write file %s. Perhaps missing JPEG or PNG saver modules for Evas.", out);
+                      exit(-1);
+                   }
+                 evas_object_del(im);
+                 ecore_evas_free(ee);
+                 ecore_evas_shutdown();
+                 ecore_shutdown();
+              }
+         }
+     }
+
+   EINA_LIST_FOREACH(srcfiles->list, l, sf)
+     {
+       char out[4096];
+       FILE *f;
+       char *pp;
+
+       snprintf(out, sizeof(out), "%s/%s", outdir, sf->name);
+       INF("Output Source File: %s", out);
+       pp = strdup(out);
+       p = strrchr(pp, '/');
+       *p = 0;
+       if (strstr(pp, "../"))
+         {
+            ERR("Potential security violation. attempt to write in parent dir.");
+            exit (-1);
+         }
+       ecore_file_mkpath(pp);
+       free(pp);
+       if (strstr(out, "../"))
+         {
+            ERR("Potential security violation. attempt to write in parent dir.");
+            exit (-1);
+         }
+       f = fopen(out, "wb");
+       if (!f)
+         {
+            ERR("Unable to write file (%s).", out);
+            exit (-1);
+         }
+
+       /* if the file is empty, sf->file will be NULL.
+        * note that that's not an error
+        */
+       if (sf->file) fputs(sf->file, f);
+       fclose(f);
+     }
+   if (edje_file->fonts)
+     {
+        Edje_Font_Directory_Entry *fn;
+        Eina_Iterator *it;
+
+        it = eina_hash_iterator_data_new(edje_file->fonts);
+       EINA_ITERATOR_FOREACH(it, fn)
+         {
+            void *font;
+            int fontsize;
+            char out[4096];
+             /* FIXME!!!! */
+                                         /* should be fn->entry -v */
+            snprintf(out, sizeof(out), "edje/fonts/%s", fn->file);
+            font = eet_read(tef, out, &fontsize);
+            if (font)
+              {
+                 FILE *f;
+                 char *pp;
+
+                                         /* should be fn->file -v */
+                 snprintf(out, sizeof(out), "%s/%s", outdir, fn->entry);
+                 INF("Output Font: %s", out);
+                 pp = strdup(out);
+                 p = strrchr(pp, '/');
+                 *p = 0;
+                 if (strstr(pp, "../"))
+                   {
+                      ERR("Potential security violation. attempt to write in parent dir.");
+                      exit (-1);
+                   }
+                 ecore_file_mkpath(pp);
+                 free(pp);
+                 if (strstr(out, "../"))
+                   {
+                      ERR("Potential security violation. attempt to write in parent dir.");
+                      exit (-1);
+                   }
+                 if (!(f = fopen(out, "wb")))
+                    {
+                       ERR("Could not open file: %s", out);
+                      exit (-1);
+                    }
+                 if (fwrite(font, fontsize, 1, f) != 1)
+                   ERR("Could not write font: %s", strerror(errno));
+                 if (f) fclose(f);
+                 free(font);
+              }
+         }
+        eina_iterator_free(it);
+     }
+     {
+       char out[4096];
+       FILE *f;
+       sf = eina_list_data_get(srcfiles->list);
+
+
+       if (build_sh)
+         {
+            snprintf(out, sizeof(out), "%s/build.sh", outdir);
+            INF("Output Build Script: %s", out);
+            if (strstr(out, "../"))
+              {
+                 ERR("potential security violation. attempt to write in parent dir.");
+                 exit (-1);
+              }
+            f = fopen(out, "wb");
+            fprintf(f, "#!/bin/sh\n");
+            fprintf(f, "%s $@ -id . -fd . %s -o %s.edj\n", edje_file->compiler, sf->name, outdir);
+            fclose(f);
+
+            WRN("*** CAUTION ***\n"
+                "Please check the build script for anything malicious "
+                "before running it!\n\n");
+         }
+
+       if (file_out)
+         {
+            snprintf(out, sizeof(out), "%s/%s", outdir, file_out);
+            if (ecore_file_symlink(sf->name, out) != EINA_TRUE)
+               {
+                  ERR("symlink %s -> %s failed", sf->name, out);
+               }
+         }
+
+       chmod(out, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP);
+
+     }
+
+   if (edje_file->sound_dir)
+     {
+        Edje_Sound_Sample *sample;
+        void *sound_data;
+        char out[PATH_MAX];
+        char out1[PATH_MAX];
+        char *pp;
+        int sound_data_size;
+        FILE *f;
+        int i;
+
+        for (i = 0; i < (int)edje_file->sound_dir->samples_count; i++)
+          {
+             sample = &edje_file->sound_dir->samples[i];
+             if ((!sample) || (!sample->name)) continue;
+             snprintf(out, sizeof(out), "edje/sounds/%i", sample->id);
+             sound_data = (void *)eet_read_direct(tef, out, &sound_data_size);
+             if (sound_data)
+               {
+                  snprintf(out1, sizeof(out1), "%s/%s", outdir, sample->snd_src);
+                  pp = strdup(out1);
+                  p = strrchr(pp, '/');
+                  *p = 0;
+                  if (strstr(pp, "../"))
+                    {
+                       ERR("Potential security violation. attempt to write in parent dir.");
+                       exit(-1);
+                    }
+                  ecore_file_mkpath(pp);
+                  free(pp);
+                  if (strstr(out, "../"))
+                    {
+                       ERR("Potential security violation. attempt to write in parent dir.");
+                       exit(-1);
+                    }
+                  f = fopen(out1, "wb");
+                  if (fwrite(sound_data, sound_data_size, 1, f) != 1)
+                    ERR("Could not write sound: %s", strerror(errno));
+                  fclose(f);
+              }
+          }
+
+     }
+   eet_close(tef);
+}
+
+static int
+compiler_cmd_is_sane()
+{
+   const char *c = edje_file->compiler, *ptr;
+
+   if ((!c) || (!*c))
+     {
+       return 0;
+     }
+
+   for (ptr = c; ptr && *ptr; ptr++)
+     {
+       /* only allow [a-z][A-Z][0-9]_- */
+       if ((!isalnum(*ptr)) && (*ptr != '_') && (*ptr != '-'))
+         {
+            return 0;
+         }
+     }
+
+   return 1;
+}
+
+static int
+root_filename_is_sane()
+{
+   SrcFile *sf = eina_list_data_get(srcfiles->list);
+   char *f = sf->name, *ptr;
+
+   if (!f || !*f)
+     {
+       return 0;
+     }
+
+   for (ptr = f; ptr && *ptr; ptr++)
+     {
+       /* only allow [a-z][A-Z][0-9]_-./ */
+       switch (*ptr)
+         {
+          case '_': case '-':  case '.': case '/':
+             break;
+          default:
+             if (!isalnum(*ptr))
+               {
+                  return 0;
+               }
+         }
+     }
+   return 1;
+}
diff --git a/src/bin/edje/edje_decc.h b/src/bin/edje/edje_decc.h
new file mode 100644 (file)
index 0000000..5aa52e5
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef EDJE_DECC_H
+#define EDJE_DECC_H
+
+#include <edje_private.h>
+
+/* logging variables */
+extern int _edje_cc_log_dom ;
+#define EDJE_CC_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
+
+#ifdef ERR
+# undef ERR
+#endif
+#define ERR(...) EINA_LOG_DOM_ERR(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef INF
+# undef INF
+#endif
+#define INF(...) EINA_LOG_DOM_INFO(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef WRN
+# undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef CRIT
+# undef CRIT
+#endif
+#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_cc_log_dom, __VA_ARGS__)
+#ifdef DBG
+# undef DBG
+#endif
+#define DBG(...) EINA_LOG_DOM_DBG(_edje_cc_log_dom, __VA_ARGS__)
+
+/* types */
+typedef struct _SrcFile               SrcFile;
+typedef struct _SrcFile_List          SrcFile_List;
+
+struct _SrcFile
+{
+   char *name;
+   char *file;
+};
+
+struct _SrcFile_List
+{
+   Eina_List *list;
+};
+
+void    source_edd(void);
+void    source_fetch(void);
+int     source_append(Eet_File *ef);
+SrcFile_List *source_load(Eet_File *ef);
+int     source_fontmap_save(Eet_File *ef, Eina_List *fonts);
+Edje_Font_List *source_fontmap_load(Eet_File *ef);
+
+void   *mem_alloc(size_t size);
+char   *mem_strdup(const char *s);
+#define SZ sizeof
+
+#endif
diff --git a/src/bin/edje/edje_external_inspector.c b/src/bin/edje/edje_external_inspector.c
new file mode 100644 (file)
index 0000000..6bd9a35
--- /dev/null
@@ -0,0 +1,663 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <locale.h>
+#include <fnmatch.h>
+
+#include <Ecore.h>
+#include <Ecore_Getopt.h>
+
+#include "Edje.h"
+
+static int _log_dom;
+#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
+#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
+#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
+#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
+#define CRIT(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__)
+
+#define INDENT "   "
+#define INDENT2 INDENT INDENT
+#define INDENT3 INDENT2 INDENT
+#define INDENT4 INDENT3 INDENT
+
+static char *module_patterns_str = NULL;
+
+static int detail = 1;
+static Eina_Bool machine = EINA_FALSE;
+static char *type_glob = NULL;
+static char * const *module_patterns;
+static const Eina_List *modules;
+
+
+static char *
+_module_patterns_str_new(void)
+{
+   Eina_Strbuf *buf;
+   char * const *itr;
+   char *ret;
+   if (!module_patterns) return strdup("*");
+
+   buf = eina_strbuf_new();
+   for (itr = module_patterns; *itr != NULL; itr++)
+     {
+        eina_strbuf_append(buf, *itr);
+        if (itr[1]) eina_strbuf_append(buf, ", ");
+     }
+   ret = eina_strbuf_string_steal(buf);
+   eina_strbuf_free(buf);
+   return ret;
+}
+
+static Eina_Bool
+module_matches(const char *name)
+{
+   char * const *itr;
+   if (!module_patterns) return EINA_TRUE;
+
+   for (itr = module_patterns; *itr != NULL; itr++)
+     if (fnmatch(*itr, name, 0) == 0) return EINA_TRUE;
+
+   return EINA_FALSE;
+}
+
+static inline Eina_Bool
+type_matches(const char *name)
+{
+   if (!type_glob) return EINA_TRUE;
+   return fnmatch(type_glob, name, 0) == 0;
+}
+
+static int
+_types_sort(const void *pa, const void *pb)
+{
+   const Eina_Hash_Tuple *ha = pa, *hb = pb;
+   const Edje_External_Type *ta = ha->data, *tb = hb->data;
+   const char *na = ha->key, *nb = hb->key;
+   int r;
+
+   if (!ta->module) return -1;
+   if (!tb->module) return 1;
+   r = strcmp(ta->module, tb->module);
+   if (r != 0) return r;
+
+   if (!na) return -1;
+   if (!nb) return 1;
+   return strcmp(na, nb);
+}
+
+static const char *
+_param_type_str_get(const Edje_External_Param_Info *param)
+{
+   switch (param->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT: return "int";
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: return "double";
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING: return "string";
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL: return "bool";
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: return "choice";
+      default:
+         ERR("Unknown parameter type %d", param->type);
+         return "???";
+     }
+}
+
+static const char *
+_param_value_str_get(const Edje_External_Type *type, const Edje_External_Param_Info *param, char *buf, size_t buflen)
+{
+   switch (param->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+         if (param->info.i.def == EDJE_EXTERNAL_INT_UNSET) return NULL;
+         snprintf(buf, buflen, "%d", param->info.i.def);
+         return buf;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+         if (param->info.d.def == EDJE_EXTERNAL_DOUBLE_UNSET) return NULL;
+         snprintf(buf, buflen, "%g", param->info.d.def);
+         return buf;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+         return param->info.s.def;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+         if (param->info.b.def == 0) return "0";
+         else if (param->info.b.def == 1) return "1";
+         return NULL;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+        {
+           char *def;
+           if (param->info.c.def) return param->info.c.def;
+           if (!param->info.c.def_get) return NULL;
+           def = param->info.c.def_get(type->data, param);
+           if (!def) return NULL;
+           eina_strlcpy(buf, def, buflen);
+           free(def);
+           return buf;
+        }
+
+      default:
+         ERR("Unknown parameter type %d", param->type);
+         return NULL;
+     }
+}
+
+static const char *
+_param_flags_str_get(const Edje_External_Param_Info *param)
+{
+   static char buf[] = "GET|SET|STATE|CONSTRUCTOR";
+
+   if (param->flags == EDJE_EXTERNAL_PARAM_FLAGS_NONE) return "NONE";
+   if (param->flags == EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) return "REGULAR";
+
+   buf[0] = '\0';
+
+   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_GET)
+     strcat(buf, "GET");
+
+   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_SET)
+     {
+        if (buf[0] != '\0') strcat(buf, "|");
+        strcat(buf, "SET");
+     }
+
+   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_STATE)
+     {
+        if (buf[0] != '\0') strcat(buf, "|");
+        strcat(buf, "STATE");
+     }
+
+   if (param->flags & EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR)
+     {
+        if (buf[0] != '\0') strcat(buf, "|");
+        strcat(buf, "CONSTRUCTOR");
+     }
+
+   return buf;
+}
+
+static void
+_param_choices_print(const char * const *choices)
+{
+   if (machine) puts("CHOICES-BEGIN");
+   else fputs(", choices:", stdout);
+   for (; *choices != NULL; choices++)
+     {
+        if (machine) puts(*choices);
+        else printf(" \"%s\"", *choices);
+     }
+   if (machine) puts("CHOICES-END");
+}
+
+static void
+_param_extra_details(const Edje_External_Type *type, const Edje_External_Param_Info *param)
+{
+   const char *str = _param_flags_str_get(param);
+   if (machine) printf("FLAGS: %s\n", str);
+   else printf(" /* flags: %s", str);
+
+   switch (param->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+         if (param->info.i.min != EDJE_EXTERNAL_INT_UNSET)
+           {
+              if (machine) printf("MIN: %d\n", param->info.i.min);
+              else printf(", min: %d", param->info.i.min);
+           }
+         if (param->info.i.max != EDJE_EXTERNAL_INT_UNSET)
+           {
+              if (machine) printf("MAX: %d\n", param->info.i.max);
+              else printf(", max: %d", param->info.i.max);
+           }
+         if (param->info.i.step != EDJE_EXTERNAL_INT_UNSET)
+           {
+              if (machine) printf("STEP: %d\n", param->info.i.step);
+              else printf(", step: %d", param->info.i.step);
+           }
+         break;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+         if (param->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET)
+           {
+              if (machine) printf("MIN: %g\n", param->info.d.min);
+              else printf(", min: %g", param->info.d.min);
+           }
+         if (param->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET)
+           {
+              if (machine) printf("MAX: %g\n", param->info.d.max);
+              else printf(", max: %g", param->info.d.max);
+           }
+         if (param->info.d.step != EDJE_EXTERNAL_DOUBLE_UNSET)
+           {
+              if (machine) printf("STEP: %g\n", param->info.d.step);
+              else printf(", step: %g", param->info.d.step);
+           }
+         break;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+         if (param->info.s.accept_fmt)
+           {
+              if (machine) printf("ACCEPT_FMT: %s\n", param->info.s.accept_fmt);
+              else printf(", accept_fmt: \"%s\"", param->info.s.accept_fmt);
+           }
+         if (param->info.s.deny_fmt)
+           {
+              if (machine) printf("DENY_FMT: %s\n", param->info.s.deny_fmt);
+              else printf(", deny_fmt: \"%s\"", param->info.s.deny_fmt);
+           }
+         break;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+         if (param->info.b.false_str)
+           {
+              if (machine) printf("FALSE_STR: %s\n", param->info.b.false_str);
+              else printf(", false_str: \"%s\"", param->info.b.false_str);
+           }
+         if (param->info.b.true_str)
+           {
+              if (machine) printf("TRUE_STR: %s\n", param->info.b.true_str);
+              else printf(", true_str: \"%s\"", param->info.b.true_str);
+           }
+         break;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+        {
+           if (param->info.c.choices)
+             _param_choices_print(param->info.c.choices);
+           else if (param->info.c.query)
+             {
+                char **choices = param->info.c.query(type->data, param);
+                if (choices)
+                  {
+                     char **itr;
+                     _param_choices_print((const char * const*)choices);
+                     for (itr = choices; *itr; itr++) free(*itr);
+                     free(choices);
+                  }
+             }
+        }
+        break;
+
+      default:
+         ERR("Unknown parameter type %d", param->type);
+     }
+
+   if (!machine) fputs(" */", stdout); /* \n not desired */
+}
+
+static int
+_info_list(void)
+{
+   Eina_Iterator *itr;
+   Eina_List *types;
+   const Eina_Hash_Tuple *tuple;
+   const Eina_List *l;
+   const char *name, *last_module;
+   Eina_Bool module_found = EINA_FALSE, type_found = EINA_FALSE;
+   Eina_Bool in_module = EINA_FALSE;
+
+   EINA_LIST_FOREACH(modules, l, name)
+     {
+        if (!module_matches(name))
+          {
+             DBG("filter out module '%s': does not match '%s'",
+                 name, module_patterns_str);
+             continue;
+          }
+
+        if (!edje_module_load(name))
+          {
+             ERR("error loading external '%s'", name);
+             continue;
+          }
+
+        module_found = EINA_TRUE;
+     }
+
+   itr = edje_external_iterator_get();
+   types = NULL;
+   EINA_ITERATOR_FOREACH(itr, tuple)
+     {
+        const Edje_External_Type *type = tuple->data;
+        name = tuple->key;
+
+        if (!type)
+          {
+             ERR("no type value for '%s'", name);
+             continue;
+          }
+        else if (type->abi_version != edje_external_type_abi_version_get())
+          {
+             ERR("type '%s' with incorrect abi_version %u (expected %u)",
+                 name, type->abi_version, edje_external_type_abi_version_get());
+             continue;
+          }
+
+        if (!type_matches(name))
+          {
+             DBG("filter out type '%s': does not match '%s'", name, type_glob);
+             continue;
+          }
+
+        types = eina_list_append(types, tuple);
+        type_found = EINA_TRUE;
+     }
+   eina_iterator_free(itr);
+
+   last_module = NULL;
+   types = eina_list_sort(types, 0, _types_sort);
+   EINA_LIST_FREE(types, tuple)
+     {
+        Eina_Bool changed_module = EINA_FALSE;
+        const Edje_External_Type *type = tuple->data;
+        const Edje_External_Param_Info *param;
+        name = tuple->key;
+
+        if ((last_module) && (type->module))
+          {
+             changed_module = ((last_module != type->module) &&
+                               (!strcmp(last_module, type->module)));
+          }
+        else if ((!last_module) && (type->module))
+          changed_module = EINA_TRUE;
+
+        if (changed_module)
+          {
+             if (in_module)
+               {
+                  if (machine) puts("TYPES-END\nMODULE-END");
+                  else puts(INDENT "}\n}");
+               }
+
+             if (machine)
+               printf("MODULE-BEGIN\n"
+                      "NAME: %s\n"
+                      "FRIENDLY-NAME: %s\n"
+                      "TYPES-BEGIN\n",
+                      type->module, type->module_name);
+             else
+               printf("module {\n"
+                      INDENT "name: \"%s\";\n"
+                      INDENT "friendly_name: \"%s\";\n"
+                      INDENT "types {\n",
+                      type->module, type->module_name);
+
+             in_module = EINA_TRUE;
+          }
+
+        if (machine) printf("TYPE-BEGIN\nNAME: %s\n", name);
+        else printf(INDENT2 "type {\n" INDENT3 "name: \"%s\";\n", name);
+
+        if (detail > 1)
+          {
+             const char *str;
+
+             if (!type->label_get) str = NULL;
+             else str = type->label_get(type->data);
+             if (machine) printf("LABEL: %s\n", str ? str : "");
+             else if (str) printf(INDENT3 "label: \"%s\";\n", str);
+
+             if (!type->description_get) str = NULL;
+             else str = type->description_get(type->data);
+             if (machine) printf("DESCRIPTION: %s\n", str ? str : "");
+             else if (str) printf(INDENT3 "description: \"%s\";\n", str);
+          }
+
+        if (machine) puts("PARAMS-BEGIN");
+        else puts(INDENT3 "params {");
+
+        for (param = type->parameters_info; param->name != NULL; param++)
+          {
+             const char *pt = _param_type_str_get(param);
+             char buf[128];
+
+             if (machine)
+               printf("PARAM-BEGIN\nNAME: %s\nTYPE: %s\n", param->name, pt);
+             else printf(INDENT4 "%s: \"%s\"", pt, param->name);
+
+             if (detail > 0)
+               {
+                  const char *str = _param_value_str_get
+                    (type, param, buf, sizeof(buf));
+                  if (machine) printf("DEFAULT: %s\n", str ? str : "");
+                  else if (str) printf(" \"%s\"", str);
+
+                  if (detail > 1)
+                    {
+                       if (!machine) putchar(';');
+                       _param_extra_details(type, param);
+                    }
+               }
+
+             if (machine) puts("PARAM-END");
+             else if (detail > 1) putchar('\n');
+             else puts(";");
+          }
+
+        if (machine) puts("PARAMS-END\nTYPE-END");
+        else puts(INDENT3 "}\n" INDENT2 "}");
+
+        last_module = type->module;
+     }
+
+   if (in_module)
+     {
+        if (machine) puts("MODULE-END");
+        else puts(INDENT "}\n}");
+     }
+
+   if (!module_found) WRN("no modules match '%s'", module_patterns_str);
+   if (!type_found) WRN("no types match '%s'", type_glob);
+   return (!module_found) || (!type_found);
+}
+
+static int
+_types_names_list(void)
+{
+   Eina_Iterator *itr;
+   Eina_List *types;
+   const Eina_Hash_Tuple *tuple;
+   const Eina_List *l;
+   const char *name;
+   Eina_Bool module_found = EINA_FALSE, type_found = EINA_FALSE;
+
+   EINA_LIST_FOREACH(modules, l, name)
+     {
+        if (!module_matches(name))
+          {
+             DBG("filter out module '%s': does not match '%s'",
+                 name, module_patterns_str);
+             continue;
+          }
+
+        if (!edje_module_load(name))
+          {
+             ERR("error loading external '%s'", name);
+             continue;
+          }
+
+        module_found = EINA_TRUE;
+     }
+
+   itr = edje_external_iterator_get();
+   types = NULL;
+   EINA_ITERATOR_FOREACH(itr, tuple)
+     {
+        const Edje_External_Type *type = tuple->data;
+        name = tuple->key;
+
+        if (!type)
+          {
+             ERR("no type value for '%s'", name);
+             continue;
+          }
+        else if (type->abi_version != edje_external_type_abi_version_get())
+          {
+             ERR("type '%s' with incorrect abi_version %u (expected %u)",
+                 name, type->abi_version, edje_external_type_abi_version_get());
+             continue;
+          }
+
+        if (!type_matches(name))
+          {
+             DBG("filter out type '%s': does not match '%s'", name, type_glob);
+             continue;
+          }
+
+        types = eina_list_append(types, tuple);
+        type_found = EINA_TRUE;
+     }
+   eina_iterator_free(itr);
+
+   types = eina_list_sort(types, 0, _types_sort);
+   EINA_LIST_FREE(types, tuple)
+     puts(tuple->key);
+
+   if (!module_found) WRN("no modules match '%s'", module_patterns_str);
+   if (!type_found) WRN("no types match '%s'", type_glob);
+   return (!module_found) || (!type_found);
+}
+
+static int
+_modules_names_list(void)
+{
+   const Eina_List *l;
+   const char *name;
+   Eina_Bool found = EINA_FALSE;
+
+   EINA_LIST_FOREACH(modules, l, name)
+     {
+        if (!module_matches(name))
+          {
+             DBG("filter out module '%s': does not match '%s'",
+                 name, module_patterns_str);
+             continue;
+          }
+        found = EINA_TRUE;
+        puts(name);
+     }
+
+   if (!found) WRN("no modules match '%s'", module_patterns_str);
+   return !found;
+}
+
+static const char *mode_choices[] = {
+  "info",
+  "modules-names",
+  "types-names",
+  NULL,
+};
+
+static const char *detail_choices[] = {
+  "none",
+  "terse",
+  "all",
+  NULL
+};
+
+const Ecore_Getopt optdesc = {
+  "edje_external_inspector",
+  "%prog [options] [module|module-glob] ... [module|module-glob]",
+  PACKAGE_VERSION,
+  "(C) 2010 - The Enlightenment Project",
+  "BSD",
+  "Edje external module inspector.",
+  0,
+  {
+    ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate.",
+                        mode_choices),
+    ECORE_GETOPT_STORE_STR('t', "type", "Limit output to type (or glob)."),
+    ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)",
+                        detail_choices),
+    ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."),
+    ECORE_GETOPT_LICENSE('L', "license"),
+    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
+    ECORE_GETOPT_VERSION('V', "version"),
+    ECORE_GETOPT_HELP('h', "help"),
+    ECORE_GETOPT_SENTINEL
+  }
+};
+
+int
+main(int argc, char **argv)
+{
+   Eina_Bool quit_option = EINA_FALSE;
+   char *mode = NULL;
+   char *detail_name = NULL;
+   int arg_index;
+   int ret = 0;
+   Ecore_Getopt_Value values[] = {
+     ECORE_GETOPT_VALUE_STR(mode),
+     ECORE_GETOPT_VALUE_STR(type_glob),
+     ECORE_GETOPT_VALUE_STR(detail_name),
+     ECORE_GETOPT_VALUE_BOOL(machine),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_NONE
+   };
+
+   setlocale(LC_NUMERIC, "C");
+
+   ecore_init();
+   eina_init();
+   edje_init();
+
+   _log_dom = eina_log_domain_register
+     ("edje_external_inspector", EINA_COLOR_YELLOW);
+   if (_log_dom < 0)
+     {
+        EINA_LOG_CRIT
+          ("could not register log domain 'edje_external_inspector'");
+        ret = 1;
+        goto error_log;
+     }
+
+   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
+   if (arg_index < 0)
+     {
+        ERR("could not parse arguments.");
+        ret = 1;
+        goto error_getopt;
+     }
+   else if (quit_option) goto error_getopt;
+
+   if (!mode) mode = (char *)mode_choices[0];
+
+   if (detail_name)
+     {
+        if (!strcmp(detail_name, "none")) detail = 0;
+        else if (!strcmp(detail_name, "terse")) detail = 1;
+        else if (!strcmp(detail_name, "all")) detail = 2;
+        else ERR("Unknown detail level: '%s'", detail_name);
+     }
+
+   if (arg_index < argc) module_patterns = argv + arg_index;
+   else                  module_patterns = NULL;
+
+   modules = edje_available_modules_get();
+   module_patterns_str = _module_patterns_str_new();
+
+   if (!strcmp(mode, "info")) ret = _info_list();
+   else if (!strcmp(mode, "modules-names")) ret = _modules_names_list();
+   else if (!strcmp(mode, "types-names")) ret = _types_names_list();
+   else
+     {
+        ERR("Unknown mode: %s", mode);
+        ret = 1;
+     }
+
+   free(module_patterns_str);
+
+ error_getopt:
+   eina_log_domain_unregister(_log_dom);
+ error_log:
+   edje_shutdown();
+   ecore_shutdown();
+   eina_shutdown();
+
+   return ret;
+}
diff --git a/src/bin/edje/edje_inspector.c b/src/bin/edje/edje_inspector.c
new file mode 100644 (file)
index 0000000..01cf104
--- /dev/null
@@ -0,0 +1,1637 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <locale.h>
+#include <fnmatch.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "Edje.h"
+#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT 1
+#include "Edje_Edit.h"
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Ecore_Getopt.h>
+
+static int _log_dom;
+#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
+#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
+#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
+#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
+#define CRIT(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__)
+
+#define INDENT "   "
+#define INDENT2 INDENT INDENT
+#define INDENT3 INDENT2 INDENT
+#define INDENT4 INDENT3 INDENT
+#define INDENT5 INDENT4 INDENT
+#define INDENT6 INDENT5 INDENT
+#define INDENT7 INDENT6 INDENT
+
+#define FLOAT_PRECISION 0.0001
+#define FDIFF(a, b) (fabs((a) - (b)) > FLOAT_PRECISION)
+
+/* context */
+static Eina_List *groups;
+static Ecore_Evas *ee;
+
+/* options */
+static const char *file;
+static char *group = NULL;
+static char *part = NULL;
+static char *program = NULL;
+static int detail = 1;
+static Eina_Bool api_only = EINA_FALSE;
+static Eina_Bool api_fix = EINA_FALSE;
+static Eina_Bool machine = EINA_FALSE;
+
+static const char *mode_choices[] = {
+  "groups",
+  "parts",
+  "programs",
+  "groups-names",
+  "part-names",
+  "global-data",
+  "images",
+  "fonts",
+  "externals",
+  NULL,
+};
+
+static const char *detail_choices[] = {
+  "none",
+  "terse",
+  "all",
+  NULL
+};
+
+const Ecore_Getopt optdesc = {
+  "edje_inspector",
+  "%prog [options] <file.edj>",
+  PACKAGE_VERSION,
+  "(C) 2010 - The Enlightenment Project",
+  "BSD",
+  "Edje file inspector, let one see groups, parts, programs and other details "
+  "of a compiled (binary) edje file.\n",
+  0,
+  {
+    ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate on file.",
+                        mode_choices),
+    ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)",
+                        detail_choices),
+    ECORE_GETOPT_STORE_STR('g', "group", "Limit output to group (or glob)."),
+    ECORE_GETOPT_STORE_STR('p', "part", "Limit output to part (or glob)."),
+    ECORE_GETOPT_STORE_STR('r', "program",
+                           "Limit output to program (or glob)."),
+    ECORE_GETOPT_STORE_TRUE('a', "api-only", "Limit to just api parts or "
+                            "programs."),
+    ECORE_GETOPT_STORE_TRUE('A', "api-fix", "Fix API names to be C compliant."),
+    ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."),
+    ECORE_GETOPT_LICENSE('L', "license"),
+    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
+    ECORE_GETOPT_VERSION('V', "version"),
+    ECORE_GETOPT_HELP('h', "help"),
+    ECORE_GETOPT_SENTINEL
+  }
+};
+
+static inline Eina_Bool
+matches(const char *name, const char *pattern)
+{
+   if (!pattern) return EINA_TRUE;
+   return fnmatch(pattern, name, 0) == 0;
+}
+
+static void
+group_begin(const char *name)
+{
+   if (machine) printf("GROUP-BEGIN\nNAME: %s\n", name);
+   else printf("group { name: '%s';\n", name);
+}
+
+static void
+group_end(void)
+{
+   if (machine) puts("GROUP-END");
+   else puts("}");
+}
+
+static void
+group_details(Evas_Object *ed)
+{
+   int w, h;
+
+   if (detail < 1) return;
+
+   if (machine) puts("GROUP-DETAILS-BEGIN");
+
+   w = edje_edit_group_min_w_get(ed);
+   h = edje_edit_group_min_h_get(ed);
+   if (machine) printf("MIN-W: %d\nMIN-H: %d\n", w, h);
+   else if ((w > 0) || (h > 0)) printf(INDENT "min: %d %d;\n", w, h);
+
+   w = edje_edit_group_max_w_get(ed);
+   h = edje_edit_group_max_h_get(ed);
+   if (machine) printf("MAX-W: %d\nMAX-H: %d\n", w, h);
+   else if ((w > 0) || (h > 0)) printf(INDENT "max: %d %d;\n", w, h);
+
+   if (detail > 1)
+     {
+        Eina_List *dl;
+        dl = edje_edit_group_data_list_get(ed);
+        if (dl)
+          {
+             Eina_List *l;
+             const char *k;
+             if (machine) puts(INDENT "GROUP-DETAILS-DATA-BEGIN");
+             else puts(INDENT "data {");
+
+             EINA_LIST_FOREACH(dl, l, k)
+               {
+                  const char *v = edje_edit_group_data_value_get(ed, k);
+                  if (machine) printf("ITEM: \"%s\" \"%s\"\n", k, v);
+                  else printf(INDENT2 "item: \"%s\" \"%s\";\n", k, v);
+               }
+
+             edje_edit_string_list_free(dl);
+
+             if (machine) puts(INDENT "GROUP-DETAILS-DATA-END");
+             else puts(INDENT "}");
+          }
+     }
+
+   if (machine) puts("GROUP-DETAILS-END");
+}
+
+static void
+parts_begin(void)
+{
+   if (machine) puts("PARTS-BEGIN");
+   else puts(INDENT "parts {");
+}
+
+static void
+parts_end(void)
+{
+   if (machine) puts("PARTS-END");
+   else puts(INDENT "}");
+}
+
+static const char *
+part_type_name_get(Edje_Part_Type t)
+{
+   switch (t)
+     {
+      case EDJE_PART_TYPE_RECTANGLE:
+         return "RECT";
+      case EDJE_PART_TYPE_TEXT:
+         return "TEXT";
+      case EDJE_PART_TYPE_IMAGE:
+         return "IMAGE";
+      case EDJE_PART_TYPE_PROXY:
+        return "PROXY";
+      case EDJE_PART_TYPE_SWALLOW:
+         return "SWALLOW";
+      case EDJE_PART_TYPE_TEXTBLOCK:
+         return "TEXTBLOCK";
+      case EDJE_PART_TYPE_GRADIENT:
+         return "GRADIENT";
+      case EDJE_PART_TYPE_GROUP:
+         return "GROUP";
+      case EDJE_PART_TYPE_BOX:
+         return "BOX";
+      case EDJE_PART_TYPE_TABLE:
+         return "TABLE";
+      case EDJE_PART_TYPE_EXTERNAL:
+         return "EXTERNAL";
+      case EDJE_PART_TYPE_SPACER:
+         return "SPACER";
+
+      case EDJE_PART_TYPE_NONE:
+      case EDJE_PART_TYPE_LAST:
+         ERR("Invalid part type %d", t);
+         return "???";
+      default:
+         ERR("Unknown part type %d", t);
+         return "???";
+     }
+}
+
+static void
+state_begin(const char *state, double value)
+{
+   if (machine)
+     printf("PART-STATE-BEGIN\nNAME: %s\nVALUE: %2.1f\n", state, value);
+   else
+     {
+        printf(INDENT3 "description { state: \"%s\" %2.1f;", state, value);
+        if (detail > 0) putchar('\n');
+     }
+}
+
+static const char *
+aspect_pref_name_get(int id)
+{
+   switch (id)
+     {
+      case 0: return "NONE";
+      case 1: return "VERTICAL";
+      case 2: return "HORIZONTAL";
+      case 3: return "BOTH";
+      default:
+         ERR("Unknown aspect preference %d", id);
+         return "???";
+     }
+}
+
+static const char *
+border_fill_name_get(int id)
+{
+   switch (id)
+     {
+      case 0: return "NONE";
+      case 1: return "DEFAULT";
+      case 2: return "SOLID";
+      default:
+         ERR("Unknown border fill %d", id);
+         return "???";
+     }
+}
+
+static void
+state_details(Evas_Object *ed, const char *ppart, const char *state, double value)
+{
+   Edje_Part_Type t = edje_edit_part_type_get(ed, ppart);
+   double dx, dy;
+   const char *str, *str2;
+   int x, y, r, g, b, a;
+
+   if (detail < 1) return;
+
+   b = edje_edit_state_visible_get(ed, ppart, state, value);
+   if (machine) printf("VISIBLE: %d\n", b);
+   else if (!b) puts(INDENT4 "visible: 0;");
+
+   edje_edit_state_color_get(ed, ppart, state, value, &r, &g, &b, &a);
+   if (machine)
+     printf("COLOR-R: %d\nCOLOR-G: %d\nCOLOR-B: %d\nCOLOR-A: %d\n", r, g, b, a);
+   else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
+     printf(INDENT4 "color: %d %d %d %d;\n", r, g, b, a);
+
+   if (detail > 1)
+     {
+        edje_edit_state_color2_get(ed, ppart, state, value, &r, &g, &b, &a);
+        if (machine)
+          printf("COLOR2-R: %d\nCOLOR2-G: %d\nCOLOR2-B: %d\nCOLOR2-A: %d\n",
+                 r, g, b, a);
+        else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
+          printf(INDENT4 "color2: %d %d %d %d;\n", r, g, b, a);
+
+        edje_edit_state_color3_get(ed, ppart, state, value, &r, &g, &b, &a);
+        if (machine)
+          printf("COLOR3-R: %d\nCOLOR3-G: %d\nCOLOR3-B: %d\nCOLOR3-A: %d\n",
+                 r, g, b, a);
+        else if ((r != 255) || (g != 255) || (b != 255) || (a != 255))
+          printf(INDENT4 "color3: %d %d %d %d;\n", r, g, b, a);
+     }
+
+   dx = edje_edit_state_align_x_get(ed, ppart, state, value);
+   dy = edje_edit_state_align_y_get(ed, ppart, state, value);
+   if (machine) printf("ALIGN-X: %g\nALIGN-Y: %g\n", dx, dy);
+   else if (FDIFF(dx, 0.5) || FDIFF(dy, 0.5))
+     printf(INDENT4 "align: %g %g;\n", dx, dy);
+
+   x = edje_edit_state_min_w_get(ed, ppart, state, value);
+   y = edje_edit_state_min_h_get(ed, ppart, state, value);
+   if (machine) printf("MIN-W: %d\nMIN-H: %d\n", x, y);
+   else if ((x) || (y)) printf(INDENT4 "min: %d %d;\n", x, y);
+
+   x = edje_edit_state_max_w_get(ed, ppart, state, value);
+   y = edje_edit_state_max_h_get(ed, ppart, state, value);
+   if (machine) printf("MAX-W: %d\nMAX-H: %d\n", x, y);
+   else if ((x != -1) || (y != -1)) printf(INDENT4 "max: %d %d;\n", x, y);
+
+   //TODO Support fixed
+   //TODO Support step
+
+   if (detail > 1)
+     {
+        dx = edje_edit_state_aspect_min_get(ed, ppart, state, value);
+        dy = edje_edit_state_aspect_max_get(ed, ppart, state, value);
+        if (machine) printf("ASPECT-MIN: %g\nASPECT-MAX: %g\n", dx, dy);
+        else if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0))
+          printf(INDENT4 "aspect: %g %g;\n", dx, dy);
+
+        x = edje_edit_state_aspect_pref_get(ed, ppart, state, value);
+        str = aspect_pref_name_get(x);
+        if (machine) printf("ASPECT-PREFERENCE: %s\n", str);
+        else if (x) printf(INDENT4 "aspect_preference: %s;\n", str);
+        /* do not free this str! */
+
+        str = edje_edit_state_color_class_get(ed, ppart, state, value);
+        if (machine) printf("COLOR_CLASS: %s\n", str ? str : "");
+        else if (str) printf(INDENT4 "color_class: \"%s\";\n", str);
+        edje_edit_string_free(str);
+     }
+
+   dx = edje_edit_state_rel1_relative_x_get(ed, ppart, state, value);
+   dy = edje_edit_state_rel1_relative_y_get(ed, ppart, state, value);
+   x = edje_edit_state_rel1_offset_x_get(ed, ppart, state, value);
+   y = edje_edit_state_rel1_offset_y_get(ed, ppart, state, value);
+   str = edje_edit_state_rel1_to_x_get(ed, ppart, state, value);
+   str2 = edje_edit_state_rel1_to_y_get(ed, ppart, state, value);
+   if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y) || (str) || (str2))
+     {
+        if (machine) puts("REL1-BEGIN");
+        else puts(INDENT4 "rel1 {");
+
+        if (machine) printf("RELATIVE-X: %g\nRELATIVE-Y: %g\n", dx, dy);
+        else if (FDIFF(dx, 0.0) || FDIFF(dy, 0.0))
+          printf(INDENT5 "relative: %g %g;\n", dx, dy);
+
+        if (machine) printf("OFFSET-X: %d\nOFFSET-Y: %d\n", x, y);
+        else if ((x) || (y)) printf(INDENT5 "offset: %d %d;\n", x, y);
+
+        if (machine)
+          printf("TO-X: %s\nTO-Y: %s\n", str ? str : "", str2 ? str2 : "");
+        else if (((str) && (str2)) && (!strcmp(str, str2)))
+          printf(INDENT5 "to: \"%s\";\n", str);
+        else
+          {
+             if (str) printf(INDENT5 "to_x: \"%s\";\n", str);
+             if (str2) printf(INDENT5 "to_y: \"%s\";\n", str2);
+          }
+
+        if (machine) puts("REL1-END");
+        else puts(INDENT4 "}");
+     }
+   edje_edit_string_free(str);
+   edje_edit_string_free(str2);
+
+   dx = edje_edit_state_rel2_relative_x_get(ed, ppart, state, value);
+   dy = edje_edit_state_rel2_relative_y_get(ed, ppart, state, value);
+   x = edje_edit_state_rel2_offset_x_get(ed, ppart, state, value);
+   y = edje_edit_state_rel2_offset_y_get(ed, ppart, state, value);
+   str = edje_edit_state_rel2_to_x_get(ed, ppart, state, value);
+   str2 = edje_edit_state_rel2_to_y_get(ed, ppart, state, value);
+   if (FDIFF(dx, 1.0) || FDIFF(dy, 1.0) || (x != -1) || (y != -1) ||
+       (str) || (str2))
+     {
+        if (machine) puts("REL2-BEGIN");
+        else puts(INDENT4 "rel2 {");
+
+        if (machine) printf("RELATIVE-X: %g\nRELATIVE-Y: %g\n", dx, dy);
+        else if (FDIFF(dx, 1.0) || FDIFF(dy, 1.0))
+          printf(INDENT5 "relative: %g %g;\n", dx, dy);
+
+        if (machine) printf("OFFSET-X: %d\nOFFSET-Y: %d\n", x, y);
+        else if ((x != -1) || (y != -1))
+          printf(INDENT5 "offset: %d %d;\n", x, y);
+
+        if (machine)
+          printf("TO-X: %s\nTO-Y: %s\n", str ? str : "", str2 ? str2 : "");
+        else if (((str) && (str2)) && (!strcmp(str, str2)))
+          printf(INDENT5 "to: \"%s\";\n", str);
+        else
+          {
+             if (str) printf(INDENT5 "to_x: \"%s\";\n", str);
+             if (str2) printf(INDENT5 "to_y: \"%s\";\n", str2);
+          }
+
+        if (machine) puts("REL2-END");
+        else puts(INDENT4 "}");
+     }
+   edje_edit_string_free(str);
+   edje_edit_string_free(str2);
+
+   if (t == EDJE_PART_TYPE_IMAGE)
+     {
+        str = edje_edit_state_image_get(ed, ppart, state, value);
+
+        if (machine) printf("IMAGE-BEGIN\nNORMAL: %s\n", str ? str : "");
+        else if (detail > 1)
+          {
+             puts(INDENT4 "image {");
+             if (str) printf(INDENT5 "normal: \"%s\";\n", str);
+          }
+        else if (str) printf(INDENT4 "image.normal: \"%s\";\n", str);
+
+        edje_edit_string_free(str);
+
+        if (detail > 1)
+          {
+             Eina_List *tweens, *l;
+             int bl, br, bt, bb, x2, y2;
+             double dx2, dy2;
+             Eina_Bool has_orgin, has_size;
+
+             tweens = edje_edit_state_tweens_list_get(ed, ppart, state, value);
+             EINA_LIST_FOREACH(tweens, l, str)
+               {
+                  if (machine) printf("TWEEN: %s\n", str);
+                  else printf(INDENT5 "tween: \"%s\";\n", str);
+               }
+             edje_edit_string_list_free(tweens);
+
+             edje_edit_state_image_border_get
+               (ed, ppart, state, value, &bl, &br, &bt, &bb);
+             if (machine)
+               printf("BORDER-LEFT: %d\nBORDER-RIGHT: %d\n"
+                      "BORDER-TOP: %d\nBORDER-BOTTOM: %d\n", bl, br, bt, bb);
+             else if ((bl) || (br) || (bt) || (bb))
+               printf(INDENT5 "border: %d %d %d %d;\n", bl, br, bt, bb);
+
+             x = edje_edit_state_image_border_fill_get(ed, ppart, state, value);
+             str = border_fill_name_get(x);
+             if (machine) printf("BORDER-FILL: %s\n", str);
+             else if (x != 1) printf(INDENT5 "middle: %s;\n", str);
+             /* do not free str! */
+
+             // TODO support image.fill.smooth
+
+             dx = edje_edit_state_fill_origin_relative_x_get
+               (ed, ppart, state, value);
+             dy = edje_edit_state_fill_origin_relative_y_get
+               (ed, ppart, state, value);
+             x = edje_edit_state_fill_origin_offset_x_get
+               (ed, ppart, state, value);
+             y = edje_edit_state_fill_origin_offset_y_get
+               (ed, ppart, state, value);
+
+             dx2 = edje_edit_state_fill_size_relative_x_get
+               (ed, ppart, state, value);
+             dy2 = edje_edit_state_fill_size_relative_y_get
+               (ed, ppart, state, value);
+             x2 = edje_edit_state_fill_size_offset_x_get
+               (ed, ppart, state, value);
+             y2 = edje_edit_state_fill_size_offset_y_get
+               (ed, ppart, state, value);
+
+             has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y));
+             has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2));
+
+             if ((has_orgin) || (has_size))
+               {
+                  if (machine) puts("IMAGE-FILL-BEGIN");
+                  else puts(INDENT5 "fill {");
+
+                  if (has_orgin)
+                    {
+                       if (machine)
+                         printf("ORIGIN-RELATIVE-X: %g\n"
+                                "ORIGIN-RELATIVE-Y: %g\n"
+                                "ORIGIN-OFFSET-X: %d\n"
+                                "ORIGIN-OFFSET-Y: %d\n",
+                                dx, dy, x, y);
+                       else
+                         printf(INDENT6 "origin {\n"
+                                INDENT7 "relative: %g %g;\n"
+                                INDENT7 "offset: %d %d;\n"
+                                INDENT6 "}\n",
+                                dx, dy, x, y);
+                    }
+
+                  if (has_size)
+                    {
+                       if (machine)
+                         printf("SIZE-RELATIVE-X: %g\n"
+                                "SIZE-RELATIVE-Y: %g\n"
+                                "SIZE-OFFSET-X: %d\n"
+                                "SIZE-OFFSET-Y: %d\n",
+                                dx2, dy2, x2, y2);
+                       else
+                         printf(INDENT6 "size {\n"
+                                INDENT7 "relative: %g %g;\n"
+                                INDENT7 "offset: %d %d;\n"
+                                INDENT6 "}\n",
+                                dx2, dy2, x2, y2);
+                    }
+
+                  if (machine) puts("IMAGE-FILL-END");
+                  else puts(INDENT5 "}");
+               }
+          }
+
+        if (machine) puts("IMAGE-END");
+        else if (detail > 1) puts(INDENT4 "}");
+     }
+   else if (t == EDJE_PART_TYPE_PROXY)
+     { 
+       int x2, y2;
+       double dx2, dy2;
+       Eina_Bool has_orgin, has_size;
+
+       if (machine) puts("PROXY-BEGIN");
+       else puts(INDENT4 "proxy {");
+       // TODO Support source
+       // TODO support proxy.fill.smooth
+
+       dx = edje_edit_state_fill_origin_relative_x_get
+        (ed, ppart, state, value);
+       dy = edje_edit_state_fill_origin_relative_y_get
+        (ed, ppart, state, value);
+       x = edje_edit_state_fill_origin_offset_x_get
+        (ed, ppart, state, value);
+       y = edje_edit_state_fill_origin_offset_y_get
+        (ed, ppart, state, value);
+
+       dx2 = edje_edit_state_fill_size_relative_x_get
+        (ed, ppart, state, value);
+       dy2 = edje_edit_state_fill_size_relative_y_get
+        (ed, ppart, state, value);
+       x2 = edje_edit_state_fill_size_offset_x_get
+        (ed, ppart, state, value);
+       y2 = edje_edit_state_fill_size_offset_y_get
+        (ed, ppart, state, value);
+
+       has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y));
+       has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2));
+
+       if ((has_orgin) || (has_size))
+        {
+          if (machine) puts("PROXY-FILL-BEGIN");
+          else puts(INDENT5 "fill {");
+
+          if (has_orgin)
+            {
+              if (machine)
+                printf("ORIGIN-RELATIVE-X: %g\n"
+                       "ORIGIN-RELATIVE-Y: %g\n"
+                       "ORIGIN-OFFSET-X: %d\n"
+                       "ORIGIN-OFFSET-Y: %d\n",
+                       dx, dy, x, y);
+              else
+                printf(INDENT6 "origin {\n"
+                       INDENT7 "relative: %g %g;\n"
+                       INDENT7 "offset: %d %d;\n"
+                       INDENT6 "}\n",
+                       dx, dy, x, y);
+            }
+
+          if (has_size)
+            {
+              if (machine)
+                printf("SIZE-RELATIVE-X: %g\n"
+                       "SIZE-RELATIVE-Y: %g\n"
+                       "SIZE-OFFSET-X: %d\n"
+                       "SIZE-OFFSET-Y: %d\n",
+                       dx2, dy2, x2, y2);
+              else
+                printf(INDENT6 "size {\n"
+                       INDENT7 "relative: %g %g;\n"
+                       INDENT7 "offset: %d %d;\n"
+                       INDENT6 "}\n",
+                       dx2, dy2, x2, y2);
+            }
+
+          if (machine) puts("PROXY-FILL-END");
+          else puts(INDENT5 "}");
+        }
+
+        if (machine) puts("PROXY-END");
+        else puts(INDENT4 "}");       
+     }
+   else if ((t == EDJE_PART_TYPE_TEXTBLOCK) || (t == EDJE_PART_TYPE_TEXT))
+     {
+        if (machine) puts("TEXT-BEGIN");
+        else puts(INDENT4 "text {");
+
+        str = edje_edit_state_text_get(ed, ppart, state, value);
+        if (machine) printf("TEXT: %s\n", str ? str : "");
+        else if (str) printf(INDENT5 "text: \"%s\";\n", str);
+        edje_edit_string_free(str);
+
+        str = edje_edit_state_font_get(ed, ppart, state, value);
+        if (machine) printf("FONT: %s\n", str ? str : "");
+        else if (str) printf(INDENT5 "font: \"%s\";\n", str);
+        edje_edit_string_free(str);
+
+        x = edje_edit_state_text_size_get(ed, ppart, state, value);
+        if (machine) printf("SIZE: %d\n", x);
+        else if (x > 0) printf(INDENT5 "size: %d;\n", x);
+
+        // TODO text_class
+
+        dx = edje_edit_state_text_align_x_get(ed, ppart, state, value);
+        dy = edje_edit_state_text_align_y_get(ed, ppart, state, value);
+        if (machine) printf("TEXT-ALIGN-X: %g\nTEXT-ALIGN-Y: %g\n", dx, dy);
+        else if (FDIFF(dx, 0.5) || FDIFF(dy, 0.5))
+          printf(INDENT5 "align: %g %g;\n", dx, dy);
+
+        x = edje_edit_state_text_fit_x_get(ed, ppart, state, value);
+        y = edje_edit_state_text_fit_y_get(ed, ppart, state, value);
+        if (machine) printf("TEXT-FIT-X: %d\nTEXT-FIT-Y: %d\n", x, y);
+        else if ((x) || (y)) printf(INDENT5 "fit: %d %d;\n", x, y);
+
+        dx = edje_edit_state_text_elipsis_get(ed, ppart, state, value);
+        if (machine) printf("TEXT-ELIPSIS: %g\n", dx);
+        else if (FDIFF(dx, 0.5)) printf(INDENT5 "elipsis: %g;\n", dx);
+
+        if (machine) puts("TEXT-END");
+        else puts(INDENT4 "}");
+     }
+   else if (t == EDJE_PART_TYPE_EXTERNAL)
+     {
+        const Eina_List *params, *l;
+        const Edje_External_Param *p;
+
+        params = edje_edit_state_external_params_list_get
+          (ed, ppart, state, value);
+
+        if (params)
+          {
+             if (machine) puts("PARAMS-BEGIN");
+             else puts(INDENT4 "params {");
+
+             EINA_LIST_FOREACH(params, l, p)
+               switch (p->type)
+                 {
+                  case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                     printf(INDENT5 "int: \"%s\" \"%d\";\n", p->name, p->i);
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                     printf(INDENT5 "double: \"%s\" \"%g\";\n", p->name, p->d);
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                     if (p->s)
+                       printf(INDENT5 "string: \"%s\" \"%s\";\n",
+                              p->name, p->s);
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                     printf(INDENT5 "bool: \"%s\" \"%d\";\n", p->name, p->i);
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                     if (p->s)
+                       printf(INDENT5 "choice: \"%s\" \"%s\";\n",
+                              p->name, p->s);
+                     break;
+                  default:
+                     break;
+                 }
+
+             if (machine) puts("PARAMS-END");
+             else puts(INDENT4 "}");
+          }
+     }
+}
+
+static void
+state_end(void)
+{
+   if (machine) puts("PART-STATE-END");
+   else if (detail > 0) puts(INDENT3 "}");
+   else puts(" }");
+}
+
+static void
+part_begin(Evas_Object *ed, const char *name)
+{
+   const char *type = part_type_name_get(edje_edit_part_type_get(ed, name));
+   if (machine) printf("PART-BEGIN\nNAME: %s\nTYPE: %s\n", name, type);
+   else
+     {
+        printf(INDENT2 "part { name: '%s'; type: %s;", name, type);
+        if (detail > 0) putchar('\n');
+     }
+}
+
+static const char *
+text_effect_name_get(Edje_Text_Effect effect)
+{
+   switch (effect)
+     {
+      case EDJE_TEXT_EFFECT_NONE:
+         return "NONE";
+      case EDJE_TEXT_EFFECT_PLAIN:
+         return "PLAIN";
+      case EDJE_TEXT_EFFECT_OUTLINE:
+         return "OUTLINE";
+      case EDJE_TEXT_EFFECT_SOFT_OUTLINE:
+         return "SOFT_OUTLINE";
+      case EDJE_TEXT_EFFECT_SHADOW:
+         return "SHADOW";
+      case EDJE_TEXT_EFFECT_SOFT_SHADOW:
+         return "SOFT_SHADOW";
+      case EDJE_TEXT_EFFECT_OUTLINE_SHADOW:
+         return "OUTLINE_SHADOW";
+      case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW:
+         return "OUTLINE_SOFT_SHADOW";
+      case EDJE_TEXT_EFFECT_FAR_SHADOW:
+         return "FAR_SHADOW";
+      case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW:
+         return "FAR_SOFT_SHADOW";
+      case EDJE_TEXT_EFFECT_GLOW:
+         return "GLOW";
+
+      case EDJE_TEXT_EFFECT_LAST:
+         ERR("Invalid part type %d", effect);
+         return "???";
+      default:
+         ERR("Unknown effect type %d", effect);
+         return "???";
+     }
+}
+
+static inline Eina_Bool
+_c_id_allowed(char c)
+{
+   if ((c >= '0') && (c <= '9')) return EINA_TRUE;
+   if ((c >= 'a') && (c <= 'z')) return EINA_TRUE;
+   if ((c >= 'A') && (c <= 'Z')) return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+static char *
+_api_name_fix(const char *orig)
+{
+   char *d, *d_end, buf[256];
+   const char *s;
+
+   if (!orig) return NULL;
+   if (!api_fix) return strdup(orig);
+
+   s = orig;
+   d = buf;
+   d_end = d + sizeof(buf) - 1;
+   for (; (*s != '\0') && (d < d_end); s++, d++)
+     if (_c_id_allowed(*s)) *d = *s;
+     else *d = '_';
+   *d = '\0';
+
+   return strdup(buf);
+}
+
+static char *
+_part_api_name_get(Evas_Object *ed, const char *ppart)
+{
+   const char *orig = edje_edit_part_api_name_get(ed, ppart);
+   char *fix = _api_name_fix(orig);
+   edje_edit_string_free(orig);
+   return fix;
+}
+
+static void
+part_details(Evas_Object *ed, const char *ppart)
+{
+   Eina_List *states, *l;
+   Eina_Bool b;
+   const char *str, *str2;
+   char *api;
+
+   if (detail < 1) return;
+
+   if (machine) puts("PART-DETAILS-BEGIN");
+
+   str = api =_part_api_name_get(ed, ppart);
+   str2 = edje_edit_part_api_description_get(ed, ppart);
+   if (machine)
+     {
+        printf("API-NAME: %s\n", str ? str : "");
+        printf("API-DESCRIPTION: %s\n", str2 ? str2 : "");
+     }
+   else if ((str) || (str2))
+     printf(INDENT3 "api: \"%s\" \"%s\";\n", str ? str : "", str2 ? str2 : "");
+   free(api);
+   edje_edit_string_free(str2);
+
+   b = edje_edit_part_mouse_events_get(ed, ppart);
+   if (machine) printf("MOUSE_EVENTS: %d\n", b);
+   else if (!b) puts(INDENT3 "mouse_events: 0;");
+
+   if (detail > 1)
+     {
+        b = edje_edit_part_repeat_events_get(ed, ppart);
+        if (machine) printf("REPEAT_EVENTS: %d\n", b);
+        else if (b) puts(INDENT3 "repeat_events: 1;");
+
+        b = edje_edit_part_scale_get(ed, ppart);
+        if (machine) printf("SCALE: %d\n", b);
+        else if (b) puts(INDENT3 "scale: 1;");
+     }
+
+   str = edje_edit_part_clip_to_get(ed, ppart);
+   if (machine) printf("CLIP_TO: %s\n", str ? str : "");
+   else if (str) printf(INDENT3 "clip_to: \"%s\";\n", str);
+   edje_edit_string_free(str);
+
+   str = edje_edit_part_source_get(ed, ppart);
+   if (machine) printf("SOURCE: %s\n", str ? str : "");
+   else if (str) printf(INDENT3 "source: \"%s\";\n", str);
+   edje_edit_string_free(str);
+
+   if (detail > 1)
+     {
+        if (edje_edit_part_type_get(ed, ppart) == EDJE_PART_TYPE_TEXT)
+          {
+             str = text_effect_name_get(edje_edit_part_effect_get(ed, ppart));
+             if (machine) printf("EFFECT: %s\n", str ? str : "");
+             else if (str) printf(INDENT3 "effect: %s;\n", str);
+             /* do not free this str! */
+          }
+
+        if (edje_edit_part_drag_x_get(ed, ppart) ||
+            edje_edit_part_drag_y_get(ed, ppart))
+          {
+             int dir, step, count;
+
+             if (machine) puts("DRAGABLE-BEGIN");
+             else puts(INDENT3 "dragable {");
+
+             dir = edje_edit_part_drag_x_get(ed, ppart);
+             step = edje_edit_part_drag_step_x_get(ed, ppart);
+             count = edje_edit_part_drag_count_x_get(ed, ppart);
+             if (machine) printf("DRAG-X: %d %d %d\n", dir, step, count);
+             else printf(INDENT4 "x: %d %d %d;\n", dir, step, count);
+
+             dir = edje_edit_part_drag_y_get(ed, ppart);
+             step = edje_edit_part_drag_step_y_get(ed, ppart);
+             count = edje_edit_part_drag_count_y_get(ed, ppart);
+             if (machine) printf("DRAG-Y: %d %d %d\n", dir, step, count);
+             else printf(INDENT4 "y: %d %d %d;\n", dir, step, count);
+
+             str = edje_edit_part_drag_confine_get(ed, ppart);
+             if (machine) printf("DRAG-CONFINE: %s\n", str ? str : "");
+             else if (str) printf(INDENT4 "confine: \"%s\";\n", str);
+             edje_edit_string_free(str);
+
+             str = edje_edit_part_drag_event_get(ed, ppart);
+             if (machine) printf("DRAG-EVENTS: %s\n", str ? str : "");
+             else if (str) printf(INDENT4 "events: \"%s\";\n", str);
+             edje_edit_string_free(str);
+
+             if (machine) puts("DRAGABLE-END");
+             else puts(INDENT3 "}");
+          }
+     }
+
+   states = edje_edit_part_states_list_get(ed, ppart);
+   EINA_LIST_FOREACH(states, l, str)
+     {
+        char state[512], *delim;
+        double value;
+        eina_strlcpy(state, str, sizeof(state)); /* bad states_list! :-( */
+        delim = strchr(state, ' ');
+        *delim = '\0';
+        delim++;
+        value = strtod(delim, NULL);
+        state_begin(state, value);
+        state_details(ed, ppart, state, value);
+        state_end();
+     }
+   edje_edit_string_list_free(states);
+
+   if (machine) puts("PART-DETAILS-END");
+}
+
+static void
+part_end(void)
+{
+   if (machine) puts("PART-END");
+   else if (detail > 0) puts(INDENT2 "}");
+   else puts(" }");
+}
+
+static int
+_groups_names_list(void)
+{
+   Eina_List *l;
+   const char *name;
+   Eina_Bool found = EINA_FALSE;
+
+   EINA_LIST_FOREACH(groups, l, name)
+     {
+        if (!matches(name, group))
+          {
+             DBG("filter out group '%s': does not match '%s'", name, group);
+             continue;
+          }
+        found = EINA_TRUE;
+        puts(name);
+     }
+
+   if (!found) WRN("no groups match '%s'", group);
+   return !found;
+}
+
+static int
+_parts_names_list(void)
+{
+   Eina_List *gl, *pl, *parts;
+   const char *gname, *pname;
+   Eina_Bool found_group = EINA_FALSE, found_part = EINA_FALSE;
+
+   EINA_LIST_FOREACH(groups, gl, gname)
+     {
+        Evas_Object *ed;
+
+        if (!matches(gname, group))
+          {
+             DBG("filter out group '%s': does not match '%s'", gname, group);
+             continue;
+          }
+
+        ed = edje_edit_object_add(ecore_evas_get(ee));
+        if (!edje_object_file_set(ed, file, gname))
+          {
+             Edje_Load_Error err = edje_object_load_error_get(ed);
+             const char *errmsg = edje_load_error_str(err);
+             ERR("could not load group '%s' from file '%s': %s",
+                 gname, file, errmsg);
+             evas_object_del(ed);
+             continue;
+          }
+
+        found_group = EINA_TRUE;
+        group_begin(gname);
+
+        parts = edje_edit_parts_list_get(ed);
+        EINA_LIST_FOREACH(parts, pl, pname)
+          {
+             if (!matches(pname, part))
+               {
+                  DBG("filter out part '%s': does not match '%s'", pname, part);
+                  continue;
+               }
+             if (api_only)
+               {
+                  if (!edje_edit_part_api_name_get(ed, pname))
+                    {
+                       DBG("filter out part '%s': not API.", pname);
+                       continue;
+                    }
+               }
+             if (machine) printf("PART: %s\n", pname);
+             else printf(INDENT "part: %s\n", pname);
+          }
+        edje_edit_string_list_free(parts);
+
+        group_end();
+        evas_object_del(ed);
+     }
+
+   if (!found_group) WRN("no groups match '%s'", group);
+   if (!found_part) WRN("no parts match '%s'", part);
+   return (!found_group) || (!found_part);
+}
+
+static Eina_Bool
+_group_parts_list(Evas_Object *ed)
+{
+   Eina_Bool found = EINA_FALSE;
+   Eina_List *parts, *l;
+   const char *name;
+
+   parts_begin();
+
+   parts = edje_edit_parts_list_get(ed);
+   EINA_LIST_FOREACH(parts, l, name)
+     {
+        if (!matches(name, part))
+          {
+             DBG("filter out part '%s': does not match '%s'", name, part);
+             continue;
+          }
+        if (api_only)
+          {
+             if (!edje_edit_part_api_name_get(ed, name))
+               {
+                  DBG("filter out part '%s': not API.", name);
+                  continue;
+               }
+          }
+
+        found = EINA_TRUE;
+        part_begin(ed, name);
+        part_details(ed, name);
+        part_end();
+     }
+
+   parts_end();
+   return found;
+}
+
+static void
+programs_begin(void)
+{
+   if (machine) puts("PROGRAMS-BEGIN");
+   else puts(INDENT "programs {");
+}
+
+static void
+programs_end(void)
+{
+   if (machine) puts("PROGRAMS-END");
+   else puts(INDENT "}");
+}
+
+static void
+program_begin(const char *name)
+{
+   if (machine) printf("PROGRAM-BEGIN\nNAME: %s\n", name ? name : "");
+   else
+     {
+        printf(INDENT2 "program { name: '%s';\n", name ? name : "");
+     }
+}
+
+static void
+program_end(void)
+{
+   if (machine) puts("PROGRAM-END");
+   else puts(INDENT2 "}");
+}
+
+
+static char *
+_program_api_name_get(Evas_Object *ed, const char *pprogram)
+{
+   const char *orig = edje_edit_program_api_name_get(ed, pprogram);
+   char *fix = _api_name_fix(orig);
+   edje_edit_string_free(orig);
+   return fix;
+}
+
+static const char *
+_transition_name_get(Edje_Tween_Mode mode)
+{
+   switch (mode)
+     {
+      case EDJE_TWEEN_MODE_LINEAR: return "LINEAR";
+      case EDJE_TWEEN_MODE_ACCELERATE: return "ACCELERATE";
+      case EDJE_TWEEN_MODE_DECELERATE: return "DECELERATE";
+      case EDJE_TWEEN_MODE_SINUSOIDAL: return "SINUSOIDAL";
+      default:
+         ERR("Unknown transition mode %d", mode);
+         return "???";
+     }
+}
+
+static void
+program_details(Evas_Object *ed, const char *pprogram)
+{
+   const char *str, *str2;
+   char *api;
+
+   if (detail < 1) return;
+
+   if (machine) puts("PROGRAM-DETAILS-BEGIN");
+
+   str = api =_program_api_name_get(ed, pprogram);
+   str2 = edje_edit_program_api_description_get(ed, pprogram);
+   if (machine)
+     {
+        printf("API-NAME: %s\n", str ? str : "");
+        printf("API-DESCRIPTION: %s\n", str2 ? str2 : "");
+     }
+   else if ((str) || (str2))
+     printf(INDENT3 "api: \"%s\" \"%s\";\n", str ? str : "", str2 ? str2 : "");
+   free(api);
+   edje_edit_string_free(str2);
+
+   str = edje_edit_program_signal_get(ed, pprogram);
+   if (machine) printf("SIGNAL: %s\n", str ? str : "");
+   else if (str) printf(INDENT3 "signal: \"%s\";\n", str);
+   edje_edit_string_free(str);
+
+   str = edje_edit_program_source_get(ed, pprogram);
+   if (machine) printf("SOURCE: %s\n", str ? str : "");
+   else if (str) printf(INDENT3 "source: \"%s\";\n", str);
+   edje_edit_string_free(str);
+
+   if (detail >= 1)
+     {
+        Eina_List *lst, *l;
+        Edje_Action_Type type = edje_edit_program_action_get(ed, pprogram);
+        switch (type)
+          {
+           case EDJE_ACTION_TYPE_ACTION_STOP:
+              if (machine) puts("ACTION: ACTION_STOP");
+              else puts(INDENT3 "action: ACTION_STOP;");
+              break;
+           case EDJE_ACTION_TYPE_STATE_SET:
+              str = edje_edit_program_state_get(ed, pprogram);
+              if (machine)
+                printf("ACTION: STATE_SET\nACTION-STATE: %s %g\n",
+                       str, edje_edit_program_value_get(ed, pprogram));
+              else
+                printf(INDENT3 "action: STATE_SET \"%s\" %2.1f;\n",
+                       str, edje_edit_program_value_get(ed, pprogram));
+              edje_edit_string_free(str);
+              break;
+           case EDJE_ACTION_TYPE_SIGNAL_EMIT:
+              str = edje_edit_program_state_get(ed, pprogram);
+              str2 = edje_edit_program_state2_get(ed, pprogram);
+              if (machine)
+                printf("ACTION: SIGNAL_EMIT\nACTION-SIGNAL: %s\n"
+                       "ACTION-SOURCE: %s\n",
+                       str ? str : "", str2 ? str2 : "");
+              else if ((str) || (str2))
+                printf(INDENT3 "action: SIGNAL_EMIT \"%s\" \"%s\";\n",
+                       str ? str : "", str2 ? str2 : "");
+              edje_edit_string_free(str);
+              edje_edit_string_free(str2);
+              break;
+              //TODO Support Drag
+              //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n");
+              //~ break;
+              //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n");
+              //~ break;
+              //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+              //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n");
+              //~ break;
+           default:
+              ERR("Unhandled pprogram action type %d", type);
+              break;
+          }
+
+        if (detail > 1)
+          {
+             double from, range;
+
+             from = edje_edit_program_transition_time_get(ed, pprogram);
+             if (from > 0.0)
+               {
+                  str = _transition_name_get
+                    (edje_edit_program_transition_get(ed, pprogram));
+                  if (machine)
+                    printf("TRANSITION-NAME: %s\nTRANSITION-DURATION: %g\n",
+                           str, from);
+                  else printf(INDENT3 "transition: %s %g;\n", str, from);
+                  /* do not free str! */
+               }
+
+             from = edje_edit_program_in_from_get(ed, pprogram);
+             range = edje_edit_program_in_range_get(ed, pprogram);
+             if (FDIFF(from, 0.0) || FDIFF(range, 0.0))
+               {
+                  if (machine)
+                    printf("IN-FROM: %g\nIN-RANGE: %g\n", from, range);
+                  else printf(INDENT3 "in: %g %g;\n", from, range);
+               }
+          }
+
+        lst = edje_edit_program_targets_get(ed, pprogram);
+        EINA_LIST_FOREACH(lst, l, str)
+          if (machine) printf("TARGET: %s\n", str);
+          else printf(INDENT3 "target: \"%s\";\n", str);
+        edje_edit_string_list_free(lst);
+
+        lst = edje_edit_program_afters_get(ed, pprogram);
+        EINA_LIST_FOREACH(lst, l, str)
+          if (machine) printf("AFTER: %s\n", str);
+          else printf(INDENT3 "after: \"%s\";\n", str);
+        edje_edit_string_list_free(lst);
+
+        // TODO Support script {}
+     }
+
+   if (machine) puts("PROGRAM-DETAILS-END");
+}
+
+static Eina_Bool
+_group_programs_list(Evas_Object *ed)
+{
+   Eina_Bool found = EINA_FALSE;
+   Eina_List *programs, *l;
+   const char *name;
+
+   programs_begin();
+
+   /* TODO: change programs to operate on their ID instead of names!
+    * needs huge change in Edje_Edit.h
+    */
+   WRN("listing only programs with names!");
+   programs = edje_edit_programs_list_get(ed);
+   EINA_LIST_FOREACH(programs, l, name)
+     {
+        if (!matches(name, program))
+          {
+             DBG("filter out program '%s': does not match '%s'", name, program);
+             continue;
+          }
+        if (api_only)
+          {
+             if (!edje_edit_program_api_name_get(ed, name))
+               {
+                  DBG("filter out program '%s': not API.", name);
+                  continue;
+               }
+          }
+
+        found = EINA_TRUE;
+        program_begin(name);
+        program_details(ed, name);
+        program_end();
+     }
+
+   programs_end();
+   return found;
+}
+
+static int
+_list(const char *mode)
+{
+   Eina_List *l;
+   const char *name;
+   int ret = 0;
+   Eina_Bool found_group = EINA_FALSE;
+   Eina_Bool req_part, found_part, req_prog, found_prog;
+
+   if ((!strcmp(mode, "parts")) || (!strcmp(mode, "groups")))
+     {
+        req_part = EINA_TRUE;
+        found_part = EINA_FALSE;
+     }
+   else
+     {
+        req_part = EINA_FALSE;
+        found_part = EINA_TRUE;
+     }
+
+   if ((!strcmp(mode, "programs")) || (!strcmp(mode, "groups")))
+     {
+        req_prog = EINA_TRUE;
+        found_prog = EINA_FALSE;
+     }
+   else
+     {
+        req_prog = EINA_FALSE;
+        found_prog = EINA_TRUE;
+     }
+
+   EINA_LIST_FOREACH(groups, l, name)
+     {
+        Evas_Object *ed;
+
+        if (!matches(name, group))
+          {
+             DBG("filter out group '%s': does not match '%s'", name, group);
+             continue;
+          }
+
+        ed = edje_edit_object_add(ecore_evas_get(ee));
+        if (!edje_object_file_set(ed, file, name))
+          {
+             Edje_Load_Error err = edje_object_load_error_get(ed);
+             const char *errmsg = edje_load_error_str(err);
+             ERR("could not load group '%s' from file '%s': %s",
+                 name, file, errmsg);
+             evas_object_del(ed);
+             continue;
+          }
+
+        found_group = EINA_TRUE;
+        group_begin(name);
+        group_details(ed);
+
+        if (req_part) found_part |= _group_parts_list(ed);
+        if (req_prog) found_prog |= _group_programs_list(ed);
+
+        group_end();
+        evas_object_del(ed);
+     }
+
+   /* no hard requirement for parts or programs for group listing */
+   if (!strcmp(mode, "groups")) req_part = req_prog = EINA_FALSE;
+
+   if (!found_group)
+     {
+        WRN("no groups match '%s'", group);
+        ret = 1;
+     }
+   if ((req_part) && (!found_part))
+     {
+        WRN("no parts match '%s'", part);
+        ret = 1;
+     }
+   if ((req_prog) && (!found_prog))
+     {
+        WRN("no programs match '%s'", program);
+        ret = 1;
+     }
+   return ret;
+}
+
+static Evas_Object *
+_edje_object_any_get(void)
+{
+   Evas_Object *ed = edje_edit_object_add(ecore_evas_get(ee));
+   Eina_List *l;
+   const char *name;
+   if (!ed) return NULL;
+   EINA_LIST_FOREACH(groups, l, name)
+     if (edje_object_file_set(ed, file, name)) return ed;
+   evas_object_del(ed);
+   return NULL;
+}
+
+static Eina_Bool
+_gdata_list(void)
+{
+   Evas_Object *ed = _edje_object_any_get();
+   Eina_List *l, *data;
+   const char *key;
+
+   if (!ed) return EINA_FALSE;
+
+   data = edje_edit_data_list_get(ed);
+
+   if (machine) puts("DATA-BEGIN");
+   else puts("data {");
+
+   EINA_LIST_FOREACH(data, l, key)
+     {
+        const char *value = edje_edit_data_value_get(ed, key);
+        if (machine) printf("ITEM: \"%s\" \"%s\"\n", key, value);
+        else printf(INDENT "item: \"%s\" \"%s\";\n", key, value);
+     }
+
+   if (machine) puts("DATA-END");
+   else puts("}");
+
+   edje_edit_string_list_free(data);
+   evas_object_del(ed);
+   return EINA_TRUE;
+}
+
+static const char *
+_comp_str_get(Evas_Object *ed, const char *img)
+{
+   static char buf[128];
+   Edje_Edit_Image_Comp type = edje_edit_image_compression_type_get(ed, img);
+   int rate;
+
+   switch (type)
+     {
+      case EDJE_EDIT_IMAGE_COMP_RAW:
+         return "RAW";
+      case EDJE_EDIT_IMAGE_COMP_USER:
+         return "USER";
+      case EDJE_EDIT_IMAGE_COMP_COMP:
+         return "COMP";
+      case EDJE_EDIT_IMAGE_COMP_LOSSY:
+         rate = edje_edit_image_compression_rate_get(ed, img);
+         snprintf(buf, sizeof(buf), "LOSSY %d", rate);
+         return buf;
+      default:
+         ERR("Unknown compression type %d", type);
+         return "???";
+     }
+}
+
+static Eina_Bool
+_images_list(void)
+{
+   Evas_Object *ed = _edje_object_any_get();
+   Eina_List *l, *images;
+   const char *img;
+
+   if (!ed) return EINA_FALSE;
+
+   images = edje_edit_images_list_get(ed);
+
+   if (machine) puts("IMAGES-BEGIN");
+   else puts("images {");
+
+   EINA_LIST_FOREACH(images, l, img)
+     {
+        int id = edje_edit_image_id_get(ed, img);
+        const char *comp = _comp_str_get(ed, img);
+
+        if (detail < 1)
+          {
+             if (machine) printf("IMAGE: %s\n", img);
+             else printf(INDENT "image: \"%s\" %s;\n", img, comp);
+          }
+        else if (detail == 1)
+          {
+             if (machine) printf("IMAGE: \"%s\" \"%s\"\n", img, comp);
+             else printf(INDENT "image: \"%s\" %s;\n", img, comp);
+          }
+        else
+          {
+             if (machine)
+               printf("IMAGE: \"edje/images/%d\" \"%s\" \"%s\"\n",
+                      id, img, comp);
+             else
+               printf(INDENT "image: \"%s\" %s; /* id: \"edje/images/%d\" */\n",
+                      img, comp, id);
+          }
+     }
+
+   if (machine) puts("IMAGES-END");
+   else puts("}");
+
+   edje_edit_string_list_free(images);
+   evas_object_del(ed);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_fonts_list(void)
+{
+   Evas_Object *ed = _edje_object_any_get();
+   Eina_List *l, *fonts;
+   const char *alias;
+
+   if (!ed) return EINA_FALSE;
+
+   fonts = edje_edit_fonts_list_get(ed);
+
+   if (machine) puts("FONTS-BEGIN");
+   else puts("fonts {");
+
+   EINA_LIST_FOREACH(fonts, l, alias)
+     {
+        const char *path = edje_edit_font_path_get(ed, alias);
+
+        if (detail < 1)
+          {
+             if (machine) printf("FONT: %s\n", alias);
+             else printf(INDENT "font: \"%s\" \"%s\";\n", path, alias);
+          }
+        else if (detail == 1)
+          {
+             if (machine) printf("FONT: \"%s\" \"%s\"\n", path, alias);
+             else printf(INDENT "font: \"%s\" \"%s\";\n", path, alias);
+          }
+        else
+          {
+             if (machine)
+               printf("FONT: \"edje/fonts/%s\" \"%s\" \"%s\"\n",
+                      alias, path, alias);
+             else
+               printf(INDENT
+                      "font: \"%s\" \"%s\"; /* id: \"edje/fonts/%s\" */\n",
+                      path, alias, alias);
+          }
+
+        edje_edit_string_free(path);
+     }
+
+   if (machine) puts("FONTS-END");
+   else puts("}");
+
+   edje_edit_string_list_free(fonts);
+   evas_object_del(ed);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_externals_list(void)
+{
+   Evas_Object *ed = _edje_object_any_get();
+   Eina_List *l, *externals;
+   const char *key;
+
+   if (!ed) return EINA_FALSE;
+
+   externals = edje_edit_externals_list_get(ed);
+
+   if (machine) puts("EXTERNALS-BEGIN");
+   else puts("externals {");
+
+   EINA_LIST_FOREACH(externals, l, key)
+     {
+        if (machine) printf("EXTERNAL: %s\n", key);
+        else printf(INDENT "external: \"%s\";\n", key);
+     }
+
+   if (machine) puts("EXTERNALS-END");
+   else puts("}");
+
+   edje_edit_string_list_free(externals);
+   evas_object_del(ed);
+   return EINA_TRUE;
+}
+
+
+int
+main(int argc, char **argv)
+{
+   Eina_Bool quit_option = EINA_FALSE;
+   char *mode = NULL;
+   char *detail_name = NULL;
+   int arg_index;
+   int ret = 0;
+   Ecore_Getopt_Value values[] = {
+     ECORE_GETOPT_VALUE_STR(mode),
+     ECORE_GETOPT_VALUE_STR(detail_name),
+     ECORE_GETOPT_VALUE_STR(group),
+     ECORE_GETOPT_VALUE_STR(part),
+     ECORE_GETOPT_VALUE_STR(program),
+     ECORE_GETOPT_VALUE_BOOL(api_only),
+     ECORE_GETOPT_VALUE_BOOL(api_fix),
+     ECORE_GETOPT_VALUE_BOOL(machine),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_NONE
+   };
+
+   setlocale(LC_NUMERIC, "C");
+
+   ecore_init();
+   ecore_evas_init();
+   eina_init();
+   edje_init();
+
+   _log_dom = eina_log_domain_register("edje_inspector", EINA_COLOR_YELLOW);
+   if (_log_dom < 0)
+     {
+        EINA_LOG_CRIT("could not register log domain 'edje_inspector'");
+        ret = 1;
+        goto error_log;
+     }
+
+   arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
+   if (arg_index < 0)
+     {
+        ERR("could not parse arguments.");
+        ret = 1;
+        goto error_getopt;
+     }
+   else if (quit_option) goto error_getopt;
+   else if (arg_index != argc - 1)
+     {
+        ERR("incorrect number of parameters. Requires one single file.");
+        ret = 1;
+        goto error_getopt;
+     }
+
+   if (!mode) mode = (char *)mode_choices[0];
+
+   if (detail_name)
+     {
+        if (!strcmp(detail_name, "none")) detail = 0;
+        else if (!strcmp(detail_name, "terse")) detail = 1;
+        else if (!strcmp(detail_name, "all")) detail = 2;
+        else ERR("Unknown detail level: '%s'", detail_name);
+     }
+
+   file = argv[arg_index];
+
+   // check if the file is accessible
+   if (access(file, R_OK) == -1)
+     {
+        int e = errno;
+        ERR("File '%s' not accessible, error %d (%s).\n",
+            file, e, strerror(e));
+        ret = 1;
+        goto error_getopt;
+     }
+
+   DBG("mode=%s, detail=%d(%s), group=%s, part=%s, program=%s, api-only=%hhu"
+       ", api-fix=%hhu, machine=%hhu, file=%s",
+       mode, detail, detail_name,
+       group ? group : "",
+       part ? part : "",
+       program ? program : "",
+       api_only, api_fix, machine, file);
+
+
+   groups = edje_file_collection_list(file);
+   if (!groups)
+     {
+        ERR("no groups in edje file '%s'", file);
+        ret = 1;
+        goto error_getopt;
+     }
+
+   if (!strcmp(mode, "groups-names")) ret = _groups_names_list();
+   else
+     {
+        ee = ecore_evas_buffer_new(1, 1);
+        if (!ee)
+          {
+             ERR("could not create ecore_evas_buffer");
+             ret = 1;
+          }
+        else
+          {
+             if (!strcmp(mode, "parts-names")) ret = _parts_names_list();
+             else if (!strcmp(mode, "global-data")) ret = _gdata_list();
+             else if (!strcmp(mode, "images")) ret = _images_list();
+             else if (!strcmp(mode, "fonts")) ret = _fonts_list();
+             else if (!strcmp(mode, "externals")) ret = _externals_list();
+             else ret = _list(mode);
+             ecore_evas_free(ee);
+          }
+     }
+
+   edje_file_collection_list_free(groups);
+ error_getopt:
+   eina_log_domain_unregister(_log_dom);
+ error_log:
+   edje_shutdown();
+   ecore_evas_shutdown();
+   ecore_shutdown();
+   eina_shutdown();
+
+   return ret;
+}
diff --git a/src/bin/edje/edje_multisense_convert.c b/src/bin/edje/edje_multisense_convert.c
new file mode 100644 (file)
index 0000000..49e58f7
--- /dev/null
@@ -0,0 +1,329 @@
+#include "edje_multisense_convert.h"
+
+#ifdef HAVE_LIBSNDFILE
+# define READBUF 1024
+# ifdef HAVE_VORBIS
+#  include <vorbis/vorbisenc.h>
+# endif
+
+# ifdef HAVE_LIBFLAC
+#  include <FLAC/metadata.h>
+#  include <FLAC/stream_encoder.h>
+# endif
+
+Edje_Sound_Encode *
+_edje_multisense_encode(const char *filename, Edje_Sound_Sample *sample, double quality EINA_UNUSED)
+{
+   SF_INFO sfinfo;
+   SNDFILE* sfile;
+   Edje_Sound_Encode *enc_info;
+   
+   enc_info = calloc(1, sizeof(Edje_Sound_Encode));
+   if (!enc_info)
+     {
+        ERR("while allocating memory to load file ");
+        exit(-1);
+     }
+   memset (&sfinfo, 0, sizeof (SF_INFO));
+   
+   enc_info->encoded = EINA_FALSE;
+   enc_info->comp_type = "RAW PCM";
+   
+   // Open wav file using sndfile
+   sfile = sf_open (filename, SFM_READ, &sfinfo);
+   if (!sfile)
+     {
+        ERR("Unable to open audio file: %s", filename);
+        exit(-1);
+     }
+
+   if (!sf_format_check(&sfinfo))
+     {
+        ERR("Unknown file, not a valid audio file");
+        exit(-1);
+     }
+
+   if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_COMP)
+     {
+        sf_close(sfile);
+#ifdef HAVE_LIBFLAC
+        //encode provided wav file to flac
+        enc_info->file = _edje_multisense_encode_to_flac((char *)filename, sfinfo);
+        if (enc_info->file)
+          {
+             enc_info->comp_type = "FLAC";
+             enc_info->encoded = EINA_TRUE;
+          }
+#else
+        WRN("WARNING: Unable to encode sound %s to FLAC compression",
+            sample->name);
+#endif
+     }
+   else if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY)
+     {
+        sf_close(sfile);
+#ifdef HAVE_VORBIS
+        //encode provided wav file to ogg-vorbis
+        enc_info->file = _edje_multisense_encode_to_ogg_vorbis((char *)filename,
+                                                               quality, sfinfo);
+        if (enc_info->file)
+          {
+             enc_info->comp_type = "OGG-VORBIS";
+             enc_info->encoded = EINA_TRUE;
+          }
+#else
+        WRN("WARNING: Unable to encode sound %s to Ogg-Vorbis",
+            sample->name);
+#endif
+     }
+   else
+     eina_stringshare_replace(&enc_info->file, filename);
+   return enc_info;
+}
+
+#ifdef HAVE_LIBFLAC
+const char*
+_edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo)
+{
+   unsigned int total_samples = 0; /* can use a 32-bit number due to WAVE size limitations */
+   FLAC__bool ok = 1;
+   FLAC__StreamEncoder *encoder = 0;
+   FLAC__StreamEncoderInitStatus init_status;
+   FLAC__StreamMetadata *metadata[2];
+   FLAC__StreamMetadata_VorbisComment_Entry entry;
+   SNDFILE *sfile;
+   sf_count_t size;
+   char *tmp;
+
+   sfile = sf_open(snd_path, SFM_READ, &sfinfo);
+   if (!sfile) return NULL;
+   if (!sf_format_check(&sfinfo))
+     {
+        sf_close(sfile);
+        return NULL;
+     }
+   size = sf_seek(sfile, 0, SEEK_END);
+   sf_seek(sfile, 0, SEEK_SET);
+   tmp = malloc(strlen(snd_path) + 1 + 5);
+   if (!tmp)
+     {
+        sf_close(sfile);
+        return NULL;
+     }
+   strcpy(tmp, snd_path);
+   snd_path = tmp;
+   strcat(snd_path, ".flac");
+
+   total_samples = size;
+
+   /* allocate the encoder */
+   if ((encoder = FLAC__stream_encoder_new()) == NULL)
+     {
+        ERR("ERROR: Creating FLAC encoder\n");
+        free(snd_path);
+        sf_close(sfile);
+        return NULL;
+     }
+
+   /* Verify it's own encoded output. This will slow the encoding process. */
+   ok &= FLAC__stream_encoder_set_verify(encoder, 1);
+
+   //Levels range from 0 (fastest, least compression) to 8 (slowest, most compression).
+   //A value larger than 8 will be treated as 8.
+   //5 is used for good compression and moderate compression/decompression speed.
+   ok &= FLAC__stream_encoder_set_compression_level(encoder, 5);
+   ok &= FLAC__stream_encoder_set_channels(encoder, sfinfo.channels);
+   ok &= FLAC__stream_encoder_set_bits_per_sample(encoder, 16);
+   ok &= FLAC__stream_encoder_set_sample_rate(encoder, sfinfo.samplerate);
+   ok &= FLAC__stream_encoder_set_total_samples_estimate(encoder, total_samples);
+
+   /* now add some metadata; we'll add some tags and a padding block */
+   if (ok)
+     {
+        if ((metadata[0] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)) == NULL
+            || (metadata[1] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)) == NULL
+            || !FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&entry, "Encoder", "flac")
+            || !FLAC__metadata_object_vorbiscomment_append_comment(metadata[0], entry, 0))
+          {
+             ERR("ERROR: out of memory error or tag error\n");
+             ok = 0;
+          }
+        metadata[1]->length = 16; /* set the padding length */
+        ok = FLAC__stream_encoder_set_metadata(encoder, metadata, 2);
+     }
+
+   /* initialize encoder */
+   if (ok)
+     {
+        init_status = FLAC__stream_encoder_init_file(encoder, snd_path, NULL,
+                                                     (void *)(long)(total_samples));
+        if (init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK)
+          {
+             ERR("ERROR: unable to initialize FLAC encoder: %s\n",
+                 FLAC__StreamEncoderInitStatusString[init_status]);
+             ok = 0;
+          }
+     }
+   
+   /* read blocks of samples from WAVE file and feed to encoder */
+   while (ok)
+     {
+        FLAC__int32 readbuffer[READBUF * 2];
+        sf_count_t count;
+        int i;
+        
+        count = sf_readf_int(sfile, readbuffer, READBUF);
+        if (count <= 0) break;
+        for (i = 0; i < (count * sfinfo.channels); i++)
+          readbuffer[i] = readbuffer[i] >> 16;
+        ok = FLAC__stream_encoder_process_interleaved(encoder, readbuffer,
+                                                      count);
+     }
+
+   FLAC__stream_encoder_finish(encoder);
+   /* now that encoding is finished, the metadata can be freed */
+   FLAC__metadata_object_delete(metadata[0]);
+   FLAC__metadata_object_delete(metadata[1]);
+
+   FLAC__stream_encoder_delete(encoder);
+   sf_close(sfile);
+   return (snd_path);
+}
+#endif
+
+#ifdef HAVE_VORBIS
+const char *
+_edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sfinfo)
+{
+   ogg_stream_state os; /* take physical pages, weld into a logical stream of packets */
+   ogg_page og; /* one Ogg bitstream page.  Vorbis packets are inside */
+   ogg_packet op; /* one raw packet of data for decode */
+   vorbis_info vi; /* struct that stores all the static vorbis bitstream settings */
+   vorbis_comment vc; /* struct that stores all the user comments */
+   vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
+   vorbis_block vb; /* local working space for packet->PCM decode */
+   int eos = 0, ret;
+   char *tmp;
+   SNDFILE *sfile;
+   FILE *fout;
+
+   sfile = sf_open(snd_path, SFM_READ, &sfinfo);
+   if (!sfile) return NULL;
+   if (!sf_format_check(&sfinfo))
+     {
+        sf_close(sfile);
+        return NULL;
+     }
+   tmp = malloc(strlen(snd_path) + 1 + 4);
+   if (!tmp)
+     {
+        sf_close(sfile);
+        return NULL;
+     }
+   strcpy(tmp, snd_path);
+   snd_path = tmp;
+   strcat(snd_path, ".ogg");
+   fout = fopen(snd_path, "wb");
+   if (!fout)
+     {
+        free(snd_path);
+        sf_close(sfile);
+        return NULL;
+     }
+
+   /********** Encode setup ************/
+   vorbis_info_init(&vi);
+   ret = vorbis_encode_init(&vi, sfinfo.channels, sfinfo.samplerate, 
+                            -1, (long)(quality * 1000), -1);
+   if (ret == OV_EFAULT) printf("OV_EFAULT\n");
+   if (ret == OV_EINVAL) printf("OV_EINVAL\n");
+   if (ret == OV_EIMPL) printf("OV_EIMPL\n");
+
+   if (ret)
+     {
+        fclose(fout);
+        free(snd_path);
+        sf_close(sfile);
+        return NULL;
+     }
+
+   /* add a comment */
+   vorbis_comment_init(&vc);
+   vorbis_comment_add_tag(&vc, "", "");
+
+   /* set up the analysis state and auxiliary encoding storage */
+   vorbis_analysis_init(&vd, &vi);
+   vorbis_block_init(&vd, &vb);
+
+   srand(time(NULL));
+   ogg_stream_init(&os, rand());
+
+   ogg_packet header;
+   ogg_packet header_comm;
+   ogg_packet header_code;
+
+   vorbis_analysis_headerout(&vd, &vc, &header, &header_comm, &header_code);
+   ogg_stream_packetin(&os, &header); /* automatically placed in its own page */
+   ogg_stream_packetin(&os, &header_comm);
+   ogg_stream_packetin(&os, &header_code);
+
+   while (!eos)
+     {
+        int result = ogg_stream_flush(&os, &og);
+        if (!result) break;
+        fwrite(og.header, 1, og.header_len, fout);
+        fwrite(og.body, 1, og.body_len, fout);
+     }
+
+   while (!eos)
+     {
+        int i, ch;
+        float readbuffer[READBUF * 2];
+        sf_count_t count;
+        
+        count = sf_readf_float(sfile, readbuffer, READBUF);
+
+        if (!count)
+          vorbis_analysis_wrote(&vd, 0);
+        else
+          {
+             float **buffer = vorbis_analysis_buffer(&vd, count);
+             
+             /* uninterleave samples */
+             for (i = 0; i < count; i++)
+               {
+                  for (ch = 0; ch < sfinfo.channels; ch++)
+                    buffer[ch][i]= readbuffer[(i * sfinfo.channels) + ch];
+               }
+             vorbis_analysis_wrote(&vd, i);
+          }
+        while (vorbis_analysis_blockout(&vd, &vb) == 1)
+          {
+             vorbis_analysis(&vb, NULL);
+             vorbis_bitrate_addblock(&vb);
+
+             while (vorbis_bitrate_flushpacket(&vd, &op))
+               {
+                  ogg_stream_packetin(&os, &op);
+                  while (!eos)
+                    {
+                       int result = ogg_stream_pageout(&os, &og);
+                       if (!result) break;
+                       fwrite(og.header, 1, og.header_len, fout);
+                       fwrite(og.body, 1, og.body_len, fout);
+                       if (ogg_page_eos(&og)) eos = 1;
+                    }
+               }
+          }
+     }
+   ogg_stream_clear(&os);
+   vorbis_block_clear(&vb);
+   vorbis_dsp_clear(&vd);
+   vorbis_comment_clear(&vc);
+   vorbis_info_clear(&vi);
+   sf_close(sfile);
+   fclose (fout);
+   return snd_path;
+}
+#endif
+#endif
diff --git a/src/bin/edje/edje_multisense_convert.h b/src/bin/edje/edje_multisense_convert.h
new file mode 100644 (file)
index 0000000..05ee2f7
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef EDJE_SND_CONVERT_H__
+# define EDJE_SND_CONVERT_H__
+#include "edje_private.h"
+
+#ifdef HAVE_LIBSNDFILE
+#include <sndfile.h>
+
+#define SF_CONTAINER(x)    ((x) & SF_FORMAT_TYPEMASK)
+#define SF_CODEC(x)        ((x) & SF_FORMAT_SUBMASK)
+
+typedef struct _Edje_Sound_Encode  Edje_Sound_Encode;
+
+struct _Edje_Sound_Encode /*Encoding information*/
+{
+   const char *file; /* the encode sound file path */
+   Eina_Bool encoded; /* True if encoding is successful else False */
+   char *comp_type; /* either LOSSLESS (FLAC) or LOSSY (Ogg/Vorbis) Compression */
+};
+
+Edje_Sound_Encode *_edje_multisense_encode(const char* filename, Edje_Sound_Sample *sample, double quality);
+const char *_edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo);
+const char *_edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sfinfo);
+
+#endif
+#endif
diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c
new file mode 100644 (file)
index 0000000..500ac7c
--- /dev/null
@@ -0,0 +1,1376 @@
+#ifdef HAVE_CONFIG_H\r
+# include "config.h"\r
+#endif\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+#include <errno.h>\r
+#include <unistd.h>\r
+#include <fcntl.h>\r
+#include <ctype.h>\r
+#include <Ecore_Getopt.h>\r
+\r
+#ifdef HAVE_EVIL\r
+# include <Evil.h>\r
+#endif\r
+\r
+#include "edje_cc.h"\r
+#include "edje_private.h"\r
+\r
+#define EDJE_PICK_HELP_STRING \\r
+"\nEdje Pick - the \"edj\" merging tool.\n\\r
+===================================\n\n\\r
+Use Edje Pick to compose a single edj file \\r
+by selecting groups from edj files.\n\n\\r
+Use Edje Pick as follows:\n\\r
+Include files with \'--include\' file-name\n\\r
+Follow the included file-name by names of selected groups from this file.\n\\r
+To select a group use: \'--group\' group-name.\n\n\\r
+You must specify merged file name with \'--output\' file-name.\n\\r
+Use '--verbose' switch to get detailed log.\n\n\\r
+To produce 3rd file \'out.edj\' that composed  of:\n\\r
+Group \'test\' from \'ex1.edj\' and \'test2\', \'test3\', from \'ex2.edj\'\n\\r
+edje_pick -i ex1.edj -g test -i ex2.edj -g test2 -g test3 -o out.edj\n\n\\r
+By using \'--append\' whole file content is selected.\n\\r
+No need to specify selected groups with this switch.\n\\r
+Note that selected group with will override group with the same name\n\\r
+from appended-file when using \'--append\' switch.\n\n\\r
+Example, the command:\n\\r
+edje_pick -a theme1.edj -i default.edj -g elm/button/base/default \\r
+-g elm/check/base/default -o hybrid.edj\n\n\\r
+will produce a 3rd theme file \'hybrid.edj\',\n\\r
+composed of all theme1.edj components.\n\\r
+Replacing the button and check with widgets taken from default theme.\n\\r
+(Given that theme1.edj button, check group-name are as in default.edj)\n"\r
+\r
+struct _Edje_Pick_Id\r
+{\r
+   int old_id;\r
+   int new_id;\r
+   Eina_Bool used;\r
+};\r
+typedef struct _Edje_Pick_Id Edje_Pick_Id;\r
+\r
+struct _Edje_Pick_File_Params\r
+{\r
+   const char *name;\r
+   Eina_List *groups;\r
+   Edje_File *edf;     /* Keeps all file data after reading  */\r
+   Eina_Bool append;   /* Take everything from this file */\r
+\r
+   /* We hold list of IDs for each file */\r
+   Eina_List *scriptlist;\r
+   Eina_List *luascriptlist;\r
+   Eina_List *imagelist;\r
+   Eina_List *imagesetlist;  /* List of IDs (Edje_Pick_Data) for image sets */\r
+   Eina_List *samplelist;\r
+   Eina_List *tonelist;\r
+};\r
+typedef struct _Edje_Pick_File_Params Edje_Pick_File_Params;\r
+\r
+struct _Edje_Pick_Data\r
+{\r
+   const char *filename;  /* Image, Sample File Name       */\r
+   void *entry ;          /* used to build output file dir FIXME: REMOVE THIS */\r
+   void *data;            /* Data as taken from input file */\r
+\r
+   int size;\r
+   Edje_Pick_Id id;\r
+};\r
+typedef struct _Edje_Pick_Data Edje_Pick_Data;\r
+\r
+struct _Edje_Pick_Tone\r
+{\r
+   Edje_Sound_Tone *tone;\r
+   Eina_Bool used;\r
+};\r
+typedef struct _Edje_Pick_Tone Edje_Pick_Tone;\r
+\r
+struct _Edje_Pick_Font\r
+{\r
+   Edje_Font *f;\r
+   Eina_Bool used;\r
+};\r
+typedef struct _Edje_Pick_Font Edje_Pick_Font;\r
+\r
+struct _Edje_Pick\r
+{\r
+   Eina_Bool v; /* Verbose */\r
+   Edje_Pick_File_Params *current_file;\r
+   Eina_List *fontlist;\r
+};\r
+typedef struct _Edje_Pick Edje_Pick;\r
+\r
+static Edje_Pick context = { EINA_FALSE, NULL, NULL };\r
+\r
+#define VERBOSE(COMMAND) if (context.v) { COMMAND; }\r
+\r
+enum _Edje_Pick_Status\r
+  {\r
+    EDJE_PICK_NO_ERROR,\r
+    EDJE_PICK_OUT_FILENAME_MISSING,\r
+    EDJE_PICK_FAILED_OPEN_INP,\r
+    EDJE_PICK_FAILED_READ_INP,\r
+    EDJE_PICK_GROUP_NOT_FOUND,\r
+    EDJE_PICK_IMAGE_NOT_FOUND,\r
+    EDJE_PICK_SAMPLE_NOT_FOUND,\r
+    EDJE_PICK_INCLUDE_MISSING,\r
+    EDJE_PICK_GROUP_MISSING,\r
+    EDJE_PICK_PARSE_FAILED,\r
+    EDJE_PICK_HELP_SHOWN,\r
+    EDJE_PICK_DUP_GROUP\r
+  };\r
+typedef enum _Edje_Pick_Status Edje_Pick_Status;\r
+\r
+static void\r
+_edje_pick_args_show(Eina_List *ifs, char *out)\r
+{  /* Print command-line arguments after parsing phase */\r
+   Edje_Pick_File_Params *p;\r
+   Eina_List *l;\r
+   char *g;\r
+\r
+   EINA_LOG_INFO("Got args for <%d> input files.\n", eina_list_count(ifs));\r
+\r
+   EINA_LIST_FOREACH(ifs, l, p)\r
+     {\r
+        Eina_List *ll;\r
+\r
+        if (p->append)\r
+          printf("\nFile name: %s\n\tGroups: ALL (append mode)\n", p->name);\r
+        else\r
+          {\r
+             printf("\nFile name: %s\n\tGroups:\n", p->name);\r
+             EINA_LIST_FOREACH(p->groups, ll, g)\r
+                printf("\t\t%s\n", g);\r
+          }\r
+     }\r
+\r
+   EINA_LOG_INFO("\nOutput file name was <%s>\n", out);\r
+}\r
+\r
+static void\r
+_edje_pick_data_free(Eina_List *l)\r
+{\r
+   Edje_Pick_Data *ep;\r
+\r
+   EINA_LIST_FREE(l, ep)\r
+     {\r
+        if (ep->filename) eina_stringshare_del(ep->filename);\r
+        free(ep->data);\r
+        free(ep);\r
+     }\r
+}\r
+\r
+static void\r
+_edje_pick_out_file_free(Edje_File *out_file)\r
+{\r
+   if (out_file)\r
+     {\r
+        /* Free output file memory allocation */\r
+        if (out_file->ef)\r
+          eet_close(out_file->ef);\r
+\r
+        if (out_file->external_dir)\r
+          {\r
+             if (out_file->external_dir->entries)\r
+               free(out_file->external_dir->entries);\r
+\r
+             free(out_file->external_dir);\r
+          }\r
+\r
+        if (out_file->image_dir)\r
+          {\r
+             if (out_file->image_dir->entries)\r
+               free(out_file->image_dir->entries);\r
+\r
+             free(out_file->image_dir);\r
+          }\r
+\r
+        if (out_file->sound_dir)\r
+          {\r
+             if (out_file->sound_dir->samples)\r
+               free(out_file->sound_dir->samples);\r
+\r
+             if (out_file->sound_dir->tones)\r
+               free(out_file->sound_dir->tones);\r
+\r
+             free(out_file->sound_dir);\r
+          }\r
+\r
+        eina_list_free(out_file->color_classes);\r
+        eina_hash_free_cb_set(out_file->collection, free);\r
+        eina_hash_free(out_file->collection);\r
+        eina_stringshare_del(out_file->compiler);\r
+\r
+        free(out_file);\r
+     }\r
+}\r
+\r
+static int\r
+_edje_pick_cleanup(Eina_List *ifs, Edje_File *out_file, Edje_Pick_Status s)\r
+{\r
+   Edje_Pick_File_Params *p;\r
+   Edje_Pick_Font *ft;\r
+   void *n;\r
+\r
+   _edje_pick_out_file_free(out_file);\r
+\r
+   EINA_LIST_FREE(ifs, p)\r
+     {\r
+        EINA_LIST_FREE(p->groups, n)\r
+          eina_stringshare_del(n);\r
+\r
+        _edje_pick_data_free(p->scriptlist);\r
+        p->scriptlist = NULL;\r
+\r
+        _edje_pick_data_free(p->luascriptlist);\r
+        p->luascriptlist = NULL;\r
+\r
+        _edje_pick_data_free(p->imagelist);\r
+        p->imagelist = NULL;\r
+\r
+        _edje_pick_data_free(p->imagesetlist);\r
+        p->imagesetlist = NULL;\r
+\r
+        _edje_pick_data_free(p->samplelist);\r
+\r
+        EINA_LIST_FREE(p->tonelist, n)\r
+          free(n);\r
+\r
+        if (p->edf)\r
+          _edje_cache_file_unref(p->edf);\r
+\r
+        free(p);\r
+     }\r
+\r
+   EINA_LIST_FREE(context.fontlist, ft)\r
+     {\r
+        Edje_Font *st = ft->f;\r
+\r
+        eina_stringshare_del(st->name);\r
+        eina_stringshare_del(st->file);\r
+        free(st);\r
+        free(ft);\r
+     }\r
+\r
+   switch (s)\r
+     {\r
+      case EDJE_PICK_OUT_FILENAME_MISSING:\r
+         EINA_LOG_ERR("Output file name missing.\n");\r
+         break;\r
+      case EDJE_PICK_FAILED_OPEN_INP:\r
+         EINA_LOG_ERR("Failed to open input file.\n");\r
+         break;\r
+      case EDJE_PICK_FAILED_READ_INP:\r
+         EINA_LOG_ERR("Failed to read input file.\n");\r
+         break;\r
+      case EDJE_PICK_DUP_GROUP:\r
+         EINA_LOG_ERR("Can't fetch groups with identical name from various files.\n");\r
+         break;\r
+      case EDJE_PICK_INCLUDE_MISSING:\r
+         EINA_LOG_ERR("Cannot select groups when no input file included.\n");\r
+         break;\r
+      case EDJE_PICK_GROUP_MISSING:\r
+         EINA_LOG_ERR("Group name missing for include file.\n");\r
+         break;\r
+      case EDJE_PICK_PARSE_FAILED:\r
+         EINA_LOG_ERR("Command parsing failed.\n");\r
+         break;\r
+      default:\r
+         return s;\r
+     }\r
+\r
+   _edje_edd_shutdown();\r
+   eet_shutdown();\r
+   return s;\r
+}\r
+\r
+/* Look for group name in all input files that are not d1 */\r
+static int\r
+_group_name_in_other_file(Eina_List *inp_files, void *d1, void *d2)\r
+{\r
+   Edje_Pick_File_Params *inp_file = d1;\r
+   char *group = d2; /* Group name to search */\r
+   Eina_List *f;\r
+   Edje_Pick_File_Params *current_file;\r
+\r
+   EINA_LIST_FOREACH(inp_files, f, current_file)\r
+     if (inp_file != current_file)\r
+       if (eina_list_search_unsorted(current_file->groups,\r
+                                     (Eina_Compare_Cb) strcmp,\r
+                                     group))\r
+         return 1;\r
+\r
+   return 0;  /* Not found */\r
+}\r
+\r
+static int\r
+_edje_pick_command_line_parse(int argc, char **argv,\r
+                             Eina_List **ifs, char **ofn)\r
+{  /* On return ifs is Input Files List, ofn is Output File Name */\r
+   Eina_List *gpf = NULL; /* List including counters of groups-per-file */\r
+   Eina_List *a_files = NULL;\r
+   Eina_List *i_files = NULL;\r
+   Eina_List *l;\r
+   Eina_List *ll;\r
+   Eina_List *cg;\r
+   Eina_List *groups = NULL;\r
+   char *output_filename = NULL;\r
+   Edje_Pick_File_Params *current_inp = NULL;\r
+   Eina_List *files = NULL;  /* List of input files */\r
+   int *c = NULL;\r
+   char *str = NULL;\r
+   int k;\r
+   Eina_Bool show_help = EINA_FALSE;\r
+\r
+   /* Define args syntax */\r
+#define IS_GROUP(x) ((!strcmp(x, "-g")) || (!strcmp(x, "--group")))\r
+#define IS_INCLUDE(x) ((!strcmp(x, "-i")) || (!strcmp(x, "--include")))\r
+#define IS_HELP(x) ((!strcmp(x, "-h")) || (!strcmp(x, "--help")))\r
+   static const Ecore_Getopt optdesc = {\r
+        "edje_pick",\r
+        NULL,\r
+        "0.0",\r
+        "(C) 2012 Enlightenment",\r
+        "Public domain?",\r
+        "Edje Pick - the \"edj\" merging tool.",\r
+\r
+        EINA_TRUE,\r
+        {\r
+           ECORE_GETOPT_STORE_TRUE('v', "verbose", "Verbose"),\r
+           ECORE_GETOPT_STORE('o', "output", "Output File",\r
+                 ECORE_GETOPT_TYPE_STR),\r
+           ECORE_GETOPT_APPEND_METAVAR('a', "append", "Append File",\r
+                 "STRING", ECORE_GETOPT_TYPE_STR),\r
+           ECORE_GETOPT_APPEND_METAVAR('i', "include", "Include File",\r
+                 "STRING", ECORE_GETOPT_TYPE_STR),\r
+           ECORE_GETOPT_APPEND_METAVAR('g', "group", "Add Group",\r
+                 "STRING", ECORE_GETOPT_TYPE_STR),\r
+           ECORE_GETOPT_HELP('h', "help"),\r
+           ECORE_GETOPT_SENTINEL\r
+        }\r
+   };\r
+\r
+   Ecore_Getopt_Value values[] = {\r
+        ECORE_GETOPT_VALUE_BOOL(context.v),\r
+        ECORE_GETOPT_VALUE_STR(output_filename),\r
+        ECORE_GETOPT_VALUE_LIST(a_files),\r
+        ECORE_GETOPT_VALUE_LIST(i_files),\r
+        ECORE_GETOPT_VALUE_LIST(groups),\r
+        ECORE_GETOPT_VALUE_NONE\r
+   };\r
+\r
+   /* START - Read command line args */\r
+   c = NULL;\r
+   for(k = 1; k < argc; k++)\r
+     {  /* Run through args, count how many groups per file */\r
+        if(IS_GROUP(argv[k]))\r
+          {\r
+             if (!c)\r
+               return _edje_pick_cleanup(files, NULL,\r
+                     EDJE_PICK_INCLUDE_MISSING);\r
+\r
+             (*c)++;\r
+             continue;\r
+          }\r
+\r
+        if(IS_INCLUDE(argv[k]))\r
+          {\r
+             c = calloc(1, sizeof(int));\r
+             gpf = eina_list_append(gpf, c);\r
+             continue;\r
+          }\r
+\r
+        show_help |= IS_HELP(argv[k]);\r
+     }\r
+\r
+   if (show_help)\r
+     puts(EDJE_PICK_HELP_STRING);\r
+\r
+   if (ecore_getopt_parse(&optdesc, values, argc, argv) < 0)\r
+     {\r
+        EINA_LIST_FREE(gpf, c)\r
+           free(c);\r
+\r
+        return _edje_pick_cleanup(files, NULL, EDJE_PICK_PARSE_FAILED);\r
+     }\r
+\r
+   if (show_help)\r
+     {\r
+        EINA_LIST_FREE(gpf, c)\r
+           free(c);\r
+\r
+        ecore_getopt_list_free(i_files);\r
+        ecore_getopt_list_free(groups);\r
+        return _edje_pick_cleanup(files, NULL, EDJE_PICK_HELP_SHOWN);\r
+     }\r
+\r
+   if (context.v)  /* Changed to INFO if verbose */\r
+     eina_log_level_set(EINA_LOG_LEVEL_INFO);\r
+\r
+   EINA_LIST_FOREACH(a_files, l, str)\r
+     {\r
+        current_inp = calloc(1, sizeof(*current_inp));\r
+        current_inp->append = EINA_TRUE;\r
+        current_inp->name = eina_stringshare_add(str);\r
+        files = eina_list_append(files, current_inp);\r
+     }\r
+   ecore_getopt_list_free(a_files);\r
+\r
+   ll = gpf;\r
+   cg = groups;\r
+   EINA_LIST_FOREACH(i_files, l, str)\r
+     {  /* Now match groups from groups-list with included files */\r
+        current_inp = calloc(1, sizeof(*current_inp));\r
+        current_inp->name = eina_stringshare_add(str);\r
+        files = eina_list_append(files, current_inp);\r
+        c = eina_list_data_get(ll);\r
+        if (c)\r
+          {\r
+             while(*c)\r
+               {\r
+                  char *g_name;\r
+                  if (!cg)\r
+                    {\r
+                       EINA_LIST_FREE(gpf, c)\r
+                          free(c);\r
+\r
+                       ecore_getopt_list_free(i_files);\r
+                       ecore_getopt_list_free(groups);\r
+                       return _edje_pick_cleanup(files, NULL,\r
+                             EDJE_PICK_GROUP_MISSING);\r
+                    }\r
+\r
+\r
+                  g_name = eina_list_data_get(cg);\r
+                  if (_group_name_in_other_file(files, current_inp, g_name))\r
+                    return _edje_pick_cleanup(files, NULL, EDJE_PICK_DUP_GROUP);\r
+\r
+                  if (!eina_list_search_unsorted(current_inp->groups,\r
+                           (Eina_Compare_Cb) strcmp, g_name))\r
+                    current_inp->groups = eina_list_append(\r
+                          current_inp->groups, eina_stringshare_add(g_name));\r
+\r
+                  cg = eina_list_next(cg);\r
+                  (*c)--;\r
+               }\r
+          }\r
+        ll = eina_list_next(ll);\r
+     }\r
+\r
+   EINA_LIST_FREE(gpf, c)\r
+      free(c);\r
+\r
+   ecore_getopt_list_free(i_files);\r
+   ecore_getopt_list_free(groups);\r
+\r
+\r
+   if (!output_filename)\r
+     return _edje_pick_cleanup(files, NULL, EDJE_PICK_OUT_FILENAME_MISSING);\r
+   /* END   - Read command line args */\r
+\r
+   /* Set output params, return OK */\r
+   *ifs = files;\r
+   *ofn = output_filename;\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static void\r
+_edje_pick_external_dir_update(Edje_File *o, Edje_File *edf)\r
+{\r
+   if (edf->external_dir && edf->external_dir->entries_count)\r
+     {\r
+        /* Add external-dir entries */\r
+        unsigned int total = 0;\r
+        unsigned int base = 0;\r
+\r
+        if (o->external_dir)\r
+          base = total = o->external_dir->entries_count;\r
+        else\r
+          o->external_dir = calloc(1, sizeof(*(o->external_dir)));\r
+\r
+        total += edf->external_dir->entries_count;\r
+\r
+        o->external_dir->entries = realloc(o->external_dir->entries,\r
+                                           total * sizeof(Edje_External_Directory_Entry));\r
+\r
+        memcpy(&o->external_dir->entries[base], edf->external_dir->entries,\r
+               edf->external_dir->entries_count *\r
+               sizeof(Edje_External_Directory_Entry));\r
+\r
+        o->external_dir->entries_count = total;\r
+     }\r
+}\r
+\r
+static Edje_File *\r
+_edje_pick_output_prepare(Edje_File *o, Edje_File *edf, char *name)\r
+{\r
+   /* Allocate and prepare header memory buffer */\r
+   if (!o)\r
+     {\r
+        o = calloc(1, sizeof(Edje_File));\r
+        o->compiler = eina_stringshare_add("edje_cc");\r
+        o->version = edf->version;\r
+        o->minor = edf->minor;\r
+        o->feature_ver = edf->feature_ver;\r
+        o->collection = eina_hash_string_small_new(NULL);\r
+\r
+        /* Open output file */\r
+        o->ef = eet_open(name, EET_FILE_MODE_WRITE);\r
+     }\r
+   else\r
+     {\r
+        if (o->version != edf->version)\r
+          {\r
+             EINA_LOG_WARN("Warning: Merging files of various version.\n");\r
+             if (o->version < edf->version)\r
+               o->version = edf->version;\r
+          }\r
+\r
+        if (o->minor != edf->minor)\r
+          {\r
+             EINA_LOG_WARN("Warning: Merging files of various minor.\n");\r
+             if (o->minor < edf->minor)\r
+               o->minor = edf->minor;\r
+          }\r
+\r
+        if (o->feature_ver != edf->feature_ver)\r
+          {\r
+             EINA_LOG_WARN("Warning: Merging files of various feature_ver.\n");\r
+             if (o->feature_ver < edf->feature_ver)\r
+               o->feature_ver = edf->feature_ver;\r
+          }\r
+     }\r
+\r
+   _edje_pick_external_dir_update(o, edf);\r
+   return o;\r
+}\r
+\r
+static int\r
+_edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs)\r
+{\r
+   static int current_group_id = 0;\r
+   Edje_Part_Collection_Directory_Entry *ce;\r
+   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
+   Eina_List *l;\r
+   char *name1 = NULL;\r
+\r
+\r
+   _edje_cache_file_unref(edf);\r
+\r
+   /* Build file header */\r
+   if (context.current_file->append)\r
+     {\r
+        Eina_Iterator *i;\r
+        i = eina_hash_iterator_key_new(edf->collection);\r
+        EINA_ITERATOR_FOREACH(i, name1)  /* Run through all keys */\r
+          {\r
+             Edje_Part_Collection_Directory_Entry *ce_out;\r
+\r
+             /* Use ALL groups from this file */\r
+             /* Test that no duplicate-group name for files in append mode */\r
+             /* Done here because we don't read EDC before parse cmd line  */\r
+             /* We SKIP group of file in append-mode if we got this group  */\r
+             /* from file in include mode.                                 */\r
+             if (_group_name_in_other_file(ifs, context.current_file, name1))\r
+               continue; /* Skip group of file in append mode */\r
+\r
+             ce = eina_hash_find(edf->collection, name1);\r
+             ce_out = malloc(sizeof(*ce_out));\r
+             memcpy(ce_out, ce, sizeof(*ce_out));\r
+\r
+             ce_out->id = current_group_id;\r
+             EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n",\r
+                   ce->id, ce_out->id);\r
+             current_group_id++;\r
+\r
+             eina_hash_direct_add(out_file->collection, ce_out->entry, ce_out);\r
+\r
+             /* Add this group to groups to handle for this file */\r
+             context.current_file->groups = eina_list_append(\r
+                   context.current_file->groups, eina_stringshare_add(name1));\r
+          }\r
+\r
+        eina_iterator_free(i);\r
+     }\r
+   else\r
+     {\r
+        EINA_LIST_FOREACH(context.current_file->groups, l , name1)\r
+          {\r
+             /* Verify group found then add to ouput file header */\r
+             ce = eina_hash_find(edf->collection, name1);\r
+\r
+             if (!ce)\r
+               {\r
+                  EINA_LOG_ERR("Group <%s> was not found in <%s> file.\n",\r
+                         name1, context.current_file->name);\r
+                  status = EDJE_PICK_GROUP_NOT_FOUND;\r
+               }\r
+             else\r
+               {\r
+                  Edje_Part_Collection_Directory_Entry *ce_out;\r
+\r
+                  /* Add this groups to hash, with filname pefix for entries */\r
+                  ce_out = malloc(sizeof(*ce_out));\r
+\r
+                  memcpy(ce_out, ce, sizeof(*ce_out));\r
+\r
+                  ce_out->id = current_group_id;\r
+                  EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n",\r
+                        ce->id, ce_out->id);\r
+                  current_group_id++;\r
+\r
+                  eina_hash_direct_add(out_file->collection,ce_out->entry,\r
+                        ce_out);\r
+               }\r
+          }\r
+     }\r
+\r
+   return status;\r
+}\r
+\r
+static int\r
+_id_cmp(const void *d1, const void *d2)\r
+{\r
+   /* Find currect ID struct */\r
+   return (((Edje_Pick_Data *) d1)->id.old_id - ((intptr_t) d2));\r
+}\r
+\r
+static int\r
+_edje_pick_new_id_get(Eina_List *id_list, int id, Eina_Bool set_used)\r
+{\r
+   if (id >= 0)\r
+     {\r
+        Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list,\r
+                                                         _id_cmp,\r
+                                                         (void *) (intptr_t) id);\r
+\r
+\r
+        if (p_id)\r
+          {\r
+             if (set_used)\r
+               p_id->id.used = EINA_TRUE;\r
+\r
+             return p_id->id.new_id;\r
+          }\r
+     }\r
+\r
+   return id;\r
+}\r
+\r
+static int\r
+_edje_pick_images_add(Edje_File *edf, Edje_File *o)\r
+{\r
+   char buf[1024];\r
+   int size;\r
+   unsigned int k;\r
+   void *data;\r
+   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
+   static int current_img_id = 0;\r
+\r
+   if (edf->image_dir)\r
+     {\r
+        if (!o->image_dir)  /* First time only */\r
+          o->image_dir = calloc(1, sizeof(*(o->image_dir)));\r
+\r
+        for (k = 0; k < edf->image_dir->entries_count; k++)\r
+          {  /* Copy Images */\r
+             Edje_Image_Directory_Entry *img = &edf->image_dir->entries[k];\r
+\r
+             snprintf(buf, sizeof(buf), "edje/images/%i", img->id);\r
+             VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", img->entry));\r
+             data = eet_read(edf->ef, buf, &size);\r
+             if (size)\r
+               {  /* Advance image ID and register this in imagelist */\r
+                  Edje_Pick_Data *image = malloc(sizeof(*image));\r
+\r
+                  image->filename = eina_stringshare_add(img->entry);\r
+                  image->data = data;\r
+                  image->size = size;\r
+                  image->entry = (void *) img;  /* for output file image dir */\r
+                  image->id.old_id = img->id;\r
+                  img->id = image->id.new_id = current_img_id;\r
+                  image->id.used = EINA_FALSE;\r
+\r
+                  VERBOSE(EINA_LOG_INFO("Read image <%s> data <%p> size <%d>\n",\r
+                           buf, image->data, image->size));\r
+\r
+                  current_img_id++;\r
+                  context.current_file->imagelist = eina_list_append(\r
+                        context.current_file->imagelist, image);\r
+               }\r
+             else\r
+               {\r
+                  if (img->entry)\r
+                    {\r
+                       EINA_LOG_ERR("Image <%s> was not found in <%s> file.\n",\r
+                             img->entry , context.current_file->name);\r
+                       status = EDJE_PICK_IMAGE_NOT_FOUND;\r
+                    }\r
+                  else\r
+                    {\r
+                       EINA_LOG_ERR("Image entry <%s> was not found in <%s> file.\n", buf , context.current_file->name);\r
+                       status = EDJE_PICK_IMAGE_NOT_FOUND;\r
+                    }\r
+               }\r
+          }\r
+\r
+        if (edf->image_dir->entries)\r
+          {  /* Copy image dir entries of current file */\r
+             k = o->image_dir->entries_count; /* save current entries count */\r
+             o->image_dir->entries_count += edf->image_dir->entries_count;\r
+\r
+             /* alloc mem first time  or  re-allocate again (bigger array) */\r
+             o->image_dir->entries = realloc(o->image_dir->entries,\r
+                   o->image_dir->entries_count *\r
+                   sizeof(Edje_Image_Directory_Entry));\r
+\r
+             /* Concatinate current file entries to re-allocaed array */\r
+             memcpy(&o->image_dir->entries[k], edf->image_dir->entries,\r
+                   edf->image_dir->entries_count *\r
+                   sizeof(Edje_Image_Directory_Entry));\r
+          }\r
+\r
+        if (edf->image_dir->sets)\r
+          {  /* Copy image dir sets of current file */\r
+             k = o->image_dir->sets_count;      /* save current sets count */\r
+             o->image_dir->sets_count += edf->image_dir->sets_count;\r
+             /* alloc mem first time  or  re-allocate again (bigger array) */\r
+             o->image_dir->sets = realloc(o->image_dir->sets,\r
+                   o->image_dir->sets_count *\r
+                   sizeof(Edje_Image_Directory_Set_Entry));\r
+\r
+             /* Concatinate current file sets to re-allocaed array */\r
+             memcpy(&o->image_dir->sets[k], edf->image_dir->sets,\r
+                   edf->image_dir->sets_count *\r
+                   sizeof(Edje_Image_Directory_Set_Entry));\r
+\r
+             for (; k < o->image_dir->sets_count; k++)\r
+               {  /* Fix IDs in sets to new assigned IDs of entries */\r
+                  Eina_List *l;\r
+                  Edje_Image_Directory_Set_Entry *e;\r
+                  Edje_Pick_Data *set = calloc(1, sizeof(*set));\r
+                  set->id.old_id = o->image_dir->sets[k].id;\r
+                  set->id.new_id = k;\r
+\r
+                  /* Save IDs in set-list, used in Desc update later */\r
+                  context.current_file->imagesetlist = eina_list_append(\r
+                        context.current_file->imagesetlist, set);\r
+\r
+                  o->image_dir->sets[k].id = k;  /* Fix new sets IDs */\r
+                  EINA_LIST_FOREACH(o->image_dir->sets[k].entries, l, e)\r
+                     e->id = _edje_pick_new_id_get(\r
+                           context.current_file->imagelist,\r
+                           e->id, EINA_FALSE);\r
+               }\r
+          }\r
+     }\r
+\r
+   return status;\r
+}\r
+\r
+static int\r
+_edje_pick_sounds_add(Edje_File *edf)\r
+{\r
+   char buf[1024];\r
+   int size, k;\r
+   void *data;\r
+   Eina_Bool status = EDJE_PICK_NO_ERROR;\r
+   static int current_sample_id = 0;\r
+\r
+   if (edf->sound_dir)  /* Copy Sounds */\r
+     {\r
+        for (k = 0; k < (int) edf->sound_dir->samples_count; k++)\r
+          {\r
+             Edje_Sound_Sample *sample = &edf->sound_dir->samples[k];\r
+\r
+             snprintf(buf, sizeof(buf), "edje/sounds/%i", sample->id);\r
+             VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", sample->name));\r
+\r
+             data = eet_read(edf->ef, buf, &size);\r
+             if (size)\r
+               {\r
+                  Edje_Pick_Data *smpl = malloc(sizeof(*smpl));\r
+                  smpl->filename = eina_stringshare_add(sample->name);\r
+                  smpl->data = data;\r
+                  smpl->size = size;\r
+                  smpl->entry = (void *) sample; /* for output file sound dir */\r
+                  smpl->id.old_id = sample->id;\r
+                  sample->id = smpl->id.new_id = current_sample_id;\r
+                  smpl->id.used = EINA_FALSE;\r
+\r
+                  VERBOSE(EINA_LOG_INFO("Read <%s> sample data <%p> size <%d>\n",\r
+                                 buf, smpl->data, smpl->size));\r
+\r
+                  current_sample_id++;\r
+                  context.current_file->samplelist =\r
+                    eina_list_append(context.current_file->samplelist, smpl);\r
+               }\r
+             else\r
+               {\r
+                  EINA_LOG_ERR("Sample <%s> was not found in <%s> file.\n",\r
+                         sample->name, context.current_file->name);\r
+                  status = EDJE_PICK_SAMPLE_NOT_FOUND;\r
+               }\r
+          }\r
+\r
+        for (k = 0; k < (int) edf->sound_dir->tones_count; k++)\r
+          {\r
+             /* Save all tones as well */\r
+             Edje_Pick_Tone *t = malloc(sizeof(*t));\r
+\r
+             t->tone = &edf->sound_dir->tones[k];\r
+             /* Update ID to new ID */\r
+             t->tone->id = _edje_pick_new_id_get(context.current_file->samplelist,   /* From samplelist */\r
+                                                 t->tone->id, EINA_FALSE);\r
+\r
+             t->used = EINA_FALSE;\r
+             context.current_file->tonelist = eina_list_append(context.current_file->tonelist, t);\r
+          }\r
+     }\r
+\r
+   return status;\r
+}\r
+\r
+static int\r
+_font_cmp(const void *d1, const void *d2)\r
+{\r
+   const Edje_Font *f1 = d1;\r
+   const Edje_Font *f2 = d2;\r
+\r
+   /* Same font if (d1->name == d2->name) AND (d1->file == d2->file) */\r
+   return (strcmp(f1->name, f2->name) |\r
+           strcmp(f1->file, f2->file));\r
+}\r
+\r
+static int\r
+_Edje_Pick_Fonts_add(Edje_File *edf)\r
+{\r
+   Eet_Data_Descriptor *_font_list_edd = NULL;\r
+   Eet_Data_Descriptor *_font_edd;\r
+   Edje_Font_List *fl;\r
+   Edje_Font *f;\r
+   Eina_List *l;\r
+\r
+   _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);\r
+   fl = eet_data_read(edf->ef, _font_list_edd, "edje_source_fontmap");\r
+\r
+   EINA_LIST_FOREACH(fl->list, l, f)\r
+     {\r
+        if (!eina_list_search_unsorted(context.fontlist,\r
+                                       _font_cmp, f))\r
+          {\r
+             /* Add only fonts that are NOT regestered in our list */\r
+             Edje_Pick_Font *ft =  malloc(sizeof(*ft));\r
+             Edje_Font *st = malloc(sizeof(*st));\r
+\r
+             st->name = (char *) eina_stringshare_add(f->name);\r
+             st->file = (char *) eina_stringshare_add(f->file);\r
+\r
+             ft->f = st;\r
+             ft->used = EINA_TRUE;  /* TODO: Fix this later */\r
+             context.fontlist = eina_list_append(context.fontlist, ft);\r
+          }\r
+     }\r
+\r
+   free(fl);\r
+   eet_data_descriptor_free(_font_list_edd);\r
+   eet_data_descriptor_free(_font_edd);\r
+\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static int\r
+_edje_pick_scripts_add(Edje_File *edf, int id, int new_id)\r
+{\r
+   int size;\r
+   void *data;\r
+   char buf[1024];\r
+\r
+   /* Copy Script */\r
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", id);\r
+   data = eet_read(edf->ef, buf, &size);\r
+   if (size)\r
+     {\r
+        Edje_Pick_Data *s = calloc(1, sizeof(*s));\r
+\r
+        s->data = data;\r
+        s->size = size;\r
+        s->id.old_id = id;\r
+        s->id.new_id = new_id;\r
+        s->id.used = EINA_TRUE;\r
+\r
+        VERBOSE(EINA_LOG_INFO("Read embryo script <%s> data <%p> size <%d>\n",\r
+                       buf, s->data, s->size));\r
+        context.current_file->scriptlist = eina_list_append(context.current_file->scriptlist, s);\r
+     }\r
+\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static int\r
+_edje_pick_lua_scripts_add(Edje_File *edf, int id, int new_id)\r
+{\r
+   int size;\r
+   void *data;\r
+   char buf[1024];\r
+\r
+   /* Copy Script */\r
+   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", id);\r
+   data = eet_read(edf->ef, buf, &size);\r
+   if (size)\r
+     {\r
+        Edje_Pick_Data *s = calloc(1, sizeof(*s));\r
+\r
+        s->data = data;\r
+        s->size = size;\r
+        s->id.old_id = id;\r
+        s->id.new_id = new_id;\r
+        s->id.used = EINA_TRUE;\r
+\r
+        VERBOSE(EINA_LOG_INFO("Read lua script <%s> data <%p> size <%d>\n",\r
+                       buf, s->data, s->size));\r
+        context.current_file->luascriptlist = eina_list_append(context.current_file->luascriptlist, s);\r
+     }\r
+\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static void\r
+_edje_pick_styles_update(Edje_File *o, Edje_File *edf)\r
+{\r
+   /* Color Class in Edje_File */\r
+   Eina_List *l;\r
+   Edje_Style *stl;\r
+\r
+   EINA_LIST_FOREACH(edf->styles, l, stl)\r
+     o->styles = eina_list_append(o->styles, stl);\r
+}\r
+\r
+static void\r
+_edje_pick_color_class_update(Edje_File *o, Edje_File *edf)\r
+{\r
+   /* Color Class in Edje_File */\r
+   Eina_List *l;\r
+   Edje_Color_Class *cc;\r
+\r
+   EINA_LIST_FOREACH(edf->color_classes, l, cc)\r
+     o->color_classes = eina_list_append(o->color_classes, cc);\r
+}\r
+\r
+\r
+static void\r
+_edje_pick_images_desc_update(Edje_Part_Description_Image *desc)\r
+{\r
+   /* Update all IDs of images in descs */\r
+   if (desc)\r
+     {\r
+        unsigned int k;\r
+        int new_id = (desc->image.set) ?\r
+           _edje_pick_new_id_get(context.current_file->imagesetlist,\r
+                 desc->image.id,\r
+                 EINA_TRUE) :\r
+           _edje_pick_new_id_get(context.current_file->imagelist,\r
+                 desc->image.id,\r
+                 EINA_TRUE);\r
+\r
+        desc->image.id = new_id;\r
+\r
+        for (k = 0; k < desc->image.tweens_count; k++)\r
+          {\r
+             new_id = (desc->image.set) ?\r
+                _edje_pick_new_id_get(context.current_file->imagesetlist,\r
+                      desc->image.tweens[k]->id ,\r
+                      EINA_TRUE) :\r
+                _edje_pick_new_id_get(context.current_file->imagelist,\r
+                      desc->image.tweens[k]->id ,\r
+                      EINA_TRUE);\r
+\r
+             desc->image.tweens[k]->id = new_id;\r
+          }\r
+     }\r
+}\r
+\r
+static void\r
+_edje_pick_images_process(Edje_Part_Collection *edc)\r
+{\r
+   /* Find what images are used, update IDs, mark as USED */\r
+   unsigned int i;\r
+\r
+   for (i = 0; i < edc->parts_count; i++)\r
+     {\r
+        /* Scan all parts, locate what images used */\r
+        Edje_Part *part = edc->parts[i];\r
+\r
+        if (part->type == EDJE_PART_TYPE_IMAGE)\r
+          {\r
+             /* Update IDs of all images in ALL descs of this part */\r
+             unsigned int k;\r
+\r
+             _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->default_desc);\r
+\r
+             for (k = 0; k < part->other.desc_count; k++)\r
+               _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->other.desc[k]);\r
+          }\r
+     }\r
+}\r
+\r
+static int\r
+_sample_cmp(const void *d1, const void *d2)\r
+{\r
+   /* Locate sample by name */\r
+   if (d2)\r
+     {\r
+        Edje_Sound_Sample *sample = ((Edje_Pick_Data *) d1)->entry;\r
+\r
+        return strcmp(sample->name, d2);\r
+     }\r
+\r
+   return 1;\r
+}\r
+\r
+static int\r
+_tone_cmp(const void *d1, const void *d2)\r
+{\r
+   /* Locate tone by name */\r
+   if (d2)\r
+     {\r
+        Edje_Sound_Tone *tone = ((Edje_Pick_Tone *) d1)->tone;\r
+\r
+        return strcmp(tone->name, d2);\r
+     }\r
+\r
+   return 1;\r
+}\r
+\r
+static void\r
+_edje_pick_program_update(Edje_Program *prog)\r
+{\r
+   Edje_Pick_Data *p;\r
+   Edje_Pick_Tone *t;\r
+\r
+   /* Scan for used samples, update samples IDs */\r
+   p = eina_list_search_unsorted(context.current_file->samplelist,\r
+                                 (Eina_Compare_Cb) _sample_cmp,\r
+                                 prog->sample_name);\r
+\r
+   /* Sample is used by program, should be saved */\r
+   if (p)\r
+     p->id.used = EINA_TRUE;\r
+\r
+   /* handle tones as well */\r
+   t = eina_list_search_unsorted(context.current_file->tonelist,\r
+                                 (Eina_Compare_Cb) _tone_cmp,\r
+                                 prog->tone_name);\r
+\r
+   /* Tone is used by program, should be saved */\r
+   if (t)\r
+     t->used = EINA_TRUE;\r
+}\r
+\r
+static int\r
+_edje_pick_programs_process(Edje_Part_Collection *edc)\r
+{\r
+   /* This wil mark which samples are used and should be saved */\r
+   unsigned int i;\r
+\r
+   for(i = 0; i < edc->programs.fnmatch_count; i++)\r
+     _edje_pick_program_update(edc->programs.fnmatch[i]);\r
+\r
+   for(i = 0; i < edc->programs.strcmp_count; i++)\r
+     _edje_pick_program_update(edc->programs.strcmp[i]);\r
+\r
+   for(i = 0; i < edc->programs.strncmp_count; i++)\r
+     _edje_pick_program_update(edc->programs.strncmp[i]);\r
+\r
+   for(i = 0; i < edc->programs.strrncmp_count; i++)\r
+     _edje_pick_program_update(edc->programs.strrncmp[i]);\r
+\r
+   for(i = 0; i < edc->programs.nocmp_count; i++)\r
+     _edje_pick_program_update(edc->programs.nocmp[i]);\r
+\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static int\r
+_edje_pick_collection_process(Edje_Part_Collection *edc)\r
+{\r
+   /* Update all IDs, NAMES in current collection */\r
+   static int current_collection_id = 0;\r
+\r
+   edc->id = current_collection_id;\r
+   current_collection_id++;\r
+   _edje_pick_images_process(edc);\r
+   _edje_pick_programs_process(edc);\r
+\r
+   return EDJE_PICK_NO_ERROR;\r
+}\r
+\r
+static void\r
+_edje_pick_sound_dir_compose(Eina_List *samples, Eina_List *tones, Edje_File *o)\r
+{  /* Compose sound_dir array from all used samples, tones */\r
+   if (samples)\r
+     {\r
+        Edje_Sound_Sample *sample;\r
+        Edje_Sound_Sample *p;\r
+        Eina_List *l;\r
+\r
+        o->sound_dir = calloc(1, sizeof(*(o->sound_dir)));\r
+        o->sound_dir->samples = malloc(eina_list_count(samples) *\r
+                                       sizeof(Edje_Sound_Sample));\r
+\r
+        p = o->sound_dir->samples;\r
+        EINA_LIST_FOREACH(samples, l, sample)\r
+          {\r
+             memcpy(p, sample, sizeof(Edje_Sound_Sample));\r
+             p++;\r
+          }\r
+\r
+        o->sound_dir->samples_count = eina_list_count(samples);\r
+\r
+        if (tones)\r
+          {\r
+             Edje_Sound_Tone *tone;\r
+             Edje_Sound_Tone *t;\r
+\r
+             o->sound_dir->tones = malloc(eina_list_count(tones) *\r
+                                          sizeof(Edje_Sound_Tone));\r
+\r
+             t = o->sound_dir->tones;\r
+             EINA_LIST_FOREACH(tones, l, tone)\r
+               {\r
+                  memcpy(t, tone, sizeof(Edje_Sound_Tone));\r
+                  t++;\r
+               }\r
+\r
+             o->sound_dir->tones_count = eina_list_count(tones);\r
+          }\r
+     }\r
+}\r
+\r
+int\r
+main(int argc, char **argv)\r
+{\r
+   char *name1, *output_filename = NULL;\r
+   Eina_List *inp_files = NULL;\r
+   int comp_mode = EET_COMPRESSION_DEFAULT;\r
+   Edje_File *out_file = NULL;\r
+   Eina_List *images = NULL;\r
+   Eina_List *samples = NULL;\r
+   Eina_List *tones = NULL;\r
+   Edje_Image_Directory_Set *sets = NULL; /* ALL files sets composed here */\r
+\r
+   Edje_Part_Collection *edc;\r
+   Edje_Part_Collection_Directory_Entry *ce;\r
+   Eet_File *ef;\r
+   Edje_Font_List *fl;\r
+   Eina_List *f, *l;\r
+   char buf[1024];\r
+   void *n;\r
+   int k, bytes;\r
+\r
+   eina_init();\r
+   eet_init();\r
+   ecore_init();\r
+   _edje_edd_init();\r
+   eina_log_level_set(EINA_LOG_LEVEL_WARN);  /* Changed to INFO if verbose */\r
+\r
+   k = _edje_pick_command_line_parse(argc, argv, &inp_files, &output_filename);\r
+   if ( k != EDJE_PICK_NO_ERROR)\r
+     return k;\r
+\r
+   _edje_pick_args_show(inp_files, output_filename);\r
+\r
+   /* START - Main loop scanning input files */\r
+   EINA_LIST_FOREACH(inp_files, f, context.current_file)\r
+     {\r
+        Edje_File *edf;\r
+\r
+        ef = eet_open(context.current_file->name, EET_FILE_MODE_READ);\r
+        if (!ef)\r
+          return _edje_pick_cleanup(inp_files, out_file,\r
+                EDJE_PICK_FAILED_OPEN_INP);\r
+\r
+        edf = eet_data_read(ef, _edje_edd_edje_file, "edje/file");\r
+        if (!edf)\r
+          return _edje_pick_cleanup(inp_files, out_file,\r
+                EDJE_PICK_FAILED_READ_INP);\r
+\r
+        context.current_file->edf = edf;\r
+        edf->ef = ef;\r
+\r
+        out_file = _edje_pick_output_prepare(out_file, edf, output_filename);\r
+\r
+        k = _edje_pick_header_make(out_file, edf, inp_files);\r
+        if (k != EDJE_PICK_NO_ERROR)\r
+          {\r
+             eet_close(ef);\r
+             return _edje_pick_cleanup(inp_files, out_file, k);\r
+          }\r
+\r
+        /* Build lists of all images, samples and fonts of input files    */\r
+        _edje_pick_images_add(edf, out_file);  /* Add Images to imagelist */\r
+        _edje_pick_sounds_add(edf);  /* Add Sounds to samplelist          */\r
+        _Edje_Pick_Fonts_add(edf);   /* Add fonts from file to fonts list */\r
+\r
+        /* Copy styles, color class */\r
+        _edje_pick_styles_update(out_file, edf);\r
+        _edje_pick_color_class_update(out_file, edf);\r
+\r
+        /* Process Groups */\r
+        EINA_LIST_FOREACH(context.current_file->groups, l , name1)\r
+          {  /* Read group info */\r
+             ce = eina_hash_find(edf->collection, name1);\r
+             if (!ce || (ce->id < 0))\r
+               {\r
+                  EINA_LOG_ERR("Failed to find group <%s> id\n", name1);\r
+                  return _edje_pick_cleanup(inp_files, out_file,\r
+                                            EDJE_PICK_GROUP_NOT_FOUND);\r
+               }\r
+\r
+             VERBOSE(EINA_LOG_INFO("Copy group: <%s>\n", name1));\r
+\r
+             edje_cache_emp_alloc(ce);\r
+\r
+             snprintf(buf, sizeof(buf), "edje/collections/%i", ce->id);\r
+             EINA_LOG_INFO("Trying to read group <%s>\n", buf);\r
+             edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf);\r
+             if (!edc)\r
+               {\r
+                  EINA_LOG_ERR("Failed to read group <%s> id <%d>\n", name1, ce->id);\r
+                  return _edje_pick_cleanup(inp_files, out_file,\r
+                                            EDJE_PICK_GROUP_NOT_FOUND);\r
+               }\r
+\r
+             /* Update IDs */\r
+             _edje_pick_collection_process(edc);\r
+\r
+             /* Build lists of all scripts with new IDs */\r
+             _edje_pick_scripts_add(edf, ce->id, edc->id);\r
+             _edje_pick_lua_scripts_add(edf, ce->id, edc->id);\r
+\r
+             {\r
+                /* Write the group to output file using new id */\r
+                snprintf(buf, sizeof(buf),\r
+                         "edje/collections/%i", edc->id);\r
+                bytes = eet_data_write(out_file->ef,\r
+                                       _edje_edd_edje_part_collection,\r
+                                       buf, edc, comp_mode);\r
+                EINA_LOG_INFO("Wrote <%d> bytes for group <%s>\n", bytes,buf);\r
+             }\r
+\r
+             free(edc);\r
+             edje_cache_emp_free(ce);\r
+             eet_close(ef);\r
+          }\r
+\r
+        /* We SKIP writing source, just can't compose it */\r
+        /* FIXME: use Edje_Edit code to generate source */\r
+     } /* END   - Main loop scanning input files */\r
+\r
+   /* Write rest of output */\r
+\r
+   EINA_LIST_FOREACH(inp_files, f, context.current_file)\r
+     {\r
+        /* Write Scripts from ALL files */\r
+        Edje_Pick_Data *s;\r
+        Edje_Pick_Tone *tn;\r
+        Eina_List *t;\r
+\r
+        EINA_LIST_FOREACH(context.current_file->scriptlist, t, s)\r
+          {\r
+             /* Write Scripts */\r
+             snprintf(buf, sizeof(buf),\r
+                      "edje/scripts/embryo/compiled/%i", s->id.new_id);\r
+             VERBOSE(EINA_LOG_INFO("wrote embryo scr <%s> data <%p> size <%d>\n",\r
+                            buf, s->data, s->size));\r
+             eet_write(out_file->ef, buf, s->data, s->size, comp_mode);\r
+          }\r
+\r
+        EINA_LIST_FOREACH(context.current_file->luascriptlist, t, s)\r
+          {\r
+             /* Write Lua Scripts */\r
+             snprintf(buf, sizeof(buf),\r
+                      "edje/scripts/lua/%i", s->id.new_id);\r
+             VERBOSE(EINA_LOG_INFO("wrote lua scr <%s> data <%p> size <%d>\n",\r
+                            buf, s->data, s->size));\r
+             eet_write(out_file->ef, buf, s->data, s->size, comp_mode);\r
+          }\r
+\r
+        EINA_LIST_FOREACH(context.current_file->imagelist, t, s)\r
+          {\r
+             if (context.current_file->append || s->id.used)\r
+               {\r
+                  snprintf(buf, sizeof(buf), "edje/images/%i", s->id.new_id);\r
+                  eet_write(out_file->ef, buf, s->data, s->size, EINA_TRUE);\r
+                  VERBOSE(EINA_LOG_INFO("Wrote <%s> image data <%p> size <%d>\n", buf, s->data, s->size));\r
+               }\r
+          }\r
+\r
+        EINA_LIST_FOREACH(context.current_file->samplelist, l, s)\r
+          {\r
+             if (context.current_file->append || s->id.used)\r
+               {  /* Write only used samples */\r
+                  samples = eina_list_append(samples, s->entry);\r
+\r
+                  snprintf(buf, sizeof(buf), "edje/sounds/%i",\r
+                           s->id.new_id);\r
+                  eet_write(out_file->ef, buf,\r
+                            s->data, s->size,EINA_TRUE);\r
+                  VERBOSE(EINA_LOG_INFO("Wrote <%s> sample data <%p> size <%d>\n",\r
+                                 buf, s->data, s->size));\r
+               }\r
+          }\r
+\r
+        EINA_LIST_FOREACH(context.current_file->tonelist, l, tn)\r
+          {\r
+             if (context.current_file->append || tn->used)\r
+               tones = eina_list_append(tones, tn->tone);\r
+          }\r
+     }\r
+\r
+   _edje_pick_sound_dir_compose(samples, tones, out_file);\r
+\r
+   /* Write file header after processing all groups */\r
+   bytes = eet_data_write(out_file->ef, _edje_edd_edje_file, "edje/file",\r
+                          out_file, comp_mode);\r
+\r
+   VERBOSE(EINA_LOG_INFO("Wrote <%d> bytes for file header.\n", bytes));\r
+\r
+   eina_list_free(images);\r
+   eina_list_free(samples);\r
+   eina_list_free(tones);\r
+\r
+   fl = calloc(1, sizeof(*fl));\r
+\r
+   EINA_LIST_FOREACH(context.fontlist, l, n)\r
+     {\r
+        /*  Create a font list from used fonts */\r
+        Edje_Pick_Font *fnt = n;\r
+        if (context.current_file->append || fnt->used)\r
+          fl->list = eina_list_append(fl->list, fnt->f);\r
+     }\r
+\r
+   {\r
+      /* Write Fonts from all files */\r
+      Eet_Data_Descriptor *_font_list_edd = NULL;\r
+      Eet_Data_Descriptor *_font_edd;\r
+\r
+      _edje_data_font_list_desc_make(&_font_list_edd, &_font_edd);\r
+      bytes = eet_data_write(out_file->ef, _font_list_edd,\r
+                             "edje_source_fontmap", fl, comp_mode);\r
+      VERBOSE(EINA_LOG_INFO("Wrote <%d> bytes for fontmap.\n", bytes));\r
+\r
+      eet_data_descriptor_free(_font_list_edd);\r
+      eet_data_descriptor_free(_font_edd);\r
+   }\r
+   free(fl);\r
+\r
+   if (sets)\r
+     free(sets);\r
+\r
+   printf("Wrote <%s> output file.\n", output_filename);\r
+\r
+   return _edje_pick_cleanup(inp_files, out_file, EDJE_PICK_NO_ERROR);\r
+}\r
diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
new file mode 100644 (file)
index 0000000..ebd8d52
--- /dev/null
@@ -0,0 +1,1121 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <ctype.h>
+
+#ifdef HAVE_EVIL
+# include <Evil.h>
+#endif
+
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_Getopt.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+struct opts {
+   char *file;
+   char *group;
+   Eina_Bool list_groups;
+   char *engine;
+   Eina_Rectangle size;
+   unsigned char color[3];
+   Eina_Bool borderless;
+   Eina_Bool sticky;
+   Eina_Bool shaped;
+   Eina_Bool alpha;
+   Eina_Bool print;
+   Eina_Bool slave_mode;
+   double scale;
+   char *title;
+};
+
+static Eina_Bool _edje_load_or_show_error(Evas_Object *edje, const char *file, const char *group);
+
+static Ecore_Evas *win;
+
+static void
+_win_title_set(const char *group, const char *file)
+{
+   char buf[1024];
+   snprintf(buf, sizeof(buf), "Edje_Player - %s of %s", group, file);
+   ecore_evas_title_set(win, buf);
+}
+
+static char *
+_slave_mode_tok(char **p_arg)
+{
+   char *s, *e;
+   Eina_Bool is_quoted;
+
+   if (!*p_arg) return NULL;
+
+   s = *p_arg;
+   while (isspace(*s))
+     s++;
+
+   if (*s == '\0')
+     {
+       *p_arg = NULL;
+       return NULL;
+     }
+   else if (*s == '"')
+     {
+       is_quoted = EINA_TRUE;
+       s++;
+       *p_arg = s;
+     }
+   else
+     {
+       is_quoted = EINA_FALSE;
+       *p_arg = s;
+     }
+
+   for (e = s; *e != '\0'; e++)
+     {
+       if ((!is_quoted) && (isspace(*e)))
+         break;
+       else if ((is_quoted) && (*e == '"'))
+         break;
+     }
+
+   if (*e == '\0') return NULL;
+
+   *e = '\0';
+   return e + 1;
+}
+
+static void
+_slave_mode_signal(Evas_Object *edje, char *args)
+{
+   char *emission, *source;
+
+   emission = args;
+   source = _slave_mode_tok(&emission);
+   _slave_mode_tok(&source);
+
+   if ((!emission) || (!source))
+     {
+       fputs("ERROR: Invalid command arguments.\n", stderr);
+       return;
+     }
+
+   edje_object_signal_emit(edje, emission, source);
+}
+
+static void
+_slave_mode_message_string(Evas_Object *edje, int id, char *arg)
+{
+   Edje_Message_String msg;
+   msg.str = arg;
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING, id, &msg);
+}
+
+static void
+_slave_mode_message_int(Evas_Object *edje, int id, char *arg)
+{
+   Edje_Message_Int msg;
+   msg.val = atoi(arg);
+   edje_object_message_send(edje, EDJE_MESSAGE_INT, id, &msg);
+}
+
+static void
+_slave_mode_message_float(Evas_Object *edje, int id, char *arg)
+{
+   Edje_Message_Float msg;
+   msg.val = atof(arg);
+   edje_object_message_send(edje, EDJE_MESSAGE_FLOAT, id, &msg);
+}
+
+static void
+_slave_mode_message_string_set(Evas_Object *edje, int id, char *arg,
+                               char *extra_args)
+{
+   Edje_Message_String_Set *msg;
+   int count, i;
+
+   count = atoi(arg);
+   msg = alloca(sizeof(Edje_Message_String_Set) + (count - 1) * sizeof(char *));
+
+   for (i = 0; i < count; i++)
+     {
+        char *next = _slave_mode_tok(&extra_args);
+        if (!extra_args)
+          {
+             fputs("ERROR: Message missing arg.\n", stderr);
+             return;
+          }
+        msg->str[i] = extra_args;
+        extra_args = next;
+     }
+
+   msg->count = count;
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING_SET, id, msg);
+}
+
+static void
+_slave_mode_message_int_set(Evas_Object *edje, int id, char *arg,
+                            char *extra_args)
+{
+   Edje_Message_Int_Set *msg;
+   int count, i;
+
+   count = atoi(arg);
+   msg = alloca(sizeof(Edje_Message_Int_Set) + (count - 1) * sizeof(int));
+
+   for (i = 0; i < count; i++)
+     {
+        char *next = _slave_mode_tok(&extra_args);
+        if (!extra_args)
+          {
+             fputs("ERROR: Message missing arg.\n", stderr);
+             return;
+          }
+        msg->val[i] = atoi(extra_args);
+        extra_args = next;
+     }
+
+   msg->count = count;
+   edje_object_message_send(edje, EDJE_MESSAGE_INT_SET, id, msg);
+}
+
+static void
+_slave_mode_message_float_set(Evas_Object *edje, int id, char *arg,
+                              char *extra_args)
+{
+   Edje_Message_Float_Set *msg;
+   int count, i;
+
+   count = atoi(arg);
+   msg = alloca(sizeof(Edje_Message_Float_Set) + (count - 1) * sizeof(double));
+
+   for (i = 0; i < count; i++)
+     {
+        char *next = _slave_mode_tok(&extra_args);
+        if (!extra_args)
+          {
+             fputs("ERROR: Message missing arg.\n", stderr);
+             return;
+          }
+        msg->val[i] = atof(extra_args);
+        extra_args = next;
+     }
+
+   msg->count = count;
+   edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, id, msg);
+}
+
+static void
+_slave_mode_message_string_int(Evas_Object *edje, int id, char *arg,
+                               char *extra_args)
+{
+   Edje_Message_String_Int msg;
+
+   if (!extra_args)
+     {
+       fputs("ERROR: Message STRING_INT requires integer arg.\n", stderr);
+       return;
+     }
+   _slave_mode_tok(&extra_args);
+
+   msg.str = arg;
+   msg.val = atoi(extra_args);
+
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING_INT, id, &msg);
+}
+
+static void
+_slave_mode_message_string_float(Evas_Object *edje, int id, char *arg,
+                                 char *extra_args)
+{
+   Edje_Message_String_Float msg;
+
+   if (!extra_args)
+     {
+       fputs("ERROR: Message STRING_FLOAT requires float arg.\n", stderr);
+       return;
+     }
+   _slave_mode_tok(&extra_args);
+
+   msg.str = arg;
+   msg.val = atof(extra_args);
+
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING_FLOAT, id, &msg);
+}
+
+static void
+_slave_mode_message_string_int_set(Evas_Object *edje, int id, char *arg,
+                                   char *extra_args)
+{
+   Edje_Message_String_Int_Set *msg;
+   int count, i;
+   char *val;
+
+   if (!extra_args)
+     {
+       fputs("ERROR: Message STRING_INT_SET requires int args.\n", stderr);
+       return;
+     }
+
+   val = _slave_mode_tok(&extra_args);
+   count = atoi(extra_args);
+   msg = alloca(sizeof(Edje_Message_String_Int_Set) +
+                (count - 1) * sizeof(int));
+
+   for (i = 0; i < count; i++)
+     {
+        char *next = _slave_mode_tok(&val);
+        if (!val)
+          {
+             fputs("ERROR: Message missing arg.\n", stderr);
+             return;
+          }
+        msg->val[i] = atoi(val);
+        val = next;
+     }
+
+   msg->count = count;
+   msg->str = arg;
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING_INT_SET, id, msg);
+}
+
+static void
+_slave_mode_message_string_float_set(Evas_Object *edje, int id, char *arg,
+                                     char *extra_args)
+{
+   Edje_Message_String_Float_Set *msg;
+   int count, i;
+   char *val;
+
+   if (!extra_args)
+     {
+       fputs("ERROR: Message STRING_FLOAT_SET requires float set.\n", stderr);
+       return;
+     }
+
+   val = _slave_mode_tok(&extra_args);
+   count = atoi(extra_args);
+   msg = alloca(sizeof(Edje_Message_String_Float_Set) +
+                (count - 1) * sizeof(double));
+
+   for (i = 0; i < count; i++)
+     {
+        char *next = _slave_mode_tok(&val);
+        if (!val)
+          {
+             fputs("ERROR: Message missing arg.\n", stderr);
+             return;
+          }
+        msg->val[i] = atof(val);
+        val = next;
+     }
+
+   msg->count = count;
+   msg->str = arg;
+   edje_object_message_send(edje, EDJE_MESSAGE_STRING_FLOAT_SET, id, msg);
+}
+
+static void
+_slave_mode_message(Evas_Object *edje, char *args)
+{
+   char *id_str, *type, *message_arg, *extra_args;
+   int id;
+
+   id_str = args;
+   type = _slave_mode_tok(&id_str);
+   message_arg = _slave_mode_tok(&type);
+   extra_args = _slave_mode_tok(&message_arg);
+
+   if (!id_str)
+     {
+       fputs("ERROR: Message id is required.\n", stderr);
+       return;
+     }
+
+   id = atoi(id_str);
+
+   if (!type)
+     {
+       fputs("ERROR: Message type is required.\n", stderr);
+       return;
+     }
+
+   if (!message_arg)
+     {
+       fputs("ERROR: Missing message argument.\n", stderr);
+       return;
+     }
+
+   if (!strcmp(type, "STRING"))
+     {
+        _slave_mode_message_string(edje, id, message_arg);
+        return;
+     }
+
+   if (!strcmp(type, "INT"))
+     {
+        _slave_mode_message_int(edje, id, message_arg);
+        return;
+     }
+
+   if (!strcmp(type, "FLOAT"))
+     {
+        _slave_mode_message_float(edje, id, message_arg);
+        return;
+     }
+
+   if (!strcmp(type, "STRING_SET"))
+     {
+        _slave_mode_message_string_set(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "INT_SET"))
+     {
+        _slave_mode_message_int_set(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "FLOAT_SET"))
+     {
+        _slave_mode_message_float_set(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "STRING_INT"))
+     {
+        _slave_mode_message_string_int(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "STRING_FLOAT"))
+     {
+        _slave_mode_message_string_float(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "STRING_INT_SET"))
+     {
+        _slave_mode_message_string_int_set(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   if (!strcmp(type, "STRING_FLOAT_SET"))
+     {
+        _slave_mode_message_string_float_set(edje, id, message_arg, extra_args);
+        return;
+     }
+
+   fputs("ERROR: Invalid type. Check types list using \"help\".\n", stderr);
+}
+
+static void
+_slave_mode_info(Evas_Object *edje, char *args)
+{
+   _slave_mode_tok(&args);
+
+   if (!args)
+     {
+       fputs("ERROR: Invalid command arguments.\n", stderr);
+       return;
+     }
+
+   if (!edje_object_part_exists(edje, args))
+     {
+       printf("INFO: \"%s\" does not exist.\n", args);
+     }
+   else
+     {
+       Evas_Coord x, y, w, h;
+       edje_object_part_geometry_get(edje, args, &x, &y, &w, &h);
+       printf("INFO: \"%s\" %d,%d,%d,%d\n", args, x, y, w, h);
+     }
+}
+
+static void
+_slave_mode_quit(Evas_Object *edje EINA_UNUSED, char *args EINA_UNUSED)
+{
+   puts("Bye!");
+   ecore_main_loop_quit();
+}
+
+static void
+_slave_mode_help(Evas_Object *edje EINA_UNUSED, char *args EINA_UNUSED)
+{
+   puts("Help:\n"
+        "One command per line, arguments separated by space.\n"
+        "Strings may have spaces if enclosed in quotes (\").\n"
+       "\n"
+       "\t<command> [arguments]\n"
+       "\n"
+       "Available commands:\n"
+       "\tsignal <emission> <source>\n"
+       "\t   sends a signal to edje\n"
+       "\tmessage <id> <type> <args list>\n"
+       "\t   sends a message to edje.\n"
+       "\t   Possible types (and args):\n"
+       "\t     * STRING \"string\"\n"
+       "\t     * INT integer\n"
+       "\t     * FLOAT float\n"
+       "\t     * STRING_SET <set length> \"string1\" \"string2\" ...\n"
+       "\t     * INT_SET <set length> integer1 integer2 integer3 ...\n"
+       "\t     * FLOAT_SET <set length> float1 float2 float3 ...\n"
+       "\t     * STRING_INT \"message\" interger\n"
+       "\t     * STRING_FLOAT \"message\" float\n"
+       "\t     * STRING_INT_SET \"string\" <set length> interger1 ...\n"
+       "\t     * STRING_FLOAT_SET \"string\" <set length> float1 float2 ...\n"
+       "\tinfo <part>\n"
+       "\t   Print part geometry: <x>,<y>,<w>,<h>\n"
+       "\tquit\n"
+       "\t   exit edje player.\n"
+       "\thelp\n"
+       "\t   shows this message.\n");
+   /*
+    * Extension ideas (are they useful?):
+    *  - data: show data value
+    *  - color_class: set color class values (maybe also list?)
+    *  - text_class: set text class values (maybe also list?)
+    *  - play_set: change play state
+    *  - animation_set: change animation state
+    */
+}
+
+struct slave_cmd
+{
+   const char *cmd;
+   void (*func)(Evas_Object *edje, char *args);
+} _slave_mode_commands[] = {
+  {"signal", _slave_mode_signal},
+  {"message", _slave_mode_message},
+  {"info", _slave_mode_info},
+  {"quit", _slave_mode_quit},
+  {"help", _slave_mode_help},
+  {NULL, NULL}
+};
+
+static Eina_Bool
+_slave_mode(void *data, Ecore_Fd_Handler *fd_handler)
+{
+   Evas_Object *edje = data;
+   char buf[1024], *p;
+   const struct slave_cmd *itr;
+   size_t len;
+
+   if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
+     {
+       fputs("ERROR: error on stdin! Exit.\n", stderr);
+       ecore_main_loop_quit();
+       return ECORE_CALLBACK_CANCEL;
+     }
+   if (!ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_READ))
+     return ECORE_CALLBACK_RENEW;
+
+   if (!fgets(buf, sizeof(buf), stdin))
+     {
+       fputs("ERROR: end of stdin! Exit.\n", stderr);
+       ecore_main_loop_quit();
+       return ECORE_CALLBACK_CANCEL;
+     }
+
+   len = strlen(buf);
+   if (len < 1)
+     {
+       fputs("ERROR: no input! Try: help\n", stderr);
+       return ECORE_CALLBACK_RENEW;
+     }
+   if (buf[len - 1] == '\n')
+     {
+       len--;
+       buf[len] = '\0';
+     }
+
+   p = strchr(buf, ' ');
+   if (p)
+     {
+       *p = '\0';
+       p++;
+
+       while (isspace(*p))
+         p++;
+       if (*p == '\0')
+         p = NULL;
+
+       if (p)
+         {
+            char *q = p + strlen(p) - 1;
+            while (isspace(*q))
+              {
+                 *q = '\0';
+                 q--;
+              }
+         }
+     }
+
+   for (itr = _slave_mode_commands; itr->cmd; itr++)
+     {
+       if (strcmp(itr->cmd, buf) == 0)
+         {
+            itr->func(edje, p);
+            break;
+         }
+     }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_print_signal(void *data EINA_UNUSED, Evas_Object *o EINA_UNUSED, const char *emission, const char *source)
+{
+   printf("SIGNAL: \"%s\" \"%s\"\n", emission, source);
+}
+
+static void
+_print_message(void *data EINA_UNUSED, Evas_Object *edje EINA_UNUSED, Edje_Message_Type type, int id, void *msg)
+{
+   const char *typestr;
+   char buf[64];
+
+   switch (type)
+     {
+      case EDJE_MESSAGE_NONE:
+        typestr = "NONE";
+        break;
+      case EDJE_MESSAGE_SIGNAL:
+        typestr = "SIGNAL";
+        break;
+      case EDJE_MESSAGE_STRING:
+        typestr = "STRING";
+        break;
+      case EDJE_MESSAGE_INT:
+        typestr = "INT";
+        break;
+      case EDJE_MESSAGE_FLOAT:
+        typestr = "FLOAT";
+        break;
+      case EDJE_MESSAGE_STRING_SET:
+        typestr = "STRING_SET";
+        break;
+      case EDJE_MESSAGE_INT_SET:
+        typestr = "INT_SET";
+        break;
+      case EDJE_MESSAGE_FLOAT_SET:
+        typestr = "FLOAT_SET";
+        break;
+      case EDJE_MESSAGE_STRING_INT:
+        typestr = "STRING_INT";
+        break;
+      case EDJE_MESSAGE_STRING_FLOAT:
+        typestr = "STRING_FLOAT";
+        break;
+      case EDJE_MESSAGE_STRING_INT_SET:
+        typestr = "STRING_INT_SET";
+        break;
+      case EDJE_MESSAGE_STRING_FLOAT_SET:
+        typestr = "STRING_FLOAT_SET";
+        break;
+      default:
+        snprintf(buf, sizeof(buf), "UNKNOWN(%d)", type);
+        typestr = buf;
+     }
+
+   printf("MESSAGE: type=%s, id=%d", typestr, id);
+
+   switch (type)
+     {
+      case EDJE_MESSAGE_NONE: break;
+      case EDJE_MESSAGE_SIGNAL: break;
+      case EDJE_MESSAGE_STRING:
+       {
+          Edje_Message_String *m = msg;
+          printf(" \"%s\"", m->str);
+       }
+       break;
+      case EDJE_MESSAGE_INT:
+       {
+          Edje_Message_Int *m = msg;
+          printf(" %d", m->val);
+       }
+       break;
+      case EDJE_MESSAGE_FLOAT:
+       {
+          Edje_Message_Float *m = msg;
+          printf(" %f", m->val);
+       }
+       break;
+      case EDJE_MESSAGE_STRING_SET:
+       {
+          Edje_Message_String_Set *m = msg;
+          int i;
+          for (i = 0; i < m->count; i++)
+            printf(" \"%s\"", m->str[i]);
+       }
+       break;
+      case EDJE_MESSAGE_INT_SET:
+       {
+          Edje_Message_Int_Set *m = msg;
+          int i;
+          for (i = 0; i < m->count; i++)
+            printf(" %d", m->val[i]);
+       }
+       break;
+      case EDJE_MESSAGE_FLOAT_SET:
+       {
+          Edje_Message_Float_Set *m = msg;
+          int i;
+          for (i = 0; i < m->count; i++)
+            printf(" %f", m->val[i]);
+       }
+       break;
+      case EDJE_MESSAGE_STRING_INT:
+       {
+          Edje_Message_String_Int *m = msg;
+          printf(" \"%s\" %d", m->str, m->val);
+       }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT:
+       {
+          Edje_Message_String_Float *m = msg;
+          printf(" \"%s\" %f", m->str, m->val);
+       }
+       break;
+      case EDJE_MESSAGE_STRING_INT_SET:
+       {
+          Edje_Message_String_Int_Set *m = msg;
+          int i;
+          printf(" \"%s\"", m->str);
+          for (i = 0; i < m->count; i++)
+            printf(" %d", m->val[i]);
+       }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT_SET:
+       {
+          Edje_Message_String_Float_Set *m = msg;
+          int i;
+          printf(" \"%s\"", m->str);
+          for (i = 0; i < m->count; i++)
+            printf(" %f", m->val[i]);
+       }
+       break;
+      default:
+       break;
+     }
+
+   putchar('\n');
+}
+
+static void
+_reset_size_hints(void *data, Evas *e EINA_UNUSED, Evas_Object *stack, void *event_info EINA_UNUSED)
+{
+   Evas_Coord minw, minh;
+   Evas_Object *edje = data;
+
+   edje_object_size_min_get(edje, &minw, &minh);
+   if ((minw <= 0) && (minh <= 0))
+     edje_object_size_min_calc(edje, &minw, &minh);
+
+   evas_object_size_hint_min_set(stack, minw, minh);
+}
+
+static void
+_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *stack EINA_UNUSED, void *event_info)
+{
+   Evas_Event_Key_Down *ev = event_info;
+   struct opts *opts = data;
+
+   if ((!strcmp(ev->keyname, "equal")) ||
+       (!strcmp(ev->keyname, "plus")))
+      opts->scale += 0.1;
+   else if ((!strcmp(ev->keyname, "minus")) ||
+            (!strcmp(ev->keyname, "underscore")))
+      opts->scale -= 0.1;
+   else if ((!strcmp(ev->keyname, "0")))
+      opts->scale = 1.0;
+   if (opts->scale < 0.1) opts->scale = 0.1;
+   else if (opts->scale > 10.0) opts->scale = 1.0;
+   edje_scale_set(opts->scale);
+}
+
+static Evas_Object *
+_create_stack(Evas *evas, const struct opts *opts)
+{
+   Evas_Object *stack = evas_object_box_add(evas);
+   if (!stack)
+     {
+       fputs("ERROR: could not create object stack (box).\n", stderr);
+       return NULL;
+     }
+   evas_object_box_layout_set(stack, evas_object_box_layout_stack, NULL, NULL);
+   evas_object_resize(stack, opts->size.w, opts->size.h);
+   evas_object_size_hint_weight_set(stack, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(stack, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_show(stack);
+   return stack;
+}
+
+static Evas_Object *
+_create_bg(Evas *evas, const struct opts *opts)
+{
+   const unsigned char *color = opts->color;
+   Evas_Object *bg = evas_object_rectangle_add(evas);
+   if (!bg)
+     {
+       fputs("ERROR: could not create background.\n", stderr);
+       return NULL;
+     }
+   evas_object_resize(bg, opts->size.w, opts->size.h);
+   evas_object_color_set(bg, color[0], color[1], color[2], 255);
+   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_show(bg);
+   return bg;
+}
+
+static void
+_edje_reload(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   const char *file;
+   const char *group;
+   edje_object_signal_callback_del(obj, "edje,change,file", "edje", _edje_reload);
+
+   edje_object_file_get(obj, &file, &group);
+   _edje_load_or_show_error(obj, file, group);
+}
+
+static Eina_Bool
+_edje_load_or_show_error(Evas_Object *edje, const char *file, const char *group)
+{
+   const char *errmsg;
+   int err;
+
+   if (edje_object_file_set(edje, file, group))
+     {
+        edje_object_signal_callback_add(edje, "edje,change,file", "edje", _edje_reload, NULL);;
+        evas_object_focus_set(edje, EINA_TRUE);
+        return EINA_TRUE;
+     }
+
+   err = edje_object_load_error_get(edje);
+   errmsg = edje_load_error_str(err);
+   fprintf(stderr, "ERROR: could not load edje file '%s', group '%s': %s\n",
+          file, group, errmsg);
+   return EINA_FALSE;
+}
+
+static Evas_Object *
+_create_edje(Evas *evas, const struct opts *opts)
+{
+   Evas_Coord minw, minh, maxw, maxh;
+   Evas_Object *edje = edje_object_add(evas);
+   if (!edje)
+     {
+       fputs("ERROR: could not create edje.\n", stderr);
+       return NULL;
+     }
+
+   if (opts->group)
+     {
+       if (!_edje_load_or_show_error(edje, opts->file, opts->group))
+         {
+            evas_object_del(edje);
+            return NULL;
+         }
+        if (!opts->title) _win_title_set(opts->group, opts->file);
+     }
+   else
+     {
+       if (edje_file_group_exists(opts->file, "main"))
+         {
+            if (!_edje_load_or_show_error(edje, opts->file, "main"))
+              {
+                 evas_object_del(edje);
+                 return NULL;
+              }
+             if (!opts->title) _win_title_set("main", opts->file);
+         }
+       else
+         {
+            Eina_List *groups = edje_file_collection_list(opts->file);
+            const char *group;
+            if (!groups)
+              {
+                 fprintf(stderr, "ERROR: file '%s' has no groups!\n",
+                         opts->file);
+                 evas_object_del(edje);
+                 return NULL;
+              }
+            group = groups->data;
+            if (!_edje_load_or_show_error(edje, opts->file, group))
+              {
+                 edje_file_collection_list_free(groups);
+                 evas_object_del(edje);
+                 return NULL;
+              }
+             if (!opts->title) _win_title_set(group, opts->file);
+            edje_file_collection_list_free(groups);
+         }
+     }
+
+   edje_object_size_max_get(edje, &maxw, &maxh);
+   edje_object_size_min_get(edje, &minw, &minh);
+   if ((minw <= 0) && (minh <= 0))
+     edje_object_size_min_calc(edje, &minw, &minh);
+
+   evas_object_size_hint_max_set(edje, maxw, maxh);
+   evas_object_size_hint_min_set(edje, minw, minh);
+
+   evas_object_size_hint_weight_set(edje, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(edje, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_show(edje);
+
+   return edje;
+}
+
+static unsigned char _parse_color(EINA_UNUSED const Ecore_Getopt *parser, EINA_UNUSED const Ecore_Getopt_Desc *desc, const char *str, EINA_UNUSED void *data, Ecore_Getopt_Value *storage)
+{
+   unsigned char *color = (unsigned char *)storage->ptrp;
+
+   if (sscanf(str, "%hhu,%hhu,%hhu", color, color + 1, color + 2) != 3)
+     {
+       fprintf(stderr, "ERROR: incorrect color value '%s'\n", str);
+       return 0;
+     }
+
+   return 1;
+}
+
+static void _cb_delete(EINA_UNUSED Ecore_Evas *ee)
+{
+  ecore_main_loop_quit();
+}
+
+const Ecore_Getopt optdesc = {
+  "edje_player",
+  "%prog [options] <filename.edj>",
+  PACKAGE_VERSION,
+  "(C) 2010 Enlightenment",
+  "BSD with advertisement clause",
+  "Simple application to view edje files.",
+  0,
+  {
+    ECORE_GETOPT_STORE_STR
+    ('g', "group", "The edje group to view (defaults to 'main')."),
+    ECORE_GETOPT_STORE_TRUE
+    ('G', "list-groups", "The groups in the given file."),
+    ECORE_GETOPT_STORE_STR
+    ('e', "engine", "The Ecore-Evas engine to use (see --list-engines)"),
+    ECORE_GETOPT_CALLBACK_NOARGS
+    ('E', "list-engines", "list Ecore-Evas engines",
+     ecore_getopt_callback_ecore_evas_list_engines, NULL),
+    ECORE_GETOPT_CALLBACK_ARGS
+    ('Z', "size", "size to use in wxh form.", "WxH",
+     ecore_getopt_callback_size_parse, NULL),
+    ECORE_GETOPT_CALLBACK_ARGS
+    ('c', "bg-color", "Color of the background (if not shaped or alpha)",
+     "RRGGBB", _parse_color, NULL),
+    ECORE_GETOPT_STORE_TRUE
+    ('b', "borderless", "Display window without border."),
+    ECORE_GETOPT_STORE_TRUE
+    ('y', "sticky", "Display window sticky."),
+    ECORE_GETOPT_STORE_TRUE
+    ('s', "shaped", "Display window shaped."),
+    ECORE_GETOPT_STORE_TRUE
+    ('a', "alpha", "Display window with alpha channel "
+     "(needs composite manager!)"),
+    ECORE_GETOPT_STORE_STR
+    ('t', "title", "Define the window title string"),
+    ECORE_GETOPT_STORE_TRUE
+    ('p', "print", "Print signals and messages to stdout"),
+    ECORE_GETOPT_STORE_TRUE
+    ('S', "slave-mode", "Listen for commands on stdin"),
+    ECORE_GETOPT_STORE_DOUBLE
+    ('z', "scale", "Set scale factor"),
+    ECORE_GETOPT_LICENSE('L', "license"),
+    ECORE_GETOPT_COPYRIGHT('C', "copyright"),
+    ECORE_GETOPT_VERSION('V', "version"),
+    ECORE_GETOPT_HELP('h', "help"),
+    ECORE_GETOPT_SENTINEL
+  }
+};
+
+int main(int argc, char **argv)
+{
+   Evas *evas;
+   Evas_Object *stack, *edje;
+   struct opts opts;
+   Eina_Bool quit_option = EINA_FALSE;
+   int args;
+   Ecore_Getopt_Value values[] = {
+     ECORE_GETOPT_VALUE_STR(opts.group),
+     ECORE_GETOPT_VALUE_BOOL(opts.list_groups),
+     ECORE_GETOPT_VALUE_STR(opts.engine),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_PTR_CAST(opts.size),
+     ECORE_GETOPT_VALUE_PTR_CAST(opts.color),
+     ECORE_GETOPT_VALUE_BOOL(opts.borderless),
+     ECORE_GETOPT_VALUE_BOOL(opts.sticky),
+     ECORE_GETOPT_VALUE_BOOL(opts.shaped),
+     ECORE_GETOPT_VALUE_BOOL(opts.alpha),
+     ECORE_GETOPT_VALUE_STR(opts.title),
+     ECORE_GETOPT_VALUE_BOOL(opts.print),
+     ECORE_GETOPT_VALUE_BOOL(opts.slave_mode),
+     ECORE_GETOPT_VALUE_DOUBLE(opts.scale),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_BOOL(quit_option),
+     ECORE_GETOPT_VALUE_NONE
+   };
+
+   memset(&opts, 0, sizeof(opts));
+   opts.scale = 1.0;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+   edje_frametime_set(1.0/60.0);
+
+   args = ecore_getopt_parse(&optdesc, values, argc, argv);
+   if (args < 0)
+     {
+       fputs("Could not parse arguments.\n", stderr);
+       goto shutdown_edje;
+     }
+   else if (quit_option)
+     {
+       goto end;
+     }
+   else if (args >= argc)
+     {
+       fputs("Missing edje file to load.\n", stderr);
+       goto shutdown_edje;
+     }
+
+   ecore_app_args_set(argc, (const char **)argv);
+   edje_scale_set(opts.scale);
+
+   // check if the given edj file is there
+   if (access(argv[args], R_OK) == -1)
+     {
+       int e = errno;
+       fprintf(stderr, "ERROR: file '%s' not accessible, error %d (%s).\n",
+               argv[args], e, strerror(e));
+       goto end;
+     }
+
+   opts.file = argv[args];
+   if (opts.list_groups)
+     {
+       Eina_List *groups, *n;
+       const char *group;
+       groups = edje_file_collection_list(opts.file);
+       printf("%d groups in file '%s':\n", eina_list_count(groups), opts.file);
+       EINA_LIST_FOREACH(groups, n, group)
+         printf("\t'%s'\n", group);
+       edje_file_collection_list_free(groups);
+       goto end;
+     }
+
+   if (opts.size.w <= 0) opts.size.w = 320;
+   if (opts.size.h <= 0) opts.size.h = 240;
+   win = ecore_evas_new(opts.engine, 0, 0, opts.size.w, opts.size.h, NULL);
+   if (!win)
+     {
+       fprintf(stderr,
+               "ERROR: could not create window of "
+               "size %dx%d using engine %s.\n",
+               opts.size.w, opts.size.h, opts.engine ? opts.engine : "(auto)");
+       goto shutdown_edje;
+     }
+
+   ecore_evas_callback_delete_request_set(win, _cb_delete);
+   evas = ecore_evas_get(win);
+   stack = _create_stack(evas, &opts);
+   if (!stack)
+     {
+       goto free_ecore_evas;
+     }
+
+   ecore_evas_object_associate(win, stack, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   if (opts.alpha)
+     ecore_evas_alpha_set(win, EINA_TRUE);
+   else if (opts.shaped)
+     ecore_evas_shaped_set(win, EINA_TRUE);
+   else
+     {
+       Evas_Object *bg = _create_bg(evas, &opts);
+       if (bg) evas_object_box_append(stack, bg);
+     }
+
+   edje = _create_edje(evas, &opts);
+   if (edje)
+     evas_object_box_append(stack, edje);
+   else
+     {
+       goto free_ecore_evas;
+     }
+
+   evas_object_focus_set(stack, EINA_TRUE);
+   evas_object_event_callback_add(stack, EVAS_CALLBACK_KEY_DOWN,
+                                 _key_down, &opts);
+   evas_object_event_callback_add(stack, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+                                 _reset_size_hints, edje);
+
+   if (opts.print)
+     {
+       edje_object_signal_callback_add(edje, "*", "*", _print_signal, NULL);
+       edje_object_message_handler_set(edje, _print_message, NULL);
+     }
+
+   if (opts.slave_mode)
+     {
+#ifndef _WIN32
+       int flags;
+       flags = fcntl(STDIN_FILENO, F_GETFL, 0);
+       flags |= O_NONBLOCK;
+       if (fcntl(STDIN_FILENO, F_SETFL, flags) < 0)
+         {
+            fprintf(stderr, "ERROR: Could not set stdin to non-block: %s\n",
+                    strerror(errno));
+            goto free_ecore_evas;
+         }
+       ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ | ECORE_FD_ERROR,
+                                 _slave_mode, edje, NULL, NULL);
+#else
+        /* TODO: port the code above to Windows */
+        fprintf (stderr, "ERROR: slave mode not working on Windows\n");
+        goto free_ecore_evas;
+#endif
+     }
+
+   ecore_evas_borderless_set(win, opts.borderless);
+   ecore_evas_sticky_set(win, opts.sticky);
+   if (opts.title)
+     ecore_evas_title_set(win, opts.title);
+
+   ecore_evas_show(win);
+   ecore_main_loop_begin();
+
+   ecore_evas_free(win);
+ end:
+   edje_shutdown();
+   ecore_evas_shutdown();
+
+   return 0;
+
+ free_ecore_evas:
+   ecore_evas_free(win);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+   return EXIT_FAILURE;
+}
diff --git a/src/bin/edje/edje_recc b/src/bin/edje/edje_recc
new file mode 100644 (file)
index 0000000..2ae81ad
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+set -e
+
+usage () {
+  echo "Usage:"
+  echo "        edje_recc [OPTIONS] input_file.edj"
+  echo ""
+  echo "Where OPTIONS is one or more of:"
+  echo ""
+  echo "-v                       Verbose output"
+  echo "-no-lossy                Do NOT allow images to be lossy"
+  echo "-no-comp                 Do NOT allow images to be lossless compression"
+  echo "-no-raw                  Do NOT allow images to be zero compression"
+  echo "-min-quality VAL         Do NOT allow lossy images with quality < VAL (0-100)"
+  echo "-max-quality VAL         Do NOT allow lossy images with quality > VAL (0-100)"
+  exit -1
+}
+
+if [ $# -lt 1 ]; then
+  usage
+fi
+
+OPT=""
+if [ $# -ge 1 ]; then
+  for I in $@; do
+    case "$I" in
+      -h)
+        usage
+      ;;
+
+      -help)
+        usage
+      ;;
+
+      --help)
+        usage
+      ;;
+
+      *.edj)
+        IN=$I
+      ;;
+
+      *)
+        OPT=$OPT" "$I
+      ;;
+    esac
+  done
+fi
+
+if [ -z "$IN" ]; then
+  echo "ERROR: NO input file.edj provided!"
+  echo ""
+  usage;
+fi
+
+F=`basename $IN`
+B=`basename $F .edj`
+T="./...edje_tmp"
+rm -rf $T
+mkdir -p $T
+cp $IN $T
+cd $T
+edje_decc $F
+cd $B
+./build.sh $OPT
+cd ../..
+mv $T/$B/$F $IN
+rm -rf $T
diff --git a/src/bin/edje/edje_watch.c b/src/bin/edje/edje_watch.c
new file mode 100644 (file)
index 0000000..3a7eddc
--- /dev/null
@@ -0,0 +1,154 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <sys/wait.h>
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Eio.h>
+#ifdef HAVE_EVIL
+# include <Evil.h>
+#endif
+
+static char watchfile[PATH_MAX];
+static char *edje_cc_command = NULL;
+static Eina_List *watching = NULL;
+static Ecore_Timer *timeout = NULL;
+static Eina_Bool anotate = EINA_FALSE;
+
+static void
+read_watch_file(const char *file)
+{
+   Eina_File *f;
+   Eina_Iterator *it;
+   Eina_File_Line *ln;
+   Eio_Monitor *mon;
+   Eina_List *r = NULL;
+
+   f = eina_file_open(file, EINA_FALSE);
+   if (!f) return ;
+
+   it = eina_file_map_lines(f);
+   if (!it) goto err;
+
+   EINA_ITERATOR_FOREACH(it, ln)
+     {
+        const char *path;
+        Eina_Bool do_append = EINA_TRUE;
+
+       if (ln->length < 4) continue ;
+        if (anotate)
+          {
+             path = eina_stringshare_add_length(ln->start + 3, ln->length - 3);
+             fprintf(stdout, "%c: %s\n", *ln->start, path);
+             if (*ln->start == 'O')
+               do_append = EINA_FALSE;
+          }
+        else
+          {
+             path = eina_stringshare_add_length(ln->start, ln->length);
+          }
+        if (do_append)
+         r = eina_list_append(r, eio_monitor_add(path));
+        eina_stringshare_del(path);
+     }
+   eina_iterator_free(it);
+
+   EINA_LIST_FREE(watching, mon)
+     eio_monitor_del(mon);
+   watching = r;
+
+ err:
+   eina_file_close(f);
+}
+
+Eina_Bool
+rebuild(void *data EINA_UNUSED)
+{
+   double start, end;
+   int ret;
+
+   start = ecore_time_get();
+   fprintf(stdout, "* SYSTEM('%s')\n", edje_cc_command);
+   fflush(stdout);
+
+   ret = system(edje_cc_command);
+   if (WEXITSTATUS(ret) == 0)
+     read_watch_file(watchfile);
+   end = ecore_time_get();
+   fprintf(stdout, "* DONE IN %f\n", end - start);
+   fflush(stdout);
+
+   timeout = NULL;
+   return EINA_FALSE;
+}
+
+Eina_Bool
+some_change(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED)
+{
+   if (timeout) ecore_timer_del(timeout);
+   timeout = ecore_timer_add(0.5, rebuild, NULL);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
+int
+main(int argc, char **argv)
+{
+   char *watchout;
+   Eina_Strbuf *buf;
+   int tfd;
+   int i;
+
+   eina_init();
+   ecore_init();
+   eio_init();
+
+   if (argc < 2) return -1;
+   
+   ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, some_change, NULL);
+   ecore_event_handler_add(EIO_MONITOR_FILE_CREATED, some_change, NULL);
+   ecore_event_handler_add(EIO_MONITOR_FILE_DELETED, some_change, NULL);
+   ecore_event_handler_add(EIO_MONITOR_FILE_CLOSED, some_change, NULL);
+
+#ifdef HAVE_EVIL
+   watchout = (char *)evil_tmpdir_get();
+#else
+   watchout = "/tmp";
+#endif
+
+   snprintf(watchfile, PATH_MAX, "%s/edje_watch-tmp-XXXXXX", watchout);
+
+   tfd = mkstemp(watchfile);
+   if (tfd < 0) return -1;
+   close(tfd);
+
+   buf = eina_strbuf_new();
+   if (!buf) return -1;
+
+   eina_strbuf_append_printf(buf, "%s/edje_cc -fastcomp -w %s ", PACKAGE_BIN_DIR, watchfile);
+   for (i = 1; i < argc; ++i)
+     {
+        if (!strcmp(argv[i], "-anotate"))
+          anotate = EINA_TRUE;
+        eina_strbuf_append_printf(buf, "%s ", argv[i]);
+     }
+   eina_strbuf_append(buf, "> /dev/null");
+
+   edje_cc_command = eina_strbuf_string_steal(buf);
+
+   eina_strbuf_free(buf);
+
+   rebuild(NULL);
+
+   ecore_main_loop_begin();
+
+   unlink(watchfile);
+
+   eio_shutdown();
+   ecore_shutdown();
+   eina_shutdown();
+
+   return 1;
+}
diff --git a/src/bin/edje/epp/cppalloc.c b/src/bin/edje/epp/cppalloc.c
new file mode 100644 (file)
index 0000000..4ce0dd0
--- /dev/null
@@ -0,0 +1,70 @@
+/* Part of CPP library.  (memory allocation - xmalloc etc)
+ * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ * Written by Per Bothner, 1994.
+ * Based on CCCP program by by Paul Rubin, June 1986
+ * Adapted to ANSI C, Richard Stallman, Jan 1987
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+
+#include "cpplib.h"
+
+static void
+memory_full(void)
+{
+   cpp_fatal("Memory exhausted.");
+}
+
+void               *
+xmalloc(unsigned size)
+{
+   char               *ptr = (char *)malloc(size);
+
+   if (ptr)
+      return (ptr);
+   memory_full();
+   /*NOTREACHED */
+   return 0;
+}
+
+void               *
+xrealloc(void *old, unsigned size)
+{
+   char               *ptr = (char *)realloc(old, size);
+
+   if (!ptr)
+      memory_full();
+   return ptr;
+}
+
+void               *
+xcalloc(unsigned number, unsigned size)
+{
+   char               *ptr = (char *)calloc(number, size);
+
+   if (!ptr)
+      memory_full();
+   return ptr;
+}
diff --git a/src/bin/edje/epp/cpperror.c b/src/bin/edje/epp/cpperror.c
new file mode 100644 (file)
index 0000000..2ebfac8
--- /dev/null
@@ -0,0 +1,148 @@
+/* Default error handlers for CPP Library.
+ * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ * Written by Per Bothner, 1994.
+ * Based on CCCP program by by Paul Rubin, June 1986
+ * Adapted to ANSI C, Richard Stallman, Jan 1987
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Eina.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "cpplib.h"
+
+/* Print the file names and line numbers of the #include
+ * commands which led to the current file.  */
+
+void
+cpp_print_containing_files(cpp_reader * pfile)
+{
+   cpp_buffer         *ip;
+   int                 first = 1;
+
+   /* If stack of files hasn't changed since we last printed
+    * this info, don't repeat it.  */
+   if (pfile->input_stack_listing_current)
+      return;
+
+   ip = cpp_file_buffer(pfile);
+
+   /* Give up if we don't find a source file.  */
+   if (!ip)
+      return;
+
+   /* Find the other, outer source files.  */
+   while ((ip = CPP_PREV_BUFFER(ip)), ip != CPP_NULL_BUFFER(pfile))
+     {
+       long                line, col;
+
+       cpp_buf_line_and_col(ip, &line, &col);
+       if (ip->fname)
+         {
+            if (first)
+              {
+                 first = 0;
+                 fprintf(stderr, "In file included");
+              }
+            else
+               fprintf(stderr, ",\n                ");
+         }
+     }
+   if (!first)
+      fprintf(stderr, ":\n");
+
+   /* Record we have printed the status as of this time.  */
+   pfile->input_stack_listing_current = 1;
+}
+
+void
+cpp_file_line_for_message(cpp_reader * pfile EINA_UNUSED, const char *filename,
+                         int line, int column)
+{
+   if (column > 0)
+     {
+       fprintf(stderr, "%s:%d:%d: ", filename, line, column);
+     }
+   else
+     {
+       fprintf(stderr, "%s:%d: ", filename, line);
+     }
+}
+
+/* IS_ERROR is 1 for error, 0 for warning */
+void
+cpp_message_v(cpp_reader * pfile, int is_error, const char *msg, va_list args)
+{
+   if (is_error)
+      pfile->errors++;
+   else
+      fprintf(stderr, "warning: ");
+   vfprintf(stderr, msg, args);
+   fprintf(stderr, "\n");
+}
+
+void
+cpp_message(cpp_reader * pfile, int is_error, const char *msg, ...)
+{
+   va_list             args;
+
+   va_start(args, msg);
+
+   cpp_message_v(pfile, is_error, msg, args);
+
+   va_end(args);
+}
+
+static void
+cpp_fatal_v(const char *msg, va_list args)
+{
+   fprintf(stderr, "%s: ", progname);
+   vfprintf(stderr, msg, args);
+   fprintf(stderr, "\n");
+   exit(FATAL_EXIT_CODE);
+}
+
+void
+cpp_fatal(const char *msg, ...)
+{
+   va_list             args;
+
+   va_start(args, msg);
+
+   cpp_fatal_v(msg, args);
+
+   va_end(args);
+}
+
+void
+cpp_pfatal_with_name(cpp_reader * pfile, const char *name)
+{
+   cpp_perror_with_name(pfile, name);
+#ifdef VMS
+   exit(vaxc$errno);
+#else
+   exit(FATAL_EXIT_CODE);
+#endif
+}
diff --git a/src/bin/edje/epp/cppexp.c b/src/bin/edje/epp/cppexp.c
new file mode 100644 (file)
index 0000000..c5712c0
--- /dev/null
@@ -0,0 +1,1092 @@
+/* Parse C expressions for CCCP.
+ * Copyright (C) 1987, 1992, 1994, 1995 Free Software Foundation.
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!
+ * 
+ * Written by Per Bothner 1994. */
+
+/* Parse a C expression from text in a string  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef __EMX__
+# include <strings.h>
+#endif
+
+#ifdef MULTIBYTE_CHARS
+# include <locale.h>
+#endif
+
+#include <Eina.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "cpplib.h"
+#include "cpphash.h"
+
+/* This is used for communicating lists of keywords with cccp.c.  */
+struct arglist {
+   struct arglist     *next;
+   unsigned char      *name;
+   int                 length;
+   int                 argno;
+};
+
+/* Define a generic NULL if one hasn't already been defined.  */
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#ifndef GENERIC_PTR
+#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
+#define GENERIC_PTR void *
+#else
+#define GENERIC_PTR char *
+#endif
+#endif
+
+#ifndef NULL_PTR
+#define NULL_PTR ((GENERIC_PTR)0)
+#endif
+
+#ifndef CHAR_TYPE_SIZE
+#define CHAR_TYPE_SIZE BITS_PER_UNIT
+#endif
+
+#ifndef INT_TYPE_SIZE
+#define INT_TYPE_SIZE BITS_PER_WORD
+#endif
+
+#ifndef LONG_TYPE_SIZE
+#define LONG_TYPE_SIZE BITS_PER_WORD
+#endif
+
+#ifndef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
+#endif
+
+#ifndef MAX_CHAR_TYPE_SIZE
+#define MAX_CHAR_TYPE_SIZE CHAR_TYPE_SIZE
+#endif
+
+#ifndef MAX_INT_TYPE_SIZE
+#define MAX_INT_TYPE_SIZE INT_TYPE_SIZE
+#endif
+
+#ifndef MAX_LONG_TYPE_SIZE
+#define MAX_LONG_TYPE_SIZE LONG_TYPE_SIZE
+#endif
+
+#ifndef MAX_WCHAR_TYPE_SIZE
+#define MAX_WCHAR_TYPE_SIZE WCHAR_TYPE_SIZE
+#endif
+
+/* Yield nonzero if adding two numbers with A's and B's signs can yield a
+ * number with SUM's sign, where A, B, and SUM are all C integers.  */
+#define possible_sum_sign(a, b, sum) ((((a) ^ (b)) | ~ ((a) ^ (sum))) < 0)
+
+#define ERROR 299
+#define OROR 300
+#define ANDAND 301
+#define EQUAL 302
+#define NOTEQUAL 303
+#define LEQ 304
+#define GEQ 305
+#define LSH 306
+#define RSH 307
+#define NAME 308
+#define INT 309
+#define CHAR 310
+
+#define LEFT_OPERAND_REQUIRED 1
+#define RIGHT_OPERAND_REQUIRED 2
+#define HAVE_VALUE 4
+/* SKIP_OPERAND is set for '&&' '||' '?' and ':' when the
+ * following operand should be short-circuited instead of evaluated. */
+#define SKIP_OPERAND 8
+/*#define UNSIGNEDP 16 */
+
+struct operation {
+   short               op;
+   char                rprio;  /* Priority of op (relative to it right operand). */
+   char                flags;
+   char                unsignedp;      /* true if value should be treated as unsigned */
+   HOST_WIDE_INT       value;  /* The value logically "right" of op. */
+};
+
+/* Take care of parsing a number (anything that starts with a digit).
+ * LEN is the number of characters in it.  */
+
+/* maybe needs to actually deal with floating point numbers */
+
+static void
+parse_number(struct operation *op, cpp_reader * pfile, const char *start,
+            int olen)
+{
+   const char         *p = start;
+   int                 c;
+   unsigned long       n = 0, nd, ULONG_MAX_over_base;
+   int                 base = 10;
+   int                 len = olen;
+   int                 overflow = 0;
+   int                 digit, largest_digit = 0;
+   int                 spec_long = 0;
+
+   op->unsignedp = 0;
+
+   for (c = 0; c < len; c++)
+      if (p[c] == '.')
+       {
+          /* It's a float since it contains a point.  */
+          cpp_error(pfile,
+                    "floating point numbers not allowed in #if expressions");
+          op->op = ERROR;
+          return;
+       }
+   if (len >= 3 && (!strncmp(p, "0x", 2) || !strncmp(p, "0X", 2)))
+     {
+       p += 2;
+       base = 16;
+       len -= 2;
+     }
+   else if (*p == '0')
+      base = 8;
+
+   /* Some buggy compilers (e.g. MPW C) seem to need both casts. */
+   ULONG_MAX_over_base = ((unsigned long)-1) / ((unsigned long)base);
+
+   for (; len > 0; len--)
+     {
+       c = *p++;
+
+       if (c >= '0' && c <= '9')
+          digit = c - '0';
+       else if (base == 16 && c >= 'a' && c <= 'f')
+          digit = c - 'a' + 10;
+       else if (base == 16 && c >= 'A' && c <= 'F')
+          digit = c - 'A' + 10;
+       else
+         {
+            /* `l' means long, and `u' means unsigned.  */
+            while (1)
+              {
+                 if (c == 'l' || c == 'L')
+                   {
+                      if (spec_long)
+                         cpp_error(pfile, "two `l's in integer constant");
+                      spec_long = 1;
+                   }
+                 else if (c == 'u' || c == 'U')
+                   {
+                      if (op->unsignedp)
+                         cpp_error(pfile, "two `u's in integer constant");
+                      op->unsignedp = 1;
+                   }
+                 else
+                    break;
+
+                 if (--len == 0)
+                    break;
+                 c = *p++;
+              }
+            /* Don't look for any more digits after the suffixes.  */
+            break;
+         }
+       if (largest_digit < digit)
+          largest_digit = digit;
+       nd = n * base + digit;
+       overflow |= (ULONG_MAX_over_base < n) | (nd < n);
+       n = nd;
+     }
+
+   if (len != 0)
+     {
+       cpp_error(pfile, "Invalid number in #if expression");
+       op->op = ERROR;
+       return;
+     }
+   if (base <= largest_digit)
+      cpp_warning(pfile, "integer constant contains digits beyond the radix");
+
+   if (overflow)
+      cpp_warning(pfile, "integer constant out of range");
+
+   /* If too big to be signed, consider it unsigned.  */
+   if ((long)n < 0 && !op->unsignedp)
+     {
+       if (base == 10)
+          cpp_warning(pfile,
+                      "integer constant is so large that it is unsigned");
+       op->unsignedp = 1;
+     }
+   op->value = n;
+   op->op = INT;
+}
+
+struct token {
+   const char         *oper;
+   int                 token;
+};
+
+static struct token tokentab2[] = {
+   {"&&", ANDAND},
+   {"||", OROR},
+   {"<<", LSH},
+   {">>", RSH},
+   {"==", EQUAL},
+   {"!=", NOTEQUAL},
+   {"<=", LEQ},
+   {">=", GEQ},
+   {"++", ERROR},
+   {"--", ERROR},
+   {NULL, ERROR}
+};
+
+/* Read one token. */
+
+static void
+cpp_lex(struct operation *op, cpp_reader * pfile)
+{
+   int                 c;
+   struct token       *toktab;
+   enum cpp_token      token;
+   unsigned char      *tok_start, *tok_end;
+   int                 old_written;
+
+   op->value = 0;
+   op->unsignedp = 0;
+
+ retry:
+
+   old_written = CPP_WRITTEN(pfile);
+   cpp_skip_hspace(pfile);
+   c = CPP_BUF_PEEK(CPP_BUFFER(pfile));
+   if (c == '#')
+     {
+       parse_number(op, pfile, cpp_read_check_assertion(pfile) ? "1" : "0", 1);
+       return;
+     }
+
+   if (c == '\n')
+     {
+       op->op = 0;
+       return;
+     }
+   token = cpp_get_token(pfile);
+   tok_start = pfile->token_buffer + old_written;
+   tok_end = CPP_PWRITTEN(pfile);
+   pfile->limit = tok_start;
+   switch (token)
+     {
+     case CPP_EOF:             /* Should not happen ... */
+       op->op = 0;
+       break;
+
+     case CPP_VSPACE:
+     case CPP_POP:
+       if (CPP_BUFFER(pfile)->fname)
+         {
+            op->op = 0;
+            break;
+         }
+       goto retry;
+
+     case CPP_HSPACE:
+     case CPP_COMMENT:
+       goto retry;
+
+     case CPP_NUMBER:
+       parse_number(op, pfile, (char *)tok_start, tok_end - tok_start);
+       break;
+
+     case CPP_STRING:
+       cpp_error(pfile, "string constants not allowed in #if expressions");
+       op->op = ERROR;
+       break;
+
+     case CPP_CHAR:
+       /* This code for reading a character constant
+        * handles multicharacter constants and wide characters.
+        * It is mostly copied from c-lex.c.  */
+       {
+          int                 result = 0;
+          int                 num_chars = 0;
+          unsigned            width = MAX_CHAR_TYPE_SIZE;
+          int                 wide_flag = 0;
+          int                 max_chars;
+          char               *ptr = (char *)tok_start;
+
+#ifdef MULTIBYTE_CHARS
+          char                token_buffer[MAX_LONG_TYPE_SIZE /
+                                           MAX_CHAR_TYPE_SIZE + MB_CUR_MAX];
+#endif
+
+          if (*ptr == 'L')
+            {
+               ptr++;
+               wide_flag = 1;
+               width = MAX_WCHAR_TYPE_SIZE;
+#ifdef MULTIBYTE_CHARS
+               max_chars = MB_CUR_MAX;
+#else
+               max_chars = 1;
+#endif
+            }
+          else
+             max_chars = MAX_LONG_TYPE_SIZE / width;
+
+          while (1)
+            {
+               if (ptr >= (char *)CPP_PWRITTEN(pfile) || (c = *ptr++) == '\'')
+                  break;
+
+               if (c == '\\')
+                 {
+                    c = cpp_parse_escape(pfile, &ptr);
+                    if (width < HOST_BITS_PER_INT
+                        && (unsigned)c >= (unsigned)(1 << width))
+                       cpp_pedwarn(pfile,
+                                   "escape sequence out of range for character");
+                 }
+               num_chars++;
+
+               /* Merge character into result; ignore excess chars.  */
+               if (num_chars < max_chars + 1)
+                 {
+                    if (width < HOST_BITS_PER_INT)
+                       result = (result << width) | (c & ((1 << width) - 1));
+                    else
+                       result = c;
+#ifdef MULTIBYTE_CHARS
+                    token_buffer[num_chars - 1] = c;
+#endif
+                 }
+            }
+
+#ifdef MULTIBYTE_CHARS
+          token_buffer[num_chars] = 0;
+#endif
+
+          if (c != '\'')
+             cpp_error(pfile, "malformatted character constant");
+          else if (num_chars == 0)
+             cpp_error(pfile, "empty character constant");
+          else if (num_chars > max_chars)
+            {
+               num_chars = max_chars;
+               cpp_error(pfile, "character constant too long");
+            }
+          else if (num_chars != 1 && !CPP_TRADITIONAL(pfile))
+             cpp_warning(pfile, "multi-character character constant");
+
+          /* If char type is signed, sign-extend the constant.  */
+          if (!wide_flag)
+            {
+               int                 num_bits = num_chars * width;
+
+               if (cpp_lookup("__CHAR_UNSIGNED__",
+                              sizeof("__CHAR_UNSIGNED__") - 1, -1)
+                   || ((result >> (num_bits - 1)) & 1) == 0)
+                  op->value =
+                     result & ((unsigned long)~0 >>
+                               (HOST_BITS_PER_LONG - num_bits));
+               else
+                  op->value =
+                     result | ~((unsigned long)~0 >>
+                                (HOST_BITS_PER_LONG - num_bits));
+            }
+          else
+            {
+#ifdef MULTIBYTE_CHARS
+               /* Set the initial shift state and convert the next sequence.  */
+               result = 0;
+               /* In all locales L'\0' is zero and mbtowc will return zero,
+                * so don't use it.  */
+               if (num_chars > 1
+                   || (num_chars == 1 && token_buffer[0] != '\0'))
+                 {
+                    wchar_t             wc;
+
+                    (void)mbtowc(NULL_PTR, NULL_PTR, 0);
+                    if (mbtowc(&wc, token_buffer, num_chars) == num_chars)
+                       result = wc;
+                    else
+                       cpp_warning(pfile,
+                                   "Ignoring invalid multibyte character");
+                 }
+#endif
+               op->value = result;
+            }
+       }
+
+       /* This is always a signed type.  */
+       op->unsignedp = 0;
+       op->op = CHAR;
+       break;
+
+     case CPP_NAME:
+       parse_number(op, pfile, "0", 0);
+       break;
+
+     case CPP_OTHER:
+       /* See if it is a special token of length 2.  */
+       if (tok_start + 2 == tok_end)
+         {
+            for (toktab = tokentab2; toktab->oper; toktab++)
+               if (tok_start[0] == toktab->oper[0]
+                   && tok_start[1] == toktab->oper[1])
+                  break;
+            if (toktab->token == ERROR)
+              {
+                 char               *buf = (char *)malloc(40);
+
+                 memset(buf, 0, 40);
+
+                 sprintf(buf, "`%s' not allowed in operand of `#if'",
+                         tok_start);
+                 cpp_error(pfile, buf);
+                 free(buf);
+              }
+            op->op = toktab->token;
+            break;
+         }
+       /* fall through */
+     default:
+       op->op = *tok_start;
+       break;
+     }
+}
+
+/* Parse a C escape sequence.  STRING_PTR points to a variable
+ * containing a pointer to the string to parse.  That pointer
+ * is updated past the characters we use.  The value of the
+ * escape sequence is returned.
+ * 
+ * A negative value means the sequence \ newline was seen,
+ * which is supposed to be equivalent to nothing at all.
+ * 
+ * If \ is followed by a null character, we return a negative
+ * value and leave the string pointer pointing at the null character.
+ * 
+ * If \ is followed by 000, we return 0 and leave the string pointer
+ * after the zeros.  A value of 0 does not mean end of string.  */
+
+int
+cpp_parse_escape(cpp_reader * pfile, char **string_ptr)
+{
+   int                 c = *(*string_ptr)++;
+
+   switch (c)
+     {
+     case 'a':
+       return TARGET_BELL;
+     case 'b':
+       return TARGET_BS;
+     case 'e':
+     case 'E':
+       if (CPP_PEDANTIC(pfile))
+          cpp_pedwarn(pfile, "non-ANSI-standard escape sequence, `\\%c'", c);
+       return 033;
+     case 'f':
+       return TARGET_FF;
+     case 'n':
+       return TARGET_NEWLINE;
+     case 'r':
+       return TARGET_CR;
+     case 't':
+       return TARGET_TAB;
+     case 'v':
+       return TARGET_VT;
+     case '\n':
+       return -2;
+     case 0:
+       (*string_ptr)--;
+       return 0;
+
+     case '0':
+     case '1':
+     case '2':
+     case '3':
+     case '4':
+     case '5':
+     case '6':
+     case '7':
+       {
+          int                 i = c - '0';
+          int                 count = 0;
+
+          while (++count < 3)
+            {
+               c = *(*string_ptr)++;
+               if (c >= '0' && c <= '7')
+                  i = (i << 3) + c - '0';
+               else
+                 {
+                    (*string_ptr)--;
+                    break;
+                 }
+            }
+          if ((i & ~((1 << MAX_CHAR_TYPE_SIZE) - 1)) != 0)
+            {
+               i &= (1 << MAX_CHAR_TYPE_SIZE) - 1;
+               cpp_warning(pfile,
+                           "octal character constant does not fit in a byte");
+            }
+          return i;
+       }
+     case 'x':
+       {
+          unsigned            i = 0, overflow = 0, digits_found = 0, digit;
+
+          for (;;)
+            {
+               c = *(*string_ptr)++;
+               if (c >= '0' && c <= '9')
+                  digit = c - '0';
+               else if (c >= 'a' && c <= 'f')
+                  digit = c - 'a' + 10;
+               else if (c >= 'A' && c <= 'F')
+                  digit = c - 'A' + 10;
+               else
+                 {
+                    (*string_ptr)--;
+                    break;
+                 }
+               overflow |= i ^ (i << 4 >> 4);
+               i = (i << 4) + digit;
+               digits_found = 1;
+            }
+          if (!digits_found)
+             cpp_error(pfile, "\\x used with no following hex digits");
+          if (overflow | (i & ~((1 << BITS_PER_UNIT) - 1)))
+            {
+               i &= (1 << BITS_PER_UNIT) - 1;
+               cpp_warning(pfile,
+                           "hex character constant does not fit in a byte");
+            }
+          return i;
+       }
+     default:
+       return c;
+     }
+}
+
+static void
+integer_overflow(cpp_reader * pfile)
+{
+   if (CPP_PEDANTIC(pfile))
+      cpp_pedwarn(pfile, "integer overflow in preprocessor expression");
+}
+
+static long
+left_shift(cpp_reader * pfile, long a, int unsignedp, unsigned long b)
+{
+   if (b >= HOST_BITS_PER_LONG)
+     {
+       if (!unsignedp && a != 0)
+          integer_overflow(pfile);
+       return 0;
+     }
+   else if (unsignedp)
+      return (unsigned long)a << b;
+   else
+     {
+       long                l = a << b;
+
+       if (l >> b != a)
+          integer_overflow(pfile);
+       return l;
+     }
+}
+
+static long
+right_shift(cpp_reader * pfile EINA_UNUSED, long a, int unsignedp,
+           unsigned long b)
+{
+   if (b >= HOST_BITS_PER_LONG)
+     {
+       return unsignedp ? 0 : a >> (HOST_BITS_PER_LONG - 1);
+     }
+   else if (unsignedp)
+     {
+       return (unsigned long)a >> b;
+     }
+   else
+     {
+       return a >> b;
+     }
+}
+
+/* These priorities are all even, so we can handle associatively. */
+#define PAREN_INNER_PRIO 0
+#define COMMA_PRIO 4
+#define COND_PRIO (COMMA_PRIO+2)
+#define OROR_PRIO (COND_PRIO+2)
+#define ANDAND_PRIO (OROR_PRIO+2)
+#define OR_PRIO (ANDAND_PRIO+2)
+#define XOR_PRIO (OR_PRIO+2)
+#define AND_PRIO (XOR_PRIO+2)
+#define EQUAL_PRIO (AND_PRIO+2)
+#define LESS_PRIO (EQUAL_PRIO+2)
+#define SHIFT_PRIO (LESS_PRIO+2)
+#define PLUS_PRIO (SHIFT_PRIO+2)
+#define MUL_PRIO (PLUS_PRIO+2)
+#define UNARY_PRIO (MUL_PRIO+2)
+#define PAREN_OUTER_PRIO (UNARY_PRIO+2)
+
+#define COMPARE(OP) \
+  top->unsignedp = 0;\
+  top->value = (unsigned1 || unsigned2) ? (unsigned long) v1 OP (unsigned long) v2 : (v1 OP v2)
+
+/* Parse and evaluate a C expression, reading from PFILE.
+ * Returns the value of the expression.  */
+
+HOST_WIDE_INT
+cpp_parse_expr(cpp_reader * pfile)
+{
+   /* The implementation is an operator precedence parser,
+    * i.e. a bottom-up parser, using a stack for not-yet-reduced tokens.
+    * 
+    * The stack base is 'stack', and the current stack pointer is 'top'.
+    * There is a stack element for each operator (only),
+    * and the most recently pushed operator is 'top->op'.
+    * An operand (value) is stored in the 'value' field of the stack
+    * element of the operator that precedes it.
+    * In that case the 'flags' field has the HAVE_VALUE flag set.  */
+
+#define INIT_STACK_SIZE 20
+   struct operation    init_stack[INIT_STACK_SIZE];
+   struct operation   *stack = init_stack;
+   struct operation   *limit = stack + INIT_STACK_SIZE;
+   struct operation   *top = stack;
+   int                 lprio = 0, rprio = 0;
+   int                 skip_evaluation = 0;
+
+   top->rprio = 0;
+   top->flags = 0;
+   for (;;)
+     {
+       struct operation    op;
+       char                flags = 0;
+
+       /* Read a token */
+       cpp_lex(&op, pfile);
+
+       /* See if the token is an operand, in which case go to set_value.
+        * If the token is an operator, figure out its left and right
+        * priorities, and then goto maybe_reduce. */
+
+       switch (op.op)
+         {
+         case NAME:
+            top->value = 0, top->unsignedp = 0;
+            goto set_value;
+         case INT:
+         case CHAR:
+            top->value = op.value;
+            top->unsignedp = op.unsignedp;
+            goto set_value;
+         case 0:
+            lprio = 0;
+            goto maybe_reduce;
+         case '+':
+         case '-':
+            /* Is this correct if unary ? FIXME */
+            flags = RIGHT_OPERAND_REQUIRED;
+            lprio = PLUS_PRIO;
+            rprio = lprio + 1;
+            goto maybe_reduce;
+         case '!':
+         case '~':
+            flags = RIGHT_OPERAND_REQUIRED;
+            rprio = UNARY_PRIO;
+            lprio = rprio + 1;
+            goto maybe_reduce;
+         case '*':
+         case '/':
+         case '%':
+            lprio = MUL_PRIO;
+            goto binop;
+         case '<':
+         case '>':
+         case LEQ:
+         case GEQ:
+            lprio = LESS_PRIO;
+            goto binop;
+         case EQUAL:
+         case NOTEQUAL:
+            lprio = EQUAL_PRIO;
+            goto binop;
+         case LSH:
+         case RSH:
+            lprio = SHIFT_PRIO;
+            goto binop;
+         case '&':
+            lprio = AND_PRIO;
+            goto binop;
+         case '^':
+            lprio = XOR_PRIO;
+            goto binop;
+         case '|':
+            lprio = OR_PRIO;
+            goto binop;
+         case ANDAND:
+            lprio = ANDAND_PRIO;
+            goto binop;
+         case OROR:
+            lprio = OROR_PRIO;
+            goto binop;
+         case ',':
+            lprio = COMMA_PRIO;
+            goto binop;
+         case '(':
+            lprio = PAREN_OUTER_PRIO;
+            rprio = PAREN_INNER_PRIO;
+            goto maybe_reduce;
+         case ')':
+            lprio = PAREN_INNER_PRIO;
+            rprio = PAREN_OUTER_PRIO;
+            goto maybe_reduce;
+         case ':':
+            lprio = COND_PRIO;
+            rprio = COND_PRIO;
+            goto maybe_reduce;
+         case '?':
+            lprio = COND_PRIO + 1;
+            rprio = COND_PRIO;
+            goto maybe_reduce;
+          binop:
+            flags = LEFT_OPERAND_REQUIRED | RIGHT_OPERAND_REQUIRED;
+            rprio = lprio + 1;
+            goto maybe_reduce;
+         default:
+            cpp_error(pfile, "invalid character in #if");
+            goto syntax_error;
+         }
+
+      set_value:
+       /* Push a value onto the stack. */
+       if (top->flags & HAVE_VALUE)
+         {
+            cpp_error(pfile, "syntax error in #if");
+            goto syntax_error;
+         }
+       top->flags |= HAVE_VALUE;
+       continue;
+
+      maybe_reduce:
+       /* Push an operator, and check if we can reduce now. */
+       while (top->rprio > lprio)
+         {
+            long                v1 = top[-1].value, v2 = top[0].value;
+            int                 unsigned1 = top[-1].unsignedp, unsigned2 =
+               top[0].unsignedp;
+
+            top--;
+            if ((top[1].flags & LEFT_OPERAND_REQUIRED)
+                && !(top[0].flags & HAVE_VALUE))
+              {
+                 cpp_error(pfile, "syntax error - missing left operand");
+                 goto syntax_error;
+              }
+            if ((top[1].flags & RIGHT_OPERAND_REQUIRED)
+                && !(top[1].flags & HAVE_VALUE))
+              {
+                 cpp_error(pfile, "syntax error - missing right operand");
+                 goto syntax_error;
+              }
+            /* top[0].value = (top[1].op)(v1, v2); */
+            switch (top[1].op)
+              {
+              case '+':
+                 if (!(top->flags & HAVE_VALUE))
+                   {           /* Unary '+' */
+                      top->value = v2;
+                      top->unsignedp = unsigned2;
+                      top->flags |= HAVE_VALUE;
+                   }
+                 else
+                   {
+                      top->value = v1 + v2;
+                      top->unsignedp = unsigned1 || unsigned2;
+                      if (!top->unsignedp && !skip_evaluation
+                          && !possible_sum_sign(v1, v2, top->value))
+                         integer_overflow(pfile);
+                   }
+                 break;
+              case '-':
+                 if (skip_evaluation); /* do nothing */
+                 else if (!(top->flags & HAVE_VALUE))
+                   {           /* Unary '-' */
+                      top->value = -v2;
+                      if ((top->value & v2) < 0 && !unsigned2)
+                         integer_overflow(pfile);
+                      top->unsignedp = unsigned2;
+                      top->flags |= HAVE_VALUE;
+                   }
+                 else
+                   {           /* Binary '-' */
+                      top->value = v1 - v2;
+                      top->unsignedp = unsigned1 || unsigned2;
+                      if (!top->unsignedp
+                          && !possible_sum_sign(top->value, v2, v1))
+                         integer_overflow(pfile);
+                   }
+                 break;
+              case '*':
+                 top->unsignedp = unsigned1 || unsigned2;
+                 if (top->unsignedp)
+                    top->value = (unsigned long)v1 *v2;
+
+                 else if (!skip_evaluation)
+                   {
+                      top->value = v1 * v2;
+                      if (v1
+                          && (top->value / v1 != v2
+                              || (top->value & v1 & v2) < 0))
+                         integer_overflow(pfile);
+                   }
+                 break;
+              case '/':
+                 if (skip_evaluation)
+                    break;
+                 if (v2 == 0)
+                   {
+                      cpp_error(pfile, "division by zero in #if");
+                      v2 = 1;
+                   }
+                 top->unsignedp = unsigned1 || unsigned2;
+                 if (top->unsignedp)
+                    top->value = (unsigned long)v1 / v2;
+                 else
+                   {
+                      top->value = v1 / v2;
+                      if ((top->value & v1 & v2) < 0)
+                         integer_overflow(pfile);
+                   }
+                 break;
+              case '%':
+                 if (skip_evaluation)
+                    break;
+                 if (v2 == 0)
+                   {
+                      cpp_error(pfile, "division by zero in #if");
+                      v2 = 1;
+                   }
+                 top->unsignedp = unsigned1 || unsigned2;
+                 if (top->unsignedp)
+                    top->value = (unsigned long)v1 % v2;
+                 else
+                    top->value = v1 % v2;
+                 break;
+              case '!':
+                 if (top->flags & HAVE_VALUE)
+                   {
+                      cpp_error(pfile, "syntax error");
+                      goto syntax_error;
+                   }
+                 top->value = !v2;
+                 top->unsignedp = 0;
+                 top->flags |= HAVE_VALUE;
+                 break;
+              case '~':
+                 if (top->flags & HAVE_VALUE)
+                   {
+                      cpp_error(pfile, "syntax error");
+                      goto syntax_error;
+                   }
+                 top->value = ~v2;
+                 top->unsignedp = unsigned2;
+                 top->flags |= HAVE_VALUE;
+                 break;
+              case '<':
+                 COMPARE(<);
+                 break;
+              case '>':
+                 COMPARE(>);
+                 break;
+              case LEQ:
+                 COMPARE(<=);
+                 break;
+              case GEQ:
+                 COMPARE(>=);
+                 break;
+              case EQUAL:
+                 top->value = (v1 == v2);
+                 top->unsignedp = 0;
+                 break;
+              case NOTEQUAL:
+                 top->value = (v1 != v2);
+                 top->unsignedp = 0;
+                 break;
+              case LSH:
+                 if (skip_evaluation)
+                    break;
+                 top->unsignedp = unsigned1;
+                 if (v2 < 0 && !unsigned2)
+                    top->value = right_shift(pfile, v1, unsigned1, -v2);
+                 else
+                    top->value = left_shift(pfile, v1, unsigned1, v2);
+                 break;
+              case RSH:
+                 if (skip_evaluation)
+                    break;
+                 top->unsignedp = unsigned1;
+                 if (v2 < 0 && !unsigned2)
+                    top->value = left_shift(pfile, v1, unsigned1, -v2);
+                 else
+                    top->value = right_shift(pfile, v1, unsigned1, v2);
+                 break;
+#define LOGICAL(OP) \
+             top->value = v1 OP v2;\
+             top->unsignedp = unsigned1 || unsigned2;
+              case '&':
+                 LOGICAL(&);
+                 break;
+              case '^':
+                 LOGICAL(^);
+                 break;
+              case '|':
+                 LOGICAL(|);
+                 break;
+              case ANDAND:
+                 top->value = v1 && v2;
+                 top->unsignedp = 0;
+                 if (!v1)
+                    skip_evaluation--;
+                 break;
+              case OROR:
+                 top->value = v1 || v2;
+                 top->unsignedp = 0;
+                 if (v1)
+                    skip_evaluation--;
+                 break;
+              case ',':
+                 if (CPP_PEDANTIC(pfile))
+                    cpp_pedwarn(pfile, "comma operator in operand of `#if'");
+                 top->value = v2;
+                 top->unsignedp = unsigned2;
+                 break;
+              case '(':
+              case '?':
+                 cpp_error(pfile, "syntax error in #if");
+                 goto syntax_error;
+              case ':':
+                 if (top[0].op != '?')
+                   {
+                      cpp_error(pfile,
+                                "syntax error ':' without preceding '?'");
+                      goto syntax_error;
+                   }
+                 else if (!(top[1].flags & HAVE_VALUE)
+                          || !(top[-1].flags & HAVE_VALUE)
+                          || !(top[0].flags & HAVE_VALUE))
+                   {
+                      cpp_error(pfile, "bad syntax for ?: operator");
+                      goto syntax_error;
+                   }
+                 else
+                   {
+                      top--;
+                      if (top->value)
+                         skip_evaluation--;
+                      top->value = top->value ? v1 : v2;
+                      top->unsignedp = unsigned1 || unsigned2;
+                   }
+                 break;
+              case ')':
+                 if ((top[1].flags & HAVE_VALUE)
+                     || !(top[0].flags & HAVE_VALUE)
+                     || top[0].op != '(' || (top[-1].flags & HAVE_VALUE))
+                   {
+                      cpp_error(pfile, "mismatched parentheses in #if");
+                      goto syntax_error;
+                   }
+                 else
+                   {
+                      top--;
+                      top->value = v1;
+                      top->unsignedp = unsigned1;
+                      top->flags |= HAVE_VALUE;
+                   }
+                 break;
+              default:
+                 fprintf(stderr,
+                         top[1].op >= ' ' && top[1].op <= '~'
+                         ? "unimplemented operator '%c'\n"
+                         : "unimplemented operator '\\%03o'\n", top[1].op);
+              }
+         }
+       if (op.op == 0)
+         {
+            if (top != stack)
+               cpp_error(pfile, "internal error in #if expression");
+            if (stack != init_stack)
+               free(stack);
+            return top->value;
+         }
+       top++;
+
+       /* Check for and handle stack overflow. */
+       if (top == limit)
+         {
+            struct operation   *new_stack;
+            int                 old_size = (char *)limit - (char *)stack;
+            int                 new_size = 2 * old_size;
+
+            if (stack != init_stack)
+               new_stack = (struct operation *)xrealloc(stack, new_size);
+            else
+              {
+                 new_stack = (struct operation *)xmalloc(new_size);
+                 memcpy((char *)new_stack, (char *)stack, old_size);
+              }
+            stack = new_stack;
+            top = (struct operation *)((char *)new_stack + old_size);
+            limit = (struct operation *)((char *)new_stack + new_size);
+         }
+       top->flags = flags;
+       top->rprio = rprio;
+       top->op = op.op;
+       if ((op.op == OROR && top[-1].value)
+           || (op.op == ANDAND && !top[-1].value)
+           || (op.op == '?' && !top[-1].value))
+         {
+            skip_evaluation++;
+         }
+       else if (op.op == ':')
+         {
+            if (top[-2].value) /* Was condition true? */
+               skip_evaluation++;
+            else
+               skip_evaluation--;
+         }
+     }
+ syntax_error:
+   if (stack != init_stack)
+      free(stack);
+   skip_rest_of_line(pfile);
+   return 0;
+}
diff --git a/src/bin/edje/epp/cpphash.c b/src/bin/edje/epp/cpphash.c
new file mode 100644 (file)
index 0000000..ea2c414
--- /dev/null
@@ -0,0 +1,199 @@
+/* Part of CPP library.  (Macro hash table support.)
+ * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ * Written by Per Bothner, 1994.
+ * Based on CCCP program by by Paul Rubin, June 1986
+ * Adapted to ANSI C, Richard Stallman, Jan 1987
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Eina.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "cpplib.h"
+#include "cpphash.h"
+
+static HASHNODE    *hashtab[HASHSIZE];
+
+#define IS_IDCHAR(ch) is_idchar[(unsigned char)(ch)]
+
+/*
+ * return hash function on name.  must be compatible with the one
+ * computed a step at a time, elsewhere
+ */
+int
+hashf(const char *name, int len, int hashsize)
+{
+   int                 r = 0;
+
+   while (len--)
+      r = HASHSTEP(r, *name++);
+
+   return MAKE_POS(r) % hashsize;
+}
+
+/*
+ * find the most recent hash node for name name (ending with first
+ * non-identifier char) installed by install
+ *
+ * If LEN is >= 0, it is the length of the name.
+ * Otherwise, compute the length by scanning the entire name.
+ *
+ * If HASH is >= 0, it is the precomputed hash code.
+ * Otherwise, compute the hash code.
+ */
+HASHNODE           *
+cpp_lookup(const char *name, int len, int hash)
+{
+   const char         *bp;
+   HASHNODE           *bucket;
+
+   if (len < 0)
+     {
+       for (bp = name; IS_IDCHAR(*bp); bp++)
+          ;
+       len = bp - name;
+     }
+   if (hash < 0)
+      hash = hashf(name, len, HASHSIZE);
+
+   bucket = hashtab[hash];
+   while (bucket)
+     {
+       if (bucket->length == len
+           && strncmp((const char *)bucket->name, name, len) == 0)
+          return bucket;
+       bucket = bucket->next;
+     }
+   return (HASHNODE *) 0;
+}
+
+/*
+ * Delete a hash node.  Some weirdness to free junk from macros.
+ * More such weirdness will have to be added if you define more hash
+ * types that need it.
+ */
+
+/* Note that the DEFINITION of a macro is removed from the hash table
+ * but its storage is not freed.  This would be a storage leak
+ * except that it is not reasonable to keep undefining and redefining
+ * large numbers of macros many times.
+ * In any case, this is necessary, because a macro can be #undef'd
+ * in the middle of reading the arguments to a call to it.
+ * If #undef freed the DEFINITION, that would crash.  */
+
+void
+delete_macro(HASHNODE * hp)
+{
+
+   if (hp->prev)
+      hp->prev->next = hp->next;
+   if (hp->next)
+      hp->next->prev = hp->prev;
+
+   /* make sure that the bucket chain header that
+    * the deleted guy was on points to the right thing afterwards. */
+   if (hp == *hp->bucket_hdr)
+      *hp->bucket_hdr = hp->next;
+
+   if (hp->type == T_MACRO)
+     {
+       DEFINITION         *d = hp->value.defn;
+       struct reflist     *ap, *nextap;
+
+       for (ap = d->pattern; ap; ap = nextap)
+         {
+            nextap = ap->next;
+            free(ap);
+         }
+       if (d->nargs >= 0)
+          free(d->args.argnames);
+       free(d);
+     }
+   free(hp);
+}
+/*
+ * install a name in the main hash table, even if it is already there.
+ *   name stops with first non alphanumeric, except leading '#'.
+ * caller must check against redefinition if that is desired.
+ * delete_macro () removes things installed by install () in fifo order.
+ * this is important because of the `defined' special symbol used
+ * in #if, and also if pushdef/popdef directives are ever implemented.
+ *
+ * If LEN is >= 0, it is the length of the name.
+ * Otherwise, compute the length by scanning the entire name.
+ *
+ * If HASH is >= 0, it is the precomputed hash code.
+ * Otherwise, compute the hash code.
+ */
+HASHNODE           *
+install(const char *name, int len, enum node_type type, int ivalue, char *value,
+       int hash)
+{
+   HASHNODE           *hp;
+   int                 i, bucket;
+   const char         *p;
+
+   if (len < 0)
+     {
+       p = name;
+       while (IS_IDCHAR(*p))
+          p++;
+       len = p - name;
+     }
+   if (hash < 0)
+      hash = hashf(name, len, HASHSIZE);
+
+   i = sizeof(HASHNODE) + len + 1;
+   hp = (HASHNODE *) xmalloc(i);
+   bucket = hash;
+   hp->bucket_hdr = &hashtab[bucket];
+   hp->next = hashtab[bucket];
+   hashtab[bucket] = hp;
+   hp->prev = NULL;
+   if (hp->next)
+      hp->next->prev = hp;
+   hp->type = type;
+   hp->length = len;
+   if (hp->type == T_CONST)
+      hp->value.ival = ivalue;
+   else
+      hp->value.cpval = value;
+   hp->name = ((char *)hp) + sizeof(HASHNODE);
+   memcpy(hp->name, name, len);
+   hp->name[len] = 0;
+   return hp;
+}
+
+void
+cpp_hash_cleanup(cpp_reader * pfile EINA_UNUSED)
+{
+   int                 i;
+
+   for (i = HASHSIZE; --i >= 0;)
+     {
+       while (hashtab[i])
+          delete_macro(hashtab[i]);
+     }
+}
diff --git a/src/bin/edje/epp/cpphash.h b/src/bin/edje/epp/cpphash.h
new file mode 100644 (file)
index 0000000..524a850
--- /dev/null
@@ -0,0 +1,41 @@
+enum node_type;
+
+/* different kinds of things that can appear in the value field
+   of a hash node.  Actually, this may be useless now. */
+union hashval {
+   int                 ival;
+   char               *cpval;
+   DEFINITION         *defn;
+};
+
+struct hashnode {
+   struct hashnode    *next;   /* double links for easy deletion */
+   struct hashnode    *prev;
+   struct hashnode   **bucket_hdr;     /* also, a back pointer to this node's hash
+                                        * chain is kept, in case the node is the head
+                                        * of the chain and gets deleted. */
+   enum node_type      type;   /* type of special token */
+   int                 length; /* length of token, for quick comparison */
+   char               *name;   /* the actual name */
+   union hashval       value;  /* pointer to expansion, or whatever */
+};
+
+typedef struct hashnode HASHNODE;
+
+/* Some definitions for the hash table.  The hash function MUST be
+   computed as shown in hashf () below.  That is because the rescan
+   loop computes the hash value `on the fly' for most tokens,
+   in order to avoid the overhead of a lot of procedure calls to
+   the hashf () function.  Hashf () only exists for the sake of
+   politeness, for use when speed isn't so important. */
+
+#define HASHSIZE 1403
+#define HASHSTEP(old, c) ((old << 2) + c)
+#define MAKE_POS(v) (v & 0x7fffffff)   /* make number positive */
+
+extern int          hashf(const char *name, int len, int hashsize);
+extern HASHNODE    *cpp_lookup(const char *name, int len, int hash);
+extern void         delete_macro(HASHNODE * hp);
+extern HASHNODE    *install(const char *name, int len, enum node_type type,
+                           int ivalue, char *value, int hash);
+extern void         cpp_hash_cleanup(cpp_reader * pfile);
diff --git a/src/bin/edje/epp/cpplib.c b/src/bin/edje/epp/cpplib.c
new file mode 100644 (file)
index 0000000..d7018fd
--- /dev/null
@@ -0,0 +1,7462 @@
+/* CPP Library.
+ * Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ * Written by Per Bothner, 1994-95.
+ * Based on CCCP program by by Paul Rubin, June 1986
+ * Adapted to ANSI C, Richard Stallman, Jan 1987
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Eina.h>
+
+#ifdef __EMX__
+#include <strings.h>
+#endif
+
+#ifndef STANDARD_INCLUDE_DIR
+#define STANDARD_INCLUDE_DIR "/usr/include"
+#endif
+
+#ifndef LOCAL_INCLUDE_DIR
+#define LOCAL_INCLUDE_DIR "/usr/local/include"
+#endif
+
+#include "cpplib.h"
+#include "cpphash.h"
+
+/*
+ * On Windows, if the file is not opened in binary mode,
+ * read does not return the correct size, because of
+ * CR / LF translation.
+ */
+#ifndef O_BINARY
+# define O_BINARY 0
+#endif
+
+const char         *version_string = "0.0.0";
+
+#ifndef STDC_VALUE
+#define STDC_VALUE 1
+#endif
+
+/* By default, colon separates directories in a path.  */
+#ifndef PATH_SEPARATOR
+#define PATH_SEPARATOR ':'
+#endif
+
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdlib.h>
+
+#ifndef VMS
+#ifndef USG
+#include <time.h>
+#include <sys/time.h>          /* for __DATE__ and __TIME__ */
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+#else
+#include <sys/param.h>         /* CYGNUS LOCAL: shebs -noquiet */
+#include <sys/times.h>
+#include <time.h>
+#include <fcntl.h>
+#endif /* USG */
+#endif /* not VMS */
+
+/* This defines "errno" properly for VMS, and gives us EACCES. */
+#include <errno.h>
+
+#ifndef O_RDONLY
+#define O_RDONLY 0
+#endif
+
+#undef MIN
+#undef MAX
+#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
+#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
+
+#ifndef S_ISREG
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#endif
+
+#ifndef S_ISDIR
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif
+
+/* Define a generic NULL if one hasn't already been defined.  */
+
+#ifndef GENERIC_PTR
+#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
+#define GENERIC_PTR void *
+#else
+#define GENERIC_PTR char *
+#endif
+#endif
+
+#ifndef INCLUDE_LEN_FUDGE
+#define INCLUDE_LEN_FUDGE 0
+#endif
+
+#define USE_FILE_NAME_MAPS 0
+
+/* Symbols to predefine.  */
+
+#ifdef CPP_PREDEFINES
+static const char  *predefs = CPP_PREDEFINES;
+
+#else
+static const char  *predefs = "";
+
+#endif
+
+/* We let tm.h override the types used here, to handle trivial differences
+ * such as the choice of unsigned int or long unsigned int for size_t.
+ * When machines start needing nontrivial differences in the size type,
+ * it would be best to do something here to figure out automatically
+ * from other information what type to use.  */
+
+/* The string value for __SIZE_TYPE__.  */
+
+#ifndef SIZE_TYPE
+#define SIZE_TYPE "long unsigned int"
+#endif
+
+/* The string value for __PTRDIFF_TYPE__.  */
+
+#ifndef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "long int"
+#endif
+
+/* The string value for __WCHAR_TYPE__.  */
+
+#ifndef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+#endif
+#define CPP_WCHAR_TYPE(PFILE) \
+       (CPP_OPTIONS (PFILE)->cplusplus ? "__wchar_t" : WCHAR_TYPE)
+
+/* The string value for __USER_LABEL_PREFIX__ */
+
+#ifndef USER_LABEL_PREFIX
+#define USER_LABEL_PREFIX ""
+#endif
+
+/* The string value for __REGISTER_PREFIX__ */
+
+#ifndef REGISTER_PREFIX
+#define REGISTER_PREFIX ""
+#endif
+
+struct directive {
+   int                 length;
+   int                 (*func) (cpp_reader * pfile, struct directive * keyword,
+                               unsigned char *buf, unsigned char *limit);
+   const char         *name;
+   enum node_type      type;
+   char                command_reads_line;
+   char                traditional_comments;
+   char                pass_thru;
+};
+
+/* In the definition of a #assert name, this structure forms
+ * a list of the individual values asserted.
+ * Each value is itself a list of "tokens".
+ * These are strings that are compared by name.  */
+
+struct tokenlist_list {
+   struct tokenlist_list *next;
+   struct arglist     *tokens;
+};
+
+struct assertion_hashnode {
+   struct assertion_hashnode *next;    /* double links for easy deletion */
+   struct assertion_hashnode *prev;
+   /* also, a back pointer to this node's hash
+    * chain is kept, in case the node is the head
+    * of the chain and gets deleted. */
+   struct assertion_hashnode **bucket_hdr;
+   int                 length; /* length of token, for quick comparison */
+   char               *name;   /* the actual name */
+   /* List of token-sequences.  */
+   struct tokenlist_list *value;
+};
+
+#define SKIP_WHITE_SPACE(p) do { while (is_hor_space[(unsigned char)(*p)]) p++; } while (0)
+#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space[(unsigned char)(*p)]) p++; } while (0)
+
+#define PEEKN(N) (CPP_BUFFER (pfile)->rlimit - CPP_BUFFER (pfile)->cur >= (N) ? CPP_BUFFER (pfile)->cur[N] : EOF)
+#define FORWARD(N) CPP_FORWARD (CPP_BUFFER (pfile), (N))
+#define GETC() CPP_BUF_GET (CPP_BUFFER (pfile))
+#define PEEKC() CPP_BUF_PEEK (CPP_BUFFER (pfile))
+/* CPP_IS_MACRO_BUFFER is true if the buffer contains macro expansion.
+ * (Note that it is false while we're expanding marco *arguments*.) */
+#define CPP_IS_MACRO_BUFFER(PBUF) ((PBUF)->cleanup == macro_cleanup)
+
+/* Move all backslash-newline pairs out of embarrassing places.
+ * Exchange all such pairs following BP
+ * with any potentially-embarrassing characters that follow them.
+ * Potentially-embarrassing characters are / and *
+ * (because a backslash-newline inside a comment delimiter
+ * would cause it not to be recognized).  */
+
+#define NEWLINE_FIX \
+  do {while (PEEKC() == '\\' && PEEKN(1) == '\n') FORWARD(2); } while(0)
+
+/* Same, but assume we've already read the potential '\\' into C. */
+#define NEWLINE_FIX1(C) do { \
+    while ((C) == '\\' && PEEKC() == '\n') { FORWARD(1); (C) = GETC(); }\
+  } while(0)
+
+/* Name under which this program was invoked.  */
+
+char               *progname;
+
+struct cpp_pending {
+   struct cpp_pending *next;
+   const char         *cmd;
+   const char         *arg;
+};
+
+/* Structure returned by create_definition */
+typedef struct {
+   struct definition  *defn;
+   char               *symnam;
+   int                 symlen;
+} MACRODEF;
+
+/* Forward declarations.  */
+typedef struct file_name_list file_name_list;
+
+static void         add_import(cpp_reader * pfile, int fd, char *fname);
+static int          finclude(cpp_reader * pfile, int f, const char *fname,
+                            int system_header_p, file_name_list * dirptr);
+static void         validate_else(cpp_reader * pfile, const char *directive);
+static int          comp_def_part(int first, unsigned char *beg1, int len1,
+                                 unsigned char *beg2, int len2, int last);
+static int          lookup_import(cpp_reader * pfile, char *filename,
+                                 file_name_list * searchptr);
+static int          redundant_include_p(cpp_reader * pfile, char *name);
+
+static int          is_system_include(cpp_reader * pfile, char *filename);
+
+static int          open_include_file(cpp_reader * pfile, char *filename,
+                                     file_name_list * searchptr);
+static int          check_macro_name(cpp_reader * pfile, unsigned char *symname,
+                                    const char *usage);
+
+static int          compare_token_lists(struct arglist *l1, struct arglist *l2);
+static HOST_WIDE_INT eval_if_expression(cpp_reader * pfile, unsigned char *buf,
+                                       int length);
+
+static int          file_size_and_mode(int fd, int *mode_pointer,
+                                      long int *size_pointer);
+static struct arglist *read_token_list(cpp_reader * pfile, int *error_flag);
+static void         free_token_list(struct arglist *tokens);
+static int          safe_read(int desc, char *ptr, int len);
+static void         push_macro_expansion(cpp_reader * pfile,
+                                        unsigned char *x,
+                                        int xbuf_len, HASHNODE * hp);
+
+static struct cpp_pending *nreverse_pending(struct cpp_pending *list);
+static char        *savestring(const char *input);
+
+static void         conditional_skip(cpp_reader * pfile, int skip,
+                                    enum node_type type,
+                                    unsigned char *control_macro);
+static void         skip_if_group(cpp_reader * pfile, int any);
+
+static void         cpp_error_with_line(cpp_reader * pfile, int line,
+                                       int column, const char *msg);
+static void         cpp_pedwarn_with_line(cpp_reader * pfile, int line,
+                                         int column, const char *msg);
+static void         cpp_pedwarn_with_file_and_line(cpp_reader * pfile,
+                                                  const char *file, int line,
+                                                  const char *msg,
+                                                  const char *arg1,
+                                                  const char *arg2,
+                                                  const char *arg3);
+static void         cpp_error_from_errno(cpp_reader * pfile, const char *name);
+
+static cpp_buffer  *cpp_push_buffer(cpp_reader * pfile, unsigned char *buffer,
+                                   long length);
+static cpp_buffer  *cpp_pop_buffer(cpp_reader * pfile);
+
+/* Last arg to output_line_command.  */
+enum file_change_code {
+   same_file, enter_file, leave_file
+};
+
+/* These functions are declared to return int instead of void since they
+ * are going to be placed in a table and some old compilers have trouble with
+ * pointers to functions returning void.  */
+
+static int          do_define(cpp_reader * pfile, struct directive *keyword,
+                             unsigned char *buf, unsigned char *limit);
+
+static int          do_line(cpp_reader * pfile, struct directive *keyword,
+                           unsigned char *unused1, unsigned char *unused2);
+
+static int          do_include(cpp_reader * pfile, struct directive *keyword,
+                              unsigned char *unused1, unsigned char *unused2);
+
+static int          do_undef(cpp_reader * pfile, struct directive *keyword,
+                            unsigned char *buf, unsigned char *limit);
+
+static int          do_error(cpp_reader * pfile, struct directive *keyword,
+                            unsigned char *buf, unsigned char *limit);
+
+static int          do_pragma(cpp_reader * pfile, struct directive *keyword,
+                             unsigned char *buf, unsigned char *limit);
+
+static int          do_ident(cpp_reader * pfile, struct directive *keyword,
+                            unsigned char *buf, unsigned char *limit);
+
+static int          do_if(cpp_reader * pfile, struct directive *keyword,
+                         unsigned char *buf, unsigned char *limit);
+
+static int          do_xifdef(cpp_reader * pfile, struct directive *keyword,
+                             unsigned char *buf, unsigned char *limit);
+
+static int          do_else(cpp_reader * pfile, struct directive *keyword,
+                           unsigned char *buf, unsigned char *limit);
+
+static int          do_elif(cpp_reader * pfile, struct directive *keyword,
+                           unsigned char *buf, unsigned char *limit);
+
+static int          do_endif(cpp_reader * pfile, struct directive *keyword,
+                            unsigned char *buf, unsigned char *limit);
+
+static int          do_assert(cpp_reader * pfile, struct directive *keyword,
+                             unsigned char *buf, unsigned char *limit);
+
+static int          do_unassert(cpp_reader * pfile, struct directive *keyword,
+                               unsigned char *buf, unsigned char *limit);
+
+static int          do_warning(cpp_reader * pfile, struct directive *keyword,
+                              unsigned char *buf, unsigned char *limit);
+
+struct arglist     *reverse_token_list(struct arglist *tokens);
+
+static int          parse_name(cpp_reader * pfile, int c);
+
+static void         parse_set_mark(struct parse_marker *pmark,
+                                  cpp_reader * pfile);
+static void         parse_clear_mark(struct parse_marker *pmark);
+static void         parse_goto_mark(struct parse_marker *pmark,
+                                   cpp_reader * pfile);
+static void         parse_move_mark(struct parse_marker *pmark,
+                                   cpp_reader * pfile);
+
+struct file_name_list {
+   file_name_list     *next;
+   char               *fname;
+   /* If the following is nonzero, it is a macro name.
+    * Don't include the file again if that macro is defined.  */
+   unsigned char      *control_macro;
+   /* If the following is nonzero, it is a C-language system include
+    * directory.  */
+   int                 c_system_include_path;
+   /* Mapping of file names for this directory.  */
+   struct file_name_map *name_map;
+   /* Non-zero if name_map is valid.  */
+   int                 got_name_map;
+};
+
+/* If a buffer's dir field is SELF_DIR_DUMMY, it means the file was found
+ * via the same directory as the file that #included it. */
+#define SELF_DIR_DUMMY ((file_name_list*)(~0))
+
+/* #include "file" looks in source file dir, then stack. */
+/* #include <file> just looks in the stack. */
+/* -I directories are added to the end, then the defaults are added. */
+/* The */
+static struct default_include {
+   const char         *fname;  /* The name of the directory.  */
+   int                 cplusplus;      /* Only look here if we're compiling C++.  */
+   int                 cxx_aware;      /* Includes in this directory don't need to
+                                        * be wrapped in extern "C" when compiling
+                                        * C++.  */
+} include_defaults_array[]
+#ifdef INCLUDE_DEFAULTS
+   = INCLUDE_DEFAULTS;
+
+#else
+   =
+{
+   /* Pick up GNU C++ specific include files.  */
+   {
+   GPLUSPLUS_INCLUDE_DIR, 1, 1}
+   ,
+#ifdef CROSS_COMPILE
+      /* This is the dir for fixincludes.  Put it just before
+       * the files that we fix.  */
+   {
+   GCC_INCLUDE_DIR, 0, 0}
+   ,
+      /* For cross-compilation, this dir name is generated
+       * automatically in Makefile.in.  */
+   {
+   CROSS_INCLUDE_DIR, 0, 0}
+   ,
+      /* This is another place that the target system's headers might be.  */
+   {
+   TOOL_INCLUDE_DIR, 0, 1}
+   ,
+#else /* not CROSS_COMPILE */
+      /* This should be /usr/local/include and should come before
+       * the fixincludes-fixed header files.  */
+   {
+   LOCAL_INCLUDE_DIR, 0, 1}
+   ,
+      /* This is here ahead of GCC_INCLUDE_DIR because assert.h goes here.
+       * Likewise, behind LOCAL_INCLUDE_DIR, where glibc puts its assert.h.  */
+   {
+   TOOL_INCLUDE_DIR, 0, 1}
+   ,
+      /* This is the dir for fixincludes.  Put it just before
+       * the files that we fix.  */
+   {
+   GCC_INCLUDE_DIR, 0, 0}
+   ,
+      /* Some systems have an extra dir of include files.  */
+#ifdef SYSTEM_INCLUDE_DIR
+   {
+   SYSTEM_INCLUDE_DIR, 0, 0}
+   ,
+#endif
+   {
+   STANDARD_INCLUDE_DIR, 0, 0}
+   ,
+#endif /* not CROSS_COMPILE */
+   {
+   0, 0, 0}
+};
+
+#endif /* no INCLUDE_DEFAULTS */
+
+/* Here is the actual list of #-directives, most-often-used first.
+ * The initialize_builtins function assumes #define is the very first.  */
+
+static struct directive directive_table[] = {
+   {6, do_define, "define", T_DEFINE, 0, 1, 0},
+   {5, do_xifdef, "ifdef", T_IFDEF, 1, 0, 0},
+   {6, do_xifdef, "ifndef", T_IFNDEF, 1, 0, 0},
+   {7, do_include, "include", T_INCLUDE, 1, 0, 0},
+   {12, do_include, "include_next", T_INCLUDE_NEXT, 1, 0, 0},
+   {6, do_include, "import", T_IMPORT, 1, 0, 0},
+   {5, do_endif, "endif", T_ENDIF, 1, 0, 0},
+   {4, do_else, "else", T_ELSE, 1, 0, 0},
+   {2, do_if, "if", T_IF, 1, 0, 0},
+   {4, do_elif, "elif", T_ELIF, 1, 0, 0},
+   {5, do_undef, "undef", T_UNDEF, 0, 0, 0},
+   {5, do_error, "error", T_ERROR, 0, 0, 0},
+   {7, do_warning, "warning", T_WARNING, 0, 0, 0},
+   {6, do_pragma, "pragma", T_PRAGMA, 0, 0, 1},
+   {4, do_line, "line", T_LINE, 1, 0, 0},
+   {5, do_ident, "ident", T_IDENT, 1, 0, 1},
+#ifdef SCCS_DIRECTIVE
+   {4, do_sccs, "sccs", T_SCCS, 0, 0, 0},
+#endif
+   {6, do_assert, "assert", T_ASSERT, 1, 0, 0},
+   {8, do_unassert, "unassert", T_UNASSERT, 1, 0, 0},
+   {-1, 0, "", T_UNUSED, 0, 0, 0},
+};
+
+/* table to tell if char can be part of a C identifier. */
+unsigned char       is_idchar[256];
+
+/* table to tell if char can be first char of a c identifier. */
+unsigned char       is_idstart[256];
+
+/* table to tell if c is horizontal space.  */
+unsigned char       is_hor_space[256];
+
+/* table to tell if c is horizontal or vertical space.  */
+static unsigned char is_space[256];
+
+static int           anotate = 0;
+
+/* Initialize syntactic classifications of characters.  */
+
+static void
+initialize_char_syntax(struct cpp_options *opts)
+{
+   int                 i;
+
+   /*
+    * Set up is_idchar and is_idstart tables.  These should be
+    * faster than saying (is_alpha (c) || c == '_'), etc.
+    * Set up these things before calling any routines tthat
+    * refer to them.
+    */
+   for (i = 'a'; i <= 'z'; i++)
+     {
+       is_idchar[i - 'a' + 'A'] = 1;
+       is_idchar[i] = 1;
+       is_idstart[i - 'a' + 'A'] = 1;
+       is_idstart[i] = 1;
+     }
+   for (i = '0'; i <= '9'; i++)
+      is_idchar[i] = 1;
+   is_idchar[(unsigned char)'_'] = 1;
+   is_idstart[(unsigned char)'_'] = 1;
+   is_idchar[(unsigned char)'$'] = opts->dollars_in_ident;
+   is_idstart[(unsigned char)'$'] = opts->dollars_in_ident;
+
+   /* horizontal space table */
+   is_hor_space[(unsigned char)' '] = 1;
+   is_hor_space[(unsigned char)'\t'] = 1;
+   is_hor_space[(unsigned char)'\v'] = 1;
+   is_hor_space[(unsigned char)'\f'] = 1;
+   is_hor_space[(unsigned char)'\r'] = 1;
+
+   is_space[(unsigned char)' '] = 1;
+   is_space[(unsigned char)'\t'] = 1;
+   is_space[(unsigned char)'\v'] = 1;
+   is_space[(unsigned char)'\f'] = 1;
+   is_space[(unsigned char)'\n'] = 1;
+   is_space[(unsigned char)'\r'] = 1;
+}
+
+/* Place into PFILE a quoted string representing the string SRC.
+ * Caller must reserve enough space in pfile->token_buffer. */
+static void
+quote_string(cpp_reader * pfile, const char *src)
+{
+   unsigned char       c;
+
+   CPP_PUTC_Q(pfile, '\"');
+   for (;;)
+      switch ((c = *src++))
+       {
+       default:
+          if (isprint(c))
+             CPP_PUTC_Q(pfile, c);
+          else
+            {
+               sprintf((char *)CPP_PWRITTEN(pfile), "\\%03o", c);
+               CPP_ADJUST_WRITTEN(pfile, 4);
+            }
+          break;
+
+       case '\"':
+       case '\\':
+          CPP_PUTC_Q(pfile, '\\');
+          CPP_PUTC_Q(pfile, c);
+          break;
+
+       case '\0':
+          CPP_PUTC_Q(pfile, '\"');
+          CPP_NUL_TERMINATE_Q(pfile);
+          return;
+       }
+}
+
+/* Make sure PFILE->token_buffer will hold at least N more chars. */
+
+void
+cpp_grow_buffer(cpp_reader * pfile, long n)
+{
+   long                old_written = CPP_WRITTEN(pfile);
+
+   pfile->token_buffer_size = n + 2 * pfile->token_buffer_size;
+   pfile->token_buffer =
+      (unsigned char *)xrealloc(pfile->token_buffer, pfile->token_buffer_size);
+   CPP_SET_WRITTEN(pfile, old_written);
+}
+
+/*
+ * process a given definition string, for initialization
+ * If STR is just an identifier, define it with value 1.
+ * If STR has anything after the identifier, then it should
+ * be identifier=definition.
+ */
+
+void
+cpp_define(cpp_reader * pfile, unsigned char *str)
+{
+   unsigned char      *buf, *p;
+
+   buf = str;
+   p = str;
+   if (!is_idstart[*p])
+     {
+       cpp_error(pfile, "malformed option `-D %s'", str);
+       return;
+     }
+   while (is_idchar[*++p])
+      ;
+   if (*p == 0)
+     {
+       buf = (unsigned char *)alloca(p - buf + 4);
+       strcpy((char *)buf, (const char *)str);
+       strcat((char *)buf, " 1");
+     }
+   else if (*p != '=')
+     {
+       cpp_error(pfile, "malformed option `-D %s'", str);
+       return;
+     }
+   else
+     {
+       unsigned char      *q;
+
+       /* Copy the entire option so we can modify it.  */
+       buf = (unsigned char *)alloca(2 * strlen((char *)str) + 1);
+       strncpy((char *)buf, (const char *)str, p - str);
+       /* Change the = to a space.  */
+       buf[p - str] = ' ';
+       /* Scan for any backslash-newline and remove it.  */
+       p++;
+       q = &buf[p - str];
+       while (*p)
+         {
+            if (*p == '\\' && p[1] == '\n')
+               p += 2;
+            else
+               *q++ = *p++;
+         }
+       *q = 0;
+     }
+
+   do_define(pfile, NULL, buf, buf + strlen((char *)buf));
+}
+
+/* Process the string STR as if it appeared as the body of a #assert.
+ * OPTION is the option name for which STR was the argument.  */
+
+static void
+make_assertion(cpp_reader * pfile, const char *option, const char *str)
+{
+   unsigned char      *buf, *p, *q;
+
+   /* Copy the entire option so we can modify it.  */
+   buf = (unsigned char *)alloca(strlen((char *)str) + 1);
+   strcpy((char *)buf, (const char *)str);
+   /* Scan for any backslash-newline and remove it.  */
+   p = q = buf;
+   while (*p)
+     {
+       *q++ = *p++;
+     }
+   *q = 0;
+
+   p = buf;
+   if (!is_idstart[*p])
+     {
+       cpp_error(pfile, "malformed option `%s %s'", option, str);
+       return;
+     }
+   while (is_idchar[*++p])
+      ;
+   while (*p == ' ' || *p == '\t')
+      p++;
+   if (!(*p == 0 || *p == '('))
+     {
+       cpp_error(pfile, "malformed option `%s %s'", option, str);
+       return;
+     }
+   cpp_push_buffer(pfile, buf, strlen((char *)buf));
+   do_assert(pfile, NULL, NULL, NULL);
+   cpp_pop_buffer(pfile);
+}
+
+/* Append a chain of `file_name_list's
+ * to the end of the main include chain.
+ * FIRST is the beginning of the chain to append, and LAST is the end.  */
+
+static void
+append_include_chain(cpp_reader * pfile, file_name_list * first,
+                    file_name_list * last)
+{
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+   file_name_list     *dir;
+
+   if (!first || !last)
+      return;
+
+   if (!opts->include)
+      opts->include = first;
+   else
+      opts->last_include->next = first;
+
+   if (!opts->first_bracket_include)
+      opts->first_bracket_include = first;
+
+   for (dir = first;; dir = dir->next)
+     {
+       int                 len = strlen(dir->fname) + INCLUDE_LEN_FUDGE;
+
+       if (len > pfile->max_include_len)
+          pfile->max_include_len = len;
+       if (dir == last)
+          break;
+     }
+
+   last->next = NULL;
+   opts->last_include = last;
+}
+
+/* Add output to `deps_buffer' for the -M switch.
+ * STRING points to the text to be output.
+ * SPACER is ':' for targets, ' ' for dependencies, zero for text
+ * to be inserted literally.  */
+
+static void
+deps_output(cpp_reader * pfile, const char *string, int spacer)
+{
+   int                 size = strlen(string);
+
+   if (size == 0)
+      return;
+
+#ifndef MAX_OUTPUT_COLUMNS
+#define MAX_OUTPUT_COLUMNS 72
+#endif
+   if (spacer
+       && pfile->deps_column > 0
+       && (pfile->deps_column + size) > MAX_OUTPUT_COLUMNS)
+     {
+       deps_output(pfile, " \\\n  ", 0);
+       pfile->deps_column = 0;
+     }
+   if (pfile->deps_size + size + 8 > pfile->deps_allocated_size)
+     {
+       pfile->deps_allocated_size = (pfile->deps_size + size + 50) * 2;
+       pfile->deps_buffer = (char *)xrealloc(pfile->deps_buffer,
+                                             pfile->deps_allocated_size);
+     }
+   if (spacer == ' ' && pfile->deps_column > 0)
+      pfile->deps_buffer[pfile->deps_size++] = ' ';
+   memcpy(&pfile->deps_buffer[pfile->deps_size], string, size);
+   pfile->deps_size += size;
+   pfile->deps_column += size;
+   if (spacer == ':')
+      pfile->deps_buffer[pfile->deps_size++] = ':';
+   pfile->deps_buffer[pfile->deps_size] = 0;
+}
+
+/* Given a colon-separated list of file names PATH,
+ * add all the names to the search path for include files.  */
+
+static void
+path_include(cpp_reader * pfile, char *path)
+{
+   char               *p;
+
+   p = path;
+
+   if (*p)
+      while (1)
+       {
+          char               *q = p;
+          char               *name;
+          file_name_list     *dirtmp;
+
+          /* Find the end of this name.  */
+          while (*q != 0 && *q != PATH_SEPARATOR)
+             q++;
+          if (p == q)
+            {
+               /* An empty name in the path stands for the current directory.  */
+               name = (char *)xmalloc(2);
+               name[0] = '.';
+               name[1] = 0;
+            }
+          else
+            {
+               /* Otherwise use the directory that is named.  */
+               name = (char *)xmalloc(q - p + 1);
+               memcpy(name, p, q - p);
+               name[q - p] = 0;
+            }
+
+          dirtmp = (file_name_list *) xmalloc(sizeof(file_name_list));
+
+          dirtmp->next = 0;    /* New one goes on the end */
+          dirtmp->control_macro = 0;
+          dirtmp->c_system_include_path = 0;
+          dirtmp->fname = name;
+          dirtmp->got_name_map = 0;
+          append_include_chain(pfile, dirtmp, dirtmp);
+
+          /* Advance past this name.  */
+          p = q;
+          if (*p == 0)
+             break;
+          /* Skip the colon.  */
+          p++;
+       }
+}
+
+void
+init_parse_options(struct cpp_options *opts)
+{
+   memset((char *)opts, 0, sizeof *opts);
+   opts->in_fname = NULL;
+   opts->out_fname = NULL;
+
+   /* Initialize is_idchar to allow $.  */
+   opts->dollars_in_ident = 1;
+   initialize_char_syntax(opts);
+   opts->dollars_in_ident = DOLLARS_IN_IDENTIFIERS > 0;
+
+   opts->no_line_commands = 0;
+   opts->no_trigraphs = 1;
+   opts->put_out_comments = 0;
+   opts->print_include_names = 0;
+   opts->dump_macros = dump_none;
+   opts->no_output = 0;
+   opts->cplusplus = 0;
+   opts->cplusplus_comments = 1;
+
+   opts->verbose = 0;
+   opts->objc = 0;
+   opts->lang_asm = 0;
+   opts->for_lint = 0;
+   opts->chill = 0;
+   opts->pedantic_errors = 0;
+   opts->inhibit_warnings = 0;
+   opts->warn_comments = 0;
+   opts->warn_import = 1;
+   opts->warnings_are_errors = 0;
+}
+
+static enum cpp_token
+null_underflow(cpp_reader * pfile EINA_UNUSED)
+{
+   return CPP_EOF;
+}
+
+static int
+null_cleanup(cpp_buffer * pbuf EINA_UNUSED, cpp_reader * pfile EINA_UNUSED)
+{
+   return 0;
+}
+
+static int
+macro_cleanup(cpp_buffer * pbuf, cpp_reader * pfile EINA_UNUSED)
+{
+   HASHNODE           *macro = (HASHNODE *) pbuf->data;
+
+   if (macro->type == T_DISABLED)
+      macro->type = T_MACRO;
+   if (macro->type != T_MACRO || pbuf->buf != macro->value.defn->expansion)
+      free(pbuf->buf);
+   return 0;
+}
+
+static int
+file_cleanup(cpp_buffer * pbuf, cpp_reader * pfile EINA_UNUSED)
+{
+   if (pbuf->buf)
+     {
+       free(pbuf->buf);
+       pbuf->buf = 0;
+     }
+   return 0;
+}
+
+/* Assuming we have read '/'.
+ * If this is the start of a comment (followed by '*' or '/'),
+ * skip to the end of the comment, and return ' '.
+ * Return EOF if we reached the end of file before the end of the comment.
+ * If not the start of a comment, return '/'. */
+
+static int
+skip_comment(cpp_reader * pfile, long *linep)
+{
+   int                 c = 0;
+
+   while (PEEKC() == '\\' && PEEKN(1) == '\n')
+     {
+       if (linep)
+          (*linep)++;
+       FORWARD(2);
+     }
+   if (PEEKC() == '*')
+     {
+       FORWARD(1);
+       for (;;)
+         {
+            int                 prev_c = c;
+
+            c = GETC();
+            if (c == EOF)
+               return EOF;
+            while (c == '\\' && PEEKC() == '\n')
+              {
+                 if (linep)
+                    (*linep)++;
+                 FORWARD(1), c = GETC();
+              }
+            if (prev_c == '*' && c == '/')
+               return ' ';
+            if (c == '\n' && linep)
+               (*linep)++;
+         }
+     }
+   else if (PEEKC() == '/' && CPP_OPTIONS(pfile)->cplusplus_comments)
+     {
+       FORWARD(1);
+       for (;;)
+         {
+            c = GETC();
+            if (c == EOF)
+               return ' ';     /* Allow // to be terminated by EOF. */
+            while (c == '\\' && PEEKC() == '\n')
+              {
+                 FORWARD(1);
+                 c = GETC();
+                 if (linep)
+                    (*linep)++;
+              }
+            if (c == '\n')
+              {
+                 /* Don't consider final '\n' to be part of comment. */
+                 FORWARD(-1);
+                 return ' ';
+              }
+         }
+     }
+   else
+      return '/';
+}
+
+/* Skip whitespace \-newline and comments.  Does not macro-expand.  */
+void
+cpp_skip_hspace(cpp_reader * pfile)
+{
+   while (1)
+     {
+       int                 c = PEEKC();
+
+       if (c == EOF)
+          return;              /* FIXME */
+       if (is_hor_space[c])
+         {
+            if ((c == '\f' || c == '\v') && CPP_PEDANTIC(pfile))
+               cpp_pedwarn(pfile, "%s in preprocessing directive",
+                           c == '\f' ? "formfeed" : "vertical tab");
+            FORWARD(1);
+         }
+       else if (c == '/')
+         {
+            FORWARD(1);
+            c = skip_comment(pfile, NULL);
+            if (c == '/')
+               FORWARD(-1);
+            if (c == EOF || c == '/')
+               return;
+         }
+       else if (c == '\\' && PEEKN(1) == '\n')
+         {
+            FORWARD(2);
+         }
+       else if (c == '@' && CPP_BUFFER(pfile)->has_escapes
+                && is_hor_space[PEEKN(1)])
+          {
+             FORWARD(1);
+          }
+       else
+          return;
+     }
+}
+
+/* Read the rest of the current line.
+ * The line is appended to PFILE's output buffer. */
+
+static void
+copy_rest_of_line(cpp_reader * pfile)
+{
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+
+   for (;;)
+     {
+       int                 c = GETC();
+       int                 nextc;
+
+       switch (c)
+         {
+         case EOF:
+            goto end_directive;
+         case '\\':
+            if (PEEKC() == '\n')
+              {
+                 FORWARD(1);
+                 continue;
+              }
+         case '\'':
+         case '\"':
+            goto scan_directive_token;
+            break;
+         case '/':
+            nextc = PEEKC();
+            if (nextc == '*' || (opts->cplusplus_comments && nextc == '*'))
+               goto scan_directive_token;
+            break;
+         case '\f':
+         case '\v':
+            if (CPP_PEDANTIC(pfile))
+               cpp_pedwarn(pfile, "%s in preprocessing directive",
+                           c == '\f' ? "formfeed" : "vertical tab");
+            break;
+
+         case '\n':
+            FORWARD(-1);
+            goto end_directive;
+          scan_directive_token:
+            FORWARD(-1);
+            cpp_get_token(pfile);
+            continue;
+         }
+       CPP_PUTC(pfile, c);
+     }
+ end_directive:;
+   CPP_NUL_TERMINATE(pfile);
+}
+
+void
+skip_rest_of_line(cpp_reader * pfile)
+{
+   long                old = CPP_WRITTEN(pfile);
+
+   copy_rest_of_line(pfile);
+   CPP_SET_WRITTEN(pfile, old);
+}
+
+/* Handle a possible # directive.
+ * '#' has already been read.  */
+
+static int
+handle_directive(cpp_reader * pfile)
+{
+   int                 c;
+   struct directive   *kt;
+   int                 ident_length;
+   long                after_ident = 0;
+   unsigned char      *ident, *line_end;
+   long                old_written = CPP_WRITTEN(pfile);
+
+   cpp_skip_hspace(pfile);
+
+   c = PEEKC();
+   if (c >= '0' && c <= '9')
+     {
+       /* Handle # followed by a line number.  */
+       if (CPP_PEDANTIC(pfile))
+          cpp_pedwarn(pfile, "`#' followed by integer");
+       do_line(pfile, NULL, NULL, NULL);
+       goto done_a_directive;
+     }
+   /* Now find the directive name. */
+   CPP_PUTC(pfile, '#');
+   parse_name(pfile, GETC());
+   ident = pfile->token_buffer + old_written + 1;
+   ident_length = CPP_PWRITTEN(pfile) - ident;
+   if (ident_length == 0 && PEEKC() == '\n')
+     {
+       /* A line of just `#' becomes blank.  */
+       goto done_a_directive;
+     }
+   /*
+    * Decode the keyword and call the appropriate expansion
+    * routine, after moving the input pointer up to the next line.
+    */
+   for (kt = directive_table;; kt++)
+     {
+       if (kt->length <= 0)
+          goto not_a_directive;
+       if (kt->length == ident_length
+           && !strncmp(kt->name, (const char *)ident, ident_length))
+          break;
+     }
+
+   if (!kt->command_reads_line)
+     {
+       /* Nonzero means do not delete comments within the directive.
+        * #define needs this when -traditional.  */
+       int                 comments = 0;
+       int                 save_put_out_comments =
+          CPP_OPTIONS(pfile)->put_out_comments;
+
+       CPP_OPTIONS(pfile)->put_out_comments = comments;
+       after_ident = CPP_WRITTEN(pfile);
+       copy_rest_of_line(pfile);
+       CPP_OPTIONS(pfile)->put_out_comments = save_put_out_comments;
+     }
+   /* For #pragma and #define, we may want to pass through the directive.
+    * Other directives may create output, but we don't want the directive
+    * itself out, so we pop it now.  For example #include may write a #line
+    * command (see comment in do_include), and conditionals may emit
+    * #failed ... #endfailed stuff.  But note that popping the buffer
+    * means the parameters to kt->func may point after pfile->limit
+    * so these parameters are invalid as soon as something gets appended
+    * to the token_buffer.  */
+
+   line_end = CPP_PWRITTEN(pfile);
+   if (!kt->pass_thru && kt->type != T_DEFINE)
+      CPP_SET_WRITTEN(pfile, old_written);
+
+   (*kt->func) (pfile, kt, pfile->token_buffer + after_ident, line_end);
+   if (kt->pass_thru
+       || (kt->type == T_DEFINE
+          && CPP_OPTIONS(pfile)->dump_macros == dump_definitions))
+     {
+       /* Just leave the entire #define in the output stack. */
+     }
+   else if (kt->type == T_DEFINE
+           && CPP_OPTIONS(pfile)->dump_macros == dump_names)
+     {
+       unsigned char      *p = pfile->token_buffer + old_written + 7;  /* Skip "#define". */
+
+       SKIP_WHITE_SPACE(p);
+       while (is_idchar[*p])
+          p++;
+       pfile->limit = p;
+       CPP_PUTC(pfile, '\n');
+     }
+   else if (kt->type == T_DEFINE)
+      CPP_SET_WRITTEN(pfile, old_written);
+ done_a_directive:
+   return 1;
+
+ not_a_directive:
+   return 0;
+}
+
+/* Pass a directive through to the output file.
+ * BUF points to the contents of the directive, as a contiguous string.
+ * LIMIT points to the first character past the end of the directive.
+ * KEYWORD is the keyword-table entry for the directive.  */
+
+static void
+pass_thru_directive(char *buf, char *limit, cpp_reader * pfile,
+                   struct directive *keyword)
+{
+   unsigned            keyword_length = keyword->length;
+
+   CPP_RESERVE(pfile, 1 + keyword_length + (limit - buf));
+   CPP_PUTC_Q(pfile, '#');
+   CPP_PUTS_Q(pfile, keyword->name, keyword_length);
+   if (limit != buf && buf[0] != ' ')
+      CPP_PUTC_Q(pfile, ' ');
+   CPP_PUTS_Q(pfile, buf, limit - buf);
+}
+
+/* The arglist structure is built by do_define to tell
+ * collect_definition where the argument names begin.  That
+ * is, for a define like "#define f(x,y,z) foo+x-bar*y", the arglist
+ * would contain pointers to the strings x, y, and z.
+ * Collect_definition would then build a DEFINITION node,
+ * with reflist nodes pointing to the places x, y, and z had
+ * appeared.  So the arglist is just convenience data passed
+ * between these two routines.  It is not kept around after
+ * the current #define has been processed and entered into the
+ * hash table. */
+
+struct arglist {
+   struct arglist     *next;
+   char               *name;
+   int                 length;
+   int                 argno;
+   char                rest_args;
+};
+
+/* Read a replacement list for a macro with parameters.
+ * Build the DEFINITION structure.
+ * Reads characters of text starting at BUF until END.
+ * ARGLIST specifies the formal parameters to look for
+ * in the text of the definition; NARGS is the number of args
+ * in that list, or -1 for a macro name that wants no argument list.
+ * MACRONAME is the macro name itself (so we can avoid recursive expansion)
+ * and NAMELEN is its length in characters.
+ * 
+ * Note that comments, backslash-newlines, and leading white space
+ * have already been deleted from the argument.  */
+
+static DEFINITION  *
+collect_expansion(cpp_reader * pfile, unsigned char *buf, unsigned char *limit,
+                 int nargs, struct arglist *arglist)
+{
+   DEFINITION         *defn;
+   unsigned char      *p, *lastp, *exp_p;
+   reflist            *endpat = NULL;
+
+   /* Pointer to first nonspace after last ## seen.  */
+   unsigned char      *concat = 0;
+
+   /* Pointer to first nonspace after last single-# seen.  */
+   unsigned char      *stringify = 0;
+   int                 maxsize;
+   int                 expected_delimiter = '\0';
+
+   /* Scan thru the replacement list, ignoring comments and quoted
+    * strings, picking up on the macro calls.  It does a linear search
+    * thru the arg list on every potential symbol.  Profiling might say
+    * that something smarter should happen. */
+
+   if (limit < buf)
+      abort();
+
+   /* Find the beginning of the trailing whitespace.  */
+   p = buf;
+   while (p < limit && is_space[limit[-1]])
+      limit--;
+
+   /* Allocate space for the text in the macro definition.
+    * Leading and trailing whitespace chars need 2 bytes each.
+    * Each other input char may or may not need 1 byte,
+    * so this is an upper bound.  The extra 5 are for invented
+    * leading and trailing newline-marker and final null.  */
+   maxsize = (sizeof(DEFINITION) + (limit - p) + 5);
+   /* Occurrences of '@' get doubled, so allocate extra space for them. */
+   while (p < limit)
+      if (*p++ == '@')
+        maxsize++;
+   defn = (DEFINITION *) xcalloc(1, maxsize);
+
+   defn->nargs = nargs;
+   exp_p = defn->expansion = (unsigned char *)defn + sizeof(DEFINITION);
+   lastp = exp_p;
+
+   p = buf;
+
+   /* Add one initial space escape-marker to prevent accidental
+    * token-pasting (often removed by macroexpand). */
+   *exp_p++ = '@';
+   *exp_p++ = ' ';
+
+   if (limit - p >= 2 && p[0] == '#' && p[1] == '#')
+     {
+       cpp_error(pfile, "`##' at start of macro definition");
+       p += 2;
+     }
+   /* Process the main body of the definition.  */
+   while (p < limit)
+     {
+       int                 skipped_arg = 0;
+       unsigned char       c = *p++;
+
+       *exp_p++ = c;
+
+        switch (c)
+          {
+           case '\'':
+           case '\"':
+             if (expected_delimiter != '\0')
+               {
+                  if (c == expected_delimiter)
+                     expected_delimiter = '\0';
+               }
+             else
+                expected_delimiter = c;
+             break;
+             
+           case '\\':
+             if (p < limit && expected_delimiter)
+               {
+                  /* In a string, backslash goes through
+                   * and makes next char ordinary.  */
+                  *exp_p++ = *p++;
+               }
+             break;
+             
+           case '@':
+             /* An '@' in a string or character constant stands for itself,
+              * and does not need to be escaped. */
+             if (!expected_delimiter)
+                *exp_p++ = c;
+             break;
+             
+           case '#':
+             /* # is ordinary inside a string.  */
+             if (expected_delimiter)
+                break;
+             if (p < limit && *p == '#')
+               {
+                  /* ##: concatenate preceding and following tokens.  */
+                  /* Take out the first #, discard preceding whitespace.  */
+                  exp_p--;
+                  while (exp_p > lastp && is_hor_space[exp_p[-1]])
+                     --exp_p;
+                  /* Skip the second #.  */
+                  p++;
+                  /* Discard following whitespace.  */
+                  SKIP_WHITE_SPACE(p);
+                  concat = p;
+                  if (p == limit)
+                     cpp_error(pfile, "`##' at end of macro definition");
+               }
+             else if (nargs >= 0)
+               {
+                  /* Single #: stringify following argument ref.
+                   * Don't leave the # in the expansion.  */
+                  exp_p--;
+                  SKIP_WHITE_SPACE(p);
+                  if (p == limit || !is_idstart[*p])
+                     cpp_error(pfile,
+                               "`#' operator is not followed by a macro argument name");
+                  else
+                     stringify = p;
+               }
+             break;
+          }
+
+       /* Handle the start of a symbol.  */
+       if (is_idchar[c] && nargs > 0)
+         {
+            unsigned char      *id_beg = p - 1;
+            int                 id_len;
+
+            --exp_p;
+            while (p != limit && is_idchar[*p])
+               p++;
+            id_len = p - id_beg;
+
+            if (is_idstart[c])
+              {
+                 struct arglist     *arg;
+
+                 for (arg = arglist; arg; arg = arg->next)
+                   {
+                      reflist            *tpat;
+
+                      if (arg->name[0] == c
+                          && arg->length == id_len
+                          && strncmp((const char *)arg->name,
+                                     (const char *)id_beg, id_len) == 0)
+                        {
+                           if (expected_delimiter
+                               && CPP_OPTIONS(pfile)->warn_stringify)
+                             {
+                                 cpp_warning(pfile,
+                                             "macro arg `%.*s' would be stringified with -traditional.",
+                                             id_len, arg->name);
+                             }
+                           /* If ANSI, don't actually substitute inside a string.  */
+                           if (expected_delimiter)
+                              break;
+                           /* make a pat node for this arg and append it to the end of
+                            * the pat list */
+                           tpat = (reflist *) xmalloc(sizeof(reflist));
+
+                           tpat->next = NULL;
+                           tpat->raw_before = concat == id_beg;
+                           tpat->raw_after = 0;
+                           tpat->rest_args = arg->rest_args;
+                           tpat->stringify = (stringify == id_beg);
+
+                           if (!endpat)
+                              defn->pattern = tpat;
+                           else
+                              endpat->next = tpat;
+                           endpat = tpat;
+
+                           tpat->argno = arg->argno;
+                           tpat->nchars = exp_p - lastp;
+                           {
+                              unsigned char      *p1 = p;
+
+                              SKIP_WHITE_SPACE(p1);
+                              if (p1 + 2 <= limit && p1[0] == '#'
+                                  && p1[1] == '#')
+                                 tpat->raw_after = 1;
+                           }
+                           lastp = exp_p;      /* place to start copying from next time */
+                           skipped_arg = 1;
+                           break;
+                        }
+                   }
+              }
+            /* If this was not a macro arg, copy it into the expansion.  */
+            if (!skipped_arg)
+              {
+                 unsigned char      *lim1 = p;
+
+                 p = id_beg;
+                 while (p != lim1)
+                    *exp_p++ = *p++;
+                 if (stringify == id_beg)
+                    cpp_error(pfile,
+                              "`#' operator should be followed by a macro argument name");
+              }
+         }
+     }
+
+   if (expected_delimiter == 0)
+     {
+       /* If ANSI, put in a "@ " marker to prevent token pasting.
+        * But not if "inside a string" (which in ANSI mode
+        * happens only for -D option).  */
+       *exp_p++ = '@';
+       *exp_p++ = ' ';
+     }
+   *exp_p = '\0';
+
+   defn->length = exp_p - defn->expansion;
+
+   /* Crash now if we overrun the allocated size.  */
+   if (defn->length + 1 > maxsize)
+      abort();
+
+   return defn;
+}
+
+/*
+ * special extension string that can be added to the last macro argument to 
+ * allow it to absorb the "rest" of the arguments when expanded.  Ex:
+ *              #define wow(a, b...)            process (b, a, b)
+ *              { wow (1, 2, 3); }      ->      { process (2, 3, 1, 2, 3); }
+ *              { wow (one, two); }     ->      { process (two, one, two); }
+ * if this "rest_arg" is used with the concat token '##' and if it is not
+ * supplied then the token attached to with ## will not be outputted.  Ex:
+ *              #define wow (a, b...)           process (b ## , a, ## b)
+ *              { wow (1, 2); }         ->      { process (2, 1, 2); }
+ *              { wow (one); }          ->      { process (one); {
+ */
+static char         rest_extension[] = "...";
+
+#define REST_EXTENSION_LENGTH  (sizeof (rest_extension) - 1)
+
+/* Create a DEFINITION node from a #define directive.  Arguments are 
+ * as for do_define. */
+static void
+create_definition(MACRODEF * mdef, unsigned char *buf, unsigned char *limit,
+                 cpp_reader * pfile, int predefinition)
+{
+   unsigned char      *bp;     /* temp ptr into input buffer */
+   unsigned char      *symname;        /* remember where symbol name starts */
+   int                 sym_length;     /* and how long it is */
+   int                 rest_args = 0;
+   long                line, col;
+   const char         *file =
+      CPP_BUFFER(pfile) ? CPP_BUFFER(pfile)->nominal_fname : "";
+   DEFINITION         *defn;
+   int                 arglengths = 0; /* Accumulate lengths of arg names
+                                        * plus number of args.  */
+
+   cpp_buf_line_and_col(CPP_BUFFER(pfile), &line, &col);
+
+   bp = buf;
+
+   while (is_hor_space[*bp])
+      bp++;
+
+   symname = bp;               /* remember where it starts */
+
+   sym_length = check_macro_name(pfile, bp, "macro");
+   bp += sym_length;
+
+   /* Lossage will occur if identifiers or control keywords are broken
+    * across lines using backslash.  This is not the right place to take
+    * care of that. */
+
+   if (*bp == '(')
+     {
+       struct arglist     *arg_ptrs = NULL;
+       int                 argno = 0;
+
+       bp++;                   /* skip '(' */
+       SKIP_WHITE_SPACE(bp);
+
+       /* Loop over macro argument names.  */
+       while (*bp != ')')
+         {
+            struct arglist     *temp;
+
+            temp = (struct arglist *)alloca(sizeof(struct arglist));
+
+            temp->name = (char *)bp;
+            temp->next = arg_ptrs;
+            temp->argno = argno++;
+            temp->rest_args = 0;
+            arg_ptrs = temp;
+
+            if (rest_args)
+               cpp_pedwarn(pfile, "another parameter follows `%s'",
+                           rest_extension);
+
+            if (!is_idstart[*bp])
+               cpp_pedwarn(pfile, "invalid character in macro parameter name");
+
+            /* Find the end of the arg name.  */
+            while (is_idchar[*bp])
+              {
+                 bp++;
+                 /* do we have a "special" rest-args extension here? */
+                 if ((unsigned)(limit - bp) > REST_EXTENSION_LENGTH &&
+                     strncmp(rest_extension, (const char *)bp,
+                             REST_EXTENSION_LENGTH) == 0)
+                   {
+                      rest_args = 1;
+                      temp->rest_args = 1;
+                      break;
+                   }
+              }
+            temp->length = (char *)bp - temp->name;
+            if (rest_args == 1)
+               bp += REST_EXTENSION_LENGTH;
+            arglengths += temp->length + 2;
+            SKIP_WHITE_SPACE(bp);
+            if (temp->length == 0 || (*bp != ',' && *bp != ')'))
+              {
+                 cpp_error(pfile,
+                           "badly punctuated parameter list in `#define'");
+                 goto nope;
+              }
+            if (*bp == ',')
+              {
+                 bp++;
+                 SKIP_WHITE_SPACE(bp);
+              }
+            if (bp >= limit)
+              {
+                 cpp_error(pfile, "unterminated parameter list in `#define'");
+                 goto nope;
+              }
+            {
+               struct arglist     *otemp;
+
+               for (otemp = temp->next; otemp; otemp = otemp->next)
+                  if (temp->length == otemp->length &&
+                      strncmp((const char *)temp->name,
+                              (const char *)otemp->name, temp->length) == 0)
+                    {
+                       char               *name;
+
+                       name = (char *)alloca(temp->length + 1);
+                       strncpy(name, (const char *)temp->name, temp->length);
+                       name[temp->length] = '\0';
+                       cpp_error(pfile,
+                                 "duplicate argument name `%s' in `#define'",
+                                 name);
+                       goto nope;
+                    }
+            }
+         }
+
+       ++bp;                   /* skip paren */
+       SKIP_WHITE_SPACE(bp);
+       /* now everything from bp before limit is the definition. */
+       defn = collect_expansion(pfile, bp, limit, argno, arg_ptrs);
+       defn->rest_args = rest_args;
+
+       /* Now set defn->args.argnames to the result of concatenating
+        * the argument names in reverse order
+        * with comma-space between them.  */
+       defn->args.argnames = (unsigned char *)xmalloc(arglengths + 1);
+       {
+          struct arglist     *temp;
+          int                 i = 0;
+
+          for (temp = arg_ptrs; temp; temp = temp->next)
+            {
+               memcpy(&defn->args.argnames[i], temp->name, temp->length);
+               i += temp->length;
+               if (temp->next)
+                 {
+                    defn->args.argnames[i++] = ',';
+                    defn->args.argnames[i++] = ' ';
+                 }
+            }
+          defn->args.argnames[i] = 0;
+       }
+     }
+   else
+     {
+       /* Simple expansion or empty definition.  */
+
+       if (bp < limit)
+         {
+            if (is_hor_space[*bp])
+              {
+                 bp++;
+                 SKIP_WHITE_SPACE(bp);
+              }
+            else
+              {
+                 switch (*bp)
+                   {
+                   case '!':
+                   case '"':
+                   case '#':
+                   case '%':
+                   case '&':
+                   case '\'':
+                   case ')':
+                   case '*':
+                   case '+':
+                   case ',':
+                   case '-':
+                   case '.':
+                   case '/':
+                   case ':':
+                   case ';':
+                   case '<':
+                   case '=':
+                   case '>':
+                   case '?':
+                   case '[':
+                   case '\\':
+                   case ']':
+                   case '^':
+                   case '{':
+                   case '|':
+                   case '}':
+                   case '~':
+                      cpp_warning(pfile,
+                                  "missing white space after `#define %.*s'",
+                                  sym_length, symname);
+                      break;
+
+                   default:
+                      cpp_pedwarn(pfile,
+                                  "missing white space after `#define %.*s'",
+                                  sym_length, symname);
+                      break;
+                   }
+              }
+         }
+       /* now everything from bp before limit is the definition. */
+       defn = collect_expansion(pfile, bp, limit, -1, NULL);
+       defn->args.argnames = (unsigned char *)"";
+     }
+
+   defn->line = line;
+   defn->file = file;
+
+   /* OP is null if this is a predefinition */
+   defn->predefined = predefinition;
+   mdef->defn = defn;
+   mdef->symnam = (char *)symname;
+   mdef->symlen = sym_length;
+
+   return;
+
+ nope:
+   mdef->defn = 0;
+}
+
+/* Check a purported macro name SYMNAME, and yield its length.
+ * USAGE is the kind of name this is intended for.  */
+
+static int
+check_macro_name(cpp_reader * pfile, unsigned char *symname, const char *usage)
+{
+   unsigned char      *p;
+   int                 sym_length;
+
+   for (p = symname; is_idchar[*p]; p++)
+      ;
+   sym_length = p - symname;
+   if (sym_length == 0)
+     {
+       cpp_error(pfile, "invalid %s name", usage);
+     }
+   else if (!is_idstart[*symname])
+     {
+       unsigned char      *msg;        /* what pain... */
+
+       msg = (unsigned char *)alloca(sym_length + 1);
+       memcpy(msg, symname, sym_length);
+       msg[sym_length] = 0;
+       cpp_error(pfile, "invalid %s name `%s'", usage, msg);
+     }
+   else
+     {
+       if (!strncmp((const char *)symname, "defined", 7) && sym_length == 7)
+          cpp_error(pfile, "invalid %s name `defined'", usage);
+     }
+   return sym_length;
+}
+
+/*
+ * return zero if two DEFINITIONs are isomorphic
+ */
+static int
+compare_defs(DEFINITION * d1, DEFINITION * d2)
+{
+   reflist            *a1, *a2;
+   unsigned char      *p1 = d1->expansion;
+   unsigned char      *p2 = d2->expansion;
+   int                 first = 1;
+
+   if (d1->nargs != d2->nargs)
+      return 1;
+   if (strcmp((char *)d1->args.argnames, (char *)d2->args.argnames))
+      return 1;
+   for (a1 = d1->pattern, a2 = d2->pattern; a1 && a2;
+       a1 = a1->next, a2 = a2->next)
+     {
+       if (!
+           ((a1->nchars == a2->nchars
+             && !strncmp((const char *)p1, (const char *)p2, a1->nchars))
+            || !comp_def_part(first, p1, a1->nchars, p2, a2->nchars, 0))
+           || a1->argno != a2->argno || a1->stringify != a2->stringify
+           || a1->raw_before != a2->raw_before
+           || a1->raw_after != a2->raw_after)
+          return 1;
+       first = 0;
+       p1 += a1->nchars;
+       p2 += a2->nchars;
+     }
+   if (a1 != a2)
+      return 1;
+   if (comp_def_part(first, p1, d1->length - (p1 - d1->expansion),
+                    p2, d2->length - (p2 - d2->expansion), 1))
+      return 1;
+   return 0;
+}
+
+/* Return 1 if two parts of two macro definitions are effectively different.
+ * One of the parts starts at BEG1 and has LEN1 chars;
+ * the other has LEN2 chars at BEG2.
+ * Any sequence of whitespace matches any other sequence of whitespace.
+ * FIRST means these parts are the first of a macro definition;
+ * so ignore leading whitespace entirely.
+ * LAST means these parts are the last of a macro definition;
+ * so ignore trailing whitespace entirely.  */
+
+static int
+comp_def_part(int first, unsigned char *beg1, int len1,
+             unsigned char *beg2, int len2, int last)
+{
+   unsigned char      *end1 = beg1 + len1;
+   unsigned char      *end2 = beg2 + len2;
+
+   if (first)
+     {
+       while (beg1 != end1 && is_space[*beg1])
+          beg1++;
+       while (beg2 != end2 && is_space[*beg2])
+          beg2++;
+     }
+   if (last)
+     {
+       while (beg1 != end1 && is_space[end1[-1]])
+          end1--;
+       while (beg2 != end2 && is_space[end2[-1]])
+          end2--;
+     }
+   while (beg1 != end1 && beg2 != end2)
+     {
+       if (is_space[*beg1] && is_space[*beg2])
+         {
+            while (beg1 != end1 && is_space[*beg1])
+               beg1++;
+            while (beg2 != end2 && is_space[*beg2])
+               beg2++;
+         }
+       else if (*beg1 == *beg2)
+         {
+            beg1++;
+            beg2++;
+         }
+       else
+          break;
+     }
+   return (beg1 != end1) || (beg2 != end2);
+}
+
+/* Process a #define command.
+ * BUF points to the contents of the #define command, as a contiguous string.
+ * LIMIT points to the first character past the end of the definition.
+ * KEYWORD is the keyword-table entry for #define,
+ * or NULL for a "predefined" macro.  */
+
+static int
+do_define(cpp_reader * pfile, struct directive *keyword,
+         unsigned char *buf, unsigned char *limit)
+{
+   int                 hashcode;
+   MACRODEF            mdef;
+   HASHNODE           *hp;
+
+   create_definition(&mdef, buf, limit, pfile, !keyword);
+   if (!mdef.defn)
+      return 1;
+
+   hashcode = hashf(mdef.symnam, mdef.symlen, HASHSIZE);
+
+   if ((hp = cpp_lookup(mdef.symnam, mdef.symlen, hashcode)))
+     {
+       int                 ok = 0;
+
+       /* Redefining a precompiled key is ok.  */
+       if (hp->type == T_PCSTRING)
+          ok = 1;
+       /* Redefining a macro is ok if the definitions are the same.  */
+       else if (hp->type == T_MACRO)
+          ok = !compare_defs(mdef.defn, hp->value.defn);
+       /* Redefining a constant is ok with -D.  */
+       else if (hp->type == T_CONST)
+          ok = !CPP_OPTIONS(pfile)->done_initializing;
+       /* Print the warning if it's not ok.  */
+       if (!ok)
+         {
+            char               *msg;   /* what pain... */
+
+            /* If we are passing through #define and #undef directives, do
+             * that for this re-definition now.  */
+            if (CPP_OPTIONS(pfile)->debug_output && keyword)
+               pass_thru_directive((char *)buf, (char *)limit, pfile, keyword);
+
+            msg = (char *)alloca(mdef.symlen + 22);
+            *msg = '`';
+            memcpy(msg + 1, mdef.symnam, mdef.symlen);
+            strcpy((msg + mdef.symlen + 1), "' redefined");
+            cpp_pedwarn(pfile, msg);
+            if (hp->type == T_MACRO)
+               cpp_pedwarn_with_file_and_line(pfile, hp->value.defn->file,
+                                              hp->value.defn->line,
+                                              "this is the location of the previous definition",
+                                              NULL, NULL, NULL);
+         }
+       /* Replace the old definition.  */
+       hp->type = T_MACRO;
+       hp->value.defn = mdef.defn;
+     }
+   else
+     {
+       /* If we are passing through #define and #undef directives, do
+        * that for this new definition now.  */
+       if (CPP_OPTIONS(pfile)->debug_output && keyword)
+          pass_thru_directive((char *)buf, (char *)limit, pfile, keyword);
+       install(mdef.symnam, mdef.symlen, T_MACRO, 0,
+               (char *)mdef.defn, hashcode);
+     }
+
+   return 0;
+}
+
+/* This structure represents one parsed argument in a macro call.
+ * `raw' points to the argument text as written (`raw_length' is its length).
+ * `expanded' points to the argument's macro-expansion
+ * (its length is `expand_length').
+ * `stringified_length' is the length the argument would have
+ * if stringified.
+ * `use_count' is the number of times this macro arg is substituted
+ * into the macro.  If the actual use count exceeds 10, 
+ * the value stored is 10. */
+
+/* raw and expanded are relative to ARG_BASE */
+#define ARG_BASE ((pfile)->token_buffer)
+
+struct argdata {
+   /* Strings relative to pfile->token_buffer */
+   long                raw, expanded, stringified;
+   int                 raw_length, expand_length;
+   int                 stringified_length;
+   char                newlines;
+   char                use_count;
+};
+
+cpp_buffer         *
+cpp_push_buffer(cpp_reader * pfile, unsigned char *buffer, long length)
+{
+#ifdef STATIC_BUFFERS
+   cpp_buffer         *buf = CPP_BUFFER(pfile);
+
+   if (buf == pfile->buffer_stack)
+      cpp_fatal("macro or `#include' recursion too deep");
+   buf--;
+   memset((char *)buf, 0, sizeof(cpp_buffer));
+   CPP_BUFFER(pfile) = buf;
+#else
+   cpp_buffer         *buf = (cpp_buffer *) xmalloc(sizeof(cpp_buffer));
+
+   memset((char *)buf, 0, sizeof(cpp_buffer));
+   CPP_PREV_BUFFER(buf) = CPP_BUFFER(pfile);
+   CPP_BUFFER(pfile) = buf;
+#endif
+   buf->if_stack = pfile->if_stack;
+   buf->cleanup = null_cleanup;
+   buf->underflow = null_underflow;
+   buf->buf = buf->cur = buffer;
+   buf->alimit = buf->rlimit = buffer + length;
+
+   return buf;
+}
+
+static cpp_buffer  *
+cpp_pop_buffer(cpp_reader * pfile)
+{
+   cpp_buffer         *buf = CPP_BUFFER(pfile);
+
+#ifdef STATIC_BUFFERS
+   (*buf->cleanup) (buf, pfile);
+   return ++CPP_BUFFER(pfile);
+#else
+   cpp_buffer         *next_buf = CPP_PREV_BUFFER(buf);
+
+   (*buf->cleanup) (buf, pfile);
+   CPP_BUFFER(pfile) = next_buf;
+   free(buf);
+   return next_buf;
+#endif
+}
+
+/* Scan until CPP_BUFFER (PFILE) is exhausted into PFILE->token_buffer.
+ * Pop the buffer when done. */
+
+static void
+cpp_scan_buffer(cpp_reader * pfile)
+{
+   cpp_buffer         *buffer = CPP_BUFFER(pfile);
+
+   for (;;)
+     {
+       enum cpp_token      token = cpp_get_token(pfile);
+
+       if (token == CPP_EOF)   /* Should not happen ... */
+          break;
+       if (token == CPP_POP && CPP_BUFFER(pfile) == buffer)
+         {
+            cpp_pop_buffer(pfile);
+            break;
+         }
+     }
+}
+
+/*
+ * Rescan a string (which may have escape marks) into pfile's buffer.
+ * Place the result in pfile->token_buffer.
+ *
+ * The input is copied before it is scanned, so it is safe to pass
+ * it something from the token_buffer that will get overwritten
+ * (because it follows CPP_WRITTEN).  This is used by do_include.
+ */
+
+static void
+cpp_expand_to_buffer(cpp_reader * pfile, unsigned char *buf, int length)
+{
+   cpp_buffer         *ip;
+   unsigned char      *limit = buf + length;
+   unsigned char      *buf1;
+
+   if (length < 0)
+      abort();
+
+   /* Set up the input on the input stack.  */
+
+   buf1 = (unsigned char *)alloca(length + 1);
+   {
+      unsigned char      *p1 = buf;
+      unsigned char      *p2 = buf1;
+      int                 in_string = 0;
+      
+#if 0 /* old behavior */ 
+      while (p1 != limit) *p2++ = *p1++;
+#else /* new one - handle \ escapes if not in string */
+      while (p1 != limit)
+        {
+           if (!in_string)
+             {
+                if (*p1 == '"') in_string = 1;
+                if (*p1 == '\\')
+                  {
+                     p1++;
+                     if (p1 != limit) *p2++ = *p1++;
+                  }
+                else
+                   *p2++ = *p1++;
+             }
+           else
+             {
+                if ((*p1 == '"') && (p1 > buf) && (p1[-1] != '\\'))
+                   in_string = 0;
+                *p2++ = *p1++;
+             }
+        }
+#endif
+      *p2 = 0;
+      length = p2 - buf1;
+   }
+
+   ip = cpp_push_buffer(pfile, buf1, length);
+   ip->has_escapes = 1;
+
+   /* Scan the input, create the output.  */
+   cpp_scan_buffer(pfile);
+
+   CPP_NUL_TERMINATE(pfile);
+}
+
+static void
+adjust_position(unsigned char *buf, unsigned char *limit, long *linep,
+               long *colp)
+{
+   while (buf < limit)
+     {
+       unsigned char       ch = *buf++;
+
+       if (ch == '\n')
+          (*linep)++, (*colp) = 1;
+       else
+          (*colp)++;
+     }
+}
+
+/* Move line_base forward, updating lineno and colno. */
+
+static void
+update_position(cpp_buffer * pbuf)
+{
+   unsigned char      *old_pos = pbuf->buf + pbuf->line_base;
+   unsigned char      *new_pos = pbuf->cur;
+   struct parse_marker *mark;
+
+   for (mark = pbuf->marks; mark; mark = mark->next)
+     {
+       if (pbuf->buf + mark->position < new_pos)
+          new_pos = pbuf->buf + mark->position;
+     }
+   pbuf->line_base += new_pos - old_pos;
+   adjust_position(old_pos, new_pos, &pbuf->lineno, &pbuf->colno);
+}
+
+void
+cpp_buf_line_and_col(cpp_buffer * pbuf, long *linep, long *colp)
+{
+   long                dummy;
+
+   if (!colp)
+      colp = &dummy;
+   if (pbuf)
+     {
+       *linep = pbuf->lineno;
+       *colp = pbuf->colno;
+       adjust_position(pbuf->buf + pbuf->line_base, pbuf->cur, linep, colp);
+     }
+   else
+     {
+       *linep = 0;
+       *colp = 0;
+     }
+}
+
+/* Return the cpp_buffer that corresponds to a file (not a macro). */
+
+cpp_buffer         *
+cpp_file_buffer(cpp_reader * pfile)
+{
+   cpp_buffer         *ip = CPP_BUFFER(pfile);
+
+   for (; ip != CPP_NULL_BUFFER(pfile); ip = CPP_PREV_BUFFER(ip))
+      if (ip->fname)
+        return ip;
+   return NULL;
+}
+
+static long
+count_newlines(unsigned char *buf, unsigned char *limit)
+{
+   long                count = 0;
+
+   while (buf < limit)
+     {
+       unsigned char       ch = *buf++;
+
+       if (ch == '\n')
+          count++;
+     }
+   return count;
+}
+
+/*
+ * write out a #line command, for instance, after an #include file.
+ * If CONDITIONAL is nonzero, we can omit the #line if it would
+ * appear to be a no-op, and we can output a few newlines instead
+ * if we want to increase the line number by a small amount.
+ * FILE_CHANGE says whether we are entering a file, leaving, or neither.
+ */
+
+static void
+output_line_command(cpp_reader * pfile, int conditional,
+                   enum file_change_code file_change)
+{
+   long                line, col;
+   cpp_buffer         *ip = CPP_BUFFER(pfile);
+
+   if (CPP_OPTIONS(pfile)->no_line_commands
+       || !ip->fname || CPP_OPTIONS(pfile)->no_output)
+     {
+       return;
+     }
+   update_position(ip);
+   line = CPP_BUFFER(pfile)->lineno;
+   col = CPP_BUFFER(pfile)->colno;
+   adjust_position(CPP_LINE_BASE(ip), ip->cur, &line, &col);
+
+   if (conditional)
+     {
+       if (line == pfile->lineno)
+          return;
+
+       /* If the inherited line number is a little too small,
+        * output some newlines instead of a #line command.  */
+       if (line > pfile->lineno && line < pfile->lineno + 8)
+         {
+            CPP_RESERVE(pfile, 20);
+            while (line > pfile->lineno)
+              {
+                 CPP_PUTC_Q(pfile, '\n');
+                 pfile->lineno++;
+              }
+            return;
+         }
+     }
+
+   CPP_RESERVE(pfile, 4 * strlen(ip->nominal_fname) + 50);
+   {
+      static char         sharp_line[] = "#line ";
+
+      CPP_PUTS_Q(pfile, sharp_line, sizeof(sharp_line) - 1);
+   }
+
+   sprintf((char *)CPP_PWRITTEN(pfile), "%d ", (int)line);
+   CPP_ADJUST_WRITTEN(pfile, strlen((char *)CPP_PWRITTEN(pfile)));
+
+   quote_string(pfile, ip->nominal_fname);
+   if (file_change != same_file)
+     {
+       CPP_PUTC_Q(pfile, ' ');
+       CPP_PUTC_Q(pfile, file_change == enter_file ? '1' : '2');
+     }
+   /* Tell cc1 if following text comes from a system header file.  */
+   if (ip->system_header_p)
+     {
+       CPP_PUTC_Q(pfile, ' ');
+       CPP_PUTC_Q(pfile, '3');
+     }
+#ifndef NO_IMPLICIT_EXTERN_C
+   /* Tell cc1plus if following text should be treated as C.  */
+   if (ip->system_header_p == 2 && CPP_OPTIONS(pfile)->cplusplus)
+     {
+       CPP_PUTC_Q(pfile, ' ');
+       CPP_PUTC_Q(pfile, '4');
+     }
+#endif
+   CPP_PUTC_Q(pfile, '\n');
+   pfile->lineno = line;
+}
+
+/*
+ * Parse a macro argument and append the info on PFILE's token_buffer.
+ * REST_ARGS means to absorb the rest of the args.
+ * Return nonzero to indicate a syntax error.
+ */
+
+static enum cpp_token
+macarg(cpp_reader * pfile, int rest_args)
+{
+   int                 paren = 0;
+   enum cpp_token      token;
+   char                save_put_out_comments =
+      CPP_OPTIONS(pfile)->put_out_comments;
+
+   CPP_OPTIONS(pfile)->put_out_comments = 0;
+
+   token = CPP_OTHER;
+   /* Try to parse as much of the argument as exists at this
+    * input stack level.  */
+   pfile->no_macro_expand++;
+   for (;;)
+     {
+       token = cpp_get_token(pfile);
+       switch (token)
+         {
+         case CPP_EOF:
+            goto done;
+         case CPP_POP:
+            /* If we've hit end of file, it's an error (reported by caller).
+             * Ditto if it's the end of cpp_expand_to_buffer text.
+             * If we've hit end of macro, just continue.  */
+            if (!CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
+               goto done;
+            break;
+         case CPP_LPAREN:
+            paren++;
+            break;
+         case CPP_RPAREN:
+            if (--paren < 0)
+               goto found;
+            break;
+         case CPP_COMMA:
+            /* if we've returned to lowest level and
+             * we aren't absorbing all args */
+            if (paren == 0 && rest_args == 0)
+               goto found;
+            break;
+          found:
+            /* Remove ',' or ')' from argument buffer. */
+            CPP_ADJUST_WRITTEN(pfile, -1);
+            goto done;
+         default:;
+         }
+     }
+
+ done:
+   CPP_OPTIONS(pfile)->put_out_comments = save_put_out_comments;
+   pfile->no_macro_expand--;
+
+   return token;
+}
+
+/* Turn newlines to spaces in the string of length LENGTH at START,
+ * except inside of string constants.
+ * The string is copied into itself with its beginning staying fixed.  */
+
+static int
+change_newlines(unsigned char *start, int length)
+{
+   unsigned char      *ibp;
+   unsigned char      *obp;
+   unsigned char      *limit;
+   int                 c;
+
+   ibp = start;
+   limit = start + length;
+   obp = start;
+
+   while (ibp < limit)
+     {
+       *obp++ = c = *ibp++;
+       switch (c)
+         {
+
+         case '\'':
+         case '\"':
+            /* Notice and skip strings, so that we don't delete newlines in them.  */
+            {
+               int                 quotec = c;
+
+               while (ibp < limit)
+                 {
+                    *obp++ = c = *ibp++;
+                    if (c == quotec)
+                       break;
+                    if (c == '\n' && quotec == '\'')
+                       break;
+                 }
+            }
+            break;
+         }
+     }
+
+   return obp - start;
+}
+
+static struct tm   *
+timestamp(cpp_reader * pfile)
+{
+   if (!pfile->timebuf)
+     {
+       time_t              t = time((time_t *) 0);
+
+       pfile->timebuf = localtime(&t);
+     }
+   return pfile->timebuf;
+}
+
+static const char  *monthnames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
+};
+
+/*
+ * expand things like __FILE__.  Place the expansion into the output
+ * buffer *without* rescanning.
+ */
+
+static void
+special_symbol(HASHNODE * hp, cpp_reader * pfile)
+{
+   const char         *buf;
+   char               *bufx;
+   int                 len;
+   int                 true_indepth;
+   cpp_buffer         *ip = NULL;
+   struct tm          *timebuf;
+
+   int                 paren = 0;      /* For special `defined' keyword */
+
+   for (ip = CPP_BUFFER(pfile);; ip = CPP_PREV_BUFFER(ip))
+     {
+       if (!ip)
+         {
+            cpp_error(pfile, "cccp error: not in any file?!");
+            return;            /* the show must go on */
+         }
+       if (ip->fname)
+          break;
+     }
+
+   switch (hp->type)
+     {
+     case T_FILE:
+     case T_BASE_FILE:
+       {
+          const char         *string;
+
+          if (hp->type == T_BASE_FILE)
+            {
+               while (CPP_PREV_BUFFER(ip))
+                  ip = CPP_PREV_BUFFER(ip);
+            }
+          string = ip->nominal_fname;
+
+          if (!string)
+             string = "";
+          CPP_RESERVE(pfile, 3 + 4 * strlen(string));
+          quote_string(pfile, string);
+          return;
+       }
+
+     case T_INCLUDE_LEVEL:
+       true_indepth = 0;
+       for (ip = CPP_BUFFER(pfile); ip; ip = CPP_PREV_BUFFER(ip))
+          if (ip->fname)
+             true_indepth++;
+
+       bufx = (char *)alloca(8);       /* Eight bytes ought to be more than enough */
+       sprintf(bufx, "%d", true_indepth - 1);
+       buf = bufx;
+       break;
+
+     case T_VERSION:
+       bufx = (char *)alloca(3 + strlen(version_string));
+       sprintf(bufx, "\"%s\"", version_string);
+       buf = bufx;
+       break;
+
+#ifndef NO_BUILTIN_SIZE_TYPE
+     case T_SIZE_TYPE:
+       buf = SIZE_TYPE;
+       break;
+#endif
+
+#ifndef NO_BUILTIN_PTRDIFF_TYPE
+     case T_PTRDIFF_TYPE:
+       buf = PTRDIFF_TYPE;
+       break;
+#endif
+
+     case T_WCHAR_TYPE:
+       buf = CPP_WCHAR_TYPE(pfile);
+       break;
+
+     case T_USER_LABEL_PREFIX_TYPE:
+       buf = USER_LABEL_PREFIX;
+       break;
+
+     case T_REGISTER_PREFIX_TYPE:
+       buf = REGISTER_PREFIX;
+       break;
+
+     case T_CONST:
+       bufx = (char *)alloca(4 * sizeof(int));
+       sprintf(bufx, "%d", hp->value.ival);
+       buf = bufx;
+       break;
+
+     case T_SPECLINE:
+       {
+          long                line = ip->lineno;
+          long                col = ip->colno;
+
+          adjust_position(CPP_LINE_BASE(ip), ip->cur, &line, &col);
+
+          bufx = (char *)alloca(10);
+          sprintf(bufx, "%d", (int)line);
+          buf = bufx;
+       }
+       break;
+
+     case T_DATE:
+     case T_TIME:
+       bufx = (char *)alloca(20);
+       timebuf = timestamp(pfile);
+       if (hp->type == T_DATE)
+          sprintf(bufx, "\"%s %2d %4d\"", monthnames[timebuf->tm_mon],
+                  timebuf->tm_mday, timebuf->tm_year + 1900);
+       else
+          sprintf(bufx, "\"%02d:%02d:%02d\"", timebuf->tm_hour,
+                  timebuf->tm_min, timebuf->tm_sec);
+       buf = bufx;
+       break;
+
+     case T_SPEC_DEFINED:
+       buf = " 0 ";            /* Assume symbol is not defined */
+       ip = CPP_BUFFER(pfile);
+       SKIP_WHITE_SPACE(ip->cur);
+       if (*ip->cur == '(')
+         {
+            paren++;
+            ip->cur++;         /* Skip over the paren */
+            SKIP_WHITE_SPACE(ip->cur);
+         }
+       if (!is_idstart[*ip->cur])
+          goto oops;
+       if ((hp = cpp_lookup((const char *)ip->cur, -1, -1)))
+         {
+            buf = " 1 ";
+         }
+       while (is_idchar[*ip->cur])
+          ++ip->cur;
+       SKIP_WHITE_SPACE(ip->cur);
+       if (paren)
+         {
+            if (*ip->cur != ')')
+               goto oops;
+            ++ip->cur;
+         }
+       break;
+
+      oops:
+
+       cpp_error(pfile, "`defined' without an identifier");
+       break;
+
+     default:
+       cpp_error(pfile, "cccp error: invalid special hash type");      /* time for gdb */
+       abort();
+     }
+   len = strlen(buf);
+   CPP_RESERVE(pfile, len + 1);
+   CPP_PUTS_Q(pfile, buf, len);
+   CPP_NUL_TERMINATE_Q(pfile);
+
+   return;
+}
+
+/* Initialize the built-in macros.  */
+
+static void
+initialize_builtins(cpp_reader * pfile)
+{
+   install("__LINE__", -1, T_SPECLINE, 0, 0, -1);
+   install("__DATE__", -1, T_DATE, 0, 0, -1);
+   install("__FILE__", -1, T_FILE, 0, 0, -1);
+   install("__BASE_FILE__", -1, T_BASE_FILE, 0, 0, -1);
+   install("__INCLUDE_LEVEL__", -1, T_INCLUDE_LEVEL, 0, 0, -1);
+   install("__VERSION__", -1, T_VERSION, 0, 0, -1);
+#ifndef NO_BUILTIN_SIZE_TYPE
+   install("__SIZE_TYPE__", -1, T_SIZE_TYPE, 0, 0, -1);
+#endif
+#ifndef NO_BUILTIN_PTRDIFF_TYPE
+   install("__PTRDIFF_TYPE__ ", -1, T_PTRDIFF_TYPE, 0, 0, -1);
+#endif
+   install("__WCHAR_TYPE__", -1, T_WCHAR_TYPE, 0, 0, -1);
+   install("__USER_LABEL_PREFIX__", -1, T_USER_LABEL_PREFIX_TYPE, 0, 0, -1);
+   install("__REGISTER_PREFIX__", -1, T_REGISTER_PREFIX_TYPE, 0, 0, -1);
+   install("__TIME__", -1, T_TIME, 0, 0, -1);
+   install("__STDC__", -1, T_CONST, STDC_VALUE, 0, -1);
+   if (CPP_OPTIONS(pfile)->objc)
+      install("__OBJC__", -1, T_CONST, 1, 0, -1);
+/*  This is supplied using a -D by the compiler driver
+ * so that it is present only when truly compiling with GNU C.  */
+/*  install ("__GNUC__", -1, T_CONST, 2, 0, -1);  */
+
+   if (CPP_OPTIONS(pfile)->debug_output)
+     {
+       char                directive[2048];
+       struct directive   *dp = &directive_table[0];
+       struct tm          *timebuf = timestamp(pfile);
+       cpp_buffer         *pbuffer = CPP_BUFFER(pfile);
+
+       while (CPP_PREV_BUFFER(pbuffer))
+          pbuffer = CPP_PREV_BUFFER(pbuffer);
+       sprintf(directive, " __BASE_FILE__ \"%s\"\n", pbuffer->nominal_fname);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+
+       sprintf(directive, " __VERSION__ \"%s\"\n", version_string);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+
+#ifndef NO_BUILTIN_SIZE_TYPE
+       sprintf(directive, " __SIZE_TYPE__ %s\n", SIZE_TYPE);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+#endif
+
+#ifndef NO_BUILTIN_PTRDIFF_TYPE
+       sprintf(directive, " __PTRDIFF_TYPE__ %s\n", PTRDIFF_TYPE);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+#endif
+
+       sprintf(directive, " __WCHAR_TYPE__ %s\n", CPP_WCHAR_TYPE(pfile));
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+
+       sprintf(directive, " __DATE__ \"%s %2d %4d\"\n",
+               monthnames[timebuf->tm_mon],
+               timebuf->tm_mday, timebuf->tm_year + 1900);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+
+       sprintf(directive, " __TIME__ \"%02d:%02d:%02d\"\n",
+               timebuf->tm_hour, timebuf->tm_min, timebuf->tm_sec);
+       output_line_command(pfile, 0, same_file);
+       pass_thru_directive(directive, &directive[strlen(directive)], pfile,
+                           dp);
+
+        sprintf(directive, " __STDC__ 1");
+        output_line_command(pfile, 0, same_file);
+        pass_thru_directive(directive, &directive[strlen(directive)],
+                            pfile, dp);
+     }
+}
+
+/* Return 1 iff a token ending in C1 followed directly by a token C2
+ * could cause mis-tokenization. */
+
+static int
+unsafe_chars(int c1, int c2)
+{
+//   printf("unsafe %c %c ...", c1, c2);
+   switch (c1)
+     {
+     case '+':
+     case '-':
+     case '.':
+//        printf(" no0\n");
+        return 0;
+     case '0':
+     case '1':
+     case '2':
+     case '3':
+     case '4':
+     case '5':
+     case '6':
+     case '7':
+     case '8':
+     case '9':
+     case 'e':
+     case 'E':
+       if (c2 == '-' || c2 == '+')
+          {
+//             printf(" yes2\n");
+             return 1;         /* could extend a pre-processing number */
+          }
+       goto letter;
+     case 'L':
+       if (c2 == '\'' || c2 == '\"')
+          {
+//             printf(" yes3\n");
+             return 1;         /* Could turn into L"xxx" or L'xxx'. */
+          }
+       goto letter;
+      letter:
+     case '_':
+     case 'a':
+     case 'b':
+     case 'c':
+     case 'd':
+     case 'f':
+     case 'g':
+     case 'h':
+     case 'i':
+     case 'j':
+     case 'k':
+     case 'l':
+     case 'm':
+     case 'n':
+     case 'o':
+     case 'p':
+     case 'q':
+     case 'r':
+     case 's':
+     case 't':
+     case 'u':
+     case 'v':
+     case 'w':
+     case 'x':
+     case 'y':
+     case 'z':
+     case 'A':
+     case 'B':
+     case 'C':
+     case 'D':
+     case 'F':
+     case 'G':
+     case 'H':
+     case 'I':
+     case 'J':
+     case 'K':
+     case 'M':
+     case 'N':
+     case 'O':
+     case 'P':
+     case 'Q':
+     case 'R':
+     case 'S':
+     case 'T':
+     case 'U':
+     case 'V':
+     case 'W':
+     case 'X':
+     case 'Y':
+     case 'Z':
+       /* We're in the middle of either a name or a pre-processing number. */
+       if (is_idchar[c2] || c2 == '.')
+          {
+//             printf(" yes4 %i %i\n", is_idchar[c2], c2 == '.');
+             return 1;
+          }
+        else
+          {
+//             printf(" no5\n");
+             return 0;
+          }
+     case '<':
+     case '>':
+     case '!':
+     case '%':
+     case '#':
+     case ':':
+     case '^':
+     case '&':
+     case '|':
+     case '*':
+     case '/':
+     case '=':
+       if (c2 == c1 || c2 == '=')
+          {
+//             printf(" yes6\n");
+             return 1;
+          }
+        else
+          {
+//             printf(" no7\n");
+             return 0;
+          }
+     }
+//   printf(" no8\n");
+   return 0;
+}
+
+/* Expand a macro call.
+ * HP points to the symbol that is the macro being called.
+ * Put the result of expansion onto the input stack
+ * so that subsequent input by our caller will use it.
+ * 
+ * If macro wants arguments, caller has already verified that
+ * an argument list follows; arguments come from the input stack.  */
+
+static void
+macroexpand(cpp_reader * pfile, HASHNODE * hp)
+{
+   int                 nargs;
+   DEFINITION         *defn = hp->value.defn;
+   unsigned char      *xbuf;
+   long                start_line, start_column;
+   int                 xbuf_len;
+   struct argdata     *args;
+   long                old_written = CPP_WRITTEN(pfile);
+
+   int                 rest_args, rest_zero;
+   int                 i;
+
+   pfile->output_escapes++;
+   cpp_buf_line_and_col(cpp_file_buffer(pfile), &start_line, &start_column);
+
+   rest_zero = 0;
+   args = NULL;
+   nargs = defn->nargs;
+
+   if (nargs >= 0)
+     {
+       enum cpp_token      token;
+
+       token = CPP_OTHER;
+
+       args = (struct argdata *)alloca((nargs + 1) * sizeof(struct argdata));
+
+       for (i = 0; i < nargs; i++)
+         {
+            args[i].raw = args[i].expanded = 0;
+            args[i].raw_length = 0;
+            args[i].expand_length = args[i].stringified_length = -1;
+            args[i].use_count = 0;
+         }
+
+       /* Parse all the macro args that are supplied.  I counts them.
+        * The first NARGS args are stored in ARGS.
+        * The rest are discarded.  If rest_args is set then we assume
+        * macarg absorbed the rest of the args. */
+       i = 0;
+       rest_args = 0;
+       rest_args = 0;
+       FORWARD(1);             /* Discard the open-parenthesis before the first arg.  */
+       do
+         {
+            if (rest_args)
+               continue;
+            if (i < nargs || (nargs == 0 && i == 0))
+              {
+                  unsigned char *bp;
+                  
+                 /* if we are working on last arg which absorbs rest of args... */
+                 if (i == nargs - 1 && defn->rest_args)
+                    rest_args = 1;
+                 args[i].raw = CPP_WRITTEN(pfile);
+                 token = macarg(pfile, rest_args);
+                 args[i].raw_length = CPP_WRITTEN(pfile) - args[i].raw;
+                 args[i].newlines = 0; /* FIXME */
+                  bp = ARG_BASE + args[i].raw;
+                  while (is_space[(unsigned char)(*bp)]) { bp++; }
+                  args[i].raw_length -= bp - (ARG_BASE + args[i].raw);
+                  args[i].raw = bp - ARG_BASE;
+                  if (args[i].raw_length > 0)
+                    {
+                       bp = ARG_BASE + args[i].raw + args[i].raw_length - 1;
+                       while (is_space[(unsigned char)(*bp)])
+                         {
+                            bp--; 
+                            args[i].raw_length--;
+                            if (args[i].raw_length < 1) break;
+                         }
+                    }
+              }
+            else
+               token = macarg(pfile, 0);
+            if (token == CPP_EOF || token == CPP_POP)
+              {
+                 cpp_error_with_line(pfile, start_line, start_column,
+                                     "unterminated macro call");
+                 return;
+              }
+            i++;
+         }
+       while (token == CPP_COMMA);
+
+       /* If we got one arg but it was just whitespace, call that 0 args.  */
+       if (i == 1)
+         {
+            unsigned char      *bp = ARG_BASE + args[0].raw;
+            unsigned char      *lim = bp + args[0].raw_length;
+
+            /* cpp.texi says for foo ( ) we provide one argument.
+             * However, if foo wants just 0 arguments, treat this as 0.  */
+            if (nargs == 0)
+               while (bp != lim && is_space[*bp])
+                  bp++;
+            if (bp == lim)
+               i = 0;
+         }
+       /* Don't output an error message if we have already output one for
+        * a parse error above.  */
+       if (nargs == 0 && i > 0)
+         {
+            cpp_error(pfile, "arguments given to macro `%s'", hp->name);
+         }
+       else if (i < nargs)
+         {
+            if (i == nargs - 1 && defn->rest_args)
+               rest_zero = 1;
+            else if (i == 0)
+               cpp_error(pfile, "macro `%s' used without args", hp->name);
+            else if (i == 1)
+               cpp_error(pfile, "macro `%s' used with just one arg", hp->name);
+            else
+               cpp_error(pfile, "macro `%s' used with only %d args",
+                         hp->name, i);
+         }
+       else if (i > nargs)
+         {
+            cpp_error(pfile,
+                      "macro `%s' used with too many (%d) args", hp->name, i);
+         }
+     }
+   /* If macro wants zero args, we parsed the arglist for checking only.
+    * Read directly from the macro definition.  */
+   if (nargs <= 0)
+     {
+       xbuf = defn->expansion;
+       xbuf_len = defn->length;
+     }
+   else
+     {
+       unsigned char      *exp = defn->expansion;
+       int                 offset;     /* offset in expansion,
+                                        * copied a piece at a time */
+       int                 totlen;     /* total amount of exp buffer filled so far */
+       reflist            *ap, *last_ap;
+
+       /* Macro really takes args.  Compute the expansion of this call.  */
+
+       /* Compute length in characters of the macro's expansion.
+        * Also count number of times each arg is used.  */
+       xbuf_len = defn->length;
+       for (ap = defn->pattern; ap; ap = ap->next)
+         {
+            if (ap->stringify)
+              {
+                 struct argdata     *arg = &args[ap->argno];
+
+                 /* Stringify it it hasn't already been */
+                 if (arg->stringified_length < 0)
+                   {
+                      int                 arglen = arg->raw_length;
+                      int                 escaped = 0;
+                      int                 in_string = 0;
+                      int                 c;
+
+                      /* Initially need_space is -1.  Otherwise, 1 means the
+                       * previous character was a space, but we suppressed it;
+                       * 0 means the previous character was a non-space. */
+                      int                 need_space = -1;
+
+                      i = 0;
+                      arg->stringified = CPP_WRITTEN(pfile);
+                       CPP_PUTC(pfile, '\"');  /* insert beginning quote */
+                      for (; i < arglen; i++)
+                        {
+                           c = (ARG_BASE + arg->raw)[i];
+
+                           if (!in_string)
+                             {
+                                /* Internal sequences of whitespace are replaced by
+                                 * one space except within an string or char token. */
+                                if (is_space[c])
+                                  {
+                                     if (CPP_WRITTEN(pfile) > arg->stringified
+                                         && (CPP_PWRITTEN(pfile))[-1] == '@')
+                                       {
+                                          /* "@ " escape markers are removed */
+                                          CPP_ADJUST_WRITTEN(pfile, -1);
+                                          continue;
+                                       }
+                                     if (need_space == 0)
+                                        need_space = 1;
+                                     continue;
+                                  }
+                                else if (need_space > 0)
+                                   CPP_PUTC(pfile, ' ');
+                                need_space = 0;
+                             }
+                           if (escaped)
+                              escaped = 0;
+                           else
+                             {
+                                if (c == '\\')
+                                   escaped = 1;
+                                if (in_string)
+                                  {
+                                     if (c == in_string)
+                                        in_string = 0;
+                                  }
+                                else if (c == '\"' || c == '\'')
+                                   in_string = c;
+                             }
+
+                           /* Escape these chars */
+                           if (c == '\"' || (in_string && c == '\\'))
+                              CPP_PUTC(pfile, '\\');
+                           if (isprint(c))
+                              CPP_PUTC(pfile, c);
+                           else
+                             {
+                                CPP_RESERVE(pfile, 4);
+                                sprintf((char *)CPP_PWRITTEN(pfile), "\\%03o",
+                                        (unsigned int)c);
+                                CPP_ADJUST_WRITTEN(pfile, 4);
+                             }
+                        }
+                       CPP_PUTC(pfile, '\"');  /* insert ending quote */
+                      arg->stringified_length
+                         = CPP_WRITTEN(pfile) - arg->stringified;
+                   }
+                 xbuf_len += args[ap->argno].stringified_length;
+              }
+            else if (ap->raw_before || ap->raw_after)
+               {
+                  /* Add 4 for two newline-space markers to prevent
+                   * token concatenation.  */
+                  xbuf_len += args[ap->argno].raw_length + 4;
+               }
+            else
+              {
+                 /* We have an ordinary (expanded) occurrence of the arg.
+                  * So compute its expansion, if we have not already.  */
+                 if (args[ap->argno].expand_length < 0)
+                   {
+                      args[ap->argno].expanded = CPP_WRITTEN(pfile);
+                      cpp_expand_to_buffer(pfile,
+                                           ARG_BASE + args[ap->argno].raw,
+                                           args[ap->argno].raw_length);
+
+                      args[ap->argno].expand_length
+                         = CPP_WRITTEN(pfile) - args[ap->argno].expanded;
+                   }
+                 /* Add 4 for two newline-space markers to prevent
+                  * token concatenation.  */
+                 xbuf_len += args[ap->argno].expand_length + 4;
+              }
+            if (args[ap->argno].use_count < 10)
+               args[ap->argno].use_count++;
+         }
+
+       xbuf = (unsigned char *)xmalloc(xbuf_len + 1);
+
+       /* Generate in XBUF the complete expansion
+        * with arguments substituted in.
+        * TOTLEN is the total size generated so far.
+        * OFFSET is the index in the definition
+        * of where we are copying from.  */
+       offset = totlen = 0;
+       for (last_ap = NULL, ap = defn->pattern; ap;
+            last_ap = ap, ap = ap->next)
+         {
+            struct argdata     *arg = &args[ap->argno];
+            int                 count_before = totlen;
+
+            /* Add chars to XBUF.  */
+            for (i = 0; i < ap->nchars; i++, offset++)
+               xbuf[totlen++] = exp[offset];
+
+            /* If followed by an empty rest arg with concatenation,
+             * delete the last run of nonwhite chars.  */
+            if (rest_zero && totlen > count_before
+                && ((ap->rest_args && ap->raw_before)
+                    || (last_ap && last_ap->rest_args && last_ap->raw_after)))
+              {
+                 /* Delete final whitespace.  */
+                 while (totlen > count_before && is_space[xbuf[totlen - 1]])
+                    totlen--;
+
+                 /* Delete the nonwhites before them.  */
+                 while (totlen > count_before && !is_space[xbuf[totlen - 1]])
+                    totlen--;
+              }
+            if (ap->stringify != 0)
+              {
+                 memcpy(xbuf + totlen, ARG_BASE + arg->stringified,
+                        arg->stringified_length);
+                 totlen += arg->stringified_length;
+              }
+            else if (ap->raw_before || ap->raw_after)
+              {
+                 unsigned char      *p1 = ARG_BASE + arg->raw;
+                 unsigned char      *l1 = p1 + arg->raw_length;
+
+                 if (ap->raw_before)
+                   {
+                      while (p1 != l1 && is_space[*p1])
+                         p1++;
+                      while (p1 != l1 && is_idchar[*p1])
+                         xbuf[totlen++] = *p1++;
+                   }
+                 if (ap->raw_after)
+                   {
+                      /* Arg is concatenated after: delete trailing whitespace,
+                       * whitespace markers, and no-reexpansion markers.  */
+                      while (p1 != l1)
+                        {
+                           if (is_space[l1[-1]])
+                              l1--;
+                           else if (l1[-1] == '-')
+                             {
+                                unsigned char      *p2 = l1 - 1;
+
+                                /* If a `-' is preceded by an odd number of newlines then it
+                                 * and the last newline are a no-reexpansion marker.  */
+                                while (p2 != p1 && p2[-1] == '\n')
+                                   p2--;
+                                if ((l1 - 1 - p2) & 1)
+                                  {
+                                     l1 -= 2;
+                                  }
+                                else
+                                   break;
+                             }
+                           else
+                              break;
+                        }
+                   }
+                 memcpy(xbuf + totlen, p1, l1 - p1);
+                 totlen += l1 - p1;
+              }
+            else
+              {
+                 unsigned char      *expanded = ARG_BASE + arg->expanded;
+
+                 if (!ap->raw_before && totlen > 0 && arg->expand_length
+                     && unsafe_chars(xbuf[totlen - 1], expanded[0]))
+                   {
+                      xbuf[totlen++] = '@';
+                      xbuf[totlen++] = ' ';
+                   }
+                 memcpy(xbuf + totlen, expanded, arg->expand_length);
+                 totlen += arg->expand_length;
+
+                 if (!ap->raw_after && totlen > 0 && offset < defn->length
+                     && unsafe_chars(xbuf[totlen - 1], exp[offset]))
+                   {
+                      xbuf[totlen++] = '@';
+                      xbuf[totlen++] = ' ';
+                   }
+                 /* If a macro argument with newlines is used multiple times,
+                  * then only expand the newlines once.  This avoids creating
+                  * output lines which don't correspond to any input line,
+                  * which confuses gdb and gcov.  */
+                 if (arg->use_count > 1 && arg->newlines > 0)
+                   {
+                      /* Don't bother doing change_newlines for subsequent
+                       * uses of arg.  */
+                      arg->use_count = 1;
+                      arg->expand_length
+                         = change_newlines(expanded, arg->expand_length);
+                   }
+              }
+
+            if (totlen > xbuf_len)
+               abort();
+         }
+       /* if there is anything left of the definition
+        * after handling the arg list, copy that in too. */
+
+       for (i = offset; i < defn->length; i++)
+         {
+            /* if we've reached the end of the macro */
+            if (exp[i] == ')')
+               rest_zero = 0;
+            if (!(rest_zero && last_ap && last_ap->rest_args
+                  && last_ap->raw_after))
+               xbuf[totlen++] = exp[i];
+         }
+
+       xbuf[totlen] = 0;
+       xbuf_len = totlen;
+     }
+
+   pfile->output_escapes--;
+
+   /* Now put the expansion on the input stack
+    * so our caller will commence reading from it.  */
+   push_macro_expansion(pfile, xbuf, xbuf_len, hp);
+   CPP_BUFFER(pfile)->has_escapes = 1;
+
+   /* Pop the space we've used in the token_buffer for argument expansion. */
+   CPP_SET_WRITTEN(pfile, old_written);
+
+   /* Recursive macro use sometimes works traditionally.
+    * #define foo(x,y) bar (x (y,0), y)
+    * foo (foo, baz)  */
+
+   hp->type = T_DISABLED;
+}
+
+static void
+push_macro_expansion(cpp_reader * pfile, unsigned char *xbuf, int xbuf_len,
+                    HASHNODE * hp)
+{
+   cpp_buffer         *mbuf = cpp_push_buffer(pfile, xbuf, xbuf_len);
+
+   mbuf->cleanup = macro_cleanup;
+   mbuf->data = hp;
+
+   /* The first chars of the expansion should be a "@ " added by
+    * collect_expansion.  This is to prevent accidental token-pasting
+    * between the text preceding the macro invocation, and the macro
+    * expansion text.
+    * 
+    * We would like to avoid adding unneeded spaces (for the sake of
+    * tools that use cpp, such as imake).  In some common cases we can
+    * tell that it is safe to omit the space.
+    * 
+    * The character before the macro invocation cannot have been an
+    * idchar (or else it would have been pasted with the idchars of
+    * the macro name).  Therefore, if the first non-space character
+    * of the expansion is an idchar, we do not need the extra space
+    * to prevent token pasting.
+    * 
+    * Also, we don't need the extra space if the first char is '(',
+    * or some other (less common) characters.  */
+
+   if (xbuf[0] == '@' && xbuf[1] == ' '
+       && (is_idchar[xbuf[2]] || xbuf[2] == '(' || xbuf[2] == '\''
+          || xbuf[2] == '\"'))
+      mbuf->cur += 2;
+}
+
+/* Like cpp_get_token, except that it does not read past end-of-line.
+ * Also, horizontal space is skipped, and macros are popped.  */
+
+static enum cpp_token
+get_directive_token(cpp_reader * pfile)
+{
+   for (;;)
+     {
+       long                old_written = CPP_WRITTEN(pfile);
+       enum cpp_token      token;
+
+       cpp_skip_hspace(pfile);
+       if (PEEKC() == '\n')
+          return CPP_VSPACE;
+       token = cpp_get_token(pfile);
+       switch (token)
+         {
+         case CPP_POP:
+            if (!CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
+               return token;
+            /* ... else fall though ... */
+         case CPP_HSPACE:
+         case CPP_COMMENT:
+            CPP_SET_WRITTEN(pfile, old_written);
+            break;
+         default:
+            return token;
+         }
+     }
+}
+
+/* Handle #include and #import.
+ * This function expects to see "fname" or <fname> on the input.
+ * 
+ * The input is normally in part of the output_buffer following
+ * CPP_WRITTEN, and will get overwritten by output_line_command.
+ * I.e. in input file specification has been popped by handle_directive.
+ * This is safe. */
+
+static int
+do_include(cpp_reader * pfile, struct directive *keyword,
+          unsigned char *unused1 EINA_UNUSED, unsigned char *unused2 EINA_UNUSED)
+{
+   int                 importing = (keyword->type == T_IMPORT);
+   int                 skip_dirs = (keyword->type == T_INCLUDE_NEXT);
+   char               *fname;  /* Dynamically allocated fname buffer */
+   unsigned char      *fbeg, *fend;    /* Beginning and end of fname */
+   enum cpp_token      token;
+
+   /* Chain of dirs to search */
+   file_name_list     *search_start = CPP_OPTIONS(pfile)->include;
+   file_name_list      dsp[1]; /* First in chain, if #include "..." */
+   file_name_list     *searchptr = 0;
+   long                old_written = CPP_WRITTEN(pfile);
+   int                 flen;
+   int                 f;      /* file number */
+   int                 angle_brackets = 0;     /* 0 for "...", 1 for <...> */
+
+   f = -1;                     /* JF we iz paranoid! */
+
+   if (importing && CPP_OPTIONS(pfile)->warn_import
+       && !CPP_OPTIONS(pfile)->inhibit_warnings
+       && !CPP_BUFFER(pfile)->system_header_p && !pfile->import_warning)
+     {
+       pfile->import_warning = 1;
+       cpp_warning(pfile, "using `#import' is not recommended");
+       fprintf(stderr,
+               "The fact that a certain header file need not be processed more than once\n");
+       fprintf(stderr,
+               "should be indicated in the header file, not where it is used.\n");
+       fprintf(stderr,
+               "The best way to do this is with a conditional of this form:\n\n");
+       fprintf(stderr, "  #ifndef _FOO_H_INCLUDED\n");
+       fprintf(stderr, "  #define _FOO_H_INCLUDED\n");
+       fprintf(stderr, "  ... <real contents of file> ...\n");
+       fprintf(stderr, "  #endif /* Not _FOO_H_INCLUDED */\n\n");
+       fprintf(stderr, "Then users can use `#include' any number of times.\n");
+       fprintf(stderr,
+               "GNU C automatically avoids processing the file more than once\n");
+       fprintf(stderr, "when it is equipped with such a conditional.\n");
+     }
+   pfile->parsing_include_directive++;
+   token = get_directive_token(pfile);
+   pfile->parsing_include_directive--;
+
+   if (token == CPP_STRING)
+     {
+       /* FIXME - check no trailing garbage */
+       fbeg = pfile->token_buffer + old_written + 1;
+       fend = CPP_PWRITTEN(pfile) - 1;
+       if (fbeg[-1] == '<')
+         {
+            angle_brackets = 1;
+            /* If -I-, start with the first -I dir after the -I-.  */
+            if (CPP_OPTIONS(pfile)->first_bracket_include)
+               search_start = CPP_OPTIONS(pfile)->first_bracket_include;
+         }
+       /* If -I- was specified, don't search current dir, only spec'd ones. */
+       else if (!CPP_OPTIONS(pfile)->ignore_srcdir)
+         {
+            cpp_buffer         *fp;
+
+            /* We have "filename".  Figure out directory this source
+             * file is coming from and put it on the front of the list. */
+
+            for (fp = CPP_BUFFER(pfile); fp; fp = CPP_PREV_BUFFER(fp))
+              {
+                 int                 n;
+                 const char         *ep, *nam;
+
+                 if ((nam = fp->nominal_fname))
+                   {
+                      /* Found a named file.  Figure out dir of the file,
+                       * and put it in front of the search list.  */
+                      dsp[0].next = search_start;
+                      search_start = dsp;
+#ifndef VMS
+                      ep = strrchr(nam, '/');
+#else /* VMS */
+                      ep = strrchr(nam, ']');
+                      if (!ep)
+                         ep = strrchr(nam, '>');
+                      if (!ep)
+                         ep = strrchr(nam, ':');
+                      if (ep)
+                         ep++;
+#endif /* VMS */
+                      if (ep)
+                        {
+                           n = ep - nam;
+                           dsp[0].fname = (char *)alloca(n + 1);
+                           strncpy(dsp[0].fname, nam, n);
+                           dsp[0].fname[n] = '\0';
+                           if (n + INCLUDE_LEN_FUDGE > pfile->max_include_len)
+                              pfile->max_include_len = n + INCLUDE_LEN_FUDGE;
+                        }
+                      else
+                        {
+                           dsp[0].fname = 0;   /* Current directory */
+                        }
+                      dsp[0].got_name_map = 0;
+                      break;
+                   }
+              }
+         }
+     }
+   else
+     {
+       cpp_error(pfile,
+                 "`#%s' expects \"FILENAME\" or <FILENAME>", keyword->name);
+       CPP_SET_WRITTEN(pfile, old_written);
+       skip_rest_of_line(pfile);
+       return 0;
+     }
+
+   *fend = 0;
+
+   token = get_directive_token(pfile);
+   if (token != CPP_VSPACE)
+     {
+       cpp_error(pfile, "junk at end of `#include'");
+       while (token != CPP_VSPACE && token != CPP_EOF && token != CPP_POP)
+          token = get_directive_token(pfile);
+     }
+   /* For #include_next, skip in the search path
+    * past the dir in which the containing file was found.  */
+   if (skip_dirs)
+     {
+       cpp_buffer         *fp;
+
+       for (fp = CPP_BUFFER(pfile); fp; fp = CPP_PREV_BUFFER(fp))
+          if (fp->fname)
+            {
+               /* fp->dir is null if the containing file was specified with
+                * an absolute file name.  In that case, don't skip anything.  */
+               if (fp->dir == SELF_DIR_DUMMY)
+                  search_start = CPP_OPTIONS(pfile)->include;
+               else if (fp->dir)
+                  search_start = fp->dir->next;
+               break;
+            }
+     }
+   CPP_SET_WRITTEN(pfile, old_written);
+
+   flen = fend - fbeg;
+
+   if (flen == 0)
+     {
+       cpp_error(pfile, "empty file name in `#%s'", keyword->name);
+       return 0;
+     }
+   /* Allocate this permanently, because it gets stored in the definitions
+    * of macros.  */
+   fname = (char *)xmalloc(pfile->max_include_len + flen + 4);
+   /* + 2 above for slash and terminating null.  */
+   /* + 2 added for '.h' on VMS (to support '#include filename') */
+
+   /* If specified file name is absolute, just open it.  */
+
+#ifndef __EMX__
+   if (*fbeg == '/')
+#else
+   if (_fnisabs(fbeg))
+#endif
+     {
+       strncpy(fname, (const char *)fbeg, flen);
+       fname[flen] = 0;
+       if (redundant_include_p(pfile, fname))
+          return 0;
+       if (importing)
+          f = lookup_import(pfile, fname, NULL);
+       else
+          f = open_include_file(pfile, fname, NULL);
+       if (f == -2)
+          return 0;            /* Already included this file */
+     }
+   else
+     {
+       /* Search directory path, trying to open the file.
+        * Copy each filename tried into FNAME.  */
+
+       for (searchptr = search_start; searchptr; searchptr = searchptr->next)
+         {
+            if (searchptr->fname)
+              {
+                 /* The empty string in a search path is ignored.
+                  * This makes it possible to turn off entirely
+                  * a standard piece of the list.  */
+                 if (searchptr->fname[0] == 0)
+                    continue;
+                 strcpy(fname, searchptr->fname);
+                 strcat(fname, "/");
+                 fname[strlen(fname) + flen] = 0;
+              }
+            else
+              {
+                 fname[0] = 0;
+              }
+            strncat(fname, (const char *)fbeg, flen);
+#ifdef VMS
+            /* Change this 1/2 Unix 1/2 VMS file specification into a
+             * full VMS file specification */
+            if (searchptr->fname && (searchptr->fname[0] != 0))
+              {
+                 /* Fix up the filename */
+                 hack_vms_include_specification(fname);
+              }
+            else
+              {
+                 /* This is a normal VMS filespec, so use it unchanged.  */
+                 strncpy(fname, fbeg, flen);
+                 fname[flen] = 0;
+                 /* if it's '#include filename', add the missing .h */
+                 if (!strchr(fname, '.'))
+                   {
+                      strcat(fname, ".h");
+                   }
+              }
+#endif /* VMS */
+            /* ??? There are currently 3 separate mechanisms for avoiding processing
+             * of redundant include files: #import, #pragma once, and
+             * redundant_include_p.  It would be nice if they were unified.  */
+            if (redundant_include_p(pfile, fname))
+               return 0;
+            if (importing)
+               f = lookup_import(pfile, fname, searchptr);
+            else
+               f = open_include_file(pfile, fname, searchptr);
+            if (f == -2)
+               return 0;       /* Already included this file */
+#ifdef EACCES
+            else if (f == -1 && errno == EACCES)
+               cpp_warning(pfile, "Header file %s exists, but is not readable",
+                           fname);
+#endif
+            if (f >= 0)
+               break;
+         }
+     }
+
+   if (f < 0)
+     {
+       /* A file that was not found.  */
+       strncpy(fname, (const char *)fbeg, flen);
+       fname[flen] = 0;
+       /* If generating dependencies and -MG was specified, we assume missing
+        * files are leaf files, living in the same directory as the source file
+        * or other similar place; these missing files may be generated from
+        * other files and may not exist yet (eg: y.tab.h).  */
+
+       if (CPP_OPTIONS(pfile)->print_deps_missing_files
+           && CPP_PRINT_DEPS(pfile)
+           > (angle_brackets || (pfile->system_include_depth > 0)))
+         {
+            /* If it was requested as a system header file,
+             * then assume it belongs in the first place to look for such.  */
+            if (angle_brackets)
+              {
+                 for (searchptr = search_start; searchptr;
+                      searchptr = searchptr->next)
+                   {
+                      if (searchptr->fname)
+                        {
+                           char               *p;
+
+                           if (searchptr->fname[0] == 0)
+                              continue;
+                           p = (char *)alloca(strlen(searchptr->fname)
+                                              + strlen(fname) + 2);
+                           strcpy(p, searchptr->fname);
+                           strcat(p, "/");
+                           strcat(p, fname);
+                           deps_output(pfile, p, ' ');
+                           break;
+                        }
+                   }
+              }
+            else
+              {
+                 /* Otherwise, omit the directory, as if the file existed
+                  * in the directory with the source.  */
+                 deps_output(pfile, fname, ' ');
+              }
+         }
+       /* If -M was specified, and this header file won't be added to the
+        * dependency list, then don't count this as an error, because we can
+        * still produce correct output.  Otherwise, we can't produce correct
+        * output, because there may be dependencies we need inside the missing
+        * file, and we don't know what directory this missing file exists in. */
+       else if (CPP_PRINT_DEPS(pfile)
+                && (CPP_PRINT_DEPS(pfile)
+                    <= (angle_brackets || (pfile->system_include_depth > 0))))
+          cpp_warning(pfile, "No include path in which to find %s", fname);
+       else if (search_start)
+          cpp_error_from_errno(pfile, fname);
+       else
+          cpp_error(pfile, "No include path in which to find %s", fname);
+     }
+   else
+     {
+       /* Check to see if this include file is a once-only include file.
+        * If so, give up.  */
+
+       file_name_list     *ptr;
+
+       for (ptr = pfile->dont_repeat_files; ptr; ptr = ptr->next)
+         {
+            if (!strcmp(ptr->fname, fname))
+              {
+                 close(f);
+                 return 0;     /* This file was once'd. */
+              }
+         }
+
+       for (ptr = pfile->all_include_files; ptr; ptr = ptr->next)
+         {
+            if (!strcmp(ptr->fname, fname))
+               break;          /* This file was included before. */
+         }
+
+       if (!ptr)
+         {
+            /* This is the first time for this file.  */
+            /* Add it to list of files included.  */
+
+            ptr = (file_name_list *) xmalloc(sizeof(file_name_list));
+
+            ptr->control_macro = 0;
+            ptr->c_system_include_path = 0;
+            ptr->next = pfile->all_include_files;
+            pfile->all_include_files = ptr;
+            ptr->fname = savestring(fname);
+            ptr->got_name_map = 0;
+
+            /* For -M, add this file to the dependencies.  */
+            if (CPP_PRINT_DEPS(pfile)
+                > (angle_brackets || (pfile->system_include_depth > 0)))
+               deps_output(pfile, fname, ' ');
+         }
+       /* Handle -H option.  */
+       if (CPP_OPTIONS(pfile)->print_include_names)
+         {
+            cpp_buffer         *buf = CPP_BUFFER(pfile);
+
+            while ((buf = CPP_PREV_BUFFER(buf)))
+               putc('.', stderr);
+            fprintf(stderr, "%s\n", fname);
+         }
+       if (angle_brackets)
+          pfile->system_include_depth++;
+
+       /* Actually process the file.  */
+
+       /* Record file on "seen" list for #import. */
+       add_import(pfile, f, fname);
+
+       /* Actually process the file */
+       cpp_push_buffer(pfile, NULL, 0);
+       if (finclude(pfile, f, fname, is_system_include(pfile, fname),
+                    searchptr != dsp ? searchptr : SELF_DIR_DUMMY))
+         {
+            output_line_command(pfile, 0, enter_file);
+            pfile->only_seen_white = 2;
+         }
+       if (angle_brackets)
+          pfile->system_include_depth--;
+     }
+   return 0;
+}
+
+/* Return nonzero if there is no need to include file NAME
+ * because it has already been included and it contains a conditional
+ * to make a repeated include do nothing.  */
+
+static int
+redundant_include_p(cpp_reader * pfile, char *name)
+{
+   file_name_list     *l = pfile->all_include_files;
+
+   for (; l; l = l->next)
+      if (!strcmp(name, l->fname)
+         && l->control_macro
+         && cpp_lookup((const char *)l->control_macro, -1, -1))
+        return 1;
+   return 0;
+}
+
+/* Return nonzero if the given FILENAME is an absolute pathname which
+ * designates a file within one of the known "system" include file
+ * directories.  We assume here that if the given FILENAME looks like
+ * it is the name of a file which resides either directly in a "system"
+ * include file directory, or within any subdirectory thereof, then the
+ * given file must be a "system" include file.  This function tells us
+ * if we should suppress pedantic errors/warnings for the given FILENAME.
+ * 
+ * The value is 2 if the file is a C-language system header file
+ * for which C++ should (on most systems) assume `extern "C"'.  */
+
+static int
+is_system_include(cpp_reader * pfile, char *filename)
+{
+   file_name_list     *searchptr;
+
+   for (searchptr = CPP_OPTIONS(pfile)->first_system_include; searchptr;
+       searchptr = searchptr->next)
+      if (searchptr->fname)
+       {
+          char               *sys_dir = searchptr->fname;
+          unsigned            length = strlen(sys_dir);
+
+          if (!strncmp(sys_dir, filename, length) && filename[length] == '/')
+            {
+               if (searchptr->c_system_include_path)
+                  return 2;
+               else
+                  return 1;
+            }
+       }
+   return 0;
+}
+
+/*
+ * Install a name in the assertion hash table.
+ *
+ * If LEN is >= 0, it is the length of the name.
+ * Otherwise, compute the length by scanning the entire name.
+ *
+ * If HASH is >= 0, it is the precomputed hash code.
+ * Otherwise, compute the hash code.
+ */
+static ASSERTION_HASHNODE *
+assertion_install(cpp_reader * pfile, const char *name, int len, int hash)
+{
+   ASSERTION_HASHNODE *hp;
+   int                 i, bucket;
+
+   i = sizeof(ASSERTION_HASHNODE) + len + 1;
+   hp = (ASSERTION_HASHNODE *) xmalloc(i);
+   bucket = hash;
+   hp->bucket_hdr = &pfile->assertion_hashtab[bucket];
+   hp->next = pfile->assertion_hashtab[bucket];
+   pfile->assertion_hashtab[bucket] = hp;
+   hp->prev = NULL;
+   if (hp->next)
+      hp->next->prev = hp;
+   hp->length = len;
+   hp->value = 0;
+   hp->name = ((char *)hp) + sizeof(ASSERTION_HASHNODE);
+   memcpy(hp->name, name, len);
+   hp->name[len] = 0;
+   return hp;
+}
+/*
+ * find the most recent hash node for name name (ending with first
+ * non-identifier char) installed by install
+ *
+ * If LEN is >= 0, it is the length of the name.
+ * Otherwise, compute the length by scanning the entire name.
+ *
+ * If HASH is >= 0, it is the precomputed hash code.
+ * Otherwise, compute the hash code.
+ */
+
+static ASSERTION_HASHNODE *
+assertion_lookup(cpp_reader * pfile, const char *name, int len, int hash)
+{
+   ASSERTION_HASHNODE *bucket;
+
+   bucket = pfile->assertion_hashtab[hash];
+   while (bucket)
+     {
+       if (bucket->length == len && strncmp(bucket->name, name, len) == 0)
+          return bucket;
+       bucket = bucket->next;
+     }
+   return NULL;
+}
+
+static void
+delete_assertion(ASSERTION_HASHNODE * hp)
+{
+   struct tokenlist_list *tail;
+
+   if (hp->prev)
+      hp->prev->next = hp->next;
+   if (hp->next)
+      hp->next->prev = hp->prev;
+
+   for (tail = hp->value; tail;)
+     {
+       struct tokenlist_list *next = tail->next;
+
+       free_token_list(tail->tokens);
+       free(tail);
+       tail = next;
+     }
+
+   /* make sure that the bucket chain header that
+    * the deleted guy was on points to the right thing afterwards. */
+   if (hp == *hp->bucket_hdr)
+      *hp->bucket_hdr = hp->next;
+
+   free(hp);
+}
+
+/* Convert a character string literal into a nul-terminated string.
+ * The input string is [IN ... LIMIT).
+ * The result is placed in RESULT.  RESULT can be the same as IN.
+ * The value returned in the end of the string written to RESULT,
+ * or NULL on error.  */
+
+static char        *
+convert_string(cpp_reader * pfile, char *result, char *in, char *limit,
+              int handle_escapes)
+{
+   unsigned char       c;
+
+   c = *in++;
+   if (c != '\"')
+      return NULL;
+   while (in < limit)
+     {
+       c = *in++;
+
+       switch (c)
+         {
+         case '\0':
+            return NULL;
+         case '\"':
+            limit = in;
+            break;
+         case '\\':
+            if (handle_escapes)
+              {
+                 char               *bpc = in;
+                 int                 i =
+                    (unsigned char)cpp_parse_escape(pfile, &bpc);
+
+                 in = bpc;
+                 if (i >= 0)
+                    *result++ = (unsigned char)c;
+                 break;
+              }
+            /* else fall through */
+         default:
+            *result++ = c;
+         }
+     }
+   *result = 0;
+   return result;
+}
+
+/*
+ * interpret #line command.  Remembers previously seen fnames
+ * in its very own hash table.
+ */
+#define FNAME_HASHSIZE 37
+
+static int
+do_line(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+       unsigned char *unused1 EINA_UNUSED, unsigned char *unused2 EINA_UNUSED)
+{
+   cpp_buffer         *ip = CPP_BUFFER(pfile);
+   int                 new_lineno;
+   long                old_written = CPP_WRITTEN(pfile);
+   enum file_change_code file_change = same_file;
+   enum cpp_token      token;
+
+   token = get_directive_token(pfile);
+
+   if (token != CPP_NUMBER || !isdigit(pfile->token_buffer[old_written]))
+     {
+       cpp_error(pfile, "invalid format `#line' command");
+       goto bad_line_directive;
+     }
+   /* The Newline at the end of this line remains to be processed.
+    * To put the next line at the specified line number,
+    * we must store a line number now that is one less.  */
+   new_lineno = atoi((char *)(pfile->token_buffer + old_written)) - 1;
+   CPP_SET_WRITTEN(pfile, old_written);
+
+   /* NEW_LINENO is one less than the actual line number here.  */
+   if (CPP_PEDANTIC(pfile) && new_lineno < 0)
+      cpp_pedwarn(pfile, "line number out of range in `#line' command");
+
+   token = get_directive_token(pfile);
+
+   if (token == CPP_STRING)
+     {
+       char               *fname = (char *)pfile->token_buffer + old_written;
+       char               *end_name;
+       static HASHNODE    *fname_table[FNAME_HASHSIZE];
+       HASHNODE           *hp, **hash_bucket;
+       unsigned char      *p;
+       long                num_start;
+       int                 fname_length;
+
+       /* Turn the file name, which is a character string literal,
+        * into a null-terminated string.  Do this in place.  */
+       end_name =
+          convert_string(pfile, fname, fname, (char *)CPP_PWRITTEN(pfile), 1);
+       if (!end_name)
+         {
+            cpp_error(pfile, "invalid format `#line' command");
+            goto bad_line_directive;
+         }
+       fname_length = end_name - fname;
+
+       num_start = CPP_WRITTEN(pfile);
+       token = get_directive_token(pfile);
+       if (token != CPP_VSPACE && token != CPP_EOF && token != CPP_POP)
+         {
+            p = pfile->token_buffer + num_start;
+            if (CPP_PEDANTIC(pfile))
+               cpp_pedwarn(pfile, "garbage at end of `#line' command");
+
+            if (token != CPP_NUMBER || *p < '0' || *p > '4' || p[1] != '\0')
+              {
+                 cpp_error(pfile, "invalid format `#line' command");
+                 goto bad_line_directive;
+              }
+            if (*p == '1')
+               file_change = enter_file;
+            else if (*p == 2)
+               file_change = leave_file;
+            else if (*p == 3)
+               ip->system_header_p = 1;
+            else               /* if (*p == 4) */
+               ip->system_header_p = 2;
+
+            CPP_SET_WRITTEN(pfile, num_start);
+            token = get_directive_token(pfile);
+            p = pfile->token_buffer + num_start;
+            if (token == CPP_NUMBER && p[1] == '\0'
+                && (*p == '3' || *p == '4'))
+              {
+                 ip->system_header_p = *p == 3 ? 1 : 2;
+                 token = get_directive_token(pfile);
+              }
+            if (token != CPP_VSPACE)
+              {
+                 cpp_error(pfile, "invalid format `#line' command");
+                 goto bad_line_directive;
+              }
+         }
+       hash_bucket = &fname_table[hashf(fname, fname_length, FNAME_HASHSIZE)];
+       for (hp = *hash_bucket; hp; hp = hp->next)
+          if (hp->length == fname_length &&
+              strncmp(hp->value.cpval, fname, fname_length) == 0)
+            {
+               ip->nominal_fname = hp->value.cpval;
+               break;
+            }
+       if (!hp)
+         {
+            /* Didn't find it; cons up a new one.  */
+            hp = (HASHNODE *) xcalloc(1, sizeof(HASHNODE) + fname_length + 1);
+            hp->next = *hash_bucket;
+            *hash_bucket = hp;
+
+            hp->length = fname_length;
+            ip->nominal_fname = hp->value.cpval =
+               ((char *)hp) + sizeof(HASHNODE);
+            memcpy(hp->value.cpval, fname, fname_length);
+         }
+     }
+   else if (token != CPP_VSPACE && token != CPP_EOF)
+     {
+       cpp_error(pfile, "invalid format `#line' command");
+       goto bad_line_directive;
+     }
+   ip->lineno = new_lineno;
+ bad_line_directive:
+   skip_rest_of_line(pfile);
+   CPP_SET_WRITTEN(pfile, old_written);
+   output_line_command(pfile, 0, file_change);
+   return 0;
+}
+
+/*
+ * remove the definition of a symbol from the symbol table.
+ * according to un*x /lib/cpp, it is not an error to undef
+ * something that has no definitions, so it isn't one here either.
+ */
+
+static int
+do_undef(cpp_reader * pfile, struct directive *keyword, unsigned char *buf,
+        unsigned char *limit)
+{
+   int                 sym_length;
+   HASHNODE           *hp;
+   unsigned char      *orig_buf = buf;
+
+   SKIP_WHITE_SPACE(buf);
+   sym_length = check_macro_name(pfile, buf, "macro");
+
+   while ((hp = cpp_lookup((const char *)buf, sym_length, -1)))
+     {
+       /* If we are generating additional info for debugging (with -g) we
+        * need to pass through all effective #undef commands.  */
+       if (CPP_OPTIONS(pfile)->debug_output && keyword)
+          pass_thru_directive((char *)orig_buf, (char *)limit, pfile, keyword);
+       if (hp->type != T_MACRO)
+          cpp_warning(pfile, "undefining `%s'", hp->name);
+       delete_macro(hp);
+     }
+
+   if (CPP_PEDANTIC(pfile))
+     {
+       buf += sym_length;
+       SKIP_WHITE_SPACE(buf);
+       if (buf != limit)
+          cpp_pedwarn(pfile, "garbage after `#undef' directive");
+     }
+   return 0;
+}
+
+/*
+ * Report an error detected by the program we are processing.
+ * Use the text of the line in the error message.
+ * (We use error because it prints the filename & line#.)
+ */
+
+static int
+do_error(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+        unsigned char *buf, unsigned char *limit)
+{
+   int                 length = limit - buf;
+   unsigned char      *copy = (unsigned char *)xmalloc(length + 1);
+
+   memcpy(copy, buf, length);
+   copy[length] = 0;
+   SKIP_WHITE_SPACE(copy);
+   cpp_error(pfile, "#error %s", copy);
+   return 0;
+}
+
+/*
+ * Report a warning detected by the program we are processing.
+ * Use the text of the line in the warning message, then continue.
+ * (We use error because it prints the filename & line#.)
+ */
+
+static int
+do_warning(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+          unsigned char *buf, unsigned char *limit)
+{
+   int                 length = limit - buf;
+   unsigned char      *copy = (unsigned char *)xmalloc(length + 1);
+
+   memcpy(copy, buf, length);
+   copy[length] = 0;
+   SKIP_WHITE_SPACE(copy);
+   cpp_warning(pfile, "#warning %s", copy);
+   return 0;
+}
+
+/* Remember the name of the current file being read from so that we can
+ * avoid ever including it again.  */
+
+static int
+do_once(cpp_reader * pfile)
+{
+   cpp_buffer         *ip = NULL;
+   file_name_list     *new_;
+
+   for (ip = CPP_BUFFER(pfile);; ip = CPP_PREV_BUFFER(ip))
+     {
+       if (!ip)
+          return 0;
+       if (ip->fname)
+          break;
+     }
+
+   new_ = (file_name_list *) xmalloc(sizeof(file_name_list));
+
+   new_->next = pfile->dont_repeat_files;
+   pfile->dont_repeat_files = new_;
+   new_->fname = savestring(ip->fname);
+   new_->control_macro = 0;
+   new_->got_name_map = 0;
+   new_->c_system_include_path = 0;
+
+   return 0;
+}
+
+/* #ident has already been copied to the output file, so just ignore it.  */
+
+static int
+do_ident(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+        unsigned char *buf EINA_UNUSED, unsigned char *limit EINA_UNUSED)
+{
+/*  long old_written = CPP_WRITTEN (pfile); */
+
+   /* Allow #ident in system headers, since that's not user's fault.  */
+   if (CPP_PEDANTIC(pfile) && !CPP_BUFFER(pfile)->system_header_p)
+      cpp_pedwarn(pfile, "ANSI C does not allow `#ident'");
+
+   /* Leave rest of line to be read by later calls to cpp_get_token. */
+
+   return 0;
+}
+
+/* #pragma and its argument line have already been copied to the output file.
+ * Just check for some recognized pragmas that need validation here.  */
+
+static int
+do_pragma(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+         unsigned char *buf, unsigned char *limit EINA_UNUSED)
+{
+   while (*buf == ' ' || *buf == '\t')
+      buf++;
+
+   if (!strncmp((const char *)buf, "once", 4))
+     {
+       /* Allow #pragma once in system headers, since that's not the user's
+        * fault.  */
+       if (!CPP_BUFFER(pfile)->system_header_p)
+          cpp_warning(pfile, "`#pragma once' is obsolete");
+       do_once(pfile);
+     }
+   if (!strncmp((const char *)buf, "implementation", 14))
+     {
+       /* Be quiet about `#pragma implementation' for a file only if it hasn't
+        * been included yet.  */
+       file_name_list     *ptr;
+       char               *p = (char *)buf + 14, *fname, *inc_fname;
+       int                 fname_len;
+
+       SKIP_WHITE_SPACE(p);
+       if (*p == '\n' || *p != '\"')
+          return 0;
+
+       fname = p + 1;
+       p = strchr(fname, '\"');
+       fname_len = (p) ? (int)(p - fname) : (int)strlen(fname);
+
+       for (ptr = pfile->all_include_files; ptr; ptr = ptr->next)
+         {
+            inc_fname = strrchr(ptr->fname, '/');
+            inc_fname = inc_fname ? inc_fname + 1 : (char *)ptr->fname;
+            if (inc_fname && !strncmp(inc_fname, fname, fname_len))
+               cpp_warning(pfile,
+                           "`#pragma implementation' for `%s' appears after file is included",
+                           fname);
+         }
+     }
+   return 0;
+}
+
+/* Just ignore #sccs, on systems where we define it at all.  */
+
+/*
+ * handle #if command by
+ *   1) inserting special `defined' keyword into the hash table
+ *      that gets turned into 0 or 1 by special_symbol (thus,
+ *      if the luser has a symbol called `defined' already, it won't
+ *      work inside the #if command)
+ *   2) rescan the input into a temporary output buffer
+ *   3) pass the output buffer to the yacc parser and collect a value
+ *   4) clean up the mess left from steps 1 and 2.
+ *   5) call conditional_skip to skip til the next #endif (etc.),
+ *      or not, depending on the value from step 3.
+ */
+
+static int
+do_if(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+      unsigned char *buf, unsigned char *limit)
+{
+   HOST_WIDE_INT       value = eval_if_expression(pfile, buf, limit - buf);
+
+   conditional_skip(pfile, value == 0, T_IF, NULL);
+   return 0;
+}
+
+/*
+ * handle a #elif directive by not changing  if_stack  either.
+ * see the comment above do_else.
+ */
+
+static int
+do_elif(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+       unsigned char *buf, unsigned char *limit)
+{
+   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
+     {
+       cpp_error(pfile, "`#elif' not within a conditional");
+       return 0;
+     }
+   else
+     {
+       if (pfile->if_stack->type != T_IF && pfile->if_stack->type != T_ELIF)
+         {
+            cpp_error(pfile, "`#elif' after `#else'");
+            if (pfile->if_stack->fname
+                && CPP_BUFFER(pfile)->fname
+                && strcmp(pfile->if_stack->fname,
+                          CPP_BUFFER(pfile)->nominal_fname) != 0)
+               fprintf(stderr, ", file %s", pfile->if_stack->fname);
+            fprintf(stderr, ")\n");
+         }
+       pfile->if_stack->type = T_ELIF;
+     }
+
+   if (pfile->if_stack->if_succeeded)
+      skip_if_group(pfile, 0);
+   else
+     {
+       HOST_WIDE_INT       value = eval_if_expression(pfile, buf, limit - buf);
+
+       if (value == 0)
+          skip_if_group(pfile, 0);
+       else
+         {
+            ++pfile->if_stack->if_succeeded;   /* continue processing input */
+            output_line_command(pfile, 1, same_file);
+         }
+     }
+   return 0;
+}
+
+/*
+ * evaluate a #if expression in BUF, of length LENGTH,
+ * then parse the result as a C expression and return the value as an int.
+ */
+static              HOST_WIDE_INT
+eval_if_expression(cpp_reader * pfile, unsigned char *buf EINA_UNUSED,
+                  int length EINA_UNUSED)
+{
+   HASHNODE           *save_defined;
+   HOST_WIDE_INT       value;
+   long                old_written = CPP_WRITTEN(pfile);
+
+   save_defined = install("defined", -1, T_SPEC_DEFINED, 0, 0, -1);
+   pfile->pcp_inside_if = 1;
+
+   value = cpp_parse_expr(pfile);
+   pfile->pcp_inside_if = 0;
+   delete_macro(save_defined); /* clean up special symbol */
+
+   CPP_SET_WRITTEN(pfile, old_written);        /* Pop */
+
+   return value;
+}
+
+/*
+ * routine to handle ifdef/ifndef.  Try to look up the symbol,
+ * then do or don't skip to the #endif/#else/#elif depending
+ * on what directive is actually being processed.
+ */
+
+static int
+do_xifdef(cpp_reader * pfile, struct directive *keyword,
+         unsigned char *unused1 EINA_UNUSED, unsigned char *unused2 EINA_UNUSED)
+{
+   int                 skip;
+   cpp_buffer         *ip = CPP_BUFFER(pfile);
+   char               *ident;
+   int                 ident_length;
+   enum cpp_token      token;
+   int                 start_of_file = 0;
+   unsigned char      *control_macro = 0;
+   int                 old_written = CPP_WRITTEN(pfile);
+   int                 c;
+
+   /* Detect a #ifndef at start of file (not counting comments).  */
+   if (ip->fname != 0 && keyword->type == T_IFNDEF)
+      start_of_file = pfile->only_seen_white == 2;
+
+   pfile->no_macro_expand++;
+   token = get_directive_token(pfile);
+   pfile->no_macro_expand--;
+
+   ident = (char *)pfile->token_buffer + old_written;
+   ident_length = CPP_WRITTEN(pfile) - old_written;
+   CPP_SET_WRITTEN(pfile, old_written);        /* Pop */
+
+   if (token == CPP_VSPACE || token == CPP_POP || token == CPP_EOF)
+     {
+       skip = (keyword->type == T_IFDEF);
+        cpp_pedwarn(pfile, "`#%s' with no argument", keyword->name);
+     }
+   else if (token == CPP_NAME)
+     {
+       HASHNODE           *hp = cpp_lookup(ident, ident_length, -1);
+
+       skip = (!hp) ^ (keyword->type == T_IFNDEF);
+       if (start_of_file && !skip)
+         {
+            control_macro = (unsigned char *)xmalloc(ident_length + 1);
+            memcpy(control_macro, ident, ident_length + 1);
+         }
+     }
+   else
+     {
+       skip = (keyword->type == T_IFDEF);
+        cpp_error(pfile, "`#%s' with invalid argument", keyword->name);
+     }
+
+   cpp_skip_hspace(pfile);
+   c = PEEKC();
+   if (c != EOF && c != '\n')
+      cpp_pedwarn(pfile, "garbage at end of `#%s' argument",
+                  keyword->name);
+   skip_rest_of_line(pfile);
+
+   conditional_skip(pfile, skip, T_IF, control_macro);
+   return 0;
+}
+
+/* Push TYPE on stack; then, if SKIP is nonzero, skip ahead.
+ * If this is a #ifndef starting at the beginning of a file,
+ * CONTROL_MACRO is the macro name tested by the #ifndef.
+ * Otherwise, CONTROL_MACRO is 0.  */
+
+static void
+conditional_skip(cpp_reader * pfile, int skip, enum node_type type,
+                unsigned char *control_macro)
+{
+   IF_STACK_FRAME     *temp;
+
+   temp = (IF_STACK_FRAME *) xcalloc(1, sizeof(IF_STACK_FRAME));
+   temp->fname = CPP_BUFFER(pfile)->nominal_fname;
+   temp->next = pfile->if_stack;
+   temp->control_macro = control_macro;
+   pfile->if_stack = temp;
+
+   pfile->if_stack->type = type;
+
+   if (skip != 0)
+     {
+       skip_if_group(pfile, 0);
+       return;
+     }
+   else
+     {
+       ++pfile->if_stack->if_succeeded;
+       output_line_command(pfile, 1, same_file);
+     }
+}
+
+/*
+ * skip to #endif, #else, or #elif.  adjust line numbers, etc.
+ * leaves input ptr at the sharp sign found.
+ * If ANY is nonzero, return at next directive of any sort.
+ */
+
+static void
+skip_if_group(cpp_reader * pfile, int any)
+{
+   int                 c;
+   struct directive   *kt;
+   IF_STACK_FRAME     *save_if_stack = pfile->if_stack;        /* don't pop past here */
+
+   int                 ident_length;
+   char               *ident;
+   struct parse_marker line_start_mark;
+
+   parse_set_mark(&line_start_mark, pfile);
+
+   if (CPP_OPTIONS(pfile)->output_conditionals)
+     {
+       static char         failed[] = "#failed\n";
+
+       CPP_PUTS(pfile, failed, sizeof(failed) - 1);
+       pfile->lineno++;
+       output_line_command(pfile, 1, same_file);
+     }
+ beg_of_line:
+   if (CPP_OPTIONS(pfile)->output_conditionals)
+     {
+       cpp_buffer         *pbuf = CPP_BUFFER(pfile);
+       unsigned char      *start_line = pbuf->buf + line_start_mark.position;
+
+       CPP_PUTS(pfile, start_line, pbuf->cur - start_line);
+     }
+   parse_move_mark(&line_start_mark, pfile);
+   cpp_skip_hspace(pfile);
+   c = GETC();
+   if (c == '#')
+     {
+       int                 old_written = CPP_WRITTEN(pfile);
+
+       cpp_skip_hspace(pfile);
+
+       parse_name(pfile, GETC());
+       ident_length = CPP_WRITTEN(pfile) - old_written;
+       ident = (char *)pfile->token_buffer + old_written;
+       pfile->limit = (unsigned char *)ident;
+
+       for (kt = directive_table; kt->length >= 0; kt++)
+         {
+            IF_STACK_FRAME     *temp;
+
+            if (ident_length == kt->length
+                && strncmp(ident, kt->name, kt->length) == 0)
+              {
+                 /* If we are asked to return on next directive, do so now.  */
+                 if (any)
+                    goto done;
+
+                 switch (kt->type)
+                   {
+                   case T_IF:
+                   case T_IFDEF:
+                   case T_IFNDEF:
+                      temp
+                         =
+                         (IF_STACK_FRAME *) xcalloc(1, sizeof(IF_STACK_FRAME));
+                      temp->next = pfile->if_stack;
+                      pfile->if_stack = temp;
+                      temp->fname = CPP_BUFFER(pfile)->nominal_fname;
+                      temp->type = kt->type;
+                      break;
+                   case T_ELSE:
+                   case T_ENDIF:
+                      if (CPP_PEDANTIC(pfile)
+                          && pfile->if_stack != save_if_stack)
+                         validate_else(pfile,
+                                       kt->type ==
+                                       T_ELSE ? "#else" : "#endif");
+                   case T_ELIF:
+                      if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
+                        {
+                           cpp_error(pfile,
+                                     "`#%s' not within a conditional",
+                                     kt->name);
+                           break;
+                        }
+                      else if (pfile->if_stack == save_if_stack)
+                         goto done;    /* found what we came for */
+
+                      if (kt->type != T_ENDIF)
+                        {
+                           if (pfile->if_stack->type == T_ELSE)
+                              cpp_error(pfile,
+                                        "`#else' or `#elif' after `#else'");
+                           pfile->if_stack->type = kt->type;
+                           break;
+                        }
+                      temp = pfile->if_stack;
+                      pfile->if_stack = temp->next;
+                      free(temp);
+                      break;
+                   default:;
+                   }
+                 break;
+              }
+            /* Don't let erroneous code go by.  */
+            if (kt->length < 0 && !CPP_OPTIONS(pfile)->lang_asm
+                && CPP_PEDANTIC(pfile))
+               cpp_pedwarn(pfile, "invalid preprocessor directive name");
+         }
+       c = GETC();
+     }
+   /* We're in the middle of a line.  Skip the rest of it. */
+   for (;;)
+     {
+       switch (c)
+         {
+            long                old;
+
+         case EOF:
+            goto done;
+         case '/':             /* possible comment */
+            c = skip_comment(pfile, NULL);
+            if (c == EOF)
+               goto done;
+            break;
+         case '\"':
+         case '\'':
+            FORWARD(-1);
+            old = CPP_WRITTEN(pfile);
+            cpp_get_token(pfile);
+            CPP_SET_WRITTEN(pfile, old);
+            break;
+         case '\\':
+            /* Char after backslash loses its special meaning.  */
+            if (PEEKC() == '\n')
+               FORWARD(1);
+            break;
+         case '\n':
+            goto beg_of_line;
+            break;
+         }
+       c = GETC();
+     }
+ done:
+   if (CPP_OPTIONS(pfile)->output_conditionals)
+     {
+       static char         end_failed[] = "#endfailed\n";
+
+       CPP_PUTS(pfile, end_failed, sizeof(end_failed) - 1);
+       pfile->lineno++;
+     }
+   pfile->only_seen_white = 1;
+   parse_goto_mark(&line_start_mark, pfile);
+   parse_clear_mark(&line_start_mark);
+}
+
+/*
+ * handle a #else directive.  Do this by just continuing processing
+ * without changing  if_stack ;  this is so that the error message
+ * for missing #endif's etc. will point to the original #if.  It
+ * is possible that something different would be better.
+ */
+
+static int
+do_else(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+       unsigned char *buf EINA_UNUSED, unsigned char *limit EINA_UNUSED)
+{
+   cpp_buffer         *ip = CPP_BUFFER(pfile);
+
+   if (CPP_PEDANTIC(pfile))
+      validate_else(pfile, "#else");
+   skip_rest_of_line(pfile);
+
+   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
+     {
+       cpp_error(pfile, "`#else' not within a conditional");
+       return 0;
+     }
+   else
+     {
+       /* #ifndef can't have its special treatment for containing the whole file
+        * if it has a #else clause.  */
+       pfile->if_stack->control_macro = 0;
+
+       if (pfile->if_stack->type != T_IF && pfile->if_stack->type != T_ELIF)
+         {
+            cpp_error(pfile, "`#else' after `#else'");
+            fprintf(stderr, " (matches line %d", pfile->if_stack->lineno);
+            if (strcmp(pfile->if_stack->fname, ip->nominal_fname) != 0)
+               fprintf(stderr, ", file %s", pfile->if_stack->fname);
+            fprintf(stderr, ")\n");
+         }
+       pfile->if_stack->type = T_ELSE;
+     }
+
+   if (pfile->if_stack->if_succeeded)
+      skip_if_group(pfile, 0);
+   else
+     {
+       ++pfile->if_stack->if_succeeded;        /* continue processing input */
+       output_line_command(pfile, 1, same_file);
+     }
+   return 0;
+}
+
+/*
+ * unstack after #endif command
+ */
+
+static int
+do_endif(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+        unsigned char *buf EINA_UNUSED, unsigned char *limit EINA_UNUSED)
+{
+   if (CPP_PEDANTIC(pfile))
+      validate_else(pfile, "#endif");
+   skip_rest_of_line(pfile);
+
+   if (pfile->if_stack == CPP_BUFFER(pfile)->if_stack)
+     {
+       cpp_error(pfile, "unbalanced `#endif'");
+     }
+   else
+     {
+       IF_STACK_FRAME     *temp = pfile->if_stack;
+
+       pfile->if_stack = temp->next;
+       if (temp->control_macro)
+         {
+            /* This #endif matched a #ifndef at the start of the file.
+             * See if it is at the end of the file.  */
+            struct parse_marker start_mark;
+            int                 c;
+
+            parse_set_mark(&start_mark, pfile);
+
+            for (;;)
+              {
+                 cpp_skip_hspace(pfile);
+                 c = GETC();
+                 if (c != '\n')
+                    break;
+              }
+            parse_goto_mark(&start_mark, pfile);
+            parse_clear_mark(&start_mark);
+
+            if (c == EOF)
+              {
+                 /* If we get here, this #endif ends a #ifndef
+                  * that contains all of the file (aside from whitespace).
+                  * Arrange not to include the file again
+                  * if the macro that was tested is defined.
+                  * 
+                  * Do not do this for the top-level file in a -include or any
+                  * file in a -imacros.  */
+                 {
+                    file_name_list     *ifile = pfile->all_include_files;
+
+                    for (; ifile; ifile = ifile->next)
+                      {
+                         if (!strcmp(ifile->fname, CPP_BUFFER(pfile)->fname))
+                           {
+                              ifile->control_macro = temp->control_macro;
+                              break;
+                           }
+                      }
+                 }
+              }
+         }
+       free(temp);
+       output_line_command(pfile, 1, same_file);
+     }
+   return 0;
+}
+
+/* When an #else or #endif is found while skipping failed conditional,
+ * if -pedantic was specified, this is called to warn about text after
+ * the command name.  P points to the first char after the command name.  */
+
+static void
+validate_else(cpp_reader * pfile, const char *directive)
+{
+   int                 c;
+
+   cpp_skip_hspace(pfile);
+   c = PEEKC();
+   if (c != EOF && c != '\n')
+      cpp_pedwarn(pfile,
+                 "text following `%s' violates ANSI standard", directive);
+}
+
+/* Get the next token, and add it to the text in pfile->token_buffer.
+ * Return the kind of token we got. */
+
+enum cpp_token
+cpp_get_token(cpp_reader * pfile)
+{
+   int                 c, c2, c3;
+   long                old_written = 0;
+   long                start_line = 0, start_column = 0;
+   enum cpp_token      token;
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+
+   CPP_BUFFER(pfile)->prev = CPP_BUFFER(pfile)->cur;
+ get_next:
+   c = GETC();
+   if (c == EOF)
+     {
+      handle_eof:
+       if (CPP_BUFFER(pfile)->seen_eof)
+         {
+            if (cpp_pop_buffer(pfile) != CPP_NULL_BUFFER(pfile))
+               goto get_next;
+            else
+               return CPP_EOF;
+         }
+       else
+         {
+            cpp_buffer         *next_buf = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
+
+            CPP_BUFFER(pfile)->seen_eof = 1;
+            if (CPP_BUFFER(pfile)->nominal_fname && next_buf)
+              {
+                 /* We're about to return from an #include file.
+                  * Emit #line information now (as part of the CPP_POP) result.
+                  * But the #line refers to the file we will pop to. */
+                 cpp_buffer         *cur_buffer = CPP_BUFFER(pfile);
+
+                 CPP_BUFFER(pfile) = next_buf;
+                 pfile->input_stack_listing_current = 0;
+                 output_line_command(pfile, 0, leave_file);
+                 CPP_BUFFER(pfile) = cur_buffer;
+              }
+            return CPP_POP;
+         }
+     }
+   else
+     {
+       switch (c)
+         {
+            long                newlines;
+            struct parse_marker start_mark;
+
+         case '/':
+            if (PEEKC() == '=')
+               goto op2;
+            if (opts->put_out_comments)
+               parse_set_mark(&start_mark, pfile);
+            newlines = 0;
+            cpp_buf_line_and_col(cpp_file_buffer(pfile),
+                                 &start_line, &start_column);
+            c = skip_comment(pfile, &newlines);
+            if (opts->put_out_comments && (c == '/' || c == EOF))
+               parse_clear_mark(&start_mark);
+            if (c == '/')
+               goto randomchar;
+            if (c == EOF)
+              {
+                 cpp_error_with_line(pfile, start_line, start_column,
+                                     "unterminated comment");
+                 goto handle_eof;
+              }
+            c = '/';           /* Initial letter of comment. */
+          return_comment:
+            /* Comments are equivalent to spaces.
+             * For -traditional, a comment is equivalent to nothing.  */
+            if (opts->put_out_comments)
+              {
+                 cpp_buffer         *pbuf = CPP_BUFFER(pfile);
+                 unsigned char      *start = pbuf->buf + start_mark.position;
+                 int                 len = pbuf->cur - start;
+
+                 CPP_RESERVE(pfile, 1 + len);
+                 CPP_PUTC_Q(pfile, c);
+                 CPP_PUTS_Q(pfile, start, len);
+                 pfile->lineno += newlines;
+                 parse_clear_mark(&start_mark);
+                 return CPP_COMMENT;
+              }
+            else if (newlines > 0)
+              {
+                output_line_command(pfile, 0, same_file);
+                CPP_RESERVE(pfile, 1);
+                CPP_PUTC_Q(pfile, ' ');
+                return CPP_VSPACE;
+              }
+            else
+              {
+                 CPP_RESERVE(pfile, 1);
+                 CPP_PUTC_Q(pfile, ' ');
+                 return CPP_HSPACE;
+              }
+
+         case '#':
+            if (!pfile->only_seen_white)
+               goto randomchar;
+            if (handle_directive(pfile))
+               return CPP_DIRECTIVE;
+            pfile->only_seen_white = 0;
+            return CPP_OTHER;
+
+         case '\"':
+         case '\'':
+            /* A single quoted string is treated like a double -- some
+             * programs (e.g., troff) are perverse this way */
+            cpp_buf_line_and_col(cpp_file_buffer(pfile),
+                                 &start_line, &start_column);
+            old_written = CPP_WRITTEN(pfile);
+          string:
+            CPP_PUTC(pfile, c);
+            while (1)
+              {
+                 int                 cc = GETC();
+
+                 if (cc == EOF)
+                   {
+                      if (CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
+                        {
+                           /* try harder: this string crosses a macro expansion
+                            * boundary.  This can happen naturally if -traditional.
+                            * Otherwise, only -D can make a macro with an unmatched
+                            * quote.  */
+                           cpp_buffer         *next_buf
+                              = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
+
+                           (*CPP_BUFFER(pfile)->cleanup)
+                              (CPP_BUFFER(pfile), pfile);
+                           CPP_BUFFER(pfile) = next_buf;
+                           continue;
+                        }
+                       cpp_error_with_line(pfile, start_line, start_column,
+                                           "unterminated string or character constant");
+                       if (pfile->multiline_string_line != start_line
+                           && pfile->multiline_string_line != 0)
+                          cpp_error_with_line(pfile,
+                                              pfile->multiline_string_line,
+                                              -1,
+                                              "possible real start of unterminated constant");
+                       pfile->multiline_string_line = 0;
+                      break;
+                   }
+                 CPP_PUTC(pfile, cc);
+                 switch (cc)
+                   {
+                   case '\n':
+                      /* Traditionally, end of line ends a string constant with
+                       * no error.  So exit the loop and record the new line.  */
+                      if (c == '\'')
+                        {
+                           cpp_error_with_line(pfile, start_line, start_column,
+                                               "unterminated character constant");
+                           goto while2end;
+                        }
+                      if (CPP_PEDANTIC(pfile)
+                          && pfile->multiline_string_line == 0)
+                        {
+                           cpp_pedwarn_with_line(pfile, start_line,
+                                                 start_column,
+                                                 "string constant runs past end of line");
+                        }
+                      if (pfile->multiline_string_line == 0)
+                         pfile->multiline_string_line = start_line;
+                      break;
+
+                   case '\\':
+                      cc = GETC();
+                      if (cc == '\n')
+                        {
+                           /* Backslash newline is replaced by nothing at all. */
+                           CPP_ADJUST_WRITTEN(pfile, -1);
+                           pfile->lineno++;
+                        }
+                      else
+                        {
+                           /* ANSI stupidly requires that in \\ the second \
+                            * is *not* prevented from combining with a newline.  */
+                           NEWLINE_FIX1(cc);
+                           if (cc != EOF)
+                              CPP_PUTC(pfile, cc);
+                        }
+                      break;
+
+                   case '\"':
+                   case '\'':
+                      if (cc == c)
+                         goto while2end;
+                      break;
+                   }
+              }
+          while2end:
+            pfile->lineno += count_newlines(pfile->token_buffer + old_written,
+                                            CPP_PWRITTEN(pfile));
+            pfile->only_seen_white = 0;
+            return c == '\'' ? CPP_CHAR : CPP_STRING;
+
+         case '$':
+            if (!opts->dollars_in_ident)
+               goto randomchar;
+            goto letter;
+
+         case ':':
+            if (opts->cplusplus && PEEKC() == ':')
+               goto op2;
+            goto randomchar;
+
+         case '&':
+         case '+':
+         case '|':
+            NEWLINE_FIX;
+            c2 = PEEKC();
+            if (c2 == c || c2 == '=')
+               goto op2;
+            goto randomchar;
+
+         case '*':
+         case '!':
+         case '%':
+         case '=':
+         case '^':
+            NEWLINE_FIX;
+            if (PEEKC() == '=')
+               goto op2;
+            goto randomchar;
+
+         case '-':
+            NEWLINE_FIX;
+            c2 = PEEKC();
+            if (c2 == '-' && opts->chill)
+              {
+                 /* Chill style comment */
+                 if (opts->put_out_comments)
+                    parse_set_mark(&start_mark, pfile);
+                 FORWARD(1);   /* Skip second '-'. */
+                 for (;;)
+                   {
+                      c = GETC();
+                      if (c == EOF)
+                         break;
+                      if (c == '\n')
+                        {
+                           /* Don't consider final '\n' to be part of comment. */
+                           FORWARD(-1);
+                           break;
+                        }
+                   }
+                 c = '-';
+                 goto return_comment;
+              }
+            if (c2 == '-' || c2 == '=' || c2 == '>')
+               goto op2;
+            goto randomchar;
+
+         case '<':
+            if (pfile->parsing_include_directive)
+              {
+                 for (;;)
+                   {
+                      CPP_PUTC(pfile, c);
+                      if (c == '>')
+                         break;
+                      c = GETC();
+                      NEWLINE_FIX1(c);
+                      if (c == '\n' || c == EOF)
+                        {
+                           cpp_error(pfile,
+                                     "missing '>' in `#include <FILENAME>'");
+                           break;
+                        }
+                   }
+                 return CPP_STRING;
+              }
+            /* else fall through */
+         case '>':
+            NEWLINE_FIX;
+            c2 = PEEKC();
+            if (c2 == '=')
+               goto op2;
+            if (c2 != c)
+               goto randomchar;
+            FORWARD(1);
+            CPP_RESERVE(pfile, 4);
+            CPP_PUTC(pfile, c);
+            CPP_PUTC(pfile, c2);
+            NEWLINE_FIX;
+            c3 = PEEKC();
+            if (c3 == '=')
+               CPP_PUTC_Q(pfile, GETC());
+            CPP_NUL_TERMINATE_Q(pfile);
+            pfile->only_seen_white = 0;
+            return CPP_OTHER;
+
+         case '@':
+            if (CPP_BUFFER(pfile)->has_escapes)
+              {
+                 c = GETC();
+                  // fix macro expansions starting with - losing the -
+                 if (c == '-')
+                   {
+                       CPP_PUTS(pfile, "-", 1);
+                      return CPP_OTHER;
+                   }
+                  // fix macro expansions starting with - losing the +
+                 else if (c == '+')
+                   {
+                       CPP_PUTS(pfile, "+", 1);
+                      return CPP_OTHER;
+                   }
+                  // fix macro expansions starting with - losing the .
+                 else if (c == '.')
+                   {
+                       CPP_PUTS(pfile, ".", 1);
+                      return CPP_OTHER;
+                   }
+                 else if (is_space[c])
+                   {
+                      CPP_RESERVE(pfile, 1);
+                      if (pfile->output_escapes)
+                         CPP_PUTC_Q(pfile, '@');
+                      return CPP_HSPACE;
+                   }
+              }
+            if (pfile->output_escapes)
+              {
+                 CPP_PUTS(pfile, "@@", 2);
+                 return CPP_OTHER;
+              }
+            goto randomchar;
+
+         case '.':
+            NEWLINE_FIX;
+            c2 = PEEKC();
+            if (isdigit(c2))
+              {
+                 CPP_RESERVE(pfile, 2);
+                 CPP_PUTC_Q(pfile, '.');
+                 c = GETC();
+                 goto number;
+              }
+            /* FIXME - misses the case "..\\\n." */
+            if (c2 == '.' && PEEKN(1) == '.')
+              {
+                 CPP_RESERVE(pfile, 4);
+                 CPP_PUTC_Q(pfile, '.');
+                 CPP_PUTC_Q(pfile, '.');
+                 CPP_PUTC_Q(pfile, '.');
+                 FORWARD(2);
+                 CPP_NUL_TERMINATE_Q(pfile);
+                 pfile->only_seen_white = 0;
+                 return CPP_3DOTS;
+              }
+            goto randomchar;
+
+          op2:
+            token = CPP_OTHER;
+            pfile->only_seen_white = 0;
+          op2any:
+            CPP_RESERVE(pfile, 3);
+            CPP_PUTC_Q(pfile, c);
+            CPP_PUTC_Q(pfile, GETC());
+            CPP_NUL_TERMINATE_Q(pfile);
+            return token;
+
+         case 'L':
+            NEWLINE_FIX;
+            c2 = PEEKC();
+            if ((c2 == '\'' || c2 == '\"'))
+              {
+                 CPP_PUTC(pfile, c);
+                 c = GETC();
+                 goto string;
+              }
+            goto letter;
+
+         case '0':
+         case '1':
+         case '2':
+         case '3':
+         case '4':
+         case '5':
+         case '6':
+         case '7':
+         case '8':
+         case '9':
+          number:
+            c2 = '.';
+            for (;;)
+              {
+                 CPP_RESERVE(pfile, 2);
+                 CPP_PUTC_Q(pfile, c);
+                 NEWLINE_FIX;
+                 c = PEEKC();
+                 if (c == EOF)
+                    break;
+                 if (!is_idchar[c] && c != '.'
+                     && ((c2 != 'e' && c2 != 'E') || (c != '+' && c != '-')))
+                    break;
+                 FORWARD(1);
+                 c2 = c;
+              }
+            CPP_NUL_TERMINATE_Q(pfile);
+            pfile->only_seen_white = 0;
+            return CPP_NUMBER;
+         case 'b':
+         case 'c':
+         case 'd':
+         case 'h':
+         case 'o':
+         case 'B':
+         case 'C':
+         case 'D':
+         case 'H':
+         case 'O':
+            if (opts->chill && PEEKC() == '\'')
+              {
+                 pfile->only_seen_white = 0;
+                 CPP_RESERVE(pfile, 2);
+                 CPP_PUTC_Q(pfile, c);
+                 CPP_PUTC_Q(pfile, '\'');
+                 FORWARD(1);
+                 for (;;)
+                   {
+                      c = GETC();
+                      if (c == EOF)
+                         goto chill_number_eof;
+                      if (!is_idchar[c])
+                        {
+                           if (c == '\\' && PEEKC() == '\n')
+                             {
+                                FORWARD(2);
+                                continue;
+                             }
+                           break;
+                        }
+                      CPP_PUTC(pfile, c);
+                   }
+                 if (c == '\'')
+                   {
+                      CPP_RESERVE(pfile, 2);
+                      CPP_PUTC_Q(pfile, c);
+                      CPP_NUL_TERMINATE_Q(pfile);
+                      return CPP_STRING;
+                   }
+                 else
+                   {
+                      FORWARD(-1);
+                    chill_number_eof:
+                      CPP_NUL_TERMINATE(pfile);
+                      return CPP_NUMBER;
+                   }
+              }
+            else
+               goto letter;
+         case '_':
+         case 'a':
+         case 'e':
+         case 'f':
+         case 'g':
+         case 'i':
+         case 'j':
+         case 'k':
+         case 'l':
+         case 'm':
+         case 'n':
+         case 'p':
+         case 'q':
+         case 'r':
+         case 's':
+         case 't':
+         case 'u':
+         case 'v':
+         case 'w':
+         case 'x':
+         case 'y':
+         case 'z':
+         case 'A':
+         case 'E':
+         case 'F':
+         case 'G':
+         case 'I':
+         case 'J':
+         case 'K':
+         case 'M':
+         case 'N':
+         case 'P':
+         case 'Q':
+         case 'R':
+         case 'S':
+         case 'T':
+         case 'U':
+         case 'V':
+         case 'W':
+         case 'X':
+         case 'Y':
+         case 'Z':
+          letter:
+            {
+               HASHNODE           *hp;
+               char               *ident;
+               int                 before_name_written = CPP_WRITTEN(pfile);
+               int                 ident_len;
+
+               parse_name(pfile, c);
+               pfile->only_seen_white = 0;
+               if (pfile->no_macro_expand)
+                  return CPP_NAME;
+               ident = (char *)pfile->token_buffer + before_name_written;
+               ident_len = CPP_PWRITTEN(pfile) - (unsigned char *)ident;
+               hp = cpp_lookup(ident, ident_len, -1);
+               if (!hp)
+                  return CPP_NAME;
+               if (hp->type == T_DISABLED)
+                 {
+                    if (pfile->output_escapes)
+                      {        /* Return "@-IDENT", followed by '\0'. */
+                         int                 i;
+
+                         CPP_RESERVE(pfile, 3);
+                         ident =
+                            (char *)pfile->token_buffer + before_name_written;
+                         CPP_ADJUST_WRITTEN(pfile, 2);
+                         for (i = ident_len; i >= 0; i--)
+                            ident[i + 2] = ident[i];
+                         ident[0] = '@';
+                         ident[1] = '-';
+                      }
+                    return CPP_NAME;
+                 }
+               /* If macro wants an arglist, verify that a '(' follows.
+                * first skip all whitespace, copying it to the output
+                * after the macro name.  Then, if there is no '(',
+                * decide this is not a macro call and leave things that way.  */
+               if (hp->type == T_MACRO && hp->value.defn->nargs >= 0)
+                 {
+                    struct parse_marker macro_mark;
+                    int                 is_macro_call;
+
+                    while (CPP_IS_MACRO_BUFFER(CPP_BUFFER(pfile)))
+                      {
+                         cpp_buffer         *next_buf;
+
+                         cpp_skip_hspace(pfile);
+                         if (PEEKC() != EOF)
+                            break;
+                         next_buf = CPP_PREV_BUFFER(CPP_BUFFER(pfile));
+                         (*CPP_BUFFER(pfile)->cleanup) (CPP_BUFFER(pfile),
+                                                        pfile);
+                         CPP_BUFFER(pfile) = next_buf;
+                      }
+                    parse_set_mark(&macro_mark, pfile);
+                    for (;;)
+                      {
+                         cpp_skip_hspace(pfile);
+                         c = PEEKC();
+                         is_macro_call = c == '(';
+                         if (c != '\n')
+                            break;
+                         FORWARD(1);
+                      }
+                    if (!is_macro_call)
+                       parse_goto_mark(&macro_mark, pfile);
+                    parse_clear_mark(&macro_mark);
+                    if (!is_macro_call)
+                       return CPP_NAME;
+                 }
+               /* This is now known to be a macro call. */
+
+               /* it might not actually be a macro.  */
+               if (hp->type != T_MACRO)
+                 {
+                    int                 xbuf_len;
+                    unsigned char      *xbuf;
+
+                    CPP_SET_WRITTEN(pfile, before_name_written);
+                    special_symbol(hp, pfile);
+                    xbuf_len = CPP_WRITTEN(pfile) - before_name_written;
+                    xbuf = (unsigned char *)xmalloc(xbuf_len + 1);
+                    CPP_SET_WRITTEN(pfile, before_name_written);
+                    memcpy(xbuf, CPP_PWRITTEN(pfile), xbuf_len + 1);
+                    push_macro_expansion(pfile, xbuf, xbuf_len, hp);
+                 }
+               else
+                 {
+                    /* Expand the macro, reading arguments as needed,
+                     * and push the expansion on the input stack.  */
+                    macroexpand(pfile, hp);
+                    CPP_SET_WRITTEN(pfile, before_name_written);
+                 }
+
+               /* An extra "@ " is added to the end of a macro expansion
+                * to prevent accidental token pasting.  We prefer to avoid
+                * unneeded extra spaces (for the sake of cpp-using tools like
+                * imake).  Here we remove the space if it is safe to do so. */
+               if (pfile->buffer->rlimit - pfile->buffer->cur >= 3
+                   && pfile->buffer->rlimit[-2] == '@'
+                   && pfile->buffer->rlimit[-1] == ' ')
+                 {
+                    int                 c1 = pfile->buffer->rlimit[-3];
+
+                    c2 = CPP_BUF_PEEK(CPP_PREV_BUFFER(CPP_BUFFER(pfile)));
+
+                    if (c2 == EOF || !unsafe_chars(c1, c2))
+                       pfile->buffer->rlimit -= 2;
+                 }
+            }
+            goto get_next;
+
+         case ' ':
+         case '\t':
+         case '\v':
+         case '\r':
+            for (;;)
+              {
+                 CPP_PUTC(pfile, c);
+                 c = PEEKC();
+                 if (c == EOF || !is_hor_space[c])
+                    break;
+                 FORWARD(1);
+              }
+            return CPP_HSPACE;
+
+         case '\\':
+            c2 = PEEKC();
+            if (c2 != '\n')
+               goto randomchar;
+            token = CPP_HSPACE;
+            goto op2any;
+
+         case '\n':
+            CPP_PUTC(pfile, c);
+            if (pfile->only_seen_white == 0)
+               pfile->only_seen_white = 1;
+            pfile->lineno++;
+            output_line_command(pfile, 1, same_file);
+            return CPP_VSPACE;
+
+         case '(':
+            token = CPP_LPAREN;
+            goto char1;
+         case ')':
+            token = CPP_RPAREN;
+            goto char1;
+         case '{':
+            token = CPP_LBRACE;
+            goto char1;
+         case '}':
+            token = CPP_RBRACE;
+            goto char1;
+         case ',':
+            token = CPP_COMMA;
+            goto char1;
+         case ';':
+            token = CPP_SEMICOLON;
+            goto char1;
+
+          randomchar:
+         default:
+            token = CPP_OTHER;
+          char1:
+            pfile->only_seen_white = 0;
+            CPP_PUTC(pfile, c);
+            return token;
+         }
+     }
+}
+
+#if 0                          /* Unused */
+/* Like cpp_get_token, but skip spaces and comments. */
+enum cpp_token
+cpp_get_non_space_token(cpp_reader * pfile)
+{
+   int                 old_written = CPP_WRITTEN(pfile);
+
+   for (;;)
+     {
+       enum cpp_token      token = cpp_get_token(pfile);
+
+       if (token != CPP_COMMENT && token != CPP_POP
+           && token != CPP_HSPACE && token != CPP_VSPACE)
+          return token;
+       CPP_SET_WRITTEN(pfile, old_written);
+     }
+}
+#endif
+
+/* Parse an identifier starting with C. */
+
+int
+parse_name(cpp_reader * pfile, int c)
+{
+   for (;;)
+     {
+       if (!is_idchar[c])
+         {
+            if (c == '\\' && PEEKC() == '\n')
+              {
+                 FORWARD(2);
+                 continue;
+              }
+            FORWARD(-1);
+            break;
+         }
+       CPP_RESERVE(pfile, 2);  /* One more for final NUL. */
+       CPP_PUTC_Q(pfile, c);
+       c = GETC();
+       if (c == EOF)
+          break;
+     }
+   CPP_NUL_TERMINATE_Q(pfile);
+   return 1;
+}
+
+/* Maintain and search list of included files, for #import.  */
+
+/* Hash a file name for import_hash_table.  */
+
+static int
+import_hash(char *f)
+{
+   int                 val = 0;
+
+   while (*f)
+      val += *f++;
+   return (val % IMPORT_HASH_SIZE);
+}
+
+/* Search for file FILENAME in import_hash_table.
+ * Return -2 if found, either a matching name or a matching inode.
+ * Otherwise, open the file and return a file descriptor if successful
+ * or -1 if unsuccessful.  */
+
+static int
+lookup_import(cpp_reader * pfile, char *filename, file_name_list * searchptr)
+{
+   struct import_file *i;
+   int                 h;
+   int                 hashval;
+   struct stat         sb;
+   int                 fd;
+
+   hashval = import_hash(filename);
+
+   /* Attempt to find file in list of already included files */
+   i = pfile->import_hash_table[hashval];
+
+   while (i)
+     {
+       if (!strcmp(filename, i->name))
+          return -2;           /* return found */
+       i = i->next;
+     }
+   /* Open it and try a match on inode/dev */
+   fd = open_include_file(pfile, filename, searchptr);
+   if (fd < 0)
+      return fd;
+   fstat(fd, &sb);
+   for (h = 0; h < IMPORT_HASH_SIZE; h++)
+     {
+       i = pfile->import_hash_table[h];
+       while (i)
+         {
+            /* Compare the inode and the device.
+             * Supposedly on some systems the inode is not a scalar.  */
+            if (!memcmp
+                ((char *)&i->inode, (char *)&sb.st_ino, sizeof(sb.st_ino))
+                && i->dev == sb.st_dev)
+              {
+                 close(fd);
+                 return -2;    /* return found */
+              }
+            i = i->next;
+         }
+     }
+   return fd;                  /* Not found, return open file */
+}
+
+/* Add the file FNAME, open on descriptor FD, to import_hash_table.  */
+
+static void
+add_import(cpp_reader * pfile, int fd, char *fname)
+{
+   struct import_file *i;
+   int                 hashval;
+   struct stat         sb;
+
+   hashval = import_hash(fname);
+   fstat(fd, &sb);
+   i = (struct import_file *)xmalloc(sizeof(struct import_file));
+
+   i->name = (char *)xmalloc(strlen(fname) + 1);
+   strcpy(i->name, fname);
+   memcpy((char *)&i->inode, (char *)&sb.st_ino, sizeof(sb.st_ino));
+   i->dev = sb.st_dev;
+   i->next = pfile->import_hash_table[hashval];
+   pfile->import_hash_table[hashval] = i;
+}
+
+/* The file_name_map structure holds a mapping of file names for a
+ * particular directory.  This mapping is read from the file named
+ * FILE_NAME_MAP_FILE in that directory.  Such a file can be used to
+ * map filenames on a file system with severe filename restrictions,
+ * such as DOS.  The format of the file name map file is just a series
+ * of lines with two tokens on each line.  The first token is the name
+ * to map, and the second token is the actual name to use.  */
+
+struct file_name_map {
+   struct file_name_map *map_next;
+   char               *map_from;
+   char               *map_to;
+};
+
+#if USE_FILE_NAME_MAPS
+
+#define FILE_NAME_MAP_FILE "header.gcc"
+
+/* Read a space delimited string of unlimited length from a stdio
+ * file.  */
+
+static char        *
+read_filename_string(int ch, FILE * f)
+{
+   char               *alloc, *set;
+   int                 len;
+
+   len = 20;
+   set = alloc = (char *)xmalloc(len + 1);
+   if (!is_space[ch])
+     {
+       *set++ = ch;
+       while ((ch = getc(f)) != EOF && !is_space[ch])
+         {
+            if (set - alloc == len)
+              {
+                 len *= 2;
+                 alloc = (char *)xrealloc(alloc, len + 1);
+                 set = alloc + len / 2;
+              }
+            *set++ = ch;
+         }
+     }
+   *set = '\0';
+   ungetc(ch, f);
+   return alloc;
+}
+
+/* This structure holds a linked list of file name maps, one per directory. */
+struct file_name_map_list {
+   struct file_name_map_list *map_list_next;
+   char               *map_list_name;
+   struct file_name_map *map_list_map;
+};
+
+/* Read the file name map file for DIRNAME.  */
+
+static struct file_name_map *
+read_name_map(cpp_reader * pfile, const char *dirname)
+{
+   struct file_name_map_list *map_list_ptr;
+   char               *name;
+   FILE               *f;
+
+   for (map_list_ptr = CPP_OPTIONS(pfile)->map_list; map_list_ptr;
+       map_list_ptr = map_list_ptr->map_list_next)
+      if (!strcmp(map_list_ptr->map_list_name, dirname))
+        return map_list_ptr->map_list_map;
+
+   map_list_ptr =
+      ((struct file_name_map_list *)xmalloc(sizeof(struct file_name_map_list)));
+
+   map_list_ptr->map_list_name = savestring(dirname);
+   map_list_ptr->map_list_map = NULL;
+
+   name = (char *)alloca(strlen(dirname) + strlen(FILE_NAME_MAP_FILE) + 2);
+   strcpy(name, dirname);
+   if (*dirname)
+      strcat(name, "/");
+   strcat(name, FILE_NAME_MAP_FILE);
+#ifndef __EMX__
+   f = fopen(name, "rb");
+#else
+   f = fopen(name, "rtb");
+#endif
+   if (!f)
+      map_list_ptr->map_list_map = NULL;
+   else
+     {
+       int                 ch;
+       int                 dirlen = strlen(dirname);
+
+       while ((ch = getc(f)) != EOF)
+         {
+            char               *from, *to;
+            struct file_name_map *ptr;
+
+            if (is_space[ch])
+               continue;
+            from = read_filename_string(ch, f);
+            while ((ch = getc(f)) != EOF && is_hor_space[ch]);
+            to = read_filename_string(ch, f);
+
+            ptr =
+               ((struct file_name_map *)xmalloc(sizeof(struct file_name_map)));
+
+            ptr->map_from = from;
+
+            /* Make the real filename absolute.  */
+            if (*to == '/')
+               ptr->map_to = to;
+            else
+              {
+                 ptr->map_to = (char *)xmalloc(dirlen + strlen(to) + 2);
+                 strcpy(ptr->map_to, dirname);
+                 ptr->map_to[dirlen] = '/';
+                 strcpy(ptr->map_to + dirlen + 1, to);
+                 free(to);
+              }
+
+            ptr->map_next = map_list_ptr->map_list_map;
+            map_list_ptr->map_list_map = ptr;
+
+            while ((ch = getc(f)) != '\n')
+               if (ch == EOF)
+                  break;
+         }
+       fclose(f);
+     }
+
+   map_list_ptr->map_list_next = CPP_OPTIONS(pfile)->map_list;
+   CPP_OPTIONS(pfile)->map_list = map_list_ptr;
+
+   return map_list_ptr->map_list_map;
+}
+
+/* Try to open include file FILENAME.  SEARCHPTR is the directory
+ * being tried from the include file search path.  This function maps
+ * filenames on file systems based on information read by
+ * read_name_map.  */
+
+static int
+open_include_file(cpp_reader * pfile, char *filename,
+                 file_name_list * searchptr)
+{
+   struct file_name_map *map;
+   const char         *from;
+   const char         *p, *dir;
+
+   if (searchptr && !searchptr->got_name_map)
+     {
+       searchptr->name_map = read_name_map(pfile,
+                                           searchptr->fname
+                                           ? searchptr->fname : ".");
+       searchptr->got_name_map = 1;
+     }
+   /* First check the mapping for the directory we are using.  */
+   if (searchptr && searchptr->name_map)
+     {
+       from = filename;
+       if (searchptr->fname)
+          from += strlen(searchptr->fname) + 1;
+       for (map = searchptr->name_map; map; map = map->map_next)
+         {
+            if (!strcmp(map->map_from, from))
+              {
+                 /* Found a match.  */
+                 return open(map->map_to, O_RDONLY | O_BINARY, 0666);
+              }
+         }
+     }
+   /* Try to find a mapping file for the particular directory we are
+    * looking in.  Thus #include <sys/types.h> will look up sys/types.h
+    * in /usr/include/header.gcc and look up types.h in
+    * /usr/include/sys/header.gcc.  */
+   p = strrchr(filename, '/');
+   if (!p)
+      p = filename;
+   if (searchptr
+       && searchptr->fname
+       && strlen(searchptr->fname) == (unsigned)(p - filename)
+       && !strncmp(searchptr->fname, filename, p - filename))
+     {
+       /* FILENAME is in SEARCHPTR, which we've already checked.  */
+        using_file(filename, 'E');
+       return open(filename, O_RDONLY | O_BINARY, 0666);
+     }
+   if (p == filename)
+     {
+       dir = ".";
+       from = filename;
+     }
+   else
+     {
+       char               *s;
+
+       s = (char *)alloca(p - filename + 1);
+       memcpy(s, filename, p - filename);
+       s[p - filename] = '\0';
+       from = p + 1;
+       dir = s;
+     }
+   for (map = read_name_map(pfile, dir); map; map = map->map_next)
+      if (!strcmp(map->map_from, from))
+        {
+           using_file(map->map_to, 'E');
+           return open(map->map_to, O_RDONLY | O_BINARY, 0666);
+        }
+
+   using_file(filename, 'E');
+   return open(filename, O_RDONLY | O_BINARY, 0666);
+}
+
+#else
+
+static int
+open_include_file(cpp_reader * pfile EINA_UNUSED, char *filename,
+                 file_name_list * searchptr EINA_UNUSED)
+{
+   using_file(filename, 'E');
+   return open(filename, O_RDONLY | O_BINARY, 0666);
+}
+
+#endif /* USE_FILE_NAME_MAPS */
+
+static int
+dos2unix(cpp_buffer *fp, int length)
+{
+   unsigned char *tbuf;
+   int nlen = 0, i;
+   
+   tbuf = xmalloc(length + 4);
+   if (!tbuf) return length;
+   for (i = 0; i < length; i++)
+     {
+        if ((fp->buf[i] == '\r') &&
+            (fp->buf[i + 1] == '\n'))
+          {
+             // skip \r in \r\n
+             continue;
+          }
+        tbuf[nlen] = fp->buf[i];
+        nlen++;
+     }
+   tbuf[nlen] = 0;
+   
+   free(fp->buf);
+   fp->buf = tbuf;
+   return nlen;
+}
+
+/* Process the contents of include file FNAME, already open on descriptor F,
+ * with output to OP.
+ * SYSTEM_HEADER_P is 1 if this file resides in any one of the known
+ * "system" include directories (as decided by the `is_system_include'
+ * function above).
+ * DIRPTR is the link in the dir path through which this file was found,
+ * or 0 if the file name was absolute or via the current directory.
+ * Return 1 on success, 0 on failure.
+ * 
+ * The caller is responsible for the cpp_push_buffer.  */
+
+static int
+finclude(cpp_reader * pfile, int f, const char *fname, int system_header_p,
+        file_name_list * dirptr)
+{
+   int                 st_mode;
+   long                st_size;
+   long                i;
+   int                 length;
+   cpp_buffer         *fp;     /* For input stack frame */
+
+   if (file_size_and_mode(f, &st_mode, &st_size) < 0)
+     {
+       cpp_perror_with_name(pfile, fname);
+       close(f);
+       cpp_pop_buffer(pfile);
+       return 0;
+     }
+   fp = CPP_BUFFER(pfile);
+   fp->nominal_fname = fp->fname = fname;
+   fp->dir = dirptr;
+   fp->system_header_p = system_header_p;
+   fp->lineno = 1;
+   fp->colno = 1;
+   fp->cleanup = file_cleanup;
+
+   if (S_ISREG(st_mode))
+     {
+       fp->buf = (unsigned char *)xmalloc(st_size + 2);
+       /* Read the file contents, knowing that st_size is an upper bound
+        * on the number of bytes we can read.  */
+       length = safe_read(f, (char *)fp->buf, st_size);
+        length = dos2unix(fp, length);
+        
+       fp->alimit = fp->buf + st_size + 2;
+       fp->cur = fp->buf;
+       fp->rlimit = fp->buf + length;
+       if (length < 0)
+          goto nope;
+     }
+   else if (S_ISDIR(st_mode))
+     {
+       cpp_error(pfile, "directory `%s' specified in #include", fname);
+       close(f);
+       return 0;
+     }
+   else
+     {
+       /* Cannot count its file size before reading.
+        * First read the entire file into heap and
+        * copy them into buffer on stack. */
+
+       int                 bsize = 2000;
+
+       st_size = 0;
+       fp->buf = (unsigned char *)xmalloc(bsize + 2);
+
+       for (;;)
+         {
+            i = safe_read(f, (char *)(fp->buf + st_size), bsize - st_size);
+            if (i < 0)
+               goto nope;      /* error! */
+            st_size += i;
+            if (st_size != bsize)
+               break;          /* End of file */
+            bsize *= 2;
+            fp->buf = (unsigned char *)xrealloc(fp->buf, bsize + 2);
+         }
+       length = st_size;
+        length = dos2unix(fp, length);
+   }
+
+   if ((length > 0 && fp->buf[length - 1] != '\n')
+       /* Backslash-newline at end is not good enough.  */
+       || (length > 1 && fp->buf[length - 2] == '\\'))
+     {
+       fp->buf[length++] = '\n';
+     }
+   fp->buf[length] = '\0';
+     
+   fp->rlimit = fp->buf + length;
+
+   /* Close descriptor now, so nesting does not use lots of descriptors.  */
+   close(f);
+
+   /* Must do this before calling trigraph_pcp, so that the correct file name
+    * will be printed in warning messages.  */
+
+   pfile->input_stack_listing_current = 0;
+
+   return 1;
+
+ nope:
+
+   cpp_perror_with_name(pfile, fname);
+   close(f);
+   free(fp->buf);
+   return 1;
+}
+
+int
+push_parse_file(cpp_reader * pfile, const char *fname)
+{
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+   struct cpp_pending *pend;
+   char               *p;
+   int                 f;
+   cpp_buffer         *fp;
+
+   /* The code looks at the defaults through this pointer, rather than through
+    * the constant structure above.  This pointer gets changed if an environment
+    * variable specifies other defaults.  */
+   struct default_include *include_defaults = include_defaults_array;
+
+   /* Add dirs from CPATH after dirs from -I.  */
+   /* There seems to be confusion about what CPATH should do,
+    * so for the moment it is not documented.  */
+   /* Some people say that CPATH should replace the standard include dirs,
+    * but that seems pointless: it comes before them, so it overrides them
+    * anyway.  */
+   p = (char *)getenv("CPATH");
+   if (p && !opts->no_standard_includes)
+      path_include(pfile, p);
+
+   /* Now that dollars_in_ident is known, initialize is_idchar.  */
+   initialize_char_syntax(opts);
+
+   /* Do partial setup of input buffer for the sake of generating
+    * early #line directives (when -g is in effect).  */
+   fp = cpp_push_buffer(pfile, NULL, 0);
+   if (!opts->in_fname)
+      opts->in_fname = "";
+   fp->nominal_fname = fp->fname = opts->in_fname;
+   fp->lineno = 0;
+
+   /* Install __LINE__, etc.  Must follow initialize_char_syntax
+    * and option processing.  */
+   initialize_builtins(pfile);
+
+   /* Do standard #defines and assertions
+    * that identify system and machine type.  */
+
+   if (!opts->inhibit_predefs)
+     {
+       p = (char *)alloca(strlen(predefs) + 1);
+
+       strcpy(p, predefs);
+       while (*p)
+         {
+            char               *q;
+
+            while (*p == ' ' || *p == '\t')
+               p++;
+            /* Handle -D options.  */
+            if (p[0] == '-' && p[1] == 'D')
+              {
+                 q = &p[2];
+                 while (*p && *p != ' ' && *p != '\t')
+                    p++;
+                 if (*p != 0)
+                    *p++ = 0;
+                 if (opts->debug_output)
+                    output_line_command(pfile, 0, same_file);
+                 cpp_define(pfile, (unsigned char *)q);
+                 while (*p == ' ' || *p == '\t')
+                    p++;
+              }
+            else if (p[0] == '-' && p[1] == 'A')
+              {
+                 /* Handle -A options (assertions).  */
+                 char               *assertion;
+                 char               *past_name;
+                 char               *value;
+                 char               *past_value;
+                 char               *termination;
+                 int                 save_char;
+
+                 assertion = &p[2];
+                 past_name = assertion;
+                 /* Locate end of name.  */
+                 while (*past_name && *past_name != ' '
+                        && *past_name != '\t' && *past_name != '(')
+                    past_name++;
+                 /* Locate `(' at start of value.  */
+                 value = past_name;
+                 while (*value && (*value == ' ' || *value == '\t'))
+                    value++;
+                 if (*value++ != '(')
+                    abort();
+                 while (*value && (*value == ' ' || *value == '\t'))
+                    value++;
+                 past_value = value;
+                 /* Locate end of value.  */
+                 while (*past_value && *past_value != ' '
+                        && *past_value != '\t' && *past_value != ')')
+                    past_value++;
+                 termination = past_value;
+                 while (*termination
+                        && (*termination == ' ' || *termination == '\t'))
+                    termination++;
+                 if (*termination++ != ')')
+                    abort();
+                 if (*termination && *termination != ' '
+                     && *termination != '\t')
+                    abort();
+                 /* Temporarily null-terminate the value.  */
+                 save_char = *termination;
+                 *termination = '\0';
+                 /* Install the assertion.  */
+                 make_assertion(pfile, "-A", assertion);
+                 *termination = (char)save_char;
+                 p = termination;
+                 while (*p == ' ' || *p == '\t')
+                    p++;
+              }
+            else
+              {
+                 abort();
+              }
+         }
+     }
+   /* Now handle the command line options.  */
+
+   /* Do -U's, -D's and -A's in the order they were seen.  */
+   /* First reverse the list. */
+   opts->pending = nreverse_pending(opts->pending);
+
+   for (pend = opts->pending; pend; pend = pend->next)
+     {
+       if (pend->cmd && pend->cmd[0] == '-')
+         {
+            switch (pend->cmd[1])
+              {
+              case 'U':
+                 if (opts->debug_output)
+                    output_line_command(pfile, 0, same_file);
+                 do_undef(pfile, NULL, (unsigned char *)pend->arg,
+                          (unsigned char *)pend->arg + strlen(pend->arg));
+                 break;
+              case 'D':
+                 if (opts->debug_output)
+                    output_line_command(pfile, 0, same_file);
+                 cpp_define(pfile, (unsigned char *)pend->arg);
+                 break;
+              case 'A':
+                 make_assertion(pfile, "-A", pend->arg);
+                 break;
+              }
+         }
+     }
+
+   opts->done_initializing = 1;
+
+   {                           /* read the appropriate environment variable and if it exists
+                                * replace include_defaults with the listed path. */
+      char               *epath = 0;
+
+      switch ((opts->objc << 1) + opts->cplusplus)
+       {
+       case 0:
+          epath = getenv("C_INCLUDE_PATH");
+          break;
+       case 1:
+          epath = getenv("CPLUS_INCLUDE_PATH");
+          break;
+       case 2:
+          epath = getenv("OBJC_INCLUDE_PATH");
+          break;
+       case 3:
+          epath = getenv("OBJCPLUS_INCLUDE_PATH");
+          break;
+       }
+      /* If the environment var for this language is set,
+       * add to the default list of include directories.  */
+      if (epath)
+       {
+          char               *nstore = (char *)alloca(strlen(epath) + 2);
+          int                 num_dirs;
+          char               *startp, *endp;
+
+          for (num_dirs = 1, startp = epath; *startp; startp++)
+             if (*startp == PATH_SEPARATOR)
+                num_dirs++;
+          include_defaults
+             = (struct default_include *)xmalloc((num_dirs
+                                                  *
+                                                  sizeof(struct
+                                                         default_include)) +
+                                                 sizeof
+                                                 (include_defaults_array));
+
+          startp = endp = epath;
+          num_dirs = 0;
+          while (1)
+            {
+               /* Handle cases like c:/usr/lib:d:/gcc/lib */
+               if ((*endp == PATH_SEPARATOR) || *endp == 0)
+                 {
+                    strncpy(nstore, startp, endp - startp);
+                    if (endp == startp)
+                       strcpy(nstore, ".");
+                    else
+                       nstore[endp - startp] = '\0';
+
+                    include_defaults[num_dirs].fname = savestring(nstore);
+                    include_defaults[num_dirs].cplusplus = opts->cplusplus;
+                    include_defaults[num_dirs].cxx_aware = 1;
+                    num_dirs++;
+                    if (*endp == '\0')
+                       break;
+                    endp = startp = endp + 1;
+                 }
+               else
+                  endp++;
+            }
+          /* Put the usual defaults back in at the end.  */
+          memcpy((char *)&include_defaults[num_dirs],
+                 (char *)include_defaults_array,
+                 sizeof(include_defaults_array));
+       }
+   }
+
+   append_include_chain(pfile, opts->before_system, opts->last_before_system);
+   opts->first_system_include = opts->before_system;
+
+   /* Unless -fnostdinc,
+    * tack on the standard include file dirs to the specified list */
+   if (!opts->no_standard_includes)
+     {
+       struct default_include *di = include_defaults;
+       char               *specd_prefix = opts->include_prefix;
+       char               *default_prefix = savestring(GCC_INCLUDE_DIR);
+       int                 default_len = 0;
+
+       /* Remove the `include' from /usr/local/lib/gcc.../include.  */
+       if (!strcmp(default_prefix + strlen(default_prefix) - 8, "/include"))
+         {
+            default_len = strlen(default_prefix) - 7;
+            default_prefix[default_len] = 0;
+         }
+       /* Search "translated" versions of GNU directories.
+        * These have /usr/local/lib/gcc... replaced by specd_prefix.  */
+       if (specd_prefix && default_len != 0)
+          for (di = include_defaults; di->fname; di++)
+            {
+               /* Some standard dirs are only for C++.  */
+               if (!di->cplusplus
+                   || (opts->cplusplus
+                       && !opts->no_standard_cplusplus_includes))
+                 {
+                    /* Does this dir start with the prefix?  */
+                    if (!strncmp(di->fname, default_prefix, default_len))
+                      {
+                         /* Yes; change prefix and add to search list.  */
+                         file_name_list     *new_
+                            =
+                            (file_name_list *) xmalloc(sizeof(file_name_list));
+                         int                 this_len =
+                            strlen(specd_prefix) + strlen(di->fname) -
+                            default_len;
+                         char               *str =
+                            (char *)xmalloc(this_len + 1);
+
+                         strcpy(str, specd_prefix);
+                         strcat(str, di->fname + default_len);
+                         new_->fname = str;
+                         new_->control_macro = 0;
+                         new_->c_system_include_path = !di->cxx_aware;
+                         new_->got_name_map = 0;
+                         append_include_chain(pfile, new_, new_);
+                         if (!opts->first_system_include)
+                            opts->first_system_include = new_;
+                      }
+                 }
+            }
+       /* Search ordinary names for GNU include directories.  */
+       for (di = include_defaults; di->fname; di++)
+         {
+            /* Some standard dirs are only for C++.  */
+            if (!di->cplusplus
+                || (opts->cplusplus && !opts->no_standard_cplusplus_includes))
+              {
+                 file_name_list     *new_
+                    = (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                 new_->control_macro = 0;
+                 new_->c_system_include_path = !di->cxx_aware;
+                 new_->fname = (char *)di->fname;
+                 new_->got_name_map = 0;
+                 append_include_chain(pfile, new_, new_);
+                 if (!opts->first_system_include)
+                    opts->first_system_include = new_;
+              }
+         }
+     }
+   /* Tack the after_include chain at the end of the include chain.  */
+   append_include_chain(pfile, opts->after_include, opts->last_after_include);
+   if (!opts->first_system_include)
+      opts->first_system_include = opts->after_include;
+
+   /* With -v, print the list of dirs to search.  */
+   if (opts->verbose)
+     {
+       file_name_list     *fl;
+
+       fprintf(stderr, "#include \"...\" search starts here:\n");
+       for (fl = opts->include; fl; fl = fl->next)
+         {
+            if (fl == opts->first_bracket_include)
+               fprintf(stderr, "#include <...> search starts here:\n");
+            fprintf(stderr, " %s\n", fl->fname);
+         }
+       fprintf(stderr, "End of search list.\n");
+     }
+   /* Scan the -imacros files before the main input.
+    * Much like #including them, but with no_output set
+    * so that only their macro definitions matter.  */
+
+   opts->no_output++;
+   pfile->no_record_file++;
+   for (pend = opts->pending; pend; pend = pend->next)
+     {
+       if (pend->cmd && strcmp(pend->cmd, "-imacros") == 0)
+         {
+            int                 fd = open(pend->arg, O_RDONLY | O_BINARY, 0666);
+
+            if (fd < 0)
+              {
+                 cpp_perror_with_name(pfile, pend->arg);
+                 return FATAL_EXIT_CODE;
+              }
+            cpp_push_buffer(pfile, NULL, 0);
+            finclude(pfile, fd, pend->arg, 0, NULL);
+            cpp_scan_buffer(pfile);
+         }
+     }
+   opts->no_output--;
+   pfile->no_record_file--;
+
+   /* Copy the entire contents of the main input file into
+    * the stacked input buffer previously allocated for it.  */
+   if (!fname || *fname == 0)
+     {
+       fname = "";
+       f = 0;
+     }
+   else if ((f = open(fname, O_RDONLY | O_BINARY, 0666)) < 0)
+      cpp_pfatal_with_name(pfile, fname);
+
+   /* -MG doesn't select the form of output and must be specified with one of
+    * -M or -MM.  -MG doesn't make sense with -MD or -MMD since they don't
+    * inhibit compilation.  */
+   if (opts->print_deps_missing_files
+       && (opts->print_deps == 0 || !opts->no_output))
+      cpp_fatal("-MG must be specified with one of -M or -MM");
+
+   /* Either of two environment variables can specify output of deps.
+    * Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
+    * where OUTPUT_FILE is the file to write deps info to
+    * and DEPS_TARGET is the target to mention in the deps.  */
+
+   if (opts->print_deps == 0
+       && (getenv("SUNPRO_DEPENDENCIES") != 0
+          || getenv("DEPENDENCIES_OUTPUT") != 0))
+     {
+       char               *spec = getenv("DEPENDENCIES_OUTPUT");
+       char               *s;
+       char               *output_file;
+
+       if (!spec)
+         {
+            spec = getenv("SUNPRO_DEPENDENCIES");
+            opts->print_deps = 2;
+         }
+       else
+          opts->print_deps = 1;
+
+       s = spec;
+       /* Find the space before the DEPS_TARGET, if there is one.  */
+       /* This should use index.  (mrs) */
+       while (*s != 0 && *s != ' ')
+          s++;
+       if (*s != 0)
+         {
+            opts->deps_target = s + 1;
+            output_file = (char *)xmalloc(s - spec + 1);
+            memcpy(output_file, spec, s - spec);
+            output_file[s - spec] = 0;
+         }
+       else
+         {
+            opts->deps_target = 0;
+            output_file = spec;
+         }
+
+       opts->deps_file = output_file;
+       opts->print_deps_append = 1;
+     }
+   /* For -M, print the expected object file name
+    * as the target of this Make-rule.  */
+   if (opts->print_deps)
+     {
+       pfile->deps_allocated_size = 200;
+       pfile->deps_buffer = (char *)xmalloc(pfile->deps_allocated_size);
+       pfile->deps_buffer[0] = 0;
+       pfile->deps_size = 0;
+       pfile->deps_column = 0;
+
+       if (opts->deps_target)
+          deps_output(pfile, opts->deps_target, ':');
+       else if (*opts->in_fname == 0)
+          deps_output(pfile, "-", ':');
+       else
+         {
+            char               *q;
+            int                 len;
+
+            /* Discard all directory prefixes from filename.  */
+            if ((q = (char *)strrchr(opts->in_fname, '/'))
+#ifdef DIR_SEPARATOR
+                && (q = strrchr(opts->in_fname, DIR_SEPARATOR))
+#endif
+               )
+               ++q;
+            else
+               q = (char *)opts->in_fname;
+
+            /* Copy remainder to mungable area.  */
+            p = (char *)alloca(strlen(q) + 8);
+            strcpy(p, q);
+
+            /* Output P, but remove known suffixes.  */
+            len = strlen(p);
+            q = p + len;
+            if (len >= 2 && p[len - 2] == '.' && strchr("cCsSm", p[len - 1]))
+               q = p + (len - 2);
+            else if (len >= 3
+                     && p[len - 3] == '.'
+                     && p[len - 2] == 'c' && p[len - 1] == 'c')
+               q = p + (len - 3);
+            else if (len >= 4
+                     && p[len - 4] == '.'
+                     && p[len - 3] == 'c'
+                     && p[len - 2] == 'x' && p[len - 1] == 'x')
+               q = p + (len - 4);
+            else if (len >= 4
+                     && p[len - 4] == '.'
+                     && p[len - 3] == 'c'
+                     && p[len - 2] == 'p' && p[len - 1] == 'p')
+               q = p + (len - 4);
+
+            /* Supply our own suffix.  */
+            strcpy(q, ".o");
+
+            deps_output(pfile, p, ':');
+            deps_output(pfile, opts->in_fname, ' ');
+         }
+     }
+
+   /* Scan the -include files before the main input.
+    * We push these in reverse order, so that the first one is handled first.  */
+
+   pfile->no_record_file++;
+   opts->pending = nreverse_pending(opts->pending);
+   for (pend = opts->pending; pend; pend = pend->next)
+     {
+       if (pend->cmd && strcmp(pend->cmd, "-include") == 0)
+         {
+            int                 fd = open(pend->arg, O_RDONLY | O_BINARY, 0666);
+
+            if (fd < 0)
+              {
+                 cpp_perror_with_name(pfile, pend->arg);
+                 return FATAL_EXIT_CODE;
+              }
+            cpp_push_buffer(pfile, NULL, 0);
+            finclude(pfile, fd, pend->arg, 0, NULL);
+         }
+     }
+   pfile->no_record_file--;
+
+   /* Free the pending list. */
+   for (pend = opts->pending; pend;)
+     {
+       struct cpp_pending *next = pend->next;
+
+       free(pend);
+       pend = next;
+     }
+   opts->pending = NULL;
+
+   if (finclude(pfile, f, fname, 0, NULL))
+      output_line_command(pfile, 0, same_file);
+   return SUCCESS_EXIT_CODE;
+}
+
+void
+init_parse_file(cpp_reader * pfile)
+{
+   memset((char *)pfile, 0, sizeof(cpp_reader));
+   pfile->get_token = cpp_get_token;
+
+   pfile->token_buffer_size = 200;
+   pfile->token_buffer = (unsigned char *)xmalloc(pfile->token_buffer_size);
+   CPP_SET_WRITTEN(pfile, 0);
+
+   pfile->system_include_depth = 0;
+   pfile->dont_repeat_files = 0;
+   pfile->all_include_files = 0;
+   pfile->max_include_len = 0;
+   pfile->timebuf = NULL;
+   pfile->only_seen_white = 1;
+   pfile->buffer = CPP_NULL_BUFFER(pfile);
+}
+
+static struct cpp_pending *
+nreverse_pending(struct cpp_pending *list)
+{
+   struct cpp_pending *prev = 0, *next, *pend;
+
+   for (pend = list; pend; pend = next)
+     {
+       next = pend->next;
+       pend->next = prev;
+       prev = pend;
+     }
+   return prev;
+}
+
+static void
+push_pending(cpp_reader * pfile, const char *cmd, const char *arg)
+{
+   struct cpp_pending *pend
+      = (struct cpp_pending *)xmalloc(sizeof(struct cpp_pending));
+
+   pend->cmd = cmd;
+   pend->arg = arg;
+   pend->next = CPP_OPTIONS(pfile)->pending;
+   CPP_OPTIONS(pfile)->pending = pend;
+}
+
+/* Handle command-line options in (argc, argv).
+ * Can be called multiple times, to handle multiple sets of options.
+ * Returns if an unrecognized option is seen.
+ * Returns number of handled arguments.  */
+
+int
+cpp_handle_options(cpp_reader * pfile, int argc, char **argv)
+{
+   int                 i;
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+
+   for (i = 0; i < argc; i++)
+     {
+       if (argv[i][0] != '-')
+         {
+            if (opts->out_fname)
+               cpp_fatal("Usage: %s [switches] input output", argv[0]);
+            else if (opts->in_fname)
+               opts->out_fname = argv[i];
+            else
+               opts->in_fname = argv[i];
+         }
+       else
+         {
+            switch (argv[i][1])
+              {
+
+              case 'i':
+                 if (!strcmp(argv[i], "-include")
+                     || !strcmp(argv[i], "-imacros"))
+                   {
+                      if (i + 1 == argc)
+                         cpp_fatal("Filename missing after `%s' option",
+                                   argv[i]);
+                      else
+                         push_pending(pfile, argv[i], argv[i + 1]), i++;
+                   }
+                 if (!strcmp(argv[i], "-iprefix"))
+                   {
+                      if (i + 1 == argc)
+                         cpp_fatal("Filename missing after `-iprefix' option");
+                      else
+                         opts->include_prefix = argv[++i];
+                   }
+                 if (!strcmp(argv[i], "-ifoutput"))
+                   {
+                      opts->output_conditionals = 1;
+                   }
+                 if (!strcmp(argv[i], "-isystem"))
+                   {
+                      file_name_list     *dirtmp;
+
+                      if (i + 1 == argc)
+                         cpp_fatal("Filename missing after `-isystem' option");
+
+                      dirtmp =
+                         (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                      dirtmp->next = 0;
+                      dirtmp->control_macro = 0;
+                      dirtmp->c_system_include_path = 1;
+                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1]) + 1);
+                      strcpy(dirtmp->fname, argv[++i]);
+                      dirtmp->got_name_map = 0;
+
+                      if (!opts->before_system)
+                         opts->before_system = dirtmp;
+                      else
+                         opts->last_before_system->next = dirtmp;
+                      opts->last_before_system = dirtmp;       /* Tail follows the last one */
+                   }
+                 /* Add directory to end of path for includes,
+                  * with the default prefix at the front of its name.  */
+                 if (!strcmp(argv[i], "-iwithprefix"))
+                   {
+                      file_name_list     *dirtmp;
+                      char               *prefix;
+
+                      if (opts->include_prefix)
+                         prefix = opts->include_prefix;
+                      else
+                        {
+                           prefix = savestring(GCC_INCLUDE_DIR);
+                           /* Remove the `include' from /usr/local/lib/gcc.../include.  */
+                           if (!strcmp
+                               (prefix + strlen(prefix) - 8, "/include"))
+                              prefix[strlen(prefix) - 7] = 0;
+                        }
+
+                      dirtmp =
+                         (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                      dirtmp->next = 0;        /* New one goes on the end */
+                      dirtmp->control_macro = 0;
+                      dirtmp->c_system_include_path = 0;
+                      if (i + 1 == argc)
+                         cpp_fatal
+                            ("Directory name missing after `-iwithprefix' option");
+
+                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1])
+                                                      + strlen(prefix) + 1);
+                      strcpy(dirtmp->fname, prefix);
+                      strcat(dirtmp->fname, argv[++i]);
+                      dirtmp->got_name_map = 0;
+
+                      if (!opts->after_include)
+                         opts->after_include = dirtmp;
+                      else
+                         opts->last_after_include->next = dirtmp;
+                      opts->last_after_include = dirtmp;       /* Tail follows the last one */
+                   }
+                 /* Add directory to main path for includes,
+                  * with the default prefix at the front of its name.  */
+                 if (!strcmp(argv[i], "-iwithprefixbefore"))
+                   {
+                      file_name_list     *dirtmp;
+                      char               *prefix;
+
+                      if (opts->include_prefix)
+                         prefix = opts->include_prefix;
+                      else
+                        {
+                           prefix = savestring(GCC_INCLUDE_DIR);
+                           /* Remove the `include' from /usr/local/lib/gcc.../include.  */
+                           if (!strcmp
+                               (prefix + strlen(prefix) - 8, "/include"))
+                              prefix[strlen(prefix) - 7] = 0;
+                        }
+
+                      dirtmp =
+                         (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                      dirtmp->next = 0;        /* New one goes on the end */
+                      dirtmp->control_macro = 0;
+                      dirtmp->c_system_include_path = 0;
+                      if (i + 1 == argc)
+                         cpp_fatal
+                            ("Directory name missing after `-iwithprefixbefore' option");
+
+                      dirtmp->fname = (char *)xmalloc(strlen(argv[i + 1])
+                                                      + strlen(prefix) + 1);
+                      strcpy(dirtmp->fname, prefix);
+                      strcat(dirtmp->fname, argv[++i]);
+                      dirtmp->got_name_map = 0;
+
+                      append_include_chain(pfile, dirtmp, dirtmp);
+                   }
+                 /* Add directory to end of path for includes.  */
+                 if (!strcmp(argv[i], "-idirafter"))
+                   {
+                      file_name_list     *dirtmp;
+
+                      dirtmp =
+                         (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                      dirtmp->next = 0;        /* New one goes on the end */
+                      dirtmp->control_macro = 0;
+                      dirtmp->c_system_include_path = 0;
+                      if (i + 1 == argc)
+                         cpp_fatal
+                            ("Directory name missing after `-idirafter' option");
+                      else
+                         dirtmp->fname = argv[++i];
+                      dirtmp->got_name_map = 0;
+
+                      if (!opts->after_include)
+                         opts->after_include = dirtmp;
+                      else
+                         opts->last_after_include->next = dirtmp;
+                      opts->last_after_include = dirtmp;       /* Tail follows the last one */
+                   }
+                 break;
+
+              case 'o':
+                 if (opts->out_fname)
+                    cpp_fatal("Output filename specified twice");
+                 if (i + 1 == argc)
+                    cpp_fatal("Filename missing after -o option");
+                 opts->out_fname = argv[++i];
+                 if (!strcmp(opts->out_fname, "-"))
+                    opts->out_fname = "";
+                 break;
+
+              case 'p':
+                 if (!strcmp(argv[i], "-pedantic"))
+                    CPP_PEDANTIC(pfile) = 1;
+                 else if (!strcmp(argv[i], "-pedantic-errors"))
+                   {
+                      CPP_PEDANTIC(pfile) = 1;
+                      opts->pedantic_errors = 1;
+                   }
+                 break;
+
+              case 't':
+                 if (!strcmp(argv[i], "-trigraphs"))
+                   {
+                      if (!opts->chill)
+                         opts->no_trigraphs = 0;
+                   }
+                 break;
+
+              case 'l':
+                 if (!strcmp(argv[i], "-lang-c"))
+                    opts->cplusplus = 0, opts->cplusplus_comments =
+                       0, opts->objc = 0;
+                 if (!strcmp(argv[i], "-lang-c++"))
+                    opts->cplusplus = 1, opts->cplusplus_comments =
+                       1, opts->objc = 0;
+                 if (!strcmp(argv[i], "-lang-c-c++-comments"))
+                    opts->cplusplus = 0, opts->cplusplus_comments =
+                       1, opts->objc = 0;
+                 if (!strcmp(argv[i], "-lang-objc"))
+                    opts->objc = 1, opts->cplusplus =
+                       0, opts->cplusplus_comments = 1;
+                 if (!strcmp(argv[i], "-lang-objc++"))
+                    opts->objc = 1, opts->cplusplus =
+                       1, opts->cplusplus_comments = 1;
+                 if (!strcmp(argv[i], "-lang-asm"))
+                    opts->lang_asm = 1;
+                 if (!strcmp(argv[i], "-lint"))
+                    opts->for_lint = 1;
+                 if (!strcmp(argv[i], "-lang-chill"))
+                    opts->objc = 0, opts->cplusplus = 0, opts->chill = 1,
+                       opts->traditional = 1, opts->no_trigraphs = 1;
+                 break;
+
+              case '+':
+                 opts->cplusplus = 1, opts->cplusplus_comments = 1;
+                 break;
+
+              case 'w':
+                 opts->inhibit_warnings = 1;
+                 break;
+
+              case 'W':
+                 if (!strcmp(argv[i], "-Wtrigraphs"))
+                    opts->warn_trigraphs = 1;
+                 else if (!strcmp(argv[i], "-Wno-trigraphs"))
+                    opts->warn_trigraphs = 0;
+                 else if (!strcmp(argv[i], "-Wcomment"))
+                    opts->warn_comments = 1;
+                 else if (!strcmp(argv[i], "-Wno-comment"))
+                    opts->warn_comments = 0;
+                 else if (!strcmp(argv[i], "-Wcomments"))
+                    opts->warn_comments = 1;
+                 else if (!strcmp(argv[i], "-Wno-comments"))
+                    opts->warn_comments = 0;
+                 else if (!strcmp(argv[i], "-Wtraditional"))
+                    opts->warn_stringify = 1;
+                 else if (!strcmp(argv[i], "-Wno-traditional"))
+                    opts->warn_stringify = 0;
+                 else if (!strcmp(argv[i], "-Wimport"))
+                    opts->warn_import = 1;
+                 else if (!strcmp(argv[i], "-Wno-import"))
+                    opts->warn_import = 0;
+                 else if (!strcmp(argv[i], "-Werror"))
+                    opts->warnings_are_errors = 1;
+                 else if (!strcmp(argv[i], "-Wno-error"))
+                    opts->warnings_are_errors = 0;
+                 else if (!strcmp(argv[i], "-Wall"))
+                   {
+                      opts->warn_trigraphs = 1;
+                      opts->warn_comments = 1;
+                   }
+                 break;
+
+              case 'M':
+                 /* The style of the choices here is a bit mixed.
+                  * The chosen scheme is a hybrid of keeping all options in one string
+                  * and specifying each option in a separate argument:
+                  * -M|-MM|-MD file|-MMD file [-MG].  An alternative is:
+                  * -M|-MM|-MD file|-MMD file|-MG|-MMG; or more concisely:
+                  * -M[M][G][D file].  This is awkward to handle in specs, and is not
+                  * as extensible.  */
+                 /* ??? -MG must be specified in addition to one of -M or -MM.
+                  * This can be relaxed in the future without breaking anything.
+                  * The converse isn't true.  */
+
+                 /* -MG isn't valid with -MD or -MMD.  This is checked for later.  */
+                 if (!strcmp(argv[i], "-MG"))
+                   {
+                      opts->print_deps_missing_files = 1;
+                      break;
+                   }
+                 if (!strcmp(argv[i], "-M"))
+                    opts->print_deps = 2;
+                 else if (!strcmp(argv[i], "-MM"))
+                    opts->print_deps = 1;
+                 else if (!strcmp(argv[i], "-MD"))
+                    opts->print_deps = 2;
+                 else if (!strcmp(argv[i], "-MMD"))
+                    opts->print_deps = 1;
+                 /* For -MD and -MMD options, write deps on file named by next arg.  */
+                 if (!strcmp(argv[i], "-MD") || !strcmp(argv[i], "-MMD"))
+                   {
+                      if (i + 1 == argc)
+                         cpp_fatal("Filename missing after %s option",
+                                   argv[i]);
+                      opts->deps_file = argv[++i];
+                   }
+                 else
+                   {
+                      /* For -M and -MM, write deps on standard output
+                       * and suppress the usual output.  */
+                      opts->no_output = 1;
+                   }
+                 break;
+
+              case 'd':
+                 {
+                    char               *p = argv[i] + 2;
+                    char                c;
+
+                    while ((c = *p++) != 0)
+                      {
+                         /* Arg to -d specifies what parts of macros to dump */
+                         switch (c)
+                           {
+                           case 'M':
+                              opts->dump_macros = dump_only;
+                              opts->no_output = 1;
+                              break;
+                           case 'N':
+                              opts->dump_macros = dump_names;
+                              break;
+                           case 'D':
+                              opts->dump_macros = dump_definitions;
+                              break;
+                           }
+                      }
+                 }
+                 break;
+
+              case 'g':
+                 if (argv[i][2] == '3')
+                    opts->debug_output = 1;
+                 break;
+
+              case 'v':
+                 fprintf(stderr, "GNU CPP version %s", version_string);
+#ifdef TARGET_VERSION
+                 TARGET_VERSION;
+#endif
+                 fprintf(stderr, "\n");
+                 opts->verbose = 1;
+                 break;
+
+              case 'H':
+                 opts->print_include_names = 1;
+                 break;
+
+              case 'D':
+                 if (argv[i][2] != 0)
+                    push_pending(pfile, "-D", argv[i] + 2);
+                 else if (i + 1 == argc)
+                    cpp_fatal("Macro name missing after -D option");
+                 else
+                    i++, push_pending(pfile, "-D", argv[i]);
+                 break;
+
+              case 'a':
+                  {
+                     if (!strcmp(argv[i], "-a"))
+                       {
+                          if (i + 1 == argc)
+                            cpp_fatal("Filename missing after `-a` option");
+                          else if (strcmp(argv[++i], "/dev/null"))
+                            {
+                               opts->watchfile = argv[i];
+                            }
+                       }
+                     else if (!strcmp(argv[i], "-anotate"))
+                       {
+                          anotate = 1;
+                       }
+                    break;
+                  }
+
+              case 'A':
+                 {
+                    char               *p = NULL;
+
+                    if (argv[i][2] != 0)
+                       p = argv[i] + 2;
+                    else if (i + 1 == argc)
+                       cpp_fatal("Assertion missing after -A option");
+                    else
+                       p = argv[++i];
+
+                    if (!strcmp(p, "-"))
+                      {
+                         struct cpp_pending **ptr;
+
+                         /* -A- eliminates all predefined macros and assertions.
+                          * Let's include also any that were specified earlier
+                          * on the command line.  That way we can get rid of any
+                          * that were passed automatically in from GCC.  */
+
+                         opts->inhibit_predefs = 1;
+                         for (ptr = &opts->pending; *ptr;)
+                           {
+                              struct cpp_pending *pend = *ptr;
+
+                              if (pend->cmd && pend->cmd[0] == '-'
+                                  && (pend->cmd[1] == 'D'
+                                      || pend->cmd[1] == 'A'))
+                                {
+                                   *ptr = pend->next;
+                                   free(pend);
+                                }
+                              else
+                                 ptr = &pend->next;
+                           }
+                      }
+                    else
+                      {
+                         push_pending(pfile, "-A", p);
+                      }
+                 }
+                 break;
+
+              case 'U':        /* JF #undef something */
+                 if (argv[i][2] != 0)
+                    push_pending(pfile, "-U", argv[i] + 2);
+                 else if (i + 1 == argc)
+                    cpp_fatal("Macro name missing after -U option");
+                 else
+                    push_pending(pfile, "-U", argv[i + 1]), i++;
+                 break;
+
+              case 'C':
+                 opts->put_out_comments = 1;
+                 break;
+
+              case 'E':        /* -E comes from cc -E; ignore it.  */
+                 break;
+
+              case 'P':
+                 opts->no_line_commands = 1;
+                 break;
+
+              case '$':        /* Don't include $ in identifiers.  */
+                 opts->dollars_in_ident = 0;
+                 break;
+
+              case 'I':        /* Add directory to path for includes.  */
+                 {
+                    file_name_list     *dirtmp;
+
+                    if (!CPP_OPTIONS(pfile)->ignore_srcdir
+                        && !strcmp(argv[i] + 2, "-"))
+                      {
+                         CPP_OPTIONS(pfile)->ignore_srcdir = 1;
+                         /* Don't use any preceding -I directories for #include <...>.  */
+                         CPP_OPTIONS(pfile)->first_bracket_include = 0;
+                      }
+                    else
+                      {
+                         dirtmp =
+                            (file_name_list *) xmalloc(sizeof(file_name_list));
+
+                         dirtmp->next = 0;     /* New one goes on the end */
+                         dirtmp->control_macro = 0;
+                         dirtmp->c_system_include_path = 0;
+                         if (argv[i][2] != 0)
+                            dirtmp->fname = argv[i] + 2;
+                         else if (i + 1 == argc)
+                            cpp_fatal
+                               ("Directory name missing after -I option");
+                         else
+                            dirtmp->fname = argv[++i];
+                         dirtmp->got_name_map = 0;
+                         append_include_chain(pfile, dirtmp, dirtmp);
+                      }
+                 }
+                 break;
+
+              case 'n':
+                 if (!strcmp(argv[i], "-nostdinc"))
+                    /* -nostdinc causes no default include directories.
+                     * You must specify all include-file directories with -I.  */
+                    opts->no_standard_includes = 1;
+                 else if (!strcmp(argv[i], "-nostdinc++"))
+                    /* -nostdinc++ causes no default C++-specific include directories. */
+                    opts->no_standard_cplusplus_includes = 1;
+                 break;
+
+              case 'u':
+                 /* Sun compiler passes undocumented switch "-undef".
+                  * Let's assume it means to inhibit the predefined symbols.  */
+                 opts->inhibit_predefs = 1;
+                 break;
+
+              case '\0':       /* JF handle '-' as file name meaning stdin or stdout */
+                 if (!opts->in_fname)
+                   {
+                      opts->in_fname = "";
+                      break;
+                   }
+                 else if (!opts->out_fname)
+                   {
+                      opts->out_fname = "";
+                      break;
+                   }           /* else fall through into error */
+              default:
+                 return i;
+              }
+         }
+     }
+   return i;
+}
+
+void
+cpp_finish(cpp_reader * pfile)
+{
+   struct cpp_options *opts = CPP_OPTIONS(pfile);
+
+   if (opts->print_deps)
+     {
+       /* Stream on which to print the dependency information.  */
+       FILE               *deps_stream;
+
+       /* Don't actually write the deps file if compilation has failed.  */
+       if (pfile->errors == 0)
+         {
+            const char         *deps_mode =
+               opts->print_deps_append ? "ab" : "wb";
+
+            if (!opts->deps_file)
+               deps_stream = stdout;
+            else if (!(deps_stream = fopen(opts->deps_file, deps_mode)))
+               cpp_pfatal_with_name(pfile, opts->deps_file);
+            fputs(pfile->deps_buffer, deps_stream);
+            putc('\n', deps_stream);
+            if (opts->deps_file)
+              {
+                 if (ferror(deps_stream) || fclose(deps_stream) != 0)
+                    cpp_fatal("I/O error on output");
+              }
+         }
+     }
+}
+
+static int
+do_assert(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+         unsigned char *buf EINA_UNUSED, unsigned char *limit EINA_UNUSED)
+{
+   long                symstart;       /* remember where symbol name starts */
+   int                 c;
+   int                 sym_length;     /* and how long it is */
+   struct arglist     *tokens = NULL;
+
+   if (CPP_PEDANTIC(pfile) && CPP_OPTIONS(pfile)->done_initializing
+       && !CPP_BUFFER(pfile)->system_header_p)
+      cpp_pedwarn(pfile, "ANSI C does not allow `#assert'");
+
+   cpp_skip_hspace(pfile);
+   symstart = CPP_WRITTEN(pfile);      /* remember where it starts */
+   parse_name(pfile, GETC());
+   sym_length = check_macro_name(pfile, pfile->token_buffer + symstart,
+                                "assertion");
+
+   cpp_skip_hspace(pfile);
+   if (PEEKC() != '(')
+     {
+       cpp_error(pfile, "missing token-sequence in `#assert'");
+       goto error;
+     }
+   {
+      int                 error_flag = 0;
+
+      tokens = read_token_list(pfile, &error_flag);
+      if (error_flag)
+        goto error;
+      if (!tokens)
+       {
+          cpp_error(pfile, "empty token-sequence in `#assert'");
+          goto error;
+       }
+      cpp_skip_hspace(pfile);
+      c = PEEKC();
+      if (c != EOF && c != '\n')
+        cpp_pedwarn(pfile, "junk at end of `#assert'");
+      skip_rest_of_line(pfile);
+   }
+
+   /* If this name isn't already an assertion name, make it one.
+    * Error if it was already in use in some other way.  */
+
+   {
+      ASSERTION_HASHNODE *hp;
+      const char         *symname = (char *)pfile->token_buffer + symstart;
+      int                 hashcode =
+        hashf(symname, sym_length, ASSERTION_HASHSIZE);
+      struct tokenlist_list *value =
+        (struct tokenlist_list *)xmalloc(sizeof(struct tokenlist_list));
+
+      hp = assertion_lookup(pfile, symname, sym_length, hashcode);
+      if (!hp)
+       {
+          if (sym_length == 7 && !strncmp(symname, "defined", sym_length))
+             cpp_error(pfile, "`defined' redefined as assertion");
+          hp = assertion_install(pfile, symname, sym_length, hashcode);
+       }
+      /* Add the spec'd token-sequence to the list of such.  */
+      value->tokens = tokens;
+      value->next = hp->value;
+      hp->value = value;
+   }
+   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
+   return 0;
+ error:
+   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
+   skip_rest_of_line(pfile);
+   return 1;
+}
+
+static int
+do_unassert(cpp_reader * pfile, struct directive *keyword EINA_UNUSED,
+           unsigned char *buf EINA_UNUSED, unsigned char *limit EINA_UNUSED)
+{
+   long                symstart;       /* remember where symbol name starts */
+   int                 sym_length;     /* and how long it is */
+   int                 c;
+
+   struct arglist     *tokens = NULL;
+   int                 tokens_specified = 0;
+
+   if (CPP_PEDANTIC(pfile) && CPP_OPTIONS(pfile)->done_initializing
+       && !CPP_BUFFER(pfile)->system_header_p)
+      cpp_pedwarn(pfile, "ANSI C does not allow `#unassert'");
+
+   cpp_skip_hspace(pfile);
+
+   symstart = CPP_WRITTEN(pfile);      /* remember where it starts */
+   parse_name(pfile, GETC());
+   sym_length = check_macro_name(pfile, pfile->token_buffer + symstart,
+                                "assertion");
+
+   cpp_skip_hspace(pfile);
+   if (PEEKC() == '(')
+     {
+       int                 error_flag = 0;
+
+       tokens = read_token_list(pfile, &error_flag);
+       if (error_flag)
+          goto error;
+       if (!tokens)
+         {
+            cpp_error(pfile, "empty token list in `#unassert'");
+            goto error;
+         }
+       tokens_specified = 1;
+     }
+   cpp_skip_hspace(pfile);
+   c = PEEKC();
+   if (c != EOF && c != '\n')
+      cpp_error(pfile, "junk at end of `#unassert'");
+   skip_rest_of_line(pfile);
+
+   {
+      ASSERTION_HASHNODE *hp;
+      const char         *symname = (char *)pfile->token_buffer + symstart;
+      int                 hashcode =
+        hashf(symname, sym_length, ASSERTION_HASHSIZE);
+      struct tokenlist_list *tail, *prev;
+
+      hp = assertion_lookup(pfile, symname, sym_length, hashcode);
+      if (!hp)
+        return 1;
+
+      /* If no token list was specified, then eliminate this assertion
+       * entirely.  */
+      if (!tokens_specified)
+        delete_assertion(hp);
+      else
+       {
+          /* If a list of tokens was given, then delete any matching list.  */
+
+          tail = hp->value;
+          prev = 0;
+          while (tail)
+            {
+               struct tokenlist_list *next = tail->next;
+
+               if (compare_token_lists(tail->tokens, tokens))
+                 {
+                    if (prev)
+                       prev->next = next;
+                    else
+                       hp->value = tail->next;
+                    free_token_list(tail->tokens);
+                    free(tail);
+                 }
+               else
+                 {
+                    prev = tail;
+                 }
+               tail = next;
+            }
+       }
+   }
+
+   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
+   return 0;
+ error:
+   CPP_SET_WRITTEN(pfile, symstart);   /* Pop */
+   skip_rest_of_line(pfile);
+   return 1;
+}
+
+/* Test whether there is an assertion named NAME
+ * and optionally whether it has an asserted token list TOKENS.
+ * NAME is not null terminated; its length is SYM_LENGTH.
+ * If TOKENS_SPECIFIED is 0, then don't check for any token list.  */
+
+static int
+check_assertion(cpp_reader * pfile, const char *name, int sym_length,
+               int tokens_specified, struct arglist *tokens)
+{
+   ASSERTION_HASHNODE *hp;
+   int                 hashcode = hashf(name, sym_length, ASSERTION_HASHSIZE);
+
+   if (CPP_PEDANTIC(pfile) && !CPP_BUFFER(pfile)->system_header_p)
+      cpp_pedwarn(pfile, "ANSI C does not allow testing assertions");
+
+   hp = assertion_lookup(pfile, name, sym_length, hashcode);
+   if (!hp)
+      /* It is not an assertion; just return false.  */
+      return 0;
+
+   /* If no token list was specified, then value is 1.  */
+   if (!tokens_specified)
+      return 1;
+
+   {
+      struct tokenlist_list *tail;
+
+      tail = hp->value;
+
+      /* If a list of tokens was given,
+       * then succeed if the assertion records a matching list.  */
+
+      while (tail)
+       {
+          if (compare_token_lists(tail->tokens, tokens))
+             return 1;
+          tail = tail->next;
+       }
+
+      /* Fail if the assertion has no matching list.  */
+      return 0;
+   }
+}
+
+/* Compare two lists of tokens for equality including order of tokens.  */
+
+static int
+compare_token_lists(struct arglist *l1, struct arglist *l2)
+{
+   while (l1 && l2)
+     {
+       if (l1->length != l2->length)
+          return 0;
+       if (strncmp(l1->name, l2->name, l1->length))
+          return 0;
+       l1 = l1->next;
+       l2 = l2->next;
+     }
+
+   /* Succeed if both lists end at the same time.  */
+   return l1 == l2;
+}
+
+struct arglist     *
+reverse_token_list(struct arglist *tokens)
+{
+   struct arglist     *prev = 0, *cur, *next;
+
+   for (cur = tokens; cur; cur = next)
+     {
+       next = cur->next;
+       cur->next = prev;
+       prev = cur;
+     }
+   return prev;
+}
+
+/* Read a space-separated list of tokens ending in a close parenthesis.
+ * Return a list of strings, in the order they were written.
+ * (In case of error, return 0 and store -1 in *ERROR_FLAG.) */
+
+static struct arglist *
+read_token_list(cpp_reader * pfile, int *error_flag)
+{
+   struct arglist     *token_ptrs = 0;
+   int                 depth = 1;
+   int                 length;
+
+   *error_flag = 0;
+   FORWARD(1);                 /* Skip '(' */
+
+   /* Loop over the assertion value tokens.  */
+   while (depth > 0)
+     {
+       struct arglist     *temp;
+       long                name_written = CPP_WRITTEN(pfile);
+       int                 c;
+
+       cpp_skip_hspace(pfile);
+
+       c = GETC();
+
+       /* Find the end of the token.  */
+       if (c == '(')
+         {
+            CPP_PUTC(pfile, c);
+            depth++;
+         }
+       else if (c == ')')
+         {
+            depth--;
+            if (depth == 0)
+               break;
+            CPP_PUTC(pfile, c);
+         }
+       else if (c == '"' || c == '\'')
+         {
+            FORWARD(-1);
+            cpp_get_token(pfile);
+         }
+       else if (c == '\n')
+          break;
+       else
+         {
+            while (c != EOF && !is_space[c] && c != '(' && c != ')'
+                   && c != '"' && c != '\'')
+              {
+                 CPP_PUTC(pfile, c);
+                 c = GETC();
+              }
+            if (c != EOF)
+               FORWARD(-1);
+         }
+
+       length = CPP_WRITTEN(pfile) - name_written;
+       temp = (struct arglist *)xmalloc(sizeof(struct arglist) + length + 1);
+
+       temp->name = (char *)(temp + 1);
+       memcpy(temp->name, (char *)(pfile->token_buffer + name_written),
+              length);
+       temp->name[length] = 0;
+       temp->next = token_ptrs;
+       token_ptrs = temp;
+       temp->length = length;
+
+       CPP_ADJUST_WRITTEN(pfile, -length);     /* pop */
+
+       if (c == EOF || c == '\n')
+         {                     /* FIXME */
+            cpp_error(pfile,
+                      "unterminated token sequence following  `#' operator");
+            return 0;
+         }
+     }
+
+   /* We accumulated the names in reverse order.
+    * Now reverse them to get the proper order.  */
+   return reverse_token_list(token_ptrs);
+}
+
+static void
+free_token_list(struct arglist *tokens)
+{
+   while (tokens)
+     {
+       struct arglist     *next = tokens->next;
+
+       free(tokens->name);
+       free(tokens);
+       tokens = next;
+     }
+}
+
+/* Get the file-mode and data size of the file open on FD
+ * and store them in *MODE_POINTER and *SIZE_POINTER.  */
+
+static int
+file_size_and_mode(int fd, int *mode_pointer, long int *size_pointer)
+{
+   struct stat         sbuf;
+
+   if (fstat(fd, &sbuf) < 0)
+      return (-1);
+   if (mode_pointer)
+      *mode_pointer = sbuf.st_mode;
+   if (size_pointer)
+      *size_pointer = sbuf.st_size;
+   return 0;
+}
+
+/* Read LEN bytes at PTR from descriptor DESC, for file FILENAME,
+ * retrying if necessary.  Return a negative value if an error occurs,
+ * otherwise return the actual number of bytes read,
+ * which must be LEN unless end-of-file was reached.  */
+
+static int
+safe_read(int desc, char *ptr, int len)
+{
+   int                 left = len;
+
+   while (left > 0)
+     {
+       int                 nchars = read(desc, ptr, left);
+
+       if (nchars < 0)
+         {
+#ifdef EINTR
+            if (errno == EINTR)
+               continue;
+#endif
+            return nchars;
+         }
+       if (nchars == 0)
+          break;
+       ptr += nchars;
+       left -= nchars;
+     }
+   return len - left;
+}
+
+static char        *
+savestring(const char *input)
+{
+   unsigned            size = strlen(input);
+   char               *output = (char *)xmalloc(size + 1);
+
+   strcpy(output, input);
+   return output;
+}
+
+/* Initialize PMARK to remember the current position of PFILE. */
+void
+parse_set_mark(struct parse_marker *pmark, cpp_reader * pfile)
+{
+   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
+
+   pmark->next = pbuf->marks;
+   pbuf->marks = pmark;
+   pmark->buf = pbuf;
+   pmark->position = pbuf->cur - pbuf->buf;
+}
+
+/* Cleanup PMARK - we no longer need it. */
+static void
+parse_clear_mark(struct parse_marker *pmark)
+{
+   struct parse_marker **pp = &pmark->buf->marks;
+
+   for (;; pp = &(*pp)->next)
+     {
+       if (!*pp)
+          cpp_fatal("internal error", "in parse_set_mark");
+       if (*pp == pmark)
+          break;
+     }
+   *pp = pmark->next;
+}
+
+/* Backup the current position of PFILE to that saved in PMARK. */
+
+static void
+parse_goto_mark(struct parse_marker *pmark, cpp_reader * pfile)
+{
+   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
+
+   if (pbuf != pmark->buf)
+      cpp_fatal("internal error %s", "parse_goto_mark");
+   pbuf->cur = pbuf->buf + pmark->position;
+}
+
+/* Reset PMARK to point to the current position of PFILE.  (Same
+ * as parse_clear_mark (PMARK), parse_set_mark (PMARK, PFILE) but faster. */
+
+static void
+parse_move_mark(struct parse_marker *pmark, cpp_reader * pfile)
+{
+   cpp_buffer         *pbuf = CPP_BUFFER(pfile);
+
+   if (pbuf != pmark->buf)
+      cpp_fatal("internal error %s", "parse_move_mark");
+   pmark->position = pbuf->cur - pbuf->buf;
+}
+
+int
+cpp_read_check_assertion(cpp_reader * pfile)
+{
+   int                 name_start = CPP_WRITTEN(pfile);
+   int                 name_length, name_written;
+   int                 result;
+
+   FORWARD(1);                 /* Skip '#' */
+   cpp_skip_hspace(pfile);
+   parse_name(pfile, GETC());
+   name_written = CPP_WRITTEN(pfile);
+   name_length = name_written - name_start;
+   cpp_skip_hspace(pfile);
+   if (CPP_BUF_PEEK(CPP_BUFFER(pfile)) == '(')
+     {
+       int                 error_flag;
+       struct arglist     *token_ptrs = read_token_list(pfile, &error_flag);
+
+       result = check_assertion(pfile,
+                                (char *)pfile->token_buffer + name_start,
+                                name_length, 1, token_ptrs);
+     }
+   else
+      result = check_assertion(pfile,
+                              (char *)pfile->token_buffer + name_start,
+                              name_length, 0, NULL);
+   CPP_ADJUST_WRITTEN(pfile, -name_length);    /* pop */
+   return result;
+}
+
+static void
+cpp_print_file_and_line(cpp_reader * pfile)
+{
+   cpp_buffer         *ip = cpp_file_buffer(pfile);
+
+   if (ip)
+     {
+       long                line, col;
+
+       cpp_buf_line_and_col(ip, &line, &col);
+       cpp_file_line_for_message(pfile, ip->nominal_fname,
+                                 line, pfile->show_column ? col : -1);
+     }
+}
+
+static void
+cpp_error_v(cpp_reader * pfile, const char *msg, va_list args)
+{
+   cpp_print_containing_files(pfile);
+   cpp_print_file_and_line(pfile);
+   cpp_message_v(pfile, 1, msg, args);
+}
+
+void
+cpp_error(cpp_reader * pfile, const char *msg, ...)
+{
+   va_list             args;
+
+   va_start(args, msg);
+
+   cpp_error_v(pfile, msg, args);
+
+   va_end(args);
+}
+
+/* Print error message but don't count it.  */
+
+static void
+cpp_warning_v(cpp_reader * pfile, const char *msg, va_list args)
+{
+   if (CPP_OPTIONS(pfile)->inhibit_warnings)
+      return;
+
+   if (CPP_OPTIONS(pfile)->warnings_are_errors)
+      pfile->errors++;
+
+   cpp_print_containing_files(pfile);
+   cpp_print_file_and_line(pfile);
+   cpp_message_v(pfile, 0, msg, args);
+}
+
+void
+cpp_warning(cpp_reader * pfile, const char *msg, ...)
+{
+   va_list             args;
+
+   va_start(args, msg);
+
+   cpp_warning_v(pfile, msg, args);
+
+   va_end(args);
+}
+
+/* Print an error message and maybe count it.  */
+
+void
+cpp_pedwarn(cpp_reader * pfile, const char *msg, ...)
+{
+   va_list             args;
+
+   va_start(args, msg);
+
+   if (CPP_OPTIONS(pfile)->pedantic_errors)
+      cpp_error_v(pfile, msg, args);
+   else
+      cpp_warning_v(pfile, msg, args);
+
+   va_end(args);
+}
+
+static void
+cpp_error_with_line(cpp_reader * pfile, int line, int column, const char *msg)
+{
+   cpp_buffer         *ip = cpp_file_buffer(pfile);
+
+   cpp_print_containing_files(pfile);
+
+   if (ip)
+      cpp_file_line_for_message(pfile, ip->nominal_fname, line, column);
+
+   cpp_message(pfile, 1, msg, NULL, NULL, NULL);
+}
+
+static void
+cpp_warning_with_line(cpp_reader * pfile, int line, int column, const char *msg)
+{
+   cpp_buffer         *ip;
+
+   if (CPP_OPTIONS(pfile)->inhibit_warnings)
+      return;
+
+   if (CPP_OPTIONS(pfile)->warnings_are_errors)
+      pfile->errors++;
+
+   cpp_print_containing_files(pfile);
+
+   ip = cpp_file_buffer(pfile);
+
+   if (ip)
+      cpp_file_line_for_message(pfile, ip->nominal_fname, line, column);
+
+   cpp_message(pfile, 0, msg, NULL, NULL, NULL);
+}
+
+static void
+cpp_pedwarn_with_line(cpp_reader * pfile, int line, int column, const char *msg)
+{
+   if (CPP_OPTIONS(pfile)->pedantic_errors)
+      cpp_error_with_line(pfile, column, line, msg);
+   else
+      cpp_warning_with_line(pfile, line, column, msg);
+}
+
+/* Report a warning (or an error if pedantic_errors)
+ * giving specified file name and line number, not current.  */
+
+void
+cpp_pedwarn_with_file_and_line(cpp_reader * pfile,
+                              const char *file, int line,
+                              const char *msg, const char *arg1,
+                              const char *arg2, const char *arg3)
+{
+   if (!CPP_OPTIONS(pfile)->pedantic_errors
+       && CPP_OPTIONS(pfile)->inhibit_warnings)
+      return;
+   if (file)
+      cpp_file_line_for_message(pfile, file, line, -1);
+   cpp_message(pfile, CPP_OPTIONS(pfile)->pedantic_errors,
+              msg, arg1, arg2, arg3);
+}
+
+/* This defines "errno" properly for VMS, and gives us EACCES. */
+#include <errno.h>
+#ifndef errno
+extern int          errno;
+
+#endif
+
+#ifndef HAVE_STRERROR
+extern int          sys_nerr;
+
+#if defined(bsd4_4)
+extern const char  *const sys_errlist[];
+
+#else
+extern char        *sys_errlist[];
+
+#endif
+#endif /* HAVE_STRERROR */
+
+/*
+ * my_strerror - return the descriptive text associated with an `errno' code.
+ */
+
+static const char  *
+my_strerror(int errnum)
+{
+   const char         *result;
+
+#ifndef HAVE_STRERROR
+   result = ((errnum < sys_nerr) ? sys_errlist[errnum] : 0);
+#else
+   result = strerror(errnum);
+#endif
+
+   if (!result)
+      result = "undocumented I/O error";
+
+   return result;
+}
+
+/* Error including a message from `errno'.  */
+
+static void
+cpp_error_from_errno(cpp_reader * pfile, const char *name)
+{
+   cpp_buffer         *ip = cpp_file_buffer(pfile);
+
+   cpp_print_containing_files(pfile);
+
+   if (ip)
+      cpp_file_line_for_message(pfile, ip->nominal_fname, ip->lineno, -1);
+
+   cpp_message(pfile, 1, "%s: %s", name, my_strerror(errno), NULL);
+}
+
+void
+cpp_perror_with_name(cpp_reader * pfile, const char *name)
+{
+   cpp_message(pfile, 1, "%s: %s: %s", progname, name, my_strerror(errno));
+}
+
+/* TODO:
+ * No pre-compiled header file support.
+ *
+ * Possibly different enum token codes for each C/C++ token.
+ *
+ * Should clean up remaining directives to that do_XXX functions
+ *   only take two arguments and all have command_reads_line.
+ *
+ * Find and cleanup remaining uses of static variables,
+ *
+ * Support for trigraphs.
+ *
+ * Support -dM flag (dump_all_macros).
+ *
+ * Support for_lint flag.
+ */
+
+extern cpp_options         options;
+
+void
+using_file(const char *filename, const char type)
+{
+   FILE *f;
+
+   f = fopen(options.watchfile, "a");
+   if (!f) return ;
+   if (anotate)
+     {
+        fprintf(f, "%c: %s\n", type, filename);
+     }
+   else
+     {
+        fputs(filename, f);
+        fputc('\n', f);
+     }
+   fclose(f);
+}
diff --git a/src/bin/edje/epp/cpplib.h b/src/bin/edje/epp/cpplib.h
new file mode 100644 (file)
index 0000000..310c424
--- /dev/null
@@ -0,0 +1,646 @@
+/* Definitions for CPP library.
+   Copyright (C) 1995 Free Software Foundation, Inc.
+   Written by Per Bothner, 1994-95.
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ In other words, you are welcome to use, share and improve this program.
+ You are forbidden to forbid anyone else to use, share and improve
+ what you give them.   Help stamp out software-hoarding!  */
+
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifndef HOST_BITS_PER_WIDE_INT
+
+#if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
+#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
+#define HOST_WIDE_INT long
+#else
+#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
+#define HOST_WIDE_INT int
+#endif
+
+#endif
+
+#define STATIC_BUFFERS
+
+typedef struct cpp_reader cpp_reader;
+typedef struct cpp_buffer cpp_buffer;
+typedef struct cpp_options cpp_options;
+
+enum cpp_token {
+   CPP_EOF = -1,
+   CPP_OTHER = 0,
+   CPP_COMMENT = 1,
+   CPP_HSPACE,
+   CPP_VSPACE,                 /* newlines and #line directives */
+   CPP_NAME,
+   CPP_NUMBER,
+   CPP_CHAR,
+   CPP_STRING,
+   CPP_DIRECTIVE,
+   CPP_LPAREN,                 /* "(" */
+   CPP_RPAREN,                 /* ")" */
+   CPP_LBRACE,                 /* "{" */
+   CPP_RBRACE,                 /* "}" */
+   CPP_COMMA,                  /* "," */
+   CPP_SEMICOLON,              /* ";" */
+   CPP_3DOTS,                  /* "..." */
+   /* POP_TOKEN is returned when we've popped a cpp_buffer. */
+   CPP_POP
+};
+
+typedef enum cpp_token (*parse_underflow_t) (cpp_reader *);
+typedef int         (*parse_cleanup_t) (cpp_buffer *, cpp_reader *);
+
+/* A parse_marker indicates a previous position,
+   which we can backtrack to. */
+
+struct parse_marker {
+   cpp_buffer         *buf;
+   struct parse_marker *next;
+   int                 position;
+};
+
+extern int          cpp_handle_options(cpp_reader * pfile, int, char **);
+extern enum cpp_token cpp_get_token(cpp_reader * pfile);
+extern void         cpp_skip_hspace(cpp_reader * pfile);
+
+/* Maintain and search list of included files, for #import.  */
+
+#define IMPORT_HASH_SIZE 31
+
+struct import_file {
+   char               *name;
+   ino_t               inode;
+   dev_t               dev;
+   struct import_file *next;
+};
+
+/* If we have a huge buffer, may need to cache more recent counts */
+#define CPP_LINE_BASE(BUF) ((BUF)->buf + (BUF)->line_base)
+
+enum dump_type {
+   dump_none = 0, dump_only, dump_names, dump_definitions
+};
+
+struct cpp_buffer {
+   unsigned char      *buf;
+   unsigned char      *cur;
+   unsigned char      *rlimit; /* end of valid data */
+   unsigned char      *alimit; /* end of allocated buffer */
+   unsigned char      *prev;   /* start of current token */
+
+   const char         *fname;
+   /* Filename specified with #line command.  */
+   const char         *nominal_fname;
+
+   /* Record where in the search path this file was found.
+    * For #include_next.  */
+   struct file_name_list *dir;
+
+   long                line_base;
+   long                lineno; /* Line number at CPP_LINE_BASE. */
+   long                colno;  /* Column number at CPP_LINE_BASE. */
+#ifndef STATIC_BUFFERS
+   cpp_buffer         *chain;
+#endif
+   parse_underflow_t   underflow;
+   parse_cleanup_t     cleanup;
+   void               *data;
+   struct parse_marker *marks;
+   /* Value of if_stack at start of this file.
+    * Used to prohibit unmatched #endif (etc) in an include file.  */
+   struct if_stack    *if_stack;
+
+   /* True if this is a header file included using <FILENAME>.  */
+   char                system_header_p;
+   char                seen_eof;
+
+   /* True if buffer contains escape sequences.
+    * Currently there are are only two kind:
+    * "@-" means following identifier should not be macro-expanded.
+    * "@ " means a token-separator.  This turns into " " in final output
+    * if not stringizing and needed to separate tokens; otherwise nothing.
+    * "@@" means a normal '@'.
+    * (An '@' inside a string stands for itself and is never an escape.) */
+   char                has_escapes;
+};
+
+struct cpp_pending;            /* Forward declaration - for C++. */
+struct file_name_map_list;
+
+typedef struct assertion_hashnode ASSERTION_HASHNODE;
+
+#define ASSERTION_HASHSIZE 37
+
+#ifdef STATIC_BUFFERS
+/* Maximum nesting of cpp_buffers.  We use a static limit, partly for
+   efficiency, and partly to limit runaway recursion.  */
+#define CPP_STACK_MAX 200
+#endif
+
+struct cpp_reader {
+   unsigned char      *limit;
+   parse_underflow_t   get_token;
+   cpp_buffer         *buffer;
+#ifdef STATIC_BUFFERS
+   cpp_buffer          buffer_stack[CPP_STACK_MAX];
+#endif
+
+   int                 errors; /* Error counter for exit code */
+   void               *data;
+
+   unsigned char      *token_buffer;
+   int                 token_buffer_size;
+
+   /* Line where a newline was first seen in a string constant.  */
+   int                 multiline_string_line;
+
+   /* Current depth in #include directives that use <...>.  */
+   int                 system_include_depth;
+
+   /* List of included files that contained #pragma once.  */
+   struct file_name_list *dont_repeat_files;
+
+   /* List of other included files.
+    * If ->control_macro if nonzero, the file had a #ifndef
+    * around the entire contents, and ->control_macro gives the macro name.  */
+   struct file_name_list *all_include_files;
+
+   /* Current maximum length of directory names in the search path
+    * for include files.  (Altered as we get more of them.)  */
+   int                 max_include_len;
+
+   /* Hash table of files already included with #include or #import.  */
+   struct import_file *import_hash_table[IMPORT_HASH_SIZE];
+
+   struct if_stack    *if_stack;
+
+   /* Nonzero means we are inside an IF during a -pcp run.  In this mode
+    * macro expansion is done, and preconditions are output for all macro
+    * uses requiring them. */
+   char                pcp_inside_if;
+
+   /* Nonzero means we have printed (while error reporting) a list of
+    * containing files that matches the current status. */
+   char                input_stack_listing_current;
+
+   /* If non-zero, macros are not expanded. */
+   char                no_macro_expand;
+
+   /* Print column number in error messages. */
+   char                show_column;
+
+   /* We're printed a warning recommending against using #import. */
+   char                import_warning;
+
+   /* If true, character between '<' and '>' are a single (string) token. */
+   char                parsing_include_directive;
+
+   /* True if escape sequences (as described for has_escapes in
+    * parse_buffer) should be emitted. */
+   char                output_escapes;
+
+   /* 0: Have seen non-white-space on this line.
+    * 1: Only seen white space so far on this line.
+    * 2: Only seen white space so far in this file. */
+   char                only_seen_white;
+
+   /* Nonzero means this file was included with a -imacros or -include
+    * command line and should not be recorded as an include file.  */
+
+   int                 no_record_file;
+
+   long                lineno;
+
+   struct tm          *timebuf;
+
+   ASSERTION_HASHNODE *assertion_hashtab[ASSERTION_HASHSIZE];
+
+   /* Buffer of -M output.  */
+   char               *deps_buffer;
+
+   /* Number of bytes allocated in above.  */
+   int                 deps_allocated_size;
+
+   /* Number of bytes used.  */
+   int                 deps_size;
+
+   /* Number of bytes since the last newline.  */
+   int                 deps_column;
+};
+
+#define CPP_BUF_PEEK(BUFFER) \
+  ((BUFFER)->cur < (BUFFER)->rlimit ? *(BUFFER)->cur : EOF)
+#define CPP_BUF_GET(BUFFER) \
+  ((BUFFER)->cur < (BUFFER)->rlimit ? *(BUFFER)->cur++ : EOF)
+#define CPP_FORWARD(BUFFER, N) ((BUFFER)->cur += (N))
+
+/* Number of characters currently in PFILE's output buffer. */
+#define CPP_WRITTEN(PFILE) ((PFILE)->limit - (PFILE)->token_buffer)
+#define CPP_PWRITTEN(PFILE) ((PFILE)->limit)
+
+/* Make sure PFILE->token_buffer has space for at least N more characters. */
+#define CPP_RESERVE(PFILE, N) \
+  ((unsigned int)(CPP_WRITTEN (PFILE) + N) > (unsigned int) (PFILE)->token_buffer_size \
+   && (cpp_grow_buffer (PFILE, N), 0))
+
+/* Append string STR (of length N) to PFILE's output buffer.
+   Assume there is enough space. */
+#define CPP_PUTS_Q(PFILE, STR, N) \
+  do { memcpy ((PFILE)->limit, STR, (N)); (PFILE)->limit += (N); } while(0)
+/* Append string STR (of length N) to PFILE's output buffer.  Make space. */
+#define CPP_PUTS(PFILE, STR, N) \
+  do { CPP_RESERVE(PFILE, N); CPP_PUTS_Q(PFILE, STR,N); } while(0)
+/* Append character CH to PFILE's output buffer.  Assume sufficient space. */
+#define CPP_PUTC_Q(PFILE, CH) (*(PFILE)->limit++ = (CH))
+/* Append character CH to PFILE's output buffer.  Make space if need be. */
+#define CPP_PUTC(PFILE, CH) \
+  do { CPP_RESERVE (PFILE, 1); CPP_PUTC_Q (PFILE, CH); } while(0)
+/* Make sure PFILE->limit is followed by '\0'. */
+#define CPP_NUL_TERMINATE_Q(PFILE) (*(PFILE)->limit = 0)
+#define CPP_NUL_TERMINATE(PFILE) \
+  do { CPP_RESERVE(PFILE, 1); *(PFILE)->limit = 0; } while(0)
+#define CPP_ADJUST_WRITTEN(PFILE,DELTA) ((PFILE)->limit += (DELTA))
+#define CPP_SET_WRITTEN(PFILE,N) ((PFILE)->limit = (PFILE)->token_buffer + (N))
+
+#define CPP_OPTIONS(PFILE) ((cpp_options*)(PFILE)->data)
+#define CPP_BUFFER(PFILE) ((PFILE)->buffer)
+#ifdef STATIC_BUFFERS
+#define CPP_PREV_BUFFER(BUFFER) ((BUFFER)+1)
+#define CPP_NULL_BUFFER(PFILE) (&(PFILE)->buffer_stack[CPP_STACK_MAX])
+#else
+#define CPP_PREV_BUFFER(BUFFER) ((BUFFER)->chain)
+#define CPP_NULL_BUFFER(PFILE) ((cpp_buffer*)0)
+#endif
+
+/* Pointed to by parse_file::data. */
+struct cpp_options {
+   const char         *in_fname;
+
+   /* Name of output file, for error messages.  */
+   const char         *out_fname;
+
+   struct file_name_map_list *map_list;
+
+   /* Non-0 means -v, so print the full set of include dirs.  */
+   char                verbose;
+
+   /* Nonzero means use extra default include directories for C++.  */
+
+   char                cplusplus;
+
+   /* Nonzero means handle cplusplus style comments */
+
+   char                cplusplus_comments;
+
+   /* Nonzero means handle #import, for objective C.  */
+
+   char                objc;
+
+   /* Nonzero means this is an assembly file, and allow
+    * unknown directives, which could be comments.  */
+
+   int                 lang_asm;
+
+   /* Nonzero means turn NOTREACHED into #pragma NOTREACHED etc */
+
+   char                for_lint;
+
+   /* Nonzero means handle CHILL comment syntax
+    * and output CHILL string delimiter for __DATE___ etc. */
+
+   char                chill;
+
+   /* Nonzero means copy comments into the output file.  */
+
+   char                put_out_comments;
+
+   /* Nonzero means don't process the ANSI trigraph sequences.  */
+
+   char                no_trigraphs;
+
+   /* Nonzero means print the names of included files rather than
+    * the preprocessed output.  1 means just the #include "...",
+    * 2 means #include <...> as well.  */
+
+   char                print_deps;
+
+   /* Nonzero if missing .h files in -M output are assumed to be generated
+    * files and not errors.  */
+
+   char                print_deps_missing_files;
+
+   /* If true, fopen (deps_file, "a") else fopen (deps_file, "w"). */
+   char                print_deps_append;
+
+   /* Nonzero means print names of header files (-H).  */
+
+   char                print_include_names;
+
+   /* Nonzero means try to make failure to fit ANSI C an error.  */
+
+   char                pedantic_errors;
+
+   /* Nonzero means don't print warning messages.  -w.  */
+
+   char                inhibit_warnings;
+
+   /* Nonzero means warn if slash-star appears in a comment.  */
+
+   char                warn_comments;
+
+   /* Nonzero means warn if there are any trigraphs.  */
+
+   char                warn_trigraphs;
+
+   /* Nonzero means warn if #import is used.  */
+
+   char                warn_import;
+
+   /* Nonzero means warn if a macro argument is (or would be)
+    * stringified with -traditional.  */
+
+   char                warn_stringify;
+
+   /* Nonzero means turn warnings into errors.  */
+
+   char                warnings_are_errors;
+
+   /* Nonzero causes output not to be done,
+    * but directives such as #define that have side effects
+    * are still obeyed.  */
+
+   char                no_output;
+
+   /* Nonzero means don't output line number information.  */
+
+   char                no_line_commands;
+
+/* Nonzero means output the text in failing conditionals,
+   inside #failed ... #endfailed.  */
+
+   char                output_conditionals;
+
+   /* Nonzero means -I- has been seen,
+    * so don't look for #include "foo" the source-file directory.  */
+   char                ignore_srcdir;
+
+/* Zero means dollar signs are punctuation.
+   -$ stores 0; -traditional may store 1.  Default is 1 for VMS, 0 otherwise.
+   This must be 0 for correct processing of this ANSI C program:
+       #define foo(a) #a
+       #define lose(b) foo (b)
+       #define test$
+       lose (test)     */
+   char                dollars_in_ident;
+#ifndef DOLLARS_IN_IDENTIFIERS
+#define DOLLARS_IN_IDENTIFIERS 1
+#endif
+
+   /* Nonzero means try to imitate old fashioned non-ANSI preprocessor.  */
+   char                traditional;
+
+   /* Nonzero means give all the error messages the ANSI standard requires.  */
+   char                pedantic;
+
+   char                done_initializing;
+
+   struct file_name_list *include;     /* First dir to search */
+   /* First dir to search for <file> */
+   /* This is the first element to use for #include <...>.
+    * If it is 0, use the entire chain for such includes.  */
+   struct file_name_list *first_bracket_include;
+   /* This is the first element in the chain that corresponds to
+    * a directory of system header files.  */
+   struct file_name_list *first_system_include;
+   struct file_name_list *last_include;        /* Last in chain */
+
+   /* Chain of include directories to put at the end of the other chain.  */
+   struct file_name_list *after_include;
+   struct file_name_list *last_after_include;  /* Last in chain */
+
+   /* Chain to put at the start of the system include files.  */
+   struct file_name_list *before_system;
+   struct file_name_list *last_before_system;  /* Last in chain */
+
+   /* Directory prefix that should replace `/usr' in the standard
+    * include file directories.  */
+   char               *include_prefix;
+
+   char                inhibit_predefs;
+   char                no_standard_includes;
+   char                no_standard_cplusplus_includes;
+
+/* dump_only means inhibit output of the preprocessed text
+             and instead output the definitions of all user-defined
+             macros in a form suitable for use as input to cccp.
+   dump_names means pass #define and the macro name through to output.
+   dump_definitions means pass the whole definition (plus #define) through
+*/
+
+   enum dump_type      dump_macros;
+
+/* Nonzero means pass all #define and #undef directives which we actually
+   process through to the output stream.  This feature is used primarily
+   to allow cc1 to record the #defines and #undefs for the sake of
+   debuggers which understand about preprocessor macros, but it may
+   also be useful with -E to figure out how symbols are defined, and
+   where they are defined.  */
+   int                 debug_output;
+
+   /* Pending -D, -U and -A options, in reverse order. */
+   struct cpp_pending *pending;
+
+   /* File name which deps are being written to.
+    * This is 0 if deps are being written to stdout.  */
+   char               *deps_file;
+
+   /* Target-name to write with the dependency information.  */
+   char               *deps_target;
+
+   /* Target file to write all include file */
+   const char         *watchfile;
+};
+
+#define CPP_TRADITIONAL(PFILE) (CPP_OPTIONS(PFILE)-> traditional)
+#define CPP_PEDANTIC(PFILE) (CPP_OPTIONS (PFILE)->pedantic)
+#define CPP_PRINT_DEPS(PFILE) (CPP_OPTIONS (PFILE)->print_deps)
+
+/* Name under which this program was invoked.  */
+
+extern char        *progname;
+
+/* The structure of a node in the hash table.  The hash table
+   has entries for all tokens defined by #define commands (type T_MACRO),
+   plus some special tokens like __LINE__ (these each have their own
+   type, and the appropriate code is run when that type of node is seen.
+   It does not contain control words like "#define", which are recognized
+   by a separate piece of code. */
+
+/* different flavors of hash nodes --- also used in keyword table */
+enum node_type {
+   T_DEFINE = 1,               /* the `#define' keyword */
+   T_INCLUDE,                  /* the `#include' keyword */
+   T_INCLUDE_NEXT,             /* the `#include_next' keyword */
+   T_IMPORT,                   /* the `#import' keyword */
+   T_IFDEF,                    /* the `#ifdef' keyword */
+   T_IFNDEF,                   /* the `#ifndef' keyword */
+   T_IF,                       /* the `#if' keyword */
+   T_ELSE,                     /* `#else' */
+   T_PRAGMA,                   /* `#pragma' */
+   T_ELIF,                     /* `#elif' */
+   T_UNDEF,                    /* `#undef' */
+   T_LINE,                     /* `#line' */
+   T_ERROR,                    /* `#error' */
+   T_WARNING,                  /* `#warning' */
+   T_ENDIF,                    /* `#endif' */
+   T_SCCS,                     /* `#sccs', used on system V.  */
+   T_IDENT,                    /* `#ident', used on system V.  */
+   T_ASSERT,                   /* `#assert', taken from system V.  */
+   T_UNASSERT,                 /* `#unassert', taken from system V.  */
+   T_SPECLINE,                 /* special symbol `__LINE__' */
+   T_DATE,                     /* `__DATE__' */
+   T_FILE,                     /* `__FILE__' */
+   T_BASE_FILE,                        /* `__BASE_FILE__' */
+   T_INCLUDE_LEVEL,            /* `__INCLUDE_LEVEL__' */
+   T_VERSION,                  /* `__VERSION__' */
+   T_SIZE_TYPE,                        /* `__SIZE_TYPE__' */
+   T_PTRDIFF_TYPE,             /* `__PTRDIFF_TYPE__' */
+   T_WCHAR_TYPE,               /* `__WCHAR_TYPE__' */
+   T_USER_LABEL_PREFIX_TYPE,   /* `__USER_LABEL_PREFIX__' */
+   T_REGISTER_PREFIX_TYPE,     /* `__REGISTER_PREFIX__' */
+   T_TIME,                     /* `__TIME__' */
+   T_CONST,                    /* Constant value, used by `__STDC__' */
+   T_MACRO,                    /* macro defined by `#define' */
+   T_DISABLED,                 /* macro temporarily turned off for rescan */
+   T_SPEC_DEFINED,             /* special `defined' macro for use in #if statements */
+   T_PCSTRING,                 /* precompiled string (hashval is KEYDEF *) */
+   T_UNUSED                    /* Used for something not defined.  */
+};
+
+/* Structure allocated for every #define.  For a simple replacement
+   such as
+       #define foo bar ,
+   nargs = -1, the `pattern' list is null, and the expansion is just
+   the replacement text.  Nargs = 0 means a functionlike macro with no args,
+   e.g.,
+       #define getchar() getc (stdin) .
+   When there are args, the expansion is the replacement text with the
+   args squashed out, and the reflist is a list describing how to
+   build the output from the input: e.g., "3 chars, then the 1st arg,
+   then 9 chars, then the 3rd arg, then 0 chars, then the 2nd arg".
+   The chars here come from the expansion.  Whatever is left of the
+   expansion after the last arg-occurrence is copied after that arg.
+   Note that the reflist can be arbitrarily long---
+   its length depends on the number of times the arguments appear in
+   the replacement text, not how many args there are.  Example:
+   #define f(x) x+x+x+x+x+x+x would have replacement text "++++++" and
+   pattern list
+     { (0, 1), (1, 1), (1, 1), ..., (1, 1), NULL }
+   where (x, y) means (nchars, argno). */
+
+typedef struct reflist reflist;
+struct reflist {
+   reflist            *next;
+   char                stringify;      /* nonzero if this arg was preceded by a
+                                        * # operator. */
+   char                raw_before;     /* Nonzero if a ## operator before arg. */
+   char                raw_after;      /* Nonzero if a ## operator after arg. */
+   char                rest_args;      /* Nonzero if this arg. absorbs the rest */
+   int                 nchars; /* Number of literal chars to copy before
+                                * this arg occurrence.  */
+   int                 argno;  /* Number of arg to substitute (origin-0) */
+};
+
+typedef struct definition DEFINITION;
+struct definition {
+   int                 nargs;
+   int                 length; /* length of expansion string */
+   int                 predefined;     /* True if the macro was builtin or */
+   /* came from the command line */
+   unsigned char      *expansion;
+   int                 line;   /* Line number of definition */
+   const char         *file;   /* File of definition */
+   char                rest_args;      /* Nonzero if last arg. absorbs the rest */
+   reflist            *pattern;
+   union {
+      /* Names of macro args, concatenated in reverse order
+       * with comma-space between them.
+       * The only use of this is that we warn on redefinition
+       * if this differs between the old and new definitions.  */
+      unsigned char      *argnames;
+   } args;
+};
+
+extern unsigned char is_idchar[256];
+
+/* Stack of conditionals currently in progress
+   (including both successful and failing conditionals).  */
+
+struct if_stack {
+   struct if_stack    *next;   /* for chaining to the next stack frame */
+   const char         *fname;  /* copied from input when frame is made */
+   int                 lineno; /* similarly */
+   int                 if_succeeded;   /* true if a leg of this if-group
+                                        * has been passed through rescan */
+   unsigned char      *control_macro;  /* For #ifndef at start of file,
+                                        * this is the macro name tested.  */
+   enum node_type      type;   /* type of last directive seen in this group */
+};
+typedef struct if_stack IF_STACK_FRAME;
+
+extern void         cpp_buf_line_and_col(cpp_buffer *, long *, long *);
+extern cpp_buffer  *cpp_file_buffer(cpp_reader *);
+extern void         cpp_define(cpp_reader *, unsigned char *);
+
+extern void         cpp_error(cpp_reader * pfile, const char *msg, ...);
+extern void         cpp_warning(cpp_reader * pfile, const char *msg, ...);
+extern void         cpp_pedwarn(cpp_reader * pfile, const char *msg, ...);
+extern void         cpp_fatal(const char *msg, ...);
+extern void         cpp_file_line_for_message(cpp_reader * pfile,
+                                             const char *filename, int line,
+                                             int column);
+extern void         cpp_perror_with_name(cpp_reader * pfile, const char *name);
+extern void         cpp_pfatal_with_name(cpp_reader * pfile, const char *name);
+extern void         cpp_message(cpp_reader * pfile, int is_error,
+                               const char *msg, ...);
+extern void         cpp_message_v(cpp_reader * pfile, int is_error,
+                                 const char *msg, va_list args);
+
+extern void         cpp_grow_buffer(cpp_reader * pfile, long n);
+extern int          cpp_parse_escape(cpp_reader * pfile, char **string_ptr);
+
+void                cpp_print_containing_files(cpp_reader * pfile);
+HOST_WIDE_INT       cpp_parse_expr(cpp_reader * pfile);
+void                skip_rest_of_line(cpp_reader * pfile);
+void                init_parse_file(cpp_reader * pfile);
+void                init_parse_options(struct cpp_options *opts);
+int                 push_parse_file(cpp_reader * pfile, const char *fname);
+void                cpp_finish(cpp_reader * pfile);
+int                 cpp_read_check_assertion(cpp_reader * pfile);
+
+void               *xmalloc(unsigned size);
+void               *xrealloc(void *old, unsigned size);
+void               *xcalloc(unsigned number, unsigned size);
+
+void                using_file(const char *filename, const char type);
+
+#ifdef __EMX__
+#define PATH_SEPARATOR ';'
+#endif
diff --git a/src/bin/edje/epp/cppmain.c b/src/bin/edje/epp/cppmain.c
new file mode 100644 (file)
index 0000000..ea0a0b2
--- /dev/null
@@ -0,0 +1,147 @@
+/* CPP main program, using CPP Library.
+ * Copyright (C) 1995 Free Software Foundation, Inc.
+ * Written by Per Bothner, 1994-95.
+ * Copyright (C) 2003-2011 Kim Woelders
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * 
+ * In other words, you are welcome to use, share and improve this program.
+ * You are forbidden to forbid anyone else to use, share and improve
+ * what you give them.   Help stamp out software-hoarding!  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "cpplib.h"
+
+#define EPP_DEBUG 0
+
+cpp_reader          parse_in;
+cpp_options         options;
+
+int
+main(int argc, char **argv)
+{
+   char               *p;
+   int                 i;
+   int                 argi = 1;       /* Next argument to handle. */
+   struct cpp_options *opts = &options;
+   enum cpp_token      kind;
+#if EPP_DEBUG
+   int                 got_text = 0;
+#endif
+
+   p = argv[0] + strlen(argv[0]);
+#ifndef __EMX__
+   while (p != argv[0] && p[-1] != '/')
+#else
+   while (p != argv[0] && p[-1] != '/' && p[-1] != '\\')
+#endif
+      --p;
+   progname = p;
+
+   init_parse_file(&parse_in);
+   parse_in.data = opts;
+
+   init_parse_options(opts);
+
+   argi += cpp_handle_options(&parse_in, argc - argi, argv + argi);
+   if (argi < argc)
+      cpp_fatal("Invalid option `%s'", argv[argi]);
+   parse_in.show_column = 1;
+
+   i = push_parse_file(&parse_in, opts->in_fname);
+   if (i != SUCCESS_EXIT_CODE)
+      return i;
+
+   /* Now that we know the input file is valid, open the output.  */
+
+   if (!opts->out_fname || !strcmp(opts->out_fname, ""))
+      opts->out_fname = "stdout";
+   else if (!freopen(opts->out_fname, "w", stdout))
+      cpp_pfatal_with_name(&parse_in, opts->out_fname);
+
+   for (i = 0;; i++)
+     {
+       kind = cpp_get_token(&parse_in);
+#if EPP_DEBUG
+       fprintf(stderr, "%03d: kind=%d len=%d out=%d text=%d\n", i,
+               kind, CPP_WRITTEN(&parse_in), !opts->no_output, got_text);
+#endif
+       switch (kind)
+         {
+         case CPP_EOF:
+            goto done;
+
+         case CPP_HSPACE:
+            continue;
+
+         case CPP_VSPACE:
+            break;
+
+         default:
+         case CPP_OTHER:
+         case CPP_NAME:
+         case CPP_NUMBER:
+         case CPP_CHAR:
+         case CPP_STRING:
+         case CPP_LPAREN:
+         case CPP_RPAREN:
+         case CPP_LBRACE:
+         case CPP_RBRACE:
+         case CPP_COMMA:
+         case CPP_SEMICOLON:
+         case CPP_3DOTS:
+#if EPP_DEBUG
+             got_text = 1;
+#endif
+            continue;
+
+         case CPP_COMMENT:
+         case CPP_DIRECTIVE:
+         case CPP_POP:
+            continue;
+         }
+#if EPP_DEBUG
+       fprintf(stderr, "'");
+       fwrite(parse_in.token_buffer, 1, CPP_WRITTEN(&parse_in), stderr);
+       fprintf(stderr, "'\n");
+#endif
+       if (!opts->no_output)
+         {
+            size_t n;
+
+            n = CPP_WRITTEN(&parse_in);
+            if (fwrite(parse_in.token_buffer, 1, n, stdout) != n)
+               exit(FATAL_EXIT_CODE);
+         }
+       parse_in.limit = parse_in.token_buffer;
+#if EPP_DEBUG
+        got_text = 0;
+#endif
+     }
+
+ done:
+   cpp_finish(&parse_in);
+
+   if (parse_in.errors)
+      exit(FATAL_EXIT_CODE);
+   exit(SUCCESS_EXIT_CODE);
+}
index 760bd3c1f66278c0e2316c9fd3e8deb4316bd1e2..f396f4f6e09ff4bd2aefd695731eded30734ecaa 100644 (file)
@@ -33,6 +33,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/stat.h>
 
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
@@ -581,8 +582,19 @@ parseoptions(int argc, char **argv, char *iname, char *oname,
    int i, stack_size;
    size_t len;
 
+   str[0] = '\0';
+   if (getenv("EFL_RUN_IN_TREE"))
+     {
+        struct stat st;
+        snprintf(str, sizeof(str), "%s/data/embryo/", PACKAGE_BUILD_DIR);
+        if (stat(str, &st) != 0)
+          str[0] = '\0';
+     }
+
+   if (str[0] == '\0')
+     snprintf(str, sizeof(str), "%s/include/", e_prefix_data_get());
+
    /* use embryo include dir always */
-   snprintf(str, sizeof(str), "%s/include/", e_prefix_data_get());
    insert_path(str);
    insert_path("./");
 
index 28e04223e8f8d44a43628909f677d4fe13995377..615af7ab59fb909ab0bb744df4f13c2b3f8a4cb0 100644 (file)
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-SUBDIRS = eina eo eet evas ecore eio edbus ephysics
+SUBDIRS = eina eo eet evas ecore eio edbus ephysics edje
 
 examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C eina examples
@@ -11,6 +11,7 @@ examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C eio examples
        @$(MAKE) $(AM_MAKEFLAGS) -C edbus examples
        @$(MAKE) $(AM_MAKEFLAGS) -C ephysics examples
+       @$(MAKE) $(AM_MAKEFLAGS) -C edje examples
 
 install-examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C eina install-examples
@@ -21,3 +22,4 @@ install-examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C eio install-examples
        @$(MAKE) $(AM_MAKEFLAGS) -C edbus install-examples
        @$(MAKE) $(AM_MAKEFLAGS) -C ephysics install-examples
+       @$(MAKE) $(AM_MAKEFLAGS) -C edje install-examples
diff --git a/src/examples/edje/Makefile.am b/src/examples/edje/Makefile.am
new file mode 100644 (file)
index 0000000..d1f5876
--- /dev/null
@@ -0,0 +1,198 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+EDJE_CC = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/edje/edje_cc
+EDJE_CC_FLAGS_VERBOSE_0 =
+EDJE_CC_FLAGS_VERBOSE_1 = -v
+EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE_$(V)) -id $(srcdir) -fd $(srcdir)
+
+AM_V_EDJ = $(am__v_EDJ_$(V))
+am__v_EDJ_ = $(am__v_EDJ_$(AM_DEFAULT_VERBOSITY))
+am__v_EDJ_0 = @echo "  EDJ   " $@;
+
+EDJE_CODEGEN = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/edje/edje_codegen
+EDJE_CODEGEN_FLAGS = --prefix=codegen_example
+
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+
+examplesdir = $(datadir)/edje/examples
+
+if ENABLE_MULTISENSE
+SND_DIR = -sd $(srcdir)
+endif
+
+#put here all EDCs one needs to the examples
+EDCS = \
+animations2.edc \
+animations.edc \
+basic2.edc \
+basic.edc \
+box.edc \
+codegen.edc \
+color-class.edc \
+drag.edc \
+edje_example.edc \
+edje-nested.edc \
+embryo_custom_state.edc \
+embryo_pong.edc \
+embryo_run_program.edc \
+embryo_set_state.edc \
+embryo_set_text.edc \
+embryo_timer.edc \
+external_elm_anchorblock.edc \
+external_elm_button.edc \
+external_elm_check.edc \
+external_elm_panes.edc \
+external_emotion_elm.edc \
+lua_script.edc \
+messages_echo.edc \
+perspective.edc \
+signalsBubble.edc \
+signals-messages.edc \
+sigtest.edc \
+swallow.edc \
+table.edc \
+text.edc \
+toggle_using_filter.edc
+
+if ENABLE_MULTISENSE
+EDCS += multisense.edc
+endif
+
+if HAVE_EPHYSICS
+EDCS += \
+physics_3d.edc \
+physics_actions.edc \
+physics_backcull.edc \
+physics_basic.edc \
+physics_complex.edc \
+physics_soft_bodies.edc
+endif
+
+.edc.edj:
+       $(AM_V_EDJ)$(EDJE_CC) $(EDJE_CC_FLAGS) $(SND_DIR) $< $(builddir)/$(@F)
+
+
+EDJS = $(EDCS:%.edc=%.edj)
+
+filesdir = $(datadir)/edje/examples
+files_DATA = \
+$(EDCS) \
+bubble.png \
+bubble-blue.png \
+red.png \
+test.png \
+Vera.ttf \
+duck.wav \
+edje-codegen-example.c \
+edje_example.c \
+edje-basic.c \
+edje-swallow.c \
+edje-text.c \
+edje-table.c \
+edje-box.c \
+edje-box2.c \
+edje-drag.c \
+edje-signals-messages.c \
+edje-color-class.c \
+edje-perspective.c \
+edje-animations.c \
+sigtest.c \
+animations2.c \
+edje-basic2.c \
+signals2.c \
+edje-swallow2.c
+
+if ENABLE_MULTISENSE
+files_DATA += edje-multisense.c
+endif
+
+EXTRA_DIST = $(files_DATA)
+
+AM_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/src/lib/eina \
+-I$(top_builddir)/src/lib/eina \
+-I$(top_srcdir)/src/lib/eo \
+-I$(top_builddir)/src/lib/eo \
+-I$(top_srcdir)/src/lib/eet \
+-I$(top_builddir)/src/lib/eet \
+-I$(top_srcdir)/src/lib/evas \
+-I$(top_builddir)/src/lib/evas \
+-I$(top_srcdir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_file \
+-I$(top_builddir)/src/lib/ecore_file \
+-I$(top_srcdir)/src/lib/ecore_input \
+-I$(top_builddir)/src/lib/ecore_input \
+-I$(top_srcdir)/src/lib/ecore_imf \
+-I$(top_builddir)/src/lib/ecore_imf \
+-I$(top_srcdir)/src/lib/embryo \
+-I$(top_builddir)/src/lib/embryo \
+-I$(top_srcdir)/src/lib/edje \
+-I$(top_srcdir)/src/lib/edje/include \
+-DPACKAGE_BIN_DIR=\"$(bindir)\" \
+-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)/edje\" \
+@EDJE_CFLAGS@
+
+codegen_example_generated.c codegen_example_generated.h: codegen.edj
+       $(AM_V_GEN)$(EDJE_CODEGEN) $(EDJE_CODEGEN_FLAGS) codegen.edj example_group $(builddir)/codegen_example_generated.c $(builddir)/codegen_example_generated.h
+
+BUILT_SOURCES = codegen_example_generated.c codegen_example_generated.h
+
+edje_codegen_example_SOURCES = \
+edje-codegen-example.c
+nodist_edje_codegen_example_SOURCES = \
+codegen_example_generated.c \
+codegen_example_generated.h
+
+files_DATA += $(EDJS)
+
+examples_PROGRAMS = \
+edje-animations \
+edje-basic \
+edje-box \
+edje-box2 \
+edje-codegen-example \
+edje-color-class \
+edje-drag\
+edje-perspective \
+edje-signals-messages \
+edje-swallow \
+edje-table \
+edje-text \
+sigtest \
+animations2 \
+edje-basic2 \
+signals2 \
+edje-swallow2
+
+if ENABLE_MULTISENSE
+examples_PROGRAMS += edje-multisense
+endif
+
+LDADD = \
+$(top_builddir)/src/lib/eina/libeina.la \
+$(top_builddir)/src/lib/eo/libeo.la \
+$(top_builddir)/src/lib/eet/libeet.la \
+$(top_builddir)/src/lib/evas/libevas.la \
+$(top_builddir)/src/lib/ecore/libecore.la \
+$(top_builddir)/src/lib/ecore_evas/libecore_evas.la \
+$(top_builddir)/src/lib/ecore_file/libecore_file.la \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+$(top_builddir)/src/lib/ecore_imf/libecore_imf.la \
+$(top_builddir)/src/lib/ecore_imf/libecore_imf_evas.la \
+$(top_builddir)/src/lib/embryo/libembryo.la \
+$(top_builddir)/src/lib/edje/libedje.la \
+@EDJE_LDFLAGS@
+
+if HAVE_EPHYSICS
+LDADD += $(top_builddir)/src/lib/ephysics/libephysics.la
+endif
+
+clean-local:
+       rm -f *.edj
diff --git a/src/examples/edje/Vera.ttf b/src/examples/edje/Vera.ttf
new file mode 100644 (file)
index 0000000..58cd6b5
Binary files /dev/null and b/src/examples/edje/Vera.ttf differ
diff --git a/src/examples/edje/animations.edc b/src/examples/edje/animations.edc
new file mode 100644 (file)
index 0000000..f25296f
--- /dev/null
@@ -0,0 +1,93 @@
+collections {
+   group {
+      name: "animations_group";
+      min: 100 80;
+
+      parts {
+         part {
+            name: "part_one";
+            type: RECT;
+            scale: 1;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 0 0 0 255; /* black */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 0.33 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 0.33;
+            }
+         }
+
+         part {
+            name: "part_two";
+            type: RECT;
+            scale: 1;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 255 255 0 255; /* yellow */
+               rel1.relative: 0.33 0.0;
+               rel2.relative: 0.66 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.66;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "part_three";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* red */
+               rel1.relative: 0.66 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.33;
+               rel2.relative: 1.0 0.66;
+            }
+         }
+      }
+
+      program {
+         signal: "load";
+         source: "";
+         in: 2.0 0.0;
+         after: "animation,state1";
+      }
+      program {
+         name: "animation,state1";
+         signal: "animation,start";
+         source: "";
+         in: 1.0 0.0;
+         action: STATE_SET "invert" 1.0;
+         target: "part_one";
+         target: "part_two";
+         target: "part_three";
+         transition: LINEAR 0.6;
+         after: "animation,state2";
+      }
+      program {
+         name: "animation,state2";
+         signal: "animation,start";
+         source: "";
+         in: 1.0 0.0;
+         action: STATE_SET "default" 0.0;
+         target: "part_one";
+         target: "part_two";
+         target: "part_three";
+         transition: LINEAR 0.6;
+         after: "animation,state1";
+   }
+}
diff --git a/src/examples/edje/animations2.c b/src/examples/edje/animations2.c
new file mode 100644 (file)
index 0000000..045c5cc
--- /dev/null
@@ -0,0 +1,96 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+#include <stdio.h>
+
+#define WIDTH     (700)
+#define HEIGHT    (700)
+
+static void
+_on_delete(Ecore_Evas *ee)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char **argv)
+{
+   char edje_file_path[PATH_MAX];
+   const char *edje_file = "animations2.edj";
+   Evas *evas;
+   Ecore_Evas *ee;
+   Eina_Prefix *pfx;
+   Evas_Object *edje_obj;
+   Evas_Object *bg;
+
+   if (!ecore_evas_init()) return EXIT_FAILURE;
+
+   if (!edje_init()) goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main, "EDJE_EXAMPLES", "edje/examples",
+                         edje_file, PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
+
+   if (!pfx) goto shutdown_edje;
+
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+
+   if (!ee) goto eina_prefix_free;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Animations");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255);
+   evas_object_move(bg, 0, 0);
+   evas_object_resize(bg, WIDTH, HEIGHT);
+   evas_object_show(bg);
+
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+   evas_object_focus_set(bg, EINA_TRUE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path), "%s/examples/%s",
+            eina_prefix_data_get(pfx), edje_file);
+
+   if (!edje_object_file_set(edje_obj, edje_file_path, "animation_group"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
+        goto eina_prefix_free;
+     }
+
+   evas_object_resize(edje_obj, 700, 700);
+   evas_object_move(edje_obj, 50, 50);
+   evas_object_show(edje_obj);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   edje_shutdown();
+   ecore_evas_shutdown();
+
+   return EXIT_SUCCESS;
+
+   eina_prefix_free: eina_prefix_free(pfx);
+
+   shutdown_edje: edje_shutdown();
+
+   shutdown_ecore_evas: ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/animations2.edc b/src/examples/edje/animations2.edc
new file mode 100644 (file)
index 0000000..eb7e81c
--- /dev/null
@@ -0,0 +1,48 @@
+collections {
+   group {
+      name: "animation_group";
+      max: 700 700;
+      min: 700 700;
+     images{
+         image: "bubble.png" COMP;
+     }
+    parts{
+              part{
+                   name: "part_bubble";
+                   type: IMAGE;
+                   description{
+                       state: "default" 0.0;
+                       max: 63 63;
+                       min: 63 63;
+                       image{
+                            normal: "bubble.png";
+                       }
+                       rel1.relative: 0.0 0.0;
+                       rel2.relative: 0.0 0.0;
+                    }
+                    description {
+                       state: "down-state" 1.0;
+                       inherit: "default" 0.0;
+                       rel1.relative: 0.0 1.0;
+                       rel2.relative: 0.0 0.0;
+                     }
+         }
+
+    }
+    programs{
+       program {
+         signal: "load";
+         source: "";
+         in: 0.5 0.0;
+         after: "animation,state1";
+       }
+       program {
+         name: "animation,state1";
+         source: "";
+         action: STATE_SET "down-state" 1.0;
+         target: "part_bubble";
+         transition: BOUNCE 2.5 0.0 5.0;
+      }
+    }
+   }
+}
diff --git a/src/examples/edje/basic.edc b/src/examples/edje/basic.edc
new file mode 100644 (file)
index 0000000..a708b50
--- /dev/null
@@ -0,0 +1,39 @@
+collections {
+   group {
+      name: "example_group";
+      max: 500 500;
+      min: 50 50;
+
+      data {
+         item: "example_data" "a string";
+      }
+
+      parts {
+         part {
+            name: "part_one";
+            type: RECT;
+            scale: 1;
+            description {
+               min: 50 50;
+               max: 50 50;
+               state: "default" 0.0;
+               color: 0 0 255 255; /* blue */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "part_two";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 255 0 255; /* green */
+               rel1.relative: -1.0 -1.0;
+               rel2.relative: 0.0 0.0;
+            }
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/basic2.edc b/src/examples/edje/basic2.edc
new file mode 100644 (file)
index 0000000..e60e268
--- /dev/null
@@ -0,0 +1,24 @@
+collections {
+   group {
+      name: "image_group";
+      max: 500 500;
+      min: 50 50;
+
+     images{
+               image: "bubble.png" COMP;
+     }
+
+    parts{
+               part{
+                   name: "part_image";
+                   type: IMAGE;
+                   description{
+                       image{
+                               normal: "bubble.png";
+                       }
+                   }
+               }
+    }
+
+   }
+}
diff --git a/src/examples/edje/box.edc b/src/examples/edje/box.edc
new file mode 100644 (file)
index 0000000..79d04a8
--- /dev/null
@@ -0,0 +1,142 @@
+collections {
+
+   group {
+      name: "example/group";
+
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+
+            description {
+            state: "default" 0.0;
+               color: 128 128 128 255;
+               rel1.offset: 20 20;
+               rel2.offset: -21 -21;
+            }
+         }
+
+         part {
+            name: "example/title";
+            type: TEXT;
+
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "bg";
+               }
+               rel2 {
+                  relative: 1.0 0.2;
+                  offset: -1 -1;
+                  to: "bg";
+               }
+               text {
+                  text: "Box Example";
+                  size: 16;
+                  font: "sans";
+                  min: 1 1;
+               }
+            }
+         }
+
+         part {
+            name: "example/box";
+            type: BOX;
+
+            description {
+               state: "default" 0.0;
+
+               box {
+                  layout: "horizontal_flow";
+                  padding: 2 2;
+                  align: 0.5 0.5;
+                  min: 1 1;
+               }
+               rel1 {
+                  relative: 0.0 0.2;
+                  offset: 0 0;
+                  to: "bg";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -61;
+                  to: "bg";
+               }
+            }
+         } // example/box
+      }
+   }
+
+   group {
+      name: "example/group2";
+
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+
+            description {
+            state: "default" 0.0;
+               color: 128 128 128 255;
+               rel1.offset: 20 20;
+               rel2.offset: -21 -21;
+            }
+         }
+
+         part {
+            name: "example/title";
+            type: TEXT;
+
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "bg";
+               }
+               rel2 {
+                  relative: 1.0 0.2;
+                  offset: -1 -1;
+                  to: "bg";
+               }
+               text {
+                  text: "Box Example 2";
+                  size: 16;
+                  font: "sans";
+                  min: 1 1;
+               }
+            }
+         }
+
+         part {
+            name: "example/box";
+            type: BOX;
+
+            description {
+               state: "default" 0.0;
+
+               box {
+                  layout: "custom_layout";
+                  padding: 2 2;
+                  align: 0.5 0.5;
+                  min: 1 1;
+               }
+               rel1 {
+                  relative: 0.0 0.2;
+                  offset: 0 0;
+                  to: "bg";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -61;
+                  to: "bg";
+               }
+            }
+         } // example/box
+      }
+   }
+}
diff --git a/src/examples/edje/bubble-blue.png b/src/examples/edje/bubble-blue.png
new file mode 100644 (file)
index 0000000..7cf4dcd
Binary files /dev/null and b/src/examples/edje/bubble-blue.png differ
diff --git a/src/examples/edje/bubble.png b/src/examples/edje/bubble.png
new file mode 100644 (file)
index 0000000..8fc50f9
Binary files /dev/null and b/src/examples/edje/bubble.png differ
diff --git a/src/examples/edje/codegen.edc b/src/examples/edje/codegen.edc
new file mode 100644 (file)
index 0000000..5560581
--- /dev/null
@@ -0,0 +1,84 @@
+collections {
+
+   group {
+
+      name: "example_group";
+      min: 50 50;
+
+      styles {
+         style {
+            name: "textblock_style";
+            base: "font=Sans font_size=22 color=#600 wrap=word";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font_weight=Bold";
+            tag:  "b" "+ font_weight=Bold";
+            tag:  "tab" "\t";
+         }
+      }
+      parts {
+         part {
+            name: "part_one";
+            type: TEXT;
+            api: "part_one";
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 0 0 255 255; /* blue */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 0.3;
+               text {
+                  font: "arial";
+                  size: 22;
+                  min: 1 1;
+               }
+            }
+         }
+         part {
+            name: "part_two";
+            type: SWALLOW;
+            api: "part_two" "The swallow";
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.3;
+               rel2.relative: 0.3 0.6;
+            }
+         }
+
+         part {
+            name: "part_three";
+            type: BOX;
+            api: "part_three" "The BOX";
+            description {
+               state: "default" 0.0;
+               box {
+                  layout: "vertical_homogeneous";
+               }
+               rel1.relative: 0.0 0.6;
+               rel2.relative: 0.5 1.0;
+            }
+         }
+         part {
+            name: "part_four";
+            type: TABLE;
+            api: "part_four" "The TABLE";
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.5 0.6;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+      }
+
+      programs {
+         program {
+            name: "part_below.hovered";
+            signal: "mouse,move";
+            source: "part_one";
+            action: SIGNAL_EMIT "mouse,over" "part_below";
+            api: "part_below_over" "mouse over";
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/color-class.edc b/src/examples/edje/color-class.edc
new file mode 100644 (file)
index 0000000..c025455
--- /dev/null
@@ -0,0 +1,87 @@
+color_classes {
+    color_class {
+       name: "red_class";
+       color: 255 0 0 255;       /* red */
+       color2: 255 0 0 255;      /* red */
+       color3: 255 0 0 255;      /* red */
+    }
+    color_class {
+       name: "green_class";
+       color: 0 255 0 255;       /* green */
+       color2: 0 255 0 255;      /* green */
+       color3: 0 255 0 255;      /* green */
+    }
+    color_class {
+       name: "blue_class";
+       color: 0 0 255 255;       /* blue */
+       color2: 0 0 255 255;      /* blue */
+       color3: 0 0 255 255;      /* blue */
+    }
+}
+
+collections {
+   group {
+      name: "example_color_class";
+      max: 500 500;
+      min: 50 50;
+
+      parts {
+         part {
+            name: "part_one";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               color_class: "blue_class";
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 0.5 0.5;
+            }
+         }
+
+         part {
+            name: "part_two";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               color_class: "green_class";
+               rel1.relative: 0.5 0.0;
+               rel2.relative: 1.0 0.5;
+            }
+         }
+         part {
+            name: "part_three";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               color_class: "red_class";
+               rel1.relative: 0.0 0.5;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+         part {
+            name: "part_four";
+            type: TEXT;
+            effect: OUTLINE_SHADOW;
+            description {
+               state: "default" 0.0;
+               min: 50 50;
+               color: 255 255 255 255;
+               color2: 255 255 255 255;
+               color3: 255 255 255 255;
+               color_class: "blue_class";
+               rel1.relative: 0.0 0.5;
+               rel2.relative: 1.0 1.0;
+               text {
+                  text_class: "example";
+                  font: "arial";
+                  size: 45;
+                  min: 1 1;
+               }
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/drag.edc b/src/examples/edje/drag.edc
new file mode 100644 (file)
index 0000000..b9247ec
--- /dev/null
@@ -0,0 +1,89 @@
+collections {
+   group {
+      name: "example/group";
+
+      min: 160 160;
+
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+
+            mouse_events: 0;
+
+            description {
+               state: "default" 0.0;
+            }
+         } // bg
+
+         part {
+            name: "title";
+            type: TEXT;
+            mouse_events: 0;
+
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "bg";
+               }
+               rel2 {
+                  relative: 1.0 0.2;
+                  offset: -1 -1;
+                  to: "bg";
+               }
+               text {
+                  text: "Drag Example";
+                  size: 16;
+                  font: "sans";
+                  min: 1 1;
+               }
+            }
+         }
+
+         part {
+            name: "drag_area";
+            type: RECT;
+
+            mouse_events: 0;
+
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+               rel1 {
+                  relative: 0.5 0.3;
+                  offset: -5 0;
+               }
+
+               rel2 {
+                  relative: 0.5 0.9;
+                  offset: 4 0;
+               }
+            }
+         } // drag_area
+
+         part {
+            name: "example/knob";
+            type: RECT;
+
+            mouse_events: 1;
+
+            dragable {
+               confine: "drag_area";
+               x: 0 0 0;
+               y: 1 1 0;
+            }
+
+            description {
+               state: "default" 0.0;
+
+               color: 255 0 0 200;
+
+            }
+         } // example/knob
+
+      }
+   }
+}
diff --git a/src/examples/edje/duck.wav b/src/examples/edje/duck.wav
new file mode 100644 (file)
index 0000000..04a62dc
Binary files /dev/null and b/src/examples/edje/duck.wav differ
diff --git a/src/examples/edje/edje-animations.c b/src/examples/edje/edje-animations.c
new file mode 100644 (file)
index 0000000..c873781
--- /dev/null
@@ -0,0 +1,227 @@
+/**
+ * Simple Edje example illustrating animations functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc animations.edc && gcc -o edje-animations edje-animations.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (400)
+#define HEIGHT (300)
+
+static const char commands[] = \
+  "commands are:\n"
+  "\t+ - increase frametime\n"
+  "\t- - decrease frametime\n"
+  "\t= - status of the animation\n"
+  "\ts - pause\n"
+  "\tp - play\n"
+  "\tf - freeze one object\n"
+  "\tF - freeze all objects\n"
+  "\tt - thaw one object\n"
+  "\tT - thaw all objects\n"
+  "\ta - start animation of one object\n"
+  "\tA - stop animation of one object\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static double frametime = 1.0 / 30.0; /* default value */
+
+static void
+_on_delete_cb(Ecore_Evas *ee EINA_UNUSED)
+{
+    ecore_main_loop_quit();
+}
+
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(bg, w, h);
+   evas_object_resize(edje_obj, w, h);
+}
+
+static void
+_on_key_down(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Key_Down *ev;
+   double               ft;
+
+   ev = (Evas_Event_Key_Down *)event_info;
+
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   else if (!strcmp(ev->key, "plus"))
+     {
+        frametime *= 2.0;
+        fprintf(stdout, "Increasing frametime to: %f\n", frametime);
+        edje_frametime_set(frametime);
+     }
+   else if (!strcmp(ev->key, "minus"))
+     {
+        frametime /= 2.0;
+        fprintf(stdout, "Decreasing frametime to: %f\n", frametime);
+        edje_frametime_set(frametime);
+     }
+   else if (!strcmp(ev->key, "equal"))
+     {
+        ft = edje_frametime_get();
+        fprintf(stdout, "Frametime: %f\n", ft);
+        if (edje_object_play_get(obj))
+          fprintf(stdout, "Object is playing\n");
+        else
+          fprintf(stdout, "Object was paused\n");
+        if (edje_object_animation_get(obj))
+          fprintf(stdout, "Animation is running\n");
+        else
+          fprintf(stdout, "Animation was stopped\n");
+     }
+   else if (!strcmp(ev->key, "s"))
+     {
+        edje_object_play_set(obj, EINA_FALSE);
+        fprintf(stdout, "Pausing the object\n");
+     }
+   else if (!strcmp(ev->key, "p"))
+     {
+        edje_object_play_set(obj, EINA_TRUE);
+        fprintf(stdout, "Playing the object\n");
+     }
+   else if (!strcmp(ev->key, "f"))
+       fprintf(stdout, "Freezing object. Count: %d\n", edje_object_freeze(obj));
+   else if (!strcmp(ev->key, "t"))
+       fprintf(stdout, "Thawing object. Count: %d\n", edje_object_thaw(obj));
+   else if (!strcmp(ev->key, "F"))
+     {
+        edje_freeze();
+        fprintf(stdout, "Freezing all objects\n");
+     }
+   else if (!strcmp(ev->key, "T"))
+     {
+        edje_thaw();
+        fprintf(stdout, "Thawing all objects\n");
+     }
+   else if (!strcmp(ev->key, "a"))
+     {
+        edje_object_animation_set(obj, EINA_TRUE);
+        fprintf(stdout, "Starting the animation in the Edje object\n");
+     }
+   else if (!strcmp(ev->key, "A"))
+     {
+        edje_object_animation_set(obj, EINA_FALSE);
+        fprintf(stdout, "Stopping the animation in the Edje object\n");
+     }
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "animations.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete_cb);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Animations Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "animations_group");
+   evas_object_move(edje_obj, 0, 0);
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+
+   evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_KEY_DOWN,
+                                  _on_key_down, NULL);
+   evas_object_focus_set(edje_obj, EINA_TRUE);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-basic.c b/src/examples/edje/edje-basic.c
new file mode 100644 (file)
index 0000000..4d4bc27
--- /dev/null
@@ -0,0 +1,257 @@
+/**
+ * Simple Edje example illustrating the very basic functions of the
+ * library
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * gcc -o edje-basic edje-basic.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <stdio.h>
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (300)
+#define HEIGHT (300)
+
+static const char commands[] = \
+  "commands are:\n"
+  "\ts - change Edje's global scaling factor\n"
+  "\tr - change center rectangle's scaling factor\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static void
+_on_keydown(void        *data,
+            Evas        *evas EINA_UNUSED,
+            Evas_Object *o EINA_UNUSED,
+            void        *einfo)
+{
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+
+   ev = (Evas_Event_Key_Down *)einfo;
+   edje_obj = (Evas_Object *)data;
+
+   if (strcmp(ev->keyname, "h") == 0) /* print help */
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   else if (strcmp(ev->keyname, "s") == 0) /* global scaling factor */
+     {
+        double scale = edje_scale_get();
+
+        printf("got scale %f\n", scale);
+
+        if (scale != 1.0) scale = 1.0;
+        else scale = 2.0;
+
+        edje_scale_set(scale);
+
+        fprintf(stdout, "Setting global scaling factor to %f.\n", scale);
+
+        return;
+     }
+   else if (strcmp(ev->keyname, "r") == 0) /* individual scaling factor */
+     {
+        double scale = edje_object_scale_get(edje_obj);
+
+        printf("got scale %f\n", scale);
+
+        if (!scale) scale = 1.0;
+        else if (scale == 1.0) scale = 2.0;
+        else scale = 0.0;
+
+        edje_object_scale_set(edje_obj, scale);
+
+        fprintf(stdout, "Setting center rectangle's scaling factor to %f.\n",
+                scale);
+
+        return;
+     }
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         border_img_path[PATH_MAX];
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "basic.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *border;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+   int          x;
+   int          y;
+   int          w;
+   int          h;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Edje Basics Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   evas_object_focus_set(bg, EINA_TRUE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   printf("%s\n", edje_file_path);
+   /* exercising Edje loading error, on purpose */
+   if (!edje_object_file_set(edje_obj, edje_file_path, "unexistant_group"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load 'unexistant_group' from basic.edj:"
+                        " %s\n", errmsg);
+     }
+
+   if (!edje_object_file_set(edje_obj, edje_file_path, "example_group"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load 'example_group' from basic.edj: %s\n",
+                errmsg);
+
+        evas_object_del(edje_obj);
+        goto free_prefix;
+     }
+
+   fprintf(stdout, "Loaded Edje object bound to group 'example_group' from"
+                   " file basic.edj with success!\n");
+
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj);
+
+   snprintf(border_img_path, sizeof(border_img_path),
+            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
+
+   /* this is a border around the Edje object above, here just to
+    * emphasize its geometry */
+   border = evas_object_image_filled_add(evas);
+   evas_object_image_file_set(border, border_img_path, NULL);
+   evas_object_image_border_set(border, 2, 2, 2, 2);
+   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
+
+   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
+   evas_object_move(border, 20 - 2, 20 - 2);
+   evas_object_show(border);
+
+   fprintf(stdout, "'example_data' data field in group 'example_group' has "
+                   "the value: %s\n", edje_object_data_get(edje_obj,
+                                                           "example_data"));
+
+   fprintf(stdout, "Testing if 'part_one' part exists: %s\n",
+           edje_object_part_exists(edje_obj, "part_one") ? "yes!" : "no");
+
+   edje_object_part_geometry_get(edje_obj, "part_one", &x, &y, &w, &h);
+   fprintf(stdout, "The geometry of that part inside the Edje object's area "
+                   "is: x = %d, y = %d, w = %d, h = %d\n", x, y, w, h);
+
+   evas_object_color_get(edje_object_part_object_get(edje_obj, "part_one"),
+                         &x, &y, &w, &h);
+   fprintf(stdout, "That part's color components are: r = %d, g = %d, b = %d,"
+                   " a = %d\n", x, y, w, h);
+
+   edje_object_size_max_get(edje_obj, &w, &h);
+   fprintf(stdout, "The Edje object's max. size is: %d, %d\n", w, h);
+
+   edje_object_size_min_get(edje_obj, &w, &h);
+   fprintf(stdout, "The Edje object's min. size is: %d, %d\n", w, h);
+
+   edje_object_size_min_calc(edje_obj, &w, &h);
+   fprintf(stdout, "The Edje object's min. size reported by min. size"
+                   " calculation is: w = %d, h = %d\n", w, h);
+
+   edje_object_size_min_restricted_calc(edje_obj, &w, &h, 500, 500);
+   fprintf(stdout, "The Edje object's min. size reported by *restricted* "
+                   "min. size calculation is: w = %d, h = %d\n", w, h);
+
+   edje_object_parts_extends_calc(edje_obj, &x, &y, &w, &h);
+   fprintf(stdout, "The Edje object's \"extended\" geometry is: x = %d, "
+                   "y = %d, w = %d, h = %d\n", x, y, w, h);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-basic2.c b/src/examples/edje/edje-basic2.c
new file mode 100644 (file)
index 0000000..e68d1ec
--- /dev/null
@@ -0,0 +1,171 @@
+/**
+* @verbatim
+* gcc -o edje-basic2 edje-basic2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+* @endverbatim
+*/
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <stdio.h>
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (700)
+#define HEIGHT (700)
+
+#define WALK 10
+
+static const char commands[] = "commands are:\nEsc - Exit\nUp - move image up\nDown - move image down\n"\
+    "Right - move image to right\nLeft - move image to left\n";
+
+static void
+_on_key_down(void *data,
+             Evas *evas EINA_UNUSED,
+             Evas_Object *o EINA_UNUSED,
+             void *einfo)
+{
+  Evas_Event_Key_Down *ev;
+  Evas_Object *edje_obj;
+  int x,y;
+
+  ev = (Evas_Event_Key_Down *)einfo;
+  edje_obj = (Evas_Object *)data;
+
+  evas_object_geometry_get(edje_obj, &x, &y, NULL, NULL);
+
+  if(strcmp(ev->keyname,"Escape") == 0)
+  {
+       ecore_main_loop_quit();
+  }
+  else if(strcmp(ev->keyname, "Down") == 0)
+  {
+       y+=WALK;
+  }
+  else if(strcmp(ev->keyname, "Up") == 0)
+  {
+       y-=WALK;
+  }
+  else if(strcmp(ev->keyname, "Right") == 0)
+  {
+       x+=WALK;
+  }
+  else if(strcmp(ev->keyname, "Left") == 0)
+  {
+       x-=WALK;
+  }
+  else
+  {
+     fprintf(stdout, "Key %s not supported.\nCommands:%s", ev->keyname, commands);
+     return;
+  }
+
+  evas_object_move(edje_obj, x, y);
+}
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char **argv)
+{
+  const char *edje_file = "basic2.edj";
+  char edje_file_path[PATH_MAX];
+  Eina_Prefix *pfx;
+  Ecore_Evas *ee;
+  Evas *evas;
+  Evas_Object *bg;
+  Evas_Object *edje_obj;
+
+  if(!ecore_evas_init())
+       return EXIT_FAILURE;
+
+  if(!edje_init())
+       goto shutdown_ecore_evas;
+
+  pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+
+  if(!pfx)
+    goto shutdown_edje;
+
+  ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+
+  if(!ee)
+    goto eina_prefix_free;
+
+  ecore_evas_callback_delete_request_set(ee, _on_delete);
+  ecore_evas_title_set(ee, "Edje show image");
+
+  evas = ecore_evas_get(ee);
+
+  bg = evas_object_rectangle_add(evas);
+  evas_object_color_set(bg, 255, 255, 255, 255); //White
+  evas_object_move(bg, 0, 0); //orign
+  evas_object_resize(bg, WIDTH, HEIGHT); //cover the window
+  evas_object_show(bg);
+
+  ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+  evas_object_focus_set(bg, EINA_TRUE);
+
+
+  edje_obj = edje_object_add(evas);
+
+  snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+
+  if(!edje_object_file_set(edje_obj, edje_file_path, "image_group"))
+  {
+    int err = edje_object_load_error_get(edje_obj);
+    const char *errmsg = edje_load_error_str(err);
+    fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
+    goto eina_prefix_free;
+  }
+
+
+
+  evas_object_move(edje_obj, 50, 50);
+  evas_object_resize(edje_obj, 64, 64);
+  evas_object_show(edje_obj);
+
+  evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_key_down, edje_obj);
+
+  ecore_evas_show(ee);
+
+  fprintf(stdout, "%s", commands);
+
+  ecore_main_loop_begin();
+
+  eina_prefix_free(pfx);
+  ecore_evas_free(ee);
+  edje_shutdown();
+  ecore_evas_shutdown();
+
+  return EXIT_SUCCESS;
+
+eina_prefix_free:
+  eina_prefix_free(pfx);
+
+shutdown_edje:
+  edje_shutdown();
+
+shutdown_ecore_evas:
+  ecore_evas_shutdown();
+
+  return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-box.c b/src/examples/edje/edje-box.c
new file mode 100644 (file)
index 0000000..3da66e2
--- /dev/null
@@ -0,0 +1,252 @@
+/**
+ * Simple Edje example illustrating box functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc box.edc && gcc -o edje-box edje-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  300
+#define HEIGHT 300
+
+#define RECTW 30
+#define RECTH 30
+
+#define NRECTS 20
+
+static const char commands[] = \
+  "commands are:\n"
+  "\ti - prepend rectangle\n"
+  "\ta - append rectangle\n"
+  "\tc - remove\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static void
+_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* here just to keep our example's window size and background image's
+ * size in synchrony */
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(bg, w, h);
+   evas_object_resize(edje_obj, w, h);
+}
+
+static void
+_on_rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info)
+{
+   Ecore_Evas            *ee;
+   Evas_Event_Mouse_Down *ev;
+   Evas_Object           *edje_obj;
+
+   ee = (Ecore_Evas *)data;
+   ev = (Evas_Event_Mouse_Down *)event_info;
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+
+   if (ev->button == 1)
+     {
+       printf("Removing rect %p under the mouse pointer.\n", o);
+       edje_object_part_box_remove(edje_obj, "example/box", o);
+       evas_object_del(o);
+     }
+   else if (ev->button == 3)
+     {
+       Evas_Object *rect;
+       Eina_Bool    r;
+
+       rect = evas_object_rectangle_add(e);
+       evas_object_color_set(rect, 0, 0, 255, 255);
+       evas_object_resize(rect, RECTW + 10, RECTH);
+       evas_object_show(rect);
+
+       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
+       r = edje_object_part_box_insert_before(edje_obj, "example/box", rect, o);
+       if (!r)
+         printf("An error ocurred when appending rect %p to the box.\n", rect);
+
+       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
+     }
+}
+
+static void
+_on_bg_key_down(void *data, Evas *e, Evas_Object *o EINA_UNUSED, void *event_info)
+{
+   Ecore_Evas          *ee;
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+   Evas_Object         *rect;
+   Eina_Bool            r;
+
+   ee = (Ecore_Evas *)data;
+   ev = (Evas_Event_Key_Down *)event_info;
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   if (!strcmp(ev->keyname, "i"))
+     {
+       rect = evas_object_rectangle_add(e);
+       evas_object_color_set(rect, 0, 0, 128, 255);
+       evas_object_resize(rect, RECTW + 30, RECTH);
+       evas_object_show(rect);
+
+       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
+       r = edje_object_part_box_insert_at(edje_obj, "example/box", rect, 0);
+       if (!r)
+         printf("An error ocurred when appending rect %p to the box.\n", rect);
+
+       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
+     }
+   else if (!strcmp(ev->keyname, "a"))
+     {
+       rect = evas_object_rectangle_add(e);
+       evas_object_color_set(rect, 0, 128, 0, 255);
+       evas_object_resize(rect, RECTW, RECTH);
+       evas_object_show(rect);
+
+       printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect);
+       r = edje_object_part_box_append(edje_obj, "example/box", rect);
+       if (!r)
+         printf("An error ocurred when appending rect %p to the box.\n", rect);
+
+       evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL);
+     }
+   else if (!strcmp(ev->keyname, "c"))
+     edje_object_part_box_remove_all(edje_obj, "example/box", EINA_TRUE);
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "box.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+   int          i;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_destroy_set(ee, _on_destroy);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Box Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255);
+   evas_object_resize(bg, WIDTH, HEIGHT);
+   evas_object_focus_set(bg, EINA_TRUE);
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example/group");
+   evas_object_move(edje_obj, 0, 0);
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+
+   for (i = 0; i < NRECTS; i++)
+     {
+       Evas_Object *rect;
+       Eina_Bool r = EINA_FALSE;
+       int red = (i * 10) % 256;
+       rect = evas_object_rectangle_add(evas);
+       evas_object_color_set(rect, red, 0, 0, 255);
+       evas_object_resize(rect, RECTW, RECTH);
+       r = edje_object_part_box_append(edje_obj, "example/box", rect);
+       if (!r)
+         printf("An error ocurred when appending rect #%d to the box.\n", i);
+       evas_object_show(rect);
+
+       evas_object_event_callback_add(
+          rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, ee);
+     }
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-box2.c b/src/examples/edje/edje-box2.c
new file mode 100644 (file)
index 0000000..436b621
--- /dev/null
@@ -0,0 +1,247 @@
+/**
+ * Simple Edje example illustrating a custom box layout.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc box.edc && gcc -o edje-box2 edje-box2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <Ecore.h>
+#include <Evas.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+static const char commands[] = \
+  "commands are:\n"
+  "\tShift - remove box\n"
+  "\tCtrl - insert box\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static void
+custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data EINA_UNUSED)
+{
+   Evas_Object_Box_Option *opt;
+   Eina_List *l;
+   int x, y, w, h;
+   int xx, yy, ww, hh;
+   int count;
+
+   evas_object_geometry_get(o, &x, &y, &w, &h);
+   count = eina_list_count(p->children);
+   ww = w / (count?:1);
+   hh = h / (count?:1);
+   if (ww < 1) ww = 1;
+   if (hh < 1) hh = 1;
+
+   xx = x;
+   yy = y;
+   EINA_LIST_FOREACH(p->children, l, opt)
+     {
+       evas_object_move(opt->obj, xx, yy);
+       xx += ww;
+       yy += hh;
+     }
+}
+
+static Evas_Object *
+new_greenie_block(Evas *e)
+{
+   Evas_Object *o;
+
+   o = evas_object_rectangle_add(e);
+   evas_object_resize(o, 10, 10);
+   evas_object_color_set(o, 0, 255, 0, 255);
+   evas_object_show(o);
+
+   return o;
+}
+
+static void
+on_keydown(void *data, Evas *evas, Evas_Object *o EINA_UNUSED, void *einfo)
+{
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+   const Evas_Modifier *mods;
+
+   ev = (Evas_Event_Key_Down *)einfo;
+   edje_obj = (Evas_Object *)data;
+
+   mods = evas_key_modifier_get(evas);
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   if (evas_key_modifier_is_set(mods, "Shift"))
+     {
+       int pos;
+       Evas_Object *obj = NULL;
+       pos = atoi(ev->keyname);
+       obj = edje_object_part_box_remove_at(edje_obj, "example/box", pos);
+       if (obj)
+         evas_object_del(obj);
+       return;
+     }
+   if (evas_key_modifier_is_set(mods, "Control"))
+     {
+       Evas_Object *obj;
+       int pos;
+       pos = atoi(ev->keyname);
+       obj = new_greenie_block(evas);
+       if (!edje_object_part_box_insert_at(edje_obj, "example/box", obj, pos))
+         edje_object_part_box_append(edje_obj, "example/box", obj);
+       return;
+     }
+   if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+}
+
+static Evas_Object *
+box_new(Ecore_Evas *ee, const char *edje_file_path, const char *name, int x, int y, int w, int h)
+{
+   Evas_Object *edje_obj;
+
+   edje_obj = edje_object_add(ecore_evas_get(ee));
+   evas_object_move(edje_obj, x, y);
+   evas_object_resize(edje_obj, w, h);
+   if (!edje_object_file_set(edje_obj, edje_file_path, "example/group2"))
+     {
+       printf("error: could not load file object.\n");
+     }
+   evas_object_show(edje_obj);
+   evas_object_name_set(edje_obj, name);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+
+   return edje_obj;
+}
+
+static void
+on_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(bg, w, h);
+   evas_object_resize(edje_obj, w, h);
+}
+
+static void
+on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "box.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Evas_Object *last;
+   Evas_Object *o;
+   Eina_Prefix *pfx;
+   int          w;
+   int          h;
+   int          i;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, 640, 480, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_resize_set(ee, on_resize);
+   ecore_evas_callback_destroy_set(ee, on_destroy);
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_resize(bg, w, h);
+   evas_object_show(bg);
+   evas_object_focus_set(bg, 1);
+   ecore_evas_data_set(ee, "background", bg);
+
+   edje_box_layout_register("custom_layout", custom_layout, NULL, NULL, NULL, NULL);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_obj = box_new(ee, edje_file_path, "box", 0, 0, w, h);
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, edje_obj);
+
+   for (i = 1; i <= 5; i++)
+     {
+       o = last = evas_object_rectangle_add(evas);
+        evas_object_size_hint_min_set(o, 50, 50);
+        evas_object_resize(o, 50, 50);
+       evas_object_color_set(o, 255, 0, 0, 128);
+       evas_object_show(o);
+
+       if (!edje_object_part_box_append(edje_obj, "example/box", o))
+         {
+            fprintf(stderr, "error appending child object!\n");
+            return 1;
+         }
+     }
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-codegen-example.c b/src/examples/edje/edje-codegen-example.c
new file mode 100644 (file)
index 0000000..6eff233
--- /dev/null
@@ -0,0 +1,202 @@
+/**
+ * @since 1.8.0
+ * Simple Edje example illustrating the edje_codegen usage.
+ *
+ * edje_codegen is a tool that generates code to acessing the parts and programs
+ * with the keyword "api" of a specified group. This tool make easier working
+ * with edje avoiding common errors caused by typos when acessing the parts
+ * and/or programs.
+ *
+ * To use the edje_codegen:
+ * edje_codegen --prefix <myapp_myobj> <input.edj> <a_group> <source.c> <header.h>
+ *
+ * In case of this example:
+ * edje_codegen --prefix=codegen_example codegen.edj group_example \
+       codegen_example_generated.c codegen_example_generated.h
+ *
+ * @verbatim
+ * edje_cc codegen.edc && edje_codegen --prefix=codegen_example codegen.edj \
+ * example_group codegen_example_generated.c codegen_example_generated.h
+ * gcc -c codegen_example_generated.c `pkg-config --libs --cflags ecore-evas edje`
+ * gcc -o edje-codegen-example codegen_example_generated.o \
+ * edje-codegen-example.c `pkg-config --libs --cflags ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include "codegen_example_generated.h"
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (800)
+#define HEIGHT (800)
+
+static void
+_on_delete(Ecore_Evas *ee)
+{
+   ecore_main_loop_quit();
+}
+
+static void
+_columns_rows_print(Evas_Object *edje_obj)
+{
+   int cols, rows;
+
+   if (codegen_example_part_four_col_row_size_get(edje_obj, &cols, &rows))
+     fprintf(stdout, "Number of columns: %d\nNumber of rows: %d\n", cols, rows);
+   else
+     fprintf(stderr, "Cannot get the number of columns and rows\n");
+}
+
+static void
+_on_mouse_over(void *data, Evas_Object *obj, const char *emission,
+              const char *source)
+{
+   Evas_Object *rect;
+   Eina_Bool disabled;
+   static int i = 0;
+
+   printf("Mouse over, source: %s - emission: %s\n",
+         source, emission);
+   if (i == 2)
+     {
+       rect = codegen_example_part_three_remove_at(obj, 0);
+       codegen_example_part_three_append(obj, rect);
+     }
+   if (i++ == 5)
+     {
+       Evas_Object *rect = codegen_example_part_two_get(obj);
+       evas_object_color_set(rect, 0, 255, 0, 255);
+       codegen_example_part_below_over_callback_del_full(obj,_on_mouse_over,
+                                                         NULL);
+       codegen_example_part_four_clear(obj, EINA_TRUE);
+       _columns_rows_print(obj);
+       codegen_example_part_three_remove_all(obj, EINA_TRUE);
+     }
+}
+
+static Evas_Object *
+_rect_create(Evas *e, unsigned char r, unsigned char g, unsigned char b)
+{
+   Evas_Object *o;
+
+   o = evas_object_rectangle_add(e);
+   evas_object_color_set(o, r, g, b, 255);
+   evas_object_size_hint_weight_set(o, 1.0, 1.0);
+   evas_object_size_hint_min_set(o, 100, 100);
+   evas_object_show(o);
+
+   return o;
+}
+
+int
+main(int argc, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "codegen.edj", *aux;
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Evas_Object *red_rect, *yellow_rect, *blue_rect, *rects[4];
+   Eina_Prefix *pfx;
+   Eina_Bool    disabled;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Edje codegen Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = _rect_create(evas, 255, 255, 255);
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   edje_obj = codegen_example_object_add(evas, edje_file_path);
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+
+   codegen_example_part_one_set(edje_obj, "CODEGEN_EXAMPLE");
+   codegen_example_part_below_over_callback_add(edje_obj, _on_mouse_over, NULL);
+
+   red_rect = _rect_create(evas, 255, 0, 0);
+   codegen_example_part_two_set(edje_obj, red_rect);
+
+   blue_rect = _rect_create(evas, 0, 0, 255);
+   codegen_example_part_three_append(edje_obj, blue_rect);
+
+   yellow_rect = _rect_create(evas, 255, 255, 0);
+   codegen_example_part_three_prepend(edje_obj, yellow_rect);
+
+
+   rects[0] = _rect_create(evas, 0, 0, 255);
+   rects[1] = _rect_create(evas, 0, 255, 0);
+   rects[2] = _rect_create(evas, 255, 0, 0);
+   rects[3] = _rect_create(evas, 125, 140, 80);
+
+   if (!codegen_example_part_four_pack(edje_obj, rects[0], 0, 0, 1, 2))
+     fprintf(stderr, "Cannot add the rectangle 1 to table\n");
+
+   if (!codegen_example_part_four_pack(edje_obj, rects[1], 0, 1, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 2 to table\n");
+
+   if (!codegen_example_part_four_pack(edje_obj, rects[2], 1, 0, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 3 to table\n");
+
+   if (!codegen_example_part_four_pack(edje_obj, rects[3], 1, 1, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 4 to table\n");
+
+   _columns_rows_print(edje_obj);
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-color-class.c b/src/examples/edje/edje-color-class.c
new file mode 100644 (file)
index 0000000..883e258
--- /dev/null
@@ -0,0 +1,295 @@
+/**
+ * Simple Edje example illustrating color class functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc color-class.edc && gcc -o edje-table edje-color-class.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (400)
+#define HEIGHT (400)
+
+typedef int color[4];           /* rgba */
+
+static Ecore_Evas *ee1, *ee2;
+static Evas *evas1, *evas2;
+static Evas_Object *bg1, *edje_obj1, *bg2, *edje_obj2;
+static const char *selected_class;
+
+static color colors_init_data[] =
+  {{255, 0, 0, 255},            /* red */
+   {0, 255, 0, 255},            /* green */
+   {0, 0, 255, 255},            /* blue */
+   {0, 0, 0, 255},              /* black */
+   {255, 255, 255, 255},        /* white */
+   {128, 128, 128, 255},        /* gray */
+   {255, 255, 0, 255},          /* yellow */
+   {255, 0, 255, 255}           /* pink */
+  };
+
+static char *color_names[] =
+  {"red", "green", "blue", "black", "white",
+   "gray", "yellow", "pink"};
+
+static Eina_Bool
+_get_color_from_name(const char *n, color *c)
+{
+   int i;
+   for (i = 0; i < 8; i++)
+     if (!strcmp(n, color_names[i]))
+       {
+          (*c)[0] = (colors_init_data[i])[0];
+          (*c)[1] = (colors_init_data[i])[1];
+          (*c)[2] = (colors_init_data[i])[2];
+          (*c)[3] = (colors_init_data[i])[3];
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+static void
+_color_classes_print(void)
+{
+   Eina_List *classes;
+   char *class_name;
+
+   fprintf(stdout, "Getting the color classes\n\n");
+   classes = edje_color_class_list();
+   EINA_LIST_FREE(classes, class_name)
+     {
+        int r1, r2, r3, g1, g2, g3, b1, b2, b3,
+          a1, a2, a3;
+
+        fprintf(stdout, "\ncolor class: %s\n", class_name);
+        if (!edje_color_class_get(class_name, &r1, &g1, &b1, &a1,
+                                  &r2, &g2, &b2, &a2, &r3, &g3, &b3, &a3))
+          fprintf(stderr, "Cannot get the color class\n");
+        else
+          {
+
+             fprintf(stdout,"Object color r: %d g: %d b: %d a: %d\n",
+                     r1, g1, b1, a1);
+             fprintf(stdout,"Text outline color r: %d g: %d b: %d a: %d\n",
+                     r2, g2, b2, a2);
+             fprintf(stdout,"Text shadow color r: %d g: %d b: %d a: %d\n",
+                     r3, g3, b3, a3);
+          }
+        free(class_name);
+     }
+}
+
+static void
+_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+static void
+_on_mouse_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Down *ev = event_info;
+
+   if (ev->button == 1)
+     {
+        if (obj == edje_obj1)
+          edje_color_class_del(selected_class);
+        else
+          edje_object_color_class_del(edje_obj2, selected_class);
+     }
+}
+
+/* here just to keep our example's window size
+ * in synchrony. */
+static void
+_canvas_resize_cb(Ecore_Evas *_ee)
+{
+   int w, h;
+
+   ecore_evas_geometry_get(_ee, NULL, NULL, &w, &h);
+
+   if (_ee == ee1)
+     {
+        evas_object_resize(bg1, w, h);
+        evas_object_resize(edje_obj1, w, h);
+     }
+   else
+     {
+        evas_object_resize(bg2, w, h);
+        evas_object_resize(edje_obj2, w, h);
+     }
+}
+
+static void
+_color_class_callback_delete(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                             const char *emission, void *source EINA_UNUSED)
+{
+   if (!strcmp(data, "process"))
+     fprintf(stdout, "Color class: %s deleted on process level\n", emission);
+   else
+     fprintf(stdout, "Color class: %s deleted on object level\n", emission);
+}
+
+static int
+_create_windows(const char *edje_file_path)
+{
+  /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee1 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee1)
+     return 0;
+   ee2 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee2)
+     return 0;
+
+   ecore_evas_callback_destroy_set(ee1, _on_destroy);
+   ecore_evas_callback_resize_set(ee1, _canvas_resize_cb);
+   ecore_evas_title_set(ee1, "Edje Color Class Example");
+
+   ecore_evas_callback_destroy_set(ee2, _on_destroy);
+   ecore_evas_callback_resize_set(ee2, _canvas_resize_cb);
+   ecore_evas_title_set(ee2, "Edje Object Color Class Example");
+
+   evas1 = ecore_evas_get(ee1);
+   evas2 = ecore_evas_get(ee2);
+
+   bg1 = evas_object_rectangle_add(evas1);
+   evas_object_color_set(bg1, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg1, 0, 0);                    /* at canvas' origin */
+   evas_object_resize(bg1, WIDTH, HEIGHT);         /* covers full canvas */
+   evas_object_show(bg1);
+
+   bg2 = evas_object_rectangle_add(evas2);
+   evas_object_color_set(bg2, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg2, 0, 0);                    /* at canvas' origin */
+   evas_object_resize(bg2, WIDTH, HEIGHT);         /* covers full canvas */
+   evas_object_show(bg2);
+
+   edje_obj1 = edje_object_add(evas1);
+   evas_object_event_callback_add(edje_obj1, EVAS_CALLBACK_MOUSE_DOWN,
+                                  _on_mouse_down, NULL);
+
+   edje_object_file_set(edje_obj1, edje_file_path, "example_color_class");
+   evas_object_move(edje_obj1, 0, 0); /* at canvas' origin */
+   evas_object_resize(edje_obj1, WIDTH, HEIGHT);
+   edje_object_part_text_set(edje_obj1, "part_four", "EDJE EXAMPLE");
+   edje_object_signal_callback_add(edje_obj1, "color_class,del", "*",
+                                   (Edje_Signal_Cb) _color_class_callback_delete,
+                                   "process");
+   evas_object_show(edje_obj1);
+
+   edje_obj2 = edje_object_add(evas2);
+   evas_object_event_callback_add(edje_obj2, EVAS_CALLBACK_MOUSE_DOWN,
+                                  _on_mouse_down, NULL);
+
+   edje_object_file_set(edje_obj2, edje_file_path, "example_color_class");
+   evas_object_move(edje_obj2, 0, 0); /* at canvas' origin */
+   evas_object_resize(edje_obj2, WIDTH, HEIGHT);
+   edje_object_part_text_set(edje_obj2, "part_four", "EDJE OBJECT EXAMPLE");
+   edje_object_signal_callback_add(edje_obj2, "color_class,del", "*",
+                                   (Edje_Signal_Cb) _color_class_callback_delete,
+                                   "object");
+   evas_object_show(edje_obj2);
+
+   return 1;
+}
+
+int
+main(int argc, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "color-class.edj";
+   Eina_Prefix *pfx;
+   color        c1, c2, c3;
+   int          i;
+
+   if (argc != 5)
+     {
+        fprintf(stderr, "You have to use: %s color_class_name color1, color2," \
+                "color3\n", argv[0]);
+        fprintf(stderr, "Available colors:\n");
+        for (i = 0; i < 8; i++)
+          fprintf(stderr, "%s\n", color_names[i]);
+
+        return EXIT_FAILURE;
+     }
+
+   selected_class = argv[1];
+   if (!(_get_color_from_name(argv[2], &c1) &&
+         _get_color_from_name(argv[3], &c2) &&
+         _get_color_from_name(argv[4], &c3)))
+     {
+        fprintf(stderr, "Color not available!\n");
+        return EXIT_FAILURE;
+     }
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   if (!_create_windows(edje_file_path))
+     goto free_prefix;
+
+   edje_color_class_set(argv[1],                     /* class name   */
+                        c1[0], c1[1], c1[2], c1[3],  /* Object color */
+                        c2[0], c2[1], c2[2], c2[3],  /* Text outline */
+                        c3[0], c3[1], c3[2], c3[3]); /* Text shadow  */
+
+   /* Setting an arbitrary value just to see the difference between */
+   /* process level and object level */
+   edje_object_color_class_set(edje_obj2, argv[1], /* class name   */
+                               128, 180, 77, 255,  /* Object color */
+                               200, 22, 86, 255,   /* Text outline */
+                               39, 90, 187, 255);  /* Text shadow  */
+
+   _color_classes_print();
+
+   ecore_evas_show(ee1);
+   ecore_evas_show(ee2);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee1);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-drag.c b/src/examples/edje/edje-drag.c
new file mode 100644 (file)
index 0000000..6b3f6b2
--- /dev/null
@@ -0,0 +1,210 @@
+/**
+ * Simple Edje example illustrating drag functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  300
+#define HEIGHT 300
+
+#define RECTW 30
+#define RECTH 30
+
+#define NRECTS 20
+
+static const char commands[] = \
+  "commands are:\n"
+  "\tDdown - set drag step to 1\n"
+  "\tUp - set drag step to -1\n"
+  "\tm - set drag value to 0.5\n"
+  "\tPrior - set drag page to -1\n"
+  "\tNext - set drag page to -1\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static const char *PARTNAME = "example/knob";
+
+static void
+_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* here just to keep our example's window size and background image's
+ * size in synchrony */
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(bg, w, h);
+   evas_object_resize(edje_obj, w, h);
+}
+
+static void
+_on_bg_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info)
+{
+   Ecore_Evas          *ee;
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+
+   ee = (Ecore_Evas *)data;
+   ev = (Evas_Event_Key_Down *)event_info;
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   else if (!strcmp(ev->keyname, "Down"))
+     {
+       edje_object_part_drag_step(edje_obj, PARTNAME, 0, 1.0);
+     }
+   else if (!strcmp(ev->keyname, "Up"))
+     {
+       edje_object_part_drag_step(edje_obj, PARTNAME, 0, -1.0);
+     }
+   else if (!strcmp(ev->keyname, "m"))
+     {
+       edje_object_part_drag_value_set(edje_obj, PARTNAME, 0.0, 0.5);
+     }
+   else if (!strcmp(ev->keyname, "Prior"))
+     {
+       edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, -1.0);
+     }
+   else if (!strcmp(ev->keyname, "Next"))
+     {
+       edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, 1.0);
+     }
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+static void
+_on_knob_moved(void *data EINA_UNUSED, Evas_Object *o, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   double val;
+
+   edje_object_part_drag_value_get(o, PARTNAME, NULL, &val);
+   printf("value changed to: %0.3f\n", val);
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "drag.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_destroy_set(ee, _on_destroy);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Box Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255);
+   evas_object_resize(bg, WIDTH, HEIGHT);
+   evas_object_focus_set(bg, EINA_TRUE);
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example/group");
+   evas_object_move(edje_obj, 0, 0);
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+
+   edje_object_part_drag_size_set(edje_obj, PARTNAME, 1.0, 0.4);
+
+   if (!edje_object_part_drag_step_set(edje_obj, PARTNAME, 0.0, 0.1))
+     printf("error when setting drag step size.\n");
+
+   if (!edje_object_part_drag_page_set(edje_obj, PARTNAME, 0.0, 0.3))
+     printf("error when setting drag page step size.\n");
+
+   edje_object_signal_callback_add(edje_obj, "drag", PARTNAME, _on_knob_moved, NULL);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-multisense.c b/src/examples/edje/edje-multisense.c
new file mode 100644 (file)
index 0000000..c66c568
--- /dev/null
@@ -0,0 +1,80 @@
+/**
+ * Simple example illustrating the very basic functions of multisense
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one) and multisense support ine edje. See stdout/stderr for output.
+ *
+ * @verbatim
+ * gcc -o edje-multisense edje-multisense.c `pkg-config --libs --cflags eina evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#include <Eina.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  300
+#define HEIGHT 300
+
+static Evas_Object *create_my_group(Evas *canvas)
+{
+   Evas_Object *edje;
+
+   edje = edje_object_add(canvas);
+   if (!edje)
+     {
+        EINA_LOG_CRIT("could not create edje object!");
+        return NULL;
+     }
+
+   if (!edje_object_file_set(edje, "multisense.edj", "example_group"))
+     {
+        int err = edje_object_load_error_get(edje);
+        const char *errmsg = edje_load_error_str(err);
+        EINA_LOG_ERR("could not load 'example_group' from multisense.edj: %s",
+                     errmsg);
+
+        evas_object_del(edje);
+        return NULL;
+     }
+
+   evas_object_move(edje, 0, 0);
+   evas_object_resize(edje, WIDTH, HEIGHT);
+   evas_object_show(edje);
+   return edje;
+}
+
+int main(int argc, char *argv[])
+{
+   Ecore_Evas *window;
+   Evas *canvas;
+   Evas_Object *edje;
+
+   ecore_evas_init();
+   edje_init();
+
+   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!window)
+     {
+        EINA_LOG_CRIT("could not create window.");
+        return -1;
+     }
+   canvas = ecore_evas_get(window);
+
+   edje = create_my_group(canvas);
+   if (!edje)
+     return -2;
+
+   ecore_evas_show(window);
+   ecore_main_loop_begin();
+
+   evas_object_del(edje);
+   ecore_evas_free(window);
+
+   edje_shutdown();
+   ecore_evas_shutdown();
+
+   return 0;
+}
diff --git a/src/examples/edje/edje-nested.edc b/src/examples/edje/edje-nested.edc
new file mode 100644 (file)
index 0000000..d3ea064
--- /dev/null
@@ -0,0 +1,39 @@
+collections {
+   group {
+      name: "main";
+      parts {
+         part {
+            type: RECT;
+            name: "red_rect";
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255;
+               rel1.relative: 0.2 0.1;
+               rel2.relative: 0.4 0.8;
+            }
+
+            part {   /* This rect is nested in red_rect */
+               type: RECT;
+               name: "green_rect";
+               description {
+                  state: "default" 0.0;
+                  color: 0 255 0 255;
+                  rel2.relative: 0.8 0.5;
+               }
+
+               part {   /* This rect is nested in green_rect */
+                  type: RECT;
+                  name: "blue_rect";
+                  description {
+                     state: "default" 0.0;
+                     color: 0 0 255 255;
+                     align: 1.0 1.0;
+                     rel1.relative: 0.5 0.5;
+                     rel2.relative: 1.0 1.0;
+                  }
+               }
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/edje-perspective.c b/src/examples/edje/edje-perspective.c
new file mode 100644 (file)
index 0000000..dbb3e22
--- /dev/null
@@ -0,0 +1,253 @@
+/**
+ * Simple Edje example illustrating drag functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  480
+#define HEIGHT 320
+
+static const char commands[] = \
+  "commands are:\n"
+  "\tDown - move part down\n"
+  "\tUp -  move part up\n"
+  "\tLeft - move part left\n"
+  "\tRight - move part right\n"
+  "\tPrior - move part up-left\n"
+  "\tNext - move part down-right\n"
+  "\tInsert - increase focal\n"
+  "\tSuppr - decrease focal\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+struct _App {
+    Evas_Object *edje_obj;
+    Evas_Object *bg;
+    Edje_Perspective *ps;
+    Eina_Bool animating;
+    int x, y; // relative position of part in the screen
+    int focal;
+};
+
+static void
+_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* here just to keep our example's window size and background image's
+ * size in synchrony */
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   int w, h;
+   struct _App *app = ecore_evas_data_get(ee, "app");
+
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(app->bg, w, h);
+   evas_object_resize(app->edje_obj, w, h);
+}
+
+static void
+_part_move(struct _App *app, int dx, int dy)
+{
+   char emission[64];
+
+   if (app->animating)
+     return;
+
+   app->x += dx;
+   app->y += dy;
+   if (app->x > 1)
+     app->x = 1;
+   if (app->x < 0)
+     app->x = 0;
+   if (app->y > 1)
+     app->y = 1;
+   if (app->y < 0)
+     app->y = 0;
+
+   snprintf(emission, sizeof(emission), "move,%d,%d", app->x, app->y);
+   edje_object_signal_emit(app->edje_obj, emission, "");
+   app->animating = EINA_TRUE;
+}
+
+
+static void
+_on_bg_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_info)
+{
+   struct _App *app = data;
+   Evas_Event_Key_Down *ev = event_info;
+
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   // just moving the part and text
+   else if (!strcmp(ev->keyname, "Down"))
+     {
+       _part_move(app, 0, 1);
+     }
+   else if (!strcmp(ev->keyname, "Up"))
+     {
+       _part_move(app, 0, -1);
+     }
+   else if (!strcmp(ev->keyname, "Left"))
+     {
+       _part_move(app, -1, 0);
+     }
+   else if (!strcmp(ev->keyname, "Right"))
+     {
+       _part_move(app, 1, 0);
+     }
+   else if (!strcmp(ev->keyname, "Prior"))
+     {
+       _part_move(app, -1, -1);
+     }
+   else if (!strcmp(ev->keyname, "Next"))
+     {
+       _part_move(app, 1, 1);
+     }
+   // adjusting the perspective focal point distance
+   else if (!strcmp(ev->keyname, "KP_Add"))
+     {
+       app->focal += 5;
+       edje_perspective_set(app->ps, 240, 160, 0, app->focal);
+       edje_object_calc_force(app->edje_obj);
+     }
+   else if (!strcmp(ev->keyname, "KP_Subtract"))
+     {
+       app->focal -= 5;
+       if (app->focal < 5)
+         app->focal = 5;
+
+       edje_perspective_set(app->ps, 240, 160, 0, app->focal);
+       edje_object_calc_force(app->edje_obj);
+     }
+   // exiting
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+static void
+_animation_end_cb(void *data, Evas_Object *o EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   struct _App *app = data;
+
+   app->animating = EINA_FALSE;
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "perspective.edj";
+   struct _App  app;
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   edje_frametime_set(1.0 / 60.0);
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   app.animating = EINA_FALSE;
+   app.x = 0;
+   app.y = 0;
+   app.focal = 50;
+
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_destroy_set(ee, _on_destroy);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Box Example");
+
+   ecore_evas_data_set(ee, "app", &app);
+
+   evas = ecore_evas_get(ee);
+
+   app.bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(app.bg, 255, 255, 255, 255);
+   evas_object_resize(app.bg, WIDTH, HEIGHT);
+   evas_object_focus_set(app.bg, EINA_TRUE);
+   evas_object_show(app.bg);
+
+   evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, &app);
+
+   app.edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(app.edje_obj, edje_file_path, "example/group");
+   evas_object_move(app.edje_obj, 0, 0);
+   evas_object_resize(app.edje_obj, WIDTH, HEIGHT);
+   evas_object_show(app.edje_obj);
+
+   edje_object_signal_callback_add(app.edje_obj, "animation,end", "", _animation_end_cb, &app);
+
+   app.ps = edje_perspective_new(evas);
+   edje_perspective_set(app.ps, 240, 160, 0, app.focal);
+   edje_perspective_global_set(app.ps, EINA_TRUE);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-signals-messages.c b/src/examples/edje/edje-signals-messages.c
new file mode 100644 (file)
index 0000000..380d1e5
--- /dev/null
@@ -0,0 +1,254 @@
+/**
+ * Simple Edje example illustrating the Edje signals and messages
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * gcc -o edje-signals-messages edje-signals-messages.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+#include <stdio.h>
+
+#define WIDTH     (300)
+#define HEIGHT    (300)
+
+#define MSG_COLOR 1
+#define MSG_TEXT  2
+
+static const char commands[] = \
+  "commands are:\n"
+  "\tt - toggle right rectangle's visibility\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static Eina_Bool right_rect_show = EINA_TRUE;
+
+static void
+_on_keydown(void        *data,
+            Evas        *evas EINA_UNUSED,
+            Evas_Object *o EINA_UNUSED,
+            void        *einfo)
+{
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+
+   ev = (Evas_Event_Key_Down *)einfo;
+   edje_obj = (Evas_Object *)data;
+
+   if (!strcmp(ev->keyname, "h")) /* print help */
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   else if (!strcmp(ev->keyname, "t")) /* toggle right rectangle's visibility */
+     {
+        char buf[1024];
+
+        right_rect_show = !right_rect_show;
+        snprintf(buf, sizeof(buf), "part_right,%s",
+                 right_rect_show ? "show" : "hide");
+
+        printf("emitting %s\n", buf);
+
+        edje_object_signal_emit(edje_obj, buf, "");
+
+        return;
+     }
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* print signals coming from theme */
+static void
+_sig_print(const char *emission,
+           const char *source)
+{
+   fprintf(stdout, "Signal %s coming from part %s!\n", emission, source);
+}
+
+static void
+_on_mouse_wheel(void        *data EINA_UNUSED,
+                  Evas_Object *obj EINA_UNUSED,
+                  const char  *emission,
+                  const char  *source)
+{
+   _sig_print(emission, source);
+}
+
+/* mouse over signals */
+static void
+_on_mouse_over(void        *data EINA_UNUSED,
+               Evas_Object *edje_obj,
+               const char  *emission,
+               const char  *source)
+{
+   int i;
+
+   _sig_print(emission, source);
+
+   Edje_Message_Int_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(int));
+   msg->count = 4;
+   for (i = 0; i < 4; i++)
+     msg->val[i] = rand() % 256;
+
+   edje_object_message_send(edje_obj, EDJE_MESSAGE_INT_SET, MSG_COLOR, msg);
+
+   free(msg);
+}
+
+/* print out received message string */
+static void
+_message_handle(void             *data EINA_UNUSED,
+                Evas_Object      *obj EINA_UNUSED,
+                Edje_Message_Type type,
+                int               id,
+                void             *msg)
+{
+   Edje_Message_String *m;
+
+   if (type != EDJE_MESSAGE_STRING) return;
+   if (id != MSG_TEXT) return;
+
+   m = msg;
+
+   fprintf(stdout, "String message received: %s\n", m->str);
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         border_img_path[PATH_MAX];
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "signals-messages.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Evas_Object *border;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Edje Basics Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   evas_object_focus_set(bg, EINA_TRUE);
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   if (!edje_object_file_set(edje_obj, edje_file_path, "example_group"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load 'example_group' from "
+                        "signals-messages.edj: %s\n", errmsg);
+
+        evas_object_del(edje_obj);
+        goto free_prefix;
+     }
+
+   edje_object_signal_callback_add(edje_obj, "mouse,wheel,*", "part_left",
+                                   _on_mouse_wheel, NULL);
+
+   edje_object_signal_callback_add(edje_obj, "mouse,over", "part_right",
+                                   _on_mouse_over, NULL);
+
+   edje_object_message_handler_set(edje_obj, _message_handle, NULL);
+
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj);
+
+   snprintf(border_img_path, sizeof(border_img_path),
+            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
+
+   /* this is a border around the Edje object above, here just to
+    * emphasize its geometry */
+   border = evas_object_image_filled_add(evas);
+   evas_object_image_file_set(border, border_img_path, NULL);
+   evas_object_image_border_set(border, 2, 2, 2, 2);
+   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
+
+   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
+   evas_object_move(border, 20 - 2, 20 - 2);
+   evas_object_repeat_events_set(border, EINA_TRUE);
+   evas_object_show(border);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-swallow.c b/src/examples/edje/edje-swallow.c
new file mode 100644 (file)
index 0000000..4769cc1
--- /dev/null
@@ -0,0 +1,130 @@
+/**
+ * Simple Edje example illustrating swallow functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc swallow.edc && gcc -o edje-swallow edje-swallow.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (300)
+#define HEIGHT (300)
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* here just to keep our example's window size and background image's
+ * size in synchrony */
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   evas_object_resize(bg, w, h);
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "swallow.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *rect;
+   Evas_Object *obj;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Swallow Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example_group");
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+
+   rect = evas_object_rectangle_add(evas);
+   evas_object_color_set(rect, 255, 0, 0, 255);
+   edje_object_part_swallow(edje_obj, "part_one", rect);
+
+   obj = edje_object_part_swallow_get(edje_obj, "part_one");
+   if(obj == rect)
+      printf("Swallowing worked!\n");
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-swallow2.c b/src/examples/edje/edje-swallow2.c
new file mode 100644 (file)
index 0000000..884578c
--- /dev/null
@@ -0,0 +1,135 @@
+/**
+ * Simple Edje example illustrating swallow functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc swallow.edc && gcc -o edje-swallow2 edje-swallow2.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (300)
+#define HEIGHT (300)
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   char         img_file_path[PATH_MAX];
+   const char  *edje_file = "swallow.edj";
+   const char  *img_file = "bubble.png";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *img;
+   Evas_Object *obj;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+   Evas_Load_Error err;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+
+   ecore_evas_title_set(ee, "Edje Swallow Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   ecore_evas_object_associate(ee,bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example_group");
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+
+   snprintf(img_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), img_file);
+
+   img = evas_object_image_filled_add(evas);
+   evas_object_image_file_set(img, img_file_path, NULL);
+
+   err = evas_object_image_load_error_get(img);
+
+   if (err != EVAS_LOAD_ERROR_NONE)
+   {
+      fprintf(stderr, "could not load image '%s'. error string is \"%s\"\n",
+              img_file_path, evas_load_error_str(err));
+     goto free_prefix;
+   }
+
+   edje_object_part_swallow(edje_obj, "part_one", img);
+
+   obj = edje_object_part_swallow_get(edje_obj, "part_one");
+
+   if(obj == img)
+      printf("Swallowing worked!\n");
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-table.c b/src/examples/edje/edje-table.c
new file mode 100644 (file)
index 0000000..51042d2
--- /dev/null
@@ -0,0 +1,210 @@
+/**
+ * Simple Edje example illustrating table functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc table.edc && gcc -o edje-table edje-table.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (400)
+#define HEIGHT (400)
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* Try to get the number of columns and rows of the table
+ * and print them. */
+static void
+_columns_rows_print(Evas_Object *edje_obj)
+{
+   int cols, rows;
+
+   if (edje_object_part_table_col_row_size_get(edje_obj, "table_part", &cols,
+                                               &rows))
+     fprintf(stdout, "Number of columns: %d\nNumber of rows: %d\n", cols, rows);
+   else
+     fprintf(stderr, "Cannot get the number of columns and rows\n");
+}
+
+/* here just to keep our example's window size and table items
+ * size in synchrony. */
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Evas_Object **rects;
+   int          i;
+   int          w;
+   int          h;
+
+   bg = ecore_evas_data_get(ee, "background");
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+   rects = ecore_evas_data_get(ee, "rects");
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+
+   evas_object_resize(bg, w, h);
+   evas_object_resize(edje_obj, w, h);
+
+   for (i = 0; i < 4; i++)
+     evas_object_size_hint_min_set(rects[i], w/2, h/2);
+}
+
+/* Mouse button 1 = remove the clicked item
+ * any other button = remove all items. */
+static void
+_on_mouse_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Down *ev;
+   Evas_Object *edje_obj;
+
+   ev = (Evas_Event_Mouse_Down *)event_info;
+   edje_obj = (Evas_Object *)data;
+
+   if (ev->button != 1)
+     edje_object_part_table_clear(edje_obj, "table_part", EINA_TRUE);
+   else if (!edje_object_part_table_unpack(edje_obj, "table_part", obj))
+     fprintf(stderr, "Cannot remove the selected rectangle\n");
+
+   evas_object_del(obj);
+   _columns_rows_print(edje_obj);
+}
+
+static void
+_rects_create(Evas *evas, Evas_Object **rects, Evas_Object *edje_obj)
+{
+   int i;
+
+   for (i = 0; i < 4; i++)
+     {
+        rects[i] = evas_object_rectangle_add(evas);
+        evas_object_size_hint_min_set(rects[i], 200, 200);
+        evas_object_size_hint_weight_set(rects[i], 1.0, 1.0);
+        evas_object_show(rects[i]);
+        evas_object_event_callback_add(rects[i], EVAS_CALLBACK_MOUSE_DOWN,
+                                       _on_mouse_down, edje_obj);
+     }
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "table.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Evas_Object *rects[4];
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_callback_resize_set(ee, _on_canvas_resize);
+   ecore_evas_title_set(ee, "Edje Table Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_data_set(ee, "background", bg);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example_table");
+   evas_object_move(edje_obj, 0, 0); /* at canvas' origin */
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+
+   _rects_create(evas, rects, edje_obj);
+   ecore_evas_data_set(ee, "rects", rects);
+
+   /* Colouring the rectangles */
+   evas_object_color_set(rects[0], 255, 0, 0, 255);
+   evas_object_color_set(rects[1], 0, 255, 0, 255);
+   evas_object_color_set(rects[2], 0, 0, 255, 255);
+   evas_object_color_set(rects[3], 128, 128, 128, 255);
+
+   /* Packing the rectangles into the table */
+   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[0],
+                                    0, 0, 1, 2))
+     fprintf(stderr, "Cannot add the rectangle 1 to table\n");
+
+   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[1],
+                                    0, 1, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 2 to table\n");
+
+   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[2],
+                                    1, 0, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 3 to table\n");
+
+   if (!edje_object_part_table_pack(edje_obj, "table_part", rects[3],
+                                    1, 1, 1, 1))
+     fprintf(stderr, "Cannot add the rectangle 4 to table\n");
+
+   _columns_rows_print(edje_obj);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje-text.c b/src/examples/edje/edje-text.c
new file mode 100644 (file)
index 0000000..5bfaaa4
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * Simple Edje example illustrating text functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (300)
+#define HEIGHT (300)
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+static void
+_on_text_change(void *data EINA_UNUSED, Evas_Object *obj, const char *part)
+{
+   printf("text: %s\n", edje_object_part_text_unescaped_get(obj, part));
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "text.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Edje text Example");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   edje_object_file_set(edje_obj, edje_file_path, "example_group");
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+
+   edje_object_text_change_cb_set(edje_obj, _on_text_change, NULL);
+   edje_object_part_text_set(edje_obj, "part_one", "one");
+   edje_object_part_text_set(edje_obj, "part_two", "<b>two");
+
+   edje_object_part_text_select_allow_set(edje_obj, "part_two", EINA_TRUE);
+   edje_object_part_text_select_all(edje_obj, "part_two");
+   printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two"));
+   edje_object_part_text_select_none(edje_obj, "part_two");
+   printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two"));
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/edje_example.c b/src/examples/edje/edje_example.c
new file mode 100644 (file)
index 0000000..103e867
--- /dev/null
@@ -0,0 +1,81 @@
+#include <Eina.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH 320
+#define HEIGHT 240
+
+static Evas_Object *create_my_group(Evas *canvas, const char *text)
+{
+   Evas_Object *edje;
+
+   edje = edje_object_add(canvas);
+   if (!edje)
+     {
+        EINA_LOG_CRIT("could not create edje object!");
+        return NULL;
+     }
+
+   if (!edje_object_file_set(edje, "edje_example.edj", "my_group"))
+     {
+        int err = edje_object_load_error_get(edje);
+        const char *errmsg = edje_load_error_str(err);
+        EINA_LOG_ERR("could not load 'my_group' from edje_example.edj: %s",
+                     errmsg);
+
+        evas_object_del(edje);
+        return NULL;
+     }
+
+   if (text)
+     {
+        if (!edje_object_part_text_set(edje, "text", text))
+          {
+             EINA_LOG_WARN("could not set the text. "
+                           "Maybe part 'text' does not exist?");
+          }
+     }
+
+   evas_object_move(edje, 0, 0);
+   evas_object_resize(edje, WIDTH, HEIGHT);
+   evas_object_show(edje);
+   return edje;
+}
+
+int main(int argc, char *argv[])
+{
+   Ecore_Evas *window;
+   Evas *canvas;
+   Evas_Object *edje;
+   const char *text;
+
+   ecore_evas_init();
+   edje_init();
+
+   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!window)
+     {
+        EINA_LOG_CRIT("could not create window.");
+        return -1;
+     }
+   canvas = ecore_evas_get(window);
+
+   text = (argc > 1) ? argv[1] : NULL;
+
+   edje = create_my_group(canvas, text);
+   if (!edje)
+     return -2;
+
+   ecore_evas_show(window);
+   ecore_main_loop_begin();
+
+   evas_object_del(edje);
+   ecore_evas_free(window);
+
+   edje_shutdown();
+   ecore_evas_shutdown();
+
+   return 0;
+}
diff --git a/src/examples/edje/edje_example.edc b/src/examples/edje/edje_example.edc
new file mode 100644 (file)
index 0000000..0b15791
--- /dev/null
@@ -0,0 +1,101 @@
+// compile: edje_cc edje_example.edc
+collections {
+   group {
+      name: "my_group"; // must be the same as in edje_example.c
+
+      parts {
+         part {
+            name: "background";
+            type: RECT; // plain boring rectangle
+            mouse_events: 0; // we don't need any mouse event on the background
+
+            // just one state "default"
+            description {
+               state: "default" 0.0; // must always exist
+               color: 255 255 255 255; // white
+
+               // define part coordinates:
+
+               rel1 { // top-left point at (0, 0) [WIDTH * 0 + 0, HEIGHT * 0 + 0]
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 { // bottom-right point at (WIDTH * 1.0 - 1, HEIGHT * 1.0 - 1)
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+         }
+
+         part {
+            name: "text";
+            type: TEXT;
+            mouse_events: 1; // we want to change the color on mouse-over
+
+            // 2 states, one "default" and another "over" to be used
+            // on mouse over effect
+
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; // red
+
+               // define part coordinates:
+
+               rel1 { // top-left at (WIDTH * 0.1 + 5, HEIGHT * 0.2 + 10)
+                  relative: 0.1 0.2;
+                  offset: 5 10;
+               }
+               rel2 { // bottom-right at (WIDTH * 0.9 - 6, HEIGHT * 0.8 - 11)
+                  relative: 0.9 0.8;
+                  offset: -6 -11;
+               }
+
+               // define text specific state details
+               text {
+                  font: "Sans"; // using fontconfig name!
+                  size: 10;
+                  text: "hello world";
+               }
+            }
+
+            description {
+               state: "over" 0.0;
+               inherit: "default" 0.0; // copy everything from "default" at this point
+
+               color: 0 255 0 255; // override color, now it is green
+            }
+         }
+
+         // do programs to change color on text mouse in/out (over)
+         programs {
+            program {
+               // what triggers this program:
+               signal: "mouse,in";
+               source: "text";
+
+               // what this program does:
+               action: STATE_SET "over" 0.0;
+               target: "text";
+
+               // do the state-set in a nice interpolation animation
+               // using linear time in 0.1 second
+               transition: LINEAR 0.1;
+            }
+
+            program {
+               // what triggers this program:
+               signal: "mouse,out";
+               source: "text";
+
+               // what this program does:
+               action: STATE_SET "default" 0.0;
+               target: "text";
+
+               // do the state-set in a nice interpolation animation
+               // using linear time in 0.1 second
+               transition: LINEAR 0.1;
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_custom_state.edc b/src/examples/edje/embryo_custom_state.edc
new file mode 100644 (file)
index 0000000..35a3998
--- /dev/null
@@ -0,0 +1,184 @@
+collections {
+   images {
+      image: "bubble.png" COMP;
+      image: "bubble-blue.png" COMP;
+   }
+
+   group { name: "main";
+      script {
+         /* define 3 global vars to hold the rotation values */
+         public rotx;
+         public roty;
+         public rotz;
+
+         public change_image(part[], img[]) {
+               new imgid;
+               new partid;
+
+               partid = get_part_id(part);
+               imgid = get_image_id(img);
+
+               custom_state(partid, "default", 0.0);
+               /* change the rotation in the custom state */
+               set_state_val(partid, STATE_IMAGE, imgid);
+               /* apply the custom state */
+               set_state(partid, "custom", 0.0);
+        }
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "img";
+            type: IMAGE;
+            description { state: "default" 0.0;
+              image { normal: "bubble.png"; }
+            }
+            /* Dummy state - otherwise edje_cc discards bubble-blue.png
+               as it thinks it's unused */
+            description { state: "foo" 0.0;
+              image { normal: "bubble-blue.png"; }
+            }
+         }
+            
+         part { name: "title";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Click labels to rotate";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+         part { name: "X";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Rot X (0)";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.1 0.5;
+               }
+            }
+         }
+         part { name: "Y";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Rot Y (0)";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.5 0.9;
+               }
+            }
+         }
+         part { name: "Z";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Rot Z (0)";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.9 0.5;
+               }
+            }
+         }
+         part { name: "setimg";
+            type: TEXT;
+            description { state: "default" 0.0;
+              color: 0 0 0 255;
+              text {
+                text: "Change image";
+                font: "Sans";
+                  size: 12;
+                  align: 0.5 1;
+               }
+            }
+         }
+         part { name: "rect";
+            type: RECT;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               color: 255 0 0 150;
+               max: 150 150;
+               align: 0.5 0.5;
+               map {
+                  on: 1;
+                  perspective_on: 1;
+                  smooth: 1;
+                  alpha: 1;
+               }
+            }
+         }
+      }
+      programs {
+         program {
+            signal: "mouse,down,1";
+            source: "X";
+            script {
+               /* define local vars */
+               new buf[32];
+               new Float:x;
+
+               /* get global var (and increment) */
+               x = get_int(rotx) + 10;
+               /* set global var */
+               set_int(rotx, round(x));
+               /* crete a new custom state (inherit from default 0.0) */
+               custom_state(PART:"rect", "default", 0.0);
+               /* change the rotation in the custom state */
+               set_state_val(PART:"rect", STATE_MAP_ROT_X, x);
+               /* apply the custom state */
+               set_state(PART:"rect", "custom", 0.0);
+               /* update the label to show the current value */
+               snprintf(buf, sizeof(buf), "Rot X (%d)", round(x));
+               set_text(PART:"X", buf);
+            }
+         }
+         program {
+            signal: "mouse,down,1";
+            source: "Y";
+            script {
+               new buf[32];
+               new Float:y = get_int(roty) + 10;
+               set_int(roty, round(y));
+               custom_state(PART:"rect", "default", 0.0);
+               set_state_val(PART:"rect", STATE_MAP_ROT_Y, y);
+               set_state(PART:"rect", "custom", 0.0);
+               snprintf(buf, sizeof(buf), "Rot Y (%d)", round(y));
+               set_text(PART:"Y", buf);
+            }
+         }
+         program {
+            signal: "mouse,down,1";
+            source: "Z";
+            script {
+               new buf[32];
+               new Float:z = get_int(rotz) + 10;
+               set_int(rotz, round(z));
+               custom_state(PART:"rect", "default", 0.0);
+               set_state_val(PART:"rect", STATE_MAP_ROT_Z, z);
+               set_state(PART:"rect", "custom", 0.0);
+               snprintf(buf, sizeof(buf), "Rot Z (%d)", round(z));
+               set_text(PART:"Z", buf);
+            }
+         }
+         program {
+            signal: "mouse,down,1";
+            source: "setimg";
+            script {
+               change_image("img", "bubble-blue.png");
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_pong.edc b/src/examples/edje/embryo_pong.edc
new file mode 100644 (file)
index 0000000..0e52ddb
--- /dev/null
@@ -0,0 +1,270 @@
+
+#define DEBUG_ENABLE 0
+#define FPS 30
+#define COLOR_BG 50 50 50 255
+#define COLOR_FG 222 222 222 255
+#define PAD_SIZE 60
+#define PAD_DISTANCE 20
+#define BALL_SPEED 5.0
+#define BALL_SPEEDUP 0.1
+#define BALL_SIZE 10
+
+
+collections {
+   group { name: "main";
+      min: 500 300;
+      script {
+         public ballx, bally;
+         public ballspeedx, ballspeedy;
+         public player_score, ai_score;
+
+         public game_reset() {
+            set_int(ai_score, 0);
+            set_int(player_score, 0);
+            set_text(PART:"score1", "0");
+            set_text(PART:"score2", "0");
+            game_init();
+         }
+         
+         public game_init() {
+            set_float(ballspeedx, 0.0);
+            set_float(ballspeedy, 0.0);
+            set_float(ballx, 100);
+            set_float(bally, 100);
+         }
+         
+         public start_game() {
+            set_float(ballspeedx, BALL_SPEED);
+            set_float(ballspeedy, BALL_SPEED * randf());
+         }
+
+         public player_wins() {
+            new buf[16]
+            set_int(player_score, get_int(player_score) + 1);
+            snprintf(buf, sizeof(buf), "%d", get_int(player_score));
+            set_text(PART:"score1", buf);
+            game_init();
+         }
+
+         public ai_wins() {
+            new buf[16]
+            set_int(ai_score, get_int(ai_score) + 1);
+            snprintf(buf, sizeof(buf), "%d", get_int(ai_score));
+            set_text(PART:"score2", buf);
+            game_init();
+         }
+
+         public game_loop(count) {
+            count++;
+
+            /* get field geometry */
+            new fx, fy, fw, fh;
+            get_geometry(PART:"bg", fx, fy, fw, fh);
+
+            /* get mouse coords */
+            new mx, my;
+            get_mouse(mx, my);
+
+            /* get the ball info */
+            new Float:bx = get_float(ballx);
+            new Float:by = get_float(bally);
+            new Float:speedx = get_float(ballspeedx);
+            new Float:speedy = get_float(ballspeedy);
+
+            /* move the player pad */
+            new pady = my - PAD_SIZE / 2;
+            if (pady < 0) pady = 0;
+            else if (pady + PAD_SIZE > fh) pady = fh - PAD_SIZE;
+            custom_state(PART:"pad1", "default", 0.0);
+            set_state_val(PART:"pad1", STATE_REL1_OFFSET, 20, pady);
+            set_state(PART:"pad1", "custom", 0.0);
+
+            /* move the AI pad */
+            new pad2y = round(by) - PAD_SIZE / 2 - BALL_SIZE / 2;
+            if (pad2y < 0) pad2y = 0;
+            else if (pad2y + PAD_SIZE > fh) pad2y = fh - PAD_SIZE;
+            custom_state(PART:"pad2", "default", 0.0);
+            set_state_val(PART:"pad2", STATE_REL1_OFFSET, 20, pad2y);
+            set_state(PART:"pad2", "custom", 0.0);
+         
+            /* calc new ball position */
+            bx += speedx;
+            by += speedy;
+
+            /* check walls collision */
+            if (by < 0)
+            {
+               speedy = -speedy;
+               by = 0;
+            }
+            else if (by + BALL_SIZE > fh)
+            {
+               speedy = -speedy;
+               by = fh - BALL_SIZE - 1;
+            }
+
+            /* check player pad collision */
+            if ((speedx < 0) &&
+                (bx < PAD_DISTANCE + 10) && (bx > 0) &&
+                (by + BALL_SIZE > pady) && (by < pady + PAD_SIZE))
+            {
+               new Float:dy = by - pady - PAD_SIZE / 2;
+               speedy += dy / 10;
+               speedx = -speedx + BALL_SPEEDUP;
+            }
+
+            /* check AI pad collision */
+            else if ((bx + BALL_SIZE > fw - PAD_DISTANCE - 10) &&
+                     (bx + BALL_SIZE < fw) &&
+                     (by + BALL_SIZE > pad2y) && (by < pad2y + PAD_SIZE))
+            {
+               new Float:dy = by - pad2y - PAD_SIZE / 2;
+               speedy += dy / 10;
+               speedx = -speedx - BALL_SPEEDUP;
+            }
+            
+            /* apply the new ball position */
+            custom_state(PART:"ball", "default", 0.0);
+            set_state_val(PART:"ball", STATE_REL1_OFFSET, round(bx), round(by));
+            set_state(PART:"ball", "custom", 0.0);
+
+            /* update global vars */
+            set_float(ballx, bx);
+            set_float(bally, by);
+            set_float(ballspeedx, speedx);
+            set_float(ballspeedy, speedy);
+
+            /* AI score a point */
+            if (bx < 0) ai_wins();
+            /* player score a point */
+            if (bx + BALL_SIZE > fw) player_wins();
+
+            /* show debug info (if debug enabled) */
+#if DEBUG_ENABLE
+            new _buf[128];
+            snprintf(_buf, sizeof(_buf),
+                     "loop:%d  [speed %f  %f] [mouse: %d %d] [ball: %f %f]",
+                     count, speedx, speedy, mx, my, bx, by);
+            set_text(PART:"dbg", _buf);
+#endif
+
+            /* recall the loop in n seconds */
+            timer(1.0 / FPS, "game_loop", count);
+         }
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: COLOR_BG;
+            }
+         }
+         part { name: "net";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               max: 10 9999;
+            }
+         }
+         part { name: "score1";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               rel2.relative: 0.5 0.5;
+               rel2.offset: -20 0;
+               text {
+                  text: "0";
+                  font: "Sans";
+                  size: 50;
+                  align: 1.0 0.0;
+               } 
+            }
+         }
+         part { name: "score2";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               rel1.relative: 0.5 0.0;
+               rel1.offset: 20 0;
+               text {
+                  text: "0";
+                  font: "Sans";
+                  size: 50;
+                  align: 0.0 0.0;
+               } 
+            }
+         }
+         part { name: "pad1";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               max: 10 PAD_SIZE;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               rel1.offset: PAD_DISTANCE 0;
+            }
+         }
+         part { name: "pad2";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               max: 10 PAD_SIZE;
+               fixed: 1 1;
+               align: 1.0 0.0;
+               rel2.offset: -PAD_DISTANCE 0;
+            }
+         }
+         part { name: "ball";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: COLOR_FG;
+               max: BALL_SIZE BALL_SIZE;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               rel1.offset: 100 100;
+            }
+         }
+         #if DEBUG_ENABLE
+         part { name: "dbg";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 255 255 255 200;
+               text {
+                  font: "Sans";
+                  size: 12;
+                  align: 1.0 1.0;
+               }
+            }
+         }
+         #endif
+      }
+      programs {
+         /* on load: reset the game and start the game loop */
+         program {
+            signal: "load";
+            source: "";
+            script {
+               game_reset();
+               timer(0.1 , "game_loop", 0);
+            }
+         }
+         /* mouse left click: start the game, if not yet started */
+         program {
+            signal: "mouse,down,1";
+            source: "bg";
+            script {
+               if (get_float(ballspeedx) == 0.0)
+                  start_game();
+            }
+         }
+         /* mouse right click: restart the game*/
+         program {
+            signal: "mouse,down,3";
+            source: "bg";
+            script {
+               game_reset();
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_run_program.edc b/src/examples/edje/embryo_run_program.edc
new file mode 100644 (file)
index 0000000..4833b93
--- /dev/null
@@ -0,0 +1,66 @@
+collections {
+   group { name: "main";
+      script {
+         public toggle;
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "label";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Click me.";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.5 0.8;
+               }
+            }
+         }
+         part { name: "rect";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 0 0 255;
+               max: 30 30;
+               align: 0.1 0.2;
+            }
+            description { state: "default" 1.0;
+               inherit: "default" 0.0;
+               color: 0 0 255 255;
+               align: 0.9 0.2;
+            }
+         }
+      }
+      programs {
+         program { name: "go_right";
+            action: STATE_SET "default" 1.0;
+            transition: SINUSOIDAL 1.0;
+            target: "rect";
+         }
+         program { name: "go_left";
+            action: STATE_SET "default" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "rect";
+         }
+         program {
+            signal: "mouse,down,1";
+            source: "label";
+            script {
+               if (get_int(toggle) == 0) {
+                  run_program(PROGRAM:"go_right");
+                  set_int(toggle, 1);
+               }
+               else {
+                  run_program(PROGRAM:"go_left");
+                  set_int(toggle, 0);
+               }
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_set_state.edc b/src/examples/edje/embryo_set_state.edc
new file mode 100644 (file)
index 0000000..e752fad
--- /dev/null
@@ -0,0 +1,46 @@
+collections {
+   group { name: "main";
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "label";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Click me.";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.0 0.7;
+               }
+            }
+         }
+         part { name: "red_rect";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 0 0 255;
+               max: 30 30;
+               align: 0.1 0.2;
+            }
+            description { state: "default" 1.0;
+               inherit: "default" 0.0;
+               color: 0 0 255 255;
+               align: 0.9 0.2;
+            }
+         }
+      }
+      programs {
+         program {
+            signal: "mouse,down,1";
+            source: "label";
+            script {
+               set_state(PART:"red_rect", "default", 1.0);
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_set_text.edc b/src/examples/edje/embryo_set_text.edc
new file mode 100644 (file)
index 0000000..d656019
--- /dev/null
@@ -0,0 +1,39 @@
+collections {
+   group { name: "main";
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "label";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Click me.";
+                  font: "Sans";
+                  size: 12;
+               }
+            }
+         }
+      }
+      programs {
+         program {
+            signal: "mouse,down,1";
+            source: "label";
+            script {
+               set_text(PART:"label", "Clicked!"); 
+            }
+         }
+         program {
+            signal: "mouse,up,1";
+            source: "label";
+            script {
+               set_text(PART:"label", "Click me."); 
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/embryo_timer.edc b/src/examples/edje/embryo_timer.edc
new file mode 100644 (file)
index 0000000..2c2f8e5
--- /dev/null
@@ -0,0 +1,90 @@
+collections {
+   group { name: "main";
+      script {
+         public timer_cb(val) {
+            new x, y, w, h;
+            new buf[32];
+
+            /* set labels with object info */
+            get_geometry(PART:"red_rect", x, y, w, h);
+            snprintf(buf, sizeof(buf), "Timer called %d times.", val);
+            set_text(PART:"label1", buf)
+            snprintf(buf, sizeof(buf), "Object x: %d  w: %d", x, w);
+            set_text(PART:"label2", buf)
+
+            /* renew the timer */
+            timer(1 / 30, "timer_cb", val + 1);
+         }
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "label1";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.0 0.7;
+               }
+            }
+         }
+         part { name: "label2";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  font: "Sans";
+                  size: 12;
+                  align: 0.0 0.8;
+               }
+            }
+         }
+         part { name: "red_rect";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 0 0 255;
+               max: 30 30;
+               align: 0.1 0.2;
+            }
+            description { state: "default" 1.0;
+               inherit: "default" 0.0;
+               color: 0 0 255 255;
+               max: 50 30;
+               align: 0.9 0.2;
+            }
+         }
+      }
+      programs {
+         /* move the red rect back an forth in a loop */
+         program { name: "init";
+            signal: "load";
+            source: "";
+            action: STATE_SET "default" 1.0;
+            transition: SINUSOIDAL 1.0;
+            target: "red_rect";
+            after: "loop";
+         }
+         program { name: "loop";
+            action: STATE_SET "default" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "red_rect";
+            after: "init";
+         }
+         /* run the timer_cb for the first time */
+         program { name: "init2";
+            signal: "load";
+            source: "";
+            script {
+                timer_cb(0);
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/external_elm_anchorblock.edc b/src/examples/edje/external_elm_anchorblock.edc
new file mode 100644 (file)
index 0000000..33f99da
--- /dev/null
@@ -0,0 +1,160 @@
+
+#define LOREM "Vestibulum nunc mi, adipiscing dapibus turpis. Integer ornare \
+vestibulum. Quisque libero augue, non tristique tortor. Praesent urna augue, \
+blandit id sodales vel, varius at purus. Ut congue mollis elit, quis vehicula \
+enim ornare vitae. Suspendisse non faucibus massa. Nunc facilisis sapien ut \
+erat laoreet vitae pharetra purus commodo. Donec in ipsum justo, sit amet \
+lacinia massa. Pellentesque sed dolor lectus. Integer nec nisi ut massa \
+vestibulum vulputate mollis ut lacus. Morbi lobortis dictum lacus nec \
+faucibus. <item relsize=16x16 vsize=full href=emoticon/angry></item> \
+<item relsize=16x16 vsize=full href=emoticon/evil></item> \
+<item relsize=16x16 vsize=full href=emoticon/google-smile></item> \
+<item relsize=16x16 vsize=full href=emoticon/omg></item><br><br> \
+Phasellus ultricies nisl sit amet ligula tristique in adipiscing neque \
+vulputate. Maecenas est ante, porttitor eget commodo non, blandit et erat. \
+Duis adipiscing, tortor quis gravida vulputate, magna lorem mollis tortor, \
+elementum ullamcorper dui mi ut metus. Nunc dictum nisi sed arcu mattis \
+pellentesque. Aliquam erat volutpat. Nullam faucibus suscipit dui a \
+condimentum. Fusce a diam tortor. Curabitur egestas gravida magna, eget \
+lacinia magna fringilla in. Donec eget tincidunt ipsum. Suspendisse velit \
+massa, sollicitudin in laoreet a, posuere malesuada enim. \
+Duis a nulla purus.<br><br> \
+Aenean nec sodales lacus. Sed ipsum felis, blandit sed aliquet ac, viverra \
+vitae odio. Proin nisi nisi, commodo at cursus ut, auctor at elit. Sed tempor \
+placerat orci eget venenatis. Duis ut dolor nibh, non luctus tellus. Duis \
+placerat aliquet sem, et dignissim tellus rutrum at. Etiam sapien lacus, \
+auctor quis interdum vel, pellentesque sit amet arcu. Proin accumsan, mauris \
+non dapibus fermentum, nisl leo cursus nisi, eget auctor lacus ante a nisl. \
+Suspendisse ullamcorper suscipit mi, et blandit augue aliquet non. Aenean \
+vulputate ullamcorper ante, ut tincidunt orci sagittis nec. In hendrerit nunc \
+eget sapien eleifend luctus. Pellentesque vulputate diam ac arcu suscipit nec \
+vestibulum dolor blandit. Sed et massa vel ante tempor fermentum nec ac arcu. \
+Duis turpis odio, vehicula sit amet pellentesque non, facilisis quis ligula. \
+Sed ante nisl, cursus in pulvinar in, interdum vitae diam. Cras condimentum \
+diam ac purus tempor suscipit eget sed metus. Nam erat nunc, eleifend vitae \
+vehicula vitae, venenatis faucibus est. Nam auctor mauris metus. Nam eget \
+vehicula nunc. Nulla ut nisi id sapien rhoncus vestibulum."
+
+collections {
+   group { name: "main";
+      /* set a min window size */
+      min: 300 400;
+
+      /* tell edje that we are going to use elementary external parts */
+      externals {
+         external: "elm";
+      }
+
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+
+         part { name: "title";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+               color3: 70 70 70 70;
+               text {
+                  text: "Elementary Anchorblock";
+                  font: "Sans";
+                  size: 16;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+
+         /* EXTERNAL elementary anchorblock */
+         part { name: "anchorblock";
+            type: EXTERNAL;
+            source: "elm/anchorblock";
+            description { state: "default" 0.0;
+               color: 200 200 0 200;
+               rel1.offset: 5 35;
+               rel2.offset: -6 -45;
+               align: 0.0 0.0;
+               map {
+                  on: 1;
+                  perspective_on: 1;
+                  smooth: 1;
+               }
+               params.string: "text" LOREM;
+            }
+            description { state: "anim" 0.0;
+               inherit: "default" 0.0;
+               map.rotation.z: 100;
+            }
+            description { state: "anim" 0.1;
+               inherit: "default" 0.0;
+               map.rotation.y: 180;
+            }
+            description { state: "anim" 0.2;
+               inherit: "default" 0.0;
+               map.rotation.x: 150;
+            }
+            description { state: "anim" 0.3;
+               inherit: "default" 0.0;
+               map.rotation.z: 100;
+               map.rotation.y: 100;
+            }
+         }
+   
+         /* EXTERNAL elementary button to trigger the animation */
+         part { name: "button";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 5 -40;
+               }
+               rel2 {
+                  offset: -6 -2;
+               }
+               params {
+                  string: "label" "Animate";
+               }
+            }
+         }
+      }
+
+      programs {
+         /* button clicked, start the animation cycle */
+         program { name: "button_click";
+            signal: "clicked";
+            source: "button";
+            action: STATE_SET "anim" 0.0;
+            transition: LINEAR 1.0;
+            target: "anchorblock";
+            after: "anim2";
+         }
+         program { name: "anim2";
+            action: STATE_SET "anim" 0.1;
+            transition: LINEAR 1.0;
+            target: "anchorblock";
+            after: "anim3";
+         }
+         program { name: "anim3";
+            action: STATE_SET "anim" 0.2;
+            transition: LINEAR 1.0;
+            target: "anchorblock";
+            after: "anim4";
+         }
+         program { name: "anim4";
+            action: STATE_SET "anim" 0.3;
+            transition: LINEAR 1.0;
+            target: "anchorblock";
+            after: "anim5";
+         }
+         program { name: "anim5";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 1.0;
+            target: "anchorblock";
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/external_elm_button.edc b/src/examples/edje/external_elm_button.edc
new file mode 100644 (file)
index 0000000..b7796d8
--- /dev/null
@@ -0,0 +1,270 @@
+collections {
+   /* those 2 groups are used as custom icons for the buttons */
+   group { name: "icon_green";
+      parts {
+         part { name: "icon_green";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 255 0 255;
+               aspect: 1 1;
+               aspect_preference: VERTICAL;
+            }
+         }
+      }
+   }
+   group { name: "icon_red";
+      parts {
+         part { name: "icon_red";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 0 0 255;
+               aspect: 1 1;
+               aspect_preference: VERTICAL;
+            }
+         }
+      }
+   }
+
+   group { name: "main";
+      /* set a min window size */
+      min: 250 250;
+      
+      /* tell edje that we are going to use elementary external parts */
+      externals {
+         external: "elm";
+      }
+      
+      /* define global variables */
+      script {
+         public counter, toggle1, toggle2, toggle3, toggle4;
+      }
+      
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+
+         part { name: "title";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+               color3: 70 70 70 70;
+               text {
+                  text: "Elementary buttons";
+                  font: "Sans";
+                  size: 16;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+
+         /* bottom label used for reporting */
+         part { name: "label";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "try every buttons";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.5 1.0;
+               }
+            }
+         }
+
+         /* EXTERNAL elementary button with a label */
+         part { name: "bt1";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  offset: 5 35;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -6 60;
+               }
+               params {
+                  string: "label" "Label only";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary button with label + standard icon */
+         part { name: "bt2";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  to: "bt1";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "bt1";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "label" "Label + standard icon";
+                  string: "icon" "home";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary button with a label and a custom icon */
+         part { name: "bt3";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  to: "bt2";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "bt2";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "label" "Label + custom icon";
+                  string: "icon" "icon_green";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary button with just a standard icon */
+         part { name: "bt4";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  to: "bt3";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "bt3";
+                  relative: 0.5 2.0;
+                  offset: -6 5;
+               }
+               params {
+                  string: "icon" "folder";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary button with just a custom icon */
+         part { name: "bt5";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0;
+               rel1 {
+                  to: "bt3";
+                  relative: 0.5 1.0;
+                  offset: 5 5;
+               }
+               rel2 {
+                  to: "bt3";
+                  relative: 1.0 2.0;
+                  offset: 0 5;
+               }
+               params {
+                  string: "icon" "icon_green";
+               }
+            }
+         }
+      }
+
+      programs {
+         /* bt1 clicked, change it's label and count the clicks */
+         program { name: "bt1_click";
+            signal: "clicked";
+            source: "bt1";
+            script {
+               new buf[32];
+               /* increment the global counter*/
+               set_int(counter, get_int(counter) + 1);
+               /* set the button label */
+               snprintf(buf, sizeof(buf), "Clicked %d times", get_int(counter));
+               external_param_set_str(PART:"bt1", "label", buf);
+               /* set the bottom label */
+               set_text(PART:"label", "button 1 clicked: set label");
+            }
+         }
+
+         /* bt2 clicked, toggle it's standard icon */
+         program { name: "bt2_click";
+            signal: "clicked";
+            source: "bt2";
+            script {
+               if (get_int(toggle1) == 0) {
+                  external_param_set_str(PART:"bt2", "icon", "home");
+                  set_int(toggle1, 1);
+               }
+               else {
+                  external_param_set_str(PART:"bt2", "icon", "folder");
+                  set_int(toggle1, 0);
+               }
+               set_text(PART:"label", "button 2 clicked: toggle icon");
+            }
+         }
+
+         /* bt3 clicked, toggle it's custom icon */
+         program { name: "bt3_click";
+            signal: "clicked";
+            source: "bt3";
+            script {
+               if (get_int(toggle2) == 0) {
+                  external_param_set_str(PART:"bt3", "icon", "icon_red");
+                  set_int(toggle2, 1);
+               }
+               else {
+                  external_param_set_str(PART:"bt3", "icon", "icon_green");
+                  set_int(toggle2, 0);
+               }
+               set_text(PART:"label", "button 3 clicked: toggle icon");
+            }
+         }
+
+         /* bt4 clicked, toggle it's icon */
+         program { name: "bt4_click";
+            signal: "clicked";
+            source: "bt4";
+            script {
+               if (get_int(toggle3) == 0) {
+                  external_param_set_str(PART:"bt4", "icon", "home");
+                  set_int(toggle3, 1);
+               }
+               else {
+                  external_param_set_str(PART:"bt4", "icon", "folder");
+                  set_int(toggle3, 0);
+               }
+               set_text(PART:"label", "button 4 clicked: toggle icon");
+            }
+         }
+
+         /* bt5 clicked, toggle it's icon */
+         program { name: "bt5_click";
+            signal: "clicked";
+            source: "bt5";
+            script {
+               if (get_int(toggle4) == 0) {
+                  external_param_set_str(PART:"bt5", "icon", "icon_red");
+                  set_int(toggle4, 1);
+               }
+               else {
+                  external_param_set_str(PART:"bt5", "icon", "icon_green");
+                  set_int(toggle4, 0);
+               }
+               set_text(PART:"label", "button 5 clicked: toggle icon");
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/external_elm_check.edc b/src/examples/edje/external_elm_check.edc
new file mode 100644 (file)
index 0000000..0d5423f
--- /dev/null
@@ -0,0 +1,211 @@
+collections {
+   /* this groups is used as custom icon */
+   group { name: "icon_green";
+      parts {
+         part { name: "icon_green";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 255 0 255;
+               aspect: 1 1;
+               aspect_preference: VERTICAL;
+            }
+         }
+      }
+   }
+
+   group { name: "main";
+      /* set a min window size */
+      min: 200 300;
+      
+      /* tell edje that we are going to use elementary external parts */
+      externals {
+         external: "elm";
+      }
+
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+
+         part { name: "title";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+               color3: 70 70 70 70;
+               text {
+                  text: "Elementary Checks";
+                  font: "Sans";
+                  size: 16;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+
+         /* EXTERNAL elementary check with a label */
+         part { name: "check1";
+            type: EXTERNAL;
+            source: "elm/check";
+            description { state: "default" 0;
+               rel1 {
+                  offset: 5 35;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -6 60;
+               }
+               params {
+                  string: "label" "Label only";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary check with label + standard icon */
+         part { name: "check2";
+            type: EXTERNAL;
+            source: "elm/check";
+            description { state: "default" 0;
+               rel1 {
+                  to: "check1";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "check1";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "label" "Label + standard icon";
+                  string: "icon" "home";
+               }
+            }
+         }
+
+         /* EXTERNAL elementary check with a label and a custom icon */
+         part { name: "check3";
+            type: EXTERNAL;
+            source: "elm/check";
+            description { state: "default" 0;
+               rel1 {
+                  to: "check2";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "check2";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "label" "Label + custom icon";
+                  string: "icon" "icon_green";
+               }
+            }
+         }
+         
+         /* EXTERNAL elementary check with just a custom icon */
+         part { name: "check4";
+            type: EXTERNAL;
+            source: "elm/check";
+            description { state: "default" 0;
+               rel1 {
+                  to: "check3";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "check3";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "icon" "home";
+               }
+            }
+         }
+         
+         /* EXTERNAL elementary check with just a custom icon */
+         part { name: "check5";
+            type: EXTERNAL;
+            source: "elm/check";
+            description { state: "default" 0;
+               rel1 {
+                  to: "check4";
+                  relative: 0.0 1.0;
+                  offset: 0 5;
+               }
+               rel2 {
+                  to: "check4";
+                  relative: 1.0 2.0;
+                  offset: -1 5;
+               }
+               params {
+                  string: "icon" "icon_green";
+               }
+            }
+         }
+      }
+
+      programs {
+         /* on edje load start the programs loop */
+         program {
+            signal: "load";
+            after: "loop1";
+         }
+
+         /* wait 0.2, toggle the state of check1, trigger next prog */
+         program { name: "loop1";
+            in: 0.2 0.0;
+            script {
+               external_param_set_bool(PART:"check1", "state",
+                        !external_param_get_bool(PART:"check1", "state"));
+            }
+            after: "loop2";
+         }
+
+         /* wait 0.2, toggle the state of check2, trigger next prog */
+         program { name: "loop2";
+            in: 0.2 0.0;
+            script {
+               external_param_set_bool(PART:"check2", "state",
+                        !external_param_get_bool(PART:"check2", "state"));
+            }
+            after: "loop3";
+         }
+
+         /* wait 0.2, toggle the state of check3, trigger next prog */
+         program { name: "loop3";
+            in: 0.2 0.0;
+            script {
+               external_param_set_bool(PART:"check3", "state",
+                        !external_param_get_bool(PART:"check3", "state"));
+            }
+            after: "loop4";
+         }
+
+         /* wait 0.2, toggle the state of check4, trigger next prog */
+         program { name: "loop4";
+            in: 0.2 0.0;
+            script {
+               external_param_set_bool(PART:"check4", "state",
+                        !external_param_get_bool(PART:"check4", "state"));
+            }
+            after: "loop5";
+         }
+         
+         /* wait 0.2, toggle the state of check5, restart from the first prog */
+         program { name: "loop5";
+            in: 0.2 0.0;
+            script {
+               external_param_set_bool(PART:"check5", "state",
+                        !external_param_get_bool(PART:"check5", "state"));
+            }
+            after: "loop1";
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/external_elm_panes.edc b/src/examples/edje/external_elm_panes.edc
new file mode 100644 (file)
index 0000000..8833668
--- /dev/null
@@ -0,0 +1,140 @@
+collections {
+   /* tell edje that we are going to use elementary external parts */
+   externals {
+      external: "elm";
+   }
+   
+   /* those groups are the buttons used as content for the panes */
+   group { name: "button1";
+      parts {
+         part { name: "btn";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0.0;
+               params.string: "label" "Left";
+            }
+         }
+      }
+   }
+   group { name: "button2";
+      parts {
+         part { name: "btn";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0.0;
+               params.string: "label" "Top";
+            }
+         }
+      }
+   }
+   group { name: "button3";
+      parts {
+         part { name: "btn";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0.0;
+               params.string: "label" "Right";
+            }
+         }
+      }
+   }
+
+   /* this is the vertical panes */
+   group { name: "panes2";
+      parts {
+         part { name: "panes";
+            type: EXTERNAL;
+            source: "elm/panes";
+            description { state: "default" 0.0;
+               params {
+                  bool: "horizontal" 1;
+                  string: "content left" "button2";
+                  string: "content right" "button3";
+               }
+            }
+         }
+      }
+   }
+   
+   group { name: "main";
+      /* set a min window size */
+      min: 300 400;
+
+      parts {
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+
+         part { name: "title";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+               color3: 70 70 70 70;
+               text {
+                  text: "Elementary Panes";
+                  font: "Sans";
+                  size: 16;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+
+         /* first panes (horiz) */
+         part { name: "panes1";
+            type: EXTERNAL;
+            source: "elm/panes";
+            description { state: "default" 0.0;
+               rel1.offset: 0 35;
+               rel2.offset: 0 -45;
+               params {
+                  string: "content left" "button1";
+                  string: "content right" "panes2";
+               }
+            }
+            description { state: "swapped" 0.0;
+               inherit: "default" 0.0;
+               params {
+                  string: "content left" "panes2";
+                  string: "content right" "button1";
+               }
+            }
+         }
+
+         /* button used to swap the content of the panes1 */
+         part { name: "swap_button";
+            type: EXTERNAL;
+            source: "elm/button";
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -40;
+               }
+               params {
+                  string: "label" "Swap & back";
+               }
+            }
+         }
+      }
+
+      programs {
+         /* when button is pressed set the 'swapped' state */
+         program { name: "swap";
+            signal: "clicked";
+            source: "swap_button";
+            action: STATE_SET "swapped" 0.0;
+            target: "panes1";
+            after: "go_back";
+         }
+         /* after 1 second return to the 'default' state */
+         program { name: "go_back";
+            in: 1.0 0.0;
+            action: STATE_SET "default" 0.0;
+            target: "panes1";
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/external_emotion_elm.edc b/src/examples/edje/external_emotion_elm.edc
new file mode 100644 (file)
index 0000000..686e10f
--- /dev/null
@@ -0,0 +1,239 @@
+/*
+ Super-concise video player example using Edje/Emotion/Elementary.
+
+ This is all in Edje by means of type:EXTERNAL, you don't need any C
+ code other than emotion and edje installed with edje_external
+ support enabled.
+
+ Compile: edje_cc     external-emotion-elm.edc
+ Run....: edje_player external-emotion-elm.edj
+
+ */
+collections {
+   group { name: "main";
+      min: 350 200; /* set a min window size */
+
+      externals { /* declare the modules you want to load */
+         external: "emotion"; /* video player engine */
+         external: "elm"; /* toolkit/widgets */
+      }
+
+      parts {
+         part { name: "bg"; /* dark gray rectangle as background */
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 64 64 64 255;
+            }
+         }
+
+         part { name: "video"; /* video object */
+            type: EXTERNAL;
+            source: "emotion";
+            description { state: "default" 0.0;
+               params {
+                  /* explicitly select the emotion engine
+                   * ['xine', 'gstreamer' or 'vlc']
+                   * or comment the line to autoselect the engine */
+                  // choice: "engine" "gstreamer";
+               }
+            }
+         }
+
+         part { name: "title";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            description { state: "default" 0.0;
+               color: 255 255 255 0;
+               color3: 0 0 0 0;
+               align: 0.5 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 10 2;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -11 10;
+               }
+               text {
+                  font: "Sans:style=Bold";
+                  align: 0.5 0.0;
+                  size: 10;
+                  min: 0 1;
+                  text: "";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 255;
+               color3: 0 0 0 255;
+            }
+         }
+
+         part { name: "controls-clipper"; /* clipper to control visibility */
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 32;
+            }
+            description { state: "visible" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+
+         part { name: "controls-bg"; /* controls background as
+                                        semi-transparent black at bottom edge */
+            type: RECT;
+            clip_to: "controls-clipper";
+            description { state: "default" 0.0;
+               color: 0 0 0 128;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -40;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+         }
+
+         part { name: "play"; /* play button at bottom-left (relative
+                                to controls-bg) */
+            type: EXTERNAL;
+            source: "elm/button";
+            clip_to: "controls-clipper";
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "controls-bg";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 50 -1;
+                  to: "controls-bg";
+               }
+               params.string: "icon" "apps";
+            }
+         }
+
+         part { name: "open"; /* open file button next to play button */
+            type: EXTERNAL;
+            source: "elm/fileselector_button";
+            clip_to: "controls-clipper";
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 52 0;
+                  to: "controls-bg";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 102 -1;
+                  to: "controls-bg";
+               }
+               params.string: "icon" "folder";
+            }
+         }
+
+         part { name: "time"; /* time/progress */
+            type: EXTERNAL;
+            source: "elm/slider";
+            clip_to: "controls-clipper";
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 104 0;
+                  to: "controls-bg";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to: "controls-bg";
+               }
+            }
+         }
+
+         part { name: "controls-eventarea"; /* event area so we catch mouse in
+                                               and out, repeat events so
+                                               buttons get them */
+            type: RECT;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0; /* fully transparent as we don't
+                                        need any visual feedback */
+               rel1.to: "controls-bg";
+               rel2.to: "controls-bg";
+            }
+         }
+
+         programs {
+            /* animated 0.2 linear fade in/out if mouse is over controls */
+            program { signal: "mouse,in";
+               source: "controls-eventarea";
+               action: STATE_SET "visible" 0.0;
+               transition: LINEAR 0.2;
+               target: "controls-clipper";
+               target: "title";
+            }
+            program { signal: "mouse,out";
+               source: "controls-eventarea";
+               action: STATE_SET "default" 0.0;
+               transition: LINEAR 0.2;
+               target: "controls-clipper";
+               target: "title";
+            }
+
+            /* toggle video playing state when play is clicked */
+            program { name: "toggle-play-video";
+               signal: "clicked";
+               source: "play";
+               script {
+                  new v = external_param_get_bool(PART:"video", "play");
+                  external_param_set_bool(PART:"video", "play", !v);
+               }
+            }
+
+            /* whenever file is chosen, set and play it */
+            program { signal: "file,chosen";
+               source: "open";
+               action: PARAM_COPY "open" "path" "video" "file";
+               after: "play-video";
+               after: "set-title";
+            }
+            program { name: "play-video";
+               action: PARAM_SET "video" "play" "1";
+            }
+            program { name: "set-title";
+               action: PARAM_COPY "open" "path" "title" "text";
+            }
+
+            /* if position changes, set slider (time) */
+            program { signal: "position_update";
+               source: "video";
+               script {
+                  new Float:p, Float:len;
+
+                  p = external_param_get_float(PART:"video", "position");
+                  len = external_param_get_float(PART:"video", "play_length");
+                  if (len > 0.0)
+                     external_param_set_float(PART:"time", "value", p / len);
+               }
+            }
+
+            /* if slider (time) changes, set the position (seek) */
+            program { signal: "changed";
+               source: "time";
+               script {
+                  new Float:v, Float:len;
+
+                  v = external_param_get_float(PART:"time", "value");
+                  len = external_param_get_float(PART:"video", "play_length");
+                  if (len > 0.0)
+                     external_param_set_float(PART:"video", "position", v * len);
+               }
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/lua_script.edc b/src/examples/edje/lua_script.edc
new file mode 100644 (file)
index 0000000..6365ec4
--- /dev/null
@@ -0,0 +1,417 @@
+color_classes {
+    color_class { name: "test_colour"; color: 255 255 255 255; }
+}
+
+fonts {
+   font: "Vera.ttf" "default";
+}
+
+images {
+    image: "bubble.png" COMP;
+    image: "test.png" COMP;
+}
+
+collections {
+   group {
+      name: "main";
+      lua_script_only: 1;
+      lua_script {
+         --// stick object private/local vars here
+         local D;
+         local count = 0;
+         local fndata = 99;
+         local text_geom;
+
+         --// Functions to print tables.
+         local print_table, print_table_start;
+
+         function print_table_start(table, space, name)
+            print(space .. name .. ": ");
+            print(space .. "{");
+            print_table(table, space .. "  ");
+            print(space .. "}");
+         end
+
+         function print_table(table, space)
+            for k, v in pairs(table) do 
+               if type(v) == "table" then
+                  print_table_start(v, space, k);
+               elseif type(v) == "string" then
+                  print(space .. k .. ': "' .. v .. '";')
+               else
+                  print(space .. k .. ": " .. v .. ";")
+               end
+            end
+         end
+
+         local function mycb3 (v)
+            print("lua::callback transition " .. D.val .. " v: " .. v);
+            d = {};
+            d = edje.size(d);
+            print("lua::objsize= " .. d.w .. " , " .. d.h);
+            sz = {w=v * 80, h=v * 40};
+            D.rect:geom(((d.w / 2) * math.sin(v * 2 * math.pi)) + ((d.w - sz.w) / 2),
+                        ((d.h / 2) * math.cos(v * 2 * math.pi)) + ((d.h - sz.h) / 2),
+                        sz.w, sz.h);
+            D.rect:color(255, 128, v * 255, 255);
+            d = D.rect:move(d);
+            print("lua::pos= " .. d.x .. " , " .. d.y);
+            r = D.rect:above();
+            if (r ~= nil) then
+               print("lua::rcol");
+               r:color(20, v * 255, 60, 255);
+            else
+               print("lua::r none!!!!!!!!!!!!!!1");
+            end
+            d = edje.size();
+            D.clip:geom(10, 10, d.w - 20, d.h - 20);
+            c = D.clip:clipees();
+            for i=1,#c,1 do
+               d = c[i]:geom();
+               print("lua::" .. i .. " geom = " .. d.x .. "," .. d.y .. " " .. d.w .. "x" .. d.h);
+            end
+            return true;  --// repeat the timer
+         end
+         local function mycb2 ()
+            print("lua::callback animator " .. count .. " seconds: " .. edje.seconds() .. " looptime: " .. edje.looptime());
+            edje.color_class("test_colour", 255, (count * 10) % 255, 255, 255);
+            edje.text_class("test_text_class", "Sans:style=Bold", ((count * 3) % 100) + 8);
+            if (5 > (count % 10)) then
+               D.text:font("default", 32);
+            else
+               D.text:font("Sans:style=Bold", 32);
+            end
+            edje_geom = edje.geom();
+            text_geom = D.text:geom();
+            D.text:move((edje_geom.w - text_geom.w) / 2, (edje_geom.h - text_geom.h) / 8);
+            return true;  --// repeat the timer
+         end
+         local function mycb ()
+            print("lua::callback timer " .. count .. " fndata = " .. fndata);
+            count = count + 1; --// keep count of calls - object data
+            fndata = fndata + 3; --// play with object vars to see if they persist
+            D.tim = edje.timer(0.25, mycb); --// inside cb add new timer
+            return false; --// cease repeating the timer
+         end
+         --// init object here
+         D = {}; --// data is empty table to start
+         D.val = math.random(); --// start with some random value so
+         fndata = fndata + D.val; --// func data start point
+         print("lua::init ... " .. D.val);
+         edje.echo("lua::echo('hello world')");
+
+         --// How to check the edje version.
+         version = edje.version();
+         print("The edje version number is " .. version.major .. "." .. version.minor);
+
+         --// actually add the timer to call mycb in 1.23 sec
+         D.tim = edje.timer(1.23, mycb);
+         D.tra = edje.transition(5.0, mycb3);
+         D.ani = edje.animator(mycb2);
+         edje_geom = edje.geom();
+         if (edje.spanky) then edje.spanky(); end
+
+         local date = edje.date();
+         print("lua:: date: " ..
+            date.year .. "|" ..
+            date.month .. "|" ..
+            date.day .. "|" ..
+            date.yearday .. "|" ..
+            date.weekday .. "|" ..
+            date.hour .. "|" ..
+            date.min .. "|" ..
+            date.sec
+         );
+
+         --// send some random edje message
+         edje.messagesend(7, "none"      );
+         edje.messagesend(7, "sig",      "signal", "source");
+         edje.messagesend(7, "str",      "hello world");
+         edje.messagesend(7, "int",      987);
+         edje.messagesend(7, "float",    987.321);
+         edje.messagesend(7, "strset",   {"hello", "there", "world"});
+         edje.messagesend(7, "intset",   {1, 2, 3});
+         edje.messagesend(7, "floatset", {1.1, 2.2, 3.3});
+         edje.messagesend(7, "strint",   "hello world", 7);
+         edje.messagesend(7, "strfloat", "hello world", 7.654);
+         edje.messagesend(7, "strintset","hello world", {1, 2, 3});
+
+         D.edje = edje.edje();
+         D.edje:file("plain/edje/group");
+         D.edje:show();
+                  
+         D.rect = edje.rect();
+         D.rect:geom  (5, 10, 50, 30);
+         D.rect:color (255, 128, 60, 255);
+         D.rect:show  ();
+                  
+         D.rect2 = edje.rect();
+         D.rect2:geom  (50, 50, 50, 50);
+         D.rect2:color (20, 30, 60, 120);
+         D.rect2:show  ();
+
+         D.clip = edje.rect();
+         D.clip:geom  (10, 10, 150, 150);
+         D.clip:color (200, 200, 50, 200);
+         D.clip:show  ();
+         D.rect2:clip(D.clip);
+         D.rect:clip(D.clip);
+
+         D.text = edje.text();
+         D.text:geom  (50, 5, 150, 50);
+         D.text:color (255, 0, 0, 255);
+         D.text:font("Sans:style=Bold", 32);
+         D.text:text("Lua rocks!");
+         text_geom = D.text:geom();
+         print(D.text:text());
+         D.text:show();
+
+       --// Put a few bogus API calls here to test the bogus API protection,
+       --// If the bogus API protection works, these should get ignored, but everything else runs smoothly.
+       --// Otherwise, the map is not done, the bubbles are not done, but the timers keep runinng.
+         bogus.failme(1, "two", D.rect);
+         temp = bogus.failme2();
+         D.text.bogus();
+         edje.bogus2();
+
+         --// Fun with maps!
+         D.map = edje.map(4);  --// 4 is the only supported map size at the moment.
+         --// These all do the same thing.
+         --// Note, lua likes to start at 1, C (and thus evas) at 0.  I choose to agree with C.
+         D.map:coord(0, 50, 50, 0);
+         D.map:coord(1, 100, 50, 0);
+         D.map:coord(2, 100, 100, 0);
+         D.map:coord(3, 50, 100, 0);
+         D.map:populate(50, 50, 50, 50, 0);
+         D.map:populate(D.rect2, 0);
+         D.map:populate(D.rect2);
+
+         --// print the results
+         D.coord = D.map:coord(0);
+         print("lua::map coords for point 0 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
+         D.coord = D.map:coord(1);
+         print("lua::map coords for point 1 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
+         D.coord = D.map:coord(2);
+         print("lua::map coords for point 2 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
+         D.coord = D.map:coord(3);
+         print("lua::map coords for point 3 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z);
+
+         D.map:smooth(false);
+         D.map:alpha(true);
+
+         if (D.map:alpha()) then
+            print("lua::map is alpha");
+         end
+
+         if (D.map:smooth()) then
+            print("lua::map is smooooth");
+         end
+
+         if (D.map:clockwise()) then
+            print("lua::map is clockwise");
+         end
+
+         D.map:color(255, 255, 255, 255); // set all points to this colour.
+         D.map:color(1, 255, 0, 255, 255);  // set just one point to this colour.
+
+         D.map:lighting(75, 75, 10, 255, 255, 255, 0, 255, 0);  // Ambient light and a 3D light source.
+
+         --// Toss it around.
+         D.map:rotate(45.0, 75, 75);
+         D.map:zoom(1.5, 1.5, 75, 75);
+         D.map:rotate3d(10.0, 20.0, 30.0, 75, 75, 0);
+         D.map:perspective(200, 200, 0, 20);
+
+         --// For image UV mapping.
+         D.map:uv(0, 0.0, 0.0);
+         D.map:uv(1, 50.0, 0.0);
+         D.map:uv(2, 50.0, 50.0);
+         D.map:uv(3, 0.0, 50.0);
+
+         --// Actually apply the resulting transformations.
+         D.rect2:map(D.map);
+         D.rect2:map_enable(true);
+         if (D.rect2:map_enable()) then
+            print("lua::map enabled");
+         end
+
+         D.rect2:map_source(D.rect);  --// Don't think this is actually implemented in evas.
+
+--//         D.map:dup();
+--//         D.map:size();  --// perhaps overide the # operator?  For now it's only gonna return 4 anyway.
+
+         --// example of deleting something
+         --// D.tim:del();
+
+         --// test the color_class stuff
+         colour = edje.color_class("test_colour");
+         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
+         colour = edje.color_class("test_colour", 32, 64, 255, 128);
+         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
+         colour = edje.color_class("test_colour", { r=255, g=0, b=255, a=255 });
+         print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a);
+         text = edje.text_class("test_text_class", "Sans:style=Bold", 8);
+         print("lua::text_class= " .. text.font .. " size " .. text.size);
+         --// Do something bad, just to see what happens.
+--//         edje.color_class(nil);
+         --// shutdown func - generally empty or not there. everything garbage collected for you
+         function shutdown ()
+            print("lua::shutdown ... " .. D.val);
+         end
+
+         function show ()
+            print("lua::show ... " .. D.val);
+         end
+
+         function hide ()
+            print("lua::hide ... " .. D.val);
+         end
+
+         function move (x, y)
+            print("lua::move x=" .. x .. " x=" .. y);
+            D.edje:move(0, 0);
+         end
+
+         function resize (w, h)
+            print("lua::resize w=" .. w .. " h=" .. h);
+            D.text:move((w - text_geom.w) / 2, (h - text_geom.h) / 8);
+            D.edje:resize(w, h);
+         end
+
+         function message (id, type, ...)
+            print("lua::message id=" .. id .. " type=" .. type);
+            --// handle your message type here. check id + type then use the
+            --// vararg appropriately. they are the same as the params passed 
+            --// to edje:messagesend() (if any are passed at all).  Any array
+            --// arguments are passed as a single table.
+
+            if ("none" == type) then
+               print("lua::message no args");
+            elseif ("strset" == type) then
+               strs = ... ;
+               print_table_start(strs, "", "lua::message strings");
+            elseif ("intset" == type) then
+               ints = ... ;
+               print_table_start(ints, "", "lua::message ints");
+            elseif ("floatset" == type) then
+               floats = ... ;
+               print_table_start(floats, "", "lua::message floats");
+            elseif ("strintset" == type) then
+               str, ints = ... ;
+               print("lua::message " .. str);
+               print_table_start(ints, "", "lua::message ints");
+            elseif ("strfloatset" == type) then
+               str, floats = ... ;
+               print("lua::message " .. str);
+               print_table_start(floats, "", "lua::message floats");
+            else
+               print("lua::message " .. ... );
+            end
+         end
+
+         function signal (sig, src)
+            print("lua::signal sig= " .. sig .. " src= " .. src);
+         end
+      }
+   }
+
+   // The group name NEEDS a / in it, 
+   // or the part below that tries to swallow it won't work.
+   // Leaving just the lua part visible.
+   group {
+      name: "bubbles/lua";
+      lua_script_only: 1;
+      lua_script {
+         local bubbles = { };
+         local bubbleCols = 8;
+         local bubbleRows = 6;
+
+         for i = 1, bubbleRows do
+            row = { };
+            for j = 1, bubbleCols do
+               image = edje.image();
+               image:image("bubble.png");
+               image:show();
+               table.insert(row, image);
+            end
+            table.insert(bubbles, row);
+         end
+
+         function resize (w, h)
+            for i = 1, bubbleRows do
+               for j = 1, bubbleCols do
+                  w1 = w / bubbleCols;
+                  h1 = h / bubbleRows;
+                  bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1);
+                  if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then
+                     bubbles[i][j]:color(0, 255, 0, 200);
+                  else
+                     bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200);
+                  end
+               end
+            end
+         end
+      }
+   }
+
+   group {
+      name: "plain/edje/group";
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+            }
+         }
+
+         // A lua group embedded in an edje group.
+         part {
+            name: "bubbles_lua";
+            type: GROUP;
+            source: "bubbles/lua";
+            mouse_events: 0;
+            description { state: "default" 0.0; }
+         }
+
+         part {
+            name: "background_image";
+            type: IMAGE;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               aspect_preference: HORIZONTAL;
+               color_class: "test_colour";
+               image { normal: "test.png"; }
+            }
+         }
+
+         part {
+            name: "some_text";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0;
+               text
+               {
+                  text: "This is test text.";
+                  text_class: "test_text_class";
+               }
+            }
+         }
+
+      }
+   }
+
+}
+
diff --git a/src/examples/edje/messages_echo.edc b/src/examples/edje/messages_echo.edc
new file mode 100644 (file)
index 0000000..045ec92
--- /dev/null
@@ -0,0 +1,97 @@
+/* Simple EDC exemplifying how to receive and emit all types of messages */
+
+/* Actually for sets it will send back a message of the same type with the
+ * first item and N other messages with the remaining items. */
+
+collections {
+   group {
+      name: "messages_echo";
+
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               min: 400 50;
+               max: 400 50;
+               color: 0 0 0 255;
+            }
+         }
+
+         part {
+            name: "text";
+            type: TEXT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               text {
+                  font: "Sans";
+                  size: 20;
+                  text: "I will echo all your messages ;)";
+               }
+            }
+         }
+      }
+
+      script {
+         public message(Msg_Type:type, id, ...) {
+            if (type == MSG_INT)
+               send_message(type, id, getarg(2));
+            else if (type == MSG_FLOAT)
+               send_message(type, id, getfarg(2));
+            else if (type == MSG_STRING) {
+               new buf[1024];
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf);
+            }
+            else if (type == MSG_STRING_INT) {
+               new buf[1024];
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf, getarg(3));
+            }
+            else if (type == MSG_STRING_FLOAT) {
+               new buf[1024];
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf, getfarg(3));
+            }
+            else if (type == MSG_INT_SET) {
+               new i, n = numargs();
+               send_message(type, id, getarg(2));
+               for (i = 3; i < n; i++)
+                  send_message(MSG_STRING_INT, id, "Extra INT:", getarg(i));
+            }
+            else if (type == MSG_FLOAT_SET) {
+               new i, n = numargs();
+               send_message(type, id, getfarg(2));
+               for (i = 3; i < n; i++)
+                  send_message(MSG_STRING_FLOAT, id, "Extra FLOAT:",
+                        getfarg(i));
+            }
+            else if (type == MSG_STRING_SET) {
+               new buf[1024], i, n = numargs();
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf);
+               for (i = 3; i < n; i++) {
+                  getsarg(i, buf, sizeof(buf));
+                  send_message(MSG_STRING_SET, id, "Extra STRING:", buf);
+               }
+            }
+            else if (type == MSG_STRING_INT_SET) {
+               new buf[1024], i, n = numargs();
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf, getarg(3));
+               for (i = 4; i < n; i++)
+                  send_message(MSG_STRING_INT, id, "Extra INT:", getarg(i));
+            }
+            else if (type == MSG_STRING_FLOAT_SET) {
+               new buf[1024], i, n = numargs();
+               getsarg(2, buf, sizeof(buf));
+               send_message(type, id, buf, getfarg(3));
+               for (i = 4; i < n; i++)
+                  send_message(MSG_STRING_INT, id, "Extra FLOAT:", getfarg(i));
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/multisense.edc b/src/examples/edje/multisense.edc
new file mode 100644 (file)
index 0000000..3cbaf67
--- /dev/null
@@ -0,0 +1,91 @@
+collections {
+   sounds {
+      sample {
+         name: "sound_name1" RAW;
+         source: "duck.wav";
+      }
+      tone: "tone-name" 2600;
+   }
+   group {
+      name: "example_group";
+      parts {
+         part {
+            name: "sample_bg";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               min: 300 150;
+               max: 300 150;
+               color: 200 200 200 100;
+               align: 0.5 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+               }
+            }
+         }
+         part {
+            name: "sample_text";
+            type: TEXT;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to: "sample_bg";
+               rel2.to: "sample_bg";
+               text {
+                  font: "Sans";
+                  size: 20;
+                  text: "Play Sound Sample";
+               }
+            }
+         }
+         part {
+            name: "tone_bg";
+            type: RECT;
+             mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               min: 300 150;
+               max: 300 150;
+               align: 0.5 0.0;
+               color: 180 180 180 100;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to: "sample_bg";
+               }
+            }
+         }
+         part {
+            name: "tone_text";
+            type: TEXT;
+             mouse_events: 1;
+             repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to: "tone_bg";
+               rel2.to: "tone_bg";
+               text {
+                  font: "Sans";
+                  size: 20;
+                  text: "Play Tone";
+               }
+            }
+         }
+         programs {
+            program {
+               name: "click_sample1";
+               signal: "mouse,down,1";
+               source: "sample_bg";
+               action: PLAY_SAMPLE "sound_name1" 1.0;
+            }
+            program {
+               name: "click_tone";
+               signal: "mouse,down,1";
+               source: "tone_bg";
+               action: PLAY_TONE "tone-name" 0.1;
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/perspective.edc b/src/examples/edje/perspective.edc
new file mode 100644 (file)
index 0000000..810ae18
--- /dev/null
@@ -0,0 +1,140 @@
+collections {
+   group {
+      name: "example/group";
+
+      min: 480 320;
+
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+            mouse_events: 1;
+
+            description {
+               state: "default" 0.0;
+            }
+         } // bg
+
+         part {
+            name: "rectangle";
+            type: RECT;
+            mouse_events: 0;
+
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 128;
+
+               rel1 {
+                  offset: -5 -5;
+                  to: "title";
+               }
+               rel2 {
+                  offset: 4 4;
+                  to: "title";
+               }
+
+               map {
+                  on: 1;
+                  perspective_on: 1;
+                  rotation {
+                     x: 45;
+                  }
+               }
+            }
+         } // rectangle
+
+         part {
+            name: "title";
+            type: TEXT;
+            mouse_events: 0;
+
+            description {
+               state: "default" 0.0;
+               color: 200 200 200 255;
+
+               align: 0.0 0.5;
+
+               rel1.relative: 0.1 0.1;
+               rel2.relative: 0.1 0.1;
+
+               text {
+                  text: "Perspective example";
+                  font: "Sans";
+                  size: 16;
+                  min: 1 1;
+               }
+
+               map {
+                  on: 1;
+                  perspective_on: 1;
+                  rotation {
+                     x: 45;
+                  }
+               }
+            }
+
+            description {
+               state: "right" 0.0;
+               inherit: "default" 0.0;
+
+               rel1.relative: 0.5 0.1;
+               rel2.relative: 0.5 0.1;
+            }
+            description {
+               state: "bottom" 0.0;
+               inherit: "default" 0.0;
+
+               rel1.relative: 0.1 0.9;
+               rel2.relative: 0.1 0.9;
+            }
+            description {
+               state: "bottomright" 0.0;
+               inherit: "default" 0.0;
+
+               rel1.relative: 0.5 0.9;
+               rel2.relative: 0.5 0.9;
+            }
+         } // title
+      }
+
+      programs {
+         program {
+            name: "move,right";
+            signal: "move,1,0";
+            action: STATE_SET "right" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "title";
+            after: "animation,end";
+         }
+         program {
+            name: "move,bottom";
+            signal: "move,0,1";
+            action: STATE_SET "bottom" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "title";
+            after: "animation,end";
+         }
+         program {
+            name: "move,bottomright";
+            signal: "move,1,1";
+            action: STATE_SET "bottomright" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "title";
+            after: "animation,end";
+         }
+         program {
+            name: "move,default";
+            signal: "move,0,0";
+            action: STATE_SET "default" 0.0;
+            transition: SINUSOIDAL 1.0;
+            target: "title";
+            after: "animation,end";
+         }
+
+         program {
+            name: "animation,end";
+            action: SIGNAL_EMIT "animation,end" "";
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/physics_3d.edc b/src/examples/edje/physics_3d.edc
new file mode 100644 (file)
index 0000000..846f057
--- /dev/null
@@ -0,0 +1,271 @@
+/* This example demonstrates the usage of physics faces.
+ *
+ * Faces references other groups of the collection. The same group
+ * can be used for many faces, but to illustrate it we are adding
+ * a rectangle of different color for each face of a cube.
+ * It will apply impulses on the cube when receiving messages, so
+ * it's possible to see the cube rotating and moving.
+ *
+ * It can be tested with edje_player slave mode
+ * $ edje_player -S -p -g example_group physics_3d.edj
+ *
+ * message 1 FLOAT_SET 3 80 -100 0 -> apply an impulse on red box with
+ *    x = 50, y = -100, z = 0, for example
+ * message 2 FLOAT_SET 3 0 100 0 -> apply a torque impulse on red box with
+ *    x = 4, y = 0, z = 0.8, for example
+ */
+
+#define ID_IMPULSE (1)
+#define ID_TORQUE_IMPULSE (2)
+
+collections {
+
+   group {
+      name: "right";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 255 255; /* blue */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "left";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 255 0 255; /* green */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "front";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255; /* black */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "back";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 120 120 120 255; /* gray */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "top";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 0 255 255; /* purple */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "bottom";
+      parts {
+         part {
+            name: "face";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 255 255 255; /* yellow */
+            }
+         }
+      }
+   }
+
+   group {
+      name: "example_group";
+
+      physics {
+         world {
+            gravity: 0 80 0;
+            rate: 30;
+            z: -100;
+            depth: 200;
+         }
+      }
+
+      script {
+         public message(Msg_Type:type, id, ...) {
+            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_impulse(PART:"red_box", x, y, z);
+            }
+            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_torque_impulse(PART:"red_box", x, y, z);
+            }
+         }
+      }
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "red_box";
+            type: RECT;
+            physics_body: RIGID_BOX;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* light red */
+               rel1.relative: 0.4 0.1;
+               rel2.relative: 0.55 0.3;
+               aspect: 1 1;
+               physics {
+                  mass: 30;
+                  z: -24;
+                  depth: 48;
+                  restitution: 0.85;
+                  movement_freedom {
+                     linear: 1 1 1;
+                     angular: 1 1 1;
+                  }
+                  faces {
+                     face {
+                        type: BOX_FRONT;
+                        source: "front";
+                     }
+                     face {
+                        type: BOX_BACK;
+                        source: "back";
+                     }
+                     face {
+                        type: BOX_TOP;
+                        source: "top";
+                     }
+                     face {
+                        type: BOX_BOTTOM;
+                        source: "bottom";
+                     }
+                     face {
+                        type: BOX_LEFT;
+                        source: "left";
+                     }
+                     face {
+                        type: BOX_RIGHT;
+                        source: "right";
+                     }
+                  }
+               }
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.8;
+               }
+            }
+         }
+
+         part {
+            name: "front";
+            type: RECT;
+            physics_body: BOUNDARY_FRONT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "back";
+            type: RECT;
+            physics_body: BOUNDARY_BACK;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "left";
+            type: RECT;
+            physics_body: BOUNDARY_LEFT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "right";
+            type: RECT;
+            physics_body: BOUNDARY_RIGHT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/physics_actions.edc b/src/examples/edje/physics_actions.edc
new file mode 100644 (file)
index 0000000..abcf5f5
--- /dev/null
@@ -0,0 +1,573 @@
+/* This example demostrates physics actions, like applying impulses and forces
+ * to a body.
+ *
+ * There are two ways of interacting with bodies. One is using the wanted
+ * action in a program. E.g.:
+ *
+ * action: PHYSICS_VEL_SET 0 -200 0;
+ * target: "part_name";
+ *
+ * The other way is via script. The same action described above would be
+ * physics_set_velocity(PART:"part_name", 0, -200, 0);
+ *
+ * This a very extensive example, because it illustrate the usage of all
+ * the possible actions in the both ways.
+ *
+ * It can be tested with edje_player slave mode
+ * $ edje_player -S -p physics_actions.edj
+ *
+ * signal up impulse   -> will throw both balls up
+ * signal down impulse   -> will throw both balls down
+ * signal left impulse -> will throw blue ball to the left
+ * signal right impulse -> will throw red ball to the right
+ * signal clockwise impulse -> will roll blue ball in clockwise
+ * signal counterclockwise impulse -> will roll blue ball in counterclockwise
+ * signal up force -> will apply a force up in blue ball
+ * signal down force -> will apply a force down in blue ball
+ * signal left force -> will apply a force left in blue ball
+ * signal right force -> will apply a force right in blue ball
+ * signal clockwise torque -> will apply a clockwise torque in blue ball
+ * signal counterclockwise torque -> will apply a counterclockwise torque
+ *                                   in blue ball
+ * signal clear force -> will clear all forces applied over blue ball
+ * signal up velocity -> will set a velocity up in blue ball
+ * signal down velocity -> will set a velocity down in blue ball
+ * signal left velocity -> will set a velocity left in blue ball
+ * signal right velocity -> will set a velocity right in blue ball
+ * signal clockwise velocity -> will set a clockwise velocity in blue ball
+ * signal counterclockwise velocity -> will set a counterclockwise velocity
+ *                                   in blue ball
+ * signal stop velocity -> will stop the blue ball
+ * signal clockwise rotation -> will rotate blue ball 90o degrees clockwise
+ * signal counterclockwise rotation -> will rotate blue ball 90o degrees
+ *                                     counterclockwise
+ *
+ * message 1 FLOAT_SET 3 50 -100 0 -> apply an impulse on blue ball with
+ *    x = 50, y = -100, z = 0, for example
+ * message 2 FLOAT_SET 3 0 0 8.2 -> apply a torque impulse on blue ball with
+ *    x = 4, y = 0, z = 0.8, for example
+ * message 3 FLOAT_SET 3 80 100.4 0 -> apply a force on blue ball with
+ *    x = 80, y = 100.4, z = 0, for example
+ * message 4 FLOAT_SET 3 0 0 -5.6 -> apply a torque on blue ball with
+ *    x = 0, y = 0, z = -5.6, for example
+ * message 5 STRING "blue_circle" -> clear all forces of part.
+ *    It will clear all forces (linear and torque) over "blue_circle",
+ *    for example.
+ * message 6 STRING "blue_circle" -> return a message with all forces applied
+ *    over the part.
+ * message 7 STRING "blue_circle" -> return a message with all torques applied
+ *    over the part.
+ * message 8 FLOAT_SET 3 300 -103.2 0 -> set linear velocity of the blue ball
+ *    with x = 300, y = -103.2, z = 150, for example
+ * message 9 STRING "blue_circle" -> return a message with part's linear
+ *    velocity.
+ * message 10 FLOAT_SET 3 0 0 150 -> set angular velocity of the blue ball
+ *    with x = 0, y = 0, z = 150, for example
+ * message 11 STRING "blue_circle" -> return a message with part's angular
+ *    velocity.
+ * message 12 STRING "blue_circle" -> stop the part.
+ * message 13 FLOAT_SET 4 0.707 0 0 0.707 -> set blue ball rotation with
+ *    quaternion w = 0.707, x = 0, y = 0, z = 0.707
+ * message 14 STRING "blue_circle" -> return a message with part's rotation
+ */
+
+#define ID_IMPULSE (1)
+#define ID_TORQUE_IMPULSE (2)
+#define ID_FORCE (3)
+#define ID_TORQUE (4)
+#define ID_FORCES_CLEAR (5)
+#define ID_FORCES_GET (6)
+#define ID_TORQUES_GET (7)
+#define ID_VEL_SET (8)
+#define ID_VEL_GET (9)
+#define ID_ANG_VEL_SET (10)
+#define ID_ANG_VEL_GET (11)
+#define ID_STOP (12)
+#define ID_ROT_SET (13)
+#define ID_ROT_GET (14)
+
+collections {
+
+   images {
+      image: "bubble-blue.png" COMP;
+   }
+
+   group {
+      name: "example_group";
+
+      script {
+         public message(Msg_Type:type, id, ...) {
+            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_impulse(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_torque_impulse(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_FORCE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_force(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_TORQUE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_torque(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_FORCES_CLEAR) && (type == MSG_STRING)) {
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_clear_forces(pid);
+            }
+            else if ((id == ID_FORCES_GET) && (type == MSG_STRING)) {
+               new Float:x, Float:y, Float:z;
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_get_forces(pid, x, y, z);
+               send_message(MSG_FLOAT_SET, id, x, y, z);
+            }
+            else if ((id == ID_TORQUES_GET) && (type == MSG_STRING)) {
+               new Float:x, Float:y, Float:z;
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_get_torques(pid, x, y, z);
+               send_message(MSG_FLOAT_SET, id, x, y, z);
+            }
+            else if ((id == ID_VEL_SET) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_set_velocity(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_VEL_GET) && (type == MSG_STRING)) {
+               new Float:x, Float:y, Float:z;
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_get_velocity(pid, x, y, z);
+               send_message(MSG_FLOAT_SET, id, x, y, z);
+            }
+            else if ((id == ID_ANG_VEL_SET) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_set_ang_velocity(PART:"blue_circle", x, y, z);
+            }
+            else if ((id == ID_ANG_VEL_GET) && (type == MSG_STRING)) {
+               new Float:x, Float:y, Float:z;
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_get_ang_velocity(pid, x, y, z);
+               send_message(MSG_FLOAT_SET, id, x, y, z);
+            }
+            else if ((id == ID_STOP) && (type == MSG_STRING)) {
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_stop(pid);
+            }
+            else if ((id == ID_ROT_SET) && (type == MSG_FLOAT_SET)) {
+               new Float:w, Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 6) return;
+               w = getfarg(2);
+               x = getfarg(3);
+               y = getfarg(4);
+               z = getfarg(5);
+               physics_set_rotation(PART:"blue_circle", w, x, y, z);
+            }
+            else if ((id == ID_ROT_GET) && (type == MSG_STRING)) {
+               new Float:w, Float:x, Float:y, Float:z;
+               new pid, name[1024];
+               getsarg(2, name, sizeof(name));
+               pid = get_part_id(name);
+               if (!pid) return;
+               physics_get_rotation(pid, w, x, y, z);
+               send_message(MSG_FLOAT_SET, id, w, x, y, z);
+            }
+         }
+      }
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "blue_circle";
+            type: IMAGE;
+            physics_body: RIGID_SPHERE;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.35 0.1;
+               rel2.relative: 0.55 0.2;
+               aspect: 1 1;
+               image {
+                  normal: "bubble-blue.png";
+               }
+               physics {
+                  restitution: 0.85;
+                  friction: 1.0;
+               }
+            }
+         }
+
+         part {
+            name: "red_circle";
+            type: IMAGE;
+            physics_body: RIGID_SPHERE;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* light red */
+               rel1.relative: 0.65 0.1;
+               rel2.relative: 0.85 0.2;
+               aspect: 1 1;
+               image {
+                  normal: "bubble-blue.png";
+               }
+               physics {
+                  restitution: 0.85;
+                  friction: 1.0;
+               }
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.6;
+                  friction: 1.0;
+               }
+            }
+         }
+
+         part {
+            name: "right_wall";
+            type: RECT;
+            physics_body: BOUNDARY_RIGHT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.3;
+               }
+            }
+         }
+
+         part {
+            name: "left_wall";
+            type: RECT;
+            physics_body: BOUNDARY_LEFT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.3;
+               }
+            }
+         }
+
+         part {
+            name: "roof";
+            type: RECT;
+            physics_body: BOUNDARY_TOP;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.2;
+               }
+            }
+         }
+      }
+
+      programs {
+
+         program {
+            name: "impulse_up";
+            signal: "up";
+            source: "impulse";
+            action: PHYSICS_IMPULSE 0 -300 0;
+            target: "blue_circle";
+            target: "red_circle";
+         }
+
+         program {
+            name: "impulse_down";
+            signal: "down";
+            source: "impulse";
+            action: PHYSICS_IMPULSE 0 300 0;
+            target: "red_circle";
+            target: "blue_circle";
+         }
+
+         program {
+            name: "impulse_left";
+            signal: "left";
+            source: "impulse";
+            action: PHYSICS_IMPULSE -300 0 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "impulse_right";
+            signal: "right";
+            source: "impulse";
+            action: PHYSICS_IMPULSE 300 0 0;
+            target: "red_circle";
+         }
+
+         program {
+            name: "impulse_clockwise";
+            signal: "clockwise";
+            source: "impulse";
+            action: PHYSICS_TORQUE_IMPULSE 0 0 4;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "impulse_counterclockwise";
+            signal: "counterclockwise";
+            source: "impulse";
+            action: PHYSICS_TORQUE_IMPULSE 0 0 -4;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "force_up";
+            signal: "up";
+            source: "force";
+            action: PHYSICS_FORCE 0 -300 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "force_down";
+            signal: "down";
+            source: "force";
+            action: PHYSICS_FORCE 0 300 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "force_left";
+            signal: "left";
+            source: "force";
+            action: PHYSICS_FORCE -300 0 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "force_right";
+            signal: "right";
+            source: "force";
+            action: PHYSICS_FORCE 300 0 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "torque_clockwise";
+            signal: "clockwise";
+            source: "torque";
+            action: PHYSICS_TORQUE 0 0 4;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "torque_counterclockwise";
+            signal: "counterclockwise";
+            source: "torque";
+            action: PHYSICS_TORQUE 0 0 -4;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "forces_clear";
+            signal: "clear";
+            source: "force";
+            action: PHYSICS_FORCES_CLEAR;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_up";
+            signal: "up";
+            source: "velocity";
+            action: PHYSICS_VEL_SET 0 -200 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_down";
+            signal: "down";
+            source: "velocity";
+            action: PHYSICS_VEL_SET 0 200 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_left";
+            signal: "left";
+            source: "velocity";
+            action: PHYSICS_VEL_SET -200 0 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_right";
+            signal: "right";
+            source: "velocity";
+            action: PHYSICS_VEL_SET 200 0 0;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_clockwise";
+            signal: "clockwise";
+            source: "velocity";
+            action: PHYSICS_ANG_VEL_SET 0 0 80;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "velocity_counterclockwise";
+            signal: "counterclockwise";
+            source: "velocity";
+            action: PHYSICS_ANG_VEL_SET 0 0 -80;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "stop";
+            signal: "stop";
+            source: "velocity";
+            action: PHYSICS_STOP;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "rotation_clockwise";
+            signal: "clockwise";
+            source: "rotation";
+            action: PHYSICS_ROT_SET 0.707 0 0 0.707;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "rotation_counterclockwise";
+            signal: "counterclockwise";
+            source: "rotation";
+            action: PHYSICS_ROT_SET 0.707 0 0 -0.707;
+            target: "blue_circle";
+         }
+
+         program {
+            name: "customize";
+            signal: "custom";
+            script {
+               new Float: mass, Float:rest, Float:fric;
+               new Float: linear, Float:angular;
+               new val;
+
+               custom_state(PART:"red_circle", "default", 0.0);
+               set_state_val(PART:"red_circle", STATE_COLOR, 0, 0, 0, 255);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_MASS, 4.5);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_RESTITUTION, 0.1);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_FRICTION, 0.345);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_DAMPING, 0.3,
+                       0.1);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_SLEEP, 34.1,
+                       12.83);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_LIGHT_ON, 1);
+               set_state_val(PART:"red_circle",
+                       STATE_PHYSICS_IGNORE_PART_POS, 1);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_Z, -40);
+               set_state_val(PART:"red_circle", STATE_PHYSICS_DEPTH, 80);
+               set_state(PART:"red_circle", "custom", 0.0);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_MASS, mass);
+               get_state_val(PART:"red_circle", STATE_PHYSICS_RESTITUTION,
+                     rest);
+               get_state_val(PART:"red_circle", STATE_PHYSICS_FRICTION,
+                     fric);
+               send_message(MSG_STRING_FLOAT_SET, 1, "Mass", mass);
+               send_message(MSG_STRING_FLOAT_SET, 1, "Friction", fric);
+               send_message(MSG_STRING_FLOAT_SET, 1, "Restitution", rest);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_DAMPING,
+                     linear, angular);
+               send_message(MSG_STRING_FLOAT_SET, 1, "Damping", linear,
+                       angular);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_SLEEP,
+                     linear, angular);
+               send_message(MSG_STRING_FLOAT_SET, 1, "Sleep", linear,
+                       angular);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_LIGHT_ON, val);
+               send_message(MSG_STRING_INT, 1, "Light On", val);
+
+               get_state_val(PART:"red_circle",
+                       STATE_PHYSICS_IGNORE_PART_POS, val);
+               send_message(MSG_STRING_INT, 1, "Ignore Part Pos", val);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_Z, val);
+               send_message(MSG_STRING_INT, 1, "Z", val);
+
+               get_state_val(PART:"red_circle", STATE_PHYSICS_DEPTH, val);
+               send_message(MSG_STRING_INT, 1, "Depth", val);
+            }
+         }
+
+      }
+
+   }
+}
diff --git a/src/examples/edje/physics_backcull.edc b/src/examples/edje/physics_backcull.edc
new file mode 100644 (file)
index 0000000..3628e65
--- /dev/null
@@ -0,0 +1,228 @@
+/* This example demonstrates how to customize movement freedom and backface
+ * culling.
+ *
+ * By default, bodies only will move on x and y axis, and rotate only
+ * aroud the z axis. To modify it, the block "movement freedom" should be used.
+ * This block consists of the "linear" and "angular" attributes, each one
+ * receiving 3 booleans, to set if movement in each axis is allowed or not.
+ *
+ * When a body has backface culling activated, it will be hidden when
+ * it's not facing the camera. It's deactivated by default.
+ *
+ * It can be tested with edje_player slave mode
+ * $ edje_player -S -p physics_backcull.edj
+ *
+ * signal on backcull -> allow movement in all axes, enable backface cull
+ * signal off backcull -> allow movement in all axes, disable backface cull
+ *
+ * message 1 FLOAT_SET 3 50 -100 0 -> apply an impulse on red box with
+ *    x = 50, y = -100, z = 0, for example
+ * message 2 FLOAT_SET 3 0 0 8.2 -> apply a torque impulse on red box with
+ *    x = 4, y = 0, z = 0.8, for example
+ * message 3 FLOAT_SET 3 0 1 0 -> allow linear movement on axes x, y, z
+ * message 4 FLOAT_SET 3 0 1 0 -> allow angular movement on axes x, y, z
+ * message 5 STRING "linear" -> return a message with part's movement freedom
+ *                              for "linear" or "angular.
+ */
+
+#define ID_IMPULSE (1)
+#define ID_TORQUE_IMPULSE (2)
+#define ID_LIN_SET (3)
+#define ID_ANG_SET (4)
+#define ID_GET (5)
+
+collections {
+
+   group {
+      name: "example_group";
+
+      script {
+         public message(Msg_Type:type, id, ...) {
+            if ((id == ID_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_impulse(PART:"red_box", x, y, z);
+            }
+            else if ((id == ID_TORQUE_IMPULSE) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               physics_torque_impulse(PART:"red_box", x, y, z);
+            }
+            else if ((id == ID_LIN_SET) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               custom_state(PART:"red_box", "default", 0.0);
+               set_state_val(PART:"red_box", STATE_PHYSICS_MOV_FREEDOM_LIN,
+                  x, y, z);
+               set_state(PART:"red_box", "custom", 0.0);
+            }
+            else if ((id == ID_ANG_SET) && (type == MSG_FLOAT_SET)) {
+               new Float:x, Float:y, Float:z;
+               new n = numargs();
+               if (n < 5) return;
+               x = getfarg(2);
+               y = getfarg(3);
+               z = getfarg(4);
+               custom_state(PART:"red_box", "default", 0.0);
+               set_state_val(PART:"red_box", STATE_PHYSICS_MOV_FREEDOM_ANG,
+                  x, y, z);
+               set_state(PART:"red_box", "custom", 0.0);
+            }
+            else if ((id == ID_GET) && (type == MSG_STRING)) {
+               new Float:x, Float:y, Float:z;
+               new name[1024];
+               getsarg(2, name, sizeof(name));
+               if (!strcmp(name, "linear"))
+               {
+                  get_state_val(PART:"red_box",
+                     STATE_PHYSICS_MOV_FREEDOM_LIN, x, y, z);
+                  send_message(MSG_STRING_FLOAT_SET, 1, "Linear", x, y, z);
+               }
+               else if (!strcmp(name, "angular"))
+               {
+                  get_state_val(PART:"red_box",
+                     STATE_PHYSICS_MOV_FREEDOM_ANG, x, y, z);
+                  send_message(MSG_STRING_FLOAT_SET, 1, "Angular", x, y, z);
+               }
+            }
+         }
+      }
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "red_box";
+            type: RECT;
+            physics_body: RIGID_BOX;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* light red */
+               rel1.relative: 0.45 0.1;
+               rel2.relative: 0.55 0.2;
+               aspect: 1 1;
+               physics {
+                  mass: 30;
+                  restitution: 0.85;
+                  movement_freedom {
+                     linear: 1 1 1;
+                     angular: 1 1 1;
+                  }
+               }
+            }
+            description {
+               state: "backface_culled" 0.0;
+               inherit: "default" 0.0;
+               physics.backface_cull: 1;
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.8;
+               }
+            }
+         }
+
+         part {
+            name: "front";
+            type: RECT;
+            physics_body: BOUNDARY_FRONT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "back";
+            type: RECT;
+            physics_body: BOUNDARY_BACK;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "left";
+            type: RECT;
+            physics_body: BOUNDARY_LEFT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "right";
+            type: RECT;
+            physics_body: BOUNDARY_RIGHT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.4;
+               }
+            }
+         }
+      }
+
+      programs {
+         program {
+            name: "backcull,on";
+            signal: "on";
+            source: "backcull";
+            action: STATE_SET "backface_culled" 0.0;
+            target: "red_box";
+         }
+
+         program {
+            name: "backcull,off";
+            signal: "off";
+            source: "backcull";
+            action: STATE_SET "default" 0.0;
+            target: "red_box";
+         }
+
+      }
+
+   }
+}
diff --git a/src/examples/edje/physics_basic.edc b/src/examples/edje/physics_basic.edc
new file mode 100644 (file)
index 0000000..0003b4c
--- /dev/null
@@ -0,0 +1,86 @@
+/* This example demonstrates the most basic usage of physics.
+ *
+ * To make a part behaves like a body in a physics simulation,
+ * all that is needed is to set its attribute part.physics_body
+ * to something different from NONE. For example, RIGID_BOX,
+ * or CLOTH. It will define the shape of the part, and how it
+ * will interact with the environment.
+ *
+ * The remaining body attributes should be set inside the physics
+ * block of description. In this example we are customizing
+ * the restitution, that is how much the body bounces, and friction.
+ *
+ * It can be tested with edje_player
+ * $ edje_player physics_basic.edj
+ */
+
+collections {
+
+   images {
+      image: "bubble-blue.png" COMP;
+   }
+
+   group {
+      name: "example_group";
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "red_box";
+            type: RECT;
+            physics_body: RIGID_BOX;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* red */
+               rel1.relative: 0.75 0.1;
+               rel2.relative: 0.95 0.3;
+               aspect: 1 1;
+               physics {
+                  restitution: 0.85;
+               }
+            }
+         }
+
+         part {
+            name: "blue_circle";
+            type: IMAGE;
+            physics_body: RIGID_SPHERE;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.25 0.1;
+               rel2.relative: 0.45 0.3;
+               aspect: 1 1;
+               image {
+                  normal: "bubble-blue.png";
+               }
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.92;
+                  friction: 0.6;
+               }
+            }
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/physics_complex.edc b/src/examples/edje/physics_complex.edc
new file mode 100644 (file)
index 0000000..c09edea
--- /dev/null
@@ -0,0 +1,142 @@
+collections {
+
+   images {
+      image: "bubble-blue.png" COMP;
+   }
+
+   group {
+      name: "example_group";
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "red_box";
+            type: RECT;
+            physics_body: RIGID_BOX;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* light red */
+               rel1.relative: 0.45 0.1;
+               rel2.relative: 0.55 0.2;
+               aspect: 1 1;
+               physics {
+                  mass: 10.8;
+                  restitution: 0.85;
+                  friction: 1.0;
+                  light_on: 1;
+               }
+            }
+            description {
+               state: "heavier" 0.0;
+               inherit: "default" 0.0;
+               color: 120 0 0 255; /* dark red */
+               physics {
+                  mass: 30;
+                  restitution: 0;
+                  damping: 0.4 0.2;
+                  sleep: 18 13.4;
+               }
+            }
+         }
+
+         part {
+            name: "box_shadow";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 120;
+               rel1 {
+                  to_y: "red_box";
+                  relative: 0.9 0.1;
+               }
+               rel2 {
+                  to_y: "red_box";
+                  relative: 1 0.9;
+               }
+            }
+         }
+
+         part {
+            name: "blue_circle";
+            type: IMAGE;
+            physics_body: RIGID_SPHERE;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.75 0.1;
+               rel2.relative: 1 0.3;
+               aspect: 1 1;
+               image {
+                  normal: "bubble-blue.png";
+               }
+               physics {
+                  ignore_part_pos: 0;
+                  material: IRON;
+               }
+            }
+            description {
+               state: "left" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0 0.1;
+               rel2.relative: 0.25 0.3;
+               physics {
+                  material: CUSTOM;
+                  density: 40;
+               }
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.9;
+               }
+            }
+         }
+      }
+
+      programs {
+         program {
+            name: "change_box";
+            signal: "load";
+            in: 2 0;
+            action: STATE_SET "heavier" 0.0;
+            transition: LINEAR 1.5;
+            target: "red_box";
+         }
+
+         program {
+            name: "change_circle";
+            signal: "load";
+            in: 3 0;
+            action: STATE_SET "left" 0.0;
+            target: "blue_circle";
+            after: "change_circle_2";
+         }
+
+         program {
+            name: "change_circle_2";
+            in: 3 0;
+            action: STATE_SET "default" 0.0;
+            target: "blue_circle";
+            after: "change_circle";
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/physics_soft_bodies.edc b/src/examples/edje/physics_soft_bodies.edc
new file mode 100644 (file)
index 0000000..fa9e053
--- /dev/null
@@ -0,0 +1,197 @@
+/* This example shows how to use soft bodies.
+ *
+ * Soft bodies have an attribute to change how much it will
+ * deforms when colliding. It's called "hardness", and can
+ * be set to any value between 0.0 (soft) and 1.0 (hard).
+ * By default, all the soft bodies are hard (1.0).
+ *
+ * This example will make a box and a sphere collide
+ * many times against the floor and will be placed at
+ * top of the screen again. They will have their hardness
+ * modified each time, going from the default to a very
+ * soft state.
+ *
+ * It can be tested with edje_player
+ * $ edje_player physics_soft_bodies.edj
+ */
+
+collections {
+
+   images {
+      image: "bubble-blue.png" COMP;
+   }
+
+   group {
+      name: "example_group";
+
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            physics_body: NONE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255; /* white */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "red_box";
+            type: RECT;
+            physics_body: SOFT_BOX;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* red */
+               rel1.relative: 0.75 0.1;
+               rel2.relative: 0.95 0.3;
+               aspect: 1 1;
+               physics {
+                  ignore_part_pos: 0;
+                  restitution: 0.85;
+               }
+            }
+            description {
+               state: "soft" 0.0;
+               inherit: "default" 0.0;
+               physics {
+                  hardness: 0.8;
+               }
+            }
+            description {
+               state: "very_soft" 0.0;
+               inherit: "default" 0.0;
+               physics {
+                  hardness: 0.4;
+               }
+            }
+         }
+
+         part {
+            name: "blue_circle";
+            type: IMAGE;
+            physics_body: SOFT_CYLINDER;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.25 0.1;
+               rel2.relative: 0.45 0.3;
+               aspect: 1 1;
+               image {
+                  normal: "bubble-blue.png";
+               }
+               physics {
+                  ignore_part_pos: 0;
+                  restitution: 0.85;
+                  hardness: 1;
+               }
+            }
+            description {
+               state: "soft" 0.0;
+               inherit: "default" 0.0;
+               physics.hardness: 0.8;
+            }
+            description {
+               state: "very_soft" 0.0;
+               inherit: "default" 0.0;
+               physics.hardness: 0.4;
+            }
+         }
+
+         part {
+            name: "floor";
+            type: RECT;
+            physics_body: BOUNDARY_BOTTOM;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 0.7;
+               }
+            }
+         }
+
+         part {
+            name: "right_wall";
+            type: RECT;
+            physics_body: BOUNDARY_RIGHT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 1.0;
+               }
+            }
+         }
+
+         part {
+            name: "left_wall";
+            type: RECT;
+            physics_body: BOUNDARY_LEFT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               physics {
+                  restitution: 1.0;
+               }
+            }
+         }
+
+      }
+
+      programs {
+         program {
+            name: "stop,go_soft";
+            signal: "load";
+            in: 3 0;
+            action: PHYSICS_STOP;
+            target: "red_box";
+            target: "blue_circle";
+            after: "go_soft";
+         }
+
+         program {
+            name: "go_soft";
+            action: STATE_SET "soft" 0.0;
+            target: "red_box";
+            target: "blue_circle";
+            after: "stop,go_very_soft";
+         }
+
+         program {
+            name: "stop,go_very_soft";
+            in: 3 0;
+            action: PHYSICS_STOP;
+            target: "red_box";
+            target: "blue_circle";
+            after: "go_very_soft";
+         }
+
+         program {
+            name: "go_very_soft";
+            action: STATE_SET "very_soft" 0.0;
+            target: "red_box";
+            target: "blue_circle";
+            after: "stop,go_default";
+         }
+
+         program {
+            name: "stop,go_default";
+            in: 3 0;
+            action: PHYSICS_STOP;
+            target: "red_box";
+            target: "blue_circle";
+            after: "go_default";
+         }
+
+         program {
+            name: "go_default";
+            action: STATE_SET "default" 0.0;
+            target: "red_box";
+            target: "blue_circle";
+            after: "stop,go_soft";
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/red.png b/src/examples/edje/red.png
new file mode 100644 (file)
index 0000000..dd03528
Binary files /dev/null and b/src/examples/edje/red.png differ
diff --git a/src/examples/edje/signals-messages.edc b/src/examples/edje/signals-messages.edc
new file mode 100644 (file)
index 0000000..b251368
--- /dev/null
@@ -0,0 +1,174 @@
+#define MSG_COLOR 1
+#define MSG_TEXT 2
+
+collections {
+   group {
+      name: "example_group";
+
+      parts {
+         part {
+            name: "part_right";
+            type: RECT;
+            clip_to: "part_right_clipper";
+            description {
+               min: 50 50;
+               max: 50 50;
+               state: "default" 0.0;
+               color: 0 0 255 255; /* blue */
+               rel1.relative: 1.0 0.5;
+               rel1.offset: -49 0;
+               rel2.relative: 1.0 0.5;
+            }
+         }
+
+         part {
+            name: "part_left";
+            type: RECT;
+            description {
+               color_class: "cc";
+               min: 50 50;
+               max: 50 50;
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.5;
+               rel2.relative: 0.0 0.5;
+               rel2.offset: 50 -1;
+            }
+         }
+
+         part {
+            name: "text";
+            type: TEXT;
+            description {
+               min: 150 50;
+               max: 150 50;
+               fixed: 1 1;
+               color: 0 0 0 255;
+               state: "default" 0.0;
+               rel1.relative: 0.5 0.5;
+               rel2.relative: 0.5 0.5;
+               text {
+                  font:     "Sans";
+                  size:     20;
+                  min:      1 1;
+                  align:    0.5 0.5;
+               }
+            }
+         }
+
+         part {
+            name: "part_right_clipper";
+            type: RECT;
+            repeat_events: 1;
+
+            description {
+               min: 50 50;
+               max: 50 50;
+
+               state: "default" 0.0;
+               rel1.relative: 1.0 0.5;
+               rel1.offset: -49 0;
+               rel2.relative: 1.0 0.5;
+            }
+
+            description {
+               state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+      }
+
+      script {
+        public global_str0;
+        public global_str1;
+        public global_str2;
+        public str_idx;
+
+        public set_text_string() {
+           new tmp[1024];
+           new idx;
+           idx = get_int(str_idx);
+
+           if (idx == 0)
+              get_str(global_str0, tmp, 1024);
+           else if (idx == 1)
+              get_str(global_str1, tmp, 1024);
+           else if (idx == 2)
+              get_str(global_str2, tmp, 1024);
+              else return;
+
+           set_text(PART:"text", tmp);
+           send_message(MSG_STRING, MSG_TEXT, tmp);
+        }
+
+        public message(Msg_Type:type, id, ...) {
+           if ((type == MSG_INT_SET) && (id == MSG_COLOR)) {
+               new r, g, b, a;
+
+               r = getarg(2);
+               g = getarg(3);
+               b = getarg(4);
+               a = getarg(5);
+
+               set_color_class("cc", r, g, b, a);
+           }
+        }
+      }
+
+      programs {
+         program {
+            name: "bootstrap";
+            signal: "load";
+            source: "";
+            script {
+               set_str(global_str0, "String one");
+               set_str(global_str1, "String two");
+               set_str(global_str2, "String three");
+               set_int(str_idx, 0);
+               set_text_string();
+            }
+         }
+
+         program { /* custom signal */
+            name: "part_right,hovered";
+            signal: "mouse,move";
+            source: "part_right";
+            action: SIGNAL_EMIT "mouse,over" "part_right";
+         }
+
+         program { /* hide right rectangle */
+            name: "part_right,hide";
+            signal: "part_right,hide";
+            source: "";
+            action: STATE_SET "hidden" 0.0;
+            target: "part_right_clipper";
+         }
+
+         program {
+            name: "part_right,show";
+            signal: "part_right,show";
+            source: "";
+            action: STATE_SET "default" 0.0;
+            target: "part_right_clipper";
+         }
+
+         program { /* change text part's string value */
+            name: "text,change";
+            signal: "mouse,clicked,1";
+            source: "part_left";
+            script {
+               new idx;
+               idx = get_int(str_idx);
+               idx = idx + 1;
+
+               if (idx > 2)
+                  set_int(str_idx, 0);
+               else
+                  set_int(str_idx, idx);
+
+               set_text_string();
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/signals2.c b/src/examples/edje/signals2.c
new file mode 100644 (file)
index 0000000..b43b887
--- /dev/null
@@ -0,0 +1,134 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+#include <stdio.h>
+
+#define WIDTH     (700)
+#define HEIGHT    (700)
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* mouse over signals */
+static void
+_on_mouse_over(void *data, Evas_Object *edje_obj,
+               const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   Evas *evas;
+   int x, y, mouseX, mouseY;
+
+   evas = (Evas *) data;
+   evas_object_geometry_get(edje_obj, &x, &y, NULL, NULL);
+
+   evas_pointer_output_xy_get(evas, &mouseX, &mouseY);
+
+   if ((rand() % 2) == 0)
+     x += ((mouseX - x) + (x / 4 + mouseY / 2));
+   else
+     x -= ((mouseX - x) + (x / 4 + mouseY / 2));
+
+   if ((rand() % 2) == 0)
+     y += ((mouseY - y) + (y / 4 + mouseX / 2));
+   else
+     y -= ((mouseY - y) + (y / 4 + mouseX / 2));
+
+   if (x > WIDTH)
+     x = WIDTH;
+   else if (x < 0) x = 0;
+
+   if (y > HEIGHT)
+     y = HEIGHT;
+   else if (y < 0) y = 0;
+
+   fprintf(stdout, "Moving object to - (%d,%d)\n", x, y);
+
+   evas_object_move(edje_obj, x, y);
+}
+
+int
+main(int argc EINA_UNUSED, char **argv)
+{
+   const char *edje_file = "signalsBubble.edj";
+   char edje_file_path[PATH_MAX];
+   Eina_Prefix *pfx;
+   Ecore_Evas *ee;
+   Evas *evas;
+   Evas_Object *bg;
+   Evas_Object *edje_obj;
+
+   if (!ecore_evas_init()) return EXIT_FAILURE;
+
+   if (!edje_init()) goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main, "EDJE_EXAMPLES", "edje/examples",
+                         edje_file, PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
+
+   if (!pfx) goto shutdown_edje;
+
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+
+   if (!ee) goto eina_prefix_free;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Edje animations and signals");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); //White
+   evas_object_move(bg, 0, 0); //orign
+   evas_object_resize(bg, WIDTH, HEIGHT); //cover the window
+   evas_object_show(bg);
+
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+   evas_object_focus_set(bg, EINA_TRUE);
+
+   edje_obj = edje_object_add(evas);
+
+   snprintf(edje_file_path, sizeof(edje_file_path), "%s/examples/%s",
+            eina_prefix_data_get(pfx), edje_file);
+
+   if (!edje_object_file_set(edje_obj, edje_file_path, "image_group"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load the edje file - reason:%s\n", errmsg);
+        goto eina_prefix_free;
+     }
+
+   edje_object_signal_callback_add(edje_obj, "mouse,move", "part_image",
+                                   _on_mouse_over, evas);
+   evas_object_resize(edje_obj, 63, 63);
+   evas_object_move(edje_obj, 50, 50);
+   evas_object_show(edje_obj);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   edje_shutdown();
+   ecore_evas_shutdown();
+
+   return EXIT_SUCCESS;
+
+   eina_prefix_free: eina_prefix_free(pfx);
+
+   shutdown_edje: edje_shutdown();
+
+   shutdown_ecore_evas: ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/signalsBubble.edc b/src/examples/edje/signalsBubble.edc
new file mode 100644 (file)
index 0000000..c6f85be
--- /dev/null
@@ -0,0 +1,22 @@
+collections{
+   group{
+      name: "image_group";
+      max: 500 500;
+      min: 50 50;
+      images{
+           image: "bubble.png" COMP;
+     }
+    parts{
+            part{
+                   name: "part_image";
+                   type: IMAGE;
+                   description{
+                       min:63 63;
+                       image{
+                            normal: "bubble.png";
+                       }
+                   }
+                 }
+          }
+   }
+}
diff --git a/src/examples/edje/sigtest.c b/src/examples/edje/sigtest.c
new file mode 100644 (file)
index 0000000..08300a2
--- /dev/null
@@ -0,0 +1,341 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#define EINA_UNUSED
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+#include <stdio.h>
+
+#define WIDTH  (300)
+#define HEIGHT (300)
+
+static const char commands[] = \
+  "commands are:\n"
+  "\te - change te edje base\n"
+  "\tl - change to lua base\n"
+  "\tm - send message\n"
+  "\ts - send signal\n"
+  "\tEsc - exit\n"
+  "\th - print help\n";
+
+static void
+_on_keydown(void        *data,
+            Evas        *evas EINA_UNUSED,
+            Evas_Object *o EINA_UNUSED,
+            void        *einfo)
+{
+   Ecore_Evas          *ee;
+   Evas_Event_Key_Down *ev;
+   Evas_Object         *edje_obj;
+   char                *edje_file_path;
+
+   ee = (Ecore_Evas *)data;
+   ev = (Evas_Event_Key_Down *)einfo;
+   edje_obj = ecore_evas_data_get(ee, "edje_obj");
+   edje_file_path = ecore_evas_data_get(ee, "file_path");
+
+   if (!strcmp(ev->keyname, "h"))
+     {
+        fprintf(stdout, commands);
+        return;
+     }
+   else if (!strcmp(ev->keyname, "e"))
+     {
+      if (!edje_object_file_set(edje_obj, edje_file_path, "plain/edje/group"))
+        {
+           int err = edje_object_load_error_get(edje_obj);
+           const char *errmsg = edje_load_error_str(err);
+
+           fprintf(stderr, "Could not load 'plain/edje/group' from sigtest.edj: %s\n", errmsg);
+        }
+      else
+         fprintf(stdout, "Loaded Edje object bound to group 'plain/edje/group' from"
+                         " file sigtest.edj with success!\n");
+        return;
+     }
+   else if (!strcmp(ev->keyname, "l"))
+     {
+      if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base"))
+        {
+           int err = edje_object_load_error_get(edje_obj);
+           const char *errmsg = edje_load_error_str(err);
+
+           fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n", errmsg);
+        }
+      else
+         fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from"
+                         " file sigtest.edj with success!\n");
+        return;
+     }
+   else if (!strcmp(ev->keyname, "m"))
+     {
+        Edje_Message_String *msg = malloc(sizeof(*msg));
+
+       fprintf(stdout, "\n");
+        msg->str = strdup("C message text");
+        edje_object_message_send(edje_obj, EDJE_MESSAGE_STRING, 2, msg);
+        free(msg);
+       fprintf(stdout, "C message sent\n");
+        return;
+     }
+   else if (!strcmp(ev->keyname, "s"))
+     {
+       fprintf(stdout, "\n");
+        edje_object_signal_emit(edje_obj, "C signal 1", "Csource");
+        edje_object_signal_emit(edje_obj, "bubbles_lua:C signal 2", "Csource");
+       fprintf(stdout, "C signal sent\n");
+        return;
+     }
+   else if (!strcmp(ev->keyname, "Escape"))
+     ecore_main_loop_quit();
+   else
+     {
+        printf("unhandled key: %s\n", ev->keyname);
+        fprintf(stdout, commands);
+     }
+}
+
+static void
+_on_message(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Edje_Message_Type type, int id, void *msg)
+{
+   int i;
+
+   fprintf(stdout, "C::message id=%d type=%d ", id, type);
+   switch (type)
+     {
+        case EDJE_MESSAGE_NONE :
+          {
+             fprintf(stdout, " NONE");
+             break;
+          }
+
+        case EDJE_MESSAGE_SIGNAL :
+          {
+             fprintf(stdout, " SIGNAL ");
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING :
+          {
+             Edje_Message_String *mmsg = msg;
+
+             fprintf(stdout, " STRING %s", mmsg->str);
+             break;
+          }
+
+        case EDJE_MESSAGE_INT :
+          {
+             Edje_Message_Int *mmsg = msg;
+
+             fprintf(stdout, " INT %d", mmsg->val);
+             break;
+          }
+
+        case EDJE_MESSAGE_FLOAT :
+          {
+             Edje_Message_Float *mmsg = msg;
+
+             fprintf(stdout, " FLOAT %f", mmsg->val);
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING_SET :
+          {
+             Edje_Message_String_Set *mmsg = msg;
+
+             fprintf(stdout, " STRING_SET -\n");
+             for (i = 0; i < mmsg->count; i++)
+                fprintf(stdout, "  %s\n", mmsg->str[i]);
+             break;
+          }
+
+        case EDJE_MESSAGE_INT_SET :
+          {
+             Edje_Message_Int_Set *mmsg = msg;
+
+             fprintf(stdout, " INT_SET -\n");
+             for (i = 0; i < mmsg->count; i++)
+                fprintf(stdout, "  %d\n", mmsg->val[i]);
+             break;
+          }
+
+        case EDJE_MESSAGE_FLOAT_SET :
+          {
+             Edje_Message_Float_Set *mmsg = msg;
+
+             fprintf(stdout, " FLOAT_SET -\n");
+             for (i = 0; i < mmsg->count; i++)
+                fprintf(stdout, "  %f\n", mmsg->val[i]);
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING_INT :
+          {
+             Edje_Message_String_Int *mmsg = msg;
+
+             fprintf(stdout, " STRING_INT %s %d", mmsg->str, mmsg->val);
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING_FLOAT :
+          {
+             Edje_Message_String_Float *mmsg = msg;
+
+             fprintf(stdout, " STRING_FLOAT %s %f", mmsg->str, mmsg->val);
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING_INT_SET :
+          {
+             Edje_Message_String_Int_Set *mmsg = msg;
+
+             fprintf(stdout, " STRING_INT_SET %s -\n", mmsg->str);
+             for (i = 0; i < mmsg->count; i++)
+                fprintf(stdout, "  %d\n", mmsg->val[i]);
+             break;
+          }
+
+        case EDJE_MESSAGE_STRING_FLOAT_SET :
+          {
+             Edje_Message_String_Float_Set *mmsg = msg;
+
+             fprintf(stdout, " STRING_FLOAT_SET %s -\n", mmsg->str);
+             for (i = 0; i < mmsg->count; i++)
+                fprintf(stdout, "  %f\n", mmsg->val[i]);
+             break;
+          }
+     }
+   fprintf(stdout, "\n");
+}
+
+static void
+_on_signal(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, const char  *emission, const char  *source)
+{
+   fprintf(stdout, "C::signal sig=|%s| src=|%s|\n", emission, source);
+}
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+int
+main(int argc EINA_UNUSED, char *argv[])
+{
+   char         border_img_path[PATH_MAX];
+   char         edje_file_path[PATH_MAX];
+   const char  *edje_file = "sigtest.edj";
+   Ecore_Evas  *ee;
+   Evas        *evas;
+   Evas_Object *bg;
+   Evas_Object *border;
+   Evas_Object *edje_obj;
+   Eina_Prefix *pfx;
+
+   if (!ecore_evas_init())
+     return EXIT_FAILURE;
+
+   if (!edje_init())
+     goto shutdown_ecore_evas;
+
+   pfx = eina_prefix_new(argv[0], main,
+                         "EDJE_EXAMPLES",
+                         "edje/examples",
+                         edje_file,
+                         PACKAGE_BIN_DIR,
+                         PACKAGE_LIB_DIR,
+                         PACKAGE_DATA_DIR,
+                         PACKAGE_DATA_DIR);
+   if (!pfx)
+     goto shutdown_edje;
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+   if (!ee)
+     goto free_prefix;
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete);
+   ecore_evas_title_set(ee, "Signals and wessages tester");
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+   ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
+
+   evas_object_focus_set(bg, EINA_TRUE);
+
+   edje_obj = edje_object_add(evas);
+
+   edje_object_message_handler_set(edje_obj, _on_message, NULL);
+   edje_object_signal_callback_add(edje_obj, "*", "*", _on_signal, NULL);
+
+   snprintf(edje_file_path, sizeof(edje_file_path),
+            "%s/examples/%s", eina_prefix_data_get(pfx), edje_file);
+   if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base"))
+     {
+        int err = edje_object_load_error_get(edje_obj);
+        const char *errmsg = edje_load_error_str(err);
+        fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n",
+                errmsg);
+
+        evas_object_del(edje_obj);
+        goto free_prefix;
+     }
+
+   fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from"
+                   " file sigtest.edj with success!\n");
+
+   evas_object_move(edje_obj, 20, 20);
+   evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40);
+   evas_object_show(edje_obj);
+   ecore_evas_data_set(ee, "edje_obj", edje_obj);
+   ecore_evas_data_set(ee, "file_path", edje_file_path);
+
+   evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, ee);
+
+   snprintf(border_img_path, sizeof(border_img_path),
+            "%s/edje/examples/red.png", eina_prefix_data_get(pfx));
+
+   /* this is a border around the Edje object above, here just to
+    * emphasize its geometry */
+   border = evas_object_image_filled_add(evas);
+   evas_object_image_file_set(border, border_img_path, NULL);
+   evas_object_image_border_set(border, 2, 2, 2, 2);
+   evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE);
+
+   evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4);
+   evas_object_move(border, 20 - 2, 20 - 2);
+   evas_object_show(border);
+
+   fprintf(stdout, commands);
+
+   ecore_evas_show(ee);
+
+   ecore_main_loop_begin();
+
+   eina_prefix_free(pfx);
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+
+   return EXIT_SUCCESS;
+
+ free_prefix:
+   eina_prefix_free(pfx);
+ shutdown_edje:
+   edje_shutdown();
+ shutdown_ecore_evas:
+   ecore_evas_shutdown();
+
+   return EXIT_FAILURE;
+}
diff --git a/src/examples/edje/sigtest.edc b/src/examples/edje/sigtest.edc
new file mode 100644 (file)
index 0000000..ef2a854
--- /dev/null
@@ -0,0 +1,303 @@
+fonts {
+   font: "Vera.ttf" "default";
+}
+
+images {
+    image: "bubble.png" COMP;
+}
+
+collections {
+   group {
+      name: "lua_base";
+      lua_script_only: 1;
+      lua_script {
+         --// stick object private/local vars here
+         local D;
+         local text_geom;
+
+         --// Functions to print tables.
+         local print_table, print_table_start;
+
+         function print_table_start(table, space, name)
+            print(space .. name .. ": ");
+            print(space .. "{");
+            print_table(table, space .. "  ");
+            print(space .. "}");
+         end
+
+         function print_table(table, space)
+            for k, v in pairs(table) do 
+               if type(v) == "table" then
+                  print_table_start(v, space, k);
+               elseif type(v) == "string" then
+                  print(space .. k .. ': "' .. v .. '";')
+               else
+                  print(space .. k .. ": " .. v .. ";")
+               end
+            end
+         end
+
+         --// init object here
+         D = {}; --// data is empty table to start
+         edje_geom = edje.geom();
+
+         D.edje = edje.edje();
+         D.edje:file("plain/edje/group");
+         D.edje:move(0, 0);
+         D.edje:resize(edje_geom.w, edje_geom.h);
+         D.edje:show();
+
+         edje.text_class("test_text_class", "Sans:style=Bold", 10);
+
+         --// send some random edje message
+         edje.messagesend(7, "none"      );
+         edje.messagesend(7, "sig",      "lua message signal", "luaSource");
+         edje.messagesend(7, "str",      "hello world");
+         edje.messagesend(7, "int",      987);
+         edje.messagesend(7, "float",    987.321);
+         edje.messagesend(7, "strset",   {"hello", "there", "world"});
+         edje.messagesend(7, "intset",   {1, 2, 3});
+         edje.messagesend(7, "floatset", {1.1, 2.2, 3.3});
+         edje.messagesend(7, "strint",   "hello world", 7);
+         edje.messagesend(7, "strfloat", "hello world", 7.654);
+         edje.messagesend(7, "strintset","hello world", {1, 2, 3});
+         --// and a signal
+         edje.emit("lua signal", "luaSource");
+
+         function move (x, y)
+            print("lua::move x=" .. x .. " x=" .. y);
+            D.edje:move(0, 0);
+         end
+
+         function resize (w, h)
+            print("lua::resize w=" .. w .. " h=" .. h);
+            D.edje:resize(w, h);
+         end
+
+         function message (id, type, ...)
+            print("lua::message id=" .. id .. " type=" .. type);
+            --// handle your message type here. check id + type then use the
+            --// vararg appropriately. they are the same as the params passed 
+            --// to edje:messagesend() (if any are passed at all).  Any array
+            --// arguments are passed as a single table.
+
+            if ("none" == type) then
+               print("lua::message no args");
+            elseif ("strset" == type) then
+               strs = ... ;
+               print_table_start(strs, "", "lua::message strings");
+            elseif ("intset" == type) then
+               ints = ... ;
+               print_table_start(ints, "", "lua::message ints");
+            elseif ("floatset" == type) then
+               floats = ... ;
+               print_table_start(floats, "", "lua::message floats");
+            elseif ("strintset" == type) then
+               str, ints = ... ;
+               print("lua::message " .. str);
+               print_table_start(ints, "", "lua::message ints");
+            elseif ("strfloatset" == type) then
+               str, floats = ... ;
+               print("lua::message " .. str);
+               print_table_start(floats, "", "lua::message floats");
+            else
+               print("lua::message " .. ... );
+            end
+         end
+
+         function signal (sig, src)
+            print("lua::signal sig=|" .. sig .. "| src=" .. src .. "|");
+         end
+      }
+   }
+
+   // The group name NEEDS a / in it, 
+   // or the part below that tries to swallow it won't work.
+   // Leaving just the lua part visible.
+   group {
+      name: "bubbles/lua";
+      lua_script_only: 1;
+      lua_script {
+         local bubbles = { };
+         local bubbleCols = 8;
+         local bubbleRows = 6;
+
+         --// Functions to print tables.
+         local print_table, print_table_start;
+
+         function print_table_start(table, space, name)
+            print(space .. name .. ": ");
+            print(space .. "{");
+            print_table(table, space .. "  ");
+            print(space .. "}");
+         end
+
+         function print_table(table, space)
+            for k, v in pairs(table) do 
+               if type(v) == "table" then
+                  print_table_start(v, space, k);
+               elseif type(v) == "string" then
+                  print(space .. k .. ': "' .. v .. '";')
+               else
+                  print(space .. k .. ": " .. v .. ";")
+               end
+            end
+         end
+
+
+         for i = 1, bubbleRows do
+            row = { };
+            for j = 1, bubbleCols do
+               image = edje.image();
+               image:image("bubble.png");
+               image:show();
+               table.insert(row, image);
+            end
+            table.insert(bubbles, row);
+         end
+
+         function resize (w, h)
+            for i = 1, bubbleRows do
+               for j = 1, bubbleCols do
+                  w1 = w / bubbleCols;
+                  h1 = h / bubbleRows;
+                  bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1);
+                  if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then
+                     bubbles[i][j]:color(0, 255, 0, 200);
+                  else
+                     bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200);
+                  end
+               end
+            end
+         end
+
+         function message (id, type, ...)
+            print("bubbles::message id=" .. id .. " type=" .. type);
+            --// handle your message type here. check id + type then use the
+            --// vararg appropriately. they are the same as the params passed 
+            --// to edje:messagesend() (if any are passed at all).  Any array
+            --// arguments are passed as a single table.
+
+            if ("none" == type) then
+               print("bubbles::message no args");
+            elseif ("strset" == type) then
+               strs = ... ;
+               print_table_start(strs, "", "bubbles::message strings");
+            elseif ("intset" == type) then
+               ints = ... ;
+               print_table_start(ints, "", "bubbles::message ints");
+            elseif ("floatset" == type) then
+               floats = ... ;
+               print_table_start(floats, "", "bubbles::message floats");
+            elseif ("strintset" == type) then
+               str, ints = ... ;
+               print("bubbles::message " .. str);
+               print_table_start(ints, "", "bubbles::message ints");
+            elseif ("strfloatset" == type) then
+               str, floats = ... ;
+               print("bubbles::message " .. str);
+               print_table_start(floats, "", "bubbles::message floats");
+            else
+               print("bubbles::message " .. ... );
+            end
+         end
+
+         function signal (sig, src)
+            print("bubbles::signal sig=|" .. sig .. "| src=|" .. src .. "|");
+         end
+      }
+   }
+
+   group {
+      name: "plain/edje/group";
+      parts {
+         part {
+            name: "background";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+            }
+         }
+
+         // A lua group embedded in an edje group.
+         part {
+            name: "bubbles_lua";
+            type: GROUP;
+            source: "bubbles/lua";
+            mouse_events: 0;
+            description { state: "default" 0.0; visible: 1; }
+         }
+
+         part {
+            name: "some_text";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0;
+               visible: 1;
+               text
+               {
+                  text: "This is test text.";
+                  text_class: "test_text_class";
+               }
+            }
+         }
+
+         program { name: "show_signals";
+            signal: "*";
+            source: "*";
+            script
+            {
+               new buf[128];
+
+               snprintf(buf, 128, "edje::signal sig=%s sig=%s", sig, src);
+               set_text(PART:"some_text", buf);
+            }
+        }
+
+      script {
+        public global_str0;
+        public global_str1;
+        public global_str2;
+        public str_idx;
+
+        public set_text_string() {
+           new tmp[1024];
+           new idx;
+           idx = get_int(str_idx);
+
+           if (idx == 0)
+              get_str(global_str0, tmp, 1024);
+           else if (idx == 1)
+              get_str(global_str1, tmp, 1024);
+           else if (idx == 2)
+              get_str(global_str2, tmp, 1024);
+              else return;
+
+           set_text(PART:"some_text", tmp);
+           send_message(MSG_STRING, 1, tmp);
+        }
+
+        public message(Msg_Type:type, id, ...) {
+           if (type == MSG_STRING) {
+              new text[64];
+              new buf[128];
+
+              getsarg(3, text, 64);
+              snprintf(buf, 128, "embryo::message |%s|", text);
+              set_text(PART:"some_text", buf);
+           }
+        }
+
+
+      }
+
+      }
+   }
+
+}
+
diff --git a/src/examples/edje/swallow.edc b/src/examples/edje/swallow.edc
new file mode 100644 (file)
index 0000000..a62a0b5
--- /dev/null
@@ -0,0 +1,21 @@
+collections {
+   group {
+      name: "example_group";
+      max: 500 500;
+      min: 50 50;
+
+      parts {
+         part {
+            name: "part_one";
+            type: SWALLOW;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+      }
+
+   }
+}
diff --git a/src/examples/edje/table.edc b/src/examples/edje/table.edc
new file mode 100644 (file)
index 0000000..5453705
--- /dev/null
@@ -0,0 +1,19 @@
+collections {
+   group {
+      name: "example_table";
+      min: 50 50;
+
+      parts {
+         part {
+            name: "table_part";
+            type: TABLE;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/test.png b/src/examples/edje/test.png
new file mode 100644 (file)
index 0000000..fb620d7
Binary files /dev/null and b/src/examples/edje/test.png differ
diff --git a/src/examples/edje/text.edc b/src/examples/edje/text.edc
new file mode 100644 (file)
index 0000000..257a078
--- /dev/null
@@ -0,0 +1,68 @@
+collections {
+   group {
+      name: "sel_group";
+      parts {
+         part {
+            name: "rect";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 255 0 255; /* green */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+      }
+   }
+   group {
+      name: "example_group";
+      max: 500 500;
+      min: 50 50;
+
+      styles {
+         style {
+            name: "textblock_style";
+            base: "font=Sans font_size=22 color=#600 wrap=word";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font_weight=Bold";
+            tag:  "b" "+ font_weight=Bold";
+            tag:  "tab" "\t";
+         }
+      }
+      parts {
+         part {
+            name: "part_one";
+            type: TEXT;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 0 0 255 255; /* blue */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 0.5;
+               text {
+                  font: "arial";
+                  size: 22;
+                  min: 1 1;
+               }
+            }
+         }
+         part {
+            name: "part_two";
+            type: TEXTBLOCK;
+            select_mode: EXPLICIT;
+            source: "sel_group";
+            entry_mode: PLAIN;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.5;
+               rel2.relative: 1.0 1.0;
+               text {
+                  style: "textblock_style";
+                  min: 1 1;
+               }
+            }
+         }
+      }
+   }
+}
diff --git a/src/examples/edje/toggle_using_filter.edc b/src/examples/edje/toggle_using_filter.edc
new file mode 100644 (file)
index 0000000..9971fc0
--- /dev/null
@@ -0,0 +1,66 @@
+collections {
+   group { name: "main";
+      parts {
+         /* white background */
+         part { name: "bg";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         /* title label */
+         part { name: "title";
+            type: TEXT;
+            description { state: "default" 0.0;
+               color: 0 0 0 255;
+               text {
+                  text: "Toggle using filter";
+                  font: "Sans";
+                  size: 12;
+                  align: 0.5 0.0;
+               }
+            }
+         }
+         /* the rectangle, will toggle color on click */
+         part { name: "rect";
+            type: RECT;
+            mouse_events: 1;
+            description { state: "default" 0.0;
+               color: 255 0 0 150;
+               max: 150 150;
+               align: 0.5 0.5;
+               map {
+                  on: 1;
+                  perspective_on: 1;
+                  smooth: 1;
+                  alpha: 1;
+               }
+            }
+            description { state: "blue" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 255 255;
+            }
+         }
+      }
+      programs {
+         /* on mouse click set the blue state, if we are in the default state */
+         program {
+            signal: "mouse,down,1";
+            source: "rect";
+            filter: "rect" "default";
+            action: STATE_SET "blue" 0.0;
+            transition: SINUSOIDAL 0.4;
+            target: "rect";
+         }
+         /* or back to the default state if we are in the blue state */
+         program {
+            signal: "mouse,down,1";
+            source: "rect";
+            filter: "rect" "blue";
+            action: STATE_SET "default" 0.0;
+            transition: SINUSOIDAL 0.4;
+            target: "rect";
+         }
+      }
+   }
+}
diff --git a/src/lib/edje/Edje.h b/src/lib/edje/Edje.h
new file mode 100644 (file)
index 0000000..4d51404
--- /dev/null
@@ -0,0 +1,6711 @@
+/**
+@brief Edje Graphical Design Library
+
+These routines are used for Edje.
+
+@mainpage Edje Library Documentation
+@version 1.7
+@date 2003-2012
+
+Please see the @ref authors page for contact details.
+
+@section intro What is Edje?
+
+Edje is a complex graphical design & layout library.
+
+It doesn't intend to do containing and regular layout like a widget
+set, but it is the base for such components. Based on the requirements
+of Enlightenment 0.17, Edje should serve all the purposes of creating
+visual elements (borders of windows, buttons, scrollbars, etc.) and
+allow the designer the ability to animate, layout and control the look
+and feel of any program using Edje as its basic GUI constructor. This
+library allows for multiple collections of Layouts in one file,
+sharing the same image and font database and thus allowing a whole
+theme to be conveniently packaged into 1 file and shipped around.
+
+Edje separates the layout and behavior logic. Edje files ship with an
+image and font database, used by all the parts in all the collections
+to source graphical data. It has a directory of logical part names
+pointing to the part collection entry ID in the file (thus allowing
+for multiple logical names to point to the same part collection,
+allowing for the sharing of data between display elements). Each part
+collection consists of a list of visual parts, as well as a list of
+programs. A program is a conditionally run program that if a
+particular event occurs (a button is pressed, a mouse enters or leaves
+a part) will trigger an action that may affect other parts. In this
+way a part collection can be "programmed" via its file as to hilight
+buttons when the mouse passes over them or show hidden parts when a
+button is clicked somewhere etc. The actions performed in changing
+from one state to another are also allowed to transition over a period
+of time, allowing animation. Programs and animations can be run in
+"parallel".
+
+This separation and simplistic event driven style of programming can produce
+almost any look and feel one could want for basic visual elements. Anything
+more complex is likely the domain of an application or widget set that may
+use Edje as a convenient way of being able to configure parts of the display.
+
+For details of Edje's history, see the \ref history section.
+
+
+@section requirements What does Edje require?
+
+Edje requires fairly little on your system. to use the Edje runtime library
+you need:
+
+  - Evas (library)
+  - Ecore (library)
+  - Eet (library)
+  - Embryo (library)
+  - Eina (library)
+  - Lua 5.1 (library)
+
+Evas needs to be build with the JPEG, PNG and EET image loaders enabled at a
+minimum. You will also need the buffer engine (which requires the
+software_generic engine) as well.
+
+Ecore (library) needs the ECORE and ECORE_EVAS modules built at a minimum.
+It's suggested to build all the Ecore modules. You will beed the Buffer
+engine support built into Ecore_Evas for edje_cc to function.
+
+
+@section compiling How to compile and test Edje
+
+Now you need to compile and install Edje.
+
+@verbatim
+  ./configure
+  make
+  sudo make install
+@endverbatim
+
+You now have it installed and ready to go, but you need input
+data. There are lots of examples in SVN, the best one is
+Enlightenment's own theme file.
+
+You may use different tools to edit and view the generated ".edj"
+files, for instance:
+
+  - edje_player (provided by Edje)
+  - edje_codegen (provided by Edje) @since 1.8.0
+  - editje (http://trac.enlightenment.org/e/wiki/Editje)
+  - edje_viewer (http://trac.enlightenment.org/e/wiki/Edje_Viewer)
+
+
+@section details So how does this all work?
+
+Edje internally holds a geometry state machine and state graph of what is
+visible, not, where, at what size, with what colors etc. This is described
+to Edje from an Edje .edj file containing this information. These files can
+be produced by using edje_cc to take a text file (a .edc file) and "compile"
+an output .edj file that contains this information, images and any other
+data needed.
+
+The application using Edje will then create an object in its Evas
+canvas and set the bundle file to use, specifying the @b group name to
+use. Edje will load such information and create all the required
+children objects with the specified properties as defined in each @b
+part of the given group. See the following example:
+@include edje_example.c
+
+The above example requires the following annotated source Edje file:
+@include edje_example.edc
+
+
+One should save these files as edje_example.c and edje_example.edc then:
+@verbatim
+gcc -o edje_example edje_example.c `pkg-config --cflags --libs eina evas ecore ecore-evas edje`
+edje_cc edje_example.edc
+
+./edje_example "some text"
+@endverbatim
+
+Although simple, this example illustrates that animations and state
+changes can be done from the Edje file itself without any requirement
+in the C application.
+
+Before digging into changing or creating your own Edje source (edc)
+files, read the @ref edcref.
+
+
+@section history Edje History
+
+It's a sequel to "Ebits" which has serviced the needs of Enlightenment
+development for early version 0.17. The original design parameters under
+which Ebits came about were a lot more restricted than the resulting
+use of them, thus Edje was born.
+
+Edje is a more complex layout engine compared to Ebits. It doesn't
+pretend to do containing and regular layout like a widget set. It
+still inherits the more simplistic layout ideas behind Ebits, but it
+now does them a lot more cleanly, allowing for easy expansion, and the
+ability to cover much more ground than Ebits ever could. For the
+purposes of Enlightenment 0.17, Edje was conceived to serve all the
+purposes of creating visual elements (borders of windows, buttons,
+scrollbars, etc.) and allow the designer the ability to animate,
+layout and control the look and feel of any program using Edje as its
+basic GUI constructor.
+
+Unlike Ebits, Edje separates the layout and behavior logic.
+
+
+@section Edje_Examples Examples on Edje's usage
+
+What follows is a list with various commented examples, covering a great
+part of Edje's API:
+
+@note The example files are located at /Where/Enlightenment/is/installed/share/edje/examples
+
+- @ref Example_Edje_Basics
+- @ref tutorial_edje_basic2
+- @ref tutorial_edje_swallow
+- @ref tutorial_edje_swallow2
+- @ref tutorial_edje_table
+- @ref tutorial_edje_box
+- @ref tutorial_edje_box2
+- @ref tutorial_edje_color_class
+- @ref tutorial_edje_animations
+- @ref tutorial_edje_animations_2
+- @ref Example_Edje_Signals_Messages
+- @ref tutorial_edje_signals_2
+- @ref tutorial_edje_text
+- @ref tutorial_edje_drag
+- @ref tutorial_edje_perspective
+*/
+
+/**
+@page authors Authors
+@author Carsten Haitzler <raster@@rasterman.com>
+@author Tilman Sauerbeck (tilman at code-monkey de)
+@author ZigsMcKenzie <zigsmckenzie@@gmail.com>
+@author Cedric BAIL <cedric.bail@@free.fr>
+@author Brian Mattern <rephorm@@rephorm.com>
+@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
+@author Tristan <blunderer@@gmail.com>
+@author Gustavo Lima Chaves <glima@@profusion.mobi>
+@author Bruno Dilly <bdilly@@profusion.mobi>
+@author Fabiano Fidêncio <fidencio@@profusion.mobi>
+@author Jihoon Kim <jihoon48.kim@@samsung.com>
+@author Tiago Falcão <tiago@@profusion.mobi>
+@author Davide Andreoli <dave@@gurumeditation.it>
+@author Sebastian Dransfeld <sd@@tango.flipp.net>
+@author Tom Hacohen <tom@@stosb.com>
+@author Aharon Hillel <a.hillel@@samsung.com>
+@author Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
+@author Mike Blumenkrantz <michael.blumenkrantz@gmail.com
+@author Jaehwan Kim <jae.hwan.kim@samsung.com>
+@author billiob (Boris Faure) <billiob@gmail.com>
+@author Govindaraju SM <govi.sm@samsung.com> <govism@gmail.com>
+@author Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
+@author David Seikel <onefang at gmail.com>
+@author Guilherme Íscaro <iscaro@profusion.mobi>
+
+Please contact <enlightenment-devel@lists.sourceforge.net> to get in
+contact with the developers and maintainers.
+*/
+
+
+/**
+
+@example embryo_custom_state.edc
+This example show how to create a custom state from embryo. Clicking on the
+3 labels will rotate the object in the given direction.
+
+@example embryo_pong.edc
+Super-simple Pong implementation in pure embryo.
+
+@example embryo_run_program.edc
+This example show how to run an edje program from embryo code.
+
+@example embryo_set_state.edc
+This example show how to change the state of a part from embryo code.
+
+@example embryo_set_text.edc
+This example show how to set the text in TEXT part from embryo code.
+
+@example embryo_timer.edc
+This example show the usage of timers in embryo.
+
+@example external_elm_anchorblock.edc
+This example use an elementary anchorblock and a button to animate the text.
+
+@example external_elm_button.edc
+This example create some elementary buttons and do some actions on user click.
+
+@example external_elm_check.edc
+This example show EXTERNAL checkbox in action.
+
+@example external_elm_panes.edc
+This example show EXTERNAL elementary panes in action.
+
+@example external_emotion_elm.edc
+Super-concise video player example using Edje/Emotion/Elementary.
+
+@example lua_script.edc
+This example show the usage of lua scripting to create and animate some
+objects in the canvas.
+
+@example toggle_using_filter.edc
+This example show how to toggle the state of a part using the 'filter'
+param in edje programs
+
+*/
+
+/**
+ * @file Edje.h
+ * @brief Edje Graphical Design Library
+ *
+ * These routines are used for Edje.
+ */
+
+/**
+ * @defgroup Edje_General_Group Edje General
+ *
+ * @brief This group discusses functions that have general purposes or affect Edje as a whole.
+ *
+ * Besides containing the initialize and shutdown functions of the library, which should
+ * always be called when we are using Edje, this module contains some other utilities that
+ * could be used in many contexts or should do their jobs independent of the context inside Edje.
+ *
+ * @{
+ */
+
+#ifndef _EDJE_H
+#define _EDJE_H
+
+#ifndef _MSC_VER
+# include <stdint.h>
+#endif
+#include <math.h>
+#include <float.h>
+#include <limits.h>
+
+#include <Evas.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef HAVE_ECORE_IMF
+#include <Ecore_IMF.h>
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EDJE_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EDJE_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define EDJE_VERSION_MAJOR 1
+#define EDJE_VERSION_MINOR 8
+
+typedef struct _Edje_Version
+{
+   int major;
+   int minor;
+   int micro;
+   int revision;
+} Edje_Version;
+
+EAPI extern Edje_Version *edje_version;
+
+/**
+ * @brief Initialize the Edje library.
+ *
+ * @return The new init count. The initial value is zero.
+ *
+ * This function initializes the Edje library, making the proper calls
+ * to internal initialization functions. It will also initialize its
+ * @b dependencies, making calls to @c eina_init(), @c ecore_init(),
+ * @c embryo_init() and @c eet_init(). So, there is no need to call
+ * those functions again, in your code. To shutdown Edje there is the
+ * function edje_shutdown().
+ *
+ * @see edje_shutdown()
+ * @see eina_init()
+ * @see ecore_init()
+ * @see embryo_init()
+ * @see eet_init()
+ *
+ */
+EAPI int          edje_init                       (void);
+
+/**
+ * @brief Shutdown the Edje library.
+ *
+ * @return The number of times the library has been initialised
+ *         without being shutdown.
+ *
+ * This function shuts down the Edje library. It will also call the
+ * shutdown functions of its @b dependencies, which are @c
+ * eina_shutdown(), @c ecore_shutdown(), @c embryo_shutdown() and @c
+ * eet_shutdown(), so there is no need to call these functions again,
+ * in your code.
+ *
+ * @see edje_init()
+ * @see eina_shutdown()
+ * @see ecore_shutdown()
+ * @see embryo_shutdown()
+ * @see eet_shutdown()
+ *
+ */
+EAPI int               edje_shutdown                   (void);
+
+/**
+ * @brief Set the edje append fontset.
+ *
+ * @param fonts The fontset to append.
+ *
+ * This function sets the edje append fontset.
+ *
+ */
+EAPI void              edje_fontset_append_set         (const char *fonts);
+
+/**
+ * Get data from the file level data block of an edje file
+ * @param file The path to the .edj file
+ * @param key The data key
+ * @return The string value of the data. Must be freed by the user when no
+ * longer needed.
+ *
+ * If an edje file is built from the following edc:
+ *
+ * data {
+ *   item: "key1" "value1";
+ *   item: "key2" "value2";
+ * }
+ * collections { ... }
+ *
+ * Then, edje_file_data_get("key1") will return "value1"
+ */
+EAPI char        *edje_file_data_get              (const char *file, const char *key);
+
+/**
+ * @brief Load a new module in Edje.
+ * @param module The name of the module that will be added to Edje.
+ * @return EINA_TRUE if if the module was successfully loaded. Otherwise, EINA_FALSE.
+ *
+ * Modules are used to add functionality to Edje.
+ * So, when a module is loaded, its functionality should be available for use.
+ *
+ */
+EAPI Eina_Bool               edje_module_load                (const char *module);
+
+/**
+ * @brief Retrieves all modules that can be loaded.
+ * @return A list of all loadable modules.
+ *
+ * This function retrieves all modules that can be loaded by edje_module_load().
+ *
+ * @see edje_module_load().
+ *
+ */
+EAPI const Eina_List        *edje_available_modules_get      (void);
+
+/**
+ * @brief Get the edje append fontset.
+ *
+ * @return The edje append fontset.
+ *
+ * This function returns the edje append fontset set by
+ * edje_fontset_append_set() function.
+ *
+ * @see edje_fontset_append_set().
+ *
+ */
+EAPI const char                *edje_fontset_append_get        (void);
+
+/**
+ * @brief Set the file cache size.
+ *
+ * @param count The file cache size in edje file units. Default is 16.
+ *
+ * This function sets the file cache size. Edje keeps this cache in
+ * order to prevent duplicates of edje file entries in memory. The
+ * file cache size can be retrieved with edje_file_cache_get().
+ *
+ * @see edje_file_cache_get()
+ * @see edje_file_cache_flush()
+ *
+ */
+EAPI void         edje_file_cache_set             (int count);
+
+/**
+ * @brief Return the file cache size.
+ *
+ * @return The file cache size in edje file units. Default is 16.
+ *
+ * This function returns the file cache size set by
+ * edje_file_cache_set().
+ *
+ * @see edje_file_cache_set()
+ * @see edje_file_cache_flush()
+ *
+ */
+EAPI int          edje_file_cache_get             (void);
+
+/**
+ * @brief Clean the file cache.
+ *
+ * This function cleans the file cache entries, but keeps this cache's
+ * size to the last value set.
+ *
+ * @see edje_file_cache_set()
+ * @see edje_file_cache_get()
+ *
+ */
+EAPI void         edje_file_cache_flush           (void);
+
+/**
+ * @brief Set the collection cache size.
+ *
+ * @param count The collection cache size, in edje object units. Default is 16.
+ *
+ * This function sets the collection cache size. Edje keeps this cache
+ * in order to prevent duplicates of edje {collection,group,part}
+ * entries in memory. The collection cache size can be retrieved with
+ * edje_collection_cache_get().
+ *
+ * @see edje_collection_cache_get()
+ * @see edje_collection_cache_flush()
+ *
+ */
+EAPI void         edje_collection_cache_set       (int count);
+
+/**
+ * @brief Return the collection cache size.
+ *
+ * @return The collection cache size, in edje object units. Default is 16.
+ *
+ * This function returns the collection cache size set by
+ * edje_collection_cache_set().
+ *
+ * @see edje_collection_cache_set()
+ * @see edje_collection_cache_flush()
+ *
+ */
+EAPI int          edje_collection_cache_get       (void);
+
+/**
+ * @brief Clean the collection cache.
+ *
+ * This function cleans the collection cache, but keeps this cache's
+ * size to the last value set.
+ *
+ * @see edje_collection_cache_set()
+ * @see edje_collection_cache_get()
+ *
+ */
+EAPI void         edje_collection_cache_flush     (void);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_External_Group Edje External
+ *
+ * @brief This group discusses functions of the external section of Edje.
+ *
+ * The programmer can create new types for parts, that will be called generically
+ * EXTERNALS as they are not native of Edje. The developer must also create
+ * plugins that will define the meaning of each extra properties carried by
+ * these parts of type EXTERNAL.
+ *
+ * As long as there are new types properly registered with the plugins created,
+ * the user can use the parts of type EXTERNAL as all the parts of native types.
+ *
+ * @{
+ */
+
+/**
+ * The possible types the parameters of an EXTERNAL part can be.
+ */
+typedef enum _Edje_External_Param_Type
+{
+   EDJE_EXTERNAL_PARAM_TYPE_INT, /**< Parameter value is an integer. */
+   EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, /**< Parameter value is a double. */
+   EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Parameter value is a string. */
+   EDJE_EXTERNAL_PARAM_TYPE_BOOL, /**< Parameter value is boolean. */
+   EDJE_EXTERNAL_PARAM_TYPE_CHOICE, /**< Parameter value is one of a set of
+                                      predefined string choices. */
+   EDJE_EXTERNAL_PARAM_TYPE_MAX /**< Sentinel. Don't use. */
+} Edje_External_Param_Type;
+
+/**
+ * Flags that determine how a parameter may be accessed in different
+ * circumstances.
+ */
+typedef enum _Edje_External_Param_Flags
+{
+   EDJE_EXTERNAL_PARAM_FLAGS_NONE        = 0, /**< Property is incapable of operations, this is used to catch bogus flags. */
+   EDJE_EXTERNAL_PARAM_FLAGS_GET         = (1 << 0), /**< Property can be read/get. */
+   EDJE_EXTERNAL_PARAM_FLAGS_SET         = (1 << 1), /**< Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */
+   EDJE_EXTERNAL_PARAM_FLAGS_STATE       = (1 << 2), /**< Property can be set from state description. */
+   EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), /**< This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */
+   EDJE_EXTERNAL_PARAM_FLAGS_REGULAR     = (EDJE_EXTERNAL_PARAM_FLAGS_GET |
+                                            EDJE_EXTERNAL_PARAM_FLAGS_SET |
+                                            EDJE_EXTERNAL_PARAM_FLAGS_STATE) /**< Convenience flag that sets property as GET, SET and STATE. */
+} Edje_External_Param_Flags;
+
+/**
+ * @brief Converts type identifier to string nicer representation.
+ *
+ * This may be used to debug or other informational purposes.
+ *
+ * @param type the identifier to convert.
+ * @return the string with the string representation, or @c "(unknown)".
+ */
+EAPI const char *edje_external_param_type_str(Edje_External_Param_Type type) EINA_PURE;
+
+/**
+ * Struct that holds parameters for parts of type EXTERNAL.
+ */
+struct _Edje_External_Param
+{
+   const char               *name; /**< The name of the parameter. */
+   Edje_External_Param_Type  type; /**< The type of the parameter. This defines
+                                     which of the next three variables holds
+                                     the value for it. */
+   // XXX these could be in a union, but eet doesn't support them (or does it?)
+   int                       i; /**< Used by both integer and boolean */
+   double                    d; /**< Used by double */
+   const char               *s; /**< Used by both string and choice */
+};
+/**
+ * Struct that holds parameters for parts of type EXTERNAL.
+ */
+typedef struct _Edje_External_Param Edje_External_Param;
+
+/**
+ * Helper macro to indicate an EXTERNAL's integer parameter is undefined.
+ */
+#define EDJE_EXTERNAL_INT_UNSET INT_MAX
+/**
+ * Helper macro to indicate an EXTERNAL's double parameter is undefined.
+ */
+#define EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX
+
+/**
+ * Struct holding information about an EXTERNAL part's parameters.
+ *
+ * When creating types to use with EXTERNAL parts, an array of this type is
+ * used to describe the different parameters the object uses.
+ *
+ * This struct holds the name, type and flags that define how and when the
+ * parameter is used, as well as information specific to each type, like the
+ * maximum or minimum value, that can be used by editors to restrict the
+ * range of values to set for each parameter.
+ */
+typedef struct _Edje_External_Param_Info Edje_External_Param_Info;
+
+/**
+ * Struct holding information about an EXTERNAL part's parameters.
+ *
+ * When creating types to use with EXTERNAL parts, an array of this type is
+ * used to describe the different parameters the object uses.
+ *
+ * This struct holds the name, type and flags that define how and when the
+ * parameter is used, as well as information specific to each type, like the
+ * maximum or minimum value, that can be used by editors to restrict the
+ * range of values to set for each parameter.
+ */
+struct _Edje_External_Param_Info
+{
+   const char               *name; /**< Name of the parameter. */
+   Edje_External_Param_Type  type; /**< Type of the parameter. */
+   Edje_External_Param_Flags flags; /**< Flags indicating how this parameter is
+                                      used. */
+   union {
+      struct {
+         int                 def, /**< Default value for the parameter. */
+                             min, /**< Minimum value it can have. */
+                             max, /**< Maximum value it can have. */
+                             step; /**< Values will be a multiple of this. */
+      } i; /**< Info about integer type parameters. Use #EDJE_EXTERNAL_INT_UNSET
+             on any of them to indicate they are not defined.*/
+      struct {
+         double              def, /**< Default value for the parameter. */
+                             min, /**< Minimum value it can have. */
+                             max, /**< Maximum value it can have. */
+                             step; /**< Values will be a multiple of this. */
+      } d; /**< Info about double type parameters. Use
+#EDJE_EXTERNAL_DOUBLE_UNSET on any of them to indicate they are not defined.*/
+      struct {
+         const char         *def; /**< Default value. */
+         const char         *accept_fmt; /**< Not implemented. */
+         const char         *deny_fmt; /**< Not implemented */
+      } s; /**< Info about string type parameters. NULL indicates undefined. */
+      struct {
+         int                 def; /**< Default value. */
+         const char         *false_str; /**< String shown by editors to indicate the false state. */
+         const char         *true_str; /**< String shown by editors to indicate the true state. */
+      } b; /**< Info about boolean type parameters.*/
+      struct {
+         const char         *def; /**< Default value. */
+         const char        **choices; /* Array of strings, each represents a
+                                         valid value for this parameter. The
+                                         last element of the array must be
+                                         NULL. */
+         char               *(*def_get)(void *data, const Edje_External_Param_Info *info); /** return malloc() memory with the default choice, should be used if def is NULL. First parameter is Edje_External_Type::data */
+         char              **(*query)(void *data, const Edje_External_Param_Info *info); /** NULL terminated array of strings, memory is dynamically allocated and should be freed with free() for array and each element. First parameter is Edje_External_Type::data */
+      } c; /**< Info about choice type parameters. */
+   } info;
+};
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}}
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}}
+#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}}
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}}
+#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}}
+#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) \
+  {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}}
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \
+  EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \
+  EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \
+  EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \
+  EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \
+  EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) \
+  EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \
+   EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET)
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \
+   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET)
+#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \
+   EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL)
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \
+   EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true")
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags)    \
+  EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) \
+  EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) \
+  EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags)   \
+  EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags)
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT(name) \
+   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0)
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \
+   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0)
+#define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \
+   EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL)
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \
+   EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0)
+
+#define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) \
+   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) \
+   EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) \
+   EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags)
+#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) \
+   EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags)
+
+#define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}}
+
+#define EDJE_EXTERNAL_TYPE_ABI_VERSION (3)
+
+/**
+ * @struct _Edje_External_Type
+ *
+ * @brief Information about an external type to be used.
+ *
+ * This structure provides information on how to display and modify a
+ * third party Evas_Object in Edje.
+ *
+ * Some function pointers are not really used by Edje, but provide
+ * means for Edje users to better interact with such objects. For
+ * instance, an editor may use label_get() and icon_get() to list all
+ * registered external types.
+ *
+ * @note The function pointers provided in this structure must check
+ *       for errors and invalid or out-of-range values as for
+ *       performance reasons Edje will not enforce hints provided as
+ *       #Edje_External_Param_Info in the member parameters_info.
+ */
+struct _Edje_External_Type
+{
+  unsigned int  abi_version; /**< always use:
+                              *  - #EDJE_EXTERNAL_TYPE_ABI_VERSION to declare.
+                              *  - edje_external_type_abi_version_get() to check.
+                              */
+  const char    *module; /**< Name of the module that holds these definitions,
+                           as used in the externals {} block of a theme
+                           definition. */
+  const char    *module_name; /**< Canonical name of the module, for displaying
+                                in edition programs, for example. */
+  Evas_Object *(*add) (void *data, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name); /**< Creates the object to be used by Edje as the part. @p part_name is the name of the part that holds the object and can be used to forward callbacks from the object as signals from Edje. @p params is the list of #Edje_External_Param, not parsed, from the default state of the part. Parameters of type #EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR should be set on
+ the object here. */
+  void         (*state_set) (void *data, Evas_Object *obj, const void *from_params, const void *to_params, float pos); /**< Called upon state changes, including the initial "default" 0.0 state. Parameters are the value returned by params_parse(). The @p pos parameter is a value between 0.0 and 1.0 indicating the position in time within the state transition. */
+  void         (*signal_emit) (void *data, Evas_Object *obj, const char *emission, const char *source); /**< Feed a signal emitted with emission originally set as part_name:signal to this object (without the "part_name:" prefix) */
+  Eina_Bool    (*param_set) (void *data, Evas_Object *obj, const Edje_External_Param *param); /**< Dynamically change a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success */
+  Eina_Bool    (*param_get) (void *data, const Evas_Object *obj, Edje_External_Param *param); /**< Dynamically fetch a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success. (Must check parameter name and type!) */
+  Evas_Object *(*content_get) (void *data, const Evas_Object *obj, const char *content); /**< Dynamically fetch a sub object of this external, called by scripts and user code. Returns @c Evas_Object * on success. (Must check parameter name and type!) */
+  void        *(*params_parse) (void *data, Evas_Object *obj, const Eina_List *params); /**< Parses the list of parameters, converting into a friendly representation. Used with state_set() */
+  void         (*params_free) (void *params); /**< Free parameters parsed with params_parse() */
+
+  /* The following callbacks aren't used by Edje itself, but by UI design
+     tools instead */
+  const char  *(*label_get) (void *data); /**< Get a label to use to identify this EXTERNAL. (For editors) */
+  const char  *(*description_get) (void *data); /**< Get a user friendly description of this EXTERNAL. (For editors) */
+  Evas_Object *(*icon_add) (void *data, Evas *e); /**< Get an icon to use to identify this EXTERNAL. (For editors) */
+  Evas_Object *(*preview_add) (void *data, Evas *e); /**< Get a preview of the EXTERNAL object in use. (For editors) */
+  const char  *(*translate) (void *data, const char *orig); /**< called to translate parameters_info name properties for use in user interfaces that support internationalization (i18n) (For editors) */
+
+  Edje_External_Param_Info *parameters_info; /**< An array of #Edje_External_Param_Info describing the different parameters this EXTERNAL may have. The last element in the array must be #EDJE_EXTERNAL_PARAM_INFO_SENTINEL. */
+  void                     *data; /**< Private user data that will be passed to all of the class functions. */
+};
+typedef struct _Edje_External_Type Edje_External_Type;
+
+/**
+ * Convenience struct used to mass-register types of EXTERNAL objects.
+ *
+ * Used with edje_external_type_array_register().
+ */
+struct _Edje_External_Type_Info
+{
+   const char               *name; /**< The name of the type to register. */
+   const Edje_External_Type *info; /**< The type definition. */
+};
+
+typedef struct _Edje_External_Type_Info Edje_External_Type_Info;
+
+/**
+ * @}
+ */
+
+#define EDJE_OBJ_CLASS edje_object_class_get()
+
+const Eo_Class *edje_object_class_get(void) EINA_CONST;
+
+extern EAPI Eo_Op EDJE_OBJ_BASE_ID;
+
+enum
+{
+   EDJE_OBJ_SUB_ID_SCALE_SET,
+   EDJE_OBJ_SUB_ID_SCALE_GET,
+   EDJE_OBJ_SUB_ID_MIRRORED_GET,
+   EDJE_OBJ_SUB_ID_MIRRORED_SET,
+   EDJE_OBJ_SUB_ID_DATA_GET,
+   EDJE_OBJ_SUB_ID_FREEZE,
+   EDJE_OBJ_SUB_ID_THAW,
+   EDJE_OBJ_SUB_ID_COLOR_CLASS_SET,
+   EDJE_OBJ_SUB_ID_COLOR_CLASS_GET,
+   EDJE_OBJ_SUB_ID_TEXT_CLASS_SET,
+   EDJE_OBJ_SUB_ID_PART_EXISTS,
+   EDJE_OBJ_SUB_ID_PART_OBJECT_GET,
+   EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET,
+   EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET,
+   EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH,
+   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP,
+   EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INSERT,
+   EDJE_OBJ_SUB_ID_PART_TEXT_APPEND,
+   EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN,
+   EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND,
+   EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET,
+   EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET,
+   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD,
+   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL,
+   EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL,
+   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD,
+   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL,
+   EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL,
+   EDJE_OBJ_SUB_ID_PART_SWALLOW,
+   EDJE_OBJ_SUB_ID_PART_UNSWALLOW,
+   EDJE_OBJ_SUB_ID_PART_SWALLOW_GET,
+   EDJE_OBJ_SUB_ID_SIZE_MIN_GET,
+   EDJE_OBJ_SUB_ID_SIZE_MAX_GET,
+   EDJE_OBJ_SUB_ID_CALC_FORCE,
+   EDJE_OBJ_SUB_ID_SIZE_MIN_CALC,
+   EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC,
+   EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC,
+   EDJE_OBJ_SUB_ID_PART_STATE_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET,
+   EDJE_OBJ_SUB_ID_PART_DRAG_STEP,
+   EDJE_OBJ_SUB_ID_PART_DRAG_PAGE,
+   EDJE_OBJ_SUB_ID_PART_BOX_APPEND,
+   EDJE_OBJ_SUB_ID_PART_BOX_PREPEND,
+   EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE,
+   EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT,
+   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE,
+   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT,
+   EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL,
+   EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET,
+   EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET,
+   EDJE_OBJ_SUB_ID_PART_TABLE_PACK,
+   EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK,
+   EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET,
+   EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR,
+   EDJE_OBJ_SUB_ID_PERSPECTIVE_SET,
+   EDJE_OBJ_SUB_ID_PERSPECTIVE_GET,
+   EDJE_OBJ_SUB_ID_PRELOAD,
+   EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET,
+   EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET,
+
+   EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET,
+   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET,
+   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET,
+   EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET,
+   EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET,
+
+   EDJE_OBJ_SUB_ID_FILE_SET,
+   EDJE_OBJ_SUB_ID_FILE_GET,
+   EDJE_OBJ_SUB_ID_LOAD_ERROR_GET,
+
+   EDJE_OBJ_SUB_ID_MESSAGE_SEND,
+   EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET,
+   EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS,
+
+   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD,
+   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL,
+   EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL,
+   EDJE_OBJ_SUB_ID_SIGNAL_EMIT,
+   EDJE_OBJ_SUB_ID_PLAY_SET,
+   EDJE_OBJ_SUB_ID_PLAY_GET,
+   EDJE_OBJ_SUB_ID_ANIMATION_SET,
+   EDJE_OBJ_SUB_ID_ANIMATION_GET,
+
+   EDJE_OBJ_SUB_ID_LAST
+};
+
+#define EDJE_OBJ_ID(sub_id) (EDJE_OBJ_BASE_ID + sub_id)
+
+
+/**
+ * @def edje_obj_scale_set
+ * @since 1.8
+ *
+ * @brief Set the scaling factor for a given Edje object.
+ *
+ * @param[in] scale
+ * @param[out] ret
+ *
+ * @see edje_object_scale_set
+ */
+#define edje_obj_scale_set(scale, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_SET), EO_TYPECHECK(double, scale), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_scale_get
+ * @since 1.8
+ *
+ * @brief Get a given Edje object's scaling factor.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_scale_get
+ */
+#define edje_obj_scale_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_GET), EO_TYPECHECK(double *, ret)
+
+/**
+ * @def edje_obj_mirrored_get
+ * @since 1.8
+ *
+ * @brief Get the RTL orientation for this object.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_mirrored_get
+ */
+#define edje_obj_mirrored_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_GET), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_mirrored_set
+ * @since 1.8
+ *
+ * @brief Set the RTL orientation for this object.
+ *
+ * @param[in] rtl
+ *
+ * @see edje_object_mirrored_set
+ */
+#define edje_obj_mirrored_set(rtl) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, rtl)
+
+/**
+ * @def edje_obj_data_get
+ * @since 1.8
+ *
+ * @brief Retrieve an <b>EDC data field's value</b> from a given Edje.
+ *
+ * @param[in] key
+ * @param[out] ret
+ *
+ * @see edje_object_data_get
+ */
+#define edje_obj_data_get(key, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_DATA_GET), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char **, ret)
+
+/**
+ * @def edje_obj_freeze
+ * @since 1.8
+ *
+ * @brief Freezes the Edje object.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_freeze
+ */
+#define edje_obj_freeze(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FREEZE), EO_TYPECHECK(int *, ret)
+
+/**
+ * @def edje_obj_thaw
+ * @since 1.8
+ *
+ * @brief Thaws the Edje object.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_thaw
+ */
+#define edje_obj_thaw(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_THAW), EO_TYPECHECK(int *, ret)
+
+/**
+ * @def edje_obj_color_class_set
+ * @since 1.8
+ *
+ * @brief Sets the object color class.
+ *
+ * @param[in] color_class
+ * @param[in] r
+ * @param[in] g
+ * @param[in] b
+ * @param[in] a
+ * @param[in] r2
+ * @param[in] g2
+ * @param[in] b2
+ * @param[in] a2
+ * @param[in] r3
+ * @param[in] g3
+ * @param[in] b3
+ * @param[in] a3
+ * @param[out] ret
+ *
+ * @see edje_object_color_class_set
+ */
+#define edje_obj_color_class_set(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int, r), EO_TYPECHECK(int, g), EO_TYPECHECK(int, b), EO_TYPECHECK(int, a), EO_TYPECHECK(int, r2), EO_TYPECHECK(int, g2), EO_TYPECHECK(int, b2), EO_TYPECHECK(int, a2), EO_TYPECHECK(int, r3), EO_TYPECHECK(int, g3), EO_TYPECHECK(int, b3), EO_TYPECHECK(int, a3), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_color_class_get
+ * @since 1.8
+ *
+ * @brief Gets the object color class.
+ *
+ * @param[in] color_class
+ * @param[out] r
+ * @param[out] g
+ * @param[out] b
+ * @param[out] a
+ * @param[out] r2
+ * @param[out] g2
+ * @param[out] b2
+ * @param[out] a2
+ * @param[out] r3
+ * @param[out] g3
+ * @param[out] b3
+ * @param[out] a3
+ * @param[out] ret
+ *
+ * @see edje_object_color_class_get
+ */
+#define edje_obj_color_class_get(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int *, r), EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b), EO_TYPECHECK(int *, a), EO_TYPECHECK(int *, r2), EO_TYPECHECK(int *, g2), EO_TYPECHECK(int *, b2), EO_TYPECHECK(int *, a2), EO_TYPECHECK(int *, r3), EO_TYPECHECK(int *, g3), EO_TYPECHECK(int *, b3), EO_TYPECHECK(int *, a3), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_text_class_set
+ * @since 1.8
+ *
+ * @brief Sets Edje text class.
+ *
+ * @param[in] text_class
+ * @param[in] font
+ * @param[in] size
+ * @param[out] ret
+ *
+ * @see edje_object_text_class_set
+ */
+#define edje_obj_text_class_set(text_class, font, size, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET), EO_TYPECHECK(const char *, text_class), EO_TYPECHECK(const char *, font), EO_TYPECHECK(Evas_Font_Size, size), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_exists
+ * @since 1.8
+ *
+ * @brief Check if an Edje part exists in a given Edje object's group
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_exists
+ */
+#define edje_obj_part_exists(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXISTS), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_object_get
+ * @since 1.8
+ *
+ * @brief Get a handle to the Evas object implementing a given Edje
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_object_get
+ */
+#define edje_obj_part_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_geometry_get
+ * @since 1.8
+ *
+ * @brief Retrieve the geometry of a given Edje part, in a given Edje
+ *
+ * @param[in] part
+ * @param[out] x
+ * @param[out] y
+ * @param[out] w
+ * @param[out] h
+ * @param[out] ret
+ *
+ * @see edje_object_part_geometry_get
+ */
+#define edje_obj_part_geometry_get(part, x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_item_provider_set
+ * @since 1.8
+ *
+ * @brief Set the function that provides item objects for named items in an edje entry text
+ *
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_item_provider_set
+ */
+#define edje_obj_item_provider_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET), EO_TYPECHECK(Edje_Item_Provider_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_text_change_cb_set
+ * @since 1.8
+ *
+ * @brief Set the object text callback.
+ *
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_text_change_cb_set
+ */
+#define edje_obj_text_change_cb_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET), EO_TYPECHECK(Edje_Text_Change_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_part_text_style_user_push
+ * @since 1.8
+ *
+ * @brief Set the style of the part.
+ *
+ * @param[in] part
+ * @param[in] style
+ *
+ * @see edje_object_part_text_style_user_push
+ */
+#define edje_obj_part_text_style_user_push(part, style) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, style)
+
+/**
+ * @def edje_obj_part_text_style_user_pop
+ * @since 1.8
+ *
+ * @brief Delete the top style form the user style stack.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_style_user_pop
+ */
+#define edje_obj_part_text_style_user_pop(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_style_user_peek
+ * @since 1.8
+ *
+ * @brief Return the text of the object part.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_style_user_peek
+ */
+#define edje_obj_part_text_style_user_peek(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
+
+/**
+ * @def edje_obj_part_text_set
+ * @since 1.8
+ *
+ * @brief Sets the text for an object part
+ *
+ * @param[in] part
+ * @param[in] text
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_set
+ */
+#define edje_obj_part_text_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_get
+ * @since 1.8
+ *
+ * @brief Return the text of the object part.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_get
+ */
+#define edje_obj_part_text_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
+
+/**
+ * @def edje_obj_part_text_escaped_set
+ * @since 1.8
+ *
+ * @brief Sets the text for an object part, but converts HTML escapes to UTF8
+ *
+ * @param[in] part
+ * @param[in] text
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_escaped_set
+ */
+#define edje_obj_part_text_escaped_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_unescaped_set
+ * @since 1.8
+ *
+ * @brief Sets the raw (non escaped) text for an object part.
+ *
+ * @param[in] part
+ * @param[in] text_to_escape
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_unescaped_set
+ */
+#define edje_obj_part_text_unescaped_set(part, text_to_escape, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text_to_escape), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_unescaped_get
+ * @since 1.8
+ *
+ * @brief Returns the text of the object part, without escaping.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_unescaped_get
+ */
+#define edje_obj_part_text_unescaped_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(char **, ret)
+
+/**
+ * @def edje_obj_part_text_selection_get
+ * @since 1.8
+ *
+ * @brief Return the selection text of the object part.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_selection_get
+ */
+#define edje_obj_part_text_selection_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
+
+/**
+ * @def edje_obj_part_text_select_none
+ * @since 1.8
+ *
+ * @brief Set the selection to be none.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_select_none
+ */
+#define edje_obj_part_text_select_none(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_select_all
+ * @since 1.8
+ *
+ * @brief Set the selection to be everything.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_select_all
+ */
+#define edje_obj_part_text_select_all(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_insert
+ * @since 1.8
+ *
+ * @brief Insert text for an object part.
+ *
+ * @param[in] part
+ * @param[in] text
+ *
+ * @see edje_object_part_text_insert
+ */
+#define edje_obj_part_text_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
+
+/**
+ * @def edje_obj_part_text_append
+ * @since 1.8
+ *
+ * @brief Insert text for an object part.
+ *
+ * @param[in] part
+ * @param[in] text
+ *
+ * @see edje_object_part_text_append
+ */
+#define edje_obj_part_text_append(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
+
+/**
+ * @def edje_obj_part_text_anchor_list_get
+ * @since 1.8
+ *
+ * @brief Return a list of char anchor names.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_anchor_list_get
+ */
+#define edje_obj_part_text_anchor_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
+
+/**
+ * @def edje_obj_part_text_anchor_geometry_get
+ * @since 1.8
+ *
+ * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
+ *
+ * @param[in] part
+ * @param[in] anchor
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_anchor_geometry_get
+ */
+#define edje_obj_part_text_anchor_geometry_get(part, anchor, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, anchor), EO_TYPECHECK(const Eina_List **, ret)
+
+/**
+ * @def edje_obj_part_text_item_list_get
+ * @since 1.8
+ *
+ * @brief Return a list of char item names.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_item_list_get
+ */
+#define edje_obj_part_text_item_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
+
+/**
+ * @def edje_obj_part_text_item_geometry_get
+ * @since 1.8
+ *
+ * @brief Return item geometry.
+ *
+ * @param[in] part
+ * @param[in] item
+ * @param[out] cx
+ * @param[out] cy
+ * @param[out] cw
+ * @param[out] ch
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_item_geometry_get
+ */
+#define edje_obj_part_text_item_geometry_get(part, item, cx, cy, cw, ch, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, item), EO_TYPECHECK(Evas_Coord *, cx), EO_TYPECHECK(Evas_Coord *, cy), EO_TYPECHECK(Evas_Coord *, cw), EO_TYPECHECK(Evas_Coord *, ch), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_geometry_get
+ * @since 1.8
+ *
+ * @brief Returns the cursor geometry of the part relative to the edje
+ *
+ * @param[in] part
+ * @param[out] x
+ * @param[out] y
+ * @param[out] w
+ * @param[out] h
+ *
+ * @see edje_object_part_text_cursor_geometry_get
+ */
+#define edje_obj_part_text_cursor_geometry_get(part, x, y, w, h) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
+
+/**
+ * @def edje_obj_part_text_user_insert
+ * @since 1.8
+ *
+ * @brief This function inserts text as if the user has inserted it.
+ *
+ * @param[in] part
+ * @param[in] text
+ *
+ * @see edje_object_part_text_user_insert
+ */
+#define edje_obj_part_text_user_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
+
+/**
+ * @def edje_obj_part_text_select_allow_set
+ * @since 1.8
+ *
+ * @brief Enables selection if the entry is an EXPLICIT selection mode
+ *
+ * @param[in] part
+ * @param[in] allow
+ *
+ * @see edje_object_part_text_select_allow_set
+ */
+#define edje_obj_part_text_select_allow_set(part, allow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, allow)
+
+/**
+ * @def edje_obj_part_text_select_abort
+ * @since 1.8
+ *
+ * @brief Aborts any selection action on a part.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_select_abort
+ */
+#define edje_obj_part_text_select_abort(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_select_begin
+ * @since 1.8
+ *
+ * @brief Starts selecting at current cursor position
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_select_begin
+ */
+#define edje_obj_part_text_select_begin(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_select_extend
+ * @since 1.8
+ *
+ * @brief Extends the current selection to the current cursor position
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_select_extend
+ */
+#define edje_obj_part_text_select_extend(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_imf_context_get
+ * @since 1.8
+ *
+ * @brief Get the input method context in entry.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_imf_context_get
+ */
+#define edje_obj_part_text_imf_context_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_next
+ * @since 1.8
+ *
+ * @brief Advances the cursor to the next cursor position.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_next
+ */
+#define edje_obj_part_text_cursor_next(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_prev
+ * @since 1.8
+ *
+ * @brief Moves the cursor to the previous char
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_prev
+ */
+#define edje_obj_part_text_cursor_prev(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_up
+ * @since 1.8
+ *
+ * @brief Move the cursor to the char above the current cursor position.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_up
+ */
+#define edje_obj_part_text_cursor_up(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_down
+ * @since 1.8
+ *
+ * @brief Moves the cursor to the char below the current cursor position.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_down
+ */
+#define edje_obj_part_text_cursor_down(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_begin_set
+ * @since 1.8
+ *
+ * @brief Moves the cursor to the beginning of the text part
+ *
+ * @param[in] part
+ * @param[in] cur
+ *
+ * @see edje_object_part_text_cursor_begin_set
+ */
+#define edje_obj_part_text_cursor_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
+
+/**
+ * @def edje_obj_part_text_cursor_end_set
+ * @since 1.8
+ *
+ * @brief Moves the cursor to the end of the text part.
+ *
+ * @param[in] part
+ * @param[in] cur
+ *
+ * @see edje_object_part_text_cursor_end_set
+ */
+#define edje_obj_part_text_cursor_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
+
+/**
+ * @def edje_obj_part_text_cursor_copy
+ * @since 1.8
+ *
+ * @brief Copy the cursor to another cursor.
+ *
+ * @param[in] part
+ * @param[in] src
+ * @param[in] dst
+ *
+ * @see edje_object_part_text_cursor_copy
+ */
+#define edje_obj_part_text_cursor_copy(part, src, dst) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, src), EO_TYPECHECK(Edje_Cursor, dst)
+
+/**
+ * @def edje_obj_part_text_cursor_line_begin_set
+ * @since 1.8
+ *
+ * @brief Move the cursor to the beginning of the line.
+ *
+ * @param[in] part
+ * @param[in] cur
+ *
+ * @see edje_object_part_text_cursor_line_begin_set
+ */
+#define edje_obj_part_text_cursor_line_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
+
+/**
+ * @def edje_obj_part_text_cursor_line_end_set
+ * @since 1.8
+ *
+ * @brief Move the cursor to the end of the line.
+ *
+ * @param[in] part
+ * @param[in] cur
+ *
+ * @see edje_object_part_text_cursor_line_end_set
+ */
+#define edje_obj_part_text_cursor_line_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
+
+/**
+ * @def edje_obj_part_text_cursor_coord_set
+ * @since 1.8
+ *
+ * Position the given cursor to a X,Y position.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[in] x
+ * @param[in] y
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_coord_set
+ */
+#define edje_obj_part_text_cursor_coord_set(part, cur, x, y, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_is_format_get
+ * @since 1.8
+ *
+ * @brief Returns whether the cursor points to a format.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_is_format_get
+ */
+#define edje_obj_part_text_cursor_is_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_is_visible_format_get
+ * @since 1.8
+ *
+ * @brief Return true if the cursor points to a visible format
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_is_visible_format_get
+ */
+#define edje_obj_part_text_cursor_is_visible_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_content_get
+ * @since 1.8
+ *
+ * @brief Returns the content (char) at the cursor position.
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_content_get
+ */
+#define edje_obj_part_text_cursor_content_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(char **, ret)
+
+/**
+ * @def edje_obj_part_text_cursor_pos_set
+ * @since 1.8
+ *
+ * @brief Sets the cursor position to the given value
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[in] pos
+ *
+ * @see edje_object_part_text_cursor_pos_set
+ */
+#define edje_obj_part_text_cursor_pos_set(part, cur, pos) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int, pos)
+
+/**
+ * @def edje_obj_part_text_cursor_pos_get
+ * @since 1.8
+ *
+ * @brief Retrieves the current position of the cursor
+ *
+ * @param[in] part
+ * @param[in] cur
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_cursor_pos_get
+ */
+#define edje_obj_part_text_cursor_pos_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int *, ret)
+
+/**
+ * @def edje_obj_part_text_imf_context_reset
+ * @since 1.8
+ *
+ * @brief Reset the input method context if needed.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_imf_context_reset
+ */
+#define edje_obj_part_text_imf_context_reset(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_input_panel_layout_set
+ * @since 1.8
+ *
+ * @brief Set the layout of the input panel.
+ *
+ * @param[in] part
+ * @param[in] layout
+ *
+ * @see edje_object_part_text_input_panel_layout_set
+ */
+#define edje_obj_part_text_input_panel_layout_set(part, layout) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout, layout)
+
+/**
+ * @def edje_obj_part_text_input_panel_layout_get
+ * @since 1.8
+ *
+ * @brief Get the layout of the input panel.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_layout_get
+ */
+#define edje_obj_part_text_input_panel_layout_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout *, ret)
+
+/**
+ * @def edje_obj_part_text_autocapital_type_set
+ * @since 1.8
+ *
+ * @brief Set the autocapitalization type on the immodule.
+ *
+ * @param[in] part
+ * @param[in] autocapital_type
+ *
+ * @see edje_object_part_text_autocapital_type_set
+ */
+#define edje_obj_part_text_autocapital_type_set(part, autocapital_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type, autocapital_type)
+
+/**
+ * @def edje_obj_part_text_autocapital_type_get
+ * @since 1.8
+ *
+ * @brief Retrieves the autocapitalization type
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_autocapital_type_get
+ */
+#define edje_obj_part_text_autocapital_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type *, ret)
+
+/**
+ * @def edje_obj_part_text_prediction_allow_set
+ * @since 1.8
+ *
+ * @brief Set whether the prediction is allowed or not.
+ *
+ * @param[in] part
+ * @param[in] prediction
+ *
+ * @see edje_object_part_text_prediction_allow_set
+ */
+#define edje_obj_part_text_prediction_allow_set(part, prediction) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, prediction)
+
+/**
+ * @def edje_obj_part_text_prediction_allow_get
+ * @since 1.8
+ *
+ * @brief Get whether the prediction is allowed or not.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_prediction_allow_get
+ */
+#define edje_obj_part_text_prediction_allow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_input_panel_enabled_set
+ * @since 1.8
+ *
+ * @brief Sets the attribute to show the input panel automatically.
+ *
+ * @param[in] part
+ * @param[in] enabled
+ *
+ * @see edje_object_part_text_input_panel_enabled_set
+ */
+#define edje_obj_part_text_input_panel_enabled_set(part, enabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, enabled)
+
+/**
+ * @def edje_obj_part_text_input_panel_enabled_get
+ * @since 1.8
+ *
+ * @brief Retrieve the attribute to show the input panel automatically.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_enabled_get
+ */
+#define edje_obj_part_text_input_panel_enabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_text_input_panel_show
+ * @since 1.8
+ *
+ * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_input_panel_show
+ */
+#define edje_obj_part_text_input_panel_show(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_input_panel_hide
+ * @since 1.8
+ *
+ * @brief Hide the input panel (virtual keyboard).
+ *
+ * @param[in] part
+ *
+ * @see edje_object_part_text_input_panel_hide
+ */
+#define edje_obj_part_text_input_panel_hide(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE), EO_TYPECHECK(const char *, part)
+
+/**
+ * @def edje_obj_part_text_input_panel_language_set
+ * @since 1.8
+ *
+ * Set the language mode of the input panel.
+ *
+ * @param[in] part
+ * @param[in] lang
+ *
+ * @see edje_object_part_text_input_panel_language_set
+ */
+#define edje_obj_part_text_input_panel_language_set(part, lang) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang, lang)
+
+/**
+ * @def edje_obj_part_text_input_panel_language_get
+ * @since 1.8
+ *
+ * Get the language mode of the input panel.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_language_get
+ */
+#define edje_obj_part_text_input_panel_language_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang *, ret)
+
+/**
+ * @def edje_obj_part_text_input_panel_imdata_set
+ * @since 1.8
+ *
+ * Set the input panel-specific data to deliver to the input panel.
+ *
+ * @param[in] part
+ * @param[in] data
+ * @param[in] len
+ *
+ * @see edje_object_part_text_input_panel_imdata_set
+ */
+#define edje_obj_part_text_input_panel_imdata_set(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const void *, data), EO_TYPECHECK(int, len)
+
+/**
+ * @def edje_obj_part_text_input_panel_imdata_get
+ * @since 1.8
+ *
+ * Get the specific data of the current active input panel.
+ *
+ * @param[in] part
+ * @param[in] data
+ * @param[in] len
+ *
+ * @see edje_object_part_text_input_panel_imdata_get
+ */
+#define edje_obj_part_text_input_panel_imdata_get(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void *, data), EO_TYPECHECK(int *, len)
+
+/**
+ * @def edje_obj_part_text_input_panel_return_key_type_set
+ * @since 1.8
+ *
+ * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
+ *
+ * @param[in] part
+ * @param[out] return_key_type
+ *
+ * @see edje_object_part_text_input_panel_return_key_type_set
+ */
+#define edje_obj_part_text_input_panel_return_key_type_set(part, return_key_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type, return_key_type)
+
+/**
+ * @def edje_obj_part_text_input_panel_return_key_type_get
+ * @since 1.8
+ *
+ * Get the "return" key type.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_return_key_type_get
+ */
+#define edje_obj_part_text_input_panel_return_key_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type *, ret)
+
+/**
+ * @def edje_obj_part_text_input_panel_return_key_disabled_set
+ * @since 1.8
+ *
+ * Set the return key on the input panel to be disabled.
+ *
+ * @param[in] part
+ * @param[in] disabled
+ *
+ * @see edje_object_part_text_input_panel_return_key_disabled_set
+ */
+#define edje_obj_part_text_input_panel_return_key_disabled_set(part, disabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, disabled)
+
+/**
+ * @def edje_obj_part_text_input_panel_return_key_disabled_get
+ * @since 1.8
+ *
+ * Get whether the return key on the input panel should be disabled or not.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_return_key_disabled_get
+ */
+#define edje_obj_part_text_input_panel_return_key_disabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_text_insert_filter_callback_add
+ * @since 1.8
+ *
+ * Add a filter function for newly inserted text.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_text_insert_filter_callback_add
+ */
+#define edje_obj_text_insert_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_text_insert_filter_callback_del
+ * @since 1.8
+ *
+ * Delete a function from the filter list.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[out] ret
+ *
+ * @see edje_object_text_insert_filter_callback_del
+ */
+#define edje_obj_text_insert_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_text_insert_filter_callback_del_full
+ * @since 1.8
+ *
+ * Delete a function and matching user data from the filter list.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[in] data
+ * @param[out] ret
+ *
+ * @see edje_object_text_insert_filter_callback_del_full
+ */
+#define edje_obj_text_insert_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_text_markup_filter_callback_add
+ * @since 1.8
+ *
+ * Add a markup filter function for newly inserted text.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_text_markup_filter_callback_add
+ */
+#define edje_obj_text_markup_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_text_markup_filter_callback_del
+ * @since 1.8
+ *
+ * Delete a function from the markup filter list.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[out] ret
+ *
+ * @see edje_object_text_markup_filter_callback_del
+ */
+#define edje_obj_text_markup_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_text_markup_filter_callback_del_full
+ * @since 1.8
+ *
+ * Delete a function and matching user data from the markup filter list.
+ *
+ * @param[in] part
+ * @param[in] func
+ * @param[in] data
+ * @param[out] ret
+ *
+ * @see edje_object_text_markup_filter_callback_del_full
+ */
+#define edje_obj_text_markup_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_part_swallow
+ * @since 1.8
+ *
+ * @brief "Swallows" an object into one of the Edje object SWALLOW
+ *
+ * @param[in] part
+ * @param[in] obj_swallow
+ * @param[out] ret
+ *
+ * @see edje_object_part_swallow
+ */
+#define edje_obj_part_swallow(part, obj_swallow, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, obj_swallow), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_unswallow
+ * @since 1.8
+ *
+ * @brief Unswallow an object.
+ *
+ * @param[in] obj_swallow
+ *
+ * @see edje_object_part_unswallow
+ */
+#define edje_obj_part_unswallow(obj_swallow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_UNSWALLOW), EO_TYPECHECK(Evas_Object *, obj_swallow)
+
+/**
+ * @def edje_obj_part_swallow_get
+ * @since 1.8
+ *
+ * @brief Get the object currently swallowed by a part.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_swallow_get
+ */
+#define edje_obj_part_swallow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_size_min_get
+ * @since 1.8
+ *
+ * @brief Get the minimum size specified -- as an EDC property -- for a
+ * given Edje object
+ *
+ * @param[out] minw
+ * @param[out] minh
+ *
+ * @see edje_object_size_min_get
+ */
+#define edje_obj_size_min_get(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_GET), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
+
+/**
+ * @def edje_obj_size_max_get
+ * @since 1.8
+ *
+ * @brief Get the maximum size specified -- as an EDC property -- for a
+ * given Edje object
+ *
+ * @param[out] maxw
+ * @param[out] maxh
+ *
+ * @see edje_object_size_max_get
+ */
+#define edje_obj_size_max_get(maxw, maxh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MAX_GET), EO_TYPECHECK(Evas_Coord *, maxw), EO_TYPECHECK(Evas_Coord *, maxh)
+
+/**
+ * @def edje_obj_calc_force
+ * @since 1.8
+ *
+ * @brief Force a Size/Geometry calculation.
+ *
+ *
+ * @see edje_object_calc_force
+ */
+#define edje_obj_calc_force() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_CALC_FORCE)
+
+/**
+ * @def edje_obj_size_min_calc
+ * @since 1.8
+ *
+ * @brief Calculate the minimum required size for a given Edje object.
+ *
+ * @param[out] minw
+ * @param[out] minh
+ *
+ * @see edje_object_size_min_calc
+ */
+#define edje_obj_size_min_calc(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
+
+/**
+ * @def edje_obj_parts_extends_calc
+ * @since 1.8
+ *
+ * Calculate the geometry of the region, relative to a given Edje
+ *
+ * @param[out] x
+ * @param[out] y
+ * @param[out] w
+ * @param[out] h
+ * @param[out] ret
+ *
+ * @see edje_object_parts_extends_calc
+ */
+#define edje_obj_parts_extends_calc(x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_size_min_restricted_calc
+ * @since 1.8
+ *
+ * @brief Calculate the minimum required size for a given Edje object.
+ *
+ * @param[out] minw
+ * @param[out] minh
+ * @param[in] restrictedw
+ * @param[in] restrictedh
+ *
+ * @see edje_object_size_min_restricted_calc
+ */
+#define edje_obj_size_min_restricted_calc(minw, minh, restrictedw, restrictedh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh), EO_TYPECHECK(Evas_Coord, restrictedw), EO_TYPECHECK(Evas_Coord, restrictedh)
+
+/**
+ * @def edje_obj_part_state_get
+ * @since 1.8
+ *
+ * @brief Returns the state of the Edje part.
+ *
+ * @param[in] part
+ * @param[out] val_ret
+ * @param[out] ret
+ *
+ * @see edje_object_part_state_get
+ */
+#define edje_obj_part_state_get(part, val_ret, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_STATE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, val_ret), EO_TYPECHECK(const char **, ret)
+
+/**
+ * @def edje_obj_part_drag_dir_get
+ * @since 1.8
+ *
+ * @brief Determine dragable directions.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_dir_get
+ */
+#define edje_obj_part_drag_dir_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Drag_Dir *, ret)
+
+/**
+ * @def edje_obj_part_drag_value_set
+ * @since 1.8
+ *
+ * @brief Set the dragable object location.
+ *
+ * @param[in] part
+ * @param[in] dx
+ * @param[in] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_value_set
+ */
+#define edje_obj_part_drag_value_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_value_get
+ * @since 1.8
+ *
+ * @brief Get the dragable object location.
+ *
+ * @param[in] part
+ * @param[out] dx
+ * @param[out] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_value_get
+ */
+#define edje_obj_part_drag_value_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_size_set
+ * @since 1.8
+ *
+ * @brief Set the dragable object size.
+ *
+ * @param[in] part
+ * @param[in] dw
+ * @param[in] dh
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_size_set
+ */
+#define edje_obj_part_drag_size_set(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dw), EO_TYPECHECK(double, dh), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_size_get
+ * @since 1.8
+ *
+ * @brief Get the dragable object size.
+ *
+ * @param[in] part
+ * @param[out] dw
+ * @param[out] dh
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_size_get
+ */
+#define edje_obj_part_drag_size_get(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dw), EO_TYPECHECK(double *, dh), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_step_set
+ * @since 1.8
+ *
+ * @brief Sets the drag step increment.
+ *
+ * @param[in] part
+ * @param[in] dx
+ * @param[in] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_step_set
+ */
+#define edje_obj_part_drag_step_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_step_get
+ * @since 1.8
+ *
+ * @brief Gets the drag step increment values.
+ *
+ * @param[in] part
+ * @param[out] dx
+ * @param[out] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_step_get
+ */
+#define edje_obj_part_drag_step_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_page_set
+ * @since 1.8
+ *
+ * @brief Sets the page step increments.
+ *
+ * @param[in] part
+ * @param[in] dx
+ * @param[in] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_page_set
+ */
+#define edje_obj_part_drag_page_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_page_get
+ * @since 1.8
+ *
+ * @brief Gets the page step increments.
+ *
+ * @param[in] part
+ * @param[out] dx
+ * @param[out] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_page_get
+ */
+#define edje_obj_part_drag_page_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_step
+ * @since 1.8
+ *
+ * @brief Steps the dragable x,y steps.
+ *
+ * @param[in] part
+ * @param[in] dx
+ * @param[in] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_step
+ */
+#define edje_obj_part_drag_step(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_drag_page
+ * @since 1.8
+ *
+ * @brief Pages x,y steps.
+ *
+ * @param[in] part
+ * @param[in] dx
+ * @param[in] dy
+ * @param[out] ret
+ *
+ * @see edje_object_part_drag_page
+ */
+#define edje_obj_part_drag_page(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_box_append
+ * @since 1.8
+ *
+ * @brief Appends an object to the box.
+ *
+ * @param[in] part
+ * @param[in] child
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_append
+ */
+#define edje_obj_part_box_append(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_box_prepend
+ * @since 1.8
+ *
+ * @brief Prepends an object to the box.
+ *
+ * @param[in] part
+ * @param[in] child
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_prepend
+ */
+#define edje_obj_part_box_prepend(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_box_insert_before
+ * @since 1.8
+ *
+ * @brief Adds an object to the box.
+ *
+ * @param[in] part
+ * @param[in] child
+ * @param[in] reference
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_insert_before
+ */
+#define edje_obj_part_box_insert_before(part, child, reference, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(const Evas_Object *, reference), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_box_insert_at
+ * @since 1.8
+ *
+ * @brief Inserts an object to the box.
+ *
+ * @param[in] part
+ * @param[in] child
+ * @param[in] pos
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_insert_at
+ */
+#define edje_obj_part_box_insert_at(part, child, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_box_remove
+ * @since 1.8
+ *
+ * @brief Removes an object from the box.
+ *
+ * @param[in] part
+ * @param[in] child
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_remove
+ */
+#define edje_obj_part_box_remove(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_box_remove_at
+ * @since 1.8
+ *
+ * @brief Removes an object from the box.
+ *
+ * @param[in] part
+ * @param[in] pos
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_remove_at
+ */
+#define edje_obj_part_box_remove_at(part, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_box_remove_all
+ * @since 1.8
+ *
+ * @brief Removes all elements from the box.
+ *
+ * @param[in] part
+ * @param[in] clear
+ * @param[out] ret
+ *
+ * @see edje_object_part_box_remove_all
+ */
+#define edje_obj_part_box_remove_all(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_access_part_list_get
+ * @since 1.8
+ *
+ * @brief Retrieve a list all accessibility part names
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_access_part_list_get
+ */
+#define edje_obj_access_part_list_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET), EO_TYPECHECK(Eina_List **, ret)
+
+/**
+ * @def edje_obj_part_table_child_get
+ * @since 1.8
+ *
+ * @brief Retrieve a child from a table
+ *
+ * @param[in] part
+ * @param[in] col
+ * @param[in] row
+ * @param[out] ret
+ *
+ * @see edje_object_part_table_child_get
+ */
+#define edje_obj_part_table_child_get(part, col, row, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, col), EO_TYPECHECK(unsigned int, row), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_table_pack
+ * @since 1.8
+ *
+ * @brief Packs an object into the table.
+ *
+ * @param[in] part
+ * @param[in] child_obj
+ * @param[in] col
+ * @param[in] row
+ * @param[in] colspan
+ * @param[in] rowspan
+ * @param[out] ret
+ *
+ * @see edje_object_part_table_pack
+ */
+#define edje_obj_part_table_pack(part, child_obj, col, row, colspan, rowspan, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_PACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_table_unpack
+ * @since 1.8
+ *
+ * @brief Removes an object from the table.
+ *
+ * @param[in] part
+ * @param[in] child_obj
+ * @param[out] ret
+ *
+ * @see edje_object_part_table_unpack
+ */
+#define edje_obj_part_table_unpack(part, child_obj, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_table_col_row_size_get
+ * @since 1.8
+ *
+ * @brief Gets the number of columns and rows the table has.
+ *
+ * @param[in] part
+ * @param[out] cols
+ * @param[out] rows
+ * @param[out] ret
+ *
+ * @see edje_object_part_table_col_row_size_get
+ */
+#define edje_obj_part_table_col_row_size_get(part, cols, rows, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(int *, cols), EO_TYPECHECK(int *, rows), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_table_clear
+ * @since 1.8
+ *
+ * @brief Removes all object from the table.
+ *
+ * @param[in] part
+ * @param[in] clear
+ * @param[out] ret
+ *
+ * @see edje_object_part_table_clear
+ */
+#define edje_obj_part_table_clear(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_perspective_set
+ * @since 1.8
+ *
+ * Set the given perspective object on this Edje object.
+ *
+ * @param[in] ps
+ *
+ * @see edje_object_perspective_set
+ */
+#define edje_obj_perspective_set(ps) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET), EO_TYPECHECK(Edje_Perspective *, ps)
+
+/**
+ * @def edje_obj_perspective_get
+ * @since 1.8
+ *
+ * Get the current perspective used on this Edje object.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_perspective_get
+ */
+#define edje_obj_perspective_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET), EO_TYPECHECK(const Edje_Perspective **, ret)
+
+/**
+ * @def edje_obj_preload
+ * @since 1.8
+ *
+ * @brief Preload the images on the Edje Object in the background.
+ *
+ * @param[in] cancel
+ * @param[out] ret
+ *
+ * @see edje_object_preload
+ */
+#define edje_obj_preload(cancel, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PRELOAD), EO_TYPECHECK(Eina_Bool, cancel), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_update_hints_set
+ * @since 1.8
+ *
+ * @brief Edje will automatically update the size hints on itself.
+ *
+ * @param[in] update
+ *
+ * @see edje_object_update_hints_set
+ */
+#define edje_obj_update_hints_set(update) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET), EO_TYPECHECK(Eina_Bool, update)
+
+/**
+ * @def edje_obj_update_hints_get
+ * @since 1.8
+ *
+ * @brief Wether or not Edje will update size hints on itself.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_update_hints_get
+ */
+#define edje_obj_update_hints_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET), EO_TYPECHECK(Eina_Bool *, ret)
+
+
+/**
+ * @def edje_obj_part_external_object_get
+ * @since 1.8
+ *
+ * @brief Get the object created by this external part.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_external_object_get
+ */
+#define edje_obj_part_external_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_external_param_set
+ * @since 1.8
+ *
+ * @brief Set the parameter for the external part.
+ *
+ * @param[in] part
+ * @param[in] param
+ * @param[out] ret
+ *
+ * @see edje_object_part_external_param_set
+ */
+#define edje_obj_part_external_param_set(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_external_param_get
+ * @since 1.8
+ *
+ * @brief Get the parameter for the external part.
+ *
+ * @param[in] part
+ * @param[out] param
+ * @param[out] ret
+ *
+ * @see edje_object_part_external_param_get
+ */
+#define edje_obj_part_external_param_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_part_external_content_get
+ * @since 1.8
+ *
+ * @brief Get an object contained in an part of type EXTERNAL
+ *
+ * @param[in] part
+ * @param[out] content
+ * @param[out] ret
+ *
+ * @see edje_object_part_external_content_get
+ */
+#define edje_obj_part_external_content_get(part, content, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, content), EO_TYPECHECK(Evas_Object **, ret)
+
+/**
+ * @def edje_obj_part_external_param_type_get
+ * @since 1.8
+ *
+ * Facility to query the type of the given parameter of the given part.
+ *
+ * @param[in] part
+ * @param[out] param
+ * @param[out] ret
+ *
+ * @see edje_object_part_external_param_type_get
+ */
+#define edje_obj_part_external_param_type_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, param), EO_TYPECHECK(Edje_External_Param_Type *, ret)
+
+/**
+ * @def edje_obj_file_set
+ * @since 1.8
+ *
+ * @param[in] file in
+ * @param[in] group in
+ * @param[in] nested in
+ * @param[out] ret out
+ *
+ * @see edje_object_file_set
+ */
+#define edje_obj_file_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), EO_TYPECHECK(const char*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_file_get
+ * @since 1.8
+ *
+ * @brief Get the file and group name that a given Edje object is bound to
+ *
+ * @param[out] file
+ * @param[out] group
+ *
+ * @see edje_object_file_get
+ */
+#define edje_obj_file_get(file, group) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file), EO_TYPECHECK(const char **, group)
+
+/**
+ * @def edje_obj_load_error_get
+ * @since 1.8
+ *
+ * @brief Gets the (last) file loading error for a given Edje object
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_load_error_get
+ */
+#define edje_obj_load_error_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET), EO_TYPECHECK(Edje_Load_Error *, ret)
+
+
+/**
+ * @def edje_obj_message_send
+ * @since 1.8
+ *
+ * @brief Send an (Edje) message to a given Edje object
+ *
+ * @param[in] type
+ * @param[in] id
+ * @param[in] msg
+ *
+ * @see edje_object_message_send
+ */
+#define edje_obj_message_send(type, id, msg) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SEND), EO_TYPECHECK(Edje_Message_Type, type), EO_TYPECHECK(int, id), EO_TYPECHECK(void *, msg)
+
+/**
+ * @def edje_obj_message_handler_set
+ * @since 1.8
+ *
+ * @brief Set an Edje message handler function for a given Edje object.
+ *
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_message_handler_set
+ */
+#define edje_obj_message_handler_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET), EO_TYPECHECK(Edje_Message_Handler_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_message_signal_process
+ * @since 1.8
+ *
+ * @brief Process an object's message queue.
+ *
+ *
+ * @see edje_object_message_signal_process
+ */
+#define edje_obj_message_signal_process() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS)
+
+
+/**
+ * @def edje_obj_signal_callback_add
+ * @since 1.8
+ *
+ * @brief Add a callback for an arriving Edje signal, emitted by
+ * a given Ejde object.
+ *
+ * @param[in] emission
+ * @param[in] source
+ * @param[in] func
+ * @param[in] data
+ *
+ * @see edje_object_signal_callback_add
+ */
+#define edje_obj_signal_callback_add(emission, source, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data)
+
+/**
+ * @def edje_obj_signal_callback_del
+ * @since 1.8
+ *
+ * @brief Remove a signal-triggered callback from an object.
+ *
+ * @param[in] emission
+ * @param[in] source
+ * @param[in] func
+ * @param[out] ret
+ *
+ * @see edje_object_signal_callback_del
+ */
+#define edje_obj_signal_callback_del(emission, source, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_signal_callback_del_full
+ * @since 1.8
+ *
+ * @brief Unregister/delete a callback set for an arriving Edje
+ *
+ * @param[in] emission
+ * @param[in] source
+ * @param[in] func
+ * @param[in] data
+ * @param[out] ret
+ *
+ * @see edje_object_signal_callback_del_full
+ */
+#define edje_obj_signal_callback_del_full(emission, source, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
+
+/**
+ * @def edje_obj_signal_emit
+ * @since 1.8
+ *
+ * @brief Send/emit an Edje signal to a given Edje object
+ *
+ * @param[in] emission
+ * @param[in] source
+ *
+ * @see edje_object_signal_emit
+ */
+#define edje_obj_signal_emit(emission, source) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_EMIT), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source)
+
+/**
+ * @def edje_obj_play_set
+ * @since 1.8
+ *
+ * @brief Set the Edje object to playing or paused states.
+ *
+ * @param[in] play
+ *
+ * @see edje_object_play_set
+ */
+#define edje_obj_play_set(play) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_SET), EO_TYPECHECK(Eina_Bool, play)
+
+/**
+ * @def edje_obj_play_get
+ * @since 1.8
+ *
+ * @brief Get the Edje object's state.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_play_get
+ */
+#define edje_obj_play_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_GET), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def edje_obj_animation_set
+ * @since 1.8
+ *
+ * @brief Set the object's animation state.
+ *
+ * @param[in] on
+ *
+ * @see edje_object_animation_set
+ */
+#define edje_obj_animation_set(on) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_SET), EO_TYPECHECK(Eina_Bool, on)
+
+/**
+ * @def edje_obj_animation_get
+ * @since 1.8
+ *
+ * @brief Get the Edje object's animation state.
+ *
+ * @param[out] ret
+ *
+ * @see edje_object_animation_get
+ */
+#define edje_obj_animation_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_GET), EO_TYPECHECK(Eina_Bool *, ret)
+
+#define EDJE_EDIT_CLASS edje_edit_class_get()
+
+const Eo_Class *edje_edit_class_get(void) EINA_CONST;
+
+/**
+ * @defgroup Edje_External_Part_Group Edje Use of External Parts
+ *
+ * @brief Functions to manipulate parts of type EXTERNAL.
+ *
+ * Edje supports parts of type EXTERNAL, which will call plugins defined by the user
+ * to create and manipulate the object that's allocated in that part.
+ *
+ * Parts of type external may carry extra properties that have meanings defined
+ * by the external plugin. For instance, it may be a string that defines a button
+ * label and setting this property will change that label on the fly.
+ *
+ * @ingroup Edje_External_Group
+ *
+ * @{
+ */
+
+/**
+ * @brief Get the object created by this external part.
+ *
+ * Parts of type external creates the part object using information
+ * provided by external plugins. It's somehow like "swallow"
+ * (edje_object_part_swallow()), but it's all set automatically.
+ *
+ * This function returns the part created by such external plugins and
+ * being currently managed by this Edje.
+ *
+ * @note Almost all swallow rules apply: you should not move, resize,
+ *       hide, show, set the color or clipper of such part. It's a bit
+ *       more restrictive as one must @b never delete this object!
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The externally created object, or NULL if there is none or
+ *         part is not an external.
+ */
+EAPI Evas_Object              *edje_object_part_external_object_get     (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the parameter for the external part.
+ *
+ * Parts of type external may carry extra properties that have
+ * meanings defined by the external plugin. For instance, it may be a
+ * string that defines a button label and setting this property will
+ * change that label on the fly.
+ *
+ * @note external parts have parameters set when they change
+ *       states. Those parameters will never be changed by this
+ *       function. The interpretation of how state_set parameters and
+ *       param_set will interact is up to the external plugin.
+ *
+ * @note this function will not check if parameter value is valid
+ *       using #Edje_External_Param_Info minimum, maximum, valid
+ *       choices and others. However these should be checked by the
+ *       underlying implementation provided by the external
+ *       plugin. This is done for performance reasons.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param param the parameter details, including its name, type and
+ *        actual value. This pointer should be valid, and the
+ *        parameter must exist in
+ *        #Edje_External_Type::parameters_info, with the exact type,
+ *        otherwise the operation will fail and @c EINA_FALSE will be
+ *        returned.
+ *
+ * @return @c EINA_TRUE if everything went fine, @c EINA_FALSE on errors.
+ */
+EAPI Eina_Bool                 edje_object_part_external_param_set      (Evas_Object *obj, const char *part, const Edje_External_Param *param);
+
+/**
+ * @brief Get the parameter for the external part.
+ *
+ * Parts of type external may carry extra properties that have
+ * meanings defined by the external plugin. For instance, it may be a
+ * string that defines a button label. This property can be modified by
+ * state parameters, by explicit calls to
+ * edje_object_part_external_param_set() or getting the actual object
+ * with edje_object_part_external_object_get() and calling native
+ * functions.
+ *
+ * This function asks the external plugin what is the current value,
+ * independent on how it was set.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+
+ * @param param the parameter details. It is used as both input and
+ *        output variable. This pointer should be valid, and the
+ *        parameter must exist in
+ *        #Edje_External_Type::parameters_info, with the exact type,
+ *        otherwise the operation will fail and @c EINA_FALSE will be
+ *        returned.
+ *
+ * @return @c EINA_TRUE if everything went fine and @p param members
+ *         are filled with information, @c EINA_FALSE on errors and @p
+ *         param member values are not set or valid.
+ */
+EAPI Eina_Bool                 edje_object_part_external_param_get      (const Evas_Object *obj, const char *part, Edje_External_Param *param);
+
+/**
+ * @brief Get an object contained in an part of type EXTERNAL
+ *
+ * The @p content string must not be NULL. Its actual value depends on the
+ * code providing the EXTERNAL.
+ *
+ * @param obj The Edje object
+ * @param part The name of the part holding the EXTERNAL
+ * @param content A string identifying which content from the EXTERNAL to get
+ */
+EAPI Evas_Object              *edje_object_part_external_content_get    (const Evas_Object *obj, const char *part, const char *content);
+
+/**
+ * Facility to query the type of the given parameter of the given part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param param the parameter name to use.
+ *
+ * @return @c EDJE_EXTERNAL_PARAM_TYPE_MAX on errors, or another value
+ *         from #Edje_External_Param_Type on success.
+ */
+EAPI Edje_External_Param_Type  edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_External_Plugin_Development_Group Edje Development of External Plugins
+ *
+ * @brief Functions to register, unregister EXTERNAL types and develop the plugins.
+ *
+ * This group dicusses functions useful for the development of new plugins.
+ * These functions deal with the newly EXTERNAL types by registering, unregistering and manipulating them.
+ *
+ * @ingroup Edje_External_Group
+ *
+ * @{
+ */
+
+/**
+ * Register a type to be used by EXTERNAL parts.
+ *
+ * Parts of type EXTERNAL will call user defined functions
+ * to create and manipulate the object that's allocated in that part. This is
+ * done by expecifying in the @c source property of the part the name of the
+ * external to use, which must be one registered with this function.
+ *
+ * @param type_name name to register and be known by edje's "source:"
+ *        parameter of "type: EXTERNAL" parts.
+ * @param type_info meta-information describing how to interact with it.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
+ *         type already registered).
+ *
+ * @see edje_external_type_array_register()
+ */
+EAPI Eina_Bool    edje_external_type_register             (const char *type_name, const Edje_External_Type *type_info);
+
+/**
+ * Unregister a previously registered EXTERNAL type.
+ *
+ * @param type_name name to unregister. It should have been registered with
+ *        edje_external_type_register() before.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
+ *         type_name did not exist).
+ *
+ * @see edje_external_type_array_unregister()
+ */
+EAPI Eina_Bool    edje_external_type_unregister           (const char *type_name);
+
+/**
+ * Register a batch of types and their information.
+ *
+ * When several types will be registered it is recommended to use this
+ * function instead of several calls to edje_external_type_register(), as it
+ * is faster.
+ *
+ * @note The contents of the array will be referenced directly for as long as
+ * the type remains registered, so both the @c name and @c info in the
+ * @p array must be kept alive during all this period (usually, the entire
+ * program lifetime). The most common case would be to keep the array as a
+ * @c static @c const type anyway.
+ *
+ * @param array @c NULL terminated array with type name and
+ *        information. Note that type name or information are
+ *        referenced directly, so they must be kept alive after
+ *        this function returns!
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (like
+ *         type already registered).
+ *
+ * @see edje_external_type_register()
+ */
+EAPI void         edje_external_type_array_register       (const Edje_External_Type_Info *array);
+
+/**
+ * Unregister a batch of given external type previously registered.
+ *
+ * @param array @c NULL terminated array, should be the same as the
+ *        one used to register with edje_external_type_array_register()
+ *
+ * @see edje_external_type_unregister()
+ */
+EAPI void         edje_external_type_array_unregister     (const Edje_External_Type_Info *array);
+
+/**
+ * Return the current ABI version for Edje_External_Type structure.
+ *
+ * Always check this number before accessing Edje_External_Type in
+ * your own software. If the number is not the same, your software may
+ * access invalid memory and crash, or just get garbage values.
+ *
+ * @warning @b NEVER, EVER define your own Edje_External_Type using the
+ *          return of this function as it will change as Edje library
+ *          (libedje.so) changes, but your type definition will
+ *          not. Instead, use #EDJE_EXTERNAL_TYPE_ABI_VERSION.
+ *
+ * Summary:
+ *   - use edje_external_type_abi_version_get() to check.
+ *   - use #EDJE_EXTERNAL_TYPE_ABI_VERSION to define/declare.
+ *
+ * @return The external ABI version the Edje library was compiled with. That
+ * is, the value #EDJE_EXTERNAL_TYPE_ABI_VERSION had at that moment.
+ */
+EAPI unsigned int edje_external_type_abi_version_get      (void) EINA_CONST;
+
+/**
+ * Returns an interator of all the registered EXTERNAL types.
+ *
+ * Each item in the iterator is an @c Eina_Hash_Tuple which has the type
+ * of the external in the @c key and #Edje_External_Type as @c data.
+ *
+ * @code
+ * const Eina_Hash_Tuple *tuple;
+ * Eina_Iterator *itr;
+ * const Eina_List *l, *modules;
+ * const char *s;
+ *
+ * modules = edje_available_modules_get();
+ * EINA_LIST_FOREACH(modules, l, s)
+ *   {
+ *      if (!edje_module_load(s))
+ *        printf("Error loading edje module: %s\n", s);
+ *   }
+ *
+ * itr = edje_external_iterator_get();
+ * EINA_ITERATOR_FOREACH(itr, tuple)
+ *   {
+ *      const char *name = tuple->key;
+ *      const Edje_External_Type *type = tuple->data;
+ *
+ *      if ((!type) ||
+ *          (type->abi_version != edje_external_type_abi_version_get()))
+ *        {
+ *           printf("Error: invalid type %p (abi: %d, expected: %d)\n",
+ *                   type, type ? type->abi_version : 0,
+ *                   edje_external_type_abi_version_get());
+ *           continue;
+ *        }
+ *
+ *      printf("%s: %s (%s) label='%s' desc='%s'\n",
+ *             name, type->module, type->module_name,
+ *             type->label_get ? type->label_get(type->data) : "",
+ *             type->description_get ? type->description_get(type->data) : "");
+ *   }
+ *
+ * @endcode
+ */
+EAPI Eina_Iterator                  *edje_external_iterator_get     (void);
+
+/**
+ * Conevenience function to find a specific parameter in a list of them.
+ *
+ * @param params The list of parameters for the external
+ * @param key The parameter to look for
+ *
+ * @return The matching #Edje_External_Param or NULL if it's not found.
+ */
+EAPI Edje_External_Param            *edje_external_param_find       (const Eina_List *params, const char *key);
+
+/**
+ * Get the value of the given parameter of integer type.
+ *
+ * Look for the @p key parameter in the @p params list and return its value in
+ * @p ret. If the parameter is found and is of type
+ * #EDJE_EXTERNAL_PARAM_TYPE_INT, its value will be stored in the int pointed
+ * by @p ret, returning EINA_TRUE. In any other case, the function returns
+ * EINA_FALSE.
+ *
+ * @param params List of parameters where to look
+ * @param key Name of the parameter to fetch
+ * @param ret Int pointer where to store the value, must not be NULL.
+ *
+ * @return EINA_TRUE if the parameter was found and is of integer type,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool                       edje_external_param_int_get    (const Eina_List *params, const char *key, int *ret);
+
+/**
+ * Get the value of the given parameter of double type.
+ *
+ * Look for the @p key parameter in the @p params list and return its value in
+ * @p ret. If the parameter is found and is of type
+ * #EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, its value will be stored in the double
+ * pointed by @p ret, returning EINA_TRUE. In any other case, the function
+ * returns EINA_FALSE.
+ *
+ * @param params List of parameters where to look
+ * @param key Name of the parameter to fetch
+ * @param ret Double pointer where to store the value, must not be NULL.
+ *
+ * @return EINA_TRUE if the parameter was found and is of double type,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool                       edje_external_param_double_get (const Eina_List *params, const char *key, double *ret);
+
+/**
+ * Get the value of the given parameter of string type.
+ *
+ * Look for the @p key parameter in the @p params list and return its value in
+ * @p ret. If the parameter is found and is of type
+ * #EDJE_EXTERNAL_PARAM_TYPE_STRING, its value will be stored in the pointer
+ * pointed by @p ret, returning EINA_TRUE. In any other case, the function
+ * returns EINA_FALSE.
+ *
+ * The string stored in @p ret must not be freed or modified.
+ *
+ * @param params List of parameters where to look
+ * @param key Name of the parameter to fetch
+ * @param ret String pointer where to store the value, must not be NULL.
+ *
+ * @return EINA_TRUE if the parameter was found and is of string type,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool                       edje_external_param_string_get (const Eina_List *params, const char *key, const char **ret);
+
+/**
+ * Get the value of the given parameter of boolean type.
+ *
+ * Look for the @p key parameter in the @p params list and return its value in
+ * @p ret. If the parameter is found and is of type
+ * #EDJE_EXTERNAL_PARAM_TYPE_BOOL, its value will be stored in the Eina_Bool
+ * pointed by @p ret, returning EINA_TRUE. In any other case, the function
+ * returns EINA_FALSE.
+ *
+ * @param params List of parameters where to look
+ * @param key Name of the parameter to fetch
+ * @param ret Eina_Bool pointer where to store the value, must not be NULL.
+ *
+ * @return EINA_TRUE if the parameter was found and is of boolean type,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool                       edje_external_param_bool_get   (const Eina_List *params, const char *key, Eina_Bool *ret);
+
+/**
+ * Get the value of the given parameter of choice type.
+ *
+ * Look for the @p key parameter in the @p params list and return its value in
+ * @p ret. If the parameter is found and is of type
+ * #EDJE_EXTERNAL_PARAM_TYPE_CHOICE, its value will be stored in the string
+ * pointed by @p ret, returning EINA_TRUE. In any other case, the function
+ * returns EINA_FALSE.
+ *
+ * The string stored in @p ret must not be freed or modified.
+ *
+ * @param params List of parameters where to look
+ * @param key Name of the parameter to fetch
+ * @param ret String pointer where to store the value, must not be NULL.
+ *
+ * @return EINA_TRUE if the parameter was found and is of integer type,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool                       edje_external_param_choice_get (const Eina_List *params, const char *key, const char **ret);
+
+/**
+ * Get the array of parameters information about a type given its name.
+ *
+ * @note the type names and other strings are static, that means they are
+ *       @b NOT translated. One must use
+ *       Edje_External_Type::translate() to translate those.
+ *
+ * @return the NULL terminated array, or @c NULL if type is unknown or
+ *         it does not have any parameter information.
+ *
+ * @see edje_external_type_get()
+ */
+EAPI const Edje_External_Param_Info *edje_external_param_info_get   (const char *type_name);
+
+/**
+ * Get the #Edje_External_Type that defines an EXTERNAL type registered with
+ * the name @p type_name.
+ */
+EAPI const Edje_External_Type       *edje_external_type_get         (const char *type_name);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Group Edje Object
+ *
+ * @brief This group discusses functions that deal with Edje layouts and its components
+ *
+ * An important thing to know about this group is that there is no
+ * Edje_Object in @b code. What we refer here as object are layouts (or themes)
+ * defined by groups, and parts, both declared in EDC files. They are of
+ * type Evas_Object as the other native objects of Evas, but they only exist
+ * in Edje, so that is why we are calling them "edje objects".
+ *
+ * With the Edje Object Group functions we can deal with layouts by managing
+ * its aspect, content, message and signal exchange and animation, among others.
+ *
+ * @{
+ */
+
+/**
+ * @brief Instantiate a new Edje object
+ *
+ * @param evas A valid Evas handle, the canvas to place the new object
+ * in
+ * @return A handle to the new object created or @c NULL, on errors.
+ *
+ * This function creates a new Edje smart object, returning its @c
+ * Evas_Object handle. An Edje object is useless without a (source)
+ * file set to it, so you'd most probably call edje_object_file_set()
+ * afterwards, like in:
+ * @code
+ * Evas_Object *edje;
+ *
+ * edje = edje_object_add(canvas);
+ * if (!edje)
+ *   {
+ *      fprintf(stderr, "could not create edje object!\n");
+ *      return NULL;
+ *   }
+ *
+ * if (!edje_object_file_set(edje, "theme.edj", "group_name"))
+ *   {
+ *      int err = edje_object_load_error_get(edje);
+ *      const char *errmsg = edje_load_error_str(err);
+ *      fprintf(stderr, "could not load 'group_name' from theme.edj: %s",
+ *             errmsg);
+ *
+ *      evas_object_del(edje);
+ *      return NULL;
+ *   }
+ *
+ * @endcode
+ *
+ * @note You can get a callback every time edje re-calculates the object
+ * (either due to animation or some kind of signal or input). This is called
+ * in-line just after the recalculation has occurred. It is a good idea not
+ * to go and delete or alter the object inside this callbacks, simply make
+ * a note that the recalculation has taken place and then do something about
+ * it outside the callback. to register a callback use code like:
+ *
+ * @code
+ *    evas_object_smart_callback_add(edje_obj, "recalc", my_cb, my_cb_data);
+ * @endcode
+ *
+ * @see evas_object_smart_callback_add()
+ *
+ * @note Before creating the first Edje object in your code, remember
+ * to initialize the library, with edje_init(), or unexpected behavior
+ * might occur.
+ */
+EAPI Evas_Object *edje_object_add                 (Evas *evas);
+
+/**
+ * @brief Preload the images on the Edje Object in the background.
+ *
+ * @param obj A handle to an Edje object
+ * @param cancel @c EINA_FALSE will add it the preloading work queue,
+ *               @c EINA_TRUE will remove it (if it was issued before).
+ * @return @c EINA_FASLE if obj was not a valid Edje object
+ *         otherwise @c EINA_TRUE
+ *
+ * This function requests the preload of all data images (on the given
+ * object) in the background. The work is queued before being processed
+ * (because there might be other pending requests of this type).
+ * It emits a signal "preload,done" when finished.
+ *
+ * @note Use @c EINA_TRUE on scenarios where you don't need
+ *       the image data preloaded anymore.
+ */
+EAPI Eina_Bool        edje_object_preload         (Evas_Object *obj, Eina_Bool cancel);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Scale Edje Scale
+ *
+ * @brief Functions that deal with scaling objects
+ *
+ * Edje allows one to build scalable interfaces. Scaling factors,
+ * which are set to neutral (@c 1.0) values by default (no scaling,
+ * actual sizes), are of two types: @b global and @b individual.
+ *
+ * Scaling affects the values of minimum/maximum @b part sizes, which
+ * are @b multiplied by it. Font sizes are scaled, too.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/**
+ * @brief Set Edje's global scaling factor.
+ *
+ * @param scale The global scaling factor (the default value is @c 1.0)
+ *
+ * Edje's global scaling factor will affect all its objects which
+ * hadn't their individual scaling factors altered from the default
+ * value (which is zero). If they had it set differently, by
+ * edje_object_scale_set(), that factor will @b override the global
+ * one.
+ *
+ * @warning Only parts which, at EDC level, had the @c "scale"
+ * property set to @c 1, will be affected by this function. Check the
+ * complete @ref edcref "syntax reference" for EDC files.
+ *
+ * @see edje_scale_get().
+ */
+EAPI void         edje_scale_set                  (double scale);
+
+/**
+ * @brief Retrieve Edje's global scaling factor.
+ *
+ * @return The global scaling factor
+ *
+ * This function returns Edje's global scaling factor.
+ *
+ * @see edje_scale_set() for more details
+ *
+ */
+EAPI double       edje_scale_get                  (void);
+
+/**
+ * @brief Set the scaling factor for a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param scale The scaling factor (the default value is @c 0.0,
+ * meaning individual scaling @b not set)
+ *
+ * This function sets an @b individual scaling factor on the @a obj
+ * Edje object. This property (or Edje's global scaling factor, when
+ * applicable), will affect this object's part sizes. If @p scale is
+ * not zero, than the individual scaling will @b override any global
+ * scaling set, for the object @p obj's parts. Put it back to zero to
+ * get the effects of the global scaling again.
+ *
+ * @warning Only parts which, at EDC level, had the @c "scale"
+ * property set to @c 1, will be affected by this function. Check the
+ * complete @ref edcref "syntax reference" for EDC files.
+ *
+ * @see edje_object_scale_get()
+ * @see edje_scale_get() for more details
+ */
+EAPI Eina_Bool    edje_object_scale_set           (Evas_Object *obj, double scale);
+
+/**
+ * @brief Get a given Edje object's scaling factor.
+ *
+ * @param obj A handle to an Edje object
+ *
+ * This function returns the @c individual scaling factor set on the
+ * @a obj Edje object.
+ *
+ * @see edje_object_scale_set() for more details
+ *
+ */
+EAPI double       edje_object_scale_get           (const Evas_Object *obj);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Color_Class Edje Class: Color
+ *
+ * @brief Functions that deal with Color Classes
+ *
+ * Sometimes we want to change the color of two or more parts equally and
+ * that's when we use color classes.
+ *
+ * If one or more parts are assigned with a color class, when we set color
+ * values to this class it will cause all these parts to have their colors
+ * multiplied by the values. Setting values to a color class at a process level
+ * will affect all parts with that color class, while at a object level will
+ * affect only the parts inside an specified object.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/**
+ * @brief Set Edje color class.
+ *
+ * @param color_class
+ * @param r Object Red value
+ * @param g Object Green value
+ * @param b Object Blue value
+ * @param a Object Alpha value
+ * @param r2 Outline Red value
+ * @param g2 Outline Green value
+ * @param b2 Outline Blue value
+ * @param a2 Outline Alpha value
+ * @param r3 Shadow Red value
+ * @param g3 Shadow Green value
+ * @param b3 Shadow Blue value
+ * @param a3 Shadow Alpha value
+ *
+ * This function sets the color values for a process level color
+ * class.  This will cause all edje parts in the current process that
+ * have the specified color class to have their colors multiplied by
+ * these values.  (Object level color classes set by
+ * edje_object_color_class_set() will override the values set by this
+ * function).
+ *
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
+ *
+ * Setting color emits a signal "color_class,set" with source being
+ * the given color class in all objects.
+ *
+ * @see edje_color_class_set().
+ *
+ * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
+ *       half-transparent white is 255 255 255 128.
+ */
+EAPI Eina_Bool    edje_color_class_set            (const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+
+/**
+ * @brief Get Edje color class.
+ *
+ * @param color_class
+ * @param r Object Red value
+ * @param g Object Green value
+ * @param b Object Blue value
+ * @param a Object Alpha value
+ * @param r2 Outline Red value
+ * @param g2 Outline Green value
+ * @param b2 Outline Blue value
+ * @param a2 Outline Alpha value
+ * @param r3 Shadow Red value
+ * @param g3 Shadow Green value
+ * @param b3 Shadow Blue value
+ * @param a3 Shadow Alpha value
+ *
+ * @return EINA_TRUE if found or EINA_FALSE if not found and all
+ *         values are zeroed.
+ *
+ * This function gets the color values for a process level color
+ * class. This value is the globally set and not per-object, that is,
+ * the value that would be used by objects if they did not override with
+ * edje_object_color_class_set().
+ *
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
+ *
+ * @see edje_color_class_set().
+ *
+ * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
+ *       half-transparent white is 255 255 255 128.
+ */
+EAPI Eina_Bool    edje_color_class_get            (const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
+
+/**
+ * @brief Delete edje color class.
+ *
+ * @param color_class
+ *
+ * This function deletes any values at the process level for the
+ * specified color class.
+ * @note Deleting the color class will revert it to the
+ *       values defined in the theme file.
+ *
+ * Deleting the color class will emit the signal "color_class,del"
+ * to all the Edje objects in the running program.
+ */
+EAPI void         edje_color_class_del            (const char *color_class);
+
+/**
+ * @brief Lists color classes.
+ *
+ * @return A list of color class names (strings). These strings and
+ * the list must be free()'d by the caller.
+ *
+ * This function lists all color classes known about by the current
+ * process.
+ *
+ */
+EAPI Eina_List   *edje_color_class_list           (void);
+
+/**
+ * @brief Sets the object color class.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param color_class
+ * @param r Object Red value
+ * @param g Object Green value
+ * @param b Object Blue value
+ * @param a Object Alpha value
+ * @param r2 Outline Red value
+ * @param g2 Outline Green value
+ * @param b2 Outline Blue value
+ * @param a2 Outline Alpha value
+ * @param r3 Shadow Red value
+ * @param g3 Shadow Green value
+ * @param b3 Shadow Blue value
+ * @param a3 Shadow Alpha value
+ *
+ * This function sets the color values for an object level color
+ * class. This will cause all edje parts in the specified object that
+ * have the specified color class to have their colors multiplied by
+ * these values.
+ *
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
+ *
+ * Setting color emits a signal "color_class,set" with source being
+ * the given color.
+ *
+ * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
+ *       half-transparent white is 255 255 255 128.
+ */
+EAPI Eina_Bool    edje_object_color_class_set         (Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+
+/**
+ * @brief Gets the object color class.
+ *
+ * @param o A valid Evas_Object handle
+ * @param color_class
+ * @param r Object Red value
+ * @param g Object Green value
+ * @param b Object Blue value
+ * @param a Object Alpha value
+ * @param r2 Outline Red value
+ * @param g2 Outline Green value
+ * @param b2 Outline Blue value
+ * @param a2 Outline Alpha value
+ * @param r3 Shadow Red value
+ * @param g3 Shadow Green value
+ * @param b3 Shadow Blue value
+ * @param a3 Shadow Alpha value
+ *
+ * @return EINA_TRUE if found or EINA_FALSE if not found and all
+ *         values are zeroed.
+ *
+ * This function gets the color values for an object level color
+ * class. If no explicit object color is set, then global values will
+ * be used.
+ *
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
+ *
+ * @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
+ *       half-transparent white is 255 255 255 128.
+ */
+EAPI Eina_Bool    edje_object_color_class_get         (const Evas_Object *o, const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
+
+/**
+ * @brief Delete the object color class.
+ *
+ * @param obj The edje object's reference.
+ * @param color_class The color class to be deleted.
+ *
+ * This function deletes any values at the object level for the
+ * specified object and color class.
+ * @note Deleting the color class will revert it to the values
+ *       defined by edje_color_class_set() or the color class
+ *       defined in the theme file.
+ *
+ * Deleting the color class will emit the signal "color_class,del"
+ * for the given Edje object.
+ */
+ EAPI void         edje_object_color_class_del         (Evas_Object *obj, const char *color_class);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Text_Class Edje Class: Text
+ *
+ * @brief Functions that deal with Text Classes
+ *
+ * Sometimes we want to change the text of two or more parts equally and
+ * that's when we use text classes.
+ *
+ * If one or more parts are assigned with a text class, when we set font
+ * attributes to this class will update all these parts with the new font
+ * attributes. Setting values to a text class at a process level will affect
+ * all parts with that text class, while at object level will affect only
+ * the parts inside an specified object.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/**
+ * @brief Set the Edje text class.
+ *
+ * @param text_class The text class name
+ * @param font The font name
+ * @param size The font size
+ *
+ * @return @c EINA_TRUE, on success or @c EINA_FALSE, on error
+ *
+ * This function updates all Edje members at the process level which
+ * belong to this text class with the new font attributes.
+ * If the @p size is 0 then the font size will be kept with the previous size.
+ * If the @p size is less then 0 then the font size will be calculated in the
+ * percentage. For example, if the @p size is -50, then the font size will be
+ * scaled to half of the original size and if the @p size is -10 then the font
+ * size will be scaled as much as 0.1x.
+ *
+ * @see edje_text_class_get().
+ *
+ */
+EAPI Eina_Bool    edje_text_class_set             (const char *text_class, const char *font, Evas_Font_Size size);
+
+/**
+ * @brief Delete the text class.
+ *
+ * @param text_class The text class name string
+ *
+ * This function deletes any values at the process level for the
+ * specified text class.
+ *
+ */
+EAPI void         edje_text_class_del             (const char *text_class);
+
+/**
+ * @brief List text classes.
+ *
+ * @return A list of text class names (strings). These strings are
+ * stringshares and the list must be free()'d by the caller.
+ *
+ * This function lists all text classes known about by the current
+ * process.
+ *
+ */
+EAPI Eina_List   *edje_text_class_list            (void);
+
+/**
+ * @brief Sets Edje text class.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param text_class The text class name
+ * @param font Font name
+ * @param size Font Size
+ *
+ * @return @c EINA_TRUE, on success or @c EINA_FALSE, on error
+ *
+ * This function sets the text class for the Edje.
+ *
+ */
+EAPI Eina_Bool    edje_object_text_class_set          (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_File Edje Object File
+ *
+ * @brief Functions to deals with EDJ files.
+ *
+ * Layouts in Edje are usually called themes and they are
+ * created using the EDC language. The EDC language is declarative
+ * and must be compiled before being used. The output of this
+ * compilation is an EDJ file, this file can be loaded by Edje,
+ * and the result is a edje object.
+ *
+ * This groups of functions interact with these EDJ files,
+ * either by loading them or retrieving information of the EDC
+ * file about objects.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+typedef enum _Edje_Load_Error
+{
+   EDJE_LOAD_ERROR_NONE = 0, /**< No error happened, the loading was successful */
+   EDJE_LOAD_ERROR_GENERIC = 1, /**< A generic error happened during the loading */
+   EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< The file pointed to did not exist */
+   EDJE_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission to read the given file was denied */
+   EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Resource allocation failed during the loading */
+   EDJE_LOAD_ERROR_CORRUPT_FILE = 5, /**< The file pointed to was corrupt */
+   EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6, /**< The file pointed to had an unknown format */
+   EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7, /**< The file pointed to is incompatible, i.e., it doesn't match the library's current version's format */
+   EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8, /**< The group/collection set to load from was @b not found in the file */
+   EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9 /**< The group/collection set to load from had <b>recursive references</b> on its components */
+} Edje_Load_Error; /**< Edje file loading error codes one can get - see edje_load_error_str() too. */
+
+/**
+ * Get a list of groups in an edje file
+ * @param file The path to the edje file
+ *
+ * @return The Eina_List of group names (char *)
+ *
+ * Note: the list must be freed using edje_file_collection_list_free()
+ * when you are done with it.
+ */
+EAPI Eina_List        *edje_file_collection_list  (const char *file);
+
+/**
+ * Free file collection list
+ * @param lst The Eina_List of groups
+ *
+ * Frees the list returned by edje_file_collection_list().
+ */
+EAPI void             edje_file_collection_list_free (Eina_List *lst);
+
+/**
+ * Determine whether a group matching glob exists in an edje file.
+ * @param file The file path
+ * @param glob A glob to match on
+ *
+ * @return 1 if a match is found, 0 otherwise
+ */
+EAPI Eina_Bool        edje_file_group_exists      (const char *file, const char *glob);
+
+/**
+ * @brief Retrive an <b>EDC data field's value</b> from a given Edje
+ * object's group.
+ *
+ * @param obj A handle to an Edje object
+ * @param key The data field's key string
+ * @return The data's value string. Must not be freed.
+ *
+ * This function fetches an EDC data field's value, which is declared
+ * on the objects building EDC file, <b>under its group</b>. EDC data
+ * blocks are most commonly used to pass arbitrary parameters from an
+ * application's theme to its code.
+ *
+ * They look like the following:
+ *
+ * @code
+ * collections {
+ *   group {
+ *     name: "a_group";
+ *     data {
+ *      item: "key1" "value1";
+ *      item: "key2" "value2";
+ *     }
+ *   }
+ * }
+ * @endcode
+ *
+ * EDC data fields always hold @b strings as values, hence the return
+ * type of this function. Check the complete @ref edcref "syntax reference"
+ * for EDC files.
+ *
+ * @warning Do not confuse this call with edje_file_data_get(), which
+ * queries for a @b global EDC data field on an EDC declaration file.
+ *
+ * @see edje_object_file_set()
+ */
+EAPI const char  *edje_object_data_get            (const Evas_Object *obj, const char *key);
+
+/**
+ * @brief Sets the @b EDJ file (and group within it) to load an Edje
+ * object's contents from
+ *
+ * @param obj A handle to an Edje object
+ * @param file The path to the EDJ file to load @p from
+ * @param group The name of the group, in @p file, which implements an
+ * Edje object
+ * @return @c EINA_TRUE, on success or @c EINA_FALSE, on errors (check
+ * edje_object_load_error_get() after this call to get errors causes)
+ *
+ * Edje expects EDJ files, which are theming objects' descriptions and
+ * resources packed together in an EET file, to read Edje object
+ * definitions from. They usually are created with the @c .edj
+ * extension. EDJ files, in turn, are assembled from @b textual object
+ * description files, where one describes Edje objects declaratively
+ * -- the EDC files (see @ref edcref "the syntax" for those files).
+ *
+ * Those description files were designed so that many Edje object
+ * definitions -- also called @b groups (or collections) -- could be
+ * packed together <b>in the same EDJ file</b>, so that a whole
+ * application's theme could be packed in one file only. This is the
+ * reason for the @p group argument.
+ *
+ * Use this function after you instantiate a new Edje object, so that
+ * you can "give him life", telling where to get its contents from.
+ *
+ * @see edje_object_add()
+ * @see edje_object_file_get()
+ */
+EAPI Eina_Bool        edje_object_file_set        (Evas_Object *obj, const char *file, const char *group);
+
+/**
+ * @brief Get the file and group name that a given Edje object is bound to
+ *
+ * @param obj A handle to an Edje object
+ * @param file A pointer to a variable whero to store the <b>file's
+ * path</b>
+ * @param group A pointer to a variable where to store the <b>group
+ * name</b> in
+ *
+ * This gets the EDJ file's path, with the respective group set for
+ * the given Edje object. If @a obj is either not an Edje file, or has
+ * not had its file/group set previously, by edje_object_file_set(),
+ * then both @p file and @p group will be set to @c NULL, indicating
+ * an error.
+ *
+ * @see edje_object_file_set()
+ *
+ * @note Use @c NULL pointers on the file/group components you're not
+ * interested in: they'll be ignored by the function.
+ */
+EAPI void             edje_object_file_get        (const Evas_Object *obj, const char **file, const char **group);
+
+/**
+ * @brief Gets the (last) file loading error for a given Edje object
+ *
+ * @param obj A handlet to an Edje object
+ *
+ * @return The Edje loading error, one of:
+ * - #EDJE_LOAD_ERROR_NONE
+ * - #EDJE_LOAD_ERROR_GENERIC
+ * - #EDJE_LOAD_ERROR_DOES_NOT_EXIST
+ * - #EDJE_LOAD_ERROR_PERMISSION_DENIED
+ * - #EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
+ * - #EDJE_LOAD_ERROR_CORRUPT_FILE
+ * - #EDJE_LOAD_ERROR_UNKNOWN_FORMAT
+ * - #EDJE_LOAD_ERROR_INCOMPATIBLE_FILE
+ * - #EDJE_LOAD_ERROR_UNKNOWN_COLLECTION
+ * - #EDJE_LOAD_ERROR_RECURSIVE_REFERENCE
+ *
+ * This function is meant to be used after an Edje EDJ <b>file
+ * loading</b>, what takes place with the edje_object_file_set()
+ * function. If that function does not return @c EINA_TRUE, one should
+ * check for the reason of failure with this one.
+ *
+ * @see edje_load_error_str()
+ */
+EAPI Edje_Load_Error  edje_object_load_error_get  (const Evas_Object *obj);
+
+/**
+ * Converts the given Edje file load error code into a string
+ * describing it in English.
+ *
+ * @param error the error code, a value in ::Edje_Load_Error.
+ * @return Always returns a valid string. If the given @p error is not
+ *         supported, <code>"Unknown error"</code> is returned.
+ *
+ * edje_object_file_set() is a function which sets an error value,
+ * afterwards, which can be fetched with
+ * edje_object_load_error_get(). The function in question is meant
+ * to be used in conjunction with the latter, for pretty-printing any
+ * possible error cause.
+ */
+EAPI const char              *edje_load_error_str        (Edje_Load_Error error);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Communication_Interface_Signal Edje Communication Interface: Signal
+ *
+ * @brief Functions that deal with signals.
+ *
+ * Edje has two communication interfaces between @b code and @b theme.
+ * Signals and messages.
+ *
+ * This group has functions that deal with signals. One can either
+ * emit a signal from @b code to a @b theme or create handles for
+ * the ones emitted from @b themes. Signals are identified by strings.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+typedef void         (*Edje_Signal_Cb)          (void *data, Evas_Object *obj, const char *emission, const char *source); /**< Edje signal callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the signal comes from. @c emission will identify the exact signal's emission string and @c source the exact signal's source one. */
+
+/**
+ * @brief Add a callback for an arriving Edje signal, emitted by
+ * a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param emission The signal's "emission" string
+ * @param source The signal's "source" string
+ * @param func The callback function to be executed when the signal is
+ * emitted.
+ * @param data A pointer to data to pass in to @p func.
+ *
+ * Edje signals are one of the communication interfaces between
+ * @b code and a given Edje object's @b theme. With signals, one can
+ * communicate two string values at a time, which are:
+ * - "emission" value: the name of the signal, in general
+ * - "source" value: a name for the signal's context, in general
+ *
+ * Though there are those common uses for the two strings, one is free
+ * to use them however they like.
+ *
+ * This function adds a callback function to a signal emitted by @a obj, to
+ * be issued every time an EDC program like the following
+ * @code
+ * program {
+ *   name: "emit_example";
+ *   action: SIGNAL_EMIT "a_signal" "a_source";
+ * }
+ * @endcode
+ * is run, if @p emission and @p source are given those same values,
+ * here.
+ *
+ * Signal callback registration is powerful, in the way that @b blobs
+ * may be used to match <b>multiple signals at once</b>. All the @c
+ * "*?[\" set of @c fnmatch() operators can be used, both for @p
+ * emission and @p source.
+ *
+ * Edje has @b internal signals it will emit, automatically, on
+ * various actions taking place on group parts. For example, the mouse
+ * cursor being moved, pressed, released, etc., over a given part's
+ * area, all generate individual signals.
+ *
+ * By using something like
+ * @code
+ * edje_object_signal_callback_add(obj, "mouse,down,*", "button.*",
+ *                                 signal_cb, NULL);
+ * @endcode
+ * being @c "button.*" the pattern for the names of parts implementing
+ * buttons on an interface, you'd be registering for notifications on
+ * events of mouse buttons being pressed down on either of those parts
+ * (those events all have the @c "mouse,down," common prefix on their
+ * names, with a suffix giving the button number). The actual emission
+ * and source strings of an event will be passed in as the @a emission
+ * and @a source parameters of the callback function (e.g. @c
+ * "mouse,down,2" and @c "button.close"), for each of those events.
+ *
+ * @note See @ref edcref "the syntax" for EDC files
+ * @see edje_object_signal_emit() on how to emits Edje signals from
+ * code to a an object
+ * @see edje_object_signal_callback_del_full()
+ */
+EAPI void         edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
+
+/**
+ * @brief Remove a signal-triggered callback from an object.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @param emission The emission string.
+ * @param source The source string.
+ * @param func The callback function.
+ * @return The data pointer
+ *
+ * This function removes a callback, previously attached to the
+ * emittion of a signal, from the object @a obj. The parameters @a
+ * emission, @a source and @a func must match exactly those passed to
+ * a previous call to edje_object_signal_callback_add(). The data
+ * pointer that was passed to this call will be returned.
+ *
+ * @see edje_object_signal_callback_add().
+ * @see edje_object_signal_callback_del_full().
+ *
+ */
+EAPI void        *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func);
+
+/**
+ * @brief Unregister/delete a callback set for an arriving Edje
+ * signal, emitted by a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param emission The signal's "emission" string
+ * @param source The signal's "source" string
+ * @param func The callback function passed on the callback's
+ * registration
+ * @param data The pointer given to be passed as data to @p func
+ * @return @p data, on success or @c NULL, on errors (or if @p data
+ * had this value)
+ *
+ * This function removes a callback, previously attached to the
+ * emittion of a signal, from the object @a obj. The parameters
+ * @a emission, @a source, @a func and @a data must match exactly those
+ * passed to a previous call to edje_object_signal_callback_add(). The
+ * data pointer that was passed to this call will be returned.
+ *
+ * @see edje_object_signal_callback_add().
+ * @see edje_object_signal_callback_del().
+ *
+ */
+EAPI void        *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
+
+/**
+ * @brief Send/emit an Edje signal to a given Edje object
+ *
+ * @param obj A handle to an Edje object
+ * @param emission The signal's "emission" string
+ * @param source The signal's "source" string
+ *
+ * This function sends a signal to the object @a obj. An Edje program,
+ * at @p obj's EDC specification level, can respond to a signal by
+ * having declared matching @c 'signal' and @c 'source' fields on its
+ * block (see @ref edcref "the syntax" for EDC files).
+ *
+ * As an example,
+ * @code
+ * edje_object_signal_emit(obj, "a_signal", "");
+ * @endcode
+ * would trigger a program which had an EDC declaration block like
+ * @code
+ * program {
+ *  name: "a_program";
+ *  signal: "a_signal";
+ *  source: "";
+ *  action: ...
+ * }
+ * @endcode
+ *
+ * @see edje_object_signal_callback_add() for more on Edje signals.
+ */
+EAPI void         edje_object_signal_emit         (Evas_Object *obj, const char *emission, const char *source);
+
+/**
+ * @brief Get extra data passed to callbacks.
+ *
+ * @return the extra data for that callback.
+ *
+ * Some callbacks pass extra information. This function gives access to that
+ * extra information. It's somehow like event_info in smart callbacks.
+ *
+ * @see edje_object_signal_callback_add() for more on Edje signals.
+ * @since 1.1.0
+ */
+EAPI void *       edje_object_signal_callback_extra_data_get(void);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Animation Edje Object Animation
+ *
+ * @brief Functions that deal with animations.
+ *
+ * Edje has the ability to animate objects. One can start, stop, play,
+ * pause, freeze and thaw edje animations using the functions of this section.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+typedef enum _Edje_Tween_Mode
+{
+   EDJE_TWEEN_MODE_NONE              = 0,
+   EDJE_TWEEN_MODE_LINEAR            = 1,
+   EDJE_TWEEN_MODE_SINUSOIDAL        = 2,
+   EDJE_TWEEN_MODE_ACCELERATE        = 3,
+   EDJE_TWEEN_MODE_DECELERATE        = 4,
+   EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5,
+   EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6,
+   EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7,
+   EDJE_TWEEN_MODE_DIVISOR_INTERP    = 8,
+   EDJE_TWEEN_MODE_BOUNCE            = 9,
+   EDJE_TWEEN_MODE_SPRING            = 10,
+   EDJE_TWEEN_MODE_LAST              = 11,
+   EDJE_TWEEN_MODE_MASK              = 0xff,
+   EDJE_TWEEN_MODE_OPT_FROM_CURRENT  = (1 << 31)
+} Edje_Tween_Mode;
+
+typedef enum _Edje_Action_Type
+{
+   EDJE_ACTION_TYPE_NONE                     = 0,
+   EDJE_ACTION_TYPE_STATE_SET                = 1,
+   EDJE_ACTION_TYPE_ACTION_STOP              = 2,
+   EDJE_ACTION_TYPE_SIGNAL_EMIT              = 3,
+   EDJE_ACTION_TYPE_DRAG_VAL_SET             = 4,
+   EDJE_ACTION_TYPE_DRAG_VAL_STEP            = 5,
+   EDJE_ACTION_TYPE_DRAG_VAL_PAGE            = 6,
+   EDJE_ACTION_TYPE_SCRIPT                   = 7,
+   EDJE_ACTION_TYPE_FOCUS_SET                = 8,
+   EDJE_ACTION_TYPE_RESERVED00               = 9,
+   EDJE_ACTION_TYPE_FOCUS_OBJECT             = 10,
+   EDJE_ACTION_TYPE_PARAM_COPY               = 11,
+   EDJE_ACTION_TYPE_PARAM_SET                = 12,
+   EDJE_ACTION_TYPE_SOUND_SAMPLE             = 13, /**< @since 1.1 */
+   EDJE_ACTION_TYPE_SOUND_TONE               = 14, /**< @since 1.1 */
+   EDJE_ACTION_TYPE_PHYSICS_IMPULSE          = 15, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE   = 16, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_FORCE            = 17, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_TORQUE           = 18, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR     = 19, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_VEL_SET          = 20, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET      = 21, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_STOP             = 22, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_PHYSICS_ROT_SET          = 23, /**< @since 1.8 */
+   EDJE_ACTION_TYPE_LAST                     = 24
+} Edje_Action_Type;
+
+/**
+ * @brief Set edje trasitions' frame time.
+ *
+ * @param t The frame time, in seconds. Default value is 1/30.
+ *
+ * This function sets the edje built-in animations' frame time (thus,
+ * affecting their resolution) by calling
+ * ecore_animator_frametime_set(). This frame time can be retrieved
+ * with edje_frametime_get().
+ *
+ * @see edje_frametime_get()
+ *
+ */
+EAPI void         edje_frametime_set              (double t);
+
+/**
+ * @brief Get edje trasitions' frame time.
+ *
+ * @return The frame time, in seconds.
+ *
+ * This function returns the edje frame time set by
+ * edje_frametime_set() or the default value 1/30.
+ *
+ * @see edje_frametime_set()
+ *
+ */
+EAPI double       edje_frametime_get              (void);
+
+/**
+ * @brief Freeze Edje objects.
+ *
+ * This function freezes all Edje animations in the current process.
+ *
+ * @note: for freeze a specific object @see edje_object_freeze().
+ *
+ * @see edje_thaw()
+ *
+ */
+EAPI void         edje_freeze                     (void);
+
+/**
+ * @brief Thaw Edje objects.
+ *
+ * This function thaws all Edje animations in the current process.
+ *
+ * @note for thaw a specific object @see edje_object_thaw().
+ *
+ * @see edje_freeze()
+ *
+ */
+EAPI void         edje_thaw                       (void);
+
+/**
+ * @brief Set the Edje object to playing or paused states.
+ *
+ * @param obj A handle to an Edje object.
+ * @param play Object state (@c EINA_TRUE to playing,
+ *                           @c EINA_FALSE to paused).
+ *
+ * This function sets the Edje object @a obj to playing or paused
+ * states, depending on the parameter @a play. This has no effect if
+ * the object was already at that state.
+ *
+ * @see edje_object_play_get().
+ *
+ */
+EAPI void         edje_object_play_set            (Evas_Object *obj, Eina_Bool play);
+
+/**
+ * @brief Get the Edje object's state.
+ *
+ * @param obj A handle to an Edje object.
+ * @return @c EINA_FALSE if the object is not connected, its @c delete_me flag
+ * is set, or it is at paused state; @c EINA_TRUE if the object is at playing
+ * state.
+ *
+ * This function tells if an Edje object is playing or not. This state
+ * is set by edje_object_play_set().
+ *
+ * @see edje_object_play_set().
+ *
+ */
+EAPI Eina_Bool    edje_object_play_get            (const Evas_Object *obj);
+
+/**
+ * @brief Set the object's animation state.
+ *
+ * @param obj A handle to an Edje object.
+ * @param on The animation state. @c EINA_TRUE to starts or
+ *           @c EINA_FALSE to stops.
+ *
+ * This function starts or stops an Edje object's animation. The
+ * information if it's stopped can be retrieved by
+ * edje_object_animation_get().
+ *
+ * @see edje_object_animation_get()
+ *
+ */
+EAPI void         edje_object_animation_set       (Evas_Object *obj, Eina_Bool on);
+
+/**
+ * @brief Get the Edje object's animation state.
+ *
+ * @param obj A handle to an Edje object.
+ * @return @c EINA_FALSE on error or if object is not animated;
+ *         @c EINA_TRUE if animated.
+ *
+ * This function returns if the animation is stopped or not. The
+ * animation state is set by edje_object_animation_set().
+ *
+ * @see edje_object_animation_set().
+ *
+ */
+EAPI Eina_Bool    edje_object_animation_get       (const Evas_Object *obj);
+
+/**
+ * @brief Freezes the Edje object.
+ *
+ * @param obj A handle to an Edje object.
+ * @return The frozen state or 0 on Error
+ *
+ * This function puts all changes on hold. Successive freezes will
+ * nest, requiring an equal number of thaws.
+ *
+ * @see edje_object_thaw()
+ */
+EAPI int          edje_object_freeze                  (Evas_Object *obj);
+
+/**
+ * @brief Thaws the Edje object.
+ *
+ * @param obj A handle to an Edje object.
+ * @return The frozen state or 0 if the object is not frozen or on error.
+ *
+ * This function thaws the given Edje object.
+ *
+ * @note: If sucessives freezes were done, an equal number of
+ *        thaws will be required.
+ *
+ * @see edje_object_freeze()
+ */
+EAPI int          edje_object_thaw                    (Evas_Object *obj);
+
+/**
+ * @brief Returns the state of the Edje part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param val_ret
+ *
+ * @return The part state:\n
+ * "default" for the default state\n
+ * "" for other states
+ */
+EAPI const char      *edje_object_part_state_get      (const Evas_Object *obj, const char *part, double *val_ret);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Geometry_Group Edje Object Geometry
+ *
+ * @brief Functions that deal with object's geometry.
+ *
+ * By geometry we mean size and position. So in this groups there are
+ * functions to manipulate object's geometry or retrieve information
+ * about it.
+ *
+ * Keep in mind that by changing an object's geometry, it may affect
+ * the appearance in the screen of the parts inside. Most times
+ * that is what you want.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/**
+ * @brief Get the minimum size specified -- as an EDC property -- for a
+ * given Edje object
+ *
+ * @param obj A handle to an Edje object
+ * @param minw Pointer to a variable where to store the minimum width
+ * @param minh Pointer to a variable where to store the minimum height
+ *
+ * This function retrieves the @p obj object's minimum size values,
+ * <b>as declared in its EDC group definition</b>. Minimum size of
+ * groups have the following syntax
+ * @code
+ * collections {
+ *   group {
+ *     name: "a_group";
+ *     min: 100 100;
+ *   }
+ * }
+ * @endcode
+ *
+ * where one declares a minimum size of 100 pixels both for width and
+ * height. Those are (hint) values which should be respected when the
+ * given object/group is to be controlled by a given container object
+ * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
+ * typed part, as in edje_object_part_swallow()). Check the complete
+ * @ref edcref "syntax reference" for EDC files.
+ *
+ * @note If the @c min EDC property was not declared for @p obj, this
+ * call will return the value 0, for each axis.
+ *
+ * @note On failure, this function will make all non-@c NULL size
+ * pointers' pointed variables be set to zero.
+ *
+ * @see edje_object_size_max_get()
+ */
+EAPI void         edje_object_size_min_get            (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
+
+/**
+ * @brief Edje will automatically update the size hints on itself.
+ *
+ * @param obj A handle to an Edje object.
+ * @param update Wether or not update the size hints.
+ *
+ * By default edje doesn't set size hints on itself. With this function
+ * call, it will do so if update is true. Be carefully, it cost a lot to
+ * trigger this feature as it will recalc the object every time it make
+ * sense to be sure that's its minimal size hint is always accurate.
+ */
+EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update);
+
+/**
+ * @brief Wether or not Edje will update size hints on itself.
+ *
+ * @param obj A handle to an Edje object.
+ * @return @c true if does, @c false if it doesn't.
+ */
+EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj);
+
+/**
+ * @brief Get the maximum size specified -- as an EDC property -- for a
+ * given Edje object
+ *
+ * @param obj A handle to an Edje object
+ * @param maxw Pointer to a variable where to store the maximum width
+ * @param maxh Pointer to a variable where to store the maximum height
+ *
+ * This function retrieves the @p obj object's maximum size values,
+ * <b>as declared in its EDC group definition</b>. Maximum size of
+ * groups have the following syntax
+ * @code
+ * collections {
+ *   group {
+ *     name: "a_group";
+ *     max: 100 100;
+ *   }
+ * }
+ * @endcode
+ *
+ * where one declares a maximum size of 100 pixels both for width and
+ * height. Those are (hint) values which should be respected when the
+ * given object/group is to be controlled by a given container object
+ * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
+ * typed part, as in edje_object_part_swallow()). Check the complete
+ * @ref edcref "syntax reference" for EDC files.
+ *
+ * @note If the @c max EDC property was not declared for @p obj, this
+ * call will return the maximum size a given Edje object may have, for
+ * each axis.
+ *
+ * @note On failure, this function will make all non-@c NULL size
+ * pointers' pointed variables be set to zero.
+ *
+ * @see edje_object_size_min_get()
+ */
+EAPI void         edje_object_size_max_get            (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
+
+/**
+ * @brief Force a Size/Geometry calculation.
+ *
+ * @param obj A valid Evas_Object handle
+ *
+ * Forces the object @p obj to recalculation layout regardless of
+ * freeze/thaw.
+ */
+EAPI void         edje_object_calc_force              (Evas_Object *obj);
+
+/**
+ * @brief Calculate the minimum required size for a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param minw Pointer to a variable where to store the minimum
+ * required width
+ * @param minh Pointer to a variable where to store the minimum
+ * required height
+ *
+ * This call works exactly as edje_object_size_min_restricted_calc(),
+ * with the last two arguments set to 0. Please refer to its
+ * documentation, then.
+ */
+EAPI void         edje_object_size_min_calc           (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
+
+/**
+ * Calculate the geometry of the region, relative to a given Edje
+ * object's area, <b>occupied by all parts in the object</b>
+ *
+ * @param obj A handle to an Edje object
+ * @param x A pointer to a variable where to store the parts region's
+ * x coordinate
+ * @param y A pointer to a variable where to store the parts region's
+ * y coordinate
+ * @param w A pointer to a variable where to store the parts region's
+ * width
+ * @param h A pointer to a variable where to store the parts region's
+ * height
+ *
+ * This function gets the geometry of the rectangle equal to the area
+ * required to group all parts in @p obj's group/collection. The @p x
+ * and @p y coordinates are relative to the top left corner of the
+ * whole @p obj object's area. Parts placed out of the group's
+ * boundaries will also be taken in account, so that @p x and @p y
+ * <b>may be negative</b>.
+ *
+ * @note Use @c NULL pointers on the geometry components you're not
+ * interested in: they'll be ignored by the function.
+ *
+ * @note On failure, this function will make all non-@c NULL geometry
+ * pointers' pointed variables be set to zero.
+ */
+EAPI Eina_Bool    edje_object_parts_extends_calc      (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+
+/**
+ * @brief Calculate the minimum required size for a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param minw Pointer to a variable where to store the minimum
+ * required width
+ * @param minh Pointer to a variable where to store the minimum
+ * required height
+ * @param restrictedw Do not allow object's calculated (minimum) width
+ * to be less than this value
+ * @param restrictedh Do not allow object's calculated (minimum)
+ * height to be less than this value
+ *
+ * This call will trigger an internal recalculation of all parts of
+ * the @p obj object, in order to return its minimum required
+ * dimensions for width and height. The user might choose to @b impose
+ * those minimum sizes, making the resulting calculation to get to values
+ * equal or bigger than @p restrictedw and @p restrictedh, for width and
+ * height, respectively.
+ *
+ * @note At the end of this call, @p obj @b won't be automatically
+ * resized to new dimensions, but just return the calculated
+ * sizes. The caller is the one up to change its geometry or not.
+ *
+ * @warning Be advised that invisible parts in @p obj @b will be taken
+ * into account in this calculation.
+ */
+EAPI void         edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Part Edje Part
+ *
+ * @brief Functions that deal with layout components
+ *
+ * Parts are layout components, but as a layout, they are objects too.
+ *
+ * There are several types of parts, these types can be divided into two
+ * main categories, the first being containers. Containers are parts
+ * that are in effect a group of elements. The second group is that of
+ * the elements, these part types may not contain others.
+ *
+ * This section has some functions specific for some types and others that
+ * could be applied to any type.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+typedef enum _Edje_Part_Type
+{
+   EDJE_PART_TYPE_NONE      = 0,
+   EDJE_PART_TYPE_RECTANGLE = 1,
+   EDJE_PART_TYPE_TEXT      = 2,
+   EDJE_PART_TYPE_IMAGE     = 3,
+   EDJE_PART_TYPE_SWALLOW   = 4,
+   EDJE_PART_TYPE_TEXTBLOCK = 5,
+   EDJE_PART_TYPE_GRADIENT  = 6,
+   EDJE_PART_TYPE_GROUP     = 7,
+   EDJE_PART_TYPE_BOX       = 8,
+   EDJE_PART_TYPE_TABLE     = 9,
+   EDJE_PART_TYPE_EXTERNAL  = 10,
+   EDJE_PART_TYPE_PROXY     = 11,
+   EDJE_PART_TYPE_SPACER    = 12, /**< @since 1.7 */
+   EDJE_PART_TYPE_LAST      = 13
+} Edje_Part_Type;
+
+/**
+ * @brief Check if an Edje part exists in a given Edje object's group
+ * definition.
+ *
+ * @param obj A handle to an Edje object
+ * @param part The part's name to check for existence in @p obj's
+ * group
+ * @return @c EINA_TRUE, if the Edje part exists in @p obj's group or
+ * @c EINA_FALSE, otherwise (and on errors)
+ *
+ * This function returns if a given part exists in the Edje group
+ * bound to object @p obj (with edje_object_file_set()).
+ *
+ * This call is useful, for example, when one could expect or not a
+ * given GUI element, depending on the @b theme applied to @p obj.
+ */
+EAPI Eina_Bool    edje_object_part_exists             (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Get a handle to the Evas object implementing a given Edje
+ * part, in an Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param part The Edje part's name
+ * @return A pointer to the Evas object implementing the given part,
+ * or @c NULL on failure (e.g. the given part doesn't exist)
+ *
+ * This function gets a pointer of the Evas object corresponding to a
+ * given part in the @p obj object's group.
+ *
+ * You should @b never modify the state of the returned object (with
+ * @c evas_object_move() or @c evas_object_hide() for example),
+ * because it's meant to be managed by Edje, solely. You are safe to
+ * query information about its current state (with @c
+ * evas_object_visible_get() or @c evas_object_color_get() for
+ * example), though.
+ */
+EAPI const Evas_Object *edje_object_part_object_get   (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Retrieve the geometry of a given Edje part, in a given Edje
+ * object's group definition, <b>relative to the object's area</b>
+ *
+ * @param obj A handle to an Edje object
+ * @param part The Edje part's name
+ * @param x A pointer to a variable where to store the part's x
+ * coordinate
+ * @param y A pointer to a variable where to store the part's y
+ * coordinate
+ * @param w A pointer to a variable where to store the part's width
+ * @param h A pointer to a variable where to store the part's height
+ *
+ * This function gets the geometry of an Edje part within its
+ * group. The @p x and @p y coordinates are relative to the top left
+ * corner of the whole @p obj object's area.
+ *
+ * @note Use @c NULL pointers on the geometry components you're not
+ * interested in: they'll be ignored by the function.
+ *
+ * @note On failure, this function will make all non-@c NULL geometry
+ * pointers' pointed variables be set to zero.
+ */
+EAPI Eina_Bool    edje_object_part_geometry_get       (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+
+/**
+ * @brief Retrieve a list all accessibility part names
+ *
+ * @param obj A valid Evas_Object handle
+ * @return A list all accessibility part names on @p obj
+ * @since 1.7.0
+ */
+EAPI Eina_List    *edje_object_access_part_list_get   (const Evas_Object *obj);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Text Edje Text Part
+ *
+ * @brief Functions that deal with parts of type text
+ *
+ * Text is an element type for parts. It's basic functionality is to
+ * display a string on the layout, but a lot more things can be done
+ * with texts, like string selection, setting the cursor and include
+ * a input panel, where one can set a virtual keyboard to handle
+ * keyboard entry easily.
+ *
+ * @ingroup Edje_Object_Part
+ *
+ * @{
+ */
+
+typedef enum _Edje_Text_Effect
+{
+#define EDJE_TEXT_EFFECT_MASK_BASIC 0xf
+#define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \
+   do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0)
+   EDJE_TEXT_EFFECT_NONE                = 0,
+   EDJE_TEXT_EFFECT_PLAIN               = 1,
+   EDJE_TEXT_EFFECT_OUTLINE             = 2,
+   EDJE_TEXT_EFFECT_SOFT_OUTLINE        = 3,
+   EDJE_TEXT_EFFECT_SHADOW              = 4,
+   EDJE_TEXT_EFFECT_SOFT_SHADOW         = 5,
+   EDJE_TEXT_EFFECT_OUTLINE_SHADOW      = 6,
+   EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7,
+   EDJE_TEXT_EFFECT_FAR_SHADOW          = 8,
+   EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW     = 9,
+   EDJE_TEXT_EFFECT_GLOW                = 10,
+
+   EDJE_TEXT_EFFECT_LAST                = 11,
+
+#define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4)
+#define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \
+   do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0)
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM       = (0x1 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT  = (0x2 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT         = (0x3 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT     = (0x4 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP          = (0x5 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT    = (0x6 << 4),
+   EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT        = (0x7 << 4)
+} Edje_Text_Effect;
+
+typedef void         (*Edje_Text_Change_Cb)     (void *data, Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the object text callback.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param func The callback function to handle the text change
+ * @param data The data associated to the callback function.
+ *
+ * This function sets the callback to be called when the text changes.
+ */
+EAPI void         edje_object_text_change_cb_set      (Evas_Object *obj, Edje_Text_Change_Cb func, void *data);
+
+/**
+ * @brief Sets the text for an object part
+ *
+ * @param obj A valid Evas Object handle
+ * @param part The part name
+ * @param text The text string
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
+ */
+EAPI Eina_Bool    edje_object_part_text_set           (Evas_Object *obj, const char *part, const char *text);
+
+/**
+ * @brief Sets the text for an object part, but converts HTML escapes to UTF8
+ *
+ * This converts the given string @p text to UTF8 assuming it contains HTML
+ * style escapes like "&amp;" and "&copy;" etc. IF the part is of type TEXT,
+ * as opposed to TEXTBLOCK.
+ *
+ * @param obj A valid Evas Object handle
+ * @param part The part name
+ * @param text The text string
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
+ *
+ * @since 1.2
+ */
+EAPI Eina_Bool    edje_object_part_text_escaped_set   (Evas_Object *obj, const char *part, const char *text);
+
+/**
+ * @brief Return the text of the object part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The text string
+ *
+ * This function returns the text associated to the object part.
+ *
+ * @see edje_object_part_text_set().
+ */
+EAPI const char  *edje_object_part_text_get           (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the style of the
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param style The style to set (textblock conventions).
+ *
+ * This function sets the style associated with the textblock part.
+ *
+ * @since 1.2.0
+ */
+EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style);
+
+/**
+ * @brief Return the text of the object part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The text string
+ *
+ * This function returns the style associated with the textblock part.
+ *
+ * @since 1.2.0
+ */
+EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Delete the top style form the user style stack.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @since 1.2.0
+ */
+EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part);
+
+/**
+ * @brief Sets the raw (non escaped) text for an object part.
+ *
+ * @param obj A valid Evas Object handle
+ * @param part The part name
+ * @param text_to_escape The text string
+ *
+ * This funciton will not do escape for you if it is a TEXTBLOCK part, that is,
+ * if text contain tags, these tags will not be interpreted/parsed by TEXTBLOCK.
+ *
+ * @see edje_object_part_text_unescaped_get().
+ */
+EAPI Eina_Bool    edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape);
+
+/**
+ * @brief Returns the text of the object part, without escaping.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The @b allocated text string without escaping, or NULL on
+ * problems.
+ *
+ * This function is the counterpart of
+ * edje_object_part_text_unescaped_set(). Please notice that the
+ * result is newly allocated memory and should be released with free()
+ * when done.
+ *
+ * @see edje_object_part_text_unescaped_set().
+ */
+EAPI char        *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Insert text for an object part.
+ *
+ * @param obj A valid Evas Object handle
+ * @param part The part name
+ * @param text The text string
+ *
+ * This function inserts the text for an object part just before the
+ * cursor position.
+ *
+ */
+EAPI void             edje_object_part_text_insert                  (Evas_Object *obj, const char *part, const char *text);
+
+/**
+ * @brief Insert text for an object part.
+ *
+ * @param obj A valid Evas Object handle
+ * @param part The part name
+ * @param text The text string
+ *
+ * This function inserts the text for an object part at the end; It does not
+ * move the cursor.
+ *
+ * @since 1.1
+ */
+EAPI void             edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text);
+
+/**
+ * @brief Return a list of char anchor names.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The list of anchors (const char *), do not modify!
+ *
+ * This function returns a list of char anchor names.
+ *
+ */
+EAPI const Eina_List *edje_object_part_text_anchor_list_get         (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param anchor The anchor name
+ *
+ * @return The list of anchor rects (const Evas_Textblock_Rectangle
+ * *), do not modify! Geometry is relative to entry part.
+ *
+ * This function return a list of Evas_Textblock_Rectangle anchor
+ * rectangles.
+ *
+ */
+EAPI const Eina_List *edje_object_part_text_anchor_geometry_get     (const Evas_Object *obj, const char *part, const char *anchor);
+
+/**
+ * @brief Return a list of char item names.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The list of items (const char *), do not modify!
+ *
+ * This function returns a list of char item names.
+ *
+ */
+EAPI const Eina_List *edje_object_part_text_item_list_get           (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Return item geometry.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param item The item name
+ * @param cx Item x return (relative to entry part)
+ * @param cy Item y return (relative to entry part)
+ * @param cw Item width return
+ * @param ch Item height return
+ *
+ * @return 1 if item exists, 0 if not
+ *
+ * This function return a list of Evas_Textblock_Rectangle item
+ * rectangles.
+ *
+ */
+EAPI Eina_Bool        edje_object_part_text_item_geometry_get       (const Evas_Object *obj, const char *part, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+
+/**
+ * @brief This function inserts text as if the user has inserted it.
+ *
+ * This means it actually registers as a change and emits signals, triggers
+ * callbacks as appropriate.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param text The text string
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_user_insert        (const Evas_Object *obj, const char *part, const char *text);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Text_Selection Edje Text Selection
+ *
+ * @brief Functions that deal with selection in text parts
+ *
+ * Selection is a known functionality for texts in the whole computational
+ * world. It is a block of text marked for further manipulation.
+ *
+ * Edje is responsible for handling this functionality through the
+ * following functions.
+ *
+ * @ingroup Edje_Part_Text
+ *
+ * @{
+ */
+
+/**
+ * @brief Return the selection text of the object part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The text string
+ *
+ * This function returns selection text of the object part.
+ *
+ * @see edje_object_part_text_select_all()
+ * @see edje_object_part_text_select_none()
+ */
+EAPI const char      *edje_object_part_text_selection_get           (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the selection to be none.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * This function sets the selection text to be none.
+ */
+EAPI void             edje_object_part_text_select_none             (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the selection to be everything.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * This function selects all text of the object of the part.
+ */
+EAPI void             edje_object_part_text_select_all              (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Enables selection if the entry is an EXPLICIT selection mode
+ * type.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param allow EINA_TRUE to enable, EINA_FALSE otherwise
+ *
+ * The default is to @b not allow selection. This function only affects user
+ * selection, functions such as edje_object_part_text_select_all() and
+ * edje_object_part_text_select_none() are not affected.
+ */
+EAPI void             edje_object_part_text_select_allow_set        (const Evas_Object *obj, const char *part, Eina_Bool allow);
+
+/**
+ * @brief Aborts any selection action on a part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ */
+EAPI void             edje_object_part_text_select_abort            (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Starts selecting at current cursor position
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ */
+EAPI void             edje_object_part_text_select_begin            (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Extends the current selection to the current cursor position
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ */
+EAPI void             edje_object_part_text_select_extend           (const Evas_Object *obj, const char *part);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Text_Cursor Edje Text Cursor
+ *
+ * @brief Functions that deal with cursor in text parts
+ *
+ * Cursor is a known functionality for texts in the whole computational
+ * world. It marks a position in the text from where one may want
+ * to make a insertion, deletion or selection.
+ *
+ * Edje is responsible for handling this functionality through the
+ * following functions.
+ *
+ * @ingroup Edje_Part_Text
+ *
+ * @{
+ */
+
+typedef enum _Edje_Cursor
+{
+   EDJE_CURSOR_MAIN,
+   EDJE_CURSOR_SELECTION_BEGIN,
+   EDJE_CURSOR_SELECTION_END,
+   EDJE_CURSOR_PREEDIT_START,
+   EDJE_CURSOR_PREEDIT_END,
+   EDJE_CURSOR_USER,
+   EDJE_CURSOR_USER_EXTRA,
+   // more later
+} Edje_Cursor;
+
+/**
+ * @brief Advances the cursor to the next cursor position.
+ * @see evas_textblock_cursor_char_next
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The edje cursor to advance
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_next                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Moves the cursor to the previous char
+ * @see evas_textblock_cursor_char_prev
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_prev                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Move the cursor to the char above the current cursor position.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_up                   (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Moves the cursor to the char below the current cursor position.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_down                 (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Moves the cursor to the beginning of the text part
+ * @see evas_textblock_cursor_paragraph_first
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI void             edje_object_part_text_cursor_begin_set            (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Moves the cursor to the end of the text part.
+ * @see evas_textblock_cursor_paragraph_last
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI void             edje_object_part_text_cursor_end_set              (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Copy the cursor to another cursor.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param src the cursor to copy from
+ * @param dst the cursor to copy to
+ */
+EAPI void             edje_object_part_text_cursor_copy                 (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
+
+/**
+ * @brief Move the cursor to the beginning of the line.
+ * @see evas_textblock_cursor_line_char_first
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI void             edje_object_part_text_cursor_line_begin_set       (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Move the cursor to the end of the line.
+ * @see evas_textblock_cursor_line_char_last
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur the edje cursor to work on
+ */
+EAPI void             edje_object_part_text_cursor_line_end_set         (Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * Position the given cursor to a X,Y position.
+ *
+ * This is frequently used with the user cursor.
+ *
+ * @param obj An Edje object.
+ * @param part The part containing the object.
+ * @param cur The cursor to adjust.
+ * @param x X Coordinate.
+ * @param y Y Coordinate.
+ * @return True on success, false on error.
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_coord_set            (Evas_Object *obj, const char *part, Edje_Cursor cur, Evas_Coord x, Evas_Coord y);
+
+/**
+ * @brief Returns whether the cursor points to a format.
+ * @see evas_textblock_cursor_is_format
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The cursor to adjust.
+ * @return EINA_TRUE if it's true, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_is_format_get        (const Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Return true if the cursor points to a visible format
+ * For example \\t, \\n, item and etc.
+ * @see  evas_textblock_cursor_format_is_visible_get
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The cursor to adjust.
+ */
+EAPI Eina_Bool        edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Returns the content (char) at the cursor position.
+ * @see evas_textblock_cursor_content_get
+ *
+ * You must free the return (if not NULL) after you are done with it.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The cursor to use
+ * @return The character string pointed to (may be a multi-byte utf8 sequence) terminated by a nul byte.
+ */
+EAPI char            *edje_object_part_text_cursor_content_get          (const Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Sets the cursor position to the given value
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The cursor to move
+ * @param pos the position of the cursor
+ * @since 1.1.0
+ */
+EAPI void             edje_object_part_text_cursor_pos_set              (Evas_Object *obj, const char *part, Edje_Cursor cur, int pos);
+
+/**
+ * @brief Retrieves the current position of the cursor
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cur The cursor to get the position
+ * @return The cursor position
+ * @since 1.1.0
+ */
+EAPI int              edje_object_part_text_cursor_pos_get              (const Evas_Object *obj, const char *part, Edje_Cursor cur);
+
+/**
+ * @brief Returns the cursor geometry of the part relative to the edje
+ * object.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param x Cursor X position
+ * @param y Cursor Y position
+ * @param w Cursor width
+ * @param h Cursor height
+ *
+ */
+EAPI void             edje_object_part_text_cursor_geometry_get     (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Text_Entry Edje Text Entry
+ *
+ * @brief Functions that deal with text entries
+ *
+ * In Edje it's possible to use a text part as a entry so the user is
+ * able to make inputs of text. To do so, the text part must be set
+ * with a input panel taht will work as a virtual keyboard.
+ *
+ * Some of effects can be applied to the entered text and also plenty
+ * actions can be performed after any input.
+ *
+ * Use the functions of this section to handle the user input of text.
+ *
+ * @ingroup Edje_Part_Text
+ *
+ * @{
+ */
+
+struct _Edje_Entry_Change_Info
+{
+   union {
+        struct {
+             const char *content;
+             size_t pos;
+             size_t plain_length; /* Number of cursor positions represented
+                                     in content. */
+        } insert;
+        struct {
+             const char *content;
+             size_t start, end;
+        } del;
+   } change;
+   Eina_Bool insert : 1; /**< True if the "change" union's "insert" is valid */
+   Eina_Bool merge : 1; /**< True if can be merged with the previous one. Used for example with insertion when something is already selected. */
+};
+
+/**
+ * @since 1.1.0
+ */
+typedef struct _Edje_Entry_Change_Info        Edje_Entry_Change_Info;
+
+typedef enum _Edje_Text_Filter_Type
+{
+   EDJE_TEXT_FILTER_TEXT = 0,
+   EDJE_TEXT_FILTER_FORMAT = 1,
+   EDJE_TEXT_FILTER_MARKUP = 2
+} Edje_Text_Filter_Type;
+
+typedef enum _Edje_Text_Autocapital_Type
+{
+   EDJE_TEXT_AUTOCAPITAL_TYPE_NONE,
+   EDJE_TEXT_AUTOCAPITAL_TYPE_WORD,
+   EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE,
+   EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER
+} Edje_Text_Autocapital_Type;
+
+typedef enum _Edje_Input_Panel_Lang
+{
+   EDJE_INPUT_PANEL_LANG_AUTOMATIC,    /**< Automatic @since 1.2 */
+   EDJE_INPUT_PANEL_LANG_ALPHABET      /**< Alphabet @since 1.2 */
+} Edje_Input_Panel_Lang;
+
+typedef enum _Edje_Input_Panel_Return_Key_Type
+{
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE,    /**< Done @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO,      /**< Go @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN,    /**< Join @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN,   /**< Login @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT,    /**< Next @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH,  /**< Search or magnifier icon @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND,    /**< Send @since 1.2 */
+   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN   /**< Sign-in @since 1.8 */
+} Edje_Input_Panel_Return_Key_Type;
+
+typedef enum _Edje_Input_Panel_Layout
+{
+   EDJE_INPUT_PANEL_LAYOUT_NORMAL,          /**< Default layout */
+   EDJE_INPUT_PANEL_LAYOUT_NUMBER,          /**< Number layout */
+   EDJE_INPUT_PANEL_LAYOUT_EMAIL,           /**< Email layout */
+   EDJE_INPUT_PANEL_LAYOUT_URL,             /**< URL layout */
+   EDJE_INPUT_PANEL_LAYOUT_PHONENUMBER,     /**< Phone Number layout */
+   EDJE_INPUT_PANEL_LAYOUT_IP,              /**< IP layout */
+   EDJE_INPUT_PANEL_LAYOUT_MONTH,           /**< Month layout */
+   EDJE_INPUT_PANEL_LAYOUT_NUMBERONLY,      /**< Number Only layout */
+   EDJE_INPUT_PANEL_LAYOUT_INVALID,         /**< Never use this */
+   EDJE_INPUT_PANEL_LAYOUT_HEX,             /**< Hexadecimal layout @since 1.2 */
+   EDJE_INPUT_PANEL_LAYOUT_TERMINAL,        /**< Command-line terminal layout including esc, alt, ctrl key, so on (no auto-correct, no auto-capitalization) @since 1.2 */
+   EDJE_INPUT_PANEL_LAYOUT_PASSWORD         /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */
+} Edje_Input_Panel_Layout;
+
+typedef void         (*Edje_Text_Filter_Cb)     (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text);
+typedef void         (*Edje_Markup_Filter_Cb)   (void *data, Evas_Object *obj, const char *part, char **text);
+typedef Evas_Object *(*Edje_Item_Provider_Cb)   (void *data, Evas_Object *obj, const char *part, const char *item);
+
+/**
+ * @brief Show last character in password mode.
+ *
+ * @param password_show_last If TRUE enable last character show in password mode.
+ *
+ * This function enables last input to be visible when in password mode for few seconds
+ * or until the next input is entered.
+ *
+ * The time out value is obtained by edje_password_show_last_timeout_set function.
+ *
+ * @see edje_password_show_last_timeout_set().
+ */
+EAPI void edje_password_show_last_set(Eina_Bool password_show_last);
+
+/**
+ * @brief Set's the timeout value in last show password mode.
+ *
+ * @param password_show_last_timeout The timeout value.
+ *
+ * This functions sets the time out value for which the last input entered in password
+ * mode will be visible.
+ *
+ * This value can be used only when last show mode is set in password mode.
+ *
+ * @see edje_password_show_last_set().
+ *
+ */
+EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout);
+
+/**
+ * @brief Set the RTL orientation for this object.
+ *
+ * @param obj A handle to an Edje object.
+ * @param rtl new value of flag EINA_TRUE/EINA_FALSE
+ * @since 1.1.0
+ */
+EAPI void         edje_object_mirrored_set        (Evas_Object *obj, Eina_Bool rtl);
+
+/**
+ * @brief Get the RTL orientation for this object.
+ *
+ * You can RTL orientation explicitly with edje_object_mirrored_set.
+ *
+ * @param obj A handle to an Edje object.
+ * @return @c EINA_TRUE if the flag is set or @c EINA_FALSE if not.
+ * @since 1.1.0
+ */
+EAPI Eina_Bool    edje_object_mirrored_get        (const Evas_Object *obj);
+
+/**
+ * @brief Set the function that provides item objects for named items in an edje entry text
+ *
+ * @param obj A valid Evas Object handle
+ * @param func The function to call (or NULL to disable) to get item objects
+ * @param data The data pointer to pass to the @p func callback
+ *
+ * Item objects may be deleted any time by Edje, and will be deleted when the
+ * Edje object is deleted (or file is set to a new file).
+ */
+EAPI void         edje_object_item_provider_set       (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data);
+
+/**
+ * @brief Reset the input method context if needed.
+ *
+ * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_imf_context_reset           (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Get the input method context in entry.
+ *
+ * If ecore_imf was not available when edje was compiled, this function returns NULL
+ * otherwise, the returned pointer is an Ecore_IMF *
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return The input method context (Ecore_IMF_Context *) in entry
+ * @since 1.2.0
+ */
+EAPI void              *edje_object_part_text_imf_context_get           (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the layout of the input panel.
+ *
+ * The layout of the input panel or virtual keyboard can make it easier or
+ * harder to enter content. This allows you to hint what kind of input you
+ * are expecting to enter and thus have the input panel automatically
+ * come up with the right mode.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param layout layout type
+ * @since 1.1
+ */
+EAPI void             edje_object_part_text_input_panel_layout_set      (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout);
+
+/**
+ * @brief Get the layout of the input panel.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * @return Layout type of the input panel
+ *
+ * @see edje_object_part_text_input_panel_layout_set
+ * @since 1.1
+ */
+EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the autocapitalization type on the immodule.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param autocapital_type The type of autocapitalization
+ * @since 1.1.0
+ */
+EAPI void         edje_object_part_text_autocapital_type_set            (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type);
+
+/**
+ * @brief Retrieves the autocapitalization type
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The autocapitalization type
+ * @since 1.1.0
+ */
+EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set whether the prediction is allowed or not.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param prediction If true, the prediction feature is allowed.
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_prediction_allow_set        (Evas_Object *obj, const char *part, Eina_Bool prediction);
+
+/**
+ * @brief Get whether the prediction is allowed or not.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return EINA_TRUE if prediction feature is allowed.
+ * @since 1.2.0
+ */
+EAPI Eina_Bool        edje_object_part_text_prediction_allow_get        (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Sets the attribute to show the input panel automatically.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
+ * @since 1.1.0
+ */
+EAPI void             edje_object_part_text_input_panel_enabled_set     (Evas_Object *obj, const char *part, Eina_Bool enabled);
+
+/**
+ * @brief Retrieve the attribute to show the input panel automatically.
+ * @see edje_object_part_text_input_panel_enabled_set
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return EINA_TRUE if it supports or EINA_FALSE otherwise
+ * @since 1.1.0
+ */
+EAPI Eina_Bool        edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
+ *
+ * Note that input panel is shown or hidden automatically according to the focus state.
+ * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Hide the input panel (virtual keyboard).
+ * @see edje_object_part_text_input_panel_show
+ *
+ * Note that input panel is shown or hidden automatically according to the focus state.
+ * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part);
+
+/**
+ * Set the language mode of the input panel.
+ *
+ * This API can be used if you want to show the Alphabet keyboard.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param lang the language to be set to the input panel.
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang);
+
+/**
+ * Get the language mode of the input panel.
+ *
+ * See @ref edje_object_part_text_input_panel_language_set for more details.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return input panel language type
+ * @since 1.2.0
+ */
+EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part);
+
+/**
+ * Set the input panel-specific data to deliver to the input panel.
+ *
+ * This API is used by applications to deliver specific data to the input panel.
+ * The data format MUST be negotiated by both application and the input panel.
+ * The size and format of data are defined by the input panel.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param data The specific data to be set to the input panel.
+ * @param len the length of data, in bytes, to send to the input panel
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len);
+
+/**
+ * Get the specific data of the current active input panel.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param data The specific data to be got from the input panel
+ * @param len The length of data
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len);
+
+/**
+ * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
+ *
+ * An input panel displays the string or icon associated with this type
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param return_key_type The type of "return" key on the input panel
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type);
+
+/**
+ * Get the "return" key type.
+ *
+ * @see edje_object_part_text_input_panel_return_key_type_set() for more details
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The type of "return" key on the input panel
+ * @since 1.2.0
+ */
+EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part);
+
+/**
+ * Set the return key on the input panel to be disabled.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param disabled The state
+ * @since 1.2.0
+ */
+EAPI void             edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled);
+
+/**
+ * Get whether the return key on the input panel should be disabled or not.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return EINA_TRUE if it should be disabled
+ * @since 1.2.0
+ */
+EAPI Eina_Bool        edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part);
+
+/**
+ * Add a filter function for newly inserted text.
+ *
+ * Whenever text is inserted (not the same as set) into the given @p part,
+ * the list of filter functions will be called to decide if and how the new
+ * text will be accepted.
+ * There are three types of filters, EDJE_TEXT_FILTER_TEXT,
+ * EDJE_TEXT_FILTER_FORMAT and EDJE_TEXT_FILTER_MARKUP.
+ * The text parameter in the @p func filter can be modified by the user and
+ * it's up to him to free the one passed if he's to change the pointer. If
+ * doing so, the newly set text should be malloc'ed, as once all the filters
+ * are called Edje will free it.
+ * If the text is to be rejected, freeing it and setting the pointer to NULL
+ * will make Edje break out of the filter cycle and reject the inserted
+ * text.
+ *
+ * @warning This function will be deprecated because of difficulty in use.
+ *          The type(format, text, or markup) of text should be always
+ *          checked in the filter function for correct filtering.
+ *          Please use edje_object_text_markup_filter_callback_add() instead. There
+ *          is no need to check the type of text in the filter function
+ *          because the text is always markup.
+ * @warning If you use this function with
+ *          edje_object_text_markup_filter_callback_add() together, all
+ *          Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
+ *          will be executed, and then filtered text will be inserted.
+ *
+ * @see edje_object_text_insert_filter_callback_del
+ * @see edje_object_text_insert_filter_callback_del_full
+ * @see edje_object_text_markup_filter_callback_add
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The callback function that will act as filter
+ * @param data User provided data to pass to the filter function
+ */
+EAPI void             edje_object_text_insert_filter_callback_add       (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
+
+/**
+ * Delete a function from the filter list.
+ *
+ * Delete the given @p func filter from the list in @p part. Returns
+ * the user data pointer given when added.
+ *
+ * @see edje_object_text_insert_filter_callback_add
+ * @see edje_object_text_insert_filter_callback_del_full
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The function callback to remove
+ *
+ * @return The user data pointer if successful, or NULL otherwise
+ */
+EAPI void            *edje_object_text_insert_filter_callback_del       (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func);
+
+/**
+ * Delete a function and matching user data from the filter list.
+ *
+ * Delete the given @p func filter and @p data user data from the list
+ * in @p part.
+ * Returns the user data pointer given when added.
+ *
+ * @see edje_object_text_insert_filter_callback_add
+ * @see edje_object_text_insert_filter_callback_del
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The function callback to remove
+ * @param data The data passed to the callback function
+ *
+ * @return The same data pointer if successful, or NULL otherwise
+ */
+EAPI void            *edje_object_text_insert_filter_callback_del_full  (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
+
+/**
+ * Add a markup filter function for newly inserted text.
+ *
+ * Whenever text is inserted (not the same as set) into the given @p part,
+ * the list of markup filter functions will be called to decide if and how
+ * the new text will be accepted.
+ * The text parameter in the @p func filter is always markup. It can be
+ * modified by the user and it's up to him to free the one passed if he's to
+ * change the pointer. If doing so, the newly set text should be malloc'ed,
+ * as once all the filters are called Edje will free it.
+ * If the text is to be rejected, freeing it and setting the pointer to NULL
+ * will make Edje break out of the filter cycle and reject the inserted
+ * text.
+ * This function is different from edje_object_text_insert_filter_callback_add()
+ * in that the text parameter in the @p fucn filter is always markup.
+ *
+ * @warning If you use this function with
+ *          edje_object_text_insert_filter_callback_add() togehter, all
+ *          Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
+ *          will be executed, and then filtered text will be inserted.
+ *
+ * @see edje_object_text_markup_filter_callback_del
+ * @see edje_object_text_markup_filter_callback_del_full
+ * @see edje_object_text_insert_filter_callback_add
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The callback function that will act as markup filter
+ * @param data User provided data to pass to the filter function
+ * @since 1.2.0
+ */
+EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
+
+/**
+ * Delete a function from the markup filter list.
+ *
+ * Delete the given @p func filter from the list in @p part. Returns
+ * the user data pointer given when added.
+ *
+ * @see edje_object_text_markup_filter_callback_add
+ * @see edje_object_text_markup_filter_callback_del_full
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The function callback to remove
+ *
+ * @return The user data pointer if successful, or NULL otherwise
+ * @since 1.2.0
+ */
+EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func);
+
+/**
+ * Delete a function and matching user data from the markup filter list.
+ *
+ * Delete the given @p func filter and @p data user data from the list
+ * in @p part.
+ * Returns the user data pointer given when added.
+ *
+ * @see edje_object_text_markup_filter_callback_add
+ * @see edje_object_text_markup_filter_callback_del
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param func The function callback to remove
+ * @param data The data passed to the callback function
+ *
+ * @return The same data pointer if successful, or NULL otherwise
+ * @since 1.2.0
+ */
+EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Swallow Edje Swallow Part
+ *
+ * @brief Functions that deal with parts of type swallow and swallowed objects.
+ *
+ * A important feature of Edje is to be able to create Evas_Objects
+ * in code and place them in a layout. And that is what swallowing
+ * is all about.
+ *
+ * Swallow parts are place holders defined in the EDC file for
+ * objects that one may want to include in the layout later, or for
+ * objects that are not native of Edje. In this last case, Edje will
+ * only treat the Evas_Object properties of the swallowed objects.
+ *
+ * @ingroup Edje_Object_Part
+ *
+ * @{
+ */
+
+typedef enum _Edje_Aspect_Control
+{
+   EDJE_ASPECT_CONTROL_NONE = 0,
+   EDJE_ASPECT_CONTROL_NEITHER = 1,
+   EDJE_ASPECT_CONTROL_HORIZONTAL = 2,
+   EDJE_ASPECT_CONTROL_VERTICAL = 3,
+   EDJE_ASPECT_CONTROL_BOTH = 4
+} Edje_Aspect_Control;
+
+/**
+ * @brief Set the object minimum size.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param minw The minimum width
+ * @param minh The minimum height
+ *
+ * This sets the minimum size restriction for the object.
+ */
+EAPI void         edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
+
+/**
+ * @brief Set the object maximum size.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param maxw The maximum width
+ * @param maxh The maximum height
+ *
+ * This sets the maximum size restriction for the object.
+ */
+EAPI void         edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
+
+/**
+ * @brief Set the object aspect size.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param aspect The aspect control axes
+ * @param aw The aspect radio width
+ * @param ah The aspect ratio height
+ *
+ * This sets the desired aspect ratio to keep an object that will be
+ * swallowed by Edje. The width and height define a preferred size
+ * ASPECT and the object may be scaled to be larger or smaller, but
+ * retaining the relative scale of both aspect width and height.
+ */
+EAPI void         edje_extern_object_aspect_set   (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah);
+
+/**
+ * @brief "Swallows" an object into one of the Edje object @c SWALLOW
+ * parts.
+ *
+ * @param obj A valid Edje object handle
+ * @param part The swallow part's name
+ * @param obj_swallow The object to occupy that part
+ *
+ * Swallowing an object into an Edje object is, for a given part of
+ * type @c SWALLOW in the EDC group which gave life to @a obj, to set
+ * an external object to be controlled by @a obj, being displayed
+ * exactly over that part's region inside the whole Edje object's
+ * viewport.
+ *
+ * From this point on, @a obj will have total control over @a
+ * obj_swallow's geometry and visibility. For instance, if @a obj is
+ * visible, as in @c evas_object_show(), the swallowed object will be
+ * visible too -- if the given @c SWALLOW part it's in is also
+ * visible. Other actions on @a obj will also reflect on the swallowed
+ * object as well (e.g. resizing, moving, raising/lowering, etc.).
+ *
+ * Finally, all internal changes to @a part, specifically, will
+ * reflect on the displaying of @a obj_swallow, for example state
+ * changes leading to different visibility states, geometries,
+ * positions, etc.
+ *
+ * If an object has already been swallowed into this part, then it
+ * will first be unswallowed (as in edje_object_part_unswallow())
+ * before the new object is swallowed.
+ *
+ * @note @a obj @b won't delete the swallowed object once it is
+ * deleted -- @a obj_swallow will get to an unparented state again.
+ *
+ * For more details on EDC @c SWALLOW parts, see @ref edcref "syntax
+ * reference".
+ */
+EAPI Eina_Bool        edje_object_part_swallow        (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
+
+/**
+ * @brief Unswallow an object.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param obj_swallow The swallowed object
+ *
+ * Causes the edje to regurgitate a previously swallowed object. :)
+ *
+ * @note @p obj_swallow will @b not be deleted or hidden.
+ * @note @p obj_swallow may appear shown on the evas depending on its state when
+ * it got unswallowed. Make sure you delete it or hide it if you do not want it to.
+ */
+EAPI void             edje_object_part_unswallow      (Evas_Object *obj, Evas_Object *obj_swallow);
+
+/**
+ * @brief Get the object currently swallowed by a part.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @return The swallowed object, or NULL if there is none.
+ */
+EAPI Evas_Object     *edje_object_part_swallow_get    (const Evas_Object *obj, const char *part);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Drag Edje Drag
+ *
+ * @brief Functions that deal with dragable parts.
+ *
+ * To create a movable part it must be declared as dragable
+ * in EDC file. To do so, one must define a "dragable" block inside
+ * the "part" block.
+ *
+ * These functions are used to set dragging properties to a
+ * part or get dragging information about it.
+ *
+ * @see @ref tutorial_edje_drag
+ *
+ * @ingroup Edje_Object_Part
+ *
+ * @{
+ */
+
+typedef enum _Edje_Drag_Dir
+{
+   EDJE_DRAG_DIR_NONE = 0,
+   EDJE_DRAG_DIR_X = 1,
+   EDJE_DRAG_DIR_Y = 2,
+   EDJE_DRAG_DIR_XY = 3
+} Edje_Drag_Dir;
+
+/**
+ * @brief Determine dragable directions.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ *
+ * The dragable directions are defined in the EDC file, inside the @c dragable
+ * section, by the attributes @c x and @c y. See the @ref edcref for more
+ * information.
+ *
+ * @return #EDJE_DRAG_DIR_NONE: Not dragable\n
+ * #EDJE_DRAG_DIR_X: Dragable in X direction\n
+ * #EDJE_DRAG_DIR_Y: Dragable in Y direction\n
+ * #EDJE_DRAG_DIR_XY: Dragable in X & Y directions
+ */
+EAPI Edje_Drag_Dir    edje_object_part_drag_dir_get   (const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Set the dragable object location.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The x value
+ * @param dy The y value
+ *
+ * Places the dragable object at the given location.
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1,
+ * representing the relative position to the dragable area on that axis.
+ *
+ * This value means, for the vertical axis, that 0.0 will be at the top if the
+ * first parameter of @c y in the dragable part theme is 1, and at bottom if it
+ * is -1.
+ *
+ * For the horizontal axis, 0.0 means left if the first parameter of @c x in the
+ * dragable part theme is 1, and right if it is -1.
+ *
+ * @see edje_object_part_drag_value_get()
+ */
+EAPI Eina_Bool        edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy);
+
+/**
+ * @brief Get the dragable object location.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The X value pointer
+ * @param dy The Y value pointer
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1,
+ * representing the relative position to the dragable area on that axis.
+ *
+ * @see edje_object_part_drag_value_set()
+ *
+ * Gets the drag location values.
+ */
+EAPI Eina_Bool        edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy);
+
+/**
+ * @brief Set the dragable object size.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dw The drag width
+ * @param dh The drag height
+ *
+ * Values for @p dw and @p dh are real numbers that range from 0 to 1,
+ * representing the relative size of the dragable area on that axis.
+ *
+ * Sets the size of the dragable object.
+ *
+ * @see edje_object_part_drag_size_get()
+ */
+EAPI Eina_Bool        edje_object_part_drag_size_set  (Evas_Object *obj, const char *part, double dw, double dh);
+
+/**
+ * @brief Get the dragable object size.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dw The drag width pointer
+ * @param dh The drag height pointer
+ *
+ * Gets the dragable object size.
+ *
+ * @see edje_object_part_drag_size_set()
+ */
+EAPI Eina_Bool        edje_object_part_drag_size_get  (const Evas_Object *obj, const char *part, double *dw, double *dh);
+
+/**
+ * @brief Sets the drag step increment.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The x step amount
+ * @param dy The y step amount
+ *
+ * Sets the x,y step increments for a dragable object.
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1,
+ * representing the relative size of the dragable area on that axis by which the
+ * part will be moved.
+ *
+ * @see edje_object_part_drag_step_get()
+ */
+EAPI Eina_Bool        edje_object_part_drag_step_set  (Evas_Object *obj, const char *part, double dx, double dy);
+
+/**
+ * @brief Gets the drag step increment values.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part
+ * @param dx The x step increment pointer
+ * @param dy The y step increment pointer
+ *
+ * Gets the x and y step increments for the dragable object.
+ *
+ *
+ * @see edje_object_part_drag_step_set()
+ */
+EAPI Eina_Bool        edje_object_part_drag_step_get  (const Evas_Object *obj, const char *part, double *dx, double *dy);
+
+/**
+ * @brief Sets the page step increments.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The x page step increment
+ * @param dy The y page step increment
+ *
+ * Sets the x,y page step increment values.
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1,
+ * representing the relative size of the dragable area on that axis by which the
+ * part will be moved.
+ *
+ * @see edje_object_part_drag_page_get()
+ */
+EAPI Eina_Bool        edje_object_part_drag_page_set  (Evas_Object *obj, const char *part, double dx, double dy);
+
+/**
+ * @brief Gets the page step increments.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The dx page increment pointer
+ * @param dy The dy page increment pointer
+ *
+ * Gets the x,y page step increments for the dragable object.
+ *
+ * @see edje_object_part_drag_page_set()
+ */
+EAPI Eina_Bool        edje_object_part_drag_page_get  (const Evas_Object *obj, const char *part, double *dx, double *dy);
+
+/**
+ * @brief Steps the dragable x,y steps.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The x step
+ * @param dy The y step
+ *
+ * Steps x,y where the step increment is the amount set by
+ * edje_object_part_drag_step_set.
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1.
+ *
+ * @see edje_object_part_drag_page()
+ */
+EAPI Eina_Bool        edje_object_part_drag_step      (Evas_Object *obj, const char *part, double dx, double dy);
+
+/**
+ * @brief Pages x,y steps.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param dx The x step
+ * @param dy The y step
+ *
+ * Pages x,y where the increment is defined by
+ * edje_object_part_drag_page_set.
+ *
+ * Values for @p dx and @p dy are real numbers that range from 0 to 1.
+ *
+ * @warning Paging is bugged!
+ *
+ * @see edje_object_part_drag_step()
+ */
+EAPI Eina_Bool        edje_object_part_drag_page      (Evas_Object *obj, const char *part, double dx, double dy);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Box Edje Box Part
+ *
+ * @brief Functions that deal with parts of type box.
+ *
+ * Box is a container type for parts, that means it can contain
+ * other parts.
+ *
+ * @ingroup Edje_Object_Part
+ *
+ * @{
+ */
+
+/**
+ * @brief Registers a custom layout to be used in edje boxes.
+ *
+ * @param name The name of the layout
+ * @param func The function defining the layout
+ * @param layout_data_get This function gets the custom data pointer
+ * for func
+ * @param layout_data_free Passed to func to free its private data
+ * when needed
+ * @param free_data Frees data
+ * @param data Private pointer passed to layout_data_get
+ *
+ * This function registers custom layouts that can be referred from
+ * themes by the registered name. The Evas_Object_Box_Layout
+ * functions receive two pointers for internal use, one being private
+ * data, and the other the function to free that data when it's not
+ * longer needed. From Edje, this private data will be retrieved by
+ * calling layout_data_get, and layout_data_free will be the free
+ * function passed to func. layout_data_get will be called with data
+ * as its parameter, and this one will be freed by free_data whenever
+ * the layout is unregistered from Edje.
+ */
+EAPI void         edje_box_layout_register        (const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data);
+
+/**
+ * @brief Appends an object to the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child The object to append
+ *
+ * @return @c EINA_TRUE: Successfully added.\n
+ * @c EINA_FALSE: An error occurred.
+ *
+ * Appends child to the box indicated by part.
+ *
+ * @see edje_object_part_box_prepend()
+ * @see edje_object_part_box_insert_before()
+ * @see edje_object_part_box_insert_at()
+ */
+EAPI Eina_Bool    edje_object_part_box_append             (Evas_Object *obj, const char *part, Evas_Object *child);
+
+/**
+ * @brief Prepends an object to the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child The object to prepend
+ *
+ * @return @c EINA_TRUE: Successfully added.\n
+ * @c EINA_FALSE: An error occurred.
+ *
+ * Prepends child to the box indicated by part.
+ *
+ * @see edje_object_part_box_append()
+ * @see edje_object_part_box_insert_before()
+ * @see edje_object_part_box_insert_at()
+ */
+EAPI Eina_Bool    edje_object_part_box_prepend            (Evas_Object *obj, const char *part, Evas_Object *child);
+
+/**
+ * @brief Adds an object to the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child The object to insert
+ * @param reference The object to be used as reference
+ *
+ * @return @c EINA_TRUE: Successfully added.\n
+ * @c EINA_FALSE: An error occurred.
+ *
+ * Inserts child in the box given by part, in the position marked by
+ * reference.
+ *
+ * @see edje_object_part_box_append()
+ * @see edje_object_part_box_prepend()
+ * @see edje_object_part_box_insert_at()
+ */
+EAPI Eina_Bool    edje_object_part_box_insert_before      (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
+
+/**
+ * @brief Inserts an object to the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child The object to insert
+ * @param pos The position where to insert child
+ *
+ * @return @c EINA_TRUE: Successfully added.\n
+ * @c EINA_FALSE: An error occurred.
+ *
+ * Adds child to the box indicated by part, in the position given by
+ * pos.
+ *
+ * @see edje_object_part_box_append()
+ * @see edje_object_part_box_prepend()
+ * @see edje_object_part_box_insert_before()
+ */
+EAPI Eina_Bool    edje_object_part_box_insert_at          (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
+
+/**
+ * @brief Removes an object from the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child The object to remove
+ *
+ * @return Pointer to the object removed, or @c NULL.
+ *
+ * Removes child from the box indicated by part.
+ *
+ * @see edje_object_part_box_remove_at()
+ * @see edje_object_part_box_remove_all()
+ */
+EAPI Evas_Object *edje_object_part_box_remove             (Evas_Object *obj, const char *part, Evas_Object *child);
+
+/**
+ * @brief Removes an object from the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param pos The position index of the object (starts counting from 0)
+ *
+ * @return Pointer to the object removed, or @c NULL.
+ *
+ * Removes from the box indicated by part, the object in the position
+ * pos.
+ *
+ * @see edje_object_part_box_remove()
+ * @see edje_object_part_box_remove_all()
+ */
+EAPI Evas_Object *edje_object_part_box_remove_at          (Evas_Object *obj, const char *part, unsigned int pos);
+
+/**
+ * @brief Removes all elements from the box.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param clear Delete objects on removal
+ *
+ * @return 1: Successfully cleared.\n
+ * 0: An error occurred.
+ *
+ * Removes all the external objects from the box indicated by part.
+ * Elements created from the theme will not be removed.
+ *
+ * @see edje_object_part_box_remove()
+ * @see edje_object_part_box_remove_at()
+ */
+EAPI Eina_Bool    edje_object_part_box_remove_all         (Evas_Object *obj, const char *part, Eina_Bool clear);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Table Edje Table Part
+ *
+ * @brief Functions that deal with parts of type table.
+ *
+ * Table is a container type for parts, that means it can contain
+ * other parts.
+ *
+ * @ingroup Edje_Object_Part
+ *
+ * @{
+ */
+
+typedef enum _Edje_Object_Table_Homogeneous_Mode
+{
+   EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
+   EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
+   EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
+} Edje_Object_Table_Homogeneous_Mode;
+
+/**
+ * @brief Retrieve a child from a table
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param col The column of the child to get
+ * @param row The row of the child to get
+ * @return The child Evas_Object
+ */
+EAPI Evas_Object *edje_object_part_table_child_get        (const Evas_Object *obj, const char *part, unsigned int col, unsigned int row);
+
+/**
+ * @brief Packs an object into the table.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child_obj The object to pack in
+ * @param col The column to place it in
+ * @param row The row to place it in
+ * @param colspan Columns the child will take
+ * @param rowspan Rows the child will take
+ *
+ * @return @c EINA_TRUE object was added, @c EINA_FALSE on failure
+ *
+ * Packs an object into the table indicated by part.
+ */
+EAPI Eina_Bool    edje_object_part_table_pack             (Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
+
+/**
+ * @brief Removes an object from the table.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param child_obj The object to pack in
+ *
+ * @return @c EINA_TRUE object removed, @c EINA_FALSE on failure
+ *
+ * Removes an object from the table indicated by part.
+ */
+EAPI Eina_Bool    edje_object_part_table_unpack           (Evas_Object *obj, const char *part, Evas_Object *child_obj);
+
+/**
+ * @brief Gets the number of columns and rows the table has.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param cols Pointer where to store number of columns (can be NULL)
+ * @param rows Pointer where to store number of rows (can be NULL)
+ *
+ * @return @c EINA_TRUE get some data, @c EINA_FALSE on failure
+ *
+ * Retrieves the size of the table in number of columns and rows.
+ */
+EAPI Eina_Bool    edje_object_part_table_col_row_size_get (const Evas_Object *obj, const char *part, int *cols, int *rows);
+
+/**
+ * @brief Removes all object from the table.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param part The part name
+ * @param clear If set, will delete subobjs on remove
+ *
+ * @return @c EINA_TRUE clear the table, @c EINA_FALSE on failure
+ *
+ * Removes all object from the table indicated by part, except the
+ * internal ones set from the theme.
+ */
+EAPI Eina_Bool    edje_object_part_table_clear            (Evas_Object *obj, const char *part, Eina_Bool clear);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Communication_Interface_Message Edje Communication Interface: Message
+ *
+ * @brief Functions that deal with messages.
+ *
+ * Edje has two communication interfaces between @b code and @b theme.
+ * Signals and messages.
+ *
+ * Edje messages are one of the communication interfaces between
+ * @b code and a given Edje object's @b theme. With messages, one can
+ * communicate values like strings, float numbers and integer
+ * numbers. Moreover, messages can be identified by integer
+ * numbers. See #Edje_Message_Type for the full list of message types.
+ *
+ * @note Messages must be handled by scripts.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/**
+ * Identifiers of Edje message types, which can be sent back and forth
+ * code and a given Edje object's theme file/group.
+ *
+ * @see edje_object_message_send()
+ * @see edje_object_message_handler_set()
+ */
+typedef enum _Edje_Message_Type
+{
+   EDJE_MESSAGE_NONE = 0,
+
+   EDJE_MESSAGE_SIGNAL = 1, /* DONT USE THIS */
+
+   EDJE_MESSAGE_STRING = 2, /**< A message with a string as value. Use #Edje_Message_String structs as message body, for this type. */
+   EDJE_MESSAGE_INT = 3, /**< A message with an integer number as value. Use #Edje_Message_Int structs as message body, for this type. */
+   EDJE_MESSAGE_FLOAT = 4, /**< A message with a floating pointer number as value. Use #Edje_Message_Float structs as message body, for this type. */
+
+   EDJE_MESSAGE_STRING_SET = 5, /**< A message with a list of strings as value. Use #Edje_Message_String_Set structs as message body, for this type. */
+   EDJE_MESSAGE_INT_SET = 6, /**< A message with a list of integer numbers as value. Use #Edje_Message_Int_Set structs as message body, for this type. */
+   EDJE_MESSAGE_FLOAT_SET = 7, /**< A message with a list of floating point numbers as value. Use #Edje_Message_Float_Set structs as message body, for this type. */
+
+   EDJE_MESSAGE_STRING_INT = 8, /**< A message with a struct containing a string and an integer number as value. Use #Edje_Message_String_Int structs as message body, for this type. */
+   EDJE_MESSAGE_STRING_FLOAT = 9, /**< A message with a struct containing a string and a floating point number as value. Use #Edje_Message_String_Float structs as message body, for this type. */
+
+   EDJE_MESSAGE_STRING_INT_SET = 10, /**< A message with a struct containing a string and list of integer numbers as value. Use #Edje_Message_String_Int_Set structs as message body, for this type. */
+   EDJE_MESSAGE_STRING_FLOAT_SET = 11 /**< A message with a struct containing a string and list of floating point numbers as value. Use #Edje_Message_String_Float_Set structs as message body, for this type. */
+} Edje_Message_Type;
+
+typedef struct _Edje_Message_String           Edje_Message_String;
+typedef struct _Edje_Message_Int              Edje_Message_Int;
+typedef struct _Edje_Message_Float            Edje_Message_Float;
+typedef struct _Edje_Message_String_Set       Edje_Message_String_Set;
+typedef struct _Edje_Message_Int_Set          Edje_Message_Int_Set;
+typedef struct _Edje_Message_Float_Set        Edje_Message_Float_Set;
+typedef struct _Edje_Message_String_Int       Edje_Message_String_Int;
+typedef struct _Edje_Message_String_Float     Edje_Message_String_Float;
+typedef struct _Edje_Message_String_Int_Set   Edje_Message_String_Int_Set;
+typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set;
+
+struct _Edje_Message_String
+{
+   char *str; /**< The message's string pointer */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING messages. The string in it is automatically freed Edje if passed to you by Edje */
+
+struct _Edje_Message_Int
+{
+   int val; /**< The message's value */
+}; /**< Structure passed as value on #EDJE_MESSAGE_INT messages */
+
+struct _Edje_Message_Float
+{
+   double val; /**< The message's value */
+}; /**< Structure passed as value on #EDJE_MESSAGE_FLOAT messages */
+
+struct _Edje_Message_String_Set
+{
+   int count; /**< The size of the message's array (may be greater than 1) */
+   char *str[1]; /**< The message's @b array of string pointers */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_SET messages. The array in it is automatically freed if passed to you by Edje */
+
+struct _Edje_Message_Int_Set
+{
+   int count; /**< The size of the message's array (may be greater than 1) */
+   int val[1]; /**< The message's @b array of integers */
+}; /**< Structure passed as value on #EDJE_MESSAGE_INT_SET messages. The array in it is automatically freed if passed to you by Edje */
+
+struct _Edje_Message_Float_Set
+{
+   int count; /**< The size of the message's array (may be greater than 1) */
+   double val[1]; /**< The message's @b array of floats */
+}; /**< Structure passed as value on #EDJE_MESSAGE_FLOAT_SET messages. The array in it is automatically freed if passed to you by Edje */
+
+struct _Edje_Message_String_Int
+{
+   char *str; /**< The message's string value */
+   int val; /**< The message's integer value */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_INT messages. The string in it is automatically freed if passed to you by Edje */
+
+struct _Edje_Message_String_Float
+{
+   char *str; /**< The message's string value */
+   double val; /**< The message's float value */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_FLOAT messages. The string in it is automatically freed if passed to you by Edje */
+
+struct _Edje_Message_String_Int_Set
+{
+   char *str; /**< The message's string value */
+   int count; /**< The size of the message's array (may be greater than 1) */
+   int val[1]; /**< The message's @b array of integers */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_INT_SET messages. The array and string in it are automatically freed if passed to you by Edje */
+
+struct _Edje_Message_String_Float_Set
+{
+   char *str; /**< The message's string value */
+   int count; /**< The size of the message's array (may be greater than 1) */
+   double val[1]; /**< The message's @b array of floats */
+}; /**< Structure passed as value on #EDJE_MESSAGE_STRING_FLOAT_SET messages. The array and string in it are automatically freed if passed to you by Edje */
+
+typedef void         (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); /**< Edje message handler callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the message comes from. @c type will identify the type of the given message and @c msg will be a pointer the message's contents, de facto, which depend on @c type. */
+
+/**
+ * @brief Send an (Edje) message to a given Edje object
+ *
+ * @param obj A handle to an Edje object
+ * @param type The type of message to send to @p obj
+ * @param id A identification number for the message to be sent
+ * @param msg The message's body, a struct depending on @p type
+ *
+ * This function sends an Edje message to @p obj and to all of its
+ * child objects, if it has any (swallowed objects are one kind of
+ * child object). @p type and @p msg @b must be matched accordingly,
+ * as documented in #Edje_Message_Type.
+ *
+ * The @p id argument as a form of code and theme defining a common
+ * interface on message communication. One should define the same IDs
+ * on both code and EDC declaration (see @ref edcref "the syntax" for
+ * EDC files), to individualize messages (binding them to a given
+ * context).
+ *
+ * The function to handle messages arriving @b from @b obj is set with
+ * edje_object_message_handler_set().
+ */
+EAPI void         edje_object_message_send                (Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
+
+/**
+ * @brief Set an Edje message handler function for a given Edje object.
+ *
+ * @param obj A handle to an Edje object
+ * @param func The function to handle messages @b coming from @p obj
+ * @param data Auxiliary data to be passed to @p func
+ *
+ * For scriptable programs on an Edje object's defining EDC file which
+ * send messages with the @c send_message() primitive, one can attach
+ * <b>handler functions</b>, to be called in the code which creates
+ * that object (see @ref edcref "the syntax" for EDC files).
+ *
+ * This function associates a message handler function and the
+ * attached data pointer to the object @p obj.
+ *
+ * @see edje_object_message_send()
+ */
+EAPI void         edje_object_message_handler_set         (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data);
+
+/**
+ * @brief Process an object's message queue.
+ *
+ * @param obj A handle to an Edje object.
+ *
+ * This function goes through the object message queue processing the
+ * pending messages for @b this specific Edje object. Normally they'd
+ * be processed only at idle time.
+ *
+ */
+EAPI void         edje_object_message_signal_process      (Evas_Object *obj);
+
+
+/**
+ * @brief Process all queued up edje messages.
+ *
+ * This function triggers the processing of messages addressed to any
+ * (alive) edje objects.
+ *
+ */
+EAPI void         edje_message_signal_process             (void);
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Perspective Edje Perspective
+ *
+ * @brief Functions that deal with 3D projection of an 2D object.
+ *
+ * Perspective is a graphical tool that makes objets represented in 2D
+ * look like they have a 3D appearance.
+ *
+ * Edje allows us to use perspective on any edje object. This group of
+ * functions deal with the use of perspective, by creating and configuring
+ * a perspective object that must set to a edje object or a canvas,
+ * affecting all the objects inside that have no particular perspective
+ * set already.
+ *
+ * @ingroup Edje_Object_Group
+ *
+ * @{
+ */
+
+/* perspective info for maps inside edje objects */
+typedef struct _Edje_Perspective Edje_Perspective;
+
+/**
+ * Creates a new perspective in the given canvas.
+ *
+ * @param e The given canvas (Evas).
+ * @return An @ref Edje_Perspective object for this canvas, or @c NULL on errors.
+ *
+ * This function creates a perspective object that can be set on an Edje
+ * object, or globally to all Edje objects on this canvas.
+ *
+ * @see edje_perspective_set()
+ * @see edje_perspective_free()
+ */
+EAPI Edje_Perspective       *edje_perspective_new            (Evas *e);
+/**
+ * Delete the given perspective object.
+ *
+ * @param ps A valid perspective object, or @c NULL.
+ *
+ * This function will delete the perspective object. If the perspective
+ * effect was being applied to any Edje object or part, this effect won't be
+ * applied anymore.
+ *
+ * @see edje_perspective_new()
+ */
+EAPI void                    edje_perspective_free           (Edje_Perspective *ps);
+/**
+ * Setup the transform for this perspective object.
+ *
+ * This sets the parameters of the perspective transformation. X, Y and Z
+ * values are used. The px and py points specify the "infinite distance" point
+ * in the 3D conversion (where all lines converge to like when artists draw
+ * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1
+ * mapping between spatial coordinates and screen coordinates. Any points
+ * on this z value will not have their X and Y values modified in the transform.
+ * Those further away (Z value higher) will shrink into the distance, and
+ * those less than this value will expand and become bigger. The @p foc value
+ * determines the "focal length" of the camera. This is in reality the distance
+ * between the camera lens plane itself (at or closer than this rendering
+ * results are undefined) and the "z0" z value. This allows for some "depth"
+ * control and @p foc must be greater than 0.
+ *
+ * @param ps The perspective object
+ * @param px The perspective distance X coordinate
+ * @param py The perspective distance Y coordinate
+ * @param z0 The "0" z plane value
+ * @param foc The focal distance
+ */
+EAPI void                    edje_perspective_set            (Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc);
+/**
+ * Make this perspective object be global for its canvas.
+ *
+ * @param ps The given perspective object
+ * @param global @c EINA_TRUE if the perspective should be global, @c
+ * EINA_FALSE otherwise.
+ *
+ * The canvas which this perspective object is being set as global is the one
+ * given as argument upon the object creation (the @p evas parameter on the
+ * function @c edje_perspective_new(evas) ).
+ *
+ * There can be only one global perspective object set per canvas, and if
+ * a perspective object is set to global when there was already another
+ * global perspective set, the old one will be set as non-global.
+ *
+ * A global perspective just affects a part if its Edje object doesn't have a
+ * perspective object set to it, and if the part doesn't point to another
+ * part to be used as perspective.
+ *
+ * @see edje_object_perspective_set()
+ * @see edje_perspective_global_get()
+ * @see edje_perspective_new()
+ */
+EAPI void                    edje_perspective_global_set     (Edje_Perspective *ps, Eina_Bool global);
+/**
+ * Get whether the given perspective object is global or not.
+ *
+ * @param ps The given perspective object.
+ * @return @c EINA_TRUE if this perspective object is global, @c EINA_FALSE
+ * otherwise.
+ *
+ * @see edje_perspective_global_set()
+ */
+EAPI Eina_Bool               edje_perspective_global_get     (const Edje_Perspective *ps);
+/**
+ * Get the global perspective object set for this canvas.
+ *
+ * @param e The given canvas (Evas).
+ * @return The perspective object set as global for this canvas. Or @c NULL
+ * if there is no global perspective set and on errors.
+ *
+ * This function will return the perspective object that was set as global
+ * with edje_perspective_global_set().
+ *
+ * @see edje_perspective_global_set()
+ * @see edje_perspective_global_get()
+ */
+EAPI const Edje_Perspective *edje_evas_global_perspective_get(const Evas *e);
+/**
+ * Set the given perspective object on this Edje object.
+ *
+ * @param obj The Edje object on the perspective will be set.
+ * @param ps The perspective object that will be used.
+ *
+ * Make the given perspective object be the default perspective for this Edje
+ * object.
+ *
+ * There can be only one perspective object per Edje object, and if a
+ * previous one was set, it will be removed and the new perspective object
+ * will be used.
+ *
+ * An Edje perspective will only affect a part if it doesn't point to another
+ * part to be used as perspective.
+ *
+ * @see edje_object_perspective_new()
+ * @see edje_object_perspective_get()
+ * @see edje_perspective_set()
+ */
+EAPI void                    edje_object_perspective_set     (Evas_Object *obj, Edje_Perspective *ps);
+/**
+ * Get the current perspective used on this Edje object.
+ *
+ * @param obj the given Edje object.
+ * @return The perspective object being used on this Edje object. Or @c NULL
+ * if there was none, and on errors.
+ *
+ * @see edje_object_perspective_set()
+ */
+EAPI const Edje_Perspective *edje_object_perspective_get     (const Evas_Object *obj);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
new file mode 100644 (file)
index 0000000..935d661
--- /dev/null
@@ -0,0 +1,3539 @@
+#ifndef _EDJE_EDIT_H
+#define _EDJE_EDIT_H
+
+#ifndef EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT
+#error "Do not use the Edje_Edit API unless you know what you are doing. It's meant only for writing editors and nothing else."
+#endif
+
+#include <Edje.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EDJE_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EDJE_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
+
+typedef enum _Edje_Edit_Image_Comp
+{
+   EDJE_EDIT_IMAGE_COMP_RAW,
+   EDJE_EDIT_IMAGE_COMP_USER,
+   EDJE_EDIT_IMAGE_COMP_COMP,
+   EDJE_EDIT_IMAGE_COMP_LOSSY
+} Edje_Edit_Image_Comp;
+
+struct _Edje_Edit_Script_Error
+{
+   const char *program_name; /* null == group shared script */
+   int line;
+   const char *error_str;
+};
+typedef struct _Edje_Edit_Script_Error Edje_Edit_Script_Error;
+
+/**
+ * @file
+ * @brief Functions to deal with edje internal object. Don't use in standard
+ * situations. The use of any of the edje_edit_* functions can break your
+ * theme ability, remember that the program must be separated from the interface!
+ * 
+ * This was intended ONLY for use in an actual edje editor program. Unless
+ * you are writing one of these, do NOT use this API here.
+ *
+ * The API can be used to query or set every part of an edje object in real time.
+ * You can manage every aspect of parts, part states, programs, script and whatever
+ * is contained in the edje file. For a reference of what all parameter means
+ * look at the complete @ref edcref.
+ *
+ * Don't forget to free all the strings and the lists returned by any edje_edit_*()
+ * functions using edje_edit_string_free() and edje_edit_string_list_free() when
+ * you don't need anymore.
+ *
+ * Example: print all the part in a loaded edje_object
+ * @code
+ *  Eina_List *parts, *l;
+ *  char *part;
+ *
+ *  parts = edje_edit_parts_list_get(edje_object);
+ *  EINA_LIST_FOREACH(parts, l, part)
+ *  {
+ *     printf("Part: %s\n", part);
+ *  }
+ *  edje_edit_string_list_free(parts);
+ * @endcode
+ *
+ * Example: Change the color of a rect inside an edje file
+ * @code
+ * Evas_Object *edje;
+ *
+ * edje = edje_edit_object_add(evas);
+ * edje_object_file_set(edje, "edj/file/name", "group to load");
+ * edje_edit_state_color_set(edje, "MyRectName", "default", 0.00, 255, 255, 0, 255);
+ * edje_edit_save(edje);
+ * @endcode
+ *
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************/
+/**************************   GENERAL API   ***********************************/
+/******************************************************************************/
+/** @name General API
+ *  General functions that don't fit in other cateories.
+ */ //@{
+
+/** Adds an editable Edje object to the canvas.
+ *
+ * An Edje_Edit object is, for the most part, a standard Edje object. Only
+ * difference is you can use the Edje_Edit API on them.
+ *
+ * @param e Evas canvas where to add the object.
+ *
+ * @return An Evas_Object of type Edje_Edit, or NULL if an error occurred.
+ */
+EAPI Evas_Object * edje_edit_object_add(Evas *e);
+
+/** Free a generic Eina_List of (char *) allocated by an edje_edit_*_get() function.
+ *
+ * @param lst List of strings to free.
+ */
+EAPI void edje_edit_string_list_free(Eina_List *lst);
+
+/** Free a generic string (char *) allocated by an edje_edit_*_get() function.
+ *
+ * @param str String to free.
+ */
+EAPI void edje_edit_string_free(const char *str);
+
+/** Get the name of the program that compiled the edje file.
+  * Can be 'edje_cc' or 'edje_edit'
+  *
+  * @param obj Object being edited.
+  *
+  * @return Compiler stored in the Edje file
+  */
+EAPI const char * edje_edit_compiler_get(Evas_Object *obj);
+
+/** Save the modified edje object back to his file.
+ *
+ * Use this function when you are done with your editing, all the change made
+ * to the current loaded group will be saved back to the original file.
+ *
+ * @note Source for the whole file will be auto generated and will overwrite
+ * any previously stored source.
+ *
+ * @param obj Object to save back to the file it was loaded from.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ *
+ * @todo Add a way to check what the error actually was, the way Edje Load does.
+ */
+EAPI Eina_Bool edje_edit_save(Evas_Object *obj);
+
+/** Saves every group back into the file.
+ *
+ * @param obj Object to save.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ *
+ * @see edje_edit_save()
+ */
+EAPI Eina_Bool edje_edit_save_all(Evas_Object *obj);
+
+/** Print on standard output many information about the internal status
+ * of the edje object.
+ *
+ * This is probably only useful to debug.
+ *
+ * @param obj Object being edited.
+ */
+EAPI void edje_edit_print_internal_status(Evas_Object *obj);
+
+
+//@}
+/******************************************************************************/
+/**************************   GROUPS API   ************************************/
+/******************************************************************************/
+/** @name Groups API
+ *  Functions to deal with groups property (see @ref edcref).
+ */ //@{
+
+/** Create a new empty group in the given edje.
+ *
+ * If a group with the same name exist none is created.
+ *
+ * @param obj Object being edited.
+ * @param name Name of the new group.
+ *
+ * @return EINA_TRUE if successfully added the group, EINA_FALSE if an error
+ * occurred or if a group with the same name exists.
+ */
+
+/**
+ * @brief Add an edje (empty) group to an edje object's group set.
+ *
+ * @param obj The pointer to edje object.
+ * @param name The name of the group.
+ *
+ * @return 1 If it could allocate memory to the part group added
+ * or zero if not.
+ *
+ * This function adds, at run time, one more group, which will reside
+ * in memory, to the group set found in the .edj file which @a obj was
+ * loaded with. This group can be manipulated by other API functions,
+ * like @c edje_edit_part_add(), for example. If desired, the new
+ * group can be actually committed the respective .edj by use of @c
+ * edje_edit_save().
+ *
+ */
+EAPI Eina_Bool edje_edit_group_add(Evas_Object *obj, const char *name);
+
+/** Delete the specified group from the given edje.
+ *
+ * You can only delete a currently unused group.
+ * All the parts and the programs inside the group will be deleted as well,
+ * but not image or font embedded in the edje.
+ *
+ * @param obj Object being edited.
+ * @param group_name Name of group to delete.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+
+/**
+ * @brief Delete the specified group from the edje file.
+ *
+ * @param obj The pointer to the edje object.
+ * @param group_name Group to delete.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
+ *
+ * This function deletes the given group from the file @a obj is set to. This
+ * operation can't be undone as all references to the group are removed from
+ * the file.
+ * This function may fail if the group to be deleted is currently in use.
+ *
+ */
+EAPI Eina_Bool edje_edit_group_del(Evas_Object *obj, const char *group_name);
+
+/** Check if a group with the given name exist in the edje.
+ *
+ * @param obj Object being edited.
+ * @param group Group name to check for.
+ *
+ * @return EINA_TRUE if group exists, EINA_FALSE if not.
+ */
+EAPI Eina_Bool edje_edit_group_exist(Evas_Object *obj, const char *group);
+
+/** Set a new name for the current open group.
+ *
+ * You can only rename a group that is currently loaded
+ * Note that the relative getter function don't exist as it doesn't make sense ;)
+ * @param obj Object being edited.
+ * @param new_name New name for the group.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_name_set(Evas_Object *obj, const char *new_name);
+
+/** Get the group minimum width.
+ *
+ * @param obj Object being edited.
+ *
+ * @return The minimum width set for the group. -1 if an error occurred.
+ */
+EAPI int edje_edit_group_min_w_get(Evas_Object *obj);
+
+/** Set the group minimum width.
+ *
+ * @param obj Object being edited.
+ * @param w New minimum width for the group.
+ */
+EAPI void edje_edit_group_min_w_set(Evas_Object *obj, int w);
+
+/** Get the group minimum height.
+ *
+ * @param obj Object being edited.
+ *
+ * @return The minimum height set for the group. -1 if an error occurred.
+ */
+EAPI int edje_edit_group_min_h_get(Evas_Object *obj);
+
+/** Set the group minimum height.
+ *
+ * @param obj Object being edited.
+ * @param h New minimum height for the group.
+ */
+EAPI void edje_edit_group_min_h_set(Evas_Object *obj, int h);
+
+/** Get the group maximum width.
+ *
+ * @param obj Object being edited.
+ *
+ * @return The maximum width set for the group. -1 if an error occurred.
+ */
+EAPI int edje_edit_group_max_w_get(Evas_Object *obj);
+
+/** Set the group maximum width.
+ *
+ * @param obj Object being edited.
+ * @param w New maximum width for the group.
+ */
+EAPI void edje_edit_group_max_w_set(Evas_Object *obj, int w);
+
+/** Get the group maximum height.
+ *
+ * @param obj Object being edited.
+ *
+ * @return The maximum height set for the group. -1 if an error occurred.
+ */
+EAPI int edje_edit_group_max_h_get(Evas_Object *obj);
+
+/** Set the group maximum height.
+ *
+ * @param obj Object being edited.
+ * @param h New maximum height for the group.
+ */
+EAPI void edje_edit_group_max_h_set(Evas_Object *obj, int h);
+
+
+//@}
+/******************************************************************************/
+/**************************   DATA API   **************************************/
+/******************************************************************************/
+/** @name Data API
+ *  Functions to deal with data embedded in the edje (see @ref edcref).
+ */ //@{
+
+/** Retrieves a list with the item names inside the data block.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being a name entry in the global data block for the file.
+ */
+EAPI Eina_List * edje_edit_data_list_get(Evas_Object *obj);
+
+/** Create a new *global* data object in the given edje file.
+ *
+ * If another data entry with the same name exists, nothing is created and
+ * EINA_FALSE is returned.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name for the new data entry.
+ * @param value Value for the new data entry.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_data_add(Evas_Object *obj, const char *itemname, const char *value);
+
+/** Delete the given data object from edje.
+ *
+ * @param obj Object being edited.
+ * @param itemname Data entry to remove from the global data block.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_data_del(Evas_Object *obj, const char *itemname);
+
+/** Get the data associated with the given itemname.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of the data entry to fetch the value for.
+ *
+ * @return Value of the given entry, or NULL if not found.
+ */
+EAPI const char * edje_edit_data_value_get(Evas_Object *obj, const char *itemname);
+
+/** Set the data associated with the given itemname.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of data entry to change the value.
+ * @param value New value for the entry.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_data_value_set(Evas_Object *obj, const char *itemname, const char *value);
+
+/** Change the name of the given data object.
+ *
+ * @param obj Object being edited.
+ * @param itemname Data entry to rename.
+ * @param newname New name for the data entry.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_data_name_set(Evas_Object *obj, const char *itemname, const char *newname);
+
+/** Retrieves a list with the item names inside the data block at the group level.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being a name entry in the data block for the group.
+ */
+EAPI Eina_List * edje_edit_group_data_list_get(Evas_Object *obj);
+
+/** Create a new data object in the given edje file *belonging to the current group*.
+ *
+ * If another data entry with the same name exists,
+ * nothing is created and EINA_FALSE is returned.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name for the new data entry.
+ * @param value Value for the new data entry.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_data_add(Evas_Object *obj, const char *itemname, const char *value);
+
+/** Delete the given data object from the group.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of the data entry to remove.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_data_del(Evas_Object *obj, const char *itemname);
+
+/** Get the data associated with the given itemname.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of the data entry.
+ *
+ * @return Value of the data entry or NULL if not found.
+ */
+EAPI const char * edje_edit_group_data_value_get(Evas_Object *obj, const char *itemname);
+
+/** Set the data associated with the given itemname.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of the data entry to set the value.
+ * @param value Value to set for the data entry.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_data_value_set(Evas_Object *obj, const char *itemname, const char *value);
+
+/** Change the name of the given data object.
+ *
+ * @param obj Object being edited.
+ * @param itemname Name of the data entry to rename.
+ * @param newname New name for the data entry.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_group_data_name_set(Evas_Object *obj, const char *itemname, const char *newname);
+
+
+//@}
+/******************************************************************************/
+/***********************   COLOR CLASSES API   ********************************/
+/******************************************************************************/
+/** @name Color Classes API
+ *  Functions to deal with Color Classes (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the Color Classes in the given edje object.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being one color class.
+ */
+EAPI Eina_List * edje_edit_color_classes_list_get(Evas_Object *obj);
+
+/** Create a new color class object in the given edje.
+ *
+ * If another class with the same name exists nothing is created and EINA_FALSE is returned.
+ *
+ * @param obj Object being edited.
+ * @param name Name for the new color class.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_color_class_add(Evas_Object *obj, const char *name);
+
+/** Delete the given class object from edje.
+ *
+ * @param obj Object being edited.
+ * @param name Color class to delete.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_color_class_del(Evas_Object *obj, const char *name);
+
+/** Get all the colors that compose the class.
+ *
+ * You can pass NULL to colors you are not intrested in.
+ *
+ * @param obj Object being edited.
+ * @param class_name Color class to fetch values.
+ * @param r Red component of main color.
+ * @param g Green component of main color.
+ * @param b Blue component of main color.
+ * @param a Alpha component of main color.
+ * @param r2 Red component of secondary color.
+ * @param g2 Green component of secondary color.
+ * @param b2 Blue component of secondary color.
+ * @param a2 Alpha component of secondary color.
+ * @param r3 Red component of tertiary color.
+ * @param g3 Green component of tertiary color.
+ * @param b3 Blue component of tertiary color.
+ * @param a3 Alpha component of tertiary color.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_color_class_colors_get(Evas_Object *obj, const char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3);
+
+/** Set the colors for the given color class.
+ *
+ * If you set a color to -1 it will not be touched.
+ *
+ * @param obj Object being edited.
+ * @param class_name Color class to fetch values.
+ * @param r Red component of main color.
+ * @param g Green component of main color.
+ * @param b Blue component of main color.
+ * @param a Alpha component of main color.
+ * @param r2 Red component of secondary color.
+ * @param g2 Green component of secondary color.
+ * @param b2 Blue component of secondary color.
+ * @param a2 Alpha component of secondary color.
+ * @param r3 Red component of tertiary color.
+ * @param g3 Green component of tertiary color.
+ * @param b3 Blue component of tertiary color.
+ * @param a3 Alpha component of tertiary color.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_color_class_colors_set(Evas_Object *obj, const char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+
+/** Change the name of a color class.
+ *
+ * @param obj Object being edited.
+ * @param name Color class to rename.
+ * @param newname New name for the color class.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_color_class_name_set(Evas_Object *obj, const char *name, const char *newname);
+
+//@}
+
+
+/******************************************************************************/
+/**************************   TEXT STYLES *************************************/
+/******************************************************************************/
+/** @name Text styles API
+ *  Functions to deal with text styles (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the text styles in the given edje object.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being the name for a text style.
+ */
+EAPI Eina_List * edje_edit_styles_list_get(Evas_Object *obj);
+
+/** Create a new text style object in the given edje.
+ *
+ * If another style with the same name exists nothing is created and EINA_FALSE is returned.
+ *
+ * @param obj Object being edited.
+ * @param style Name for the new style.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_style_add(Evas_Object *obj, const char *style);
+
+/** Delete the given text style and all the child tags.
+ *
+ * @param obj Object being edited.
+ * @param style Style to delete.
+ */
+EAPI void edje_edit_style_del(Evas_Object *obj, const char *style);
+
+/** Get the list of all the tags name in the given text style.
+ *
+ * @param obj Object being edited.
+ * @param style Style to get the tags for.
+ *
+ * @return List of strings, each being one tag in the given style.
+ */
+EAPI Eina_List * edje_edit_style_tags_list_get(Evas_Object *obj, const char *style);
+
+/** Get the value of the given tag.
+ *
+ * @param obj Object being edited.
+ * @param style Style containing the tag being.
+ * @param tag Tag to get the value for.
+ *
+ * @return Value of the given tag.
+ */
+EAPI const char * edje_edit_style_tag_value_get(Evas_Object *obj, const char *style, const char *tag);
+
+/** Set the value of the given tag.
+ *
+ * @param obj Object being edited.
+ * @param style Style containing the tag to change.
+ * @param tag Name of the tag to set the value for.
+ * @param new_value Value for the tag.
+ */
+EAPI void edje_edit_style_tag_value_set(Evas_Object *obj, const char *style, const char *tag, const char *new_value);
+
+/** Set the name of the given tag.
+ *
+ * @param obj Object being edited.
+ * @param style Style containing the tag to rename.
+ * @param tag Tag to rename.
+ * @param new_name New name for the tag.
+ */
+EAPI void edje_edit_style_tag_name_set(Evas_Object *obj, const char *style, const char *tag, const char *new_name);
+
+/** Add a new tag to the given text style.
+ *
+ * If another tag with the same name exists nothing is created and EINA_FALSE is returned.
+ *
+ * @param obj Object being edited.
+ * @param style Style where to add the new tag.
+ * @param tag_name Name for the new tag.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_style_tag_add(Evas_Object *obj, const char *style, const char *tag_name);
+
+/** Delete the given tag.
+ *
+ * @param obj Object being edited.
+ * @param style Style from where to remove the tag.
+ * @param tag Tag to delete.
+ */
+EAPI void edje_edit_style_tag_del(Evas_Object *obj, const char *style, const char *tag);
+
+
+//@}
+/******************************************************************************/
+/************************   EXTERNALS API   ***********************************/
+/******************************************************************************/
+/** @name Externals API
+ *  Functions to deal with list of external modules (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the externals requested in the given edje object.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being an entry in the block of automatically loaded external modules.
+ */
+EAPI Eina_List * edje_edit_externals_list_get(Evas_Object *obj);
+
+/** Add an external module to be requested on edje load.
+ *
+ * @param obj Object being edited.
+ * @param external Name of the external module to add to the list of autoload.
+ *
+ * @return EINA_TRUE on success (or it was already there), EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_external_add(Evas_Object *obj, const char *external);
+
+/** Delete the given external from the list.
+ *
+ * @param obj Object being edited.
+ * @param external Name of the external module to remove from the autoload list.
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_external_del(Evas_Object *obj, const char *external);
+
+
+//@}
+/******************************************************************************/
+/**************************   PARTS API   *************************************/
+/******************************************************************************/
+/** @name Parts API
+ *  Functions to deal with part objects (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the parts in the given edje object.
+ *
+ * @param obj Object being edited.
+ *
+ * @return List of strings, each being the name for a part in the open group.
+ */
+EAPI Eina_List * edje_edit_parts_list_get(Evas_Object *obj);
+
+/** Create a new part in the given edje.
+ *
+ * If another part with the same name just exists nothing is created and EINA_FALSE is returned.
+ * Note that this function also create a default description for the part.
+ *
+ * @param obj Object being edited.
+ * @param name Name for the new part.
+ * @param type Type of the new part. See @ref edcref for more info on this.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type);
+
+/** Create a new part of type EXTERNAL in the given edje.
+ *
+ * If another part with the same name just exists nothing is created and EINA_FALSE is returned.
+ * Note that this function also create a default description for the part.
+ *
+ * @param obj Object being edited.
+ * @param name Name for the new part.
+ * @param source The registered external type to use for this part.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_external_add(Evas_Object *obj, const char *name, const char *source);
+
+/** Delete the given part from the edje.
+ *
+ * All the reference to this part will be zeroed.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to delete.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_del(Evas_Object *obj, const char *part);
+
+/** Check if a part with the given name exist in the edje object.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to check for its existence.
+ *
+ * @return EINA_TRUE if the part exists, EINA_FALSE if not.
+ */
+EAPI Eina_Bool edje_edit_part_exist(Evas_Object *obj, const char *part);
+
+/** Get the name of part stacked above the one passed.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part of which to check the one above.
+ *
+ * @return Name of the part above. NULL if an error occurred or if @p part is
+ * the topmost part in the group.
+ */
+EAPI const char * edje_edit_part_above_get(Evas_Object *obj, const char *part);
+
+/** Get the name of part stacked below the one passed.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part of which to check the one below.
+ *
+ * @return Name of the part below. NULL if an error occurred or if @p part is
+ * the bottommost part in the group.
+ */
+EAPI const char * edje_edit_part_below_get(Evas_Object *obj, const char *part);
+
+/** Move the given part below the previous one.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to move one step below.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_restack_below(Evas_Object *obj, const char *part);
+
+/** Move the given part above the next one.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to move one step above.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_restack_above(Evas_Object *obj, const char *part);
+
+/** Set a new name for part.
+ *
+ * Note that the relative getter function don't exist as it don't make sense ;)
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to rename.
+ * @param new_name New name for the given part.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_name_set(Evas_Object *obj, const char *part, const char *new_name);
+
+/** Get api's name of a part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part.
+ *
+ * @return name of the api if successful, NULL otherwise.
+ */
+EAPI const char * edje_edit_part_api_name_get(Evas_Object *obj, const char *part);
+
+/** Get api's description of a part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part.
+ *
+ * @return description of the api if successful, NULL otherwise.
+ */
+EAPI const char * edje_edit_part_api_description_get(Evas_Object *obj, const char *part);
+
+/** Set api's name of a part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part.
+ * @param name New name for the api property.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_api_name_set(Evas_Object *obj, const char *part, const char *name);
+
+/** Set api's description of a part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part.
+ * @param description New description for the api property.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_api_description_set(Evas_Object *obj, const char *part, const char *description);
+
+/** Get the type of a part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of part to get the type of.
+ *
+ * @return Type of the part. See @ref edcref for details.
+ */
+EAPI Edje_Part_Type edje_edit_part_type_get(Evas_Object *obj, const char *part);
+
+/** Get the clip_to part.
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part whose clipper to get.
+ *
+ * @return Name of the part @p part is clipped to. NULL is returned on errors and if the part don't have a clip.
+ */
+EAPI const char * edje_edit_part_clip_to_get(Evas_Object *obj, const char *part);
+
+/** Set a part to clip part to.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the clipper to.
+ * @param clip_to Part to use as clipper, if NULL then the clipping value will be cancelled (unset clipping).
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_to);
+
+/** Get the source of part.
+ *
+ * The meaning of this parameter varies depending on the type of the part.
+ * For GROUP parts, it's the name of another group in the Edje file which will
+ * be autoloaded and swallowed on this part.
+ * For TEXTBLOCK parts, it's the name of a group to be used for selection
+ * display under the text.
+ * For EXTERNAL parts, it's the name of the registered external widget to load
+ * and swallow on this part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the source from.
+ *
+ * @return Content of the source parameter or NULL if nothing set or an error occurred.
+ */
+EAPI const char * edje_edit_part_source_get(Evas_Object *obj, const char *part);
+
+/** Set the source of part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the source of.
+ * @param source Value for the source parameter.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ *
+ * @see edje_edit_part_source_get()
+ *
+ * @note You can't change the source for EXTERNAL parts, it's akin to changing
+ * the type of the part.
+ *
+ * NOTE: This is not applied now. You must reload the edje to see the change.
+ */
+EAPI Eina_Bool edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source);
+
+/** Get the effect for a given part.
+ *
+ * Gets the effect used for parts of type TEXT. See @ref edcref for more details.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the effect of.
+ *
+ * @return The effect set for the part.
+ */
+EAPI Edje_Text_Effect edje_edit_part_effect_get(Evas_Object *obj, const char *part);
+
+/** Set the effect for a given part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the effect to. Only makes sense on type TEXT.
+ * @param effect Effect to set for the part.
+ */
+EAPI void edje_edit_part_effect_set(Evas_Object *obj, const char *part, Edje_Text_Effect effect);
+
+/** Get the current selected state in part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the selected state of.
+ * @param value Pointer to a double where the value of the state will be stored.
+ *
+ * @return The name of the currently selected state for the part.
+ */
+EAPI const char * edje_edit_part_selected_state_get(Evas_Object *obj, const char *part, double *value);
+
+/** Set the current state in part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the state of.
+ * @param state Name of the state to set.
+ * @param value Value of the state.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get mouse_events for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get if the mouse events is accepted.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_mouse_events_get(Evas_Object *obj, const char *part);
+
+/** Set mouse_events for part.
+ *
+ * @param obj Object being edited.
+ * @param part The part to set if the mouse events is accepted.
+ * @param mouse_events EINA_TRUE if part will accept mouse events, EINA_FALSE otherwise.
+ */
+EAPI void edje_edit_part_mouse_events_set(Evas_Object *obj, const char *part, Eina_Bool mouse_events);
+
+/** Get repeat_events for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set if will pass all events to the other parts.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_part_repeat_events_get(Evas_Object *obj, const char *part);
+
+/** Set repeat_events for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set if will repeat all the received mouse events to other parts.
+ * @param repeat_events EINA_TRUE if the events received will propagate to other parts, EINA_FALSE otherwise
+ */
+EAPI void edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool repeat_events);
+
+/** Get ignore_flags for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get which event_flags are being ignored.
+ *
+ * @return The Event flags set to the part.
+ */
+EAPI Evas_Event_Flags edje_edit_part_ignore_flags_get(Evas_Object *obj, const char *part);
+
+/** Set ignore_flags for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set which event flags will be ignored.
+ * @param ignore_flags The Event flags to be ignored by the part.
+ */
+EAPI void edje_edit_part_ignore_flags_set(Evas_Object *obj, const char *part, Evas_Event_Flags ignore_flags);
+
+/** Set scale property for the part.
+ *
+ * This property tells Edje that the given part should be scaled by the
+ * Edje scale factor.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set scale for.
+ * @param scale Scale value to set.
+ */
+EAPI void edje_edit_part_scale_set(Evas_Object *obj, const char *part, Eina_Bool scale);
+
+/** Get scale for the part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the scale value of.
+ *
+ * @return Whether scale is on (EINA_TRUE) or not.
+ */
+EAPI Eina_Bool edje_edit_part_scale_get(Evas_Object *obj, const char *part);
+
+/** Get horizontal dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get if can be dragged horizontally;
+ *
+ * @return 1 (or -1) if the part can be dragged horizontally, 0 otherwise.
+ */
+EAPI int edje_edit_part_drag_x_get(Evas_Object *obj, const char *part);
+
+/** Set horizontal dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set if should be dragged horizontally.
+ * @param drag 1 (or -1) if the part should be dragged horizontally, 0 otherwise.
+ */
+EAPI void edje_edit_part_drag_x_set(Evas_Object *obj, const char *part, int drag);
+
+/** Get vertical dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get if can be dragged vertically.
+ *
+ * @return 1 (or - 1) if the part can be dragged vertically, 0 otherwise.
+ */
+EAPI int edje_edit_part_drag_y_get(Evas_Object *obj, const char *part);
+
+/** Set vertical dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set if should be dragged vertically.
+ * @param drag 1 (or -1) of the part shpuld be dragged vertically, 0 otherwise.
+ */
+EAPI void edje_edit_part_drag_y_set(Evas_Object *obj, const char *part, int drag);
+
+/** Get horizontal dragable step for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the drag horizontal step value.
+ *
+ * @return The step value.
+ */
+EAPI int edje_edit_part_drag_step_x_get(Evas_Object *obj, const char *part);
+
+/** Set horizontal dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the drag horizontal step value.
+ * @param step The step the will be dragged.
+ */
+EAPI void edje_edit_part_drag_step_x_set(Evas_Object *obj, const char *part, int step);
+
+/** Get vertical dragable step for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the drag vertical step value.
+ *
+ * @return The step value.
+ */
+EAPI int edje_edit_part_drag_step_y_get(Evas_Object *obj, const char *part);
+
+/** Set vertical dragable state for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the drag vertical step value.
+ * @param step The step the will be dragged.
+ */
+EAPI void edje_edit_part_drag_step_y_set(Evas_Object *obj, const char *part, int step);
+
+/** Get horizontal dragable count for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the drag horizontal count value.
+ */
+EAPI int edje_edit_part_drag_count_x_get(Evas_Object *obj, const char *part);
+
+/** Set horizontal dragable count for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the drag horizontal count value.
+ * @param count The count value.
+ */
+EAPI void edje_edit_part_drag_count_x_set(Evas_Object *obj, const char *part, int count);
+
+/** Get vertical dragable count for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the drag vertical count value.
+ */
+EAPI int edje_edit_part_drag_count_y_get(Evas_Object *obj, const char *part);
+
+/** Set vertical dragable count for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the drag vertical count value.
+ * @param count The count value.
+ */
+EAPI void edje_edit_part_drag_count_y_set(Evas_Object *obj, const char *part, int count);
+
+/** Get the name of the part that is used as 'confine' for the given draggies.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the name that is used as 'confine' for the given draggies.
+ *
+ * @return The name of the confine part or NULL (if unset).
+ */
+EAPI const char * edje_edit_part_drag_confine_get(Evas_Object *obj, const char *part);
+
+/** Set the name of the part that is used as 'confine' for the given draggies.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the name that is used as 'confine' for the given draggies.
+ * @param confine The name of the confine part or NULL to unset confine.
+ */
+EAPI void edje_edit_part_drag_confine_set(Evas_Object *obj, const char *part, const char *confine);
+
+/** Get the name of the part that is used as the receiver of the drag event.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the name that is used as the receiver of the drag event.
+ *
+ * @return The name of the part that will receive events, or NULL (if unset).
+ */
+EAPI const char * edje_edit_part_drag_event_get(Evas_Object *obj, const char *part);
+
+/** Set the name of the part that will receive events from the given draggies.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the name that will receive events from the given draggies.
+ * @param event The name of the part that will receive events, or NULL to unset.
+ */
+EAPI void edje_edit_part_drag_event_set(Evas_Object *obj, const char *part, const char *event);
+
+
+//@}
+/******************************************************************************/
+/**************************   STATES API   ************************************/
+/******************************************************************************/
+/** @name States API
+ *  Functions to deal with part states (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the states in the given part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get the states names list.
+ *
+ * @return An Eina_List* of string (char *)containing all the states names found
+ * in part, including the float value (ex: "default 0.00").
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ */
+EAPI Eina_List * edje_edit_part_states_list_get(Evas_Object *obj, const char *part);
+
+/** Set a new name for the given state in the given part.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state Name of the state to rename.
+ * @param value Value of the state to rename.
+ * @param new_name The new name for the state.
+ * @param new_value The new value for the state.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state, double value, const char *new_name, double new_value);
+
+/** Create a new state to the give part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the name of the new state.
+ * @param name Name for the new state (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE if successfully, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double value);
+
+/** Delete the given part state from the edje.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The current name of the state (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE if successfully, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_del(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Check if a part state with the given name exist.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to check (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE if the part state exist, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_exist(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Copies the state @p from into @p to. If @p to doesn't exist it will be created.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param from State to copy from (not including state value).
+ * @param val_from The value of the state to copy from.
+ * @param to State to copy into (not including state value).
+ * @param val_to The value of the state to copy into.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, double val_from, const char *to, double val_to);
+
+/** Get the 'rel1 relative X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel1 relative X' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel1 relative X' value of the part state.
+ */
+EAPI double edje_edit_state_rel1_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel1 relative Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel1 relative Y' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel1 relative Y' value of the part state.
+ */
+EAPI double edje_edit_state_rel1_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel2 relative X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel2 relative X' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel2 relative X' value of the part state.
+ */
+EAPI double edje_edit_state_rel2_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel2 relative Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel2 relative Y' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel2 relative Y' value of the part state.
+ */
+EAPI double edje_edit_state_rel2_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the 'rel1 relative X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel1 relative X' (not including the state value).
+ * @param value The state value.
+ * @param x The new 'rel1 relative X' value to set'.
+ */
+EAPI void edje_edit_state_rel1_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the 'rel1 relative Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel1 relative Y' (not including the state value).
+ * @param value The state value.
+ * @param y The new 'rel1 relative Y' value to set'.
+ */
+EAPI void edje_edit_state_rel1_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Set the 'rel2 relative X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel2 relative X' (not including the state value).
+ * @param value The state value.
+ * @param x The new 'rel2 relative X' value to set'.
+ */
+EAPI void edje_edit_state_rel2_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the 'rel2 relative Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel2 relative Y' (not including the state value).
+ * @param value The state value.
+ * @param y The new 'rel2 relative Y' value to set'.
+ */
+EAPI void edje_edit_state_rel2_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Get the 'rel1 offset X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel1 offset X' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel1 offset X' value of the part state.
+ */
+EAPI int edje_edit_state_rel1_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel1 offset Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel1 offset Y' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel1 offset Y' value of the part state.
+ */
+EAPI int edje_edit_state_rel1_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel2 offset X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel2 offset X' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel2 offset X' value of the part state.
+ */
+EAPI int edje_edit_state_rel2_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the 'rel2 offset Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get 'rel2 offset Y' (not including the state value).
+ * @param value The state value.
+ *
+ * @return The 'rel2 offset Y' value of the part state.
+ */
+EAPI int edje_edit_state_rel2_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the 'rel1 offset X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel1 offset X' (not including the state value).
+ * @param value The state value.
+ * @param x The new 'rel1 offset X' value to set'.
+ */
+EAPI void edje_edit_state_rel1_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the 'rel1 offset Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel1 offset Y' (not including the state value).
+ * @param value The state value.
+ * @param y The new 'rel1 offset Y' value to set'.
+ */
+EAPI void edje_edit_state_rel1_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Set the 'rel2 offset X' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel2 offset X' (not including the state value).
+ * @param value The state value.
+ * @param x The new 'rel2 offset X' value to set'.
+ */
+EAPI void edje_edit_state_rel2_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the 'rel2 offset Y' value of state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set 'rel2 offset Y' (not including the state value).
+ * @param value The state value.
+ * @param y The new 'rel2 offset Y' value to set'.
+ */
+EAPI void edje_edit_state_rel2_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Get the part name rel1x is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The state that contain which the part name rel1x is relative to (not including the state value).
+ * @param value The state value.
+ *
+ * @return The part name rel1x is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI const char * edje_edit_state_rel1_to_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the part name rel1y is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The state that contain which the part name rel1y is relative to (not including the state value).
+ * @param value The state value.
+ *
+ * @return The part name rel1y is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI const char * edje_edit_state_rel1_to_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the part name rel2x is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The state that contain which the part name rel2x is relative to (not including the state value).
+ * @param value The state value.
+ *
+ * @return The part name rel2x is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI const char * edje_edit_state_rel2_to_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the part name rel2y is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The state that contain which the part name rel2y is relative to (not including the state value).
+ * @param value The state value.
+ *
+ * @return The part name rel2y is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI const char * edje_edit_state_rel2_to_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the part rel1x is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set rel1x is relative to (not including the state value).
+ * @param value The state value.
+ * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
+ *
+ * @return The part name rel1x is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI void edje_edit_state_rel1_to_x_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
+
+/** Set the part rel1y is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set rel1y is relative to (not including the state value).
+ * @param value The state value.
+ * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
+ *
+ * @return The part name rel1y is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI void edje_edit_state_rel1_to_y_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
+
+/** Set the part rel2x is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set rel2x is relative to (not including the state value).
+ * @param value The state value.
+ * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
+ *
+ * @return The part name rel2x is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI void edje_edit_state_rel2_to_x_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
+
+/** Set the part rel2y is relative to.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set rel2y is relative to (not including the state value).
+ * @param value The state value.
+ * @param rel_to The name of the part that is used as container/parent (NULL make the part relative to the whole interface).
+ *
+ * @return The part name rel2y is relative to or NULL if the part is relative to the whole interface.
+ */
+EAPI void edje_edit_state_rel2_to_y_set(Evas_Object *obj, const char *part, const char *state, double value, const char *rel_to);
+
+/** Get the color of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get color (not including the state value).
+ * @param value The state value.
+ * @param r A pointer to store the red value.
+ * @param g A pointer to store the green value.
+ * @param b A pointer to store the blue value.
+ * @param a A pointer to store the alpha value.
+ */
+EAPI void edje_edit_state_color_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
+
+/** Get the color2 of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get color (not including the state value).
+ * @param value The state value.
+ * @param r A pointer to store the red value.
+ * @param g A pointer to store the green value.
+ * @param b A pointer to store the blue value.
+ * @param a A pointer to store the alpha value.
+ */
+EAPI void edje_edit_state_color2_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
+
+/** Get the color3 of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get color (not including the state value).
+ * @param value The state value.
+ * @param r A pointer to store the red value.
+ * @param g A pointer to store the green value.
+ * @param b A pointer to store the blue value.
+ * @param a A pointer to store the alpha value.
+ */
+EAPI void edje_edit_state_color3_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a);
+
+/** Set the color of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set color (not including the state value).
+ * @param value The state value.
+ * @param r The red value of the color.
+ * @param g The green value of the color.
+ * @param b The blue value of the color.
+ * @param a The alpha value of the color.
+ */
+EAPI void edje_edit_state_color_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
+
+/** Set the color2 of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set color (not including the state value).
+ * @param value The state value.
+ * @param r The red value of the color.
+ * @param g The green value of the color.
+ * @param b The blue value of the color.
+ * @param a The alpha value of the color.
+ */
+EAPI void edje_edit_state_color2_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
+
+/** Set the color3 of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set color (not including the state value).
+ * @param value The state value.
+ * @param r The red value of the color.
+ * @param g The green value of the color.
+ * @param b The blue value of the color.
+ * @param a The alpha value of the color.
+ */
+EAPI void edje_edit_state_color3_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a);
+
+/** Get the horizontal align value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get horizontal align (not including the state value).
+ * @param value The state value.
+ *
+ * @return The horizontal align value for the given state
+ */
+EAPI double edje_edit_state_align_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the vertical align value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get horizontal align (not including the state value).
+ * @param value The state value.
+ *
+ * @return The vertical align value for the given state
+ */
+EAPI double edje_edit_state_align_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the horizontal align value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get horizontal align (not including the state value).
+ * @param value The state value.
+ * @param align The new vertical align value.
+ */
+EAPI void edje_edit_state_align_x_set(Evas_Object *obj, const char *part, const char *state, double value,  double align);
+
+/** Set the vertical align value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get vertical align (not including the state value).
+ * @param value The state value.
+ * @param align The new vertical align value.
+ */
+EAPI void edje_edit_state_align_y_set(Evas_Object *obj, const char *part, const char *state, double value,  double align);
+
+/** Get the minimum width value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get minimum width (not including the state value).
+ * @param value The state value.
+ *
+ * @return The minimum width value.
+ */
+EAPI int edje_edit_state_min_w_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the minimum width value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set minimum width (not including the state value).
+ * @param value The state value.
+ * @param min_w Minimum width value.
+ */
+EAPI void edje_edit_state_min_w_set(Evas_Object *obj, const char *part, const char *state, double value, int min_w);
+
+/** Get the minimum height value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get minimum height (not including the state value).
+ * @param value The state value.
+ *
+ * @return The minimum height value.
+ */
+EAPI int edje_edit_state_min_h_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the minimum height value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set minimum height (not including the state value).
+ * @param value The state value.
+ * @param min_h Minimum height value.
+ */
+EAPI void edje_edit_state_min_h_set(Evas_Object *obj, const char *part, const char *state, double value, int min_h);
+
+/** Get the maximum width value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get maximum width (not including the state value).
+ * @param value The state value.
+ *
+ * @return The maximum width value.
+ */
+EAPI int edje_edit_state_max_w_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the maximum width value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set maximum width (not including the state value).
+ * @param value The state value.
+ * @param max_w Maximum width value.
+ */
+EAPI void edje_edit_state_max_w_set(Evas_Object *obj, const char *part, const char *state, double value, int max_w);
+
+/** Get the maximum height value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get maximum height (not including the state value).
+ * @param value The state value.
+ *
+ * @return The maximum height value.
+ */
+EAPI int edje_edit_state_max_h_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the maximum height value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set maximum height (not including the state value).
+ * @param value The state value.
+ * @param max_h Maximum height value.
+ */
+EAPI void edje_edit_state_max_h_set(Evas_Object *obj, const char *part, const char *state, double value, int max_h);
+
+/** Get the minimum aspect value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get minimum aspect (not including the state value).
+ * @param value The state value.
+ *
+ * @return The minimum aspect
+ */
+EAPI double edje_edit_state_aspect_min_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the maximum aspect value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get maximum aspect (not including the state value).
+ * @param value The state value.
+ *
+ * @return The maximum aspect
+ */
+EAPI double edje_edit_state_aspect_max_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the minimum aspect value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set minimum aspect (not including the state value).
+ * @param value The state value.
+ * @param aspect Minimum aspect value.
+ */
+EAPI void edje_edit_state_aspect_min_set(Evas_Object *obj, const char *part, const char *state, double value, double aspect);
+
+/** Set the maximum aspect value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set maximum aspect (not including the state value).
+ * @param value The state value.
+ * @param aspect Maximum aspect value.
+ */
+EAPI void edje_edit_state_aspect_max_set(Evas_Object *obj, const char *part, const char *state, double value, double aspect);
+
+/** Get the aspect preference of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get aspect preference (not including the state value).
+ * @param value The state value.
+ *
+ * @return The aspect preference (0 = None, 1 = Vertical, 2 = Horizontal, 3 = Both)
+ */
+EAPI unsigned char edje_edit_state_aspect_pref_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the aspect preference of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set aspect preference (not
+ *              including the state value).
+ * @param value The state value.
+ * @param pref The aspect preference to set (0 = None, 1 = Vertical, 2
+ *             = Horizontal, 3 = Both)
+ */
+EAPI void edje_edit_state_aspect_pref_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char pref);
+
+/** Get the fill horizontal origin relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the fill horizontal origin relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill horizontal origin relative to area.
+ */
+EAPI double edje_edit_state_fill_origin_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill vertical origin relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill vertical origin relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill vertical origin relative to area.
+ */
+EAPI double edje_edit_state_fill_origin_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill horizontal origin offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill horizontal origin offset relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill horizontal origin offset relative to area.
+ */
+EAPI int edje_edit_state_fill_origin_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill vertical origin offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill vertical origin offset relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill vertical origin offset value.
+ */
+EAPI int edje_edit_state_fill_origin_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the fill horizontal origin relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill horizontal origin relative to area (not including the state value).
+ * @param value The state value.
+ * @param x The fill horizontal origin value.
+ */
+EAPI void edje_edit_state_fill_origin_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the fill horizontal origin relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill vertical origin relative to area (not including the state value).
+ * @param value The state value.
+ * @param y The fill vertical origin value.
+ */
+EAPI void edje_edit_state_fill_origin_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Set the fill horizontal origin offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill horizontal origin offset relative to area (not including the state value).
+ * @param value The state value.
+ * @param x The fill horizontal origin offset value.
+ */
+EAPI void edje_edit_state_fill_origin_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the fill vertical origin offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill vertical origin offset relative to area (not including the state value).
+ * @param value The state value.
+ * @param y The fill vertical origin offset value.
+ */
+EAPI void edje_edit_state_fill_origin_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Get the fill horizontal size relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill horizontal size relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill horizontal size relative to area.
+ */
+EAPI double edje_edit_state_fill_size_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill vertical size relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill vertical size relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill vertical size relative to area.
+ */
+EAPI double edje_edit_state_fill_size_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill horizontal size offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill horizontal size
+ * offset relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill horizontal size offset relative to area.
+ */
+EAPI int edje_edit_state_fill_size_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the fill vertical size offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get fill vertical size offset
+ * relative to area (not including the state value).
+ * @param value The state value.
+ *
+ * @return The fill vertical size offset relative to area.
+ */
+EAPI int edje_edit_state_fill_size_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the fill horizontal size relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill horizontal size
+ * relative value (not including the state value).
+ * @param value The state value.
+ * @param x The horizontal size relative value.
+ */
+EAPI void edje_edit_state_fill_size_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the fill vertical size relative value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill vertical size
+ * relative value (not including the state value).
+ * @param value The state value.
+ * @param x The vertical size relative value.
+ */
+EAPI void edje_edit_state_fill_size_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the fill horizontal size offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill horizontal size
+ * offset relative value (not including the state value).
+ * @param value The state value.
+ * @param x The horizontal size offset value.
+ */
+EAPI void edje_edit_state_fill_size_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, double x);
+
+/** Set the fill vertical size offset value of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set fill vertical size offset
+ * relative value (not including the state value).
+ * @param value The state value.
+ * @param y The vertical size offset value.
+ */
+EAPI void edje_edit_state_fill_size_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, double y);
+
+/** Get the visibility of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get visibility (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE if the state is visible, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_visible_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the visibility of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set visibility (not including the state value).
+ * @param value The state value.
+ * @param visible To set state visible (EINA_TRUE if the state is visible, EINA_FALSE otherwise)
+ */
+EAPI void edje_edit_state_visible_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool visible);
+
+/** Get the color class of the given part state.
+ *
+ * Remember to free the string with edje_edit_string_free()
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get color class (not including the state value).
+ * @param value The state value.
+ *
+ * @return The current color class.
+ */
+EAPI const char *edje_edit_state_color_class_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the color class of the given part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set color class (not including the state value).
+ * @param value The state value.
+ * @param color_class The color class to assign.
+ */
+EAPI void edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char *state, double value, const char *color_class);
+
+/** Get the list of parameters for an external part.
+ *
+ * DO NOT FREE THE LIST!
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get list of Edje_External_Param (not including the state value).
+ * @param value The state value.
+ *
+ * @return The list of Edje_External_Param.
+ */
+EAPI const Eina_List * edje_edit_state_external_params_list_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the external parameter type and value.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter to look for.
+ * @param type The type of the parameter will be stored here.
+ * @param val Pointer to value will be stored here - DO NOT FREE IT!
+ *
+ * @return EINA_TRUE if the parameter was found, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type *type, void **val);
+
+/** Get external parameter of type INT.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type INT (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val The value of the parameter.
+ *
+ * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_int_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int *val);
+
+/** Get external parameter of type BOOL.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type BOOL (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val The value of the parameter.
+ *
+ * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_bool_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool *val);
+
+/** Get external parameter of type DOUBLE.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type DOUBLE (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val The value of the parameter.
+ *
+ * @return EINA_TRUE if successful. EINA_FALSE if not found or is of different type.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_double_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double *val);
+
+/** Get external parameter of type STRING.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of
+ *              type STRING (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val The value of the parameter.
+ *
+ * @return EINA_TRUE if successful. EINA_FALSE if not found or is of
+ * different type.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_string_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val);
+
+/** Get external parameter of type CHOICE.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of
+ *        type CHOICE (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val The value of the parameter.
+ *
+ * @return EINA_TRUE if successful. EINA_FALSE if not found or is of
+ * different type.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_choice_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val);
+
+/** Set the external parameter type and value, adding it if it didn't
+ * exist before.
+ *
+ * @param obj Object being edited.
+
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter (not
+ *              including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter set.
+ * @param type The type of the parameter.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+
+/**
+ * Arguments should have proper sized values matching their types:
+ *   - EDJE_EXTERNAL_PARAM_TYPE_INT: int
+ *   - EDJE_EXTERNAL_PARAM_TYPE_BOOL: int
+ *   - EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: double
+ *   - EDJE_EXTERNAL_PARAM_TYPE_STRING: char*
+ *   - EDJE_EXTERNAL_PARAM_TYPE_CHOICE: char*
+ *
+ * @note: The validation of the parameter will occur only if the part
+ * is in the same state as the one being modified.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type type, ...);
+
+/** Set external parameter of type INT.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of
+ *              type INT (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val Value will be stored here.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_int_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int val);
+
+/** Set external parameter of type BOOL.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type BOOL (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val Value will be stored here.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_bool_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool val);
+
+/** Set external parameter of type DOUBLE.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type DOUBLE (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val Value will be stored here.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_double_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double val);
+
+/** Set external parameter of type STRING.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type STRING (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val Value will be stored here.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_string_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val);
+
+/** Set external parameter of type CHOICE.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get external parameter of type CHOICE (not including the state value).
+ * @param value The state value.
+ * @param param The name of the paramter.
+ * @param val Value will be stored here.
+ *
+ * @return EINA_TRUE if it was set, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_external_param_choice_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val);
+
+
+//@}
+/******************************************************************************/
+/**************************   TEXT API   ************************************/
+/******************************************************************************/
+/** @name Text API
+ *  Functions to deal with text objects (see @ref edcref).
+ */ //@{
+
+/** Get the text of a part state.
+ *
+ * Remember to free the returned string with edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get text (not including the state value).
+ * @param value The state value.
+ *
+ * @return A newly allocated string containing the text for the given state.
+ */
+EAPI const char * edje_edit_state_text_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the text of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set text (not including the state value).
+ * @param value The state value.
+ * @param text The new text to assign.
+ */
+EAPI void edje_edit_state_text_set(Evas_Object *obj, const char *part, const char *state, double value,const char *text);
+
+/** Get font name for a given part state.
+ *
+ * @param obj Object being edited.
+ * @param part The name of the part to get the font of.
+ * @param state The state of the part to get the font of.
+ * @param value Value of the state.
+ *
+ * @return Font used by the part or NULL if error or nothing is set.
+ */
+EAPI const char * edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set font name for a given part state.
+ *
+ * Font name can be any alias of an internal font in the Edje file and,
+ * if it doesn't match any, Edje will look for a font with the given name
+ * in the system fonts.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set the font of.
+ * @param state State in which the font is set.
+ * @param value Value of the state.
+ * @param font The font name to use.
+ */
+EAPI void edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font);
+
+/** Get the text size of a part state
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get text size (not including the state value).
+ * @param value The state value.
+ *
+ * @return The text size or -1 on errors.
+ */
+EAPI int edje_edit_state_text_size_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the text size of a part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set text size (not including the state value).
+ * @param value The state value.
+ * @param size The new font size to set (in pixel)
+ */
+EAPI void edje_edit_state_text_size_set(Evas_Object *obj, const char *part, const char *state, double value, int size);
+
+/** Get the text horizontal align of a part state.
+ *
+ * The value range is from 0.0(right) to 1.0(left)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the text horizontal align (not including the state value).
+ * @param value The state value.
+ *
+ * @return The text horizont align value
+ */
+EAPI double edje_edit_state_text_align_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the text vertical align of a part state.
+ *
+ * The value range is from 0.0(top) to 1.0(bottom)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the text vertical align (not including the state value).
+ * @param value The state value.
+ *
+ * @return The text horizont align value
+ */
+EAPI double edje_edit_state_text_align_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the text horizontal align of a part state.
+ *
+ * The value range is from 0.0(right) to 1.0(left)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the text horizontal align (not including the state value).
+ * @param value The state value.
+ * @param align The new text horizontal align value
+ */
+EAPI void edje_edit_state_text_align_x_set(Evas_Object *obj, const char *part, const char *state, double value, double align);
+
+/** Set the text vertical align of a part state.
+ *
+ * The value range is from 0.0(top) to 1.0(bottom)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the text vertical align (not including the state value).
+ * @param value The state value.
+ * @param align The new text vertical align value
+ */
+EAPI void edje_edit_state_text_align_y_set(Evas_Object *obj, const char *part, const char *state, double value, double align);
+
+/** Get the text elipsis of a part state.
+ *
+ * The value range is from 0.0(right) to 1.0(left)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the text elipses value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The text elipsis value
+ */
+EAPI double edje_edit_state_text_elipsis_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the text vertical align of a part state.
+ *
+ * The value range is from 0.0(right) to 1.0(left)
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the text elipses value (not including the state value).
+ * @param value The state value.
+ * @param balance The position where to cut the string
+ */
+EAPI void edje_edit_state_text_elipsis_set(Evas_Object *obj, const char *part, const char *state, double value, double balance);
+
+/** Get if the text part fit it's container horizontally
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the if the text part fit it's container horizontally (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE If the part fit it's container horizontally, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_text_fit_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set if the text part should fit it's container horizontally
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the if the text part fit it's container horizontally (not including the state value).
+ * @param value The state value.
+ * @param fit EINA_TRUE to make the text fit it's container horizontally, EINA_FALSE otherwise.
+ */
+EAPI void edje_edit_state_text_fit_x_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit);
+
+/** Get if the text part fit it's container vertically
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the if the text part fit it's container vertically (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE If the part fit it's container vertically, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_text_fit_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set if the text part should fit it's container vertically
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the if the text part fit it's container vertically (not including the state value).
+ * @param value The state value.
+ * @param fit EINA_TRUE to make the text fit it's container vertically, EINA_FALSE otherwise.
+ */
+EAPI void edje_edit_state_text_fit_y_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit);
+
+/** Get the list of all the fonts in the given edje.
+ *
+ * Use edje_edit_string_list_free() when you don't need the list anymore.
+ *
+ * @param obj Object being edited.
+ *
+ * @return A list containing all the fonts names found in the edje file.
+ */
+EAPI Eina_List * edje_edit_fonts_list_get(Evas_Object *obj);
+
+/** Add a new font to the edje file.
+ *
+ * The newly created font will be available to all the groups in the edje, not only the current one.
+ *
+ * @param obj Object being edited.
+ * @param path The file path to load the font from.
+ * @param alias The alias for file, or NULL to use filename
+ *
+ * @return EINA_TRUE if font cat be loaded, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_font_add(Evas_Object *obj, const char *path, const char* alias);
+
+/** Delete font from the edje file.
+ *
+ * The font will be removed from all the groups in the edje, not only the current one.
+ *
+ * @param obj Object being edited.
+ * @param alias The font alias
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise (including the
+ * case when the alias is not valid).
+ */
+EAPI Eina_Bool edje_edit_font_del(Evas_Object *obj, const char* alias);
+
+/** Get font path for a given font alias.
+ *
+ * Remember to free the string with edje_edit_string_free()
+ *
+ * @param obj Object being edited.
+ * @param alias The font alias.
+ *
+ * @return The path of the given font alias.
+ */
+EAPI const char *edje_edit_font_path_get(Evas_Object *obj, const char *alias);
+
+
+/** Get font name for a given part state.
+ *
+ * Remember to free the returned string using edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the name of the font used (not including the state value).
+ * @param value The state value.
+ *
+ * @return The name of the font used in the given part state.
+ */
+EAPI const char * edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set font name for a given part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the name of the font that will be used (not including the state value).
+ * @param value The state value.
+ * @param font The name of the font to use in the given part state.
+ */
+EAPI void edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font);
+
+
+//@}
+/******************************************************************************/
+/**************************   IMAGES API   ************************************/
+/******************************************************************************/
+/** @name Images API
+ *  Functions to deal with image objects (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the images in the given edje.
+ * Use edje_edit_string_list_free() when you don't need the list anymore.
+ *
+ * @param obj Object being edited.
+ *
+ * @return A List containing all images names found in the edje file.
+ */
+EAPI Eina_List * edje_edit_images_list_get(Evas_Object *obj);
+
+/** Add an new image to the image collection
+ *
+ * This function add the given image inside the edje. Don't add a new image part
+ * but only put the image inside the edje file. It actually write directly to
+ * the file so you don't have to save.
+ * After you have to create a new image_part that use this image. Note that all
+ * the parts in the edje share the same image collection, thus you can/must use
+ * the same image for different part.
+ *
+ * The format of the image files that can be loaded depend on the evas engine on your system
+ *
+ * @param obj Object being edited.
+ * @param path The name of the image file to include in the edje.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_image_add(Evas_Object *obj, const char *path);
+
+/** Delete an image from the image collection
+ *
+ * It actually write directly to the file so you don't have to save.
+ *
+ * @param obj Object being edited.
+ * @param name The name of the image file to include in the edje.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise (including the
+ * case when the name is not valid).
+ */
+EAPI Eina_Bool edje_edit_image_del(Evas_Object *obj, const char *name);
+
+/** Add an image entry to the image collection
+ *
+ * This function adds the given image entry to the edje image collection. The
+ * image needs to be inside the eet already, with key name "images/id". After
+ * you have to create a new image_part that use this image, referring to it as
+ * "name". Note that all the parts in the edje share the same image collection,
+ * thus you can/must use the same image for different part.
+ *
+ * @param obj Object being edited.
+ * @param name The image entry name.
+ * @param id The image id.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_image_data_add(Evas_Object *obj, const char *name, int id);
+
+/** Get normal image name for a given part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the name that is being used (not including the state value).
+ * @param value The state value.
+ *
+ * @return The name of the image used by state.
+ */
+EAPI const char * edje_edit_state_image_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set normal image for a given part state.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the image that will be used (not including the state value).
+ * @param value The state value.
+ * @param image The name of the image (must be an image contained in the edje file).
+ */
+EAPI void edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image);
+
+/** Get image id for a given image name.
+ *
+ * @param obj Object being edited.
+ * @param image_name The image name.
+ *
+ * @return The id of the given image name.
+ */
+EAPI int edje_edit_image_id_get(Evas_Object *obj, const char *image_name);
+
+/** Get compression type for the given image.
+ *
+ * @param obj Object being edited.
+ * @param image The name of the image.
+ *
+ * @return One of Image Compression types.
+ * (EDJE_EDIT_IMAGE_COMP_RAW, EDJE_EDIT_IMAGE_COMP_USER, EDJE_EDIT_IMAGE_COMP_COMP, EDJE_EDIT_IMAGE_COMP_LOSSY).
+ */
+EAPI Edje_Edit_Image_Comp edje_edit_image_compression_type_get(Evas_Object *obj, const char *image);
+
+/** Get compression rate for the given image.
+ *
+ * @param obj Object being edited.
+ * @param image The name of the image.
+ *
+ * @return The compression rate (if the imnage is @c
+ *         EDJE_EDIT_IMAGE_COMP_LOSSY) or < 0, on errors.
+ */
+EAPI int edje_edit_image_compression_rate_get(Evas_Object *obj, const char *image);
+
+/** Get the image border of a part state.
+ *
+ * Pass NULL to any of [r,g,b,a] to get only the others.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the image border (not
+ *              including the state value).
+ * @param value The state value.
+ * @param l A pointer to store the left value
+ * @param r A pointer to store the right value
+ * @param t A pointer to store the top value
+ * @param b A pointer to store the bottom value
+ */
+EAPI void edje_edit_state_image_border_get(Evas_Object *obj, const char *part, const char *state, double value, int *l, int *r, int *t, int *b);
+
+/** Set the image border of a part state.
+ *
+ * Pass -1 to any of [l,r,t,b] to leave the value untouched.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the image border (not
+ *              including the state value).
+ * @param value The state value.
+ * @param l Left border value (or -1).
+ * @param r Right border value (or -1).
+ * @param t Top border value (or -1).
+ * @param b Bottom border value (or -1).
+ */
+EAPI void edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b);
+
+/** Get if the image center should be draw.
+ *
+ * 1 means to draw the center, 0 to don't draw it.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the image border fill (not including the state value).
+ * @param value The state value.
+ *
+ * @return 1 if the center of the bordered image is draw, 0 otherwise.
+ */
+EAPI unsigned char edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set if the image center should be draw.
+ *
+ * 1 means to draw the center, 0 to don't draw it.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to set the image border fill (not including the state value).
+ * @param value The state value.
+ * @param fill Fill to be se. 1 if the center of the bordered image is draw, 0 otherwise.
+ */
+EAPI void edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill);
+
+/** Get the list of all the tweens images in the given part state.
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to get the list of all the tweens images (not including the state value).
+ * @param value The state value.
+ *
+ * @return A string list containing all the image name that form a tween animation in the given part state.
+ */
+EAPI Eina_List * edje_edit_state_tweens_list_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Add a new tween frame to the given part state.
+ *
+ * The tween param must be the name of an existing image.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to add a new tween frame (not including the state value).
+ * @param value The state value.
+ * @param tween The name of the image to add.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_tween_add(Evas_Object *obj, const char *part, const char *state, double value, const char *tween);
+
+/** Remove the first tween with the given name.
+ *
+ * The image is not removed from the edje.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state to del the tween (not including the state value).
+ * @param value The state value.
+ * @param tween The name of the image to del.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_tween_del(Evas_Object *obj, const char *part, const char *state, double value, const char *tween);
+
+
+//@}
+/******************************************************************************/
+/*************************   SPECTRUM API   ***********************************/
+/******************************************************************************/
+/** @name Spectrum API
+ *  Functions to manage spectrum (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the spectrum in the given edje object.
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ *
+ * @param obj Object being edited.
+ *
+ * @return A list containing all the spectra names.
+ */
+EAPI Eina_List * edje_edit_spectrum_list_get(Evas_Object *obj);
+
+/** Add a new spectra in the given edje object.
+ *
+ * @param obj Object being edited.
+ * @param name The name of the spectra to include in the edje.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_spectra_add(Evas_Object *obj, const char *name);
+
+/** Delete the given spectra from the edje object.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the spectra to delete.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_spectra_del(Evas_Object *obj, const char *spectra);
+
+/** Change the name of the given spectra.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the current spectra.
+ * @param name The new name to assign.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_spectra_name_set(Evas_Object *obj, const char *spectra, const char *name);
+
+/** Get the number of stops in the given spectra.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the spectra.
+ *
+ * @return The number of stops (or 0 on errors).
+ */
+EAPI int edje_edit_spectra_stop_num_get(Evas_Object *obj, const char *spectra);
+
+/** Set the number of stops in the given spectra.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the spectra.
+ * @param num The number of stops you want
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_spectra_stop_num_set(Evas_Object *obj, const char *spectra, int num);
+
+/** Get the colors of the given stop.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the spectra.
+ * @param stop_number The number of the stop,
+ * @param r Where to store the red color value,
+ * @param g Where to store the green color value,
+ * @param b Where to store the blue color value,
+ * @param a Where to store the alpha color value,
+ * @param d Where to store the delta stop value,
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_spectra_stop_color_get(Evas_Object *obj, const char *spectra, int stop_number, int *r, int *g, int *b, int *a, int *d);
+
+/** Set the colors of the given stop.
+ *
+ * @param obj Object being edited.
+ * @param spectra The name of the spectra.
+ * @param stop_number The number of the stops,
+ * @param r The red color value to set,
+ * @param g The green color value to set,
+ * @param b The blue color value to set,
+ * @param a The alpha color value to set,
+ * @param d The delta stop value to set,
+ */
+EAPI Eina_Bool edje_edit_spectra_stop_color_set(Evas_Object *obj, const char *spectra, int stop_number, int r, int g, int b, int a, int d);
+
+
+//@}
+/******************************************************************************/
+/*************************   GRADIENT API   ***********************************/
+/******************************************************************************/
+/** @name Gradient API
+ *  Functions to deal with gradient objects (see @ref edcref).
+ */ //@{
+
+/** Get the type of gradient.
+ *
+ * Remember to free the string with edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get the gradient type (not including the state value).
+ * @param value The state value.
+ *
+ * @return The type of gradient used in state.
+ * (linear, linear.diag, linear.codiag, radial, rectangular, angular, sinosoidal)
+ */
+EAPI const char * edje_edit_state_gradient_type_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the type of gradient.
+ *
+ * Gradient type can be on of the following: linear, linear.diag, linear.codiag, radial, rectangular, angular, sinusoidal
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set the gradient type (not including the state value).
+ * @param value The state value.
+ * @param type The type of gradient to use.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_type_set(Evas_Object *obj, const char *part, const char *state, double value, const char *type);
+
+/** Get if the current gradient use the fill properties or the gradient_rel as params.
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set the gradient type (not including the state value).
+ * @param value The state value.
+ *
+ * @return EINA_TRUE if gradient use the fill properties, EINA_FALSE otherwise.
+ * */
+EAPI Eina_Bool edje_edit_state_gradient_use_fill_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the spectra used by part state.
+ *
+ * Remember to free the string with edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get the spectra name used (not including the state value).
+ * @param value The state value.
+ *
+ * @return The spectra name used in state.
+ */
+EAPI const char * edje_edit_state_gradient_spectra_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the spectra used by part state.
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set the spectra (not including the state value).
+ * @param value The state value.
+ * @param spectra The spectra name to assign
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_spectra_set(Evas_Object *obj, const char *part, const char *state, double value, const char *spectra);
+
+/** Get the angle of the gradient.
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get the angle (not including the state value).
+ * @param value The state value.
+ *
+ * @return The angle of the gradient.
+ */
+EAPI int edje_edit_state_gradient_angle_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the angle of the gradient.
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set the angle (not including the state value).
+ * @param value The state value.
+ * @param angle The angle to set.
+ */
+EAPI void edje_edit_state_gradient_angle_set(Evas_Object *obj, const char *part, const char *state, double value, int angle);
+
+/** Get the gradient rel1 horizontal relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel1 relative x value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel1 horizontal relative value.
+ */
+EAPI double edje_edit_state_gradient_rel1_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel1 vertical relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel1 relative y value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel1 vertical relative value.
+ */
+EAPI double edje_edit_state_gradient_rel1_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel2 horizontal relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel2 relative x value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel2 horizontal relative value.
+ */
+EAPI double edje_edit_state_gradient_rel2_relative_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel2 vertical relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel2 relative y value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel2 vertical relative value.
+ */
+EAPI double edje_edit_state_gradient_rel2_relative_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+
+/** Set the gradient rel1 horizontal relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel1 relative x value (not including the state value).
+ * @param value The state value.
+ * @param val The rel1 relative x to be set,
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise..
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel1_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
+
+
+/** Set the gradient rel1 vertical relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel1 relative y value (not including the state value).
+ * @param value The state value.
+ * @param val The rel1 relative y to be set,
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise..
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel1_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
+
+/** Set the gradient rel2 horizontal relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel2 relative x value (not including the state value).
+ * @param value The state value.
+ * @param val The rel2 relative x to be set,
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise..
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel2_relative_x_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
+
+/** Set the gradient rel2 vertical relative value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel2 relative y value (not including the state value).
+ * @param value The state value.
+ * @param val The rel2 relative y to be set,
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise..
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel2_relative_y_set(Evas_Object *obj, const char *part, const char *state, double value, double val);
+
+/** Get the gradient rel1 horizontal offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel1 offset x value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel1 horizontal offset value.
+ */
+EAPI int edje_edit_state_gradient_rel1_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel1 vertical offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel1 offset y value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel1 vertical offset value.
+ */
+EAPI int edje_edit_state_gradient_rel1_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel2 horizontal offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel2 offset x value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel2 horizontal offset value.
+ */
+EAPI int edje_edit_state_gradient_rel2_offset_x_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Get the gradient rel2 vertical offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to get rel2 offset y value (not including the state value).
+ * @param value The state value.
+ *
+ * @return The gradient rel2 vertical offset value.
+ */
+EAPI int edje_edit_state_gradient_rel2_offset_y_get(Evas_Object *obj, const char *part, const char *state, double value);
+
+/** Set the gradient rel1 horizontal offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel1 offset x value (not including the state value).
+ * @param value The state value.
+ * @param val The rel1 offset x value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel1_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
+
+/** Set the gradient rel1 vertical offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel1 offset y value (not including the state value).
+ * @param value The state value.
+ * @param val The rel1 offset y value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel1_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
+
+/** Set the gradient rel2 horizontal offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel2 offset x value (not including the state value).
+ * @param value The state value.
+ * @param val The rel2 offset x value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel2_offset_x_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
+
+/** Set the gradient rel2 vertical offset value
+ *
+ * @param obj Object being edited.
+ * @param part The part that contain state.
+ * @param state The name of the state to set rel2 offset y value (not including the state value).
+ * @param value The state value.
+ * @param val The rel2 offset y value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_state_gradient_rel2_offset_y_set(Evas_Object *obj, const char *part, const char *state, double value, int val);
+
+
+//@}
+/******************************************************************************/
+/*************************   PROGRAMS API   ***********************************/
+/******************************************************************************/
+/** @name Programs API
+ *  Functions to deal with programs (see @ref edcref).
+ */ //@{
+
+/** Get the list of all the programs in the given edje object.
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ *
+ * @param obj Object being edited.
+ *
+ * @return A list containing all the program names.
+ */
+EAPI Eina_List * edje_edit_programs_list_get(Evas_Object *obj);
+
+/** Add a new program to the edje file
+ *
+ * If a program with the same name just exist the function will fail.
+ *
+ * @param obj Object being edited.
+ * @param name The name of the new program.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_add(Evas_Object *obj, const char *name);
+
+/** Remove the given program from the edje file.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to remove.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_del(Evas_Object *obj, const char *prog);
+
+/** Check if a program with the given name exist in the edje object.
+ *
+ * @param obj Object being edited.
+ * @param prog The prog of the program that will be searched.
+ *
+ * @return EINA_TRUE if the program exist, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_exist(Evas_Object *obj, const char *prog);
+
+/** Run the given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to execute.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_run(Evas_Object *obj, const char *prog);
+
+/** Set a new name for the given program
+ *
+ * @param obj Object being edited.
+ * @param prog The current program name.
+ * @param new_name The new name to assign.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char *new_name);
+
+/** Get source of a given program.
+ *
+ * Remember to free the returned string using edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get source.
+ *
+ * @return The source value por program.
+ */
+EAPI const char * edje_edit_program_source_get(Evas_Object *obj, const char *prog);
+
+/** Set source of the given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set source.
+ * @param source The new source value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_source_set(Evas_Object *obj, const char *prog, const char *source);
+
+/** Get signal of a given program.
+ *
+ * Remember to free the returned string using edje_edit_string_free().
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the signal.
+ *
+ * @return The signal value for program.
+ */
+EAPI const char * edje_edit_program_signal_get(Evas_Object *obj, const char *prog);
+
+/** Set signal of the given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the signal.
+ * @param signal The new signal value.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_signal_set(Evas_Object *obj, const char *prog, const char *signal);
+
+/** Get in.from of a given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the delay.
+ *
+ * @return The delay.
+ */
+EAPI double edje_edit_program_in_from_get(Evas_Object *obj, const char *prog);
+
+/** Set in.from of a given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the delay.
+ * @param seconds Number of seconds to delay the program execution
+ *
+ * */
+EAPI Eina_Bool edje_edit_program_in_from_set(Evas_Object *obj, const char *prog, double seconds);
+
+/** Get in.range of a given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get random delay.
+ *
+ * @return The delay random.
+ */
+EAPI double edje_edit_program_in_range_get(Evas_Object *obj, const char *prog);
+
+/** Set in.range of a given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set random delay.
+ * @param seconds Max random number of seconds to delay.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_in_range_set(Evas_Object *obj, const char *prog, double seconds);
+
+/** Get the action of a given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the action.
+ *
+ * @return The action type, or -1 on errors.
+ * Action can be one of EDJE_ACTION_TYPE_NONE, _STATE_SET, ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, _DRAG_VAL_STEP, _DRAG_VAL_PAGE, _SCRIPT
+ */
+EAPI Edje_Action_Type edje_edit_program_action_get(Evas_Object *obj, const char *prog);
+
+/** Set the action of a given program.
+ *
+ * Action can be one of EDJE_ACTION_TYPE_NONE, _STATE_SET, ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, _DRAG_VAL_STEP, _DRAG_VAL_PAGE, _SCRIPT
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the action.
+ * @param action The new action type.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_action_set(Evas_Object *obj, const char *prog, Edje_Action_Type action);
+
+/** Get the list of the targets for the given program.
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the progrem to get the list of the targets.
+ *
+ * @return A list with all the targets names, or NULL on error.
+ */
+EAPI Eina_List * edje_edit_program_targets_get(Evas_Object *obj, const char *prog);
+
+/** Add a new target program to the list of 'targets' in the given program.
+ *
+ * If program action is @c EDJE_ACTION_TYPE_ACTION_STOP, then 'target'
+ * must be an existing program name. If it's @c
+ * EDJE_ACTION_TYPE_STATE_SET, then 'target' must be an existing part
+ * name.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to add a new target.
+ * @param target The name of the new target itself.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_target_add(Evas_Object *obj, const char *prog, const char *target);
+
+/** Deletes a target from the list of 'targets' in the given program.
+ *
+ * If program action is EDJE_ACTION_TYPE_ACTION_STOP then 'target' must be an existing program name.
+ * If action is EDJE_ACTION_TYPE_STATE_SET then 'target' must be an existing part name.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to del a target from the list of targets.
+ * @param target The name of another program or another part.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_target_del(Evas_Object *obj, const char *prog, const char *target);
+
+/** Clear the 'targets' list of the given program
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to cleaar the 'targets' list.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_targets_clear(Evas_Object *obj, const char *prog);
+
+/** Get the list of action that will be run after the give program
+ *
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the list of actions
+ *
+ * @return A list with all program names. or NULL on error.
+ */
+EAPI Eina_List * edje_edit_program_afters_get(Evas_Object *obj, const char *prog);
+
+/** Add a new program name to the list of 'afters' in the given program.
+ *
+ * All the programs listed in 'afters' will be executed after program execution.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program that contains the list of afters
+ * @param after The name of another program to add to the afters list
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_after_add(Evas_Object *obj, const char *prog, const char *after);
+
+/** Delete the given program from the list of 'afters' of the program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program from where to remove the after.
+ * @param after The name of the program to remove from the list of afters.
+ *
+ * @return EINA_TRUE is successful or not in the list, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_after_del(Evas_Object *obj, const char *prog, const char *after);
+
+/** Clear the 'afters' list of the given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to clear the 'afters' list.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_afters_clear(Evas_Object *obj, const char *prog);
+
+/** Get the state for the given program
+ *
+ * In a STATE_SET action this is the name of state to set.
+ * In a SIGNAL_EMIT action is the name of the signal to emit.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the state.
+ *
+ * @return The name of the state.
+ */
+EAPI const char * edje_edit_program_state_get(Evas_Object *obj, const char *prog);
+
+/** Get api's name of a program.
+ *
+ * @param obj Object being edited.
+ * @param prog Name of program.
+ *
+ * @return name of the api if successful, NULL otherwise.
+ */
+EAPI const char * edje_edit_program_api_name_get(Evas_Object *obj, const char *prog);
+
+/** Get api's description of a program.
+ *
+ * @param obj Object being edited.
+ * @param prog Name of program.
+ *
+ * @return description of the api if successful, NULL otherwise.
+ */
+EAPI const char * edje_edit_program_api_description_get(Evas_Object *obj, const char *prog);
+
+/** Set api's name of a program.
+ *
+ * @param obj Object being edited.
+ * @param prog Name of the part.
+ * @param name New name for the api property.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_api_name_set(Evas_Object *obj, const char *prog, const char *name);
+
+/** Set api's description of a program.
+ *
+ * @param obj Object being edited.
+ * @param prog Name of the program.
+ * @param description New description for the api property.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_api_description_set(Evas_Object *obj, const char *prog, const char *description);
+
+/** Set the state for the given program
+ *
+ * In a STATE_SET action this is the name of state to set.
+ * In a SIGNAL_EMIT action is the name of the signal to emit.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set a state.
+ * @param state The nameo of the state to set (not including the state value)
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_state_set(Evas_Object *obj, const char *prog, const char *state);
+
+/** Get the value of state for the given program.
+ *
+ * In a STATE_SET action this is the value of state to set.
+ * Not used on SIGNAL_EMIT action.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the value of state.
+ *
+ * @return The value of state for the program.
+ */
+EAPI double edje_edit_program_value_get(Evas_Object *obj, const char *prog);
+
+/** Set the value of state for the given program.
+ *
+ * In a STATE_SET action this is the value of state to set.
+ * Not used on SIGNAL_EMIT action.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the value of state.
+ * @param value The vale to set.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_value_set(Evas_Object *obj, const char *prog, double value);
+
+/** Get the state2 for the given program
+ *
+ * In a STATE_SET action is not used
+ * In a SIGNAL_EMIT action is the source of the emitted signal.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the state2.
+ *
+ * @return The source to emit for the program.
+ */
+EAPI const char * edje_edit_program_state2_get(Evas_Object *obj, const char *prog);
+
+/** Set the state2 for the given program
+ *
+ * In a STATE_SET action is not used
+ * In a SIGNAL_EMIT action is the source of the emitted signal.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the state2.
+ * @param state2 The name of the state to set.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_state2_set(Evas_Object *obj, const char *prog, const char *state2);
+
+/** Get the value of state2 for the given program.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the state2 value.
+ *
+ * @return The vale of the state2 for the program.
+ */
+EAPI double edje_edit_program_value2_get(Evas_Object *obj, const char *prog);
+
+/** Set the value2 of state for the given program.
+ *
+ * This is used in DRAG_ACTION
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the state2 value.
+ * @param value The value of the state2 to set.
+ */
+EAPI Eina_Bool edje_edit_program_value2_set(Evas_Object *obj, const char *prog, double value);
+
+/** Get the type of transition to use when apply animations.
+ *
+ * Can be one of: EDJE_TWEEN_MODE_NONE, EDJE_TWEEN_MODE_LINEAR, EDJE_TWEEN_MODE_SINUSOIDAL, EDJE_TWEEN_MODE_ACCELERATE or EDJE_TWEEN_MODE_DECELERATE.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the transition.
+ *
+ * @return The type of transition used by program.
+ */
+EAPI Edje_Tween_Mode edje_edit_program_transition_get(Evas_Object *obj, const char *prog);
+
+/** Set the type of transition to use when apply animations.
+ *
+ * Can be one of: EDJE_TWEEN_MODE_NONE, EDJE_TWEEN_MODE_LINEAR, EDJE_TWEEN_MODE_SINUSOIDAL, EDJE_TWEEN_MODE_ACCELERATE or EDJE_TWEEN_MODE_DECELERATE.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the transition.
+ * @param transition The transition type to set
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_transition_set(Evas_Object *obj, const char *prog, Edje_Tween_Mode transition);
+
+/** Get the duration of the transition in seconds.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to get the transition time.
+ *
+ * @return The duration of the transition.
+ */
+EAPI double edje_edit_program_transition_time_get(Evas_Object *obj, const char *prog);
+
+/** Set the duration of the transition in seconds.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to set the transition time.
+ * @param seconds The duration of the transition (in seconds).
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_transition_time_set(Evas_Object *obj, const char *prog, double seconds);
+
+EAPI const char * edje_edit_program_filter_part_get(Evas_Object *obj, const char *prog);
+EAPI Eina_Bool edje_edit_program_filter_part_set(Evas_Object *obj, const char *prog, const char *filter_part);
+
+//@}
+/******************************************************************************/
+/**************************   SCRIPTS API   ***********************************/
+/******************************************************************************/
+/** @name Scripts API
+ *  Functions to deal with embryo scripts (see @ref edcref).
+ */ //@{
+
+/**
+ * Get the Embryo script for the group of the given object.
+ *
+ * Get the shared script for the group under edition. Shared script means
+ * the script {} block for the group, not counting what's in each program.
+ * It returns a malloc'd duplicate of the code, so users are free to modify
+ * the contents directly and they should remember to free() it when done.
+ * NULL will be returned if there's no script or an error occurred.
+ *
+ * @param obj Object being edited.
+ *
+ * @return The shared script code for this group.
+ */
+EAPI char *edje_edit_script_get(Evas_Object *obj);
+
+/**
+ * Set the code for the group script.
+ *
+ * Set the Embryo source code for the shared script of the edited group.
+ * Note that changing the code itself will not update the running VM, you
+ * need to call edje_edit_script_compile for it to get updated.
+ *
+ * @param obj The object being edited
+ * @param code The Embryo source
+ */
+EAPI void edje_edit_script_set(Evas_Object *obj, const char *code);
+
+/**
+ * Get the Embryo script for the given program.
+ *
+ * Get the script code for the given program. Like the group script, this
+ * function returns a duplicate of the code that the user can modify at will
+ * and must free when done using it.
+ * NULL will be returned if the program doesn't exist, doesn't have any
+ * script or is not of type script.
+ *
+ * @param obj Object being edited
+ * @param prog Program name
+ *
+ * @return The program script code
+ */
+EAPI char *edje_edit_script_program_get(Evas_Object *obj, const char *prog);
+
+/**
+ * Set the Embryo script for the given program.
+ *
+ * Set the Embryo source code for the program @p prog. It must be an
+ * existing program of type EDJE_ACTION_TYPE_SCRIPT, or the function
+ * will fail and do nothing.
+ * Note that changing the code itself will not update the running VM, you
+ * need to call edje_edit_script_compile for it to get updated.
+ *
+ * @param obj The object being edited
+ * @param prog The program name.
+ * @param code The Embryo source
+ */
+EAPI void edje_edit_script_program_set(Evas_Object *obj, const char *prog, const char *code);
+
+/**
+ * Compile the Embryo script for the given object
+ *
+ * If required, this function will process all script code for the group and
+ * build the bytecode, updating the running Embryo VM Program if the build
+ * is succesful.
+ *
+ * @param obj The object being edited
+ *
+ */
+EAPI Eina_Bool edje_edit_script_compile(Evas_Object *obj);
+
+/**
+ * Get the list of errors resulting from the last script build
+ *
+ * Get the list of errors that resulted from the last attempt to rebuild
+ * the Embryo script for the edited group. This will be a standard Eina_List
+ * with Edje_Edit_Script_Error pointers as its data.
+ * The user should not do anything else but read the contents of this list.
+ * These errors can be the output of the embryo compiler, or internal errors
+ * generated by Edje_Edit if the preprocessing of the scripts failed.
+ *
+ * @param obj The object being edited
+ *
+ * @return A constant list of Edje_Edit_Script_Error, or NULL if there are none
+ */
+EAPI const Eina_List *edje_edit_script_error_list_get(Evas_Object *obj);
+
+//@}
+/******************************************************************************/
+/**************************   ERROR API   ***********************************/
+/******************************************************************************/
+/** @name Error API
+ *   to deal with error messages (see @ref edcref).
+ */ //@{
+
+EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED;
+EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_REFERENCED;
+EAPI extern Eina_Error EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/lib/edje/edje_box_layout.c b/src/lib/edje/edje_box_layout.c
new file mode 100644 (file)
index 0000000..5cf7d0a
--- /dev/null
@@ -0,0 +1,251 @@
+#include "edje_private.h"
+
+#include <Eo.h>
+
+typedef struct _Edje_Transition_Animation_Data Edje_Transition_Animation_Data;
+struct _Edje_Transition_Animation_Data
+{
+   Evas_Object *obj;
+   struct
+   {
+      Evas_Coord x, y, w, h;
+   } start, end;
+};
+
+struct _Edje_Part_Box_Animation
+{
+   struct
+   {
+      Evas_Object_Box_Layout layout;
+      void *data;
+      void(*free_data)(void *data);
+      Edje_Alignment align;
+      Evas_Point padding;
+   } start, end;
+   Eina_List *objs;
+   Eina_Bool recalculate:1;
+   Evas_Object *box;
+   double progress;
+   double start_progress;
+   int box_start_w, box_start_h;
+};
+
+static void
+_edje_box_layout_find_all(const char *name, const char *name_alt, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data))
+{
+   if (!_edje_box_layout_find(name, cb, data, free_data))
+     {
+        if ((!name_alt) ||
+            (!_edje_box_layout_find(name_alt, cb, data, free_data)))
+          {
+             ERR("box layout '%s' (fallback '%s') not available, using horizontal.",
+                 name, name_alt);
+             *cb = evas_object_box_layout_horizontal;
+             *free_data = NULL;
+             *data = NULL;
+          }
+     }
+}
+
+static void
+_edje_box_layout_calculate_coords(Evas_Object *obj, Evas_Object_Box_Data *priv, Edje_Part_Box_Animation *anim)
+{
+   Eina_List *l;
+   Edje_Transition_Animation_Data *tad;
+   Evas_Coord x, y;
+
+   evas_object_geometry_get(obj, &x, &y, &anim->box_start_w, &anim->box_start_h);
+   EINA_LIST_FOREACH(anim->objs, l, tad)
+     {
+        evas_object_geometry_get(tad->obj, &tad->start.x, &tad->start.y,
+              &tad->start.w, &tad->start.h);
+        tad->start.x = tad->start.x - x;
+        tad->start.y = tad->start.y - y;
+     }
+   evas_object_box_padding_set(obj, anim->end.padding.x, anim->end.padding.y);
+   evas_object_box_align_set(obj, TO_DOUBLE(anim->end.align.x), TO_DOUBLE(anim->end.align.y));
+   anim->end.layout(obj, priv, anim->end.data);
+   EINA_LIST_FOREACH(anim->objs, l, tad)
+     {
+        evas_object_geometry_get(tad->obj, &tad->end.x, &tad->end.y,
+              &tad->end.w, &tad->end.h);
+        tad->end.x = tad->end.x - x;
+        tad->end.y = tad->end.y - y;
+     }
+}
+
+static void
+_edje_box_layout_exec(Evas_Object *obj, Edje_Part_Box_Animation *anim)
+{
+   Eina_List *l;
+   Edje_Transition_Animation_Data *tad;
+   Evas_Coord x, y, w, h;
+   Evas_Coord cur_x, cur_y, cur_w, cur_h;
+   double progress;
+
+   evas_object_geometry_get(obj, &x, &y, &w, &h);
+   progress = (anim->progress - anim->start_progress) / (1 - anim->start_progress);
+
+   EINA_LIST_FOREACH(anim->objs, l, tad)
+     {
+        cur_x = x + (tad->start.x + ((tad->end.x - tad->start.x) * progress)) * (w / (double)anim->box_start_w);
+        cur_y = y + (tad->start.y + ((tad->end.y - tad->start.y) * progress)) * (h / (double)anim->box_start_h);
+        cur_w = (w / (double)anim->box_start_w) * (tad->start.w + ((tad->end.w - tad->start.w) * progress));
+        cur_h = (h / (double)anim->box_start_h) * (tad->start.h + ((tad->end.h - tad->start.h) * progress));
+        evas_object_move(tad->obj, cur_x, cur_y);
+        evas_object_resize(tad->obj, cur_w, cur_h);
+     }
+}
+
+static void
+_edje_box_layout(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data)
+{
+   Edje_Part_Box_Animation *anim = data;
+   if (anim->progress < 0.01)
+     {
+        if (anim->start.layout)
+          {
+             evas_object_box_padding_set(obj, anim->start.padding.x, anim->start.padding.y);
+             evas_object_box_align_set(obj, TO_DOUBLE(anim->start.align.x), TO_DOUBLE(anim->start.align.y));
+             anim->start.layout(obj, priv, anim->start.data);
+          }
+        return;
+     }
+
+   if (anim->recalculate)
+     {
+        _edje_box_layout_calculate_coords(obj, priv, anim);
+        anim->start_progress = anim->progress;
+        anim->recalculate = EINA_FALSE;
+     }
+
+   if ((anim->progress > 0) && (anim->start_progress < 1))
+      _edje_box_layout_exec(obj, anim);
+}
+
+void
+_edje_box_layout_free_data(void *data)
+{
+   Edje_Transition_Animation_Data *tad;
+   Edje_Part_Box_Animation *anim = data;
+   if (anim->start.free_data && anim->start.data)
+      anim->start.free_data(anim->start.data);
+   if (anim->end.free_data && anim->end.data)
+      anim->end.free_data(anim->end.data);
+   EINA_LIST_FREE(anim->objs, tad)
+      free(tad);
+   free(data);
+}
+
+Edje_Part_Box_Animation *
+_edje_box_layout_anim_new(Evas_Object *box)
+{
+   Edje_Part_Box_Animation *anim = calloc(1, sizeof(Edje_Part_Box_Animation));
+   if (!anim)
+      return NULL;
+
+   anim->box = box;
+   evas_object_box_layout_set(box, _edje_box_layout, anim, NULL);
+
+   return anim;
+}
+
+void
+_edje_box_recalc_apply(Edje *ed EINA_UNUSED, Edje_Real_Part *ep, Edje_Calc_Params *p3 EINA_UNUSED, Edje_Part_Description_Box *chosen_desc)
+{
+   Evas_Object_Box_Data *priv;
+#if 0
+   int min_w, min_h;
+#endif
+   if ((ep->type != EDJE_RP_TYPE_CONTAINER) ||
+       (!ep->typedata.container)) return;
+     
+   if ((ep->param2) && (ep->description_pos != ZERO))
+     {
+        Edje_Part_Description_Box *param2_desc = (Edje_Part_Description_Box *)ep->param2->description;
+        if (ep->typedata.container->anim->end.layout == NULL)
+          {
+             _edje_box_layout_find_all(param2_desc->box.layout, param2_desc->box.alt_layout, &ep->typedata.container->anim->end.layout, &ep->typedata.container->anim->end.data, &ep->typedata.container->anim->end.free_data);
+             ep->typedata.container->anim->end.padding.x = param2_desc->box.padding.x;
+             ep->typedata.container->anim->end.padding.y = param2_desc->box.padding.y;
+             ep->typedata.container->anim->end.align.x = param2_desc->box.align.x;
+             ep->typedata.container->anim->end.align.y = param2_desc->box.align.y;
+
+             priv = eo_data_get(ep->object, EVAS_OBJ_BOX_CLASS);
+             if (priv == NULL)
+                return;
+
+             evas_object_box_padding_set(ep->object, ep->typedata.container->anim->start.padding.x, ep->typedata.container->anim->start.padding.y);
+             evas_object_box_align_set(ep->object, TO_DOUBLE(ep->typedata.container->anim->start.align.x), TO_DOUBLE(ep->typedata.container->anim->start.align.y));
+             ep->typedata.container->anim->start.layout(ep->object, priv, ep->typedata.container->anim->start.data);
+             _edje_box_layout_calculate_coords(ep->object, priv, ep->typedata.container->anim);
+             ep->typedata.container->anim->start_progress = 0.0;
+          }
+        evas_object_smart_changed(ep->object);
+     }
+   else
+     {
+        ep->typedata.container->anim->end.layout = NULL;
+     }
+
+   if (ep->description_pos < 0.01 || !ep->typedata.container->anim->start.layout)
+     {
+        _edje_box_layout_find_all(chosen_desc->box.layout, chosen_desc->box.alt_layout, &ep->typedata.container->anim->start.layout, &ep->typedata.container->anim->start.data, &ep->typedata.container->anim->start.free_data);
+        ep->typedata.container->anim->start.padding.x = chosen_desc->box.padding.x;
+        ep->typedata.container->anim->start.padding.y = chosen_desc->box.padding.y;
+        ep->typedata.container->anim->start.align.x = chosen_desc->box.align.x;
+        ep->typedata.container->anim->start.align.y = chosen_desc->box.align.y;
+        evas_object_smart_changed(ep->object);
+     }
+
+   ep->typedata.container->anim->progress = ep->description_pos;
+
+   if (evas_object_smart_need_recalculate_get(ep->object))
+     {
+       evas_object_smart_need_recalculate_set(ep->object, 0);
+       evas_object_smart_calculate(ep->object);
+     }
+#if 0 /* Why the hell do we affect part size after resize ??? */
+   evas_object_size_hint_min_get(ep->object, &min_w, &min_h);
+   if (chosen_desc->box.min.h && (p3->w < min_w))
+     p3->w = min_w;
+   if (chosen_desc->box.min.v && (p3->h < min_h))
+     p3->h = min_h;
+#endif
+}
+
+Eina_Bool
+_edje_box_layout_add_child(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   Edje_Transition_Animation_Data *tad;
+   
+   if ((rp->type != EDJE_RP_TYPE_CONTAINER) ||
+       (!rp->typedata.container)) return EINA_FALSE;
+   tad = calloc(1, sizeof(Edje_Transition_Animation_Data));
+   if (!tad) return EINA_FALSE;
+   tad->obj = child_obj;
+   rp->typedata.container->anim->objs = eina_list_append(rp->typedata.container->anim->objs, tad);
+   rp->typedata.container->anim->recalculate = EINA_TRUE;
+   return EINA_TRUE;
+}
+
+void
+_edje_box_layout_remove_child(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   Eina_List *l;
+   Edje_Transition_Animation_Data *tad;
+
+   if ((rp->type != EDJE_RP_TYPE_CONTAINER) ||
+       (!rp->typedata.container)) return;
+   EINA_LIST_FOREACH(rp->typedata.container->anim->objs, l, tad)
+     {
+        if (tad->obj == child_obj)
+          {
+             free(eina_list_data_get(l));
+             rp->typedata.container->anim->objs = eina_list_remove_list(rp->typedata.container->anim->objs, l);
+             rp->typedata.container->anim->recalculate = EINA_TRUE;
+             break;
+          }
+     }
+   rp->typedata.container->anim->recalculate = EINA_TRUE;
+}
diff --git a/src/lib/edje/edje_cache.c b/src/lib/edje/edje_cache.c
new file mode 100644 (file)
index 0000000..de356b0
--- /dev/null
@@ -0,0 +1,671 @@
+#include "edje_private.h"
+
+
+static Eina_Hash   *_edje_file_hash = NULL;
+static int          _edje_file_cache_size = 16;
+static Eina_List   *_edje_file_cache = NULL;
+
+static int          _edje_collection_cache_size = 16;
+
+EAPI void
+edje_cache_emp_alloc(Edje_Part_Collection_Directory_Entry *ce)
+{  /* Init Eina Mempools this is also used in edje_pick.c */
+   char *buffer;
+#define INIT_EMP(Tp, Sz, Ce)                                           \
+   buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2);               \
+   sprintf(buffer, "%s/%s", ce->entry, #Tp);                           \
+   Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp); \
+   _emp_##Tp = Ce->mp.Tp;
+
+#define INIT_EMP_BOTH(Tp, Sz, Ce)                                       \
+   INIT_EMP(Tp, Sz, Ce)                                                 \
+   Ce->mp_rtl.Tp = eina_mempool_add("one_big", buffer, NULL,            \
+         sizeof (Sz), Ce->count.Tp);
+
+   INIT_EMP_BOTH(RECTANGLE, Edje_Part_Description_Common, ce);
+   INIT_EMP_BOTH(TEXT, Edje_Part_Description_Text, ce);
+   INIT_EMP_BOTH(IMAGE, Edje_Part_Description_Image, ce);
+   INIT_EMP_BOTH(PROXY, Edje_Part_Description_Proxy, ce);
+   INIT_EMP_BOTH(SWALLOW, Edje_Part_Description_Common, ce);
+   INIT_EMP_BOTH(TEXTBLOCK, Edje_Part_Description_Text, ce);
+   INIT_EMP_BOTH(GROUP, Edje_Part_Description_Common, ce);
+   INIT_EMP_BOTH(BOX, Edje_Part_Description_Box, ce);
+   INIT_EMP_BOTH(TABLE, Edje_Part_Description_Table, ce);
+   INIT_EMP_BOTH(EXTERNAL, Edje_Part_Description_External, ce);
+   INIT_EMP_BOTH(SPACER, Edje_Part_Description_Common, ce);
+   INIT_EMP(part, Edje_Part, ce);
+}
+
+EAPI void
+edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce)
+{  /* Free Eina Mempools this is also used in edje_pick.c */
+   /* Destroy all part and description. */
+   eina_mempool_del(ce->mp.RECTANGLE);
+   eina_mempool_del(ce->mp.TEXT);
+   eina_mempool_del(ce->mp.IMAGE);
+   eina_mempool_del(ce->mp.PROXY);
+   eina_mempool_del(ce->mp.SWALLOW);
+   eina_mempool_del(ce->mp.TEXTBLOCK);
+   eina_mempool_del(ce->mp.GROUP);
+   eina_mempool_del(ce->mp.BOX);
+   eina_mempool_del(ce->mp.TABLE);
+   eina_mempool_del(ce->mp.EXTERNAL);
+   eina_mempool_del(ce->mp.SPACER);
+   eina_mempool_del(ce->mp.part);
+   memset(&ce->mp, 0, sizeof (ce->mp));
+
+   eina_mempool_del(ce->mp_rtl.RECTANGLE);
+   eina_mempool_del(ce->mp_rtl.TEXT);
+   eina_mempool_del(ce->mp_rtl.IMAGE);
+   eina_mempool_del(ce->mp_rtl.PROXY);
+   eina_mempool_del(ce->mp_rtl.SWALLOW);
+   eina_mempool_del(ce->mp_rtl.TEXTBLOCK);
+   eina_mempool_del(ce->mp_rtl.GROUP);
+   eina_mempool_del(ce->mp_rtl.BOX);
+   eina_mempool_del(ce->mp_rtl.TABLE);
+   eina_mempool_del(ce->mp_rtl.EXTERNAL);
+   eina_mempool_del(ce->mp_rtl.SPACER);
+   memset(&ce->mp_rtl, 0, sizeof (ce->mp_rtl));
+   ce->ref = NULL;
+}
+
+static Edje_Part_Collection *
+_edje_file_coll_open(Edje_File *edf, const char *coll)
+{
+   Edje_Part_Collection *edc = NULL;
+   Edje_Part_Collection_Directory_Entry *ce;
+   int id = -1, size = 0;
+   Eina_List *l;
+   char buf[256];
+   void *data;
+
+   ce = eina_hash_find(edf->collection, coll);
+   if (!ce) return NULL;
+
+   if (ce->ref)
+     {
+       ce->ref->references++;
+       return ce->ref;
+     }
+
+   EINA_LIST_FOREACH(edf->collection_cache, l, edc)
+     {
+       if (!strcmp(edc->part, coll))
+         {
+            edc->references = 1;
+            ce->ref = edc;
+
+            edf->collection_cache = eina_list_remove_list(edf->collection_cache, l);
+            return ce->ref;
+         }
+     }
+
+   id = ce->id;
+   if (id < 0) return NULL;
+
+   edje_cache_emp_alloc(ce);
+   snprintf(buf, sizeof(buf), "edje/collections/%i", id);
+   edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf);
+   if (!edc) return NULL;
+
+   edc->references = 1;
+   edc->part = ce->entry;
+
+   /* For Edje file build with Edje 1.0 */
+   if (edf->version <= 3 && edf->minor <= 1)
+     {
+        /* This will preserve previous rendering */
+        unsigned int i;
+
+       /* people expect signal to not be broadcasted */
+       edc->broadcast_signal = EINA_FALSE;
+
+       /* people expect text.align to be 0.0 0.0 */
+        for (i = 0; i < edc->parts_count; ++i)
+          {
+             if (edc->parts[i]->type == EDJE_PART_TYPE_TEXTBLOCK)
+               {
+                  Edje_Part_Description_Text *text;
+                  unsigned int j;
+
+                  text = (Edje_Part_Description_Text*) edc->parts[i]->default_desc;
+                  text->text.align.x = TO_DOUBLE(0.0);
+                  text->text.align.y = TO_DOUBLE(0.0);
+
+                  for (j = 0; j < edc->parts[i]->other.desc_count; ++j)
+                    {
+                       text =  (Edje_Part_Description_Text*) edc->parts[i]->other.desc[j];
+                       text->text.align.x = TO_DOUBLE(0.0);
+                       text->text.align.y = TO_DOUBLE(0.0);
+                    }
+               }
+          }
+     }
+
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", id);
+   data = eet_read(edf->ef, buf, &size);
+
+   if (data)
+     {
+       edc->script = embryo_program_new(data, size);
+       _edje_embryo_script_init(edc);
+       free(data);
+     }
+
+   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", id);
+   data = eet_read(edf->ef, buf, &size);
+
+   if (data)
+     {
+        _edje_lua2_script_load(edc, data, size);
+       free(data);
+     }
+
+   ce->ref = edc;
+
+   return edc;
+}
+
+#ifdef HAVE_EIO
+static Eina_Bool
+_edje_file_warn(void *data)
+{
+   Edje_File *edf = data;
+   Eina_List *l, *ll;
+   Edje *ed;
+
+   edf->references++;
+
+   EINA_LIST_FOREACH(edf->edjes, l, ed)
+     _edje_ref(ed);
+
+   EINA_LIST_FOREACH(edf->edjes, l, ed)
+     {
+        _edje_emit(ed, "edje,change,file", "edje");
+     }
+
+   EINA_LIST_FOREACH_SAFE(edf->edjes, l, ll, ed)
+     _edje_unref(ed);
+
+   edf->references--;
+
+   edf->timeout = NULL;
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_edje_file_change(void *data, int ev_type EINA_UNUSED, void *event)
+{
+   Edje_File *edf = data;
+   Eio_Monitor_Event *ev = event;
+
+   if (ev->monitor == edf->monitor)
+     {
+        if (edf->timeout) ecore_timer_del(edf->timeout);
+        edf->timeout = ecore_timer_add(0.5, _edje_file_warn, edf);
+     }
+   return ECORE_CALLBACK_PASS_ON;
+}
+#endif
+
+static Edje_File *
+_edje_file_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, time_t mtime)
+{
+   Edje_Color_Class *cc;
+   Edje_File *edf;
+   Eina_List *l;
+   Edje_Part_Collection *edc;
+   Eet_File *ef;
+#ifdef HAVE_EIO
+   Ecore_Event_Handler *ev;
+#endif
+
+   ef = eet_open(file, EET_FILE_MODE_READ);
+   if (!ef)
+     {
+       *error_ret = EDJE_LOAD_ERROR_UNKNOWN_FORMAT;
+       return NULL;
+     }
+   edf = eet_data_read(ef, _edje_edd_edje_file, "edje/file");
+   if (!edf)
+     {
+       *error_ret = EDJE_LOAD_ERROR_CORRUPT_FILE;
+       eet_close(ef);
+       return NULL;
+     }
+
+   edf->ef = ef;
+   edf->mtime = mtime;
+#ifdef HAVE_EIO
+   edf->monitor = eio_monitor_add(file);
+   ev = ecore_event_handler_add(EIO_MONITOR_FILE_DELETED, _edje_file_change, edf);
+   edf->handlers = eina_list_append(edf->handlers, ev);
+   ev = ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, _edje_file_change, edf);
+   edf->handlers = eina_list_append(edf->handlers, ev);
+   ev = ecore_event_handler_add(EIO_MONITOR_FILE_CREATED, _edje_file_change, edf);
+   edf->handlers = eina_list_append(edf->handlers, ev);
+   ev = ecore_event_handler_add(EIO_MONITOR_SELF_DELETED, _edje_file_change, edf);
+   edf->handlers = eina_list_append(edf->handlers, ev);
+#endif
+
+   if (edf->version != EDJE_FILE_VERSION)
+     {
+       *error_ret = EDJE_LOAD_ERROR_INCOMPATIBLE_FILE;
+       _edje_file_free(edf);
+       return NULL;
+     }
+   if (!edf->collection)
+     {
+       *error_ret = EDJE_LOAD_ERROR_CORRUPT_FILE;
+       _edje_file_free(edf);
+       return NULL;
+     }
+
+   if (edf->minor > EDJE_FILE_MINOR)
+     {
+       WRN("`%s` may use feature from a newer edje and could not show up as expected.", file);
+     }
+
+   edf->path = eina_stringshare_add(file);
+   edf->references = 1;
+
+   /* This should be done at edje generation time */
+   _edje_textblock_style_parse_and_fix(edf);
+   edf->color_hash = eina_hash_string_small_new(NULL);
+   EINA_LIST_FOREACH(edf->color_classes, l, cc)
+     if (cc->name)
+       eina_hash_direct_add(edf->color_hash, cc->name, cc);
+
+   if (coll)
+     {
+       edc = _edje_file_coll_open(edf, coll);
+       if (!edc)
+         {
+            *error_ret = EDJE_LOAD_ERROR_UNKNOWN_COLLECTION;
+         }
+       if (edc_ret) *edc_ret = edc;
+     }
+
+   return edf;
+}
+
+static void
+_edje_file_dangling(Edje_File *edf)
+{
+   if (edf->dangling) return;
+   edf->dangling = EINA_TRUE;
+
+   eina_hash_del(_edje_file_hash, edf->path, edf);
+   if (!eina_hash_population(_edje_file_hash))
+     {
+       eina_hash_free(_edje_file_hash);
+       _edje_file_hash = NULL;
+     }
+}
+
+Edje_File *
+_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed)
+{
+   Edje_File *edf;
+   Eina_List *l, *hist;
+   Edje_Part_Collection *edc;
+   Edje_Part *ep;
+   struct stat st;
+
+   if (stat(file, &st) != 0)
+      return NULL;
+
+   if (!_edje_file_hash)
+     {
+       _edje_file_hash = eina_hash_string_small_new(NULL);
+       goto open_new;
+     }
+
+   edf = eina_hash_find(_edje_file_hash, file);
+   if (edf)
+     {
+       if (edf->mtime != st.st_mtime)
+         {
+            _edje_file_dangling(edf);
+            goto open_new;
+         }
+
+       edf->references++;
+       goto open;
+     }
+
+   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
+     {
+       if (!strcmp(edf->path, file))
+         {
+            if (edf->mtime != st.st_mtime)
+              {
+                 _edje_file_cache = eina_list_remove_list(_edje_file_cache, l);
+                 _edje_file_free(edf);
+                 goto open_new;
+              }
+
+            edf->references = 1;
+            _edje_file_cache = eina_list_remove_list(_edje_file_cache, l);
+            eina_hash_add(_edje_file_hash, file, edf);
+            goto open;
+         }
+     }
+
+open_new:
+   if (!_edje_file_hash)
+      _edje_file_hash = eina_hash_string_small_new(NULL);
+
+   edf = _edje_file_open(file, coll, error_ret, edc_ret, st.st_mtime);
+   if (!edf)
+      return NULL;
+
+#ifdef HAVE_EIO
+   if (ed) edf->edjes = eina_list_append(edf->edjes, ed);
+#else
+   (void) ed;
+#endif
+
+   eina_hash_add(_edje_file_hash, file, edf);
+   return edf;
+
+open:
+   if (!coll)
+      return edf;
+
+   edc = _edje_file_coll_open(edf, coll);
+   if (!edc)
+     {
+       *error_ret = EDJE_LOAD_ERROR_UNKNOWN_COLLECTION;
+     }
+   else
+     {
+       if (!edc->checked)
+         {
+            unsigned int j;
+
+            for (j = 0; j < edc->parts_count; ++j)
+              {
+                 Edje_Part *ep2;
+
+                 ep = edc->parts[j];
+
+                 /* Register any color classes in this parts descriptions. */
+                 hist = NULL;
+                 hist = eina_list_append(hist, ep);
+                 ep2 = ep;
+                 while (ep2->dragable.confine_id >= 0)
+                   {
+                      if (ep2->dragable.confine_id >= (int) edc->parts_count)
+                        {
+                           ERR("confine_to above limit. invalidating it.");
+                           ep2->dragable.confine_id = -1;
+                           break;
+                        }
+
+                      ep2 = edc->parts[ep2->dragable.confine_id];
+                      if (eina_list_data_find(hist, ep2))
+                        {
+                           ERR("confine_to loops. invalidating loop.");
+                           ep2->dragable.confine_id = -1;
+                           break;
+                        }
+                      hist = eina_list_append(hist, ep2);
+                   }
+                 eina_list_free(hist);
+                 hist = NULL;
+                 hist = eina_list_append(hist, ep);
+                 ep2 = ep;
+                 while (ep2->dragable.event_id >= 0)
+                   {
+                      Edje_Part* prev;
+
+                      if (ep2->dragable.event_id >= (int) edc->parts_count)
+                        {
+                           ERR("event_id above limit. invalidating it.");
+                           ep2->dragable.event_id = -1;
+                           break;
+                        }
+                      prev = ep2;
+
+                      ep2 = edc->parts[ep2->dragable.event_id];
+                      if (!ep2->dragable.x && !ep2->dragable.y)
+                        {
+                           prev->dragable.event_id = -1;
+                           break;
+                        }
+
+                      if (eina_list_data_find(hist, ep2))
+                        {
+                           ERR("events_to loops. invalidating loop.");
+                           ep2->dragable.event_id = -1;
+                           break;
+                        }
+                      hist = eina_list_append(hist, ep2);
+                   }
+                 eina_list_free(hist);
+                 hist = NULL;
+                 hist = eina_list_append(hist, ep);
+                 ep2 = ep;
+                 while (ep2->clip_to_id >= 0)
+                   {
+                      if (ep2->clip_to_id >= (int) edc->parts_count)
+                        {
+                           ERR("clip_to_id above limit. invalidating it.");
+                           ep2->clip_to_id = -1;
+                           break;
+                        }
+
+                      ep2 = edc->parts[ep2->clip_to_id];
+                      if (eina_list_data_find(hist, ep2))
+                        {
+                           ERR("clip_to loops. invalidating loop.");
+                           ep2->clip_to_id = -1;
+                           break;
+                        }
+                      hist = eina_list_append(hist, ep2);
+                   }
+                 eina_list_free(hist);
+                 hist = NULL;
+              }
+           edc->checked = 1;
+         }
+     }
+#ifdef HAVE_EIO
+   if (edc && ed) edf->edjes = eina_list_append(edf->edjes, ed);
+#else
+   (void) ed;
+#endif
+
+   if (edc_ret) *edc_ret = edc;
+
+   return edf;
+}
+
+void
+_edje_cache_coll_clean(Edje_File *edf)
+{
+   while ((edf->collection_cache) &&
+         (eina_list_count(edf->collection_cache) > (unsigned int) _edje_collection_cache_size))
+     {
+       Edje_Part_Collection_Directory_Entry *ce;
+       Edje_Part_Collection *edc;
+
+       edc = eina_list_data_get(eina_list_last(edf->collection_cache));
+       edf->collection_cache = eina_list_remove_list(edf->collection_cache, eina_list_last(edf->collection_cache));
+
+       ce = eina_hash_find(edf->collection, edc->part);
+       _edje_collection_free(edf, edc, ce);
+     }
+}
+
+void
+_edje_cache_coll_flush(Edje_File *edf)
+{
+   while (edf->collection_cache)
+     {
+       Edje_Part_Collection_Directory_Entry *ce;
+       Edje_Part_Collection *edc;
+       Eina_List *last;
+
+       last = eina_list_last(edf->collection_cache);
+       edc = eina_list_data_get(last);
+       edf->collection_cache = eina_list_remove_list(edf->collection_cache,
+                                                     last);
+
+       ce = eina_hash_find(edf->collection, edc->part);
+       _edje_collection_free(edf, edc, ce);
+     }
+}
+
+void
+_edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+
+   edc->references--;
+   if (edc->references != 0) return;
+
+   ce = eina_hash_find(edf->collection, edc->part);
+   if (!ce)
+     {
+       ERR("Something is wrong with reference count of '%s'.", edc->part);
+     }
+   else if (ce->ref)
+     {
+       ce->ref = NULL;
+
+       if (edf->dangling)
+         {
+            /* No need to keep the collection around if the file is dangling */
+            _edje_collection_free(edf, edc, ce);
+            _edje_cache_coll_flush(edf);
+         }
+       else
+         {
+            edf->collection_cache = eina_list_prepend(edf->collection_cache, edc);
+            _edje_cache_coll_clean(edf);
+         }
+     }
+}
+
+static void
+_edje_cache_file_clean(void)
+{
+   int count;
+
+   count = eina_list_count(_edje_file_cache);
+   while ((_edje_file_cache) && (count > _edje_file_cache_size))
+     {
+       Eina_List *last;
+       Edje_File *edf;
+
+       last = eina_list_last(_edje_file_cache);
+       edf = eina_list_data_get(last);
+       _edje_file_cache = eina_list_remove_list(_edje_file_cache, last);
+       _edje_file_free(edf);
+       count = eina_list_count(_edje_file_cache);
+     }
+}
+
+EAPI void
+_edje_cache_file_unref(Edje_File *edf)
+{
+   edf->references--;
+   if (edf->references != 0) return;
+
+   if (edf->dangling)
+     {
+       _edje_file_free(edf);
+       return;
+     }
+
+   eina_hash_del(_edje_file_hash, edf->path, edf);
+   if (!eina_hash_population(_edje_file_hash))
+     {
+       eina_hash_free(_edje_file_hash);
+       _edje_file_hash = NULL;
+     }
+   _edje_file_cache = eina_list_prepend(_edje_file_cache, edf);
+   _edje_cache_file_clean();
+}
+
+void
+_edje_file_cache_shutdown(void)
+{
+   edje_file_cache_flush();
+}
+
+
+/*============================================================================*
+ *                                 Global                                     *
+ *============================================================================*/
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+
+EAPI void
+edje_file_cache_set(int count)
+{
+   if (count < 0) count = 0;
+   _edje_file_cache_size = count;
+   _edje_cache_file_clean();
+}
+
+
+EAPI int
+edje_file_cache_get(void)
+{
+   return _edje_file_cache_size;
+}
+
+
+EAPI void
+edje_file_cache_flush(void)
+{
+   int ps;
+
+   ps = _edje_file_cache_size;
+   _edje_file_cache_size = 0;
+   _edje_cache_file_clean();
+   _edje_file_cache_size = ps;
+}
+
+
+EAPI void
+edje_collection_cache_set(int count)
+{
+   Eina_List *l;
+   Edje_File *edf;
+
+   if (count < 0) count = 0;
+   _edje_collection_cache_size = count;
+   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
+     _edje_cache_coll_clean(edf);
+   /* FIXME: freach in file hash too! */
+}
+
+
+EAPI int
+edje_collection_cache_get(void)
+{
+   return _edje_collection_cache_size;
+}
+
+
+EAPI void
+edje_collection_cache_flush(void)
+{
+   int ps;
+   Eina_List *l;
+   Edje_File *edf;
+
+   ps = _edje_collection_cache_size;
+   _edje_collection_cache_size = 0;
+   EINA_LIST_FOREACH(_edje_file_cache, l, edf)
+     _edje_cache_coll_flush(edf);
+   /* FIXME: freach in file hash too! */
+   _edje_collection_cache_size = ps;
+}
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
new file mode 100644 (file)
index 0000000..a0ecb6f
--- /dev/null
@@ -0,0 +1,3498 @@
+#include "edje_private.h"
+
+static void _edje_part_make_rtl(Edje_Part_Description_Common *desc);
+static Edje_Part_Description_Common *_edje_get_description_by_orientation(Edje *ed, Edje_Part_Description_Common *src, Edje_Part_Description_Common **dst, unsigned char type);
+
+static void _edje_part_recalc_single(Edje *ed, Edje_Real_Part *ep,
+                                     Edje_Part_Description_Common *desc, Edje_Part_Description_Common *chosen_desc,
+                                     Edje_Real_Part *center, Edje_Real_Part *light, Edje_Real_Part *persp,
+                                     Edje_Real_Part *rel1_to_x, Edje_Real_Part *rel1_to_y,
+                                     Edje_Real_Part *rel2_to_x, Edje_Real_Part *rel2_to_y,
+                                     Edje_Real_Part *confine_to, Edje_Calc_Params *params,
+                                     FLOAT_T pos);
+
+void
+_edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T v1, FLOAT_T v2)
+{
+   FLOAT_T fp_pos;
+   FLOAT_T npos;
+
+   pos = CLAMP(pos, ZERO, FROM_INT(1));
+
+   fp_pos = pos;
+
+#if 0 // old code - easy to enable for comparing float vs fixed point
+   /* take linear pos along timescale and use interpolation method */
+   switch (mode)
+     {
+      case EDJE_TWEEN_MODE_SINUSOIDAL:
+        /* npos = (1.0 - cos(pos * PI)) / 2.0; */
+        npos = DIV2(SUB(FROM_INT(1),
+                        COS(MUL(fp_pos,
+                                PI))));
+        break;
+      case EDJE_TWEEN_MODE_ACCELERATE:
+        /* npos = 1.0 - sin((PI / 2.0) + (pos * PI / 2.0)); */
+        npos = SUB(FROM_INT(1),
+                   SIN(ADD(DIV2(PI),
+                           MUL(fp_pos,
+                               DIV2(PI)))));
+        break;
+      case EDJE_TWEEN_MODE_DECELERATE:
+        /* npos = sin(pos * PI / 2.0); */
+        npos = SIN(MUL(fp_pos,
+                       DIV2(PI)));
+       break;
+      case EDJE_TWEEN_MODE_LINEAR:
+        npos = fp_pos;
+        break;
+      default:
+         npos = fp_pos;
+         break;
+     }
+#else
+   switch (mode & EDJE_TWEEN_MODE_MASK)
+     {
+      case EDJE_TWEEN_MODE_SINUSOIDAL:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_SINUSOIDAL,
+                                                  0.0, 0.0));
+        break;
+      case EDJE_TWEEN_MODE_ACCELERATE:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_ACCELERATE,
+                                                  0.0, 0.0));
+        break;
+      case EDJE_TWEEN_MODE_DECELERATE:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_DECELERATE,
+                                                  0.0, 0.0));
+        break;
+      case EDJE_TWEEN_MODE_LINEAR:
+        npos = fp_pos;
+/*        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_LINEAR, 
+                                                  0.0, 0.0));
+ */
+        break;
+      case EDJE_TWEEN_MODE_ACCELERATE_FACTOR:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_ACCELERATE_FACTOR,
+                                                  TO_DOUBLE(v1), 0.0));
+        break;
+      case EDJE_TWEEN_MODE_DECELERATE_FACTOR:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_DECELERATE_FACTOR,
+                                                  TO_DOUBLE(v1), 0.0));
+        break;
+      case EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_SINUSOIDAL_FACTOR,
+                                                  TO_DOUBLE(v1), 0.0));
+        break;
+      case EDJE_TWEEN_MODE_DIVISOR_INTERP:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_DIVISOR_INTERP,
+                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
+        break;
+      case EDJE_TWEEN_MODE_BOUNCE:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_BOUNCE,
+                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
+        break;
+      case EDJE_TWEEN_MODE_SPRING:
+        npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos),
+                                                  ECORE_POS_MAP_SPRING,
+                                                  TO_DOUBLE(v1), TO_DOUBLE(v2)));
+        break;
+      default:
+        npos = fp_pos;
+        break;
+     }
+#endif
+   if (npos == ep->description_pos) return;
+
+   ep->description_pos = npos;
+
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ep->invalidate = 1;
+#endif
+}
+
+
+/**
+ * Returns part description
+ *
+ * @internal
+ *
+ * Converts part description to RTL-desc.
+ *
+ * @param desc Pointer to desc buffer.
+ *
+ **/
+static void
+_edje_part_make_rtl(Edje_Part_Description_Common *desc)
+{
+   double t;
+   int i;
+
+   if(!desc)
+     return;
+
+   /* This makes alignment right-oriented */
+   desc->align.x = 1.0 - desc->align.x;
+
+   /* same as above for relative components */
+   t = desc->rel1.relative_x;
+   desc->rel1.relative_x = 1.0 - desc->rel2.relative_x;
+   desc->rel2.relative_x = 1.0 - t;
+
+   /* +1 and +1 are because how edje works with right
+    * side borders - nothing is printed beyond that limit
+    *
+    * rel2 is now to the left of rel1, and Edje assumes
+    * the opposite so we switch corners on x-axis to define
+    * offset from right to left */
+   i = desc->rel1.offset_x;
+   desc->rel1.offset_x = -(desc->rel2.offset_x + 1);
+   desc->rel2.offset_x = -(i + 1);
+
+   i = desc->rel1.id_x;
+   desc->rel1.id_x = desc->rel2.id_x;
+   desc->rel2.id_x = i;
+}
+
+/**
+ * Returns part description
+ *
+ * @internal
+ *
+ * Returns part description according to object orientation.
+ * When object is in RTL-orientation (RTL flag is set)
+ * this returns the RTL-desc of it.
+ * RTL-desc would be allocated if was not created by a previous call.
+ * The dst pointer is updated in case of an allocation.
+ *
+ * @param ed Edje object.
+ * @param src The Left To Right (LTR), original desc.
+ * @param dst Pointer to Right To Left (RTL) desc-list.
+ * @param type name of dec type. Example: "default".
+ *
+ * @return Edje part description.
+ *
+ **/
+static Edje_Part_Description_Common *
+_edje_get_description_by_orientation(Edje *ed, Edje_Part_Description_Common *src, Edje_Part_Description_Common **dst, unsigned char type)
+{
+   Edje_Part_Description_Common *desc_rtl = NULL;
+   Edje_Part_Collection_Directory_Entry *ce;
+   size_t memsize = 0;
+
+   /* RTL flag is not set, return original description */
+   if(!edje_object_mirrored_get(ed->obj))
+      return src;
+
+   if(*dst)
+     return *dst; /* Was allocated before and we should use it */
+
+#define EDIT_ALLOC_POOL_RTL(Short, Type, Name)                          \
+         case EDJE_PART_TYPE_##Short:                                   \
+           {                                                            \
+              Edje_Part_Description_##Type *Name;                       \
+              Name = eina_mempool_malloc(ce->mp_rtl.Short,              \
+                    sizeof (Edje_Part_Description_##Type));             \
+              memset(Name, 0, sizeof(Edje_Part_Description_##Type));    \
+              desc_rtl = &Name->common;                                 \
+              memsize = sizeof(Edje_Part_Description_##Type);           \
+              break;                                                    \
+           }
+
+   ce = eina_hash_find(ed->file->collection, ed->group);
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_RECTANGLE:
+         desc_rtl = eina_mempool_malloc(ce->mp_rtl.RECTANGLE,
+                                        sizeof (Edje_Part_Description_Common));
+         ce->count.RECTANGLE++;
+         memsize = sizeof(Edje_Part_Description_Common);
+         break;
+      case EDJE_PART_TYPE_SWALLOW:
+         desc_rtl = eina_mempool_malloc(ce->mp_rtl.SWALLOW,
+                                        sizeof (Edje_Part_Description_Common));
+         ce->count.SWALLOW++;
+         memsize = sizeof(Edje_Part_Description_Common);
+         break;
+      case EDJE_PART_TYPE_GROUP:
+         desc_rtl = eina_mempool_malloc(ce->mp_rtl.GROUP,
+                                        sizeof (Edje_Part_Description_Common));
+         ce->count.GROUP++;
+         memsize = sizeof(Edje_Part_Description_Common);
+         break;
+     case EDJE_PART_TYPE_SPACER:
+         desc_rtl = eina_mempool_malloc(ce->mp_rtl.SPACER,
+                                        sizeof (Edje_Part_Description_Common));
+         ce->count.SPACER++;
+         memsize = sizeof(Edje_Part_Description_Common);
+         break;
+         EDIT_ALLOC_POOL_RTL(TEXT, Text, text);
+         EDIT_ALLOC_POOL_RTL(TEXTBLOCK, Text, text);
+         EDIT_ALLOC_POOL_RTL(IMAGE, Image, image);
+         EDIT_ALLOC_POOL_RTL(PROXY, Proxy, proxy);
+         EDIT_ALLOC_POOL_RTL(BOX, Box, box);
+         EDIT_ALLOC_POOL_RTL(TABLE, Table, table);
+         EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params);
+     }
+
+   if (desc_rtl)
+      memcpy(desc_rtl, src, memsize);
+
+   _edje_part_make_rtl(desc_rtl);
+
+   *dst = desc_rtl;
+   return desc_rtl;
+}
+
+Edje_Part_Description_Common *
+_edje_part_description_find(Edje *ed, Edje_Real_Part *rp, const char *name,
+                            double val)
+{
+   Edje_Part *ep = rp->part;
+   Edje_Part_Description_Common *ret = NULL;
+   Edje_Part_Description_Common *d;
+
+   double min_dst = 99999.0;
+   unsigned int i;
+
+   /* RTL flag is set, return RTL description */
+   if(edje_object_mirrored_get(ed->obj))
+     if(!ep->other.desc_rtl)
+       ep->other.desc_rtl = (Edje_Part_Description_Common **)
+          calloc(ep->other.desc_count,
+                sizeof (Edje_Part_Description_Common *));
+
+   if (!strcmp(name, "default") && val == 0.0)
+     return _edje_get_description_by_orientation(ed,
+           ep->default_desc, &ep->default_desc_rtl, ep->type);
+
+   if (!strcmp(name, "custom"))
+     return rp->custom ?
+        _edje_get_description_by_orientation(ed, rp->custom->description,
+              &rp->custom->description_rtl, ep->type) : NULL;
+
+   if (!strcmp(name, "default"))
+     {
+        ret = _edje_get_description_by_orientation(ed, ep->default_desc,
+                                                   &ep->default_desc_rtl,
+                                                   ep->type);
+
+        min_dst = ABS(ep->default_desc->state.value - val);
+     }
+
+   for (i = 0; i < ep->other.desc_count; ++i)
+     {
+        d = ep->other.desc[i];
+
+        if (d->state.name && (d->state.name == name ||
+                              !strcmp(d->state.name, name)))
+          {
+             double dst;
+
+             dst = ABS(d->state.value - val);
+             if (dst < min_dst)
+               {
+                  ret = _edje_get_description_by_orientation(ed, d,
+                                                             &ep->other.desc_rtl[i], ep->type);
+                  min_dst = dst;
+               }
+          }
+     }
+
+   return ret;
+}
+
+static int
+_edje_image_find(Evas_Object *obj, Edje *ed, Edje_Real_Part_Set **eps, 
+                 Edje_Part_Description_Image *st, Edje_Part_Image_Id *imid)
+{
+   Edje_Image_Directory_Set_Entry *entry;
+   Edje_Image_Directory_Set *set = NULL;
+   Eina_List *l;
+   int w = 0, h = 0, id;
+   
+   if (!st && !imid)         return -1;
+   if (st && !st->image.set) return st->image.id;
+   if (imid && !imid->set)   return imid->id;
+   
+   if (imid) id = imid->id;
+   else      id = st->image.id;
+   
+   evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+   if (eps && *eps)
+     {
+        if ((*eps)->id == id) set = (*eps)->set;
+        if (set)
+          {
+             if (((*eps)->entry->size.min.w <= w) && 
+                 (w <= (*eps)->entry->size.max.w))
+               {
+                  if (((*eps)->entry->size.min.h <= h) && 
+                      (h <= (*eps)->entry->size.max.h))
+                    {
+                       return (*eps)->entry->id;
+                    }
+               }
+          }
+     }
+   
+   if (!set) set = ed->file->image_dir->sets + id;
+   
+   EINA_LIST_FOREACH(set->entries, l, entry)
+     {
+        if ((entry->size.min.w <= w) && (w <= entry->size.max.w))
+          {
+             if ((entry->size.min.h <= h) && (h <= entry->size.max.h))
+               {
+                  if (eps)
+                    {
+                       if (!*eps) *eps = calloc(1, sizeof(Edje_Real_Part_Set));
+                       if (*eps)
+                         {
+                            (*eps)->entry = entry;
+                            (*eps)->set = set;
+                            (*eps)->id = id;
+                         }
+                    }
+                  return entry->id;
+               }
+          }
+     }
+   
+   return -1;
+}
+
+static void
+_edje_real_part_image_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T pos)
+{
+   int image_id;
+   int image_count, image_num;
+
+   image_id = _edje_image_find(ep->object, ed,
+                               &ep->param1.set,
+                               (Edje_Part_Description_Image*) ep->param1.description,
+                               NULL);
+   if (image_id < 0)
+     {
+        Edje_Image_Directory_Entry *ie;
+
+        if (!ed->file->image_dir) ie = NULL;
+        else ie = ed->file->image_dir->entries + (-image_id) - 1;
+        if ((ie) &&
+            (ie->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) &&
+            (ie->entry))
+          {
+             evas_object_image_file_set(ep->object, ie->entry, NULL);
+          }
+     }
+   else
+     {
+        image_count = 2;
+        if (ep->param2)
+          image_count += ((Edje_Part_Description_Image*) ep->param2->description)->image.tweens_count;
+        image_num = TO_INT(MUL(pos, SUB(FROM_INT(image_count),
+                                        FROM_DOUBLE(0.5))));
+        if (image_num > (image_count - 1))
+          image_num = image_count - 1;
+        if (image_num <= 0)
+          {
+             image_id = _edje_image_find(ep->object, ed,
+                                         &ep->param1.set,
+                                         (Edje_Part_Description_Image*) ep->param1.description,
+                                         NULL);
+          }
+        else
+          if (ep->param2)
+            {
+               if (image_num == (image_count - 1))
+                 {
+                    image_id = _edje_image_find(ep->object, ed,
+                                                &ep->param2->set,
+                                                (Edje_Part_Description_Image*) ep->param2->description,
+                                                NULL);
+                 }
+               else
+                 {
+                    Edje_Part_Image_Id *imid;
+
+                    imid = ((Edje_Part_Description_Image*) ep->param2->description)->image.tweens[image_num - 1];
+                    image_id = _edje_image_find(ep->object, ed, NULL, NULL, imid);
+                 }
+            }
+        if (image_id < 0)
+          {
+             ERR("¨Part \"%s\" description, "
+                 "\"%s\" %3.3f with image %i index has a missing image id in a set of %i !!!",
+                 ep->part->name,
+                 ep->param1.description->state.name,
+                 ep->param1.description->state.value,
+                 image_num,
+                 image_count);
+          }
+        else
+          {
+             char buf[1024] = "edje/images/";
+
+             /* Replace snprint("edje/images/%i") == memcpy + itoa */
+             eina_convert_itoa(image_id, buf + 12); /* No need to check length as 2³² need only 10 characteres. */
+
+             evas_object_image_file_set(ep->object, ed->file->path, buf);
+             if (evas_object_image_load_error_get(ep->object) != EVAS_LOAD_ERROR_NONE)
+               {
+                  ERR("Error loading image collection \"%s\" from "
+                      "file \"%s\". Missing EET Evas loader module?",
+                      buf, ed->file->path);
+                  switch (evas_object_image_load_error_get(ep->object))
+                    {
+                     case EVAS_LOAD_ERROR_GENERIC:
+                        ERR("Error type: EVAS_LOAD_ERROR_GENERIC");
+                        break;
+                     case EVAS_LOAD_ERROR_DOES_NOT_EXIST:
+                        ERR("Error type: EVAS_LOAD_ERROR_DOES_NOT_EXIST");
+                        break;
+                     case EVAS_LOAD_ERROR_PERMISSION_DENIED:
+                        ERR("Error type: EVAS_LOAD_ERROR_PERMISSION_DENIED");
+                        break;
+                     case EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
+                        ERR("Error type: EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED");
+                        break;
+                     case EVAS_LOAD_ERROR_CORRUPT_FILE:
+                        ERR("Error type: EVAS_LOAD_ERROR_CORRUPT_FILE");
+                        break;
+                     case EVAS_LOAD_ERROR_UNKNOWN_FORMAT:
+                        ERR("Error type: EVAS_LOAD_ERROR_UNKNOWN_FORMAT");
+                        break;
+                     default:
+                        ERR("Error type: ???");
+                        break;
+                    }
+               }
+          }
+     }
+}
+
+static void
+_edje_real_part_rel_to_apply(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part_State *state)
+{
+   state->rel1_to_x = state->rel1_to_y = NULL;
+   state->rel2_to_x = state->rel2_to_y = NULL;
+
+   if (state->description)
+     {
+        if (state->description->rel1.id_x >= 0)
+          state->rel1_to_x = ed->table_parts[state->description->rel1.id_x % ed->table_parts_size];
+        if (state->description->rel1.id_y >= 0)
+          state->rel1_to_y = ed->table_parts[state->description->rel1.id_y % ed->table_parts_size];
+        if (state->description->rel2.id_x >= 0)
+          state->rel2_to_x = ed->table_parts[state->description->rel2.id_x % ed->table_parts_size];
+        if (state->description->rel2.id_y >= 0)
+          state->rel2_to_y = ed->table_parts[state->description->rel2.id_y % ed->table_parts_size];
+
+        if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
+          {
+             Edje_Part_Description_External *external;
+
+             if ((ep->type != EDJE_RP_TYPE_SWALLOW) ||
+                 (!ep->typedata.swallow)) return;
+             
+             external = (Edje_Part_Description_External*)state->description;
+             
+             if (state->external_params)
+               _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object, state->external_params);
+             state->external_params = _edje_external_params_parse(ep->typedata.swallow->swallowed_object, external->external_params);
+          }
+     }
+}
+
+void
+_edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, double v1, const char *d2, double v2)
+{
+   Edje_Part_Description_Common *epd1;
+   Edje_Part_Description_Common *epd2 = NULL;
+   Edje_Part_Description_Common *chosen_desc;
+
+   Edje_Part_Description_Image *epdi;
+
+   if (!d1) d1 = "default";
+
+   epd1 = _edje_part_description_find(ed, ep, d1, v1);
+   if (!epd1)
+     epd1 = ep->part->default_desc; /* never NULL */
+
+   if (d2)
+     epd2 = _edje_part_description_find(ed, ep, d2, v2);
+
+   epdi = (Edje_Part_Description_Image*) epd2;
+
+   /* There is an animation if both description are different or if description is an image with tweens */
+   if (epd2 && (epd1 != epd2 || (ep->part->type == EDJE_PART_TYPE_IMAGE && epdi->image.tweens_count)))
+     {
+        if (!ep->param2)
+          {
+             ep->param2 = eina_mempool_malloc(_edje_real_part_state_mp,
+                                              sizeof(Edje_Real_Part_State));
+             memset(ep->param2, 0, sizeof(Edje_Real_Part_State));
+          }
+        else if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
+          {
+             if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+                 (ep->typedata.swallow))
+               _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object,
+                                                 ep->param2->external_params);
+          }
+        ep->param2->external_params = NULL;
+     }
+   else
+     if (ep->param2)
+       {
+          if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
+            {
+               if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+                   (ep->typedata.swallow))
+                 _edje_external_parsed_params_free(ep->typedata.swallow->swallowed_object,
+                                                   ep->param2->external_params);
+            }
+          if (ep->param2)
+            free(ep->param2->set);
+          eina_mempool_free(_edje_real_part_state_mp, ep->param2);
+          ep->param2 = NULL;
+       }
+
+   chosen_desc = ep->chosen_description;
+   ep->param1.description = epd1;
+   ep->chosen_description = epd1;
+
+   _edje_real_part_rel_to_apply(ed, ep, &ep->param1);
+
+   if (ep->param2)
+     {
+        ep->param2->description = epd2;
+
+        _edje_real_part_rel_to_apply(ed, ep, ep->param2);
+
+        if (ep->description_pos > FROM_DOUBLE(0.0))
+          ep->chosen_description = epd2;
+     }
+
+   if (chosen_desc != ep->chosen_description &&
+       ep->part->type == EDJE_PART_TYPE_EXTERNAL)
+     _edje_external_recalc_apply(ed, ep, NULL, chosen_desc);
+
+   ed->recalc_hints = EINA_TRUE;
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ep->invalidate = 1;
+#endif
+}
+
+void
+_edje_recalc(Edje *ed)
+{
+   if ((ed->freeze > 0) || (_edje_freeze_val > 0))
+     {
+        ed->recalc = EINA_TRUE;
+        if (!ed->calc_only)
+          {
+             if (_edje_freeze_val > 0)
+               {
+                  if (!ed->freeze_calc)
+                    {
+                       _edje_freeze_calc_count++;
+                       _edje_freeze_calc_list = eina_list_append(_edje_freeze_calc_list, ed);
+                       ed->freeze_calc = EINA_TRUE;
+                    }
+               }
+             return;
+          }
+     }
+// XXX: dont need this with current smart calc infra. remove me later
+//   if (ed->postponed) return;
+//   if (!ed->calc_only)
+     evas_object_smart_changed(ed->obj);
+// XXX: dont need this with current smart calc infra. remove me later
+//   ed->postponed = EINA_TRUE;
+}
+
+void
+_edje_recalc_do(Edje *ed)
+{
+   unsigned int i;
+   Eina_Bool need_calc;
+
+// XXX: dont need this with current smart calc infra. remove me later
+//   ed->postponed = EINA_FALSE;
+   need_calc = evas_object_smart_need_recalculate_get(ed->obj);
+   evas_object_smart_need_recalculate_set(ed->obj, 0);
+   if (!ed->dirty) return;
+   ed->have_mapped_part = EINA_FALSE;
+   ed->dirty = EINA_FALSE;
+   ed->state++;
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *ep;
+
+        ep = ed->table_parts[i];
+        ep->calculated = FLAG_NONE;
+        ep->calculating = FLAG_NONE;
+     }
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *ep;
+
+        ep = ed->table_parts[i];
+        if (ep->calculated != FLAG_XY)
+          _edje_part_recalc(ed, ep, (~ep->calculated) & FLAG_XY, NULL);
+     }
+   if (!ed->calc_only) ed->recalc = EINA_FALSE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_FALSE;
+   ed->text_part_change = EINA_FALSE;
+#endif
+   if (!ed->calc_only)
+     {
+        if (ed->recalc_call)
+          evas_object_smart_callback_call(ed->obj, "recalc", NULL);
+     }
+   else
+     evas_object_smart_need_recalculate_set(ed->obj, need_calc);
+   ed->recalc_call = EINA_FALSE;
+
+   if (ed->update_hints && ed->recalc_hints && !ed->calc_only)
+     {
+        Evas_Coord w, h;
+
+        ed->recalc_hints = EINA_FALSE;
+
+       eo_do(ed->obj, edje_obj_size_min_calc(&w, &h));
+       eo_do(ed->obj, evas_obj_size_hint_min_set(w, h));
+     }
+
+   if (!ed->collection) return ;
+
+   for (i = 0; i < ed->collection->limits.parts_count; i++)
+     {
+        const char *name;
+        unsigned char limit;
+        int part;
+
+        part = ed->collection->limits.parts[i].part;
+        name = ed->collection->parts[part]->name;
+        limit = ed->table_parts[part]->chosen_description->limit;
+        switch (limit)
+          {
+           case 0:
+              ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_UNKNOWN;
+              ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_UNKNOWN;
+              break;
+           case 1:
+              ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_UNKNOWN;
+              break;
+           case 2:
+              ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_UNKNOWN;
+              break;
+           case 3:
+              break;
+          }
+
+        if ((limit & 1) == 1)
+          {
+             if (ed->table_parts[part]->w > 0 &&
+                 (ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_OVER))
+               {
+                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_OVER;
+                  _edje_emit(ed, "limit,width,over", name);
+               }
+             else if (ed->table_parts[part]->w < 0 &&
+                      ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_BELOW)
+               {
+                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_BELOW;
+                  _edje_emit(ed, "limit,width,below", name);
+               }
+             else if (ed->table_parts[part]->w == 0 &&
+                      ed->collection->limits.parts[i].width != EDJE_PART_LIMIT_ZERO)
+               {
+                  ed->collection->limits.parts[i].width = EDJE_PART_LIMIT_ZERO;
+                  _edje_emit(ed, "limit,width,zero", name);
+               }
+          }
+        if ((limit & 2) == 2)
+          {
+             if (ed->table_parts[part]->h > 0 &&
+                 (ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_OVER))
+               {
+                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_OVER;
+                  _edje_emit(ed, "limit,height,over", name);
+               }
+             else if (ed->table_parts[part]->h < 0 &&
+                      ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_BELOW)
+               {
+                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_BELOW;
+                  _edje_emit(ed, "limit,height,below", name);
+               }
+             else if (ed->table_parts[part]->h == 0 &&
+                      ed->collection->limits.parts[i].height != EDJE_PART_LIMIT_ZERO)
+               {
+                  ed->collection->limits.parts[i].height = EDJE_PART_LIMIT_ZERO;
+                  _edje_emit(ed, "limit,height,zero", name);
+               }
+          }
+     }
+}
+
+void
+_edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep)
+{
+  _edje_part_recalc(ed, ep, FLAG_XY, NULL);
+}
+
+int
+_edje_part_dragable_calc(Edje *ed EINA_UNUSED, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y)
+{
+   if (ep->drag)
+     {
+        if (ep->drag->confine_to)
+          {
+             FLOAT_T dx, dy, dw, dh;
+             int ret = 0;
+
+             if ((ep->part->dragable.x != 0) &&
+                 (ep->part->dragable.y != 0 )) ret = 3;
+             else if (ep->part->dragable.x != 0) ret = 1;
+             else if (ep->part->dragable.y != 0) ret = 2;
+
+             dx = FROM_INT(ep->x - ep->drag->confine_to->x);
+             dw = FROM_INT(ep->drag->confine_to->w - ep->w);
+             if (dw != ZERO) dx = DIV(dx, dw);
+             else dx = ZERO;
+
+             dy = FROM_INT(ep->y - ep->drag->confine_to->y);
+             dh = FROM_INT(ep->drag->confine_to->h - ep->h);
+             if (dh != ZERO) dy = DIV(dy, dh);
+             else dy = ZERO;
+
+             if (x) *x = dx;
+             if (y) *y = dy;
+
+             return ret;
+          }
+        else
+          {
+             if (x) *x = ADD(FROM_INT(ep->drag->tmp.x), ep->drag->x);
+             if (y) *y = ADD(FROM_INT(ep->drag->tmp.y), ep->drag->y);
+             return 0;
+          }
+     }
+   if (x) *x = ZERO;
+   if (y) *y = ZERO;
+   return 0;
+}
+
+void
+_edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
+{
+   /* check whether this part is dragable at all */
+   if (!ep->drag) return ;
+
+   /* instead of checking for equality, we really should check that
+    * the difference is greater than foo, but I have no idea what
+    * value we would set foo to, because it would depend on the
+    * size of the dragable...
+    */
+   if (ep->drag->x != x || ep->drag->tmp.x)
+     {
+        ep->drag->x = x;
+        ep->drag->tmp.x = 0;
+        ep->drag->need_reset = 0;
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+     }
+
+   if (ep->drag->y != y || ep->drag->tmp.y)
+     {
+        ep->drag->y = y;
+        ep->drag->tmp.y = 0;
+        ep->drag->need_reset = 0;
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+     }
+
+#ifdef EDJE_CALC_CACHE
+   ep->invalidate = 1;
+#endif
+   _edje_recalc(ed); /* won't do anything if dirty flag isn't set */
+}
+
+static void
+_edje_part_recalc_single_rel(Edje *ed,
+                             Edje_Real_Part *ep EINA_UNUSED,
+                             Edje_Part_Description_Common *desc,
+                             Edje_Real_Part *rel1_to_x,
+                             Edje_Real_Part *rel1_to_y,
+                             Edje_Real_Part *rel2_to_x,
+                             Edje_Real_Part *rel2_to_y,
+                             Edje_Calc_Params *params)
+{
+   FLOAT_T x, w;
+   FLOAT_T y, h;
+
+   if (rel1_to_x)
+     x = ADD(FROM_INT(desc->rel1.offset_x + rel1_to_x->x),
+             SCALE(desc->rel1.relative_x, rel1_to_x->w));
+   else
+     x = ADD(FROM_INT(desc->rel1.offset_x),
+             SCALE(desc->rel1.relative_x, ed->w));
+   params->x = TO_INT(x);
+
+   if (rel2_to_x)
+     w = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_x + rel2_to_x->x),
+                     SCALE(desc->rel2.relative_x, rel2_to_x->w)),
+                 x),
+             FROM_INT(1));
+   else
+     w = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_x),
+                     SCALE(desc->rel2.relative_x, ed->w)),
+                 x),
+             FROM_INT(1));
+   params->w = TO_INT(w);
+
+   if (rel1_to_y)
+     y = ADD(FROM_INT(desc->rel1.offset_y + rel1_to_y->y),
+             SCALE(desc->rel1.relative_y, rel1_to_y->h));
+   else
+     y = ADD(FROM_INT(desc->rel1.offset_y),
+             SCALE(desc->rel1.relative_y, ed->h));
+   params->y = TO_INT(y);
+
+   if (rel2_to_y)
+     h = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_y + rel2_to_y->y),
+                     SCALE(desc->rel2.relative_y, rel2_to_y->h)),
+                 y),
+             FROM_INT(1));
+   else
+     h = ADD(SUB(ADD(FROM_INT(desc->rel2.offset_y),
+                     SCALE(desc->rel2.relative_y, ed->h)),
+                 y),
+             FROM_INT(1));
+   params->h = TO_INT(h);
+}
+
+static Edje_Internal_Aspect
+_edje_part_recalc_single_aspect(Edje *ed,
+                                Edje_Real_Part *ep,
+                                Edje_Part_Description_Common *desc,
+                                Edje_Calc_Params *params,
+                                int *minw, int *minh,
+                                int *maxw, int *maxh,
+                                FLOAT_T pos)
+{
+   Edje_Internal_Aspect apref = EDJE_ASPECT_PREFER_NONE;
+   FLOAT_T aspect, amax, amin;
+   FLOAT_T new_w = ZERO, new_h = ZERO, want_x, want_y, want_w, want_h;
+
+   if (params->h <= ZERO) aspect = FROM_INT(999999);
+   else aspect = DIV(FROM_INT(params->w), FROM_INT(params->h));
+   amax = desc->aspect.max;
+   amin = desc->aspect.min;
+   if (desc->aspect.prefer == EDJE_ASPECT_PREFER_SOURCE &&
+       ep->part->type == EDJE_PART_TYPE_IMAGE)
+     {
+        Evas_Coord w, h;
+
+        /* We only need pose to find the right image that would be displayed,
+           and the right aspect ratio in that case */
+        _edje_real_part_image_set(ed, ep, pos);
+        evas_object_image_size_get(ep->object, &w, &h);
+        amin = amax = DIV(FROM_INT(w), FROM_INT(h));
+     }
+   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+       (ep->typedata.swallow))
+     {
+        if ((ep->typedata.swallow->swallow_params.aspect.w > 0) &&
+            (ep->typedata.swallow->swallow_params.aspect.h > 0))
+          amin = amax =
+          DIV(FROM_INT(ep->typedata.swallow->swallow_params.aspect.w),
+              FROM_INT(ep->typedata.swallow->swallow_params.aspect.h));
+     }
+   want_x = FROM_INT(params->x);
+   want_w = new_w = FROM_INT(params->w);
+
+   want_y = FROM_INT(params->y);
+   want_h = new_h = FROM_INT(params->h);
+
+   if ((amin > ZERO) && (amax > ZERO))
+     {
+        apref = desc->aspect.prefer;
+        if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+            (ep->typedata.swallow))
+          {
+             if (ep->typedata.swallow->swallow_params.aspect.mode > EDJE_ASPECT_CONTROL_NONE)
+               {
+                  switch (ep->typedata.swallow->swallow_params.aspect.mode)
+                    {
+                     case EDJE_ASPECT_CONTROL_NEITHER:
+                       apref = EDJE_ASPECT_PREFER_NONE;
+                       break;
+                     case EDJE_ASPECT_CONTROL_HORIZONTAL:
+                       apref = EDJE_ASPECT_PREFER_HORIZONTAL;
+                       break;
+                     case EDJE_ASPECT_CONTROL_VERTICAL:
+                       apref = EDJE_ASPECT_PREFER_VERTICAL;
+                       break;
+                     case EDJE_ASPECT_CONTROL_BOTH:
+                       apref = EDJE_ASPECT_PREFER_BOTH;
+                       break;
+                     default:
+                       break;
+                    }
+               }
+          }
+        switch (apref)
+          {
+           case EDJE_ASPECT_PREFER_NONE:
+              /* keep both dimensions in check */
+              /* adjust for min aspect (width / height) */
+              if ((amin > ZERO) && (aspect < amin))
+                {
+                   new_h = DIV(FROM_INT(params->w), amin);
+                   new_w = SCALE(amin, params->h);
+                }
+              /* adjust for max aspect (width / height) */
+              if ((amax > ZERO) && (aspect > amax))
+                {
+                   new_h = DIV(FROM_INT(params->w), amax);
+                   new_w = SCALE(amax, params->h);
+                }
+              if ((amax > ZERO) && (new_w < FROM_INT(params->w)))
+                {
+                   new_w = FROM_INT(params->w);
+                   new_h = DIV(FROM_INT(params->w), amax);
+                }
+              if ((amax > ZERO) && (new_h < FROM_INT(params->h)))
+                {
+                   new_w = SCALE(amax, params->h);
+                   new_h = FROM_INT(params->h);
+                }
+              break;
+              /* prefer vertical size as determiner */
+           case  EDJE_ASPECT_PREFER_VERTICAL:
+              /* keep both dimensions in check */
+              /* adjust for max aspect (width / height) */
+              if ((amax > ZERO) && (aspect > amax))
+                new_w = SCALE(amax, params->h);
+              /* adjust for min aspect (width / height) */
+              if ((amin > ZERO) && (aspect < amin))
+                new_w = SCALE(amin, params->h);
+              break;
+              /* prefer horizontal size as determiner */
+           case EDJE_ASPECT_PREFER_HORIZONTAL:
+              /* keep both dimensions in check */
+              /* adjust for max aspect (width / height) */
+              if ((amax > ZERO) && (aspect > amax))
+                new_h = DIV(FROM_INT(params->w), amax);
+              /* adjust for min aspect (width / height) */
+              if ((amin > ZERO) && (aspect < amin))
+                new_h = DIV(FROM_INT(params->w), amin);
+              break;
+           case EDJE_ASPECT_PREFER_SOURCE:
+           case EDJE_ASPECT_PREFER_BOTH:
+              /* keep both dimensions in check */
+              /* adjust for max aspect (width / height) */
+              if ((amax > ZERO) && (aspect > amax))
+                {
+                   new_w = SCALE(amax, params->h);
+                   new_h = DIV(FROM_INT(params->w), amax);
+                }
+              /* adjust for min aspect (width / height) */
+              if ((amin > ZERO) && (aspect < amin))
+                {
+                   new_w = SCALE(amin, params->h);
+                   new_h = DIV(FROM_INT(params->w), amin);
+                }
+              break;
+           default:
+              break;
+          }
+
+        if (!((amin > ZERO) && (amax > ZERO) &&
+              (apref == EDJE_ASPECT_PREFER_NONE)))
+          {
+             if ((*maxw >= 0) && (new_w > FROM_INT(*maxw)))
+               new_w = FROM_INT(*maxw);
+             if (new_w < FROM_INT(*minw))
+               new_w = FROM_INT(*minw);
+
+             if ((FROM_INT(*maxh) >= 0) && (new_h > FROM_INT(*maxh)))
+               new_h = FROM_INT(*maxh);
+             if (new_h < FROM_INT(*minh))
+               new_h = FROM_INT(*minh);
+          }
+
+        /* do real adjustment */
+        if (apref == EDJE_ASPECT_PREFER_BOTH)
+          {
+             if (amin == ZERO) amin = amax;
+             if (amin != ZERO)
+               {
+                  /* fix h and vary w */
+                  if (new_w > FROM_INT(params->w))
+                    {
+                       //                params->w = new_w;
+                       // EXCEEDS BOUNDS in W
+                       new_h = DIV(FROM_INT(params->w), amin);
+                       new_w = FROM_INT(params->w);
+                       if (new_h > FROM_INT(params->h))
+                         {
+                            new_h = FROM_INT(params->h);
+                            new_w = SCALE(amin, params->h);
+                         }
+                    }
+                  /* fix w and vary h */
+                  else
+                    {
+                       //                params->h = new_h;
+                       // EXCEEDS BOUNDS in H
+                       new_h = FROM_INT(params->h);
+                       new_w = SCALE(amin, params->h);
+                       if (new_w > FROM_INT(params->w))
+                         {
+                            new_h = DIV(FROM_INT(params->w), amin);
+                            new_w = FROM_INT(params->w);
+                         }
+                    }
+                  params->w = TO_INT(new_w);
+                  params->h = TO_INT(new_h);
+               }
+          }
+     }
+   if (apref != EDJE_ASPECT_PREFER_BOTH)
+     {
+        if ((amin > 0.0) && (amax > ZERO) && (apref == EDJE_ASPECT_PREFER_NONE))
+          {
+             params->w = TO_INT(new_w);
+             params->h = TO_INT(new_h);
+          }
+        else if ((FROM_INT(params->h) - new_h) > (FROM_INT(params->w) - new_w))
+          {
+             if (params->h < TO_INT(new_h))
+               params->h = TO_INT(new_h);
+             else if (params->h > TO_INT(new_h))
+               params->h = TO_INT(new_h);
+             if (apref == EDJE_ASPECT_PREFER_VERTICAL)
+               params->w = TO_INT(new_w);
+          }
+        else
+          {
+             if (params->w < TO_INT(new_w))
+               params->w = TO_INT(new_w);
+             else if (params->w > TO_INT(new_w))
+               params->w = TO_INT(new_w);
+             if (apref == EDJE_ASPECT_PREFER_HORIZONTAL)
+               params->h = TO_INT(new_h);
+          }
+     }
+   params->x = TO_INT(ADD(want_x,
+                          MUL(SUB(want_w, FROM_INT(params->w)),
+                              desc->align.x)));
+   params->y = TO_INT(ADD(want_y,
+                          MUL(SUB(want_h, FROM_INT(params->h)),
+                              desc->align.y)));
+   return apref;
+}
+
+static void
+_edje_part_recalc_single_step(Edje_Part_Description_Common *desc,
+                              Edje_Calc_Params *params)
+{
+   if (desc->step.x > 0)
+     {
+        int steps;
+        int new_w;
+
+        steps = params->w / desc->step.x;
+        new_w = desc->step.x * steps;
+        if (params->w > new_w)
+          {
+             params->x += TO_INT(SCALE(desc->align.x, (params->w - new_w)));
+             params->w = new_w;
+          }
+     }
+
+   if (desc->step.y > 0)
+     {
+        int steps;
+        int new_h;
+
+        steps = params->h / desc->step.y;
+        new_h = desc->step.y * steps;
+        if (params->h > new_h)
+          {
+             params->y += TO_INT(SCALE(desc->align.y, (params->h - new_h)));
+             params->h = new_h;
+          }
+     }
+}
+
+static void
+_edje_part_recalc_single_textblock(FLOAT_T sc,
+                                   Edje *ed,
+                                   Edje_Real_Part *ep,
+                                   Edje_Part_Description_Text *chosen_desc,
+                                   Edje_Calc_Params *params,
+                                   int *minw, int *minh,
+                                   int *maxw, int *maxh)
+{
+   if ((ep->type != EDJE_RP_TYPE_TEXT) ||
+       (!ep->typedata.text))
+     return;
+   if (chosen_desc)
+     {
+        Evas_Coord tw, th, ins_l, ins_r, ins_t, ins_b;
+        const char *text = "";
+        const char *style = "";
+        Edje_Style *stl  = NULL;
+        const char *tmp;
+        Eina_List *l;
+
+        if (chosen_desc->text.id_source >= 0)
+          {
+             ep->typedata.text->source = ed->table_parts[chosen_desc->text.id_source % ed->table_parts_size];
+
+             tmp = edje_string_get(&((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.style);
+             if (tmp) style = tmp;
+          }
+        else
+          {
+             ep->typedata.text->source = NULL;
+
+             tmp = edje_string_get(&chosen_desc->text.style);
+             if (tmp) style = tmp;
+          }
+
+        if (chosen_desc->text.id_text_source >= 0)
+          {
+             ep->typedata.text->text_source = ed->table_parts[chosen_desc->text.id_text_source % ed->table_parts_size];
+             text = edje_string_get(&((Edje_Part_Description_Text*)ep->typedata.text->text_source->chosen_description)->text.text);
+
+             if (ep->typedata.text->text_source->typedata.text->text) text = ep->typedata.text->text_source->typedata.text->text;
+          }
+        else
+          {
+             ep->typedata.text->text_source = NULL;
+             text = edje_string_get(&chosen_desc->text.text);
+             if (ep->typedata.text->text) text = ep->typedata.text->text;
+          }
+
+        EINA_LIST_FOREACH(ed->file->styles, l, stl)
+          {
+             if ((stl->name) && (!strcmp(stl->name, style))) break;
+             stl = NULL;
+          }
+
+        if (ep->part->scale)
+          evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+
+        if (stl)
+          {
+             const char *ptxt;
+
+             if (evas_object_textblock_style_get(ep->object) != stl->style)
+               evas_object_textblock_style_set(ep->object, stl->style);
+             // FIXME: need to account for editing
+             if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+               {
+                  // do nothing - should be done elsewhere
+               }
+             else
+               {
+                  ptxt = evas_object_textblock_text_markup_get(ep->object);
+                  if (((!ptxt) && (text)) ||
+                      ((ptxt) && (text) && (strcmp(ptxt, text))) ||
+                      ((ptxt) && (!text)))
+                    evas_object_textblock_text_markup_set(ep->object, text);
+               }
+             if ((chosen_desc->text.min_x) || (chosen_desc->text.min_y))
+               {
+                  int mw = 0, mh = 0;
+
+                  tw = th = 0;
+                  if (!chosen_desc->text.min_x)
+                    {
+                      eo_do(ep->object,
+                            evas_obj_size_set(params->w, params->h),
+                            evas_obj_textblock_size_formatted_get(&tw, &th));
+                    }
+                  else
+                    evas_object_textblock_size_native_get(ep->object, &tw, &th);
+                  evas_object_textblock_style_insets_get(ep->object, &ins_l,
+                                                         &ins_r, &ins_t, &ins_b);
+                  mw = ins_l + tw + ins_r;
+                  mh = ins_t + th + ins_b;
+                  if (minw && chosen_desc->text.min_x)
+                    {
+                       if (mw > *minw) *minw = mw;
+                    }
+                  if (minh && chosen_desc->text.min_y)
+                    {
+                       if (mh > *minh) *minh = mh;
+                    }
+               }
+          }
+        if ((chosen_desc->text.max_x) || (chosen_desc->text.max_y))
+          {
+             int mw = 0, mh = 0;
+
+             tw = th = 0;
+             if (!chosen_desc->text.max_x)
+               {
+                 eo_do(ep->object,
+                       evas_obj_size_set(params->w, params->h),
+                       evas_obj_textblock_size_formatted_get(&tw, &th));
+               }
+             else
+               evas_object_textblock_size_native_get(ep->object, &tw, &th);
+             evas_object_textblock_style_insets_get(ep->object, &ins_l, &ins_r,
+                                                    &ins_t, &ins_b);
+             mw = ins_l + tw + ins_r;
+             mh = ins_t + th + ins_b;
+             if (maxw && chosen_desc->text.max_x)
+               {
+                  if (mw > *maxw) *maxw = mw;
+                  if (minw && (*maxw < *minw)) *maxw = *minw;
+               }
+             if (maxh && chosen_desc->text.max_y)
+               {
+                  if (mh > *maxh) *maxh = mh;
+                  if (minh && (*maxh < *minh)) *maxh = *minh;
+               }
+          }
+        if ((chosen_desc->text.fit_x) || (chosen_desc->text.fit_y))
+          {
+             double s = 1.0;
+
+             if (ep->part->scale) s = TO_DOUBLE(sc);
+            eo_do(ep->object,
+                  evas_obj_scale_set(s),
+                  evas_obj_textblock_size_formatted_get(&tw, &th));
+             if (chosen_desc->text.fit_x)
+               {
+                  if ((tw > 0) && (tw > params->w))
+                    {
+                       s = (s * params->w) / (double)tw;
+                      eo_do(ep->object,
+                            evas_obj_scale_set(s),
+                            evas_obj_textblock_size_formatted_get(&tw, &th));
+                    }
+               }
+             if (chosen_desc->text.fit_y)
+               {
+                  if ((th > 0) && (th > params->h))
+                    {
+                       s = (s * params->h) / (double)th;
+                      eo_do(ep->object,
+                            evas_obj_scale_set(s),
+                            evas_obj_textblock_size_formatted_get(&tw, &th));
+                    }
+               }
+          }
+        evas_object_textblock_valign_set(ep->object, TO_DOUBLE(chosen_desc->text.align.y));
+     }
+}
+
+static void
+_edje_textblock_recalc_apply(Edje *ed, Edje_Real_Part *ep,
+                       Edje_Calc_Params *params,
+                       Edje_Part_Description_Text *chosen_desc)
+{
+   /* FIXME: this is just an hack. */
+   FLOAT_T sc;
+   sc = ed->scale;
+   if (sc == ZERO) sc = _edje_scale;
+   if (chosen_desc->text.fit_x || chosen_desc->text.fit_y)
+     {
+        _edje_part_recalc_single_textblock(sc, ed, ep, chosen_desc, params,
+              NULL, NULL, NULL, NULL);
+     }
+}
+
+static void
+_edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
+                              Edje *ed,
+                              Edje_Real_Part *ep,
+                              Edje_Part_Description_Text *desc,
+                              Edje_Part_Description_Text *chosen_desc,
+                              Edje_Calc_Params *params,
+                              int *minw, int *minh,
+                              int *maxw, int *maxh)
+#define RECALC_SINGLE_TEXT_USING_APPLY 1
+#if RECALC_SINGLE_TEXT_USING_APPLY
+/*
+ * XXX TODO NOTE:
+ *
+ * Original _edje_part_recalc_single_text() was not working as
+ * expected since it was not doing size fit, range, ellipsis and so
+ * on.
+ *
+ * The purpose of this function compared with
+ * _edje_text_recalc_apply() is to be faster, not calling Evas update
+ * functions. However for text this is quite difficult given that to
+ * fit we need to set the font, size, style, etc. If it was done
+ * correctly, we'd save some calls to move and some color sets,
+ * however those shouldn't matter much in the overall picture.
+ *
+ * I've changed this to force applying the value, it should be more
+ * correct and not so slow. The previous code is kept below for
+ * reference but should be removed before next release!
+ *
+ * -- Gustavo Barbieri at 20-Aug-2011
+ */
+{
+   int tw, th, mw, mh, l, r, t, b, size;
+   char *sfont = NULL;
+
+   _edje_text_class_font_get(ed, desc, &size, &sfont);
+   free(sfont);
+   params->type.text.size = size; /* XXX TODO used by further calcs, go inside recalc_apply? */
+
+   _edje_text_recalc_apply(ed, ep, params, chosen_desc);
+
+   evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
+
+   if ((!chosen_desc) ||
+       ((!chosen_desc->text.min_x) && (!chosen_desc->text.min_y) &&
+        (!chosen_desc->text.max_x) && (!chosen_desc->text.max_y)))
+     return;
+
+   eo_do(ep->object,
+        evas_obj_size_get(&tw, &th),
+        evas_obj_text_style_pad_get(&l, &r, &t, &b));
+
+   mw = tw + l + r;
+   mh = th + t + b;
+
+   if (chosen_desc->text.max_x)
+     {
+        if ((*maxw < 0) || (mw < *maxw)) *maxw = mw;
+     }
+   if (chosen_desc->text.max_y)
+     {
+        if ((*maxh < 0) || (mh < *maxh)) *maxh = mh;
+     }
+   if (chosen_desc->text.min_x)
+     {
+        if (mw > *minw) *minw = mw;
+     }
+   if (chosen_desc->text.min_y)
+     {
+        if (mh > *minh) *minh = mh;
+     }
+}
+#else
+{
+   char *sfont = NULL;
+   int size;
+
+   if (chosen_desc)
+     {
+        const char *text;
+        const char *font;
+        Evas_Coord tw, th;
+        int inlined_font = 0;
+
+        /* Update a object_text part */
+
+        if (chosen_desc->text.id_source >= 0)
+          ep->text.source = ed->table_parts[chosen_desc->text.id_source % ed->table_parts_size];
+        else
+          ep->text.source = NULL;
+
+        if (chosen_desc->text.id_text_source >= 0)
+          ep->text.text_source = ed->table_parts[chosen_desc->text.id_text_source % ed->table_parts_size];
+        else
+          ep->text.text_source = NULL;
+
+        if (ep->text.text_source)
+          text = edje_string_get(&(((Edje_Part_Description_Text*)ep->text.text_source->chosen_description)->text.text));
+        else
+          text = edje_string_get(&chosen_desc->text.text);
+
+        if (ep->text.source)
+          font = _edje_text_class_font_get(ed, ((Edje_Part_Description_Text*)ep->text.source->chosen_description), &size, &sfont);
+        else
+          font = _edje_text_class_font_get(ed, chosen_desc, &size, &sfont);
+
+        if (!font) font = "";
+
+        if (ep->text.text_source)
+          {
+             if (ep->text.text_source->text.text) text = ep->text.text_source->text.text;
+          }
+        else
+          {
+             if (ep->text.text) text = ep->text.text;
+          }
+
+        if (ep->text.source)
+          {
+             if (ep->text.source->text.font) font = ep->text.source->text.font;
+             if (ep->text.source->text.size > 0) size = ep->text.source->text.size;
+          }
+        else
+          {
+             if (ep->text.font) font = ep->text.font;
+             if (ep->text.size > 0) size = ep->text.size;
+          }
+        if (!text) text = "";
+
+        /* check if the font is embedded in the .eet */
+        if (ed->file->fonts)
+          {
+             Edje_Font_Directory_Entry *fnt;
+
+             fnt = eina_hash_find(ed->file->fonts, font);
+
+             if (fnt)
+               {
+                  char *font2;
+
+                  size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
+                  font2 = alloca(len);
+                  sprintf(font2, "edje/fonts/%s", font);
+                  font = font2;
+                  inlined_font = 1;
+               }
+          }
+        if (ep->part->scale)
+          evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+        if (inlined_font)
+          {
+             evas_object_text_font_source_set(ep->object, ed->path);
+          }
+        else evas_object_text_font_source_set(ep->object, NULL);
+
+        if ((_edje_fontset_append) && (font))
+          {
+             char *font2;
+
+             font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 1);
+             if (font2)
+               {
+                  strcpy(font2, font);
+                  strcat(font2, ",");
+                  strcat(font2, _edje_fontset_append);
+                  evas_object_text_font_set(ep->object, font2, size);
+                  free(font2);
+               }
+          }
+        else
+          evas_object_text_font_set(ep->object, font, size);
+        if ((chosen_desc->text.min_x) || (chosen_desc->text.min_y) ||
+            (chosen_desc->text.max_x) || (chosen_desc->text.max_y))
+          {
+             int mw, mh;
+             Evas_Text_Style_Type
+                style = EVAS_TEXT_STYLE_PLAIN,
+                      shadow = EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT;
+             const Evas_Text_Style_Type styles[] = {
+                  EVAS_TEXT_STYLE_PLAIN,
+                  EVAS_TEXT_STYLE_PLAIN,
+                  EVAS_TEXT_STYLE_OUTLINE,
+                  EVAS_TEXT_STYLE_SOFT_OUTLINE,
+                  EVAS_TEXT_STYLE_SHADOW,
+                  EVAS_TEXT_STYLE_SOFT_SHADOW,
+                  EVAS_TEXT_STYLE_OUTLINE_SHADOW,
+                  EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW,
+                  EVAS_TEXT_STYLE_FAR_SHADOW,
+                  EVAS_TEXT_STYLE_FAR_SOFT_SHADOW,
+                  EVAS_TEXT_STYLE_GLOW
+             };
+             const Evas_Text_Style_Type shadows[] = {
+                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT,
+                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM,
+                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT,
+                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT,
+                  EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT,
+                EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP,
+                EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT,
+                EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT
+             };
+
+             if ((ep->part->effect & EVAS_TEXT_STYLE_MASK_BASIC)
+                 < EDJE_TEXT_EFFECT_LAST)
+               style = styles[ep->part->effect];
+             shadow = shadows
+                [(ep->part->effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) >> 4];
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(style, shadow);
+
+            eo_do(ep->object,
+                  evas_obj_text_style_set(style),
+                  evas_obj_text_text_set(text),
+                  evas_obj_size_get(&tw, &th));
+             if (chosen_desc->text.max_x)
+               {
+                  int l, r;
+                  evas_object_text_style_pad_get(ep->object, &l, &r, NULL, NULL);
+                  mw = tw + l + r;
+                  if ((*maxw < 0) || (mw < *maxw)) *maxw = mw;
+               }
+             if (chosen_desc->text.max_y)
+               {
+                  int t, b;
+                  evas_object_text_style_pad_get(ep->object, NULL, NULL, &t, &b);
+                  mh = th + t + b;
+                  if ((*maxh < 0) || (mh < *maxh)) *maxh = mh;
+               }
+             if (chosen_desc->text.min_x)
+               {
+                  int l, r;
+                  evas_object_text_style_pad_get(ep->object, &l, &r, NULL, NULL);
+                  mw = tw + l + r;
+                  if (mw > *minw) *minw = mw;
+               }
+             if (chosen_desc->text.min_y)
+               {
+                  int t, b;
+                  evas_object_text_style_pad_get(ep->object, NULL, NULL, &t, &b);
+                  mh = th + t + b;
+                  if (mh > *minh) *minh = mh;
+               }
+          }
+        if (sfont) free(sfont);
+     }
+
+   /* FIXME: Do we really need to call it twice if chosen_desc ? */
+   sfont = NULL;
+   _edje_text_class_font_get(ed, desc, &size, &sfont);
+   free(sfont);
+   params->type.text.size = size;
+}
+#endif
+
+static void
+_edje_part_recalc_single_min_length(FLOAT_T align, int *start, int *length, int min)
+{
+   if (min >= 0)
+     {
+        if (*length < min)
+          {
+             *start += TO_INT(SCALE(align, (*length - min)));
+             *length = min;
+          }
+     }
+}
+
+static void
+_edje_part_recalc_single_min(Edje_Part_Description_Common *desc,
+                             Edje_Calc_Params *params,
+                             int minw, int minh,
+                             Edje_Internal_Aspect aspect)
+{
+   int tmp;
+   int w;
+   int h;
+
+   w = params->w ? params->w : 99999;
+   h = params->h ? params->h : 99999;
+
+   switch (aspect)
+     {
+      case EDJE_ASPECT_PREFER_NONE:
+         break;
+      case EDJE_ASPECT_PREFER_VERTICAL:
+         tmp = minh * params->w / h;
+         if (tmp >= minw)
+           {
+              minw = tmp;
+              break;
+           }
+      case EDJE_ASPECT_PREFER_HORIZONTAL:
+         tmp = minw * params->h / w;
+         if (tmp >= minh)
+           {
+              minh = tmp;
+              break;
+           }
+      case EDJE_ASPECT_PREFER_SOURCE:
+      case EDJE_ASPECT_PREFER_BOTH:
+         tmp = minh * params->w / h;
+         if (tmp >= minw)
+           {
+              minw = tmp;
+              break;
+           }
+
+         tmp = minw * params->h / w;
+         if (tmp >= minh)
+           {
+              minh = tmp;
+              break;
+           }
+
+         break;
+     }
+
+   _edje_part_recalc_single_min_length(desc->align.x, &params->x, &params->w, minw);
+   _edje_part_recalc_single_min_length(desc->align.y, &params->y, &params->h, minh);
+}
+
+static void
+_edje_part_recalc_single_max_length(FLOAT_T align, int *start, int *length, int max)
+{
+   if (max >= 0)
+     {
+        if (*length > max)
+          {
+             *start += TO_INT(SCALE(align, (*length - max)));
+             *length = max;
+          }
+     }
+}
+
+static void
+_edje_part_recalc_single_max(Edje_Part_Description_Common *desc,
+                             Edje_Calc_Params *params,
+                             int maxw, int maxh,
+                             Edje_Internal_Aspect aspect)
+{
+   int tmp;
+   int w;
+   int h;
+
+   w = params->w ? params->w : 99999;
+   h = params->h ? params->h : 99999;
+
+   switch (aspect)
+     {
+      case EDJE_ASPECT_PREFER_NONE:
+         break;
+      case EDJE_ASPECT_PREFER_VERTICAL:
+         tmp = maxh * params->w / h;
+         if (tmp <= maxw)
+           {
+              maxw = tmp;
+              break;
+           }
+      case EDJE_ASPECT_PREFER_HORIZONTAL:
+         tmp = maxw * params->h / w;
+         if (tmp <= maxh)
+           {
+              maxh = tmp;
+              break;
+           }
+      case EDJE_ASPECT_PREFER_SOURCE:
+      case EDJE_ASPECT_PREFER_BOTH:
+         tmp = maxh * params->w / h;
+         if (tmp <= maxw)
+           {
+              maxw = tmp;
+              break;
+           }
+
+         tmp = maxw * params->h / w;
+         if (tmp <= maxh)
+           {
+              maxh = tmp;
+              break;
+           }
+
+         break;
+     }
+
+   _edje_part_recalc_single_max_length(desc->align.x, &params->x, &params->w, maxw);
+   _edje_part_recalc_single_max_length(desc->align.y, &params->y, &params->h, maxh);
+}
+
+static void
+_edje_part_recalc_single_drag(Edje_Real_Part *ep,
+                              Edje_Real_Part *confine_to,
+                              Edje_Calc_Params *params,
+                              int minw, int minh,
+                              int maxw, int maxh)
+{
+   /* confine */
+   if (confine_to)
+     {
+        int offset;
+        int step;
+        FLOAT_T v;
+
+        /* complex dragable params */
+        v = SCALE(ep->drag->size.x, confine_to->w);
+
+        if ((minw > 0) && (TO_INT(v) < minw)) params->w = minw;
+        else if ((maxw >= 0) && (TO_INT(v) > maxw)) params->w = maxw;
+        else params->w = TO_INT(v);
+
+        offset = TO_INT(SCALE(ep->drag->x, (confine_to->w - params->w)))
+           + ep->drag->tmp.x;
+        if (ep->part->dragable.step_x > 0)
+          {
+             params->x = confine_to->x +
+                ((offset / ep->part->dragable.step_x) * ep->part->dragable.step_x);
+          }
+        else if (ep->part->dragable.count_x > 0)
+          {
+             step = (confine_to->w - params->w) / ep->part->dragable.count_x;
+             if (step < 1) step = 1;
+             params->x = confine_to->x +
+                ((offset / step) * step);
+          }
+        params->req_drag.x = params->x;
+        params->req_drag.w = params->w;
+
+        v = SCALE(ep->drag->size.y, confine_to->h);
+
+        if ((minh > 0) && (TO_INT(v) < minh)) params->h = minh;
+        else if ((maxh >= 0) && (TO_INT(v) > maxh)) params->h = maxh;
+        else params->h = TO_INT(v);
+
+        offset = TO_INT(SCALE(ep->drag->y, (confine_to->h - params->h)))
+           + ep->drag->tmp.y;
+        if (ep->part->dragable.step_y > 0)
+          {
+             params->y = confine_to->y +
+                ((offset / ep->part->dragable.step_y) * ep->part->dragable.step_y);
+          }
+        else if (ep->part->dragable.count_y > 0)
+          {
+             step = (confine_to->h - params->h) / ep->part->dragable.count_y;
+             if (step < 1) step = 1;
+             params->y = confine_to->y +
+                ((offset / step) * step);
+          }
+        params->req_drag.y = params->y;
+        params->req_drag.h = params->h;
+
+        /* limit to confine */
+        if (params->x < confine_to->x)
+          {
+             params->x = confine_to->x;
+          }
+        if ((params->x + params->w) > (confine_to->x + confine_to->w))
+          {
+             params->x = confine_to->x + confine_to->w - params->w;
+          }
+        if (params->y < confine_to->y)
+          {
+             params->y = confine_to->y;
+          }
+        if ((params->y + params->h) > (confine_to->y + confine_to->h))
+          {
+             params->y = confine_to->y + confine_to->h - params->h;
+          }
+     }
+   else
+     {
+        /* simple dragable params */
+        params->x += TO_INT(ep->drag->x) + ep->drag->tmp.x;
+        params->req_drag.x = params->x;
+        params->req_drag.w = params->w;
+
+        params->y += TO_INT(ep->drag->y) + ep->drag->tmp.y;
+        params->req_drag.y = params->y;
+        params->req_drag.h = params->h;
+     }
+}
+
+static void
+_edje_part_recalc_single_fill(Edje_Real_Part *ep,
+                              Edje_Part_Description_Spec_Fill *fill,
+                              Edje_Calc_Params *params)
+{
+   int fw;
+   int fh;
+
+   params->smooth = fill->smooth;
+
+   if (fill->type == EDJE_FILL_TYPE_TILE)
+     evas_object_image_size_get(ep->object, &fw, NULL);
+   else
+     fw = params->w;
+
+   params->type.common.fill.x = fill->pos_abs_x
+      + TO_INT(SCALE(fill->pos_rel_x, fw));
+   params->type.common.fill.w = fill->abs_x
+      + TO_INT(SCALE(fill->rel_x, fw));
+
+   if (fill->type == EDJE_FILL_TYPE_TILE)
+     evas_object_image_size_get(ep->object, NULL, &fh);
+   else
+     fh = params->h;
+
+   params->type.common.fill.y = fill->pos_abs_y
+      + TO_INT(SCALE(fill->pos_rel_y, fh));
+   params->type.common.fill.h = fill->abs_y
+      + TO_INT(SCALE(fill->rel_y, fh));
+
+   params->type.common.fill.angle = fill->angle;
+   params->type.common.fill.spread = fill->spread;
+}
+
+static void
+_edje_part_recalc_single_min_max(FLOAT_T sc,
+                                 Edje_Real_Part *ep,
+                                 Edje_Part_Description_Common *desc,
+                                 int *minw, int *minh,
+                                 int *maxw, int *maxh)
+{
+   *minw = desc->min.w;
+   if (ep->part->scale) *minw = TO_INT(SCALE(sc, *minw));
+   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+       (ep->typedata.swallow))
+     {
+        if (ep->typedata.swallow->swallow_params.min.w > desc->min.w)
+          *minw = ep->typedata.swallow->swallow_params.min.w;
+     }
+
+   if (ep->edje->calc_only)
+     {
+        if (desc->minmul.have)
+          {
+             FLOAT_T mmw = desc->minmul.w;
+             if (mmw != FROM_INT(1)) *minw = TO_INT(SCALE(mmw, *minw));
+          }
+     }
+
+   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+       (ep->typedata.swallow))
+     {
+        /* XXX TODO: remove need of EDJE_INF_MAX_W, see edje_util.c */
+        if ((ep->typedata.swallow->swallow_params.max.w <= 0) ||
+            (ep->typedata.swallow->swallow_params.max.w == EDJE_INF_MAX_W))
+          {
+             *maxw = desc->max.w;
+             if (*maxw > 0)
+               {
+                  if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
+                  if (*maxw < 1) *maxw = 1;
+               }
+          }
+        else
+          {
+             if (desc->max.w <= 0)
+               *maxw = ep->typedata.swallow->swallow_params.max.w;
+             else
+               {
+                  *maxw = desc->max.w;
+                  if (*maxw > 0)
+                    {
+                       if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
+                       if (*maxw < 1) *maxw = 1;
+                    }
+                  if (ep->typedata.swallow->swallow_params.max.w < *maxw)
+                    *maxw = ep->typedata.swallow->swallow_params.max.w;
+               }
+          }
+     }
+   else
+     {
+        *maxw = desc->max.w;
+        if (*maxw > 0)
+          {
+             if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw));
+             if (*maxw < 1) *maxw = 1;
+          }
+     }
+   if ((ep->edje->calc_only) && (desc->minmul.have) &&
+       (desc->minmul.w != FROM_INT(1))) *maxw = *minw;
+   if (*maxw >= 0)
+     {
+        if (*maxw < *minw) *maxw = *minw;
+     }
+
+   *minh = desc->min.h;
+   if (ep->part->scale) *minh = TO_INT(SCALE(sc, *minh));
+   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+       (ep->typedata.swallow))
+     {
+        if (ep->typedata.swallow->swallow_params.min.h > desc->min.h)
+          *minh = ep->typedata.swallow->swallow_params.min.h;
+     }
+
+   if (ep->edje->calc_only)
+     {
+        if (desc->minmul.have)
+          {
+             FLOAT_T mmh = desc->minmul.h;
+             if (mmh != FROM_INT(1)) *minh = TO_INT(SCALE(mmh, *minh));
+          }
+     }
+
+   if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+       (ep->typedata.swallow))
+     {
+        /* XXX TODO: remove need of EDJE_INF_MAX_H, see edje_util.c */
+        if ((ep->typedata.swallow->swallow_params.max.h <= 0) ||
+            (ep->typedata.swallow->swallow_params.max.h == EDJE_INF_MAX_H))
+          {
+             *maxh = desc->max.h;
+             if (*maxh > 0)
+               {
+                  if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
+                  if (*maxh < 1) *maxh = 1;
+               }
+          }
+        else
+          {
+             if (desc->max.h <= 0)
+               *maxh = ep->typedata.swallow->swallow_params.max.h;
+             else
+               {
+                  *maxh = desc->max.h;
+                  if (*maxh > 0)
+                    {
+                       if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
+                       if (*maxh < 1) *maxh = 1;
+                    }
+                  if (ep->typedata.swallow->swallow_params.max.h < *maxh)
+                    *maxh = ep->typedata.swallow->swallow_params.max.h;
+               }
+          }
+     }
+   else
+     {
+        *maxh = desc->max.h;
+        if (*maxh > 0)
+          {
+             if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh));
+             if (*maxh < 1) *maxh = 1;
+          }
+     }
+   if ((ep->edje->calc_only) && (desc->minmul.have) &&
+       (desc->minmul.h != FROM_INT(1))) *maxh = *minh;
+   if (*maxh >= 0)
+     {
+        if (*maxh < *minh) *maxh = *minh;
+     }
+}
+
+static void
+_edje_part_recalc_single_map(Edje *ed,
+                             Edje_Real_Part *ep EINA_UNUSED,
+                             Edje_Real_Part *center,
+                             Edje_Real_Part *light,
+                             Edje_Real_Part *persp,
+                             Edje_Part_Description_Common *desc,
+                             Edje_Part_Description_Common *chosen_desc,
+                             Edje_Calc_Params *params)
+{
+   params->mapped = chosen_desc->map.on;
+   params->lighted = params->mapped ? !!light : 0;
+   params->persp_on = params->mapped ? !!persp : 0;
+
+   if (!params->mapped) return ;
+
+   if (center)
+     {
+        params->map.center.x = ed->x + center->x + (center->w / 2);
+        params->map.center.y = ed->y + center->y + (center->h / 2);
+     }
+   else
+     {
+        params->map.center.x = ed->x + params->x + (params->w / 2);
+        params->map.center.y = ed->y + params->y + (params->h / 2);
+     }
+   params->map.center.z = 0;
+
+   params->map.rotation.x = desc->map.rot.x;
+   params->map.rotation.y = desc->map.rot.y;
+   params->map.rotation.z = desc->map.rot.z;
+
+   if (light)
+     {
+        Edje_Part_Description_Common *light_desc2;
+        FLOAT_T pos, pos2;
+
+        params->map.light.x = ed->x + light->x + (light->w / 2);
+        params->map.light.y = ed->y + light->y + (light->h / 2);
+
+        pos = light->description_pos;
+        pos2 = (pos < ZERO) ? ZERO : ((pos > FROM_INT(1)) ? FROM_INT(1) : pos);
+
+        light_desc2 = light->param2 ? light->param2->description : NULL;
+
+        /* take into account CURRENT state also */
+        if (pos != ZERO && light_desc2)
+          {
+             params->map.light.z = light->param1.description->persp.zplane +
+               TO_INT(SCALE(pos, light_desc2->persp.zplane - light->param1.description->persp.zplane));
+             params->map.light.r = light->param1.description->color.r +
+               TO_INT(SCALE(pos2, light_desc2->color.r - light->param1.description->color.r));
+             params->map.light.g = light->param1.description->color.g +
+               TO_INT(SCALE(pos2, light_desc2->color.g - light->param1.description->color.g));
+             params->map.light.b = light->param1.description->color.b +
+               TO_INT(SCALE(pos2, light_desc2->color.b - light->param1.description->color.b));
+             params->map.light.ar = light->param1.description->color2.r +
+               TO_INT(SCALE(pos2, light_desc2->color2.r - light->param1.description->color2.r));
+             params->map.light.ag = light->param1.description->color2.g +
+               TO_INT(SCALE(pos2, light_desc2->color2.g - light->param1.description->color2.g));
+             params->map.light.ab = light->param1.description->color2.b +
+               TO_INT(SCALE(pos2, light_desc2->color2.b - light->param1.description->color2.b));
+          }
+        else
+          {
+             params->map.light.z = light->param1.description->persp.zplane;
+             params->map.light.r = light->param1.description->color.r;
+             params->map.light.g = light->param1.description->color.g;
+             params->map.light.b = light->param1.description->color.b;
+             params->map.light.ar = light->param1.description->color2.r;
+             params->map.light.ag = light->param1.description->color2.g;
+             params->map.light.ab = light->param1.description->color2.b;
+          }
+     }
+
+   if (persp)
+     {
+        FLOAT_T pos;
+
+        params->map.persp.x = ed->x + persp->x + (persp->w / 2);
+        params->map.persp.y = ed->y + persp->y + (persp->h / 2);
+
+        pos = persp->description_pos;
+
+        if (pos != 0 && persp->param2)
+          {
+             params->map.persp.z = persp->param1.description->persp.zplane +
+               TO_INT(SCALE(pos, persp->param2->description->persp.zplane -
+                            persp->param1.description->persp.zplane));
+             params->map.persp.focal = persp->param1.description->persp.focal +
+               TO_INT(SCALE(pos, persp->param2->description->persp.focal -
+                            persp->param1.description->persp.focal));
+          }
+        else
+          {
+             params->map.persp.z = persp->param1.description->persp.zplane;
+             params->map.persp.focal = persp->param1.description->persp.focal;
+          }
+     }
+}
+
+static void
+_edje_part_recalc_single(Edje *ed,
+                         Edje_Real_Part *ep,
+                         Edje_Part_Description_Common *desc,
+                         Edje_Part_Description_Common *chosen_desc,
+                         Edje_Real_Part *center,
+                         Edje_Real_Part *light,
+                         Edje_Real_Part *persp,
+                         Edje_Real_Part *rel1_to_x,
+                         Edje_Real_Part *rel1_to_y,
+                         Edje_Real_Part *rel2_to_x,
+                         Edje_Real_Part *rel2_to_y,
+                         Edje_Real_Part *confine_to,
+                         Edje_Calc_Params *params,
+                         FLOAT_T pos)
+{
+   Edje_Color_Class *cc = NULL;
+   Edje_Internal_Aspect apref;
+   int minw = 0, minh = 0, maxw = 0, maxh = 0;
+   FLOAT_T sc;
+
+   sc = ed->scale;
+   if (sc == ZERO) sc = _edje_scale;
+   _edje_part_recalc_single_min_max(sc, ep, desc, &minw, &minh, &maxw, &maxh);
+
+   /* relative coords of top left & bottom right */
+   _edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params);
+
+   /* aspect */
+   apref = _edje_part_recalc_single_aspect(ed, ep, desc, params, &minw, &minh, &maxw, &maxh, pos);
+
+   /* size step */
+   _edje_part_recalc_single_step(desc, params);
+
+   /* if we have text that wants to make the min size the text size... */
+   if (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+     _edje_part_recalc_single_textblock(sc, ed, ep, (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, &maxw, &maxh);
+   else if (ep->part->type == EDJE_PART_TYPE_TEXT)
+     _edje_part_recalc_single_text(sc, ed, ep, (Edje_Part_Description_Text*) desc, (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, &maxw, &maxh);
+
+   if ((ep->part->type == EDJE_PART_TYPE_TABLE) &&
+       (((((Edje_Part_Description_Table *)chosen_desc)->table.min.h) ||
+         (((Edje_Part_Description_Table *)chosen_desc)->table.min.v))))
+     {
+        Evas_Coord lminw = 0, lminh = 0;
+
+       eo_do(ep->object,
+             evas_obj_smart_need_recalculate_set(1),
+             evas_obj_smart_calculate(),
+             evas_obj_size_hint_min_get(&lminw, &lminh));
+        if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h)
+          {
+             if (lminw > minw) minw = lminw;
+          }
+        if (((Edje_Part_Description_Table *)chosen_desc)->table.min.v)
+          {
+             if (lminh > minh) minh = lminh;
+          }
+     }
+   else if ((ep->part->type == EDJE_PART_TYPE_BOX) &&
+            ((((Edje_Part_Description_Box *)chosen_desc)->box.min.h) ||
+             (((Edje_Part_Description_Box *)chosen_desc)->box.min.v)))
+     {
+        Evas_Coord lminw = 0, lminh = 0;
+
+       eo_do(ep->object,
+             evas_obj_smart_need_recalculate_set(1),
+             evas_obj_smart_calculate(),
+             evas_obj_size_hint_min_get(&lminw, &lminh));
+        if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h)
+          {
+             if (lminw > minw) minw = lminw;
+          }
+        if (((Edje_Part_Description_Box *)chosen_desc)->box.min.v)
+          {
+             if (lminh > minh) minh = lminh;
+          }
+     }
+   else if ((ep->part->type == EDJE_PART_TYPE_IMAGE) &&
+            (chosen_desc->min.limit || chosen_desc->max.limit))
+     {
+        Evas_Coord w, h;
+
+        /* We only need pos to find the right image that would be displayed */
+        /* Yes, if someone set aspect preference to SOURCE and also max,min
+           to SOURCE, it will be under efficient, but who cares at the
+           moment. */
+        _edje_real_part_image_set(ed, ep, pos);
+        evas_object_image_size_get(ep->object, &w, &h);
+
+        if (chosen_desc->min.limit)
+          {
+             if (w > minw) minw = w;
+             if (h > minh) minh = h;
+          }
+        if (chosen_desc->max.limit)
+          {
+             if ((maxw <= 0) || (w < maxw)) maxw = w;
+             if ((maxh <= 0) || (h < maxh)) maxh = h;
+          }
+     }
+
+   /* remember what our size is BEFORE we go limit it */
+   params->req.x = params->x;
+   params->req.y = params->y;
+   params->req.w = params->w;
+   params->req.h = params->h;
+
+   /* adjust for min size */
+   _edje_part_recalc_single_min(desc, params, minw, minh, apref);
+
+   /* adjust for max size */
+   _edje_part_recalc_single_max(desc, params, maxw, maxh, apref);
+
+   /* take care of dragable part */
+   if (ep->drag)
+     _edje_part_recalc_single_drag(ep, confine_to, params, minw, minh, maxw, maxh);
+
+   /* fill */
+   if (ep->part->type == EDJE_PART_TYPE_IMAGE)
+     _edje_part_recalc_single_fill(ep, &((Edje_Part_Description_Image *)desc)->image.fill, params);
+   else if (ep->part->type == EDJE_PART_TYPE_PROXY)
+     _edje_part_recalc_single_fill(ep, &((Edje_Part_Description_Proxy *)desc)->proxy.fill, params);
+
+   if (ep->part->type != EDJE_PART_TYPE_SPACER)
+     {
+        /* colors */
+        if ((desc->color_class) && (*desc->color_class))
+          cc = _edje_color_class_find(ed, desc->color_class);
+
+        if (cc)
+          {
+             params->color.r = (((int)cc->r + 1) * desc->color.r) >> 8;
+             params->color.g = (((int)cc->g + 1) * desc->color.g) >> 8;
+             params->color.b = (((int)cc->b + 1) * desc->color.b) >> 8;
+             params->color.a = (((int)cc->a + 1) * desc->color.a) >> 8;
+          }
+        else
+          {
+             params->color.r = desc->color.r;
+             params->color.g = desc->color.g;
+             params->color.b = desc->color.b;
+             params->color.a = desc->color.a;
+          }
+     }
+
+   /* visible */
+   params->visible = desc->visible;
+
+   switch (ep->part->type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+           {
+              Edje_Part_Description_Image *img_desc = (Edje_Part_Description_Image*) desc;
+
+              /* border */
+              params->type.common.spec.image.l = img_desc->image.border.l;
+              params->type.common.spec.image.r = img_desc->image.border.r;
+
+              params->type.common.spec.image.t = img_desc->image.border.t;
+              params->type.common.spec.image.b = img_desc->image.border.b;
+
+              params->type.common.spec.image.border_scale_by = img_desc->image.border.scale_by;
+              break;
+           }
+      case EDJE_PART_TYPE_TEXT:
+      case EDJE_PART_TYPE_TEXTBLOCK:
+           {
+              Edje_Part_Description_Text *text_desc = (Edje_Part_Description_Text*) desc;
+
+              /* text.align */
+              params->type.text.align.x = text_desc->text.align.x;
+              params->type.text.align.y = text_desc->text.align.y;
+              params->type.text.elipsis = text_desc->text.elipsis;
+
+              /* text colors */
+              if (cc)
+                {
+                   params->type.text.color2.r = (((int)cc->r2 + 1) * text_desc->common.color2.r) >> 8;
+                   params->type.text.color2.g = (((int)cc->g2 + 1) * text_desc->common.color2.g) >> 8;
+                   params->type.text.color2.b = (((int)cc->b2 + 1) * text_desc->common.color2.b) >> 8;
+                   params->type.text.color2.a = (((int)cc->a2 + 1) * text_desc->common.color2.a) >> 8;
+                   params->type.text.color3.r = (((int)cc->r3 + 1) * text_desc->text.color3.r) >> 8;
+                   params->type.text.color3.g = (((int)cc->g3 + 1) * text_desc->text.color3.g) >> 8;
+                   params->type.text.color3.b = (((int)cc->b3 + 1) * text_desc->text.color3.b) >> 8;
+                   params->type.text.color3.a = (((int)cc->a3 + 1) * text_desc->text.color3.a) >> 8;
+                }
+              else
+                {
+                   params->type.text.color2.r = text_desc->common.color2.r;
+                   params->type.text.color2.g = text_desc->common.color2.g;
+                   params->type.text.color2.b = text_desc->common.color2.b;
+                   params->type.text.color2.a = text_desc->common.color2.a;
+                   params->type.text.color3.r = text_desc->text.color3.r;
+                   params->type.text.color3.g = text_desc->text.color3.g;
+                   params->type.text.color3.b = text_desc->text.color3.b;
+                   params->type.text.color3.a = text_desc->text.color3.a;
+                }
+
+              break;
+           }
+      case EDJE_PART_TYPE_SPACER:
+      case EDJE_PART_TYPE_RECTANGLE:
+      case EDJE_PART_TYPE_BOX:
+      case EDJE_PART_TYPE_TABLE:
+      case EDJE_PART_TYPE_SWALLOW:
+      case EDJE_PART_TYPE_GROUP:
+      case EDJE_PART_TYPE_PROXY:
+         break;
+      case EDJE_PART_TYPE_GRADIENT:
+         /* FIXME: THIS ONE SHOULD NEVER BE TRIGGERED. */
+         break;
+      default:
+         break;
+     }
+
+#ifdef HAVE_EPHYSICS
+   params->physics.mass = desc->physics.mass;
+   params->physics.restitution = desc->physics.restitution;
+   params->physics.friction = desc->physics.friction;
+   params->physics.damping.linear = desc->physics.damping.linear;
+   params->physics.damping.angular = desc->physics.damping.angular;
+   params->physics.sleep.linear = desc->physics.sleep.linear;
+   params->physics.sleep.angular = desc->physics.sleep.angular;
+   params->physics.material = desc->physics.material;
+   params->physics.density = desc->physics.density;
+   params->physics.hardness = desc->physics.hardness;
+   params->physics.ignore_part_pos = desc->physics.ignore_part_pos;
+   params->physics.light_on = desc->physics.light_on;
+   params->physics.mov_freedom.lin.x = desc->physics.mov_freedom.lin.x;
+   params->physics.mov_freedom.lin.y = desc->physics.mov_freedom.lin.y;
+   params->physics.mov_freedom.lin.z = desc->physics.mov_freedom.lin.z;
+   params->physics.mov_freedom.ang.x = desc->physics.mov_freedom.ang.x;
+   params->physics.mov_freedom.ang.y = desc->physics.mov_freedom.ang.y;
+   params->physics.mov_freedom.ang.z = desc->physics.mov_freedom.ang.z;
+   params->physics.backcull = desc->physics.backcull;
+   params->physics.z = desc->physics.z;
+   params->physics.depth = desc->physics.depth;
+#endif
+   _edje_part_recalc_single_map(ed, ep, center, light, persp, desc, chosen_desc, params);
+}
+
+static void
+_edje_table_recalc_apply(Edje *ed EINA_UNUSED,
+                         Edje_Real_Part *ep,
+                         Edje_Calc_Params *p3 EINA_UNUSED,
+                         Edje_Part_Description_Table *chosen_desc)
+{
+   eo_do(ep->object,
+        evas_obj_table_homogeneous_set(chosen_desc->table.homogeneous),
+        evas_obj_table_align_set(TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y)),
+        evas_obj_table_padding_set(chosen_desc->table.padding.x, chosen_desc->table.padding.y));
+   if (evas_object_smart_need_recalculate_get(ep->object))
+     {
+        eo_do(ep->object,
+             evas_obj_smart_need_recalculate_set(0),
+             evas_obj_smart_calculate());
+     }
+}
+
+static void
+_edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Proxy *chosen_desc, FLOAT_T pos)
+{
+   Edje_Real_Part *pp;
+   int part_id = -1;
+
+   if (pos >= FROM_DOUBLE(0.5))
+     part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
+   else
+     part_id = chosen_desc->proxy.id;
+
+   if ((p3->type.common.fill.w == 0) || (p3->type.common.fill.h == 0) ||
+       (part_id < 0))
+     {
+        evas_object_image_source_set(ep->object, NULL);
+        return;
+     }
+   pp = ed->table_parts[part_id % ed->table_parts_size];
+
+   if (pp->nested_smart)  /* using nested_smart for nested parts */
+     {
+        evas_object_image_source_set(ep->object, pp->nested_smart);
+     }
+   else
+     {
+        switch (pp->part->type)
+          {
+           case EDJE_PART_TYPE_IMAGE:
+           case EDJE_PART_TYPE_TEXT:
+           case EDJE_PART_TYPE_TEXTBLOCK:
+           case EDJE_PART_TYPE_RECTANGLE:
+           case EDJE_PART_TYPE_BOX:
+           case EDJE_PART_TYPE_TABLE:
+           case EDJE_PART_TYPE_PROXY:
+              evas_object_image_source_set(ep->object, pp->object);
+              break;
+           case EDJE_PART_TYPE_GRADIENT:
+              /* FIXME: THIS ONE SHOULD NEVER BE TRIGGERED. */
+              break;
+           case EDJE_PART_TYPE_GROUP:
+           case EDJE_PART_TYPE_SWALLOW:
+           case EDJE_PART_TYPE_EXTERNAL:
+             if ((pp->type == EDJE_RP_TYPE_SWALLOW) &&
+                 (pp->typedata.swallow))
+               {
+                  evas_object_image_source_set(ep->object, pp->typedata.swallow->swallowed_object);
+               }
+              break;
+           case EDJE_PART_TYPE_SPACER:
+              /* FIXME: detect that at compile time and prevent it */
+              break;
+          }
+     }
+
+   eo_do(ep->object,
+        evas_obj_image_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
+                                p3->type.common.fill.w, p3->type.common.fill.h),
+        evas_obj_image_smooth_scale_set(p3->smooth));
+}
+
+static void
+_edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Image *chosen_desc, FLOAT_T pos)
+{
+   FLOAT_T sc;
+
+   sc = ed->scale;
+   if (sc == 0.0) sc = _edje_scale;
+   eo_do(ep->object,
+        evas_obj_image_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
+                                p3->type.common.fill.w, p3->type.common.fill.h),
+        evas_obj_image_smooth_scale_set(p3->smooth));
+   if (chosen_desc->image.border.scale)
+     {
+        if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
+          {
+             FLOAT_T sc2 = MUL(sc, p3->type.common.spec.image.border_scale_by);
+             evas_object_image_border_scale_set(ep->object, TO_DOUBLE(sc2));
+          }
+        else
+           evas_object_image_border_scale_set(ep->object, TO_DOUBLE(sc));
+     }
+   else
+     {
+        if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
+           evas_object_image_border_scale_set
+           (ep->object, TO_DOUBLE(p3->type.common.spec.image.border_scale_by));
+        else
+          evas_object_image_border_scale_set(ep->object, 1.0);
+     }
+   evas_object_image_border_set(ep->object, p3->type.common.spec.image.l, p3->type.common.spec.image.r,
+                                p3->type.common.spec.image.t, p3->type.common.spec.image.b);
+   if (chosen_desc->image.border.no_fill == 0)
+     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_DEFAULT);
+   else if (chosen_desc->image.border.no_fill == 1)
+     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_NONE);
+   else if (chosen_desc->image.border.no_fill == 2)
+     evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_SOLID);
+
+   _edje_real_part_image_set(ed, ep, pos);
+}
+
+static Edje_Real_Part *
+_edje_real_part_state_get(Edje *ed, Edje_Real_Part *ep, int flags, int id, int *state)
+{
+   Edje_Real_Part *result = NULL;
+
+   if (id >= 0 && id != ep->part->id)
+     {
+        result = ed->table_parts[id % ed->table_parts_size];
+        if (result)
+          {
+             if (!result->calculated) _edje_part_recalc(ed, result, flags, NULL);
+#ifdef EDJE_CALC_CACHE
+             if (state) *state = result->state;
+#else
+             (void) state;
+#endif
+          }
+     }
+   return result;
+}
+
+#ifdef HAVE_EPHYSICS
+static Eina_Bool
+_edje_physics_world_geometry_check(EPhysics_World *world)
+{
+   Evas_Coord w, h, d;
+   ephysics_world_render_geometry_get(world, NULL, NULL, NULL, &w, &h, &d);
+   return (w && h && d);
+}
+
+static void
+_edje_physics_body_props_update(Edje_Real_Part *ep, Edje_Calc_Params *pf, Eina_Bool pos_update)
+{
+   ephysics_body_linear_movement_enable_set(ep->body,
+                                            pf->physics.mov_freedom.lin.x,
+                                            pf->physics.mov_freedom.lin.y,
+                                            pf->physics.mov_freedom.lin.z);
+   ephysics_body_angular_movement_enable_set(ep->body,
+                                             pf->physics.mov_freedom.ang.x,
+                                             pf->physics.mov_freedom.ang.y,
+                                             pf->physics.mov_freedom.ang.z);
+
+   /* Boundaries geometry and mass shouldn't be changed */
+   if (ep->part->physics_body < EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP)
+     {
+        Evas_Coord x, y, z, w, h, d;
+
+        if (pos_update)
+          {
+             ephysics_body_move(ep->body, ep->edje->x + pf->x,
+                                ep->edje->y + pf->y, pf->physics.z);
+             ep->x = pf->x;
+             ep->y = pf->y;
+             ep->w = pf->w;
+             ep->h = pf->h;
+          }
+
+        ephysics_body_geometry_get(ep->body, &x, &y, &z, &w, &h, &d);
+        if ((d) && (d != pf->physics.depth))
+          ephysics_body_resize(ep->body, w, h, pf->physics.depth);
+        if (z != pf->physics.z)
+          ephysics_body_move(ep->body, x, y, pf->physics.z);
+
+        ephysics_body_material_set(ep->body, pf->physics.material);
+        if (!pf->physics.material)
+          {
+             if (pf->physics.density)
+               ephysics_body_density_set(ep->body, pf->physics.density);
+             else
+               ephysics_body_mass_set(ep->body, pf->physics.mass);
+          }
+
+        if ((ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_BOX) ||
+            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_SPHERE) ||
+            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER) ||
+            (ep->part->physics_body == EDJE_PART_PHYSICS_BODY_CLOTH))
+          ephysics_body_soft_body_hardness_set(ep->body,
+                                               pf->physics.hardness * 100);
+     }
+
+   if (!pf->physics.material)
+     {
+        ephysics_body_restitution_set(ep->body, pf->physics.restitution);
+        ephysics_body_friction_set(ep->body, pf->physics.friction);
+     }
+
+   ephysics_body_damping_set(ep->body, pf->physics.damping.linear,
+                             pf->physics.damping.angular);
+   ephysics_body_sleeping_threshold_set(ep->body, pf->physics.sleep.linear,
+                                        pf->physics.sleep.angular);
+   ephysics_body_light_set(ep->body, pf->physics.light_on);
+   ephysics_body_back_face_culling_set(ep->body, pf->physics.backcull);
+}
+
+static void
+_edje_physics_body_update_cb(void *data, EPhysics_Body *body, void *event_info EINA_UNUSED)
+{
+   Edje_Real_Part *rp = data;
+   ephysics_body_geometry_get(body, &(rp->x), &(rp->y), NULL,
+                              &(rp->w), &(rp->h), NULL);
+   ephysics_body_evas_object_update(body);
+   rp->edje->dirty = EINA_TRUE;
+}
+
+static void
+_edje_physics_body_add(Edje_Real_Part *rp, EPhysics_World *world)
+{
+   Eina_Bool resize = EINA_TRUE;
+   Edje_Physics_Face *pface;
+   Eina_List *l;
+
+   switch (rp->part->physics_body)
+     {
+      case EDJE_PART_PHYSICS_BODY_RIGID_BOX:
+         rp->body = ephysics_body_box_add(world);
+         break;
+      case EDJE_PART_PHYSICS_BODY_RIGID_SPHERE:
+         rp->body = ephysics_body_sphere_add(world);
+         break;
+      case EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER:
+         rp->body = ephysics_body_cylinder_add(world);
+         break;
+      case EDJE_PART_PHYSICS_BODY_SOFT_BOX:
+         rp->body = ephysics_body_soft_box_add(world);
+         break;
+      case EDJE_PART_PHYSICS_BODY_SOFT_SPHERE:
+         rp->body = ephysics_body_soft_sphere_add(world, 0);
+         break;
+      case EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER:
+         rp->body = ephysics_body_soft_cylinder_add(world);
+         break;
+      case EDJE_PART_PHYSICS_BODY_CLOTH:
+         rp->body = ephysics_body_cloth_add(world, 0, 0);
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP:
+         rp->body = ephysics_body_top_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM:
+         rp->body = ephysics_body_bottom_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT:
+         rp->body = ephysics_body_right_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT:
+         rp->body = ephysics_body_left_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT:
+         rp->body = ephysics_body_front_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      case EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK:
+         rp->body = ephysics_body_back_boundary_add(world);
+         resize = EINA_FALSE;
+         break;
+      default:
+         ERR("Invalid body: %i", rp->part->physics_body);
+         return;
+     }
+
+   EINA_LIST_FOREACH(rp->part->default_desc->physics.faces, l, pface)
+     {
+        Evas_Object *edje_obj;
+        Evas *evas;
+
+        if (!pface->source) continue;
+
+        evas = evas_object_evas_get(rp->object);
+        edje_obj = edje_object_add(evas);
+        if (!edje_obj) continue;
+
+        edje_object_file_set(edje_obj, rp->edje->path, pface->source);
+        evas_object_resize(edje_obj, 1, 1);
+        ephysics_body_face_evas_object_set(rp->body, pface->type,
+                                           edje_obj, EINA_FALSE);
+        rp->body_faces = eina_list_append(rp->body_faces, edje_obj);
+     }
+
+   ephysics_body_evas_object_set(rp->body, rp->object, resize);
+   ephysics_body_event_callback_add(rp->body, EPHYSICS_CALLBACK_BODY_UPDATE,
+                                    _edje_physics_body_update_cb, rp);
+}
+#endif
+
+void
+_edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *state)
+{
+#ifdef EDJE_CALC_CACHE
+   Eina_Bool proxy_invalidate = EINA_FALSE;
+   int state1 = -1;
+   int state2 = -1;
+   int statec = -1;
+#else
+   Edje_Calc_Params lp1, lp2;
+#endif
+   int statec1 = -1;
+   int statec2 = -1;
+   int statel1 = -1;
+   int statel2 = -1;
+   int statep1 = -1;
+   int statep2 = -1;
+   Edje_Real_Part *center[2] = { NULL, NULL };
+   Edje_Real_Part *light[2] = { NULL, NULL };
+   Edje_Real_Part *persp[2] = { NULL, NULL };
+   Edje_Calc_Params *p1, *pf;
+   Edje_Part_Description_Common *chosen_desc;
+   Edje_Real_Part *confine_to = NULL;
+   FLOAT_T pos = ZERO, pos2;
+   Edje_Calc_Params lp3;
+
+   /* GRADIENT ARE GONE, WE MUST IGNORE IT FROM OLD FILE. */
+   if (ep->part->type == EDJE_PART_TYPE_GRADIENT)
+     {
+        ERR("GRADIENT spotted during recalc ! That should never happen ! Send your edje file to devel ml.");
+        return;
+     }
+
+   if ((ep->calculated & FLAG_XY) == FLAG_XY && !state)
+     {
+        return;
+     }
+   if (ep->calculating & flags)
+     {
+#if 1
+        const char *axes = "NONE", *faxes = "NONE";
+
+        if ((ep->calculating & FLAG_X) &&
+            (ep->calculating & FLAG_Y))
+          axes = "XY";
+        else if ((ep->calculating & FLAG_X))
+          axes = "X";
+        else if ((ep->calculating & FLAG_Y))
+          axes = "Y";
+
+        if ((flags & FLAG_X) &&
+            (flags & FLAG_Y))
+          faxes = "XY";
+        else if ((flags & FLAG_X))
+          faxes = "X";
+        else if ((flags & FLAG_Y))
+          faxes = "Y";
+        ERR("Circular dependency when calculating part \"%s\". "
+            "Already calculating %s [%02x] axes. "
+            "Need to calculate %s [%02x] axes",
+            ep->part->name,
+            axes, ep->calculating,
+            faxes, flags);
+#endif
+        return;
+     }
+
+   if (ep->part->scale &&
+       ep->part->type == EDJE_PART_TYPE_GROUP &&
+       ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+           (ep->typedata.swallow)) &&
+       ep->typedata.swallow->swallowed_object)
+     {
+        edje_object_scale_set(ep->typedata.swallow->swallowed_object, TO_DOUBLE(ed->scale));
+
+        if (ep->description_pos > FROM_DOUBLE(0.5) && ep->param2)
+          {
+             edje_object_update_hints_set(ep->typedata.swallow->swallowed_object, ep->param2->description->min.limit);
+          }
+        else
+          {
+             edje_object_update_hints_set(ep->typedata.swallow->swallowed_object, ep->param1.description->min.limit);
+          }
+        if (edje_object_update_hints_get(ep->typedata.swallow->swallowed_object))
+          {
+             Edje *ted;
+
+             ted = _edje_fetch(ep->typedata.swallow->swallowed_object);
+             _edje_recalc_do(ted);
+          }
+     }
+
+#ifdef EDJE_CALC_CACHE
+   if (ep->state == ed->state && !state)
+     return ;
+#endif
+
+   if (flags & FLAG_X)
+     {
+        ep->calculating |= flags & FLAG_X;
+        if (ep->param1.rel1_to_x)
+          {
+             _edje_part_recalc(ed, ep->param1.rel1_to_x, FLAG_X, NULL);
+#ifdef EDJE_CALC_CACHE
+             state1 = ep->param1.rel1_to_x->state;
+#endif
+          }
+        if (ep->param1.rel2_to_x)
+          {
+             _edje_part_recalc(ed, ep->param1.rel2_to_x, FLAG_X, NULL);
+#ifdef EDJE_CALC_CACHE
+             if (state1 < ep->param1.rel2_to_x->state)
+               state1 = ep->param1.rel2_to_x->state;
+#endif
+          }
+        if (ep->param2)
+          {
+             if (ep->param2->rel1_to_x)
+               {
+                  _edje_part_recalc(ed, ep->param2->rel1_to_x, FLAG_X, NULL);
+#ifdef EDJE_CALC_CACHE
+                  state2 = ep->param2->rel1_to_x->state;
+#endif
+               }
+             if (ep->param2->rel2_to_x)
+               {
+                  _edje_part_recalc(ed, ep->param2->rel2_to_x, FLAG_X, NULL);
+#ifdef EDJE_CALC_CACHE
+                  if (state2 < ep->param2->rel2_to_x->state)
+                    state2 = ep->param2->rel2_to_x->state;
+#endif
+               }
+          }
+     }
+   if (flags & FLAG_Y)
+     {
+        ep->calculating |= flags & FLAG_Y;
+        if (ep->param1.rel1_to_y)
+          {
+             _edje_part_recalc(ed, ep->param1.rel1_to_y, FLAG_Y, NULL);
+#ifdef EDJE_CALC_CACHE
+             if (state1 < ep->param1.rel1_to_y->state)
+               state1 = ep->param1.rel1_to_y->state;
+#endif
+          }
+        if (ep->param1.rel2_to_y)
+          {
+             _edje_part_recalc(ed, ep->param1.rel2_to_y, FLAG_Y, NULL);
+#ifdef EDJE_CALC_CACHE
+             if (state1 < ep->param1.rel2_to_y->state)
+               state1 = ep->param1.rel2_to_y->state;
+#endif
+          }
+        if (ep->param2)
+          {
+             if (ep->param2->rel1_to_y)
+               {
+                  _edje_part_recalc(ed, ep->param2->rel1_to_y, FLAG_Y, NULL);
+#ifdef EDJE_CALC_CACHE
+                  if (state2 < ep->param2->rel1_to_y->state)
+                    state2 = ep->param2->rel1_to_y->state;
+#endif
+               }
+             if (ep->param2->rel2_to_y)
+               {
+                  _edje_part_recalc(ed, ep->param2->rel2_to_y, FLAG_Y, NULL);
+#ifdef EDJE_CALC_CACHE
+                  if (state2 < ep->param2->rel2_to_y->state)
+                    state2 = ep->param2->rel2_to_y->state;
+#endif
+               }
+          }
+     }
+   if (ep->drag && ep->drag->confine_to)
+     {
+        confine_to = ep->drag->confine_to;
+        _edje_part_recalc(ed, confine_to, flags, NULL);
+#ifdef EDJE_CALC_CACHE
+        statec = confine_to->state;
+#endif
+     }
+   //   if (ep->text.source)       _edje_part_recalc(ed, ep->text.source, flags);
+   //   if (ep->text.text_source)  _edje_part_recalc(ed, ep->text.text_source, flags);
+
+   /* actually calculate now */
+   chosen_desc = ep->chosen_description;
+   if (!chosen_desc)
+     {
+        ep->calculating = FLAG_NONE;
+        ep->calculated |= flags;
+        return;
+     }
+
+   pos = ep->description_pos;
+
+   if (ep->part->type == EDJE_PART_TYPE_PROXY)
+     {
+        Edje_Real_Part *pp;
+        int part_id = -1;
+
+        if (pos >= FROM_DOUBLE(0.5))
+          part_id = ((Edje_Part_Description_Proxy*) ep->param2->description)->proxy.id;
+        else
+          part_id = ((Edje_Part_Description_Proxy*) chosen_desc)->proxy.id;
+
+        pp = _edje_real_part_state_get(ed, ep, flags, part_id, NULL);
+#ifdef EDJE_CALC_CACHE
+        if (pp && pp->invalidate) proxy_invalidate = EINA_TRUE;
+#endif
+     }
+
+   /* Recalc if needed the map center && light source */
+   if (ep->param1.description->map.on)
+     {
+        center[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.rot.id_center, &statec1);
+        light[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.id_light, &statel1);
+
+        if (chosen_desc->map.persp_on)
+          {
+             persp[0] = _edje_real_part_state_get(ed, ep, flags, ep->param1.description->map.id_persp, &statep1);
+          }
+     }
+
+   if (ep->param2 && ep->param2->description->map.on)
+     {
+        center[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.rot.id_center, &statec2);
+        light[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.id_light, &statel2);
+
+        if (chosen_desc->map.persp_on)
+          {
+             persp[1] = _edje_real_part_state_get(ed, ep, flags, ep->param2->description->map.id_persp, &statep2);
+          }
+     }
+
+#ifndef EDJE_CALC_CACHE
+   p1 = &lp1;
+#else
+   p1 = &ep->param1.p;
+#endif
+
+   if (ep->param1.description)
+     {
+#ifdef EDJE_CALC_CACHE
+        if (ed->all_part_change ||
+            ep->invalidate ||
+            state1 >= ep->param1.state ||
+            statec >= ep->param1.state ||
+            statec1 >= ep->param1.state ||
+            statel1 >= ep->param1.state ||
+            statep1 >= ep->param1.state ||
+            proxy_invalidate ||
+            state ||
+            ((ep->part->type == EDJE_PART_TYPE_TEXT || ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && ed->text_part_change))
+#endif
+          {
+             _edje_part_recalc_single(ed, ep, ep->param1.description, chosen_desc, center[0], light[0], persp[0],
+                                      ep->param1.rel1_to_x, ep->param1.rel1_to_y, ep->param1.rel2_to_x, ep->param1.rel2_to_y,
+                                      confine_to,
+                                      p1, pos);
+#ifdef EDJE_CALC_CACHE
+             if (flags == FLAG_XY)
+               ep->param1.state = ed->state;
+#endif
+          }
+     }
+   if (ep->param2)
+     {
+        int beginning_pos, part_type;
+        Edje_Calc_Params *p2, *p3;
+
+        if (ep->current)
+          {
+             /* FIXME: except for text, we don't need in that case to recalc p1 at all*/
+             memcpy(p1, ep->current, sizeof (Edje_Calc_Params));
+             p1->x += ed->x;
+             p1->y += ed->y;
+             p1->map.center.x += ed->x;
+             p1->map.center.y += ed->y;
+             p1->map.light.x += ed->x;
+             p1->map.light.y += ed->y;
+             p1->map.persp.x += ed->x;
+             p1->map.persp.y += ed->y;
+          }
+
+        p3 = &lp3;
+
+#ifndef EDJE_CALC_CACHE
+        p2 = &lp2;
+#else
+        p2 = &ep->param2->p;
+
+        if (ed->all_part_change ||
+            ep->invalidate ||
+            state2 >= ep->param2->state ||
+            statec >= ep->param2->state ||
+            statec2 >= ep->param2->state ||
+            statel2 >= ep->param2->state ||
+            statep2 >= ep->param2->state ||
+            proxy_invalidate ||
+            state ||
+            ((ep->part->type == EDJE_PART_TYPE_TEXT || ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) && ed->text_part_change))
+#endif
+          {
+             _edje_part_recalc_single(ed, ep, ep->param2->description,
+                                      chosen_desc,
+                                      center[1], light[1], persp[1],
+                                      ep->param2->rel1_to_x,
+                                      ep->param2->rel1_to_y,
+                                      ep->param2->rel2_to_x,
+                                      ep->param2->rel2_to_y,
+                                      confine_to,
+                                      p2, pos);
+#ifdef EDJE_CALC_CACHE
+             if (flags == FLAG_XY)
+               ep->param2->state = ed->state;
+#endif
+          }
+
+        pos2 = pos;
+        if (pos2 < ZERO) pos2 = ZERO;
+        else if (pos2 > FROM_INT(1)) pos2 = FROM_INT(1);
+        beginning_pos = (pos < FROM_DOUBLE(0.5));
+        part_type = ep->part->type;
+
+        /* visible is special */
+        if ((p1->visible) && (!p2->visible))
+          p3->visible = (pos != FROM_INT(1));
+        else if ((!p1->visible) && (p2->visible))
+          p3->visible = (pos != ZERO);
+        else
+          p3->visible = p1->visible;
+
+        p3->smooth = (beginning_pos) ? p1->smooth : p2->smooth;
+
+        /* FIXME: do x and y separately base on flag */
+#define FINTP(_x1, _x2, _p)                     \
+        (((_x1) == (_x2))                       \
+         ? FROM_INT((_x1))                      \
+         : ADD(FROM_INT(_x1),                   \
+               SCALE((_p), (_x2) - (_x1))))
+
+#define FFP(_x1, _x2, _p)                       \
+        (((_x1) == (_x2))                       \
+         ? (_x1)                                \
+         : ADD(_x1, MUL(_p, SUB(_x2, _x1))));
+
+#define INTP(_x1, _x2, _p) TO_INT(FINTP(_x1, _x2, _p))
+
+        p3->x = INTP(p1->x, p2->x, pos);
+        p3->y = INTP(p1->y, p2->y, pos);
+        p3->w = INTP(p1->w, p2->w, pos);
+        p3->h = INTP(p1->h, p2->h, pos);
+
+        p3->req.x = INTP(p1->req.x, p2->req.x, pos);
+        p3->req.y = INTP(p1->req.y, p2->req.y, pos);
+        p3->req.w = INTP(p1->req.w, p2->req.w, pos);
+        p3->req.h = INTP(p1->req.h, p2->req.h, pos);
+
+        if (ep->part->dragable.x)
+          {
+             p3->req_drag.x = INTP(p1->req_drag.x, p2->req_drag.x, pos);
+             p3->req_drag.w = INTP(p1->req_drag.w, p2->req_drag.w, pos);
+          }
+        if (ep->part->dragable.y)
+          {
+             p3->req_drag.y = INTP(p1->req_drag.y, p2->req_drag.y, pos);
+             p3->req_drag.h = INTP(p1->req_drag.h, p2->req_drag.h, pos);
+          }
+
+        p3->color.r = INTP(p1->color.r, p2->color.r, pos2);
+        p3->color.g = INTP(p1->color.g, p2->color.g, pos2);
+        p3->color.b = INTP(p1->color.b, p2->color.b, pos2);
+        p3->color.a = INTP(p1->color.a, p2->color.a, pos2);
+
+#ifdef HAVE_EPHYSICS
+        p3->physics.mass = TO_DOUBLE(FINTP(p1->physics.mass, p2->physics.mass,
+                                         pos));
+        p3->physics.restitution = TO_DOUBLE(FINTP(p1->physics.restitution,
+                                                  p2->physics.restitution,
+                                                  pos));
+        p3->physics.friction = TO_DOUBLE(FINTP(p1->physics.friction,
+                                               p2->physics.friction, pos));
+        p3->physics.density = TO_DOUBLE(FINTP(p1->physics.density,
+                                              p2->physics.density, pos));
+        p3->physics.hardness = TO_DOUBLE(FINTP(p1->physics.hardness,
+                                               p2->physics.hardness, pos));
+
+        p3->physics.damping.linear = TO_DOUBLE(FINTP(
+              p1->physics.damping.linear, p2->physics.damping.linear, pos));
+        p3->physics.damping.angular = TO_DOUBLE(FINTP(
+              p1->physics.damping.angular, p2->physics.damping.angular, pos));
+
+        p3->physics.sleep.linear = TO_DOUBLE(FINTP(
+              p1->physics.sleep.linear, p2->physics.sleep.linear, pos));
+        p3->physics.sleep.angular = TO_DOUBLE(FINTP(
+              p1->physics.sleep.angular, p2->physics.sleep.angular, pos));
+
+        p3->physics.z = INTP(p1->physics.z, p2->physics.z, pos);
+        p3->physics.depth = INTP(p1->physics.depth, p2->physics.depth, pos);
+
+        if ((p1->physics.ignore_part_pos) && (p2->physics.ignore_part_pos))
+          p3->physics.ignore_part_pos = 1;
+        else
+          p3->physics.ignore_part_pos = 0;
+
+        if ((p1->physics.material) && (p2->physics.material))
+          p3->physics.material = p1->physics.material;
+        else
+          p3->physics.material = EPHYSICS_BODY_MATERIAL_CUSTOM;
+
+        p3->physics.light_on = p1->physics.light_on || p2->physics.light_on;
+        p3->physics.backcull = p1->physics.backcull || p2->physics.backcull;
+
+        p3->physics.mov_freedom.lin.x = p1->physics.mov_freedom.lin.x ||
+           p2->physics.mov_freedom.lin.x;
+        p3->physics.mov_freedom.lin.y = p1->physics.mov_freedom.lin.y ||
+           p2->physics.mov_freedom.lin.y;
+        p3->physics.mov_freedom.lin.z = p1->physics.mov_freedom.lin.z ||
+           p2->physics.mov_freedom.lin.z;
+        p3->physics.mov_freedom.ang.x = p1->physics.mov_freedom.ang.x ||
+           p2->physics.mov_freedom.ang.x;
+        p3->physics.mov_freedom.ang.y = p1->physics.mov_freedom.ang.y ||
+           p2->physics.mov_freedom.ang.y;
+        p3->physics.mov_freedom.ang.z = p1->physics.mov_freedom.ang.z ||
+           p2->physics.mov_freedom.ang.z;
+#endif
+
+        switch (part_type)
+          {
+           case EDJE_PART_TYPE_IMAGE:
+              p3->type.common.spec.image.l = INTP(p1->type.common.spec.image.l, p2->type.common.spec.image.l, pos);
+              p3->type.common.spec.image.r = INTP(p1->type.common.spec.image.r, p2->type.common.spec.image.r, pos);
+              p3->type.common.spec.image.t = INTP(p1->type.common.spec.image.t, p2->type.common.spec.image.t, pos);
+              p3->type.common.spec.image.b = INTP(p1->type.common.spec.image.b, p2->type.common.spec.image.b, pos);
+              p3->type.common.spec.image.border_scale_by = INTP(p1->type.common.spec.image.border_scale_by, p2->type.common.spec.image.border_scale_by, pos);
+           case EDJE_PART_TYPE_PROXY:
+              p3->type.common.fill.x = INTP(p1->type.common.fill.x, p2->type.common.fill.x, pos);
+              p3->type.common.fill.y = INTP(p1->type.common.fill.y, p2->type.common.fill.y, pos);
+              p3->type.common.fill.w = INTP(p1->type.common.fill.w, p2->type.common.fill.w, pos);
+              p3->type.common.fill.h = INTP(p1->type.common.fill.h, p2->type.common.fill.h, pos);
+              break;
+           case EDJE_PART_TYPE_TEXT:
+              p3->type.text.size = INTP(p1->type.text.size, p2->type.text.size, pos);
+           case EDJE_PART_TYPE_TEXTBLOCK:
+              p3->type.text.color2.r = INTP(p1->type.text.color2.r, p2->type.text.color2.r, pos2);
+              p3->type.text.color2.g = INTP(p1->type.text.color2.g, p2->type.text.color2.g, pos2);
+              p3->type.text.color2.b = INTP(p1->type.text.color2.b, p2->type.text.color2.b, pos2);
+              p3->type.text.color2.a = INTP(p1->type.text.color2.a, p2->type.text.color2.a, pos2);
+
+              p3->type.text.color3.r = INTP(p1->type.text.color3.r, p2->type.text.color3.r, pos2);
+              p3->type.text.color3.g = INTP(p1->type.text.color3.g, p2->type.text.color3.g, pos2);
+              p3->type.text.color3.b = INTP(p1->type.text.color3.b, p2->type.text.color3.b, pos2);
+              p3->type.text.color3.a = INTP(p1->type.text.color3.a, p2->type.text.color3.a, pos2);
+
+              p3->type.text.align.x = FFP(p1->type.text.align.x, p2->type.text.align.x, pos);
+              p3->type.text.align.y = FFP(p1->type.text.align.y, p2->type.text.align.y, pos);
+              p3->type.text.elipsis = TO_DOUBLE(FINTP(p1->type.text.elipsis, p2->type.text.elipsis, pos2));
+              break;
+          }
+
+        p3->mapped = p1->mapped;
+        p3->persp_on = p3->mapped ? p1->persp_on | p2->persp_on : 0;
+        p3->lighted = p3->mapped ? p1->lighted | p2->lighted : 0;
+        if (p1->mapped)
+          {
+             p3->map.center.x = INTP(p1->map.center.x, p2->map.center.x, pos);
+             p3->map.center.y = INTP(p1->map.center.y, p2->map.center.y, pos);
+             p3->map.center.z = INTP(p1->map.center.z, p2->map.center.z, pos);
+             p3->map.rotation.x = FFP(p1->map.rotation.x, p2->map.rotation.x, pos);
+             p3->map.rotation.y = FFP(p1->map.rotation.y, p2->map.rotation.y, pos);
+             p3->map.rotation.z = FFP(p1->map.rotation.z, p2->map.rotation.z, pos);
+
+#define MIX(P1, P2, P3, pos, info)              \
+             P3->info = P1->info + TO_INT(SCALE(pos, P2->info - P1->info));
+
+             if (p1->lighted && p2->lighted)
+               {
+                  MIX(p1, p2, p3, pos, map.light.x);
+                  MIX(p1, p2, p3, pos, map.light.y);
+                  MIX(p1, p2, p3, pos, map.light.z);
+                  MIX(p1, p2, p3, pos, map.light.r);
+                  MIX(p1, p2, p3, pos, map.light.g);
+                  MIX(p1, p2, p3, pos, map.light.b);
+                  MIX(p1, p2, p3, pos, map.light.ar);
+                  MIX(p1, p2, p3, pos, map.light.ag);
+                  MIX(p1, p2, p3, pos, map.light.ab);
+               }
+             else if (p1->lighted)
+               {
+                  memcpy(&p3->map.light, &p1->map.light, sizeof (p1->map.light));
+               }
+             else if (p2->lighted)
+               {
+                  memcpy(&p3->map.light, &p2->map.light, sizeof (p2->map.light));
+               }
+
+             if (p1->persp_on && p2->persp_on)
+               {
+                  MIX(p1, p2, p3, pos, map.persp.x);
+                  MIX(p1, p2, p3, pos, map.persp.y);
+                  MIX(p1, p2, p3, pos, map.persp.z);
+                  MIX(p1, p2, p3, pos, map.persp.focal);
+               }
+             else if (p1->persp_on)
+               {
+                  memcpy(&p3->map.persp, &p1->map.persp, sizeof (p1->map.persp));
+               }
+             else if (p2->persp_on)
+               {
+                  memcpy(&p3->map.persp, &p2->map.persp, sizeof (p2->map.persp));
+               }
+          }
+
+        pf = p3;
+     }
+   else
+     {
+        pf = p1;
+     }
+
+   if (!pf->persp_on && chosen_desc->map.persp_on)
+     {
+        if (ed->persp)
+          {
+             pf->map.persp.x = ed->persp->px;
+             pf->map.persp.y = ed->persp->py;
+             pf->map.persp.z = ed->persp->z0;
+             pf->map.persp.focal = ed->persp->foc;
+          }
+        else
+          {
+             const Edje_Perspective *ps;
+
+             // fixme: a tad inefficient as this is a has lookup
+             ps = edje_object_perspective_get(ed->obj);
+             if (!ps)
+               ps = edje_evas_global_perspective_get(evas_object_evas_get(ed->obj));
+             if (ps)
+               {
+                  pf->map.persp.x = ps->px;
+                  pf->map.persp.y = ps->py;
+                  pf->map.persp.z = ps->z0;
+                  pf->map.persp.focal = ps->foc;
+               }
+             else
+               {
+                  pf->map.persp.x = ed->x + (ed->w / 2);
+                  pf->map.persp.y = ed->y + (ed->h / 2);
+                  pf->map.persp.z = 0;
+                  pf->map.persp.focal = 1000;
+               }
+          }
+     }
+
+   if (state)
+     {
+        memcpy(state, pf, sizeof (Edje_Calc_Params));
+     }
+
+   ep->req = pf->req;
+
+   if (ep->drag && ep->drag->need_reset)
+     {
+        FLOAT_T dx, dy;
+
+        dx = ZERO;
+        dy = ZERO;
+        _edje_part_dragable_calc(ed, ep, &dx, &dy);
+        ep->drag->x = dx;
+        ep->drag->y = dy;
+        ep->drag->tmp.x = 0;
+        ep->drag->tmp.y = 0;
+        ep->drag->need_reset = 0;
+     }
+   if (!ed->calc_only)
+     {
+        Evas_Object *mo;
+
+        /* Common move, resize and color_set for all part. */
+        switch (ep->part->type)
+          {
+           case EDJE_PART_TYPE_IMAGE:
+                {
+                   Edje_Part_Description_Image *img_desc = (Edje_Part_Description_Image*) chosen_desc;
+
+                   evas_object_image_scale_hint_set(ep->object,
+                                                    img_desc->image.scale_hint);
+                }
+           case EDJE_PART_TYPE_PROXY:
+           case EDJE_PART_TYPE_RECTANGLE:
+           case EDJE_PART_TYPE_TEXTBLOCK:
+           case EDJE_PART_TYPE_BOX:
+           case EDJE_PART_TYPE_TABLE:
+              evas_object_color_set(ep->object,
+                                    (pf->color.r * pf->color.a) / 255,
+                                    (pf->color.g * pf->color.a) / 255,
+                                    (pf->color.b * pf->color.a) / 255,
+                                    pf->color.a);
+
+#ifdef HAVE_EPHYSICS
+/* body attributes should be updated for invisible objects */
+              if (!ep->part->physics_body)
+                {
+                   if (!pf->visible)
+                     {
+                        evas_object_hide(ep->object);
+                        break;
+                     }
+                   evas_object_show(ep->object);
+                }
+              else if (!pf->visible)
+                {
+                   Evas_Object *face_obj;
+                   Eina_List *l;
+
+                   EINA_LIST_FOREACH(ep->body_faces, l, face_obj)
+                      evas_object_hide(face_obj);
+                   evas_object_hide(ep->object);
+                }
+#else
+              if (!pf->visible)
+                {
+                   evas_object_hide(ep->object);
+                   break;
+                }
+              evas_object_show(ep->object);
+#endif
+              /* move and resize are needed for all previous object => no break here. */
+           case EDJE_PART_TYPE_SWALLOW:
+           case EDJE_PART_TYPE_GROUP:
+           case EDJE_PART_TYPE_EXTERNAL:
+              /* visibility and color have no meaning on SWALLOW and GROUP part. */
+#ifdef HAVE_EPHYSICS
+              eo_do(ep->object,
+                    evas_obj_size_set(pf->w, pf->h));
+              if ((ep->part->physics_body) && (!ep->body))
+                {
+                   if (_edje_physics_world_geometry_check(ep->edje->world))
+                     {
+                        _edje_physics_body_add(ep, ep->edje->world);
+                        _edje_physics_body_props_update(ep, pf, EINA_TRUE);
+                     }
+                }
+              else if (ep->body)
+                {
+                   if (((ep->prev_description) &&
+                        (chosen_desc != ep->prev_description)) ||
+                       (pf != p1))
+                     _edje_physics_body_props_update(
+                        ep, pf, !pf->physics.ignore_part_pos);
+                }
+              else
+                eo_do(ep->object,
+                      evas_obj_position_set(ed->x + pf->x, ed->y + pf->y));
+#else
+             eo_do(ep->object,
+                    evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
+                   evas_obj_size_set(pf->w, pf->h));
+#endif
+
+              if (ep->nested_smart)
+                {  /* Move, Resize all nested parts */
+                   /* Not really needed but will improve the bounding box evaluation done by Evas */
+                  eo_do(ep->nested_smart,
+                        evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
+                        evas_obj_size_set(pf->w, pf->h));
+                }
+              if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+                _edje_entry_real_part_configure(ep);
+              break;
+           case EDJE_PART_TYPE_TEXT:
+              /* This is correctly handle in _edje_text_recalc_apply at the moment. */
+              break;
+           case EDJE_PART_TYPE_GRADIENT:
+              /* FIXME: definitivly remove this code when we switch to new format. */
+              abort();
+              break;
+           case EDJE_PART_TYPE_SPACER:
+              /* We really should do nothing on SPACER part */
+              break;
+          }
+
+        /* Some object need special recalc. */
+        switch (ep->part->type)
+          {
+           case EDJE_PART_TYPE_TEXT:
+              _edje_text_recalc_apply(ed, ep, pf, (Edje_Part_Description_Text*) chosen_desc);
+              break;
+           case EDJE_PART_TYPE_PROXY:
+              _edje_proxy_recalc_apply(ed, ep, pf, (Edje_Part_Description_Proxy*) chosen_desc, pos);
+              break;
+           case EDJE_PART_TYPE_IMAGE:
+              _edje_image_recalc_apply(ed, ep, pf, (Edje_Part_Description_Image*) chosen_desc, pos);
+              break;
+           case EDJE_PART_TYPE_BOX:
+              _edje_box_recalc_apply(ed, ep, pf, (Edje_Part_Description_Box*) chosen_desc);
+              break;
+           case EDJE_PART_TYPE_TABLE:
+              _edje_table_recalc_apply(ed, ep, pf, (Edje_Part_Description_Table*) chosen_desc);
+              break;
+           case EDJE_PART_TYPE_TEXTBLOCK:
+              _edje_textblock_recalc_apply(ed, ep, pf, (Edje_Part_Description_Text*) chosen_desc);
+              break;
+           case EDJE_PART_TYPE_EXTERNAL:
+           case EDJE_PART_TYPE_RECTANGLE:
+           case EDJE_PART_TYPE_SWALLOW:
+           case EDJE_PART_TYPE_GROUP:
+              /* Nothing special to do for this type of object. */
+              break;
+           case EDJE_PART_TYPE_GRADIENT:
+              /* FIXME: definitivly remove this code when we switch to new format. */
+              abort();
+              break;
+           case EDJE_PART_TYPE_SPACER:
+              /* We really should do nothing on SPACER part */
+              break;
+          }
+
+        if (((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+             (ep->typedata.swallow)) &&
+            (ep->typedata.swallow->swallowed_object))
+          {
+             //// the below really is wrong - swallow color shouldn't affect swallowed object
+             //// color - the edje color as a WHOLE should though - and that should be
+             //// done via the clipper anyway. this created bugs when objects had their
+             //// colro set and were swallowed - then had their color changed.
+             //             evas_object_color_set(ep->typedata.swallow->swallowed_object,
+             //                                   (pf->color.r * pf->color.a) / 255,
+             //                                   (pf->color.g * pf->color.a) / 255,
+             //                                   (pf->color.b * pf->color.a) / 255,
+             //                                   pf->color.a);
+             if (pf->visible)
+               {
+                 eo_do(ep->typedata.swallow->swallowed_object,
+                       evas_obj_position_set(ed->x + pf->x, ed->y + pf->y),
+                       evas_obj_size_set(pf->w, pf->h),
+                       evas_obj_visibility_set(EINA_TRUE));
+               }
+             else evas_object_hide(ep->typedata.swallow->swallowed_object);
+             mo = ep->typedata.swallow->swallowed_object;
+          }
+        else mo = ep->object;
+        if (chosen_desc->map.on && ep->part->type != EDJE_PART_TYPE_SPACER)
+          {
+             static Evas_Map *map = NULL;
+
+             ed->have_mapped_part = EINA_TRUE;
+             // create map and populate with part geometry
+             if (!map) map = evas_map_new(4);
+             evas_map_util_points_populate_from_object(map, ep->object);
+             if (ep->part->type == EDJE_PART_TYPE_IMAGE ||
+                 ((ep->part->type == EDJE_PART_TYPE_SWALLOW) &&
+                  (!strcmp(evas_object_type_get(mo), "image") &&
+                  (!evas_object_image_source_get(mo))))
+                )
+               {
+                  int iw = 1, ih = 1;
+
+                  evas_object_image_size_get(mo, &iw, &ih);
+                  evas_map_point_image_uv_set(map, 0, 0.0, 0.0);
+                  evas_map_point_image_uv_set(map, 1, iw , 0.0);
+                  evas_map_point_image_uv_set(map, 2, iw , ih );
+                  evas_map_point_image_uv_set(map, 3, 0.0, ih );
+               }
+             evas_map_util_3d_rotate(map,
+                                     TO_DOUBLE(pf->map.rotation.x),
+                                     TO_DOUBLE(pf->map.rotation.y),
+                                     TO_DOUBLE(pf->map.rotation.z),
+                                     pf->map.center.x, pf->map.center.y,
+                                     pf->map.center.z);
+
+             // calculate light color & position etc. if there is one
+             if (pf->lighted)
+               {
+                  evas_map_util_3d_lighting(map,
+                                            pf->map.light.x, pf->map.light.y, pf->map.light.z,
+                                            pf->map.light.r, pf->map.light.g, pf->map.light.b,
+                                            pf->map.light.ar, pf->map.light.ag, pf->map.light.ab);
+               }
+
+             // calculate perspective point
+             if (chosen_desc->map.persp_on)
+               {
+                  evas_map_util_3d_perspective(map,
+                                               pf->map.persp.x, pf->map.persp.y, pf->map.persp.z,
+                                               pf->map.persp.focal);
+               }
+
+             // handle backface culling (object is facing away from view
+             if (chosen_desc->map.backcull)
+               {
+                  if (pf->visible)
+                    {
+                       if (evas_map_util_clockwise_get(map))
+                         evas_object_show(mo);
+                       else evas_object_hide(mo);
+                    }
+               }
+
+             // handle smooth
+             if (chosen_desc->map.smooth) evas_map_smooth_set(map, 1);
+             else evas_map_smooth_set(map, 0);
+             // handle alpha
+             if (chosen_desc->map.alpha) evas_map_alpha_set(map, 1);
+             else evas_map_alpha_set(map, 0);
+
+
+             if (ep->nested_smart)
+               {  /* Apply map to smart obj holding nested parts */
+                 eo_do(ep->nested_smart,
+                       evas_obj_map_set(map),
+                       evas_obj_map_enable_set(1));
+               }
+             else
+               {
+                  if (mo)
+                    eo_do(mo,
+                          evas_obj_map_set(map),
+                          evas_obj_map_enable_set(1));
+               }
+          }
+        else
+          {
+             if (ep->nested_smart)
+               {  /* Cancel map of smart obj holding nested parts */
+                 eo_do(ep->nested_smart,
+                       evas_obj_map_enable_set(0),
+                       evas_obj_map_set(NULL));
+               }
+             else
+               {
+#ifdef HAVE_EPHYSICS
+                  if (!ep->body)
+                    {
+#endif
+                       if (mo)
+                         eo_do(mo,
+                               evas_obj_map_enable_set(0),
+                               evas_obj_map_set(NULL));
+#ifdef HAVE_EPHYSICS
+                    }
+#endif
+               }
+          }
+     }
+
+#ifdef HAVE_EPHYSICS
+   ep->prev_description = chosen_desc;
+   if (!ep->body)
+     {
+#endif
+   ep->x = pf->x;
+   ep->y = pf->y;
+   ep->w = pf->w;
+   ep->h = pf->h;
+#ifdef HAVE_EPHYSICS
+     }
+#endif
+
+   ep->calculated |= flags;
+   ep->calculating = FLAG_NONE;
+
+#ifdef EDJE_CALC_CACHE
+   if (ep->calculated == FLAG_XY)
+     {
+        ep->state = ed->state;
+        ep->invalidate = 0;
+     }
+#endif
+}
diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
new file mode 100644 (file)
index 0000000..b61da46
--- /dev/null
@@ -0,0 +1,499 @@
+#include "edje_private.h"
+
+static void
+_edje_hold_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Hold *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if (!rp) return;
+   if (ev->hold)
+     _edje_emit(ed, "hold,on", rp->part->name);
+   else
+     _edje_emit(ed, "hold,off", rp->part->name);
+}
+
+static void
+_edje_focus_in_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if ((!rp) || (!ed))
+     return;
+
+   _edje_emit(ed, "focus,part,in", rp->part->name);
+}
+
+static void
+_edje_focus_out_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if ((!rp) || (!ed))
+     return;
+
+   _edje_emit(ed, "focus,part,out", rp->part->name);
+}
+
+static void
+_edje_mouse_in_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_In *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if ((!rp) ||
+       ((ev->event_flags) &&
+       (rp->part->ignore_flags & ev->event_flags))) return;
+   _edje_emit(ed, "mouse,in", rp->part->name);
+}
+
+static void
+_edje_mouse_out_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Out *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if ((!rp) ||
+       ((ev->event_flags) &&
+       (rp->part->ignore_flags & ev->event_flags))) return;
+   _edje_emit(ed, "mouse,out", rp->part->name);
+}
+
+static void
+_edje_mouse_down_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Down *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+   char buf[256];
+   int ignored;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if (!rp) return;
+
+   ignored = rp->part->ignore_flags & ev->event_flags;
+
+   _edje_ref(ed);
+   _edje_freeze(ed);
+
+   if ((!ev->event_flags) || (!ignored))
+     {
+       if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
+         snprintf(buf, sizeof(buf), "mouse,down,%i,triple", ev->button);
+       else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
+         snprintf(buf, sizeof(buf), "mouse,down,%i,double", ev->button);
+       else
+         snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
+       _edje_emit(ed, buf, rp->part->name);
+     }
+
+   if (rp->events_to)
+     {
+        rp = rp->events_to;
+        if (!ignored)
+          {
+             snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
+             _edje_emit(ed, buf, rp->part->name);
+          }
+     }
+
+   if (rp->drag)
+     {
+       if (rp->drag->down.count == 0)
+         {
+            if (rp->part->dragable.x)
+              rp->drag->down.x = ev->canvas.x;
+            if (rp->part->dragable.y)
+              rp->drag->down.y = ev->canvas.y;
+            if (!ignored)
+              _edje_emit(ed, "drag,start", rp->part->name);
+         }
+       rp->drag->down.count++;
+     }
+
+   if (rp->clicked_button == 0)
+     {
+       rp->clicked_button = ev->button;
+        if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
+         rp->still_in = 1;
+     }
+//   _edje_recalc_do(ed);
+   _edje_thaw(ed);
+   _edje_unref(ed);
+}
+
+static void
+_edje_mouse_up_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Up *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+   char buf[256];
+   int ignored;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if (!rp) return;
+
+   ignored = rp->part->ignore_flags & ev->event_flags;
+
+   _edje_ref(ed);
+   _edje_freeze(ed);
+
+   if ((!ev->event_flags) || (!ignored))
+     {
+       snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
+       _edje_emit(ed, buf, rp->part->name);
+     }
+
+   if (rp->events_to)
+     {
+       rp = rp->events_to;
+       if (!ignored)
+         {
+            snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
+            _edje_emit(ed, buf, rp->part->name);
+         }
+     }
+
+   if (rp->drag)
+     {
+       if (rp->drag->down.count > 0)
+         {
+            rp->drag->down.count--;
+            if (rp->drag->down.count == 0)
+              {
+                 rp->drag->need_reset = 1;
+                  ed->recalc_call = EINA_TRUE;
+                 ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 if (!ignored)
+                   _edje_emit(ed, "drag,stop", rp->part->name);
+              }
+         }
+     }
+
+   if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
+     {
+       snprintf(buf, sizeof(buf), "mouse,clicked,%i", ev->button);
+       _edje_emit(ed, buf, rp->part->name);
+     }
+   rp->clicked_button = 0;
+   rp->still_in = 0;
+
+//   _edje_recalc_do(ed);
+   _edje_thaw(ed);
+   _edje_unref(ed);
+}
+
+static void
+_edje_mouse_move_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Move *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+   int ignored;
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if (!rp) return;
+   if (rp->events_to) rp = rp->events_to;
+
+   ignored = rp->part->ignore_flags & ev->event_flags;
+
+   _edje_ref(ed);
+   if ((!ev->event_flags) || (!ignored))
+     _edje_emit(ed, "mouse,move", rp->part->name);
+
+   if (rp->still_in)
+     {
+
+        if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
+          rp->still_in = 0;
+        else
+          {
+            Evas_Coord x, y, w, h;
+            
+            evas_object_geometry_get(obj, &x, &y, &w, &h);
+            if ((ev->cur.canvas.x < x) || (ev->cur.canvas.y < y) ||
+                (ev->cur.canvas.x >= (x + w)) || (ev->cur.canvas.y >= (y + h)))
+              rp->still_in = 0;
+          }
+     }
+   else
+     {
+        if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
+          {
+            Evas_Coord x, y, w, h;
+
+            evas_object_geometry_get(obj, &x, &y, &w, &h);
+            if ((ev->cur.canvas.x >= x) && (ev->cur.canvas.y >= y) &&
+                (ev->cur.canvas.x < (x + w)) && (ev->cur.canvas.y < (y + h)))
+              rp->still_in = 1;
+          }
+     }
+   _edje_freeze(ed);
+   if (rp->drag)
+     {
+       if (rp->drag->down.count > 0)
+         {
+            if (rp->part->dragable.x)
+              rp->drag->tmp.x = ev->cur.canvas.x - rp->drag->down.x;
+            if (rp->part->dragable.y)
+              rp->drag->tmp.y = ev->cur.canvas.y - rp->drag->down.y;
+             ed->recalc_call = EINA_TRUE;
+            ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+            rp->invalidate = 1;
+#endif
+         }
+       _edje_recalc_do(ed);
+
+       if (rp->drag->down.count > 0)
+         {
+            FLOAT_T dx, dy;
+
+            _edje_part_dragable_calc(ed, rp, &dx, &dy);
+            if ((dx != rp->drag->val.x) || (dy != rp->drag->val.y))
+              {
+                 rp->drag->val.x = dx;
+                 rp->drag->val.y = dy;
+                 if (!ignored)
+                   _edje_emit(ed, "drag", rp->part->name);
+                  ed->recalc_call = EINA_TRUE;
+                 ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 _edje_recalc_do(ed);
+              }
+         }
+     }
+   _edje_unref(ed);
+   _edje_thaw(ed);
+}
+
+static void
+_edje_mouse_wheel_signal_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Mouse_Wheel *ev;
+   Edje *ed;
+   Edje_Real_Part *rp;
+   char buf[256];
+
+   ev = event_info;
+   ed = data;
+   rp = evas_object_data_get(obj, "real_part");
+   if ((!rp) || 
+       ((ev->event_flags) && 
+       (!(rp->part->ignore_flags & ev->event_flags)))) return;
+
+   snprintf(buf, sizeof(buf), "mouse,wheel,%i,%i", ev->direction, (ev->z < 0) ? (-1) : (1));
+   _edje_emit(ed, buf, rp->part->name);
+}
+
+Eina_Bool
+_edje_timer_cb(void *data EINA_UNUSED)
+{
+   double t;
+   Eina_List *l;
+   Eina_List *animl = NULL;
+   Edje *ed;
+
+   t = ecore_loop_time_get();
+   EINA_LIST_FOREACH(_edje_animators, l, ed)
+     {
+       _edje_ref(ed);
+       animl = eina_list_append(animl, ed);
+     }
+   while (animl)
+     {
+       Eina_List *newl = NULL;
+
+       ed = eina_list_data_get(animl);
+       _edje_block(ed);
+       _edje_freeze(ed);
+       animl = eina_list_remove(animl, eina_list_data_get(animl));
+       if ((!ed->paused) && (!ed->delete_me))
+         {
+            const void *tmp;
+
+            ed->walking_actions = EINA_TRUE;
+            EINA_LIST_FOREACH(ed->actions, l, tmp)
+              newl = eina_list_append(newl, tmp);
+            while (newl)
+              {
+                 Edje_Running_Program *runp;
+
+                 runp = eina_list_data_get(newl);
+                 newl = eina_list_remove(newl, eina_list_data_get(newl));
+                 if (!runp->delete_me)
+                   _edje_program_run_iterate(runp, t);
+                 if (_edje_block_break(ed))
+                   {
+                      eina_list_free(newl);
+                      newl = NULL;
+                      goto break_prog;
+                   }
+              }
+            EINA_LIST_FOREACH(ed->actions, l, tmp)
+              newl = eina_list_append(newl, tmp);
+            while (newl)
+              {
+                 Edje_Running_Program *runp;
+
+                 runp = eina_list_data_get(newl);
+                 newl = eina_list_remove(newl, eina_list_data_get(newl));
+                 if (runp->delete_me)
+                   {
+                      _edje_anim_count--;
+                      runp->edje->actions =
+                        eina_list_remove(runp->edje->actions, runp);
+                      if (!runp->edje->actions)
+                        _edje_animators =
+                        eina_list_remove(_edje_animators, runp->edje);
+                      free(runp);
+                   }
+              }
+            ed->walking_actions = EINA_FALSE;
+         }
+       break_prog:
+       _edje_unblock(ed);
+       _edje_thaw(ed);
+       _edje_unref(ed);
+     }
+   if (_edje_anim_count > 0) return ECORE_CALLBACK_RENEW;
+   _edje_timer = NULL;
+   return ECORE_CALLBACK_CANCEL;
+}
+
+Eina_Bool
+_edje_pending_timer_cb(void *data)
+{
+   Edje_Pending_Program *pp;
+
+   pp = data;
+   pp->edje->pending_actions = eina_list_remove(pp->edje->pending_actions, pp);
+   _edje_program_run(pp->edje, pp->program, 1, "", "");
+   free(pp);
+   return ECORE_CALLBACK_CANCEL;
+}
+
+void
+_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
+{
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_HOLD,
+                                  _edje_hold_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_IN,
+                                  _edje_mouse_in_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_OUT,
+                                  _edje_mouse_out_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_DOWN,
+                                  _edje_mouse_down_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_UP,
+                                  _edje_mouse_up_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_MOVE,
+                                  _edje_mouse_move_signal_cb,
+                                  ed);
+   evas_object_event_callback_add(obj,
+                                  EVAS_CALLBACK_MOUSE_WHEEL,
+                                  _edje_mouse_wheel_signal_cb,
+                                  ed);
+   evas_object_data_set(obj, "real_part", rp);
+}
+
+void
+_edje_callbacks_del(Evas_Object *obj, Edje *ed)
+{
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_HOLD,
+                                      _edje_hold_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_IN,
+                                      _edje_mouse_in_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_OUT,
+                                      _edje_mouse_out_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_DOWN,
+                                      _edje_mouse_down_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_UP,
+                                      _edje_mouse_up_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_MOVE,
+                                      _edje_mouse_move_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_MOUSE_WHEEL,
+                                      _edje_mouse_wheel_signal_cb,
+                                      ed);
+   evas_object_data_del(obj, "real_part");
+}
+
+void
+_edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
+{
+   evas_object_event_callback_add(obj,
+                                 EVAS_CALLBACK_FOCUS_IN,
+                                 _edje_focus_in_signal_cb,
+                                 ed);
+   evas_object_event_callback_add(obj,
+                                 EVAS_CALLBACK_FOCUS_OUT,
+                                 _edje_focus_out_signal_cb,
+                                 ed);
+   evas_object_data_set(obj, "real_part", rp);
+}
+
+void
+_edje_callbacks_focus_del(Evas_Object *obj, Edje *ed)
+{
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_FOCUS_IN,
+                                      _edje_focus_in_signal_cb,
+                                      ed);
+   evas_object_event_callback_del_full(obj,
+                                      EVAS_CALLBACK_FOCUS_OUT,
+                                      _edje_focus_out_signal_cb,
+                                      ed);
+}
diff --git a/src/lib/edje/edje_container.c b/src/lib/edje/edje_container.c
new file mode 100644 (file)
index 0000000..8a9ff71
--- /dev/null
@@ -0,0 +1,955 @@
+#include "edje_private.h"
+#include "edje_container.h"
+
+#if 0
+
+static void
+_edje_container_relayout(Smart_Data *sd)
+{
+   Eina_List *l;
+   Evas_Coord x, y, w, h, sw;
+   Edje_Item *ei;
+
+   if (sd->freeze > 0) return;
+   if (!sd->need_layout) return;
+
+   if (sd->w < sd->min_w) sw = sd->min_w;
+   else if (sd->w > sd->max_w) sw = sd->max_w;
+   else sw = sd->w;
+
+   y = 0;
+   x = 0;
+   w = 0;
+   h = 0;
+
+   EINA_LIST_FOREACH(sd->children, l, ei)
+     {
+       if (sd->homogenous) h = sd->min_row_h;
+
+       ei->y = y;
+       ei->h = h;
+//     ei->w = w;
+//     ei->h = h;
+     }
+
+   sd->need_layout = 0;
+}
+
+static void
+_edje_container_recalc(Smart_Data *sd)
+{
+   Eina_List *l;
+   Edje_Item *ei;
+   int any_max_h = 0, any_max_w = 0;
+   int i;
+
+   if (sd->freeze > 0) return;
+   if (!sd->changed) return;
+
+   sd->min_h = 0;
+   sd->max_h = -1;
+   sd->min_w = 0;
+   sd->max_w = -1;
+   sd->min_row_h = 0;
+   sd->max_row_h = -1;
+   sd->contents_h = 0;
+   sd->contents_w = 0;
+
+   for (i = 0; i < sd->cols; i++)
+     {
+       sd->min_w += sd->colinfo[i].minw;
+       if (sd->colinfo[i].maxw >= 0)
+         {
+            if (sd->max_w >= 0)
+              sd->max_w += sd->colinfo[i].maxw;
+            else
+              sd->max_w = sd->colinfo[i].maxw;
+         }
+       else
+         any_max_w = 1;
+     }
+   if (any_max_w) sd->max_w = -1;
+
+   if (sd->w < sd->min_w)
+     sd->contents_w = sd->min_w;
+   else if ((sd->max_w >= 0) && (sd->w < sd->max_w))
+     sd->w = sd->max_w;
+
+   EINA_LIST_FOREACH(sd->children, l, ei)
+     {
+       if (ei->minh > sd->min_row_h)
+         sd->min_row_h = ei->minh;
+       if (sd->max_row_h >= 0)
+         {
+            if (ei->maxh >= 0)
+              {
+                 if (sd->max_row_h > ei->maxh)
+                   sd->max_row_h = ei->maxh;
+              }
+            else
+              any_max_h = 1;
+         }
+       sd->min_h += ei->minh;
+       if (ei->maxh >= 0)
+         {
+            if (sd->max_h >= 0)
+              sd->max_h += ei->maxh;
+            else
+              sd->max_h = ei->maxh;
+         }
+       else
+         any_max_h = 1;
+     }
+   if (any_max_h)
+     {
+       sd->max_h = -1;
+       sd->max_row_h = -1;
+     }
+   if (sd->homogenous)
+     {
+       sd->min_h = eina_list_count(sd->children) * sd->min_row_h;
+     }
+
+   sd->changed = 0;
+   sd->change_child = 0;
+   sd->change_child_list = 0;
+   sd->change_cols = 0;
+
+   sd->need_layout = 1;
+   _edje_container_relayout(sd);
+}
+
+static void
+_edje_item_recalc(Edje_Item *ei)
+{
+   int i;
+
+   if (ei->freeze > 0) return;
+   if (!ei->recalc) return;
+   if (!ei->sd) return;
+
+   ei->minh = 0;
+   ei->maxh = -1;
+   for (i = 0; i < ((Smart_Data *)(ei->sd))->cols; i++)
+     {
+       if (ei->cells[i].minh > ei->minh) ei->minh = ei->cells[i].minh;
+       if (ei->cells[i].maxh >= 0)
+         {
+            if (ei->maxh >= 0)
+              {
+                 if (ei->cells[i].maxh < ei->maxh)
+                   ei->maxh = ei->cells[i].maxh;
+              }
+            else
+              ei->maxh = ei->cells[i].maxh;
+         }
+       if (((Smart_Data *)(ei->sd))->colinfo[i].minw < ei->cells[i].minw)
+         ((Smart_Data *)(ei->sd))->colinfo[i].minw = ei->cells[i].minw;
+       if (((Smart_Data *)(ei->sd))->colinfo[i].maxw >= 0)
+         {
+            if (ei->cells[i].maxw >= 0)
+              {
+                 if (((Smart_Data *)(ei->sd))->colinfo[i].maxw > ei->cells[i].maxw)
+                   ((Smart_Data *)(ei->sd))->colinfo[i].maxw = ei->cells[i].maxw;
+              }
+         }
+       else
+         ((Smart_Data *)(ei->sd))->colinfo[i].maxw = ei->cells[i].maxw;
+     }
+
+   ei->recalc = EINA_FALSE;
+
+   _edje_container_recalc(ei->sd);
+}
+
+
+/*****************************/
+/**
+ * @endcond
+ */
+
+/*============================================================================*
+ *                                 Global                                     *
+ *============================================================================*/
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_container_Group Container
+ *
+ * @brief These functions provides an abstraction layer between the application
+ * code and the interface, while allowing extremely flexible dynamic layouts
+ * and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
+
+/**
+ * @brief Create an edje item.
+ *
+ * @param cl The edje item of type Edje_Item_Class.
+ * @param data The edje item data.
+ *
+ * @return The new edje item created.
+ *
+ * This function creates an new edje item. The edje item data can be
+ * retrieved with edje_item_data_get().
+ *
+ * @see edje_item_del()
+ * @see edje_item_data_set()
+ * @see edje_item_data_get()
+ *
+ */
+
+Edje_Item *
+edje_item_add(Edje_Item_Class *cl, void *data)
+{
+   Edje_Item *ei;
+
+   ei = calloc(sizeof(Edje_Item), 1);
+
+   ei->class = cl;
+   ei->class_data = data;
+
+   return ei;
+}
+
+/**
+ * @brief Delete an edje item.
+ *
+ * @param ei The edje item to be deleted.
+ *
+ * This function deletes the edje item from memory.
+ *
+ * @see edje_item_add()
+ * @see edje_item_data_set()
+ * @see edje_item_data_get()
+ *
+ */
+
+void
+edje_item_del(Edje_Item *ei)
+{
+   Smart_Data *sd;
+
+   sd = ei->sd;
+   if (ei->object) evas_object_del(ei->object);
+   if (ei->overlay_object) evas_object_del(ei->overlay_object);
+   free(ei);
+   if (!sd) return;
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   _edje_container_recalc(sd);
+}
+
+/**
+ * @brief Return the smart object of the edje item.
+ *
+ * @param ei The edje item which the smart object of type Evas_Object is get
+ * from.
+ *
+ * This function returns the smart object in the edje item.
+ *
+ */
+
+Evas_Object *
+edje_item_container_get(Edje_Item *ei)
+{
+   if (!ei->sd) return NULL;
+   return ((Smart_Data *)(ei->sd))->smart_obj;
+}
+
+/* an arbitrary data pointer to use to track other data */
+/**
+ * @brief Set the edje item data.
+ *
+ * @param ei The edje item of type Edje_Item_Class.
+ * @param data The edje item data.
+ *
+ * This function set the data of the edje item. The edje item data can be
+ * retrieved with edje_item_data_get().
+ *
+ * @see edje_item_add()
+ * @see edje_item_del()
+ * @see edje_item_data_get()
+ *
+ */
+
+void
+edje_item_data_set(Edje_Item *ei, void *data)
+{
+   ei->data = data;
+}
+
+/**
+ * @brief Get the data of the edje item.
+ *
+ * @param ei The edje item of type Edje_Item_Class.
+ *
+ * This function get the data of the edje item set by edje_item_data_set().
+ *
+ * @see edje_item_data_set()
+ * @see edje_item_add()
+ * @see edje_item_del()
+ *
+ */
+
+void *
+edje_item_data_get(Edje_Item *ei)
+{
+   return ei->data;
+}
+
+/* this object covers the entire item */
+
+void
+edje_item_overlay_object_set(Edje_Item *ei, Evas_Object *obj)
+{
+   if (ei->overlay_object)
+     {
+       /* FIXME: if it changed - remove...*/
+     }
+   ei->overlay_object = obj;
+   if (ei->sd)
+     evas_object_smart_member_add(((Smart_Data *)(ei->sd))->smart_obj, obj);
+}
+
+
+
+Evas_Object *
+edje_item_overlay_object_get(Edje_Item *ei)
+{
+   return ei->overlay_object;
+}
+
+/* this object goes under entire item */
+void
+edje_item_object_set(Edje_Item *ei, Evas_Object *obj)
+{
+   if (ei->object)
+     {
+       /* FIXME: if it changed - remove...*/
+     }
+   ei->object = obj;
+   if (ei->sd)
+     evas_object_smart_member_add(((Smart_Data *)(ei->sd))->smart_obj, obj);
+}
+
+Evas_Object *
+edje_item_object_get(Edje_Item *ei)
+{
+   return ei->object;
+}
+
+/* optionally you can manage each column's object yourself OR let Edje do it */
+void
+edje_item_object_column_set(Edje_Item *ei, int col, Evas_Object *obj)
+{
+   if (ei->cells_num <= (col + 1))
+     {
+       /* FIXME: unsafe realloc */
+       ei->cells = realloc(ei->cells, sizeof(Edje_Item_Cell) * col);
+       ei->cells_num = col + 1;
+     }
+   ei->cells[col].obj = obj;
+}
+
+Evas_Object *
+edje_item_object_column_get(Edje_Item *ei, int col)
+{
+   if (ei->cells_num <= (col + 1)) return NULL;
+   return ei->cells[col].obj;
+}
+
+/* query the item for the items preferred co-ords */
+void
+edje_item_geometry_get(Edje_Item *ei, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+{
+   if (!ei->sd)
+     {
+       if (x) *x = 0;
+       if (y) *y = 0;
+       if (w) *w = 0;
+       if (h) *h = 0;
+       return;
+     }
+   if (x) *x = ((Smart_Data *)(ei->sd))->x;
+   if (y) *y = ((Smart_Data *)(ei->sd))->y + ei->y;
+   if (w) *w = ((Smart_Data *)(ei->sd))->w;
+   if (h) *h = ei->h;
+}
+
+/* freeze and thaw items if u are about to do a bunch of changes */
+int
+edje_item_freeze(Edje_Item *ei)
+{
+   ei->freeze++;
+   return ei->freeze;
+}
+
+int
+edje_item_thaw(Edje_Item *ei)
+{
+   ei->freeze--;
+   if (ei->freeze > 0) return ei->freeze;
+   if (!ei->sd) return ei->freeze;
+   if (ei->recalc) _edje_item_recalc(ei);
+   return ei->freeze;
+}
+
+/* column info */
+void
+edje_item_column_size_set(Edje_Item *ei, int col, Evas_Coord minw, Evas_Coord maxw, Evas_Coord minh, Evas_Coord maxh)
+{
+   if (ei->cells_num <= (col + 1))
+     {
+       /* FIXME: unsafe realloc */
+       ei->cells = realloc(ei->cells, sizeof(Edje_Item_Cell) * col);
+       ei->cells_num = col + 1;
+     }
+   if ((ei->cells[col].minw == minw) &&
+       (ei->cells[col].minh == minh) &&
+       (ei->cells[col].maxw == maxw) &&
+       (ei->cells[col].maxh == maxh)) return;
+   ei->cells[col].minh = minh;
+   ei->cells[col].maxh = maxh;
+   ei->cells[col].minw = minw;
+   ei->cells[col].maxw = maxw;
+   ei->recalc = EINA_TRUE;
+   if (ei->sd)
+     {
+       ((Smart_Data *)(ei->sd))->changed = 1;
+       ((Smart_Data *)(ei->sd))->change_child = 1;
+     }
+   _edje_item_recalc(ei);
+}
+
+void
+edje_item_column_size_get(Edje_Item *ei, int col, Evas_Coord *minw, Evas_Coord *maxw, Evas_Coord *minh, Evas_Coord *maxh)
+{
+   if (ei->cells_num <= (col + 1))
+     {
+       if (minw) *minw = 0;
+       if (minh) *minh = 0;
+       if (maxw) *maxw = -1;
+       if (maxh) *maxh = -1;
+     }
+   if (minw) *minw = ei->cells[col].minw;
+   if (minh) *minh = ei->cells[col].minh;
+   if (maxw) *maxw = ei->cells[col].maxw;
+   if (maxh) *maxh = ei->cells[col].maxh;
+}
+
+/* selection stuff */
+void
+edje_item_select(Edje_Item *ei)
+{
+   ei->selected = 1;
+   /* FIXME: trigger item to change visually */
+}
+
+void
+edje_item_unselect(Edje_Item *ei)
+{
+   ei->selected = 0;
+   /* FIXME: trigger item to change visually */
+}
+
+/* focus stuff - only 1 can be focuesd */
+void
+edje_item_focus(Edje_Item *ei)
+{
+//   ei->focused = 1;
+}
+
+void
+edje_item_unfocus(Edje_Item *ei)
+{
+//   ei->focused = 0;
+}
+
+/* disable/enable stuff - stops focus and selection working on these items */
+void
+edje_item_enable(Edje_Item *ei)
+{
+//   ei->disabled = 0;
+}
+
+void
+edje_item_disable(Edje_Item *ei)
+{
+//   ei->disabled = 1;
+}
+
+/* item utils */
+int
+edje_item_selected_get(Edje_Item *ei)
+{
+   return ei->selected;
+}
+
+int
+edje_item_focused_get(Edje_Item *ei)
+{
+   return ei->focused;
+}
+
+int
+edje_item_disabled_get(Edje_Item *ei)
+{
+   return ei->disabled;
+}
+
+/***** container calls *****/
+
+int
+edje_container_freeze(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
+   sd->freeze++;
+   return sd->freeze;
+}
+
+int
+edje_container_thaw(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
+   sd->freeze--;
+   if (sd->freeze <= 0) _edje_container_recalc(sd);
+   return sd->freeze;
+}
+
+void
+edje_container_item_append(Evas_Object *obj, Edje_Item *ei)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->children = eina_list_append(sd->children, ei);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_item_prepend(Evas_Object *obj, Edje_Item *ei)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->children = eina_list_prepend(sd->children, ei);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_item_append_relative(Evas_Object *obj, Edje_Item *ei, Edje_Item *rel)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->children = eina_list_append_relative(sd->children, ei, rel);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_item_prepend_relative(Evas_Object *obj, Edje_Item *ei, Edje_Item *rel)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->children = eina_list_prepend_relative(sd->children, ei, rel);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_item_insert(Evas_Object *obj, Edje_Item *ei, int n)
+{
+   Smart_Data *sd;
+   void *rel;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   rel = eina_list_nth(sd->children, n);
+   if (!rel)
+     sd->children = eina_list_append(sd->children, ei);
+   else
+     sd->children = eina_list_append_relative(sd->children, ei, rel);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_item_remove(Evas_Object *obj, Edje_Item *ei)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->children = eina_list_remove(sd->children, ei);
+   sd->changed = 1;
+   sd->change_child_list = 1;
+   sd->rows = eina_list_count(sd->children);
+   _edje_container_recalc(sd);
+}
+
+void
+edje_container_columns_set(Evas_Object *obj, int cols)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (sd->cols == cols) return;
+   sd->colinfo = realloc(sd->colinfo, cols * sizeof(Smart_Data_Colinfo));
+   if (cols > sd->cols)
+     {
+       int i;
+
+       for (i = sd->cols; i < cols; i++)
+         {
+            sd->colinfo[i].minw = 0;
+            sd->colinfo[i].maxw = -1;
+         }
+     }
+   sd->cols = cols;
+   sd->changed = 1;
+   sd->change_cols = 1;
+   _edje_container_recalc(sd);
+}
+
+int
+edje_container_columns_get(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
+   return sd->cols;
+}
+
+void
+edje_container_min_size_get(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (sd->changed)
+     {
+       int freeze;
+
+       freeze = sd->freeze;
+       sd->freeze = 0;
+       _edje_container_recalc(sd);
+       sd->freeze = freeze;
+     }
+   if (minw) *minw = sd->min_w;
+   if (minh) *minh = sd->min_h;
+}
+
+void
+edje_container_max_size_get(Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (sd->changed)
+     {
+       int freeze;
+
+       freeze = sd->freeze;
+       sd->freeze = 0;
+       _edje_container_recalc(sd);
+       sd->freeze = freeze;
+     }
+   if (maxw) *maxw = sd->max_w;
+   if (maxh) *maxh = sd->max_h;
+}
+
+void
+edje_containter_align_set(Evas_Object *obj, double halign, double valign)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if ((sd->align_x == halign) && (sd->align_y == valign)) return;
+   sd->align_x = halign;
+   sd->align_y = valign;
+   sd->need_layout = 1;
+   _edje_container_relayout(sd);
+}
+
+void
+edje_container_align_get(Evas_Object *obj, double *halign, double *valign)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (halign) *halign = sd->align_x;
+   if (valign) *valign = sd->align_y;
+}
+
+int
+edje_container_count_get(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
+   return eina_list_count(sd->children);
+}
+
+Edje_Item *
+edje_container_item_first_get(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
+   if (!sd->children) return NULL;
+   return eina_list_data_get(sd->children);
+}
+
+Edje_Item *
+edje_container_item_last_get(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
+   if (!sd->children) return NULL;
+   return0 eina_list_data_get(eina_list_last(sd->children));
+}
+
+Edje_Item *
+edje_container_item_nth_get(Evas_Object *obj, int n)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
+   return eina_list_nth(sd->children, n);
+}
+
+void
+edje_container_homogenous_size_set(Evas_Object *obj, int homog)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (((homog) && (sd->homogenous)) ||
+       ((!homog) && (!sd->homogenous))) return;
+   sd->homogenous = homog;
+   sd->changed = 1;
+   sd->change_child = 1;
+   _edje_container_recalc(sd);
+}
+
+int
+edje_container_homogenous_size_get(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
+   return sd->homogenous;
+}
+
+void
+edje_container_scroll_set(Evas_Object *obj, double pos, double shift)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if ((sd->scroll_y == pos) && (sd->scroll_x == shift)) return;
+   sd->scroll_y = pos;
+   sd->scroll_x = shift;
+   sd->need_layout = 1;
+   _edje_container_relayout(sd);
+}
+
+void
+edje_container_scroll_get(Evas_Object *obj, double *pos, double *shift)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (pos) *pos = sd->scroll_y;
+   if (shift) *shift = sd->scroll_x;
+}
+
+static void _smart_init(void);
+static void _smart_add(Evas_Object * obj);
+static void _smart_del(Evas_Object * obj);
+static void _smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y);
+static void _smart_resize(Evas_Object * obj, Evas_Coord w, Evas_Coord h);
+static void _smart_show(Evas_Object * obj);
+static void _smart_hide(Evas_Object * obj);
+static void _smart_color_set(Evas_Object * obj, int r, int g, int b, int a);
+static void _smart_clip_set(Evas_Object * obj, Evas_Object * clip);
+static void _smart_clip_unset(Evas_Object * obj);
+
+static Evas_Smart  *smart = NULL;
+
+Evas_Object *
+edje_container_object_add(Evas *evas)
+{
+   _smart_init();
+   return evas_object_smart_add(evas, smart);
+}
+
+/*******************************************/
+/* Internal smart object required routines */
+/*******************************************/
+static void
+_smart_init(void)
+{
+   if (smart) return;
+     {
+       static const Evas_Smart_Class sc =
+         {
+            E_OBJ_NAME,
+              _smart_add,
+              _smart_del,
+              _smart_move,
+              _smart_resize,
+              _smart_show,
+              _smart_hide,
+              _smart_color_set,
+              _smart_clip_set,
+              _smart_clip_unset,
+              NULL,
+              NULL,
+              NULL
+         };
+        smart = evas_smart_class_new(&sc);
+     }
+}
+
+static void
+_smart_add(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = calloc(1, sizeof(Smart_Data));
+   if (!sd) return;
+//   evas_object_smart_member_add(sd->obj, obj);
+   evas_object_smart_data_set(obj, sd);
+   sd->smart_obj = obj;
+}
+
+static void
+_smart_del(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   if (sd->colinfo) free(sd->colinfo);
+//   evas_object_del(sd->obj);
+   free(sd);
+}
+
+static void
+_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_move(sd->obj, x, y);
+}
+
+static void
+_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_resize(sd->obj, w, h);
+}
+
+static void
+_smart_show(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_show(sd->obj);
+}
+
+static void
+_smart_hide(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_hide(sd->obj);
+}
+
+static void
+_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_color_set(sd->obj, r, g, b, a);
+}
+
+static void
+_smart_clip_set(Evas_Object *obj, Evas_Object *clip)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_clip_set(sd->obj, clip);
+}
+
+static void
+_smart_clip_unset(Evas_Object *obj)
+{
+   Smart_Data *sd;
+
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+//   evas_object_clip_unset(sd->obj);
+}
+
+#endif
diff --git a/src/lib/edje/edje_container.h b/src/lib/edje/edje_container.h
new file mode 100644 (file)
index 0000000..0fba62c
--- /dev/null
@@ -0,0 +1,165 @@
+#include "edje_private.h"
+
+
+#define E_SMART_OBJ_GET(smart, o, type) \
+     { \
+       char *_e_smart_str; \
+       \
+       if (!o) return; \
+       smart = evas_object_smart_data_get(o); \
+       if (!smart) return; \
+       _e_smart_str = (char *)evas_object_type_get(o); \
+       if (!_e_smart_str) return; \
+       if (strcmp(_e_smart_str, type)) return; \
+     }
+
+#define E_SMART_OBJ_GET_RETURN(smart, o, type, ret) \
+   { \
+      char *_e_smart_str; \
+      \
+      if (!o) return ret; \
+      smart = evas_object_smart_data_get(o); \
+      if (!smart) return ret; \
+      _e_smart_str = (char *)evas_object_type_get(o); \
+      if (!_e_smart_str) return ret; \
+      if (strcmp(_e_smart_str, type)) return ret; \
+   }
+
+#define E_OBJ_NAME "edje_container_object"
+
+typedef struct _Smart_Data         Smart_Data;
+typedef struct _Smart_Data_Colinfo Smart_Data_Colinfo;
+
+struct _Smart_Data
+{
+   Evas_Coord     x, y, w, h;
+   Eina_List     *children;
+   Evas_Object   *smart_obj;
+   int            cols, rows;
+
+   Evas_Coord     contents_w, contents_h;
+   Evas_Coord     min_row_h, max_row_h;
+   Evas_Coord     min_w, max_w, min_h, max_h;
+
+   Smart_Data_Colinfo *colinfo;
+
+   int            freeze;
+
+   double         scroll_x, scroll_y;
+   double         align_x, align_y;
+
+   unsigned char  changed : 1;
+   unsigned char  change_child : 1;
+   unsigned char  change_child_list : 1;
+   unsigned char  change_cols : 1;
+   unsigned char  change_scroll : 1;
+
+   unsigned char  need_layout : 1;
+
+   unsigned char  homogenous : 1;
+};
+
+struct _Smart_Data_Colinfo
+{
+   Evas_Coord minw, maxw;
+};
+
+/* All items are virtual constructs that provide Evas_Objects at some point.
+ * Edje may move, resize, show, hide, clip, unclip, raise, lower etc. this
+ * item AFTER it calls the item's add() method and before it calls the del()
+ * method. Edje may call add() and del() at any time as often items may not
+ * be visible and so may not need to exist at all - they are merely information
+ * used for layout, and nothing more. this helps save cpu and memory keeping
+ * things responsive for BIG lists of items. you create an item from an item
+ * class then ask that item to be appended/prepended etc. to the container.
+ */
+typedef struct _Edje_Item       Edje_Item;
+typedef struct _Edje_Item_Cell  Edje_Item_Cell;
+typedef struct _Edje_Item_Class Edje_Item_Class;
+
+struct _Edje_Item_Class
+{
+   Evas_Object *(*add)      (Edje_Item *ei);
+   void         (*del)      (Edje_Item *ei);
+   void         (*select)   (Edje_Item *ei);
+   void         (*deselect) (Edje_Item *ei);
+   void         (*focus)    (Edje_Item *ei);
+   void         (*unfocus)  (Edje_Item *ei);
+};
+
+/* private */
+struct _Edje_Item
+{
+   Edje_Item_Class *class;
+   void            *class_data;
+
+   void            *sd;
+
+   void            *data;
+
+   Evas_Object     *object;
+   Evas_Object     *overlay_object;
+   int              freeze;
+   Evas_Coord       y, h;
+
+   Evas_Coord       minh, maxh;
+
+   int              cells_num;
+   Edje_Item_Cell  *cells;
+
+   unsigned char    accessible : 1;
+
+   unsigned char    recalc : 1;
+   unsigned char    selected : 1;
+   unsigned char    disabled : 1;
+   unsigned char    focused : 1;
+};
+
+struct _Edje_Item_Cell
+{
+   Evas_Object *obj;
+   Evas_Coord   x, w;
+   Evas_Coord   minw, minh, maxw, maxh;
+};
+
+/* here is an item for a vertical list - with 1 or more columns. this has 3 */
+/* just rotate for a horizontal list */
+
+/*
+ *             COL 0                 COL 1          COL 2
+ *
+ * +-----------------------------+ +-------+ +----------------+
+ * |          pad_top            | |       | |                |
+ * | pad_left  OBJECT  pad_right | |  OBJ  | |     OBJECT     | ROW 0
+ * |         pad_bottom          | |       | |                |
+ * +-----------------------------+ +-------+ +----------------+
+ *               /\              /|\
+ *     space_row ||               +-- space_col
+ *               \/
+ * +-----------------------------+ +-------+ +----------------+
+ * |                             | |       | |                |
+ * |                             | |       | |                | ROW 1
+ * |                             | |       | |                |
+ * +-----------------------------+ +-------+ +----------------+
+ *
+ * spacer object:
+ * 1 Edje object goes in-between each row as a spacer object (opt)
+ * 1 Edje object goes in-between each column as a spacer object (opt)
+ *
+ * surround object:
+ * 1 Edje object goes around each item - item swallowed into "item" part (opt)
+ *   if no "item" part then just underlay it
+ *   on select send "select" "" signal
+ *   on unselect send "unselect" "" signal
+ *   on focus send "focus" "" signal
+ *   on unfocus send "unfocus" signal
+ *
+ *   if any list item/cell is an Edje object emit this to them too.
+ *
+ *   also call callbacks.
+ *   if a surround object emits such a signal itself then call callbacks too
+ *
+ * only 1 or 0 items can be focused
+ * disabled items cannot be focused or selected/deselected
+ *
+ */
diff --git a/src/lib/edje/edje_convert.c b/src/lib/edje/edje_convert.c
new file mode 100644 (file)
index 0000000..07d43ce
--- /dev/null
@@ -0,0 +1,499 @@
+#include "edje_private.h"
+
+static const Edje_File *_current_edje_file = NULL;
+
+const Edje_File *
+_edje_file_get(void)
+{
+   return _current_edje_file;
+}
+
+void
+_edje_file_set(const Edje_File *edf)
+{
+   _current_edje_file = edf;
+}
+
+static void
+_edje_font_string_free(void *data)
+{
+   Edje_Font_Directory_Entry *fe = data;
+
+   eina_stringshare_del(fe->path);
+   free(fe);
+}
+
+static void
+_edje_collection_string_free(void *data)
+{
+   Edje_Part_Collection_Directory_Entry *ce = data;
+
+   eina_stringshare_del(ce->entry);
+
+   if (ce->ref)
+     {
+       Edje_File *edf;
+
+       edf = (Edje_File*) _edje_file_get();
+
+       if (!edf->warning)
+         CRITICAL("This program as probably called edje_shutdown() with "
+                   "active Edje objects still around. "
+                   "This can cause problems as both Evas and Edje retain "
+                   "references to the objects. "
+                   "You should shut down all canvases and objects "
+                   "before calling edje_shutdown(). "
+                   "The following errors are the edje object files and "
+                   "parts that are still hanging around, with their reference "
+                   "counts");
+
+       edf->warning = 1;
+       ERR("file: '%s', references: %i, part: '%s', references: %i",
+           edf->path, edf->references,
+           ce->ref->part, ce->ref->references);
+
+       _edje_collection_free(edf, ce->ref, ce);
+     }
+
+   free(ce);
+}
+
+static Eina_Bool
+_edje_file_convert_external(Edje_File *edf, Old_Edje_File *oedf)
+{
+   Edje_External_Directory_Entry *ede;
+   unsigned int max;
+   unsigned int i = 0;
+
+   edf->external_dir = calloc(1, sizeof (Edje_External_Directory));
+   if (!edf->external_dir) return EINA_FALSE;
+   if (!oedf->external_dir) return EINA_TRUE;
+
+   max = eina_list_count(oedf->external_dir->entries);
+   edf->external_dir->entries = calloc(1, sizeof (Edje_External_Directory_Entry) * max);
+   edf->external_dir->entries_count = max;
+
+   if (!edf->external_dir->entries && max)
+     return EINA_FALSE;
+
+   EINA_LIST_FREE(oedf->external_dir->entries, ede)
+     {
+       edf->external_dir->entries[i++].entry = ede->entry;
+       free(ede);
+     }
+
+   free(oedf->external_dir);
+   oedf->external_dir = NULL;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf)
+{
+   Edje_Image_Directory_Entry *de;
+   Edje_Image_Directory_Set *ds;
+   Eina_List *l;
+   int max;
+
+   edf->image_dir = calloc(1, sizeof (Edje_Image_Directory));
+   if (!edf->image_dir) return EINA_FALSE;
+   if (!oedf->image_dir) return EINA_TRUE;
+
+   max = -1;
+   EINA_LIST_FOREACH(oedf->image_dir->entries, l, de)
+     if (max < de->id)
+       max = de->id;
+
+   edf->image_dir->entries = calloc(1, sizeof (Edje_Image_Directory_Entry) * (max + 1));
+   edf->image_dir->entries_count = max + 1;
+
+   if (!edf->image_dir->entries && edf->image_dir->entries_count)
+     return EINA_FALSE;
+
+   EINA_LIST_FREE(oedf->image_dir->entries, de)
+     {
+       memcpy(edf->image_dir->entries + de->id,
+              de,
+              sizeof (Edje_Image_Directory_Entry));
+       free(de);
+     }
+
+   max = -1;
+   EINA_LIST_FOREACH(oedf->image_dir->sets, l, ds)
+     if (max < ds->id)
+       max = ds->id;
+
+   edf->image_dir->sets = calloc(1, sizeof (Edje_Image_Directory_Set) * (max + 1));
+   edf->image_dir->sets_count = max + 1;
+
+   if (!edf->image_dir->sets && edf->image_dir->sets_count)
+     {
+       free(edf->image_dir->entries);
+       edf->image_dir->entries = NULL;
+       return EINA_FALSE;
+     }
+
+   EINA_LIST_FREE(oedf->image_dir->sets, ds)
+     {
+       memcpy(edf->image_dir->sets + ds->id,
+              ds,
+              sizeof (Edje_Image_Directory_Set));
+       free(ds);
+     }
+
+   return EINA_TRUE;
+}
+
+Edje_File *
+_edje_file_convert(Eet_File *file, Old_Edje_File *oedf)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Font_Directory_Entry *fnt;
+   Edje_File *edf;
+   Eina_List *l;
+   Edje_Data *ed;
+
+   edf = calloc(1, sizeof (Edje_File));
+   if (!edf) return NULL;
+
+   edf->free_strings = eet_dictionary_get(file) ? 0 : 1;
+
+   if (edf->free_strings)
+     {
+       edf->fonts = eina_hash_string_small_new(_edje_font_string_free);
+       edf->collection = eina_hash_string_small_new(_edje_collection_string_free);
+       edf->data = eina_hash_string_small_new((Eina_Free_Cb) eina_stringshare_del);
+     }
+   else
+     {
+       edf->fonts = eina_hash_string_small_new(free);
+       edf->collection = eina_hash_string_small_new(free);
+       edf->data = eina_hash_string_small_new(NULL);
+     }
+
+   if (!edf->fonts || !edf->collection || !edf->data)
+     goto on_error;
+
+   EINA_LIST_FREE(oedf->data, ed)
+     {
+       eina_hash_direct_add(edf->data, ed->key, ed->value);
+       free(ed);
+     }
+
+   EINA_LIST_FOREACH(oedf->collection_dir->entries, l, ce)
+     if (ce->entry)
+       eina_hash_direct_add(edf->collection, ce->entry, ce);
+
+   if (oedf->font_dir)
+     EINA_LIST_FOREACH(oedf->font_dir->entries, l, fnt)
+       {
+         char *tmp;
+         int length;
+
+         length = strlen(fnt->entry) + 7;
+         tmp = alloca(length);
+
+         snprintf(tmp, length, "fonts/%s", fnt->entry);
+         fnt->path = eina_stringshare_add(tmp);
+         if (edf->free_strings)
+           eina_stringshare_del(fnt->entry);
+         fnt->entry = fnt->path + 6;
+
+         eina_hash_direct_add(edf->fonts, fnt->entry, fnt);
+       }
+
+   if (!_edje_file_convert_images(edf, oedf))
+     goto on_error;
+
+   if (!_edje_file_convert_external(edf, oedf))
+     goto on_error;
+
+   edf->oef = oedf;
+   edf->styles = oedf->styles;
+   edf->color_classes = oedf->color_classes;
+   edf->version = oedf->version;
+   edf->feature_ver = oedf->feature_ver;
+   edf->compiler = oedf->compiler;
+
+   edf->dangling = EINA_FALSE;
+   edf->warning = EINA_FALSE;
+
+   /* Below you will find all memory structure that could be cleaned when under
+      memory pressure */
+   edf->collection_cache = NULL;
+   edf->collection_patterns = NULL;
+
+   return edf;
+
+ on_error:
+   eina_hash_free(edf->fonts);
+   eina_hash_free(edf->collection);
+   eina_hash_free(edf->data);
+   free(edf->image_dir);
+   free(edf->external_dir);
+   free(edf);
+   return NULL;
+}
+
+static void
+_edje_collection_program_add(Edje_Program ***array,
+                            unsigned int *count,
+                            Edje_Program *add)
+{
+   Edje_Program **tmp;
+
+   tmp = realloc(*array, sizeof (Edje_Program*) * (*count + 1));
+   if (!tmp) return ;
+
+   tmp[(*count)++] = add;
+   *array = tmp;
+}
+
+Edje_Part_Collection *
+_edje_collection_convert(Edje_File *file, Old_Edje_Part_Collection *oedc)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Part_Collection *edc;
+   Old_Edje_Part *part;
+   Edje_Program *pg;
+   Edje_Data *di;
+   Eina_List *l;
+   unsigned int k;
+
+   ce = eina_hash_find(file->collection, oedc->part);
+
+   /* Count each type part and their respective state */
+   EINA_LIST_FOREACH(oedc->parts, l, part)
+     {
+       int *count;
+       int dummy = 0;
+
+
+       switch (part->type)
+         {
+#define CSP(Tp, Ce)                                            \
+            case EDJE_PART_TYPE_##Tp :                         \
+               count = &Ce->count.Tp;                          \
+               break;
+
+            CSP(RECTANGLE, ce);
+            CSP(TEXT, ce);
+            CSP(IMAGE, ce);
+            CSP(SWALLOW, ce);
+            CSP(TEXTBLOCK, ce);
+            CSP(GROUP, ce);
+            CSP(BOX, ce);
+            CSP(TABLE, ce);
+            CSP(EXTERNAL, ce);
+          default:
+             count = &dummy;
+             break;
+         }
+
+       *count += eina_list_count(part->other_desc) + 1;
+     }
+   ce->count.part = eina_list_count(oedc->parts);
+
+#define CONVERT_EMN(Tp, Sz, Ce)                                                        \
+   Ce->mp.Tp = eina_mempool_add("one_big", #Tp, NULL, sizeof (Sz), Ce->count.Tp);
+
+   CONVERT_EMN(RECTANGLE, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(TEXT, Edje_Part_Description_Text, ce);
+   CONVERT_EMN(IMAGE, Edje_Part_Description_Image, ce);
+   CONVERT_EMN(SWALLOW, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(TEXTBLOCK, Edje_Part_Description_Text, ce);
+   CONVERT_EMN(GROUP, Edje_Part_Description_Common, ce);
+   CONVERT_EMN(BOX, Edje_Part_Description_Box, ce);
+   CONVERT_EMN(TABLE, Edje_Part_Description_Table, ce);
+   CONVERT_EMN(EXTERNAL, Edje_Part_Description_External, ce);
+   CONVERT_EMN(part, Edje_Part, ce);
+
+   /* Change structure layout */
+   edc = calloc(1, sizeof (Edje_Part_Collection));
+   if (!edc) return NULL;
+   ce->ref = edc;
+
+   EINA_LIST_FREE(oedc->programs, pg)
+     {
+       if (!pg->signal && !pg->source)
+         _edje_collection_program_add(&edc->programs.nocmp,
+                                      &edc->programs.nocmp_count,
+                                      pg);
+       else if (pg->signal && !strpbrk(pg->signal, "*?[\\")
+                && pg->source && !strpbrk(pg->source, "*?[\\"))
+         _edje_collection_program_add(&edc->programs.strcmp,
+                                      &edc->programs.strcmp_count,
+                                      pg);
+       else if (pg->signal && edje_program_is_strncmp(pg->signal)
+                && pg->source && edje_program_is_strncmp(pg->source))
+         _edje_collection_program_add(&edc->programs.strncmp,
+                                      &edc->programs.strncmp_count,
+                                      pg);
+       else if (pg->signal && edje_program_is_strrncmp(pg->signal)
+                && pg->source && edje_program_is_strrncmp(pg->source))
+         _edje_collection_program_add(&edc->programs.strrncmp,
+                                      &edc->programs.strrncmp_count,
+                                      pg);
+       else
+         _edje_collection_program_add(&edc->programs.fnmatch,
+                                      &edc->programs.fnmatch_count,
+                                      pg);
+     }
+
+   edc->data = eina_hash_string_small_new(NULL);
+   EINA_LIST_FREE(oedc->data, di)
+     {
+       eina_hash_direct_add(edc->data, di->key, di->value);
+       free(di);
+     }
+
+   edc->parts_count = eina_list_count(oedc->parts);
+   edc->parts = calloc(edc->parts_count, sizeof (Edje_Part *));
+   k = 0;
+
+   EINA_LIST_FREE(oedc->parts, part)
+     {
+       Old_Edje_Part_Description *oepd;
+       Edje_Pack_Element *elm;
+       Edje_Part *replacement;
+       unsigned int i;
+
+       replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part));
+
+       replacement->name = part->name;
+       replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc);
+
+       replacement->other_count = eina_list_count(part->other_desc);
+       replacement->other_desc = calloc(replacement->other_count, sizeof (Edje_Part_Description_Common*));
+
+       i = 0;
+       EINA_LIST_FREE(part->other_desc, oepd)
+         replacement->other_desc[i++] = _edje_description_convert(part->type, ce, oepd);
+
+       replacement->source = part->source;
+       replacement->source2 = part->source2;
+       replacement->source3 = part->source3;
+       replacement->source4 = part->source4;
+       replacement->source5 = part->source5;
+       replacement->source6 = part->source6;
+       replacement->id = part->id;
+       replacement->clip_to_id = part->clip_to_id;
+       replacement->dragable = part->dragable;
+       replacement->items_count = eina_list_count(part->items);
+       replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element*));
+
+       i = 0;
+       EINA_LIST_FREE(part->items, elm)
+         replacement->items[i++] = elm;
+
+       replacement->type = part->type;
+       replacement->effect = part->effect;
+       replacement->mouse_events = part->mouse_events;
+       replacement->repeat_events = part->repeat_events;
+       replacement->ignore_flags = part->ignore_flags;
+       replacement->scale = part->scale;
+       replacement->precise_is_inside = part->precise_is_inside;
+       replacement->use_alternate_font_metrics = part->use_alternate_font_metrics;
+       replacement->pointer_mode = part->pointer_mode;
+       replacement->entry_mode = part->entry_mode;
+       replacement->select_mode = part->select_mode;
+       replacement->multiline = part->multiline;
+       replacement->api = part->api;
+
+       edc->parts[k++] = replacement;
+
+       free(part);
+     }
+
+   edc->id = oedc->id;
+   edc->alias = oedc->alias;
+   edc->prop.min = oedc->prop.min;
+   edc->prop.max = oedc->prop.max;
+   edc->script = oedc->script;
+   edc->part = oedc->part;
+   edc->script_only = oedc->script_only;
+   edc->lua_script_only = oedc->lua_script_only;
+   edc->checked = oedc->checked;
+
+   free(oedc);
+
+   return edc;
+}
+
+Edje_Part_Description_Common*
+_edje_description_convert(int type,
+                         Edje_Part_Collection_Directory_Entry *ce,
+                         Old_Edje_Part_Description *oed)
+{
+   Edje_Part_Description_Common *result = NULL;
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_RECTANGLE:
+        result = eina_mempool_malloc(ce->mp.RECTANGLE,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+      case EDJE_PART_TYPE_SWALLOW:
+        result = eina_mempool_malloc(ce->mp.SWALLOW,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+      case EDJE_PART_TYPE_GROUP:
+        result = eina_mempool_malloc(ce->mp.GROUP,
+                                     sizeof (Edje_Part_Description_Common));
+        break;
+
+      case EDJE_PART_TYPE_IMAGE:
+       {
+          Edje_Part_Description_Image *img;
+          Edje_Part_Image_Id *id;
+          unsigned int i = 0;
+
+          img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image));
+
+          img->image.tweens_count = eina_list_count(oed->image.tween_list);
+          img->image.tweens = calloc(img->image.tweens_count,
+                                     sizeof (Edje_Part_Image_Id*));
+          if (img->image.tweens_count > 0 && !img->image.tweens)
+            {
+               eina_mempool_free(ce->mp.IMAGE, img);
+               return NULL;
+            }
+
+          EINA_LIST_FREE(oed->image.tween_list, id)
+            img->image.tweens[i++] = id;
+
+          img->image.id = oed->image.id;
+          img->image.scale_hint = oed->image.scale_hint;
+          img->image.set = oed->image.set;
+
+          img->image.border = oed->image.border;
+          img->image.fill = oed->image.fill;
+
+          result = &img->common;
+          break;
+       }
+
+#define CONVERT_ALLOC_POOL(Short, Type, Name)                          \
+        case EDJE_PART_TYPE_##Short:                                   \
+          {                                                            \
+             Edje_Part_Description_##Type *Name;                       \
+                                                                       \
+             Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \
+             Name->Name = oed->Name;                                   \
+             result = &Name->common;                                   \
+             break;                                                    \
+          }
+
+        CONVERT_ALLOC_POOL(TEXT, Text, text);
+        CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text);
+        CONVERT_ALLOC_POOL(BOX, Box, box);
+        CONVERT_ALLOC_POOL(TABLE, Table, table);
+        CONVERT_ALLOC_POOL(EXTERNAL, External, external_params);
+     }
+
+   *result = oed->common;
+
+   free(oed);
+   return result;
+}
diff --git a/src/lib/edje/edje_convert.h b/src/lib/edje/edje_convert.h
new file mode 100644 (file)
index 0000000..fcc2781
--- /dev/null
@@ -0,0 +1,143 @@
+#ifndef EDJE_CONVERT_H__
+# define EDJE_CONVERT_H__
+
+typedef struct _Old_Edje_Image_Directory       Old_Edje_Image_Directory;
+typedef struct _Old_Edje_Font_Directory         Old_Edje_Font_Directory;
+typedef struct _Old_Edje_External_Directory    Old_Edje_External_Directory;
+typedef struct _Old_Edje_Part                  Old_Edje_Part;
+typedef struct _Old_Edje_Part_Collection       Old_Edje_Part_Collection;
+typedef struct _Old_Edje_Part_Description       Old_Edje_Part_Description;
+typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image;
+typedef struct _Edje_Data                       Edje_Data;
+
+struct _Edje_Data
+{
+   const char *key;
+   char *value;
+};
+
+/*----------*/
+
+struct _Old_Edje_Font_Directory
+{
+   Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
+};
+
+struct _Old_Edje_Image_Directory
+{
+   Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
+   Eina_List *sets; /* a list of Edje_Image_Directory_Set */
+};
+
+struct _Old_Edje_External_Directory
+{
+   Eina_List *entries; /* a list of Edje_External_Directory_Entry */
+};
+
+struct _Old_Edje_File
+{
+   const char                     *path;
+   time_t                          mtime;
+
+   Old_Edje_External_Directory    *external_dir;
+   Old_Edje_Font_Directory        *font_dir;
+   Old_Edje_Image_Directory       *image_dir;
+   Edje_Part_Collection_Directory *collection_dir;
+   Eina_List                      *data;
+   Eina_List                      *styles;
+   Eina_List                      *color_classes;
+
+   const char                     *compiler;
+   int                             version;
+   int                             feature_ver;
+};
+
+struct _Old_Edje_Part_Collection
+{
+   Eina_List *programs; /* a list of Edje_Program */
+   Eina_List *parts; /* a list of Edje_Part */
+   Eina_List *data;
+
+   int        id; /* the collection id */
+
+   Eina_Hash *alias; /* aliasing part*/
+
+   struct {
+      Edje_Size min, max;
+   } prop;
+
+   int        references;
+#ifdef EDJE_PROGRAM_CACHE
+   struct {
+      Eina_Hash                   *no_matches;
+      Eina_Hash                   *matches;
+   } prog_cache;
+#endif
+
+   Embryo_Program   *script; /* all the embryo script code for this group */
+   const char       *part;
+
+   unsigned char    script_only;
+
+   unsigned char    lua_script_only;
+
+   unsigned char    checked : 1;
+};
+
+struct _Old_Edje_Part
+{
+   const char            *name; /* the name if any of the part */
+   Old_Edje_Part_Description *default_desc; /* the part descriptor for default */
+   Eina_List             *other_desc; /* other possible descriptors */
+   const char            *source, *source2, *source3, *source4, *source5, *source6;
+   int                    id; /* its id number */
+   int                    clip_to_id; /* the part id to clip this one to */
+   Edje_Part_Dragable     dragable;
+   Eina_List             *items; /* packed items for box and table */
+   unsigned char          type; /* what type (image, rect, text) */
+   unsigned char          effect; /* 0 = plain... */
+   unsigned char          mouse_events; /* it will affect/respond to mouse events */
+   unsigned char          repeat_events; /* it will repeat events to objects below */
+   Evas_Event_Flags       ignore_flags;
+   unsigned char          scale; /* should certain properties scale with edje scale factor? */
+   unsigned char          precise_is_inside;
+   unsigned char          use_alternate_font_metrics;
+   unsigned char          pointer_mode;
+   unsigned char          entry_mode;
+   unsigned char          select_mode;
+   unsigned char          multiline;
+   Edje_Part_Api         api;
+};
+
+struct _Old_Edje_Part_Description_Spec_Image
+{
+   Eina_List     *tween_list; /* list of Edje_Part_Image_Id */
+   int            id; /* the image id to use */
+   int            scale_hint; /* evas scale hint */
+   Eina_Bool      set; /* if image condition it's content */
+
+   Edje_Part_Description_Spec_Border border;
+   Edje_Part_Description_Spec_Fill   fill;
+};
+
+struct _Old_Edje_Part_Description
+{
+   Edje_Part_Description_Common common;
+   Old_Edje_Part_Description_Spec_Image image;
+   Edje_Part_Description_Spec_Text text;
+   Edje_Part_Description_Spec_Box box;
+   Edje_Part_Description_Spec_Table table;
+
+   Eina_List *external_params; /* parameters for external objects */
+};
+
+Edje_File *_edje_file_convert(Eet_File *file, Old_Edje_File *oedf);
+Edje_Part_Collection *_edje_collection_convert(Edje_File *file,
+                                              Old_Edje_Part_Collection *oedc);
+Edje_Part_Description_Common *_edje_description_convert(int type,
+                                                       Edje_Part_Collection_Directory_Entry *ce,
+                                                       Old_Edje_Part_Description *oed);
+const Edje_File *_edje_file_get(void);
+void _edje_file_set(const Edje_File *edf);
+
+#endif
diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
new file mode 100644 (file)
index 0000000..bdeff5b
--- /dev/null
@@ -0,0 +1,1022 @@
+#include "edje_private.h"
+
+EAPI Eet_Data_Descriptor *_edje_edd_edje_file = NULL;
+EAPI Eet_Data_Descriptor *_edje_edd_edje_part_collection = NULL;
+
+Eet_Data_Descriptor *_edje_edd_edje_string = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_style = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_style_tag = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_color_class = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_external_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_external_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_font_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_image_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_image_directory_set = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_image_directory_set_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_limit = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_limit_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_sound_sample = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_sound_tone = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_sound_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_program = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_program_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_program_target = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_program_after = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_pack_element = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_pack_element_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_variant = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_spacer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_group = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_image = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_proxy = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_text = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_box = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_spacer_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_group_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_image_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_proxy_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_text_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_box_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_table_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_external_param = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_limit = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_physics_face = NULL;
+
+#define EMP(Type, Minus)                               \
+  EAPI Eina_Mempool *_emp_##Type = NULL;               \
+                                                       \
+  static void *                                                \
+  mem_alloc_##Minus(size_t size)                       \
+  {                                                    \
+     void *data;                                       \
+                                                       \
+     data = eina_mempool_malloc(_emp_##Type, size);    \
+     memset(data, 0, size);                            \
+     return data;                                      \
+  }                                                    \
+                                                       \
+  static void                                          \
+  mem_free_##Minus(void *data)                         \
+  {                                                    \
+     eina_mempool_free(_emp_##Type, data);             \
+  }
+
+EMP(RECTANGLE, rectangle);
+EMP(TEXT, text);
+EMP(IMAGE, image);
+EMP(PROXY, proxy);
+EMP(SWALLOW, swallow);
+EMP(TEXTBLOCK, textblock);
+EMP(GROUP, group);
+EMP(BOX, box);
+EMP(TABLE, table);
+EMP(EXTERNAL, external);
+EMP(SPACER, spacer);
+EMP(part, part);
+
+#define FREED(eed) \
+   if (eed) \
+   { \
+      eet_data_descriptor_free((eed)); \
+      (eed) = NULL; \
+   }
+
+struct {
+   Edje_Part_Type type;
+   const char *name;
+} variant_convertion[] = {
+  { EDJE_PART_TYPE_RECTANGLE, "rectangle" },
+  { EDJE_PART_TYPE_SWALLOW,   "swallow" },
+  { EDJE_PART_TYPE_GROUP,     "group" },
+  { EDJE_PART_TYPE_IMAGE,     "image" },
+  { EDJE_PART_TYPE_TEXT,      "text" },
+  { EDJE_PART_TYPE_TEXTBLOCK, "textblock" },
+  { EDJE_PART_TYPE_BOX,       "box" },
+  { EDJE_PART_TYPE_TABLE,     "table" },
+  { EDJE_PART_TYPE_EXTERNAL,  "external" },
+  { EDJE_PART_TYPE_PROXY,     "proxy" },
+  { EDJE_PART_TYPE_SPACER,    "spacer" }
+};
+
+static const char *
+_edje_description_variant_type_get(const void *data, Eina_Bool *unknow EINA_UNUSED)
+{
+   const unsigned char *type;
+   unsigned int i;
+
+   type = data;
+
+   for (i = 0; i < (sizeof (variant_convertion) / sizeof (variant_convertion[0])); ++i)
+     if (*type == variant_convertion[i].type)
+       return variant_convertion[i].name;
+
+   return NULL;
+}
+
+static Eina_Bool
+_edje_description_variant_type_set(const char *type, void *data, Eina_Bool unknow EINA_UNUSED)
+{
+   unsigned char *dt;
+   unsigned int i;
+
+   dt = data;
+
+   for (i = 0; i < (sizeof (variant_convertion) / sizeof (variant_convertion[0])); ++i)
+     if (!strcmp(variant_convertion[i].name, type))
+       {
+         *dt = variant_convertion[i].type;
+         return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+static Eina_Hash *
+_edje_eina_hash_add_alloc(Eina_Hash  *hash,
+                         const char *key,
+                         void       *data)
+{
+   if (!hash)
+     hash = eina_hash_string_small_new(free);
+
+   if (!hash)
+     return NULL;
+
+   eina_hash_add(hash, key, data);
+   return hash;
+}
+
+// FIXME: remove EAPI when edje_convert goes
+EAPI void
+_edje_edd_shutdown(void)
+{
+   FREED(_edje_edd_edje_file);
+   FREED(_edje_edd_edje_string);
+   FREED(_edje_edd_edje_style);
+   FREED(_edje_edd_edje_style_tag);
+   FREED(_edje_edd_edje_color_class);
+   FREED(_edje_edd_edje_external_directory);
+   FREED(_edje_edd_edje_external_directory_entry);
+   FREED(_edje_edd_edje_font_directory_entry);
+   FREED(_edje_edd_edje_image_directory);
+   FREED(_edje_edd_edje_image_directory_entry);
+   FREED(_edje_edd_edje_limit);
+   FREED(_edje_edd_edje_limit_pointer);
+   FREED(_edje_edd_edje_sound_sample);
+   FREED(_edje_edd_edje_sound_tone);
+   FREED(_edje_edd_edje_sound_directory);
+   FREED(_edje_edd_edje_program);
+   FREED(_edje_edd_edje_program_pointer);
+   FREED(_edje_edd_edje_program_target);
+   FREED(_edje_edd_edje_program_after);
+   FREED(_edje_edd_edje_part_collection_directory_entry);
+   FREED(_edje_edd_edje_pack_element);
+   FREED(_edje_edd_edje_pack_element_pointer);
+   FREED(_edje_edd_edje_part_collection);
+   FREED(_edje_edd_edje_part);
+   FREED(_edje_edd_edje_part_pointer);
+   FREED(_edje_edd_edje_part_description_variant);
+   FREED(_edje_edd_edje_part_description_rectangle);
+   FREED(_edje_edd_edje_part_description_spacer);
+   FREED(_edje_edd_edje_part_description_swallow);
+   FREED(_edje_edd_edje_part_description_group);
+   FREED(_edje_edd_edje_part_description_image);
+   FREED(_edje_edd_edje_part_description_proxy);
+   FREED(_edje_edd_edje_part_description_text);
+   FREED(_edje_edd_edje_part_description_textblock);
+   FREED(_edje_edd_edje_part_description_box);
+   FREED(_edje_edd_edje_part_description_table);
+   FREED(_edje_edd_edje_part_description_external);
+   FREED(_edje_edd_edje_part_description_variant_list);
+   FREED(_edje_edd_edje_part_description_rectangle_pointer);
+   FREED(_edje_edd_edje_part_description_spacer_pointer);
+   FREED(_edje_edd_edje_part_description_swallow_pointer);
+   FREED(_edje_edd_edje_part_description_group_pointer);
+   FREED(_edje_edd_edje_part_description_image_pointer);
+   FREED(_edje_edd_edje_part_description_proxy_pointer);
+   FREED(_edje_edd_edje_part_description_text_pointer);
+   FREED(_edje_edd_edje_part_description_textblock_pointer);
+   FREED(_edje_edd_edje_part_description_box_pointer);
+   FREED(_edje_edd_edje_part_description_table_pointer);
+   FREED(_edje_edd_edje_part_description_external_pointer);
+   FREED(_edje_edd_edje_part_image_id);
+   FREED(_edje_edd_edje_part_image_id_pointer);
+   FREED(_edje_edd_edje_external_param);
+   FREED(_edje_edd_edje_image_directory_set);
+   FREED(_edje_edd_edje_image_directory_set_entry);
+   FREED(_edje_edd_edje_part_limit);
+   FREED(_edje_edd_edje_physics_face);
+}
+
+#define EDJE_DEFINE_POINTER_TYPE(Type, Name)                           \
+   {                                                                   \
+     typedef struct _Edje_##Type##_Pointer Edje_##Type##_Pointer;      \
+     struct _Edje_##Type##_Pointer                                     \
+     {                                                                 \
+       Edje_##Type *pointer;                                           \
+     };                                                                        \
+                                                                       \
+     EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_##Type##_Pointer); \
+     _edje_edd_edje_##Name##_pointer =                                 \
+       eet_data_descriptor_file_new(&eddc);                            \
+     EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_##Name##_pointer, Edje_##Type##_Pointer, "pointer", pointer, _edje_edd_edje_##Name); \
+   }
+
+// FIXME: remove EAPI when edje_convert goes
+EAPI void
+_edje_edd_init(void)
+{
+   Eet_Data_Descriptor_Class eddc;
+
+   /* localisable string */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_String);
+   _edje_edd_edje_string = eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_string, Edje_String, "str", str, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_string, Edje_String, "id", id, EET_T_UINT);
+
+   /* external directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory_Entry);
+   _edje_edd_edje_external_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_directory_entry, Edje_External_Directory_Entry, "entry", entry, EET_T_STRING);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Directory);
+   _edje_edd_edje_external_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_external_directory, Edje_External_Directory, "entries", entries, _edje_edd_edje_external_directory_entry);
+
+   /* font directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Font_Directory_Entry);
+   _edje_edd_edje_font_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_font_directory_entry, Edje_Font_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_font_directory_entry, Edje_Font_Directory_Entry, "file", file, EET_T_STRING);
+
+   /* image directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Entry);
+   _edje_edd_edje_image_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_type", source_type, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_param", source_param, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set_Entry);
+   _edje_edd_edje_image_directory_set_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.w", size.min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.h", size.min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.w", size.max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.h", size.max.h, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set);
+   _edje_edd_edje_image_directory_set =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set,  "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_edje_image_directory_set_entry);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory);
+   _edje_edd_edje_image_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "entries", entries, _edje_edd_edje_image_directory_entry);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "sets", sets, _edje_edd_edje_image_directory_set);
+
+   /* Sound */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Sample);
+   _edje_edd_edje_sound_sample =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "snd_src", snd_src, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "compression", compression, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "mode", mode, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "quality", quality, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_sample, Edje_Sound_Sample, "id", id, EET_T_INT);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Tone);
+   _edje_edd_edje_sound_tone =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "value", value, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_sound_tone, Edje_Sound_Tone, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Directory);
+   _edje_edd_edje_sound_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_sound_directory, Edje_Sound_Directory, "samples", samples, _edje_edd_edje_sound_sample);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_sound_directory, Edje_Sound_Directory, "tones", tones, _edje_edd_edje_sound_tone);
+
+   /* collection directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection_Directory_Entry);
+   _edje_edd_edje_part_collection_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.RECTANGLE", count.RECTANGLE, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TEXT", count.TEXT, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.IMAGE", count.IMAGE, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.PROXY", count.PROXY, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SWALLOW", count.SWALLOW, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TEXTBLOCK", count.TEXTBLOCK, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.GROUP", count.GROUP, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.BOX", count.BOX, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.TABLE", count.TABLE, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.EXTERNAL", count.EXTERNAL, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SPACER", count.SPACER, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style_Tag);
+   _edje_edd_edje_style_tag =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style_tag, Edje_Style_Tag, "key", key, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style_tag, Edje_Style_Tag, "value", value, EET_T_STRING);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Style);
+   _edje_edd_edje_style =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_style, Edje_Style, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_style, Edje_Style, "tags", tags, _edje_edd_edje_style_tag);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color_Class);
+   _edje_edd_edje_color_class =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r", r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g", g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b", b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a", a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r2", r2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g2", g2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b2", b2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a2", a2, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "r3", r3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "g3", g3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "b3", b3, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_color_class, Edje_Color_Class, "a3", a3, EET_T_UCHAR);
+
+   /* the main file directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_File);
+   eddc.func.hash_add = (void * (*)(void *, const char *, void *)) _edje_eina_hash_add_alloc;
+   _edje_edd_edje_file = eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "compiler", compiler, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "version", version, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "minor", minor, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "feature_ver", feature_ver, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "external_dir", external_dir, _edje_edd_edje_external_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "image_dir", image_dir, _edje_edd_edje_image_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "sound_dir", sound_dir, _edje_edd_edje_sound_directory);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_file, Edje_File, "styles", styles, _edje_edd_edje_style);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_file, Edje_File, "color_classes", color_classes, _edje_edd_edje_color_class);
+   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "data", data, _edje_edd_edje_string);
+   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "fonts", fonts, _edje_edd_edje_font_directory_entry);
+   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_file, Edje_File, "collection", collection, _edje_edd_edje_part_collection_directory_entry);
+
+   /* parts & limit & programs - loaded induvidually */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Limit);
+   _edje_edd_edje_limit = eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_limit, Edje_Limit, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_limit, Edje_Limit, "value", value, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_Target);
+   _edje_edd_edje_program_target =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program_target, Edje_Program_Target, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program_After);
+   _edje_edd_edje_program_after =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program_after,
+                                 Edje_Program_After, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Program);
+   _edje_edd_edje_program =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "signal", signal, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.range", in.range, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "action", action, EET_T_INT);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "sample_name", sample_name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tone_name", tone_name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program ,"duration", duration, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program ,"speed", speed, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "state", state, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "state2", state2, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "value", value, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "value2", value2, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tween.mode", tween.mode, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "tween.time", tween.time, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "v1", tween.v1, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "v2", tween.v2, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_program, Edje_Program, "targets", targets, _edje_edd_edje_program_target);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_program, Edje_Program, "after", after, _edje_edd_edje_program_after);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "api.name", api.name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "api.description", api.description, EET_T_STRING);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.src", param.src, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT);
+
+#ifdef HAVE_EPHYSICS
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.w", physics.w, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.x", physics.x, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.y", physics.y, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.z", physics.z, EET_T_DOUBLE);
+#endif
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id);
+   _edje_edd_edje_part_image_id =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "set", set, EET_T_UCHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Param);
+   _edje_edd_edje_external_param =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "type", type, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "i", i, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "d", d, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_external_param, Edje_External_Param, "s", s, EET_T_STRING);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Physics_Face);
+   _edje_edd_edje_physics_face = eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_physics_face, Edje_Physics_Face, "type", type, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_physics_face, Edje_Physics_Face, "source", source, EET_T_STRING);
+
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.name", state.name, EET_T_STRING); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.value", state.value, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", visible, EET_T_CHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.have", minmul.have, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.w", minmul.w, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.h", minmul.h, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", min.w, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", min.h, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.limit", min.limit, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", max.w, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.h", max.h, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.limit", max.limit, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.x", step.x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.y", step.y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.min", aspect.min, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.max", aspect.max, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.prefer", aspect.prefer, EET_T_CHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_x", rel1.relative_x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_y", rel1.relative_y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_x", rel1.offset_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_y", rel1.offset_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_x", rel1.id_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_y", rel1.id_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_x", rel2.relative_x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_y", rel2.relative_y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_x", rel2.offset_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_y", rel2.offset_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_x", rel2.id_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_y", rel2.id_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color_class", color_class, EET_T_STRING); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.r", color.r, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.g", color.g, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.b", color.b, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.a", color.a, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.r", color2.r, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.g", color2.g, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.b", color2.b, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.a", color2.a, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_persp", map.id_persp, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_light", map.id_light, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.id_center", map.rot.id_center, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.x", map.rot.x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.y", map.rot.y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.z", map.rot.z, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.on", map.on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.smooth", map.smooth, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.alpha", map.alpha, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.persp_on", map.persp_on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.backcull", map.backcull, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.zplane", persp.zplane, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.focal", persp.focal, EET_T_INT);
+
+#ifdef HAVE_EPHYSICS
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(Edd, Type)     \
+   {                                                           \
+      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mass", physics.mass, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.restitution", physics.restitution, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.friction", physics.friction, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.linear", physics.damping.linear, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.angular", physics.damping.angular, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.linear", physics.sleep.linear, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.angular", physics.sleep.angular, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.material", physics.material, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.density", physics.density, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.hardness", physics.hardness, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.z", physics.z, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.depth", physics.depth, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.ignore_part_pos", physics.ignore_part_pos, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.light_on", physics.light_on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.backcull", physics.backcull, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.x", physics.mov_freedom.lin.x, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.y", physics.mov_freedom.lin.y, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.z", physics.mov_freedom.lin.z, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.x", physics.mov_freedom.ang.x, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.y", physics.mov_freedom.ang.y, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.z", physics.mov_freedom.ang.z, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_LIST(Edd, Type, "physics.faces", physics.faces, _edje_edd_edje_physics_face); \
+   }
+#else
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(Edd, Type)     \
+   {                                                           \
+      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_FIELDS(Edd, Type) \
+   }
+#endif
+
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.name", Dec.state.name, EET_T_STRING); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.value", Dec.state.value, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", Dec.visible, EET_T_CHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", Dec.align.x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", Dec.align.y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", Dec.fixed.w, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", Dec.fixed.h, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", Dec.min.w, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", Dec.min.h, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", Dec.max.w, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.h", Dec.max.h, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.x", Dec.step.x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.y", Dec.step.y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.min", Dec.aspect.min, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.max", Dec.aspect.max, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.prefer", Dec.aspect.prefer, EET_T_CHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_x", Dec.rel1.relative_x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.relative_y", Dec.rel1.relative_y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_x", Dec.rel1.offset_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.offset_y", Dec.rel1.offset_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_x", Dec.rel1.id_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel1.id_y", Dec.rel1.id_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_x", Dec.rel2.relative_x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.relative_y", Dec.rel2.relative_y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_x", Dec.rel2.offset_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.offset_y", Dec.rel2.offset_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_x", Dec.rel2.id_x, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "rel2.id_y", Dec.rel2.id_y, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color_class", Dec.color_class, EET_T_STRING); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.r", Dec.color.r, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.g", Dec.color.g, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.b", Dec.color.b, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color.a", Dec.color.a, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.r", Dec.color2.r, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.g", Dec.color2.g, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.b", Dec.color2.b, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "color2.a", Dec.color2.a, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_persp", Dec.map.id_persp, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.id_light", Dec.map.id_light, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.id_center", Dec.map.rot.id_center, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.x", Dec.map.rot.x, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.y", Dec.map.rot.y, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.rot.z", Dec.map.rot.z, EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.on", Dec.map.on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.smooth", Dec.map.smooth, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.alpha", Dec.map.alpha, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.persp_on", Dec.map.persp_on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "map.backcull", Dec.map.backcull, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.zplane", Dec.persp.zplane, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "persp.focal", Dec.persp.focal, EET_T_INT); \
+
+#ifdef HAVE_EPHYSICS
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(Edd, Type, Dec)     \
+   {                                                                    \
+      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mass", Dec.physics.mass, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.restitution", Dec.physics.restitution, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.friction", Dec.physics.friction, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.linear", Dec.physics.damping.linear, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.damping.angular", Dec.physics.damping.angular, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.linear", Dec.physics.sleep.linear, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.sleep.angular", Dec.physics.sleep.angular, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.material", Dec.physics.material, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.density", Dec.physics.density, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.hardness", Dec.physics.hardness, EET_T_DOUBLE); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.z", Dec.physics.z, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.depth", Dec.physics.depth, EET_T_INT); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.ignore_part_pos", Dec.physics.ignore_part_pos, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.light_on", Dec.physics.light_on, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.backcull", Dec.physics.backcull, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.x", Dec.physics.mov_freedom.lin.x, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.y", Dec.physics.mov_freedom.lin.y, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.lin.z", Dec.physics.mov_freedom.lin.z, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.x", Dec.physics.mov_freedom.ang.x, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.y", Dec.physics.mov_freedom.ang.y, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "physics.mov_freedom.ang.z", Dec.physics.mov_freedom.ang.z, EET_T_UCHAR); \
+      EET_DATA_DESCRIPTOR_ADD_LIST(Edd, Type, "physics.faces", Dec.physics.faces, _edje_edd_edje_physics_face); \
+   }
+#else
+#define EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(Edd, Type, Dec)     \
+   {                                                                    \
+      EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB_FIELDS(Edd, Type, Dec) \
+   }
+#endif
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
+   eddc.func.mem_free = mem_free_rectangle;
+   eddc.func.mem_alloc = mem_alloc_rectangle;
+   _edje_edd_edje_part_description_rectangle =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_rectangle, Edje_Part_Description_Common);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
+   eddc.func.mem_free = mem_free_spacer;
+   eddc.func.mem_alloc = mem_alloc_spacer;
+   _edje_edd_edje_part_description_spacer =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_spacer, Edje_Part_Description_Common);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
+   eddc.func.mem_free = mem_free_swallow;
+   eddc.func.mem_alloc = mem_alloc_swallow;
+   _edje_edd_edje_part_description_swallow =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_swallow, Edje_Part_Description_Common);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common);
+   eddc.func.mem_free = mem_free_group;
+   eddc.func.mem_alloc = mem_alloc_group;
+   _edje_edd_edje_part_description_group =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_group, Edje_Part_Description_Common);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Image);
+   eddc.func.mem_free = mem_free_image;
+   eddc.func.mem_alloc = mem_alloc_image;
+   _edje_edd_edje_part_description_image =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, common);
+
+   EDJE_DEFINE_POINTER_TYPE(Part_Image_Id, part_image_id);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.tweens", image.tweens, _edje_edd_edje_part_image_id_pointer);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.id", image.id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.set", image.set, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.l", image.border.l, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.r", image.border.r, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.t", image.border.t, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.b", image.border.b, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.no_fill", image.border.no_fill, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.scale", image.border.scale, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.border.scale_by", image.border.scale_by, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.smooth", image.fill.smooth, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_rel_x", image.fill.pos_rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_abs_x", image.fill.pos_abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.rel_x", image.fill.rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.abs_x", image.fill.abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_rel_y", image.fill.pos_rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.pos_abs_y", image.fill.pos_abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.rel_y", image.fill.rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.abs_y", image.fill.abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.angle", image.fill.angle, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.spread", image.fill.spread, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.fill.type", image.fill.type, EET_T_CHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Proxy);
+   eddc.func.mem_free = mem_free_proxy;
+   eddc.func.mem_alloc = mem_alloc_proxy;
+   _edje_edd_edje_part_description_proxy =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, common);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.id", proxy.id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.smooth", proxy.fill.smooth, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_rel_x", proxy.fill.pos_rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_abs_x", proxy.fill.pos_abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.rel_x", proxy.fill.rel_x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.abs_x", proxy.fill.abs_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_rel_y", proxy.fill.pos_rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.pos_abs_y", proxy.fill.pos_abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.rel_y", proxy.fill.rel_y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.abs_y", proxy.fill.abs_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.angle", proxy.fill.angle, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.spread", proxy.fill.spread, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
+   eddc.func.mem_free = mem_free_text;
+   eddc.func.mem_alloc = mem_alloc_text;
+   _edje_edd_edje_part_description_text =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, common);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.r", text.color3.r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.g", text.color3.g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.b", text.color3.b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.color3.a", text.color3.a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.text", text.text, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.text_class", text.text_class, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.style", text.style, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.font", text.font, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size_range_min", text.size_range_min, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size_range_max", text.size_range_max, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.repch", text.repch, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.size", text.size, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.fit_x", text.fit_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.fit_y", text.fit_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.min_x", text.min_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.min_y", text.min_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.max_x", text.max_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.max_y", text.max_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.align.x", text.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.align.y", text.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.id_source", text.id_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.id_text_source", text.id_text_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_text, Edje_Part_Description_Text, "text.elipsis", text.elipsis, EET_T_DOUBLE);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
+   eddc.func.mem_free = mem_free_textblock;
+   eddc.func.mem_alloc = mem_alloc_textblock;
+   _edje_edd_edje_part_description_textblock =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, common);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.r", text.color3.r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.g", text.color3.g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.b", text.color3.b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.color3.a", text.color3.a, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.text", text.text, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.text_class", text.text_class, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.style", text.style, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.font", text.font, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.repch", text.repch, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size", text.size, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size_range_min", text.size_range_min, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.size_range_max", text.size_range_max, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.fit_x", text.fit_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.fit_y", text.fit_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.min_x", text.min_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.min_y", text.min_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.max_x", text.max_x, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.max_y", text.max_y, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.align.x", text.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.align.y", text.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.id_source", text.id_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.id_text_source", text.id_text_source, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_textblock, Edje_Part_Description_Text, "text.elipsis", text.elipsis, EET_T_DOUBLE);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Box);
+   eddc.func.mem_free = mem_free_box;
+   eddc.func.mem_alloc = mem_alloc_box;
+   _edje_edd_edje_part_description_box =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, common);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.layout", box.layout, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.alt_layout", box.alt_layout, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.align.x", box.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.align.y", box.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.padding.x", box.padding.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.padding.y", box.padding.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.min.h", box.min.h, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_box, Edje_Part_Description_Box, "box.min.v", box.min.v, EET_T_UCHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Table);
+   eddc.func.mem_free = mem_free_table;
+   eddc.func.mem_alloc = mem_alloc_table;
+   _edje_edd_edje_part_description_table =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, common);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.homogeneous", table.homogeneous, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.align.x", table.align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.align.y", table.align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.padding.x", table.padding.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.padding.y", table.padding.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.min.h", table.min.h, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, Edje_Part_Description_Table, "table.min.v", table.min.v, EET_T_UCHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_External);
+   eddc.func.mem_free = mem_free_external;
+   eddc.func.mem_alloc = mem_alloc_external;
+   _edje_edd_edje_part_description_external =
+     eet_data_descriptor_file_new(&eddc);
+   EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_external, Edje_Part_Description_External, common);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description_external, Edje_Part_Description_External, "external_params", external_params, _edje_edd_edje_external_param);
+
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_spacer);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_rectangle);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_swallow);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_group);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Image, part_description_image);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Proxy, part_description_proxy);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Text, part_description_text);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Text, part_description_textblock);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Box, part_description_box);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Table, part_description_table);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_External, part_description_external);
+
+   eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
+   eddc.func.type_get = _edje_description_variant_type_get;
+   eddc.func.type_set = _edje_description_variant_type_set;
+   _edje_edd_edje_part_description_variant = eet_data_descriptor_file_new(&eddc);
+
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "spacer",    _edje_edd_edje_part_description_spacer);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "rectangle", _edje_edd_edje_part_description_rectangle);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "swallow",   _edje_edd_edje_part_description_swallow);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "group",     _edje_edd_edje_part_description_group);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "image",     _edje_edd_edje_part_description_image);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "proxy",     _edje_edd_edje_part_description_proxy);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "text",      _edje_edd_edje_part_description_text);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "textblock", _edje_edd_edje_part_description_textblock);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "box",       _edje_edd_edje_part_description_box);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "table",     _edje_edd_edje_part_description_table);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "external",  _edje_edd_edje_part_description_external);
+
+#define EDJE_ADD_ARRAY_MAPPING(Variant, Type, Minus)                   \
+   {                                                                   \
+     Edje_Part_Description_List tmp;                                   \
+                                                                       \
+     eet_data_descriptor_element_add(Variant, Type,                    \
+                                    EET_T_UNKNOW, EET_G_VAR_ARRAY,     \
+                                    0, (char*)(&tmp.desc_count) - (char*)(&tmp), \
+                                    NULL,                              \
+                                    _edje_edd_edje_part_description_##Minus##_pointer); \
+   }
+
+   _edje_edd_edje_part_description_variant_list = eet_data_descriptor_file_new(&eddc);
+
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "rectangle", rectangle);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "spacer",    spacer);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "swallow",   swallow);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "group",     group);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "image",     image);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "proxy",     proxy);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "text",      text);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "textblock", textblock);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "box",       box);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "table",     table);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "external",  external);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
+   _edje_edd_edje_pack_element =
+      eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "type", type, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "min.w", min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "min.h", min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "prefer.w", prefer.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "prefer.h", prefer.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "max.w", max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "max.h", max.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.l", padding.l, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.r", padding.r, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.t", padding.t, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "padding.b", padding.b, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "align.x", align.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "align.y", align.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "weight.x", weight.x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "weight.y", weight.y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.w", aspect.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.h", aspect.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "aspect.mode", aspect.mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "options", options, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "col", col, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "row", row, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "colspan", colspan, EET_T_USHORT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_pack_element, Edje_Pack_Element, "rowspan", rowspan, EET_T_USHORT);
+
+   EDJE_DEFINE_POINTER_TYPE(Pack_Element, pack_element);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part);
+   eddc.func.mem_free = mem_free_part;
+   eddc.func.mem_alloc = mem_alloc_part;
+   _edje_edd_edje_part =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "name", name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "default_desc", default_desc, type, _edje_edd_edje_part_description_variant);
+   EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "other", other, type, _edje_edd_edje_part_description_variant_list);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source", source, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source2", source2, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source3", source3, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source4", source4, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source5", source5, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source6", source6, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.x", dragable.x, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.step_x", dragable.step_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.count_x", dragable.count_x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.y", dragable.y, EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.step_y", dragable.step_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.count_y", dragable.count_y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.counfine_id", dragable.confine_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.events_id", dragable.event_id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part, Edje_Part, "items", items, _edje_edd_edje_pack_element_pointer);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "type", type, EET_T_UCHAR);
+#ifdef HAVE_EPHYSICS
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "physics_body", physics_body, EET_T_UCHAR);
+#endif
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect", effect, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "mouse_events", mouse_events, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "repeat_events", repeat_events, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "scale", scale, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "precise_is_inside", precise_is_inside, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "pointer_mode", pointer_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "entry_mode", entry_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "select_mode", select_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "cursor_mode", cursor_mode, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "multiline", multiline, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "access", access, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.name", api.name, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.description", api.description, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "nested_children_count", nested_children_count, EET_T_UCHAR);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Limit);
+   _edje_edd_edje_part_limit = eet_data_descriptor_file_new(&eddc);
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_limit, Edje_Part_Limit, "part", part, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection);
+   _edje_edd_edje_part_collection  =
+     eet_data_descriptor_file_new(&eddc);
+
+   EDJE_DEFINE_POINTER_TYPE(Program, program);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.fnmatch", programs.fnmatch, _edje_edd_edje_program_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strcmp", programs.strcmp, _edje_edd_edje_program_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strncmp", programs.strncmp, _edje_edd_edje_program_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.strrncmp", programs.strrncmp, _edje_edd_edje_program_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "programs.nocmp", programs.nocmp, _edje_edd_edje_program_pointer);
+
+   EDJE_DEFINE_POINTER_TYPE(Part, part);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "parts", parts, _edje_edd_edje_part_pointer);
+
+   EDJE_DEFINE_POINTER_TYPE(Limit, limit);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.vertical", limits.vertical, _edje_edd_edje_limit_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.horizontal", limits.horizontal, _edje_edd_edje_limit_pointer);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.parts", limits.parts, _edje_edd_edje_part_limit);
+
+   EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_part_collection, Edje_Part_Collection, "data", data, _edje_edd_edje_string);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "id", id, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_HASH_STRING(_edje_edd_edje_part_collection, Edje_Part_Collection, "alias", alias);
+   EET_DATA_DESCRIPTOR_ADD_HASH_STRING(_edje_edd_edje_part_collection, Edje_Part_Collection, "aliased", aliased);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.min.w", prop.min.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.min.h", prop.min.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.max.w", prop.max.w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.max.h", prop.max.h, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "part", part, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "script_only", script_only, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "lua_script_only", lua_script_only, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.orientation", prop.orientation, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "broadcast_signal", broadcast_signal, EET_T_UCHAR);
+#ifdef HAVE_EPHYSICS
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.rate", physics.world.rate, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.x", physics.world.gravity.x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.y", physics.world.gravity.y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.gravity.z", physics.world.gravity.z, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.z", physics.world.z, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.depth", physics.world.depth, EET_T_INT);
+#endif
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics_enabled", physics_enabled, EET_T_UCHAR);
+}
+
+EAPI void
+_edje_data_font_list_desc_make(Eet_Data_Descriptor **_font_list_edd,
+                              Eet_Data_Descriptor **_font_edd)
+{  /* User have to free: _font_list_edd, _font_edd */
+   Eet_Data_Descriptor_Class eddc;
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                             "font", sizeof (Edje_Font));
+   *_font_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(*_font_edd, Edje_Font,
+                                 "file", file, EET_T_INLINED_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(*_font_edd, Edje_Font,
+                                 "name", name, EET_T_INLINED_STRING);
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc),
+                                             "font_list", sizeof (Edje_Font_List));
+   *_font_list_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(*_font_list_edd, Edje_Font_List,
+                                "list", list, *_font_edd);
+}
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
new file mode 100644 (file)
index 0000000..819d385
--- /dev/null
@@ -0,0 +1,7830 @@
+/*
+ * TODO
+ * -----------------------------------------------------------------
+ * Add LUA Support :)
+ * Remove images/fonts
+ * Clean the saving routines
+ *
+ */
+
+#include "edje_private.h"
+
+#define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT
+#include "Edje_Edit.h"
+
+#include <Eo.h>
+
+#ifdef MY_CLASS
+# undef MY_CLASS
+#endif
+
+#define MY_CLASS EDJE_EDIT_CLASS
+
+static const char EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED_STR[] = "Current group cannot be deleted";
+static const char EDJE_EDIT_ERROR_GROUP_REFERENCED_STR[] = "Group still in use";
+static const char EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST_STR[] = "Group does not exist";
+
+EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED = 0 ;
+EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_REFERENCED = 0;
+EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST = 0;
+
+/* Get eed(Edje_Edit*) from obj(Evas_Object*) */
+#define GET_EED_OR_RETURN(RET) \
+   Edje_Edit *eed; \
+   if (!eo_isa(obj, MY_CLASS)) \
+     return RET; \
+   eed = eo_data_get(obj, MY_CLASS); \
+   if (!eed) return RET;
+
+/* Get ed(Edje*) from obj(Evas_Object*) */
+#define GET_ED_OR_RETURN(RET) \
+   Edje *ed; \
+   if (!eo_isa(obj, EDJE_OBJ_CLASS)) \
+     return RET; \
+   ed = eo_data_get(obj, EDJE_OBJ_CLASS); \
+
+/* Get rp(Edje_Real_Part*) from obj(Evas_Object*) and part(char*) */
+#define GET_RP_OR_RETURN(RET) \
+   GET_EED_OR_RETURN(RET) \
+   GET_ED_OR_RETURN(RET) \
+   Edje_Real_Part *rp; \
+   rp = _edje_real_part_get(ed, part); \
+   if (!rp) return RET;
+
+/* Get pd(Edje_Part_Description*) from obj(Evas_Object*), part(char*) and state (char*) */
+#define GET_PD_OR_RETURN(RET) \
+   GET_EED_OR_RETURN(RET) \
+   GET_ED_OR_RETURN(RET) \
+   Edje_Real_Part *rp; \
+   Edje_Part_Description_Common *pd; \
+   rp = _edje_real_part_get(ed, part); \
+   if (!rp) return RET; \
+   pd = _edje_part_description_find_byname(eed, part, state, value); \
+   if (!pd) return RET;
+
+/* Get epr(Edje_Program*) from obj(Evas_Object*) and prog(char*)*/
+#define GET_EPR_OR_RETURN(RET) \
+   Edje_Program *epr; \
+   if (!eo_isa(obj, MY_CLASS)) \
+     return RET; \
+   epr = _edje_program_get_byname(obj, prog); \
+   if (!epr) return RET;
+
+static void *
+_alloc(size_t size)
+{
+   void *mem;
+
+   mem = calloc(1, size);
+   if (mem) return mem;
+   ERR("Edje_Edit: Error. memory allocation of %i bytes failed. %s",
+       (int)size, strerror(errno));
+   return NULL;
+}
+
+/*************/
+/* INTERNALS */
+/*************/
+
+/* Edje_Edit smart! Overloads the edje one adding some more control stuff */
+static const char _edje_edit_type[] = "edje_edit";
+
+typedef struct _Edje_Edit Edje_Edit;
+struct _Edje_Edit
+{
+   Edje *base;
+
+   void *bytecode;
+   int bytecode_size;
+
+   char *embryo_source;
+   char *embryo_processed;
+   Eina_Hash *program_scripts;
+
+   Eina_List *errors;
+
+   Eina_Bool bytecode_dirty:1;
+   Eina_Bool embryo_source_dirty:1;
+   Eina_Bool all_dirty:1;
+   Eina_Bool script_need_recompile:1;
+};
+
+typedef struct _Program_Script Program_Script;
+struct _Program_Script
+{
+   int id;
+   char *code;
+   char *processed;
+   Eina_Bool dirty:1;
+   Eina_Bool delete_me:1;
+};
+
+static Eina_Bool _edje_edit_edje_file_save(Eet_File *eetf, Edje_File *ef);
+
+static void
+_edje_edit_data_clean(Edje_Edit *eed)
+{
+   Edje_Edit_Script_Error *se;
+
+   free(eed->bytecode);
+   free(eed->embryo_source);
+   free(eed->embryo_processed);
+
+   if (eed->program_scripts)
+     eina_hash_free(eed->program_scripts);
+
+   EINA_LIST_FREE(eed->errors, se)
+     {
+        eina_stringshare_del(se->program_name);
+        eina_stringshare_del(se->error_str);
+        free(se);
+     }
+
+   eed->bytecode = NULL;
+   eed->embryo_source = NULL;
+   eed->embryo_processed = NULL;
+   eed->program_scripts = NULL;
+   eed->bytecode_size = 0;
+   eed->bytecode_dirty = EINA_FALSE;
+   eed->embryo_source_dirty = EINA_FALSE;
+   eed->all_dirty = EINA_FALSE;
+   eed->script_need_recompile = EINA_FALSE;
+}
+
+static void
+_edje_edit_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje_Edit *eed = _pd;
+   _edje_edit_data_clean(eed);
+
+   eo_do_super(obj, evas_obj_smart_del());
+}
+
+static void
+_edje_edit_program_script_free(Program_Script *ps)
+{
+   free(ps->code);
+   free(ps->processed);
+   free(ps);
+}
+
+static void
+_edje_edit_smart_file_set(Eo *obj, void *_pd, va_list *list)
+{
+   const char *file = va_arg(*list, const char *);
+   const char *group= va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje_Edit *eed = _pd;
+   Eet_File *ef;
+   char **keys, buf[64];
+   int count, i;
+   int len = strlen("edje/scripts/embryo/source/");
+
+   if (ret) *ret = EINA_FALSE;
+
+   _edje_edit_data_clean(eed);
+
+   /* TODO and maybes:
+    *  * The whole point of this thing is keep track of stuff such as
+    *    strings to free and who knows what, so we need to take care
+    *    of those if the file/group changes.
+    *  * Maybe have the possibility to open just files, not always with
+    *    a group given.
+    *  * A way to skip the cache? Could help avoid some issues when editing
+    *    a group being used by the application in some other way, or multiple
+    *    opens of the same file.
+    *  * Here we probably want to allow opening groups with broken references
+    *    (GROUP parts or BOX/TABLE items pointing to non-existent/renamed
+    *    groups).
+    */
+   Eina_Bool int_ret = EINA_FALSE;
+   eo_do_super(obj, edje_obj_file_set(file, group, &int_ret));
+   if (!int_ret)
+     return;
+
+   eed->program_scripts = eina_hash_int32_new((Eina_Free_Cb)_edje_edit_program_script_free);
+
+   ef = eet_open(file, EET_FILE_MODE_READ);
+
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
+            eed->base->collection->id);
+   eed->embryo_source = eet_read(ef, buf, &count);
+
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/*",
+            eed->base->collection->id);
+   keys = eet_list(ef, buf, &count);
+   for (i = 0; i < count; i++)
+     {
+        Program_Script *ps;
+        int size;
+
+        ps = calloc(1, sizeof(Program_Script));
+
+        sscanf(keys[i] + len, "%*i/%i", &ps->id);
+        ps->code = eet_read(ef, keys[i], &size);
+        eina_hash_add(eed->program_scripts, &ps->id, ps);
+     }
+   if (keys) free(keys);
+   eet_close(ef);
+
+   if (ret) *ret = EINA_TRUE;
+}
+
+static void
+_edje_edit_error_register(void)
+{
+   EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST =
+     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST_STR);
+   EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED =
+     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED_STR);
+   EDJE_EDIT_ERROR_GROUP_REFERENCED =
+     eina_error_msg_static_register(EDJE_EDIT_ERROR_GROUP_REFERENCED_STR);
+}
+
+EAPI Evas_Object *
+edje_edit_object_add(Evas *evas)
+{
+   Evas_Object *e;
+   e = eo_add(MY_CLASS, evas);
+   eo_unref(e);
+   return e;
+}
+
+static void
+_edje_edit_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
+{
+   Edje_Edit *eed = class_data;
+   eed->base = eo_data_get(obj, EDJE_OBJ_CLASS);
+
+   eo_do_super(obj, eo_constructor());
+   eina_error_set(0);
+
+   if (!EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST)
+     _edje_edit_error_register();
+}
+/* End of Edje_Edit smart stuff */
+
+static Edje_Part_Description_Common *
+_edje_part_description_find_byname(Edje_Edit *eed, const char *part, const char *state, double value)
+{
+   Edje_Real_Part *rp;
+   Edje_Part_Description_Common *pd;
+
+   if (!eed || !part || !state) return NULL;
+
+   rp = _edje_real_part_get((Edje *)eed, part);
+   if (!rp) return NULL;
+
+   pd = _edje_part_description_find((Edje *)eed, rp, state, value);
+
+   return pd;
+}
+
+static int
+_edje_image_id_find(Edje_Edit *eed, const char *image_name)
+{
+   unsigned int i;
+
+   if (!eed->base->file) return -1;
+   if (!eed->base->file->image_dir) return -1;
+
+   //printf("SEARCH IMAGE %s\n", image_name);
+
+   for (i = 0; i < eed->base->file->image_dir->entries_count; ++i)
+     if (eed->base->file->image_dir->entries[i].entry
+        && !strcmp(image_name, eed->base->file->image_dir->entries[i].entry))
+       return i;
+
+   return -1;
+}
+
+static const char *
+_edje_image_name_find(Edje_Edit *eed, int image_id)
+{
+   if (!eed->base->file) return NULL;
+   if (!eed->base->file->image_dir) return NULL;
+
+   /* Special case for external image */
+   if (image_id < 0) image_id = -image_id - 1;
+
+   //printf("SEARCH IMAGE ID %d\n", image_id);
+   if ((unsigned int) image_id >= eed->base->file->image_dir->entries_count)
+     return NULL;
+   return eed->base->file->image_dir->entries[image_id].entry;
+}
+
+static void
+_edje_real_part_free(Edje_Real_Part *rp)
+{
+   if (!rp) return;
+
+   if (rp->object)
+     {
+       _edje_callbacks_del(rp->object, rp->edje);
+       evas_object_del(rp->object);
+     }
+
+   if (rp->typedata.swallow->swallowed_object)
+     {
+       evas_object_smart_member_del(rp->typedata.swallow->swallowed_object);
+       evas_object_event_callback_del(rp->typedata.swallow->swallowed_object,
+                                      EVAS_CALLBACK_FREE,
+                                      _edje_object_part_swallow_free_cb);
+       evas_object_clip_unset(rp->typedata.swallow->swallowed_object);
+       evas_object_data_del(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part");
+       if (rp->part->mouse_events)
+         _edje_callbacks_del(rp->typedata.swallow->swallowed_object, rp->edje);
+
+       if (rp->part->type == EDJE_PART_TYPE_GROUP ||
+           rp->part->type == EDJE_PART_TYPE_EXTERNAL)
+         evas_object_del(rp->typedata.swallow->swallowed_object);
+
+       rp->typedata.swallow->swallowed_object = NULL;
+     }
+
+   if (rp->typedata.text->text) eina_stringshare_del(rp->typedata.text->text);
+   if (rp->typedata.text->font) eina_stringshare_del(rp->typedata.text->font);
+   if (rp->typedata.text->cache.in_str) eina_stringshare_del(rp->typedata.text->cache.in_str);
+   if (rp->typedata.text->cache.out_str) eina_stringshare_del(rp->typedata.text->cache.out_str);
+
+   if (rp->custom)
+     {
+       _edje_collection_free_part_description_clean(rp->part->type, rp->custom->description, 0);
+        if (rp->custom) free(rp->custom->set);
+        eina_mempool_free(_edje_real_part_state_mp, rp->custom);
+       rp->custom = NULL;
+     }
+
+   free(rp->drag);
+
+   if (rp->param2) free(rp->param2->set);
+   eina_mempool_free(_edje_real_part_state_mp, rp->param2);
+
+   _edje_unref(rp->edje);
+   eina_mempool_free(_edje_real_part_mp, rp);
+}
+
+static Eina_Bool
+_edje_import_font_file(Edje *ed, const char *path, const char *entry)
+{
+   Eina_File *f;
+   Eet_File *eetf = NULL;
+   void *fdata = NULL;
+   long fsize = 0;
+
+   /* Read font data from file */
+   f = eina_file_open(path, 0);
+   if (!f)
+     {
+        ERR("Unable to open font file \"%s\"", path);
+        return EINA_FALSE;
+     }
+
+   fsize = eina_file_size_get(f);
+   fdata = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
+   if (!fdata)
+     {
+        ERR("Unable to map font file \"%s\"", path);
+        goto on_error;
+     }
+
+   /* Write font to edje file */
+   eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+   if (!eetf)
+     {
+        ERR("Unable to open \"%s\" for writing output", ed->path);
+        goto on_error;
+     }
+
+   if (eet_write(eetf, entry, fdata, fsize, 1) <= 0)
+     {
+        ERR("Unable to write font part \"%s\" as \"%s\" part entry",
+            path, entry);
+        goto on_error;
+     }
+
+   /* write the edje_file */
+   if (!_edje_edit_edje_file_save(eetf, ed->file))
+     goto on_error;
+
+   eet_close(eetf);
+
+   eina_file_map_free(f, fdata);
+   eina_file_close(f);
+
+   return EINA_TRUE;
+
+ on_error:
+   if (eetf) eet_close(eetf);
+   eina_file_map_free(f, fdata);
+   eina_file_close(f);
+
+   return EINA_FALSE;
+}
+
+
+static Eina_Bool
+_edje_import_image_file(Edje *ed, const char *path, int id)
+{
+   char entry[PATH_MAX];
+   Evas_Object *im;
+   Eet_File *eetf;
+   void *im_data;
+   int  im_w, im_h;
+   int  im_alpha;
+   int bytes;
+
+   /* Try to load the file */
+   im = evas_object_image_add(ed->base->evas);
+   if (!im) return EINA_FALSE;
+
+   evas_object_image_file_set(im, path, NULL);
+   if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE)
+     {
+        ERR("Edje_Edit: unable to load image \"%s\"."
+           "Missing PNG or JPEG loader modules for Evas or "
+           "file does not exist, or is not readable.", path);
+        evas_object_del(im);
+       im = NULL;
+       return EINA_FALSE;
+     }
+
+   /* Write the loaded image to the edje file */
+
+   evas_object_image_size_get(im, &im_w, &im_h);
+   im_alpha = evas_object_image_alpha_get(im);
+   im_data = evas_object_image_data_get(im, 0);
+   if ((!im_data) || !(im_w > 0) || !(im_h > 0))
+     {
+       evas_object_del(im);
+       return EINA_FALSE;
+     }
+
+   /* open the eet file */
+   eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+   if (!eetf)
+     {
+       ERR("Unable to open \"%s\" for writing output", ed->path);
+       evas_object_del(im);
+       return EINA_FALSE;
+     }
+
+   snprintf(entry, sizeof(entry), "edje/images/%i", id);
+
+   /* write the image data */
+   bytes = eet_data_image_write(eetf, entry,
+                               im_data, im_w, im_h,
+                               im_alpha,
+                               0, 100, 1);
+   if (bytes <= 0)
+     {
+       ERR("Unable to write image part \"%s\" part entry to %s",
+           entry, ed->path);
+       eet_close(eetf);
+       evas_object_del(im);
+       return EINA_FALSE;
+     }
+
+   evas_object_del(im);
+
+   /* write the edje_file */
+   if (!_edje_edit_edje_file_save(eetf, ed->file))
+     {
+       eet_delete(eetf, entry);
+       eet_close(eetf);
+       return EINA_FALSE;
+     }
+
+   eet_close(eetf);
+   return EINA_TRUE;
+}
+
+static int
+_edje_part_id_find(Edje *ed, const char *part)
+{
+   unsigned int id;
+
+   for (id = 0; id < ed->table_parts_size; id++)
+     {
+       Edje_Real_Part *rp = ed->table_parts[id];
+
+       if (!strcmp(rp->part->name, part))
+         return id;
+     }
+   return -1;
+}
+
+static void
+_edje_part_description_id_set(int type, Edje_Part_Description_Common *c, int old_id, int new_id)
+{
+   if (c->rel1.id_x == old_id) c->rel1.id_x = new_id;
+   if (c->rel1.id_y == old_id) c->rel1.id_y = new_id;
+   if (c->rel2.id_x == old_id) c->rel2.id_x = new_id;
+   if (c->rel2.id_y == old_id) c->rel2.id_y = new_id;
+
+   if (type == EDJE_PART_TYPE_TEXT
+       || type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+       Edje_Part_Description_Text *t;
+
+       t = (Edje_Part_Description_Text *) c;
+
+       if (t->text.id_source == old_id) t->text.id_source = new_id;
+       if (t->text.id_text_source == old_id) t->text.id_text_source = new_id;
+     }
+}
+
+static void
+_edje_part_program_id_set(Edje_Program *epr, int old_id, int new_id)
+{
+   Edje_Program_Target *pt;
+   Eina_List *ll, *l_next;
+
+   if (epr->action != EDJE_ACTION_TYPE_STATE_SET)
+     return;
+
+   EINA_LIST_FOREACH_SAFE(epr->targets, ll, l_next, pt)
+     {
+       if (pt->id == old_id)
+         {
+            if (new_id == -1)
+              epr->targets = eina_list_remove_list(epr->targets, ll);
+            else
+              pt->id = new_id;
+         }
+     }
+}
+
+static void
+_edje_part_id_set(Edje *ed, Edje_Real_Part *rp, int new_id)
+{
+   /* This function change the id of a given real_part.
+    * All the depedency will be updated too.
+    * Also the table_parts is updated, and the current *rp in the table
+    * is lost.
+    * If new Id = -1 then all the depencies will be deleted
+    */
+   Edje_Part *part;
+   unsigned int j;
+   int old_id;
+
+   part = rp->part;
+
+   if (!part) return;
+   //printf("CHANGE ID OF PART %s TO %d\n", part->name, new_id);
+
+   if (!ed || new_id < -1) return;
+
+   if (part->id == new_id) return;
+
+   old_id = part->id;
+   part->id = new_id;
+
+   /* Fix all the dependecies in all parts... */
+   for (j = 0; j < ed->collection->parts_count; ++j)
+     {
+       Edje_Part *p;
+       unsigned int k;
+
+       p = ed->collection->parts[j];
+
+       //printf("   search id: %d in %s\n", old_id, p->name);
+       if (p->clip_to_id == old_id) p->clip_to_id = new_id;
+       if (p->dragable.confine_id == old_id) p->dragable.confine_id = new_id;
+
+       /* ...in default description */
+       _edje_part_description_id_set(p->type, p->default_desc, old_id, new_id);
+
+       /* ...and in all other descriptions */
+       for (k = 0; k < p->other.desc_count; ++k)
+         _edje_part_description_id_set(p->type, p->other.desc[k], old_id, new_id);
+     }
+
+   /*...and also in programs targets */
+#define EDJE_EDIT_PROGRAM_ID_SET(Array, Ed, It, Old, New)              \
+   for (It = 0; It < Ed->collection->programs.Array##_count; ++It)     \
+     _edje_part_program_id_set(Ed->collection->programs.Array[It], Old, New);
+
+   EDJE_EDIT_PROGRAM_ID_SET(fnmatch, ed, j, old_id, new_id);
+   EDJE_EDIT_PROGRAM_ID_SET(strcmp, ed, j, old_id, new_id);
+   EDJE_EDIT_PROGRAM_ID_SET(strncmp, ed, j, old_id, new_id);
+   EDJE_EDIT_PROGRAM_ID_SET(strrncmp, ed, j, old_id, new_id);
+   EDJE_EDIT_PROGRAM_ID_SET(nocmp, ed, j, old_id, new_id);
+
+   /* Adjust table_parts */
+   if (new_id >= 0)
+     ed->table_parts[new_id] = rp;
+}
+
+static void
+_edje_part_description_id_switch(int type, Edje_Part_Description_Common *c, int id1, int id2)
+{
+   if (c->rel1.id_x == id1) c->rel1.id_x = id2;
+   else if (c->rel1.id_x == id2) c->rel1.id_x = id1;
+   if (c->rel1.id_y == id1) c->rel1.id_y = id2;
+   else if (c->rel1.id_y == id2) c->rel1.id_y = id1;
+   if (c->rel2.id_x == id1) c->rel2.id_x = id2;
+   else if (c->rel2.id_x == id2) c->rel2.id_x = id1;
+   if (c->rel2.id_y == id1) c->rel2.id_y = id2;
+   else if (c->rel2.id_y == id2) c->rel2.id_y = id1;
+
+   if (type == EDJE_PART_TYPE_TEXT
+       || type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+       Edje_Part_Description_Text *t;
+
+       t = (Edje_Part_Description_Text *) c;
+
+       if (t->text.id_source == id1) t->text.id_source = id2;
+       else if (t->text.id_source == id2) t->text.id_source = id1;
+       if (t->text.id_text_source == id1) t->text.id_text_source = id2;
+       else if (t->text.id_text_source == id2) t->text.id_text_source = id2;
+     }
+}
+
+static void
+_edje_part_program_id_switch(Edje_Program *epr, int id1, int id2)
+{
+   Edje_Program_Target *pt;
+   Eina_List *ll;
+
+   if (epr->action != EDJE_ACTION_TYPE_STATE_SET)
+     return;
+
+   EINA_LIST_FOREACH(epr->targets, ll, pt)
+     {
+       if (pt->id == id1) pt->id = id2;
+       else if (pt->id == id2) pt->id = id1;
+     }
+}
+
+static void
+_edje_parts_id_switch(Edje *ed, Edje_Real_Part *rp1, Edje_Real_Part *rp2)
+{
+   /* This function switch the id of two parts.
+    * All the depedency will be updated too.
+    * Also the table_parts is updated,
+    * The parts list isn't touched
+    */
+   int id1;
+   int id2;
+   unsigned int i;
+
+   //printf("SWITCH ID OF PART %d AND %d\n", rp1->part->id, rp2->part->id);
+
+   if (!ed || !rp1 || !rp2) return;
+   if (rp1 == rp2) return;
+
+   id1 = rp1->part->id;
+   id2 = rp2->part->id;
+
+   /* Switch ids */
+   rp1->part->id = id2;
+   rp2->part->id = id1;
+
+   /* adjust table_parts */
+   ed->table_parts[id1] = rp2;
+   ed->table_parts[id2] = rp1;
+
+   // Fix all the dependecies in all parts...
+   for (i = 0; i < ed->collection->parts_count; ++i)
+     {
+       unsigned int j;
+       Edje_Part *p;
+
+       p = ed->collection->parts[i];
+
+       //printf("   search id: %d in %s\n", old_id, p->name);
+       if (p->clip_to_id == id1) p->clip_to_id = id2;
+       else if (p->clip_to_id == id2) p->clip_to_id = id1;
+       if (p->dragable.confine_id == id1) p->dragable.confine_id = id2;
+       else if (p->dragable.confine_id == id2) p->dragable.confine_id = id1;
+
+       // ...in default description
+       _edje_part_description_id_switch(p->type, p->default_desc, id1, id2);
+
+       // ...and in all other descriptions
+       for (j = 0; j < p->other.desc_count; ++j)
+         _edje_part_description_id_switch(p->type, p->other.desc[j], id1, id2);
+     }
+
+   //...and also in programs targets
+#define EDJE_EDIT_PROGRAM_SWITCH(Array, Ed, It, Id1, Id2)              \
+   for (It = 0; It < Ed->collection->programs.Array##_count; ++It)     \
+     _edje_part_program_id_switch(Ed->collection->programs.Array[i], Id1, Id2);
+
+   EDJE_EDIT_PROGRAM_SWITCH(fnmatch, ed, i, id1, id2);
+   EDJE_EDIT_PROGRAM_SWITCH(strcmp, ed, i, id1, id2);
+   EDJE_EDIT_PROGRAM_SWITCH(strncmp, ed, i, id1, id2);
+   EDJE_EDIT_PROGRAM_SWITCH(strrncmp, ed, i, id1, id2);
+   EDJE_EDIT_PROGRAM_SWITCH(nocmp, ed, i, id1, id2);
+   //TODO Real part dependencies are ok?
+}
+
+static void
+_edje_fix_parts_id(Edje *ed)
+{
+   /* We use this to clear the id hole leaved when a part is removed.
+    * After the execution of this function all parts will have a right
+    * (uniqe & ordered) id. The table_parts is also updated.
+    */
+   unsigned int i;
+   int correct_id;
+   unsigned int count;
+
+   //printf("FIXING PARTS ID \n");
+
+   //TODO order the list first to be more robust
+
+   /* Give a correct id to all the parts */
+   correct_id = 0;
+   for (i = 0; i < ed->collection->parts_count; ++i)
+     {
+       Edje_Part *p;
+
+       p = ed->collection->parts[i];
+
+       //printf(" [%d]Checking part: %s id: %d\n", correct_id, p->name, p->id);
+       if (p->id != correct_id)
+         if (ed->table_parts[p->id])
+           _edje_part_id_set(ed, ed->table_parts[p->id], correct_id);
+
+       correct_id++;
+     }
+
+   /* If we have removed some parts realloc table_parts */
+   count = ed->collection->parts_count;
+   if (count != ed->table_parts_size)
+     {
+        ed->table_parts = realloc(ed->table_parts, sizeof(Edje_Real_Part *) * count);
+        ed->table_parts_size = count;
+     }
+
+   //printf("\n");
+}
+
+static void
+_edje_if_string_free(Edje *ed, const char *str)
+{
+   Eet_Dictionary *dict;
+
+   if (!ed || !str) return;
+
+   dict = eet_dictionary_get(ed->file->ef);
+   if (eet_dictionary_string_check(dict, str)) return;
+   eina_stringshare_del(str);
+   str = NULL;
+}
+
+static Edje_Style *
+_edje_edit_style_get(Edje *ed, const char *name)
+{
+   Eina_List *l;
+   Edje_Style *s;
+
+   if (!ed || !ed->file || !ed->file->styles || !name)
+      return NULL;
+
+   EINA_LIST_FOREACH(ed->file->styles, l, s)
+      if (s->name && !strcmp(s->name, name))
+         return s;
+
+   return NULL;
+}
+
+static Edje_Style_Tag *
+_edje_edit_style_tag_get(Edje *ed, const char *style, const char *name)
+{
+   Eina_List *l;
+   Edje_Style *s;
+   Edje_Style_Tag *t;
+
+   if (!ed || !ed->file || !ed->file->styles || !name)
+      return NULL;
+
+   s = _edje_edit_style_get(ed, style);
+
+   EINA_LIST_FOREACH(s->tags, l, t)
+      if (t->key && !strcmp(t->key, name))
+         return t;
+
+   return NULL;
+}
+
+static Edje_External_Directory_Entry *
+_edje_edit_external_get(Edje *ed, const char *name)
+{
+   unsigned int i;
+
+   if (!ed || !ed->file || !ed->file->external_dir || !name)
+     return NULL;
+
+   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
+     if (ed->file->external_dir->entries[i].entry
+        && !strcmp(ed->file->external_dir->entries[i].entry, name))
+       return ed->file->external_dir->entries + i;
+
+   return NULL;
+}
+
+static void
+_edje_edit_group_references_update(Evas_Object *obj, const char *old_group_name, const char *new_group_name)
+{
+   Eina_Iterator *i;
+   Eina_List *pll, *pl;
+//   Edje_Part_Collection *pc;
+   Edje_Part_Collection_Directory_Entry *pce;
+   char *part_name;
+   const char *source, *old;
+   Edje_Part_Type type;
+   Evas_Object *part_obj;
+
+   GET_ED_OR_RETURN();
+
+//   pc = ed->collection;
+
+   part_obj = edje_edit_object_add(ed->base->evas);
+
+   old = eina_stringshare_add(old_group_name);
+
+   i = eina_hash_iterator_data_new(ed->file->collection);
+
+   EINA_ITERATOR_FOREACH(i, pce)
+     {
+       edje_object_file_set(part_obj, ed->file->path, pce->entry);
+
+       pl = edje_edit_parts_list_get(part_obj);
+
+       EINA_LIST_FOREACH(pl, pll, part_name)
+         {
+            source = edje_edit_part_source_get(part_obj, part_name);
+            type = edje_edit_part_type_get(part_obj, part_name);
+
+            if (type ==  EDJE_PART_TYPE_GROUP && source == old)
+              edje_edit_part_source_set(part_obj, part_name, new_group_name);
+
+            if (source)
+              eina_stringshare_del(source);
+         }
+     }
+
+   eina_iterator_free(i);
+
+   eina_stringshare_del(old);
+
+   evas_object_del(part_obj);
+}
+
+static void
+_edje_edit_flag_script_dirty(Edje_Edit *eed, Eina_Bool all)
+{
+   eed->script_need_recompile = EINA_TRUE;
+   if (all)
+     eed->all_dirty = EINA_TRUE;
+}
+
+/*****************/
+/*  GENERAL API  */
+/*****************/
+
+EAPI void
+edje_edit_string_list_free(Eina_List *lst)
+{
+   eina_error_set(0);
+   //printf("FREE LIST: \n");
+   while (lst)
+     {
+        if (eina_list_data_get(lst)) eina_stringshare_del(eina_list_data_get(lst));
+       //printf("FREE: %s\n", eina_list_data_get(lst));
+       lst = eina_list_remove(lst, eina_list_data_get(lst));
+     }
+}
+
+EAPI void
+edje_edit_string_free(const char *str)
+{
+   eina_error_set(0);
+
+   if (str) eina_stringshare_del(str);
+}
+
+EAPI const char*
+edje_edit_compiler_get(Evas_Object *obj)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(0);
+   return eina_stringshare_add(ed->file->compiler);
+}
+
+/****************/
+/*  GROUPS API  */
+/****************/
+
+EAPI Eina_Bool
+edje_edit_group_add(Evas_Object *obj, const char *name)
+{
+   Edje_Part_Collection_Directory_Entry *de;
+   Edje_Part_Collection_Directory_Entry *d;
+   Edje_Part_Collection *pc;
+   int id;
+   int search;
+   //Code *cd;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   //printf("ADD GROUP: %s \n", name);
+
+   /* check if a group with the same name already exists */
+   if (eina_hash_find(ed->file->collection, name))
+     return EINA_FALSE;
+
+   /* Create structs */
+   de = _alloc(sizeof(Edje_Part_Collection_Directory_Entry));
+   if (!de) return EINA_FALSE;
+
+   pc = _alloc(sizeof(Edje_Part_Collection));
+   if (!pc)
+     {
+       free(de);
+       return EINA_FALSE;
+     }
+
+   /* Search first free id */
+   id = -1;
+   search = 0;
+   while (id == -1)
+     {
+       Eina_Iterator *i;
+       Eina_Bool found = 0;
+
+       i = eina_hash_iterator_data_new(ed->file->collection);
+
+       EINA_ITERATOR_FOREACH(i, d)
+         {
+            // printf("search if %d is free [id %d]\n", search, d->id);
+            if (search == d->id)
+              {
+                 found = 1;
+                 break;
+              }
+         }
+
+       eina_iterator_free(i);
+
+       if (!found) id = search;
+       else search++;
+     }
+
+   /* Init Edje_Part_Collection_Directory_Entry */
+   //printf(" new id: %d\n", id);
+   de->id = id;
+   de->entry = eina_stringshare_add(name);
+   eina_hash_direct_add(ed->file->collection, de->entry, de);
+
+   /* Init Edje_Part_Collection */
+   pc->id = id;
+   pc->references = 0;
+   memset(&pc->programs, 0, sizeof (pc->programs));
+   pc->parts = NULL;
+   pc->data = NULL;
+   pc->script = NULL;
+   pc->part = eina_stringshare_add(name);
+
+   //cd = _alloc(sizeof(Code));
+   //codes = eina_list_append(codes, cd);
+#define EDIT_EMN(Tp, Sz, Ce)                                                   \
+   Ce->mp.Tp = eina_mempool_add("chained_mempool", #Tp, NULL, sizeof (Sz), 8);
+
+   EDIT_EMN(RECTANGLE, Edje_Part_Description_Common, de);
+   EDIT_EMN(TEXT, Edje_Part_Description_Text, de);
+   EDIT_EMN(IMAGE, Edje_Part_Description_Image, de);
+   EDIT_EMN(SWALLOW, Edje_Part_Description_Common, de);
+   EDIT_EMN(TEXTBLOCK, Edje_Part_Description_Text, de);
+   EDIT_EMN(GROUP, Edje_Part_Description_Common, de);
+   EDIT_EMN(BOX, Edje_Part_Description_Box, de);
+   EDIT_EMN(TABLE, Edje_Part_Description_Table, de);
+   EDIT_EMN(EXTERNAL, Edje_Part_Description_External, de);
+   EDIT_EMN(SPACER, Edje_Part_Description_Common, de);
+   EDIT_EMN(part, Edje_Part, de);
+
+   ed->file->collection_cache = eina_list_prepend(ed->file->collection_cache, pc);
+   _edje_cache_coll_clean(ed->file);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_group_del(Evas_Object *obj, const char *group_name)
+{
+   Edje_Part_Collection_Directory_Entry *e;
+   Edje_Part_Collection *die = NULL;
+   Edje_Part_Collection *g;
+   Eina_List *l;
+   Eet_File *eetf;
+   char buf[64], **keys;
+   int count;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   /* if (eina_hash_find(ed->file->collection_hash, group_name)) */
+   /*   return EINA_FALSE; */
+
+   if (strcmp(ed->group, group_name) == 0)
+     {
+       eina_error_set(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED);
+       return EINA_FALSE;
+     }
+
+   e = eina_hash_find(ed->file->collection, group_name);
+   if (!e)
+     {
+       eina_error_set(EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST);
+       return EINA_FALSE;
+     }
+
+   if (e->id == ed->collection->id)
+     {
+       eina_error_set(EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED);
+       return EINA_FALSE;
+     }
+
+   if (e->ref)
+     {
+       eina_error_set(EDJE_EDIT_ERROR_GROUP_REFERENCED);
+       return EINA_FALSE;
+     }
+
+   _edje_edit_group_references_update(obj, group_name, NULL);
+
+   EINA_LIST_FOREACH(ed->file->collection_cache, l, g)
+     if (g->id == e->id)
+       {
+         ed->file->collection_cache =
+           eina_list_remove_list(ed->file->collection_cache, l);
+         die = g;
+         break;
+       }
+
+   /* Remove collection/id from eet file */
+   eetf = eet_open(ed->file->path, EET_FILE_MODE_READ_WRITE);
+   if (!eetf)
+     {
+       ERR("Edje_Edit: Error. unable to open \"%s\" "
+           "for writing output", ed->file->path);
+       return EINA_FALSE;
+     }
+   snprintf(buf, sizeof(buf), "edje/collections/%d", e->id);
+   eet_delete(eetf, buf);
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%d", e->id);
+   eet_delete(eetf, buf);
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%d", e->id);
+   eet_delete(eetf, buf);
+   snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%d/*", e->id);
+   keys = eet_list(eetf, buf, &count);
+   if (keys)
+     {
+        do
+          {
+             count--;
+             eet_delete(eetf, keys[count]);
+          }
+        while(count);
+        free(keys);
+     }
+   eet_close(eetf);
+
+   /* Free Group */
+   if (die) _edje_collection_free(ed->file, die, e);
+   eina_hash_del(ed->file->collection, group_name, e);
+
+   /* we need to save everything to make sure the file won't have broken
+    * references the next time is loaded */
+   edje_edit_save_all(obj);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_group_exist(Evas_Object *obj, const char *group)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (eina_hash_find(ed->file->collection, group))
+     return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_group_name_set(Evas_Object *obj, const char *new_name)
+{
+   Edje_Part_Collection_Directory_Entry *pce;
+   Edje_Part_Collection *pc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!new_name) return EINA_FALSE;
+
+   pc = ed->collection;
+
+   if (!strcmp(pc->part, new_name)) return EINA_TRUE;
+
+   if (edje_edit_group_exist(obj, new_name)) return EINA_FALSE;
+
+   _edje_edit_group_references_update(obj, pc->part, new_name);
+
+   //printf("Set name of current group: %s [id: %d][new name: %s]\n",
+       // pc->part, pc->id, new_name);
+
+   //if (pc->part && ed->file->free_strings) eina_stringshare_del(pc->part); TODO FIXME
+   pce = eina_hash_find(ed->file->collection, pc->part);
+
+   eina_hash_move(ed->file->collection, pce->entry, new_name);
+
+   pce->entry = eina_stringshare_add(new_name);
+   pc->part = pce->entry;
+   eina_stringshare_replace(&ed->group, new_name);
+
+   return EINA_TRUE;
+}
+
+#define FUNC_GROUP_ACCESSOR(Class, Value)                      \
+  EAPI int                                                     \
+  edje_edit_group_##Class##_##Value##_get(Evas_Object *obj)    \
+  {                                                            \
+     eina_error_set(0);                                                \
+     GET_ED_OR_RETURN(-1);                                     \
+     if (!ed->collection) return -1;                           \
+     return ed->collection->prop.Class.Value;                  \
+  }                                                            \
+  EAPI void                                                    \
+  edje_edit_group_##Class##_##Value##_set(Evas_Object *obj, int v)     \
+  {                                                            \
+     eina_error_set(0);                                                \
+     GET_ED_OR_RETURN();                                       \
+     ed->collection->prop.Class.Value = v;                     \
+  }
+
+FUNC_GROUP_ACCESSOR(min, w);
+FUNC_GROUP_ACCESSOR(min, h);
+FUNC_GROUP_ACCESSOR(max, w);
+FUNC_GROUP_ACCESSOR(max, h);
+
+/***************/
+/*  DATA API   */
+/***************/
+
+EAPI Eina_List *
+edje_edit_group_data_list_get(Evas_Object * obj)
+{
+   Eina_Iterator *it;
+   Eina_List *datas = NULL;
+   const char *key;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->collection || !ed->collection->data)
+     return NULL;
+
+   it = eina_hash_iterator_key_new(ed->collection->data);
+   if (!it) return NULL;
+
+   EINA_ITERATOR_FOREACH(it, key)
+     datas = eina_list_append(datas, eina_stringshare_add(key));
+
+   eina_iterator_free(it);
+
+   return datas;
+}
+
+EAPI Eina_List *
+edje_edit_data_list_get(Evas_Object * obj)
+{
+   Eina_Iterator *i;
+   Eina_List *datas = NULL;
+   const char *key;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->data)
+     return NULL;
+
+   i = eina_hash_iterator_key_new(ed->file->data);
+
+   EINA_ITERATOR_FOREACH(i, key)
+     datas = eina_list_append(datas, eina_stringshare_add(key));
+
+   eina_iterator_free(i);
+
+   return datas;
+}
+
+EAPI Eina_Bool
+edje_edit_group_data_add(Evas_Object *obj, const char *key, const char *value)
+{
+   Edje_String *es;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!key || !ed->file || !ed->collection)
+     return EINA_FALSE;
+
+   if (!ed->collection->data)
+     ed->collection->data = eina_hash_string_small_new(NULL);
+
+   if (eina_hash_find(ed->collection->data, key))
+     return EINA_FALSE;
+
+   es = calloc(1, sizeof(Edje_String));
+   if (!es)
+     return EINA_FALSE;
+   es->str = eina_stringshare_add(value);
+
+   if (!eina_hash_add(ed->collection->data, key, es))
+     {
+        eina_stringshare_del(es->str);
+        free(es);
+        return EINA_FALSE;
+     }
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_data_add(Evas_Object *obj, const char *itemname, const char *value)
+{
+   Edje_String *es;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!itemname || !ed->file)
+     return EINA_FALSE;
+
+   if (eina_hash_find(ed->file->data, itemname))
+     return EINA_FALSE;
+
+   es = calloc(1, sizeof(Edje_String));
+   if (!es)
+     return EINA_FALSE;
+   es->str = eina_stringshare_add(value);
+
+   if (!eina_hash_add(ed->file->data, itemname, es))
+     {
+        eina_stringshare_del(es->str);
+        free(es);
+        return EINA_FALSE;
+     }
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_group_data_del(Evas_Object *obj, const char *key)
+{
+   Edje_String *value;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!key || !ed->file || !ed->collection)
+     return EINA_FALSE;
+
+   value = eina_hash_find(ed->collection->data, key);
+   if (!value) return EINA_FALSE;
+
+   eina_hash_del(ed->collection->data, key, value);
+   _edje_if_string_free(ed, value->str);
+   free(value);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_data_del(Evas_Object *obj, const char *itemname)
+{
+   Edje_String *value;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!itemname || !ed->file || !ed->file->data)
+     return 0;
+
+   value = eina_hash_find(ed->file->data, itemname);
+   if (!value)
+     return EINA_FALSE;
+
+   eina_hash_del(ed->file->data, itemname, value);
+   _edje_if_string_free(ed, value->str);
+   free(value);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_group_data_value_get(Evas_Object * obj, const char *key)
+{
+   Edje_String *value;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!key || !ed->file || !ed->collection)
+     return NULL;
+
+   value = eina_hash_find(ed->collection->data, key);
+   if (!value)
+     return NULL;
+
+   return eina_stringshare_add(edje_string_get(value));
+}
+
+EAPI const char *
+edje_edit_data_value_get(Evas_Object * obj, const char *itemname)
+{
+   Edje_String *value;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!itemname || !ed->file || !ed->file->data)
+     return NULL;
+
+   value = eina_hash_find(ed->file->data, itemname);
+   if (!value)
+     return NULL;
+
+   return eina_stringshare_add(edje_string_get(value));
+}
+
+EAPI Eina_Bool
+edje_edit_group_data_value_set(Evas_Object *obj, const char *key, const char *value)
+{
+   Edje_String *es;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!key || !value || !ed->file || !ed->collection)
+     return EINA_FALSE;
+
+   es = eina_hash_find(ed->collection->data, key);
+   if (es)
+     {
+        _edje_if_string_free(ed, es->str);
+        es->str = eina_stringshare_add(value);
+        es->id = 0;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_data_value_set(Evas_Object *obj, const char *itemname, const char *value)
+{
+   Edje_String *es;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!itemname || !value || !ed->file || !ed->file->data)
+     return EINA_FALSE;
+
+   es = eina_hash_find(ed->file->data, itemname);
+   if (es)
+     {
+        _edje_if_string_free(ed, es->str);
+        es->str = eina_stringshare_add(value);
+        es->id = 0;
+        return EINA_TRUE;
+     }
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_group_data_name_set(Evas_Object *obj, const char *key,  const char *new_key)
+{
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!key || !new_key || !ed->file || !ed->collection) {
+      return EINA_FALSE;
+   }
+
+   return eina_hash_move(ed->collection->data, key, new_key);
+}
+
+EAPI Eina_Bool
+edje_edit_data_name_set(Evas_Object *obj, const char *itemname,  const char *newname)
+{
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!itemname || !newname || !ed->file || !ed->file->data)
+     return EINA_FALSE;
+
+   return eina_hash_move(ed->file->data, itemname, newname);
+}
+
+/***********************/
+/*  COLOR CLASSES API  */
+/***********************/
+
+EAPI Eina_List *
+edje_edit_color_classes_list_get(Evas_Object * obj)
+{
+   Eina_List *classes = NULL;
+   Eina_List *l;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->color_classes)
+      return NULL;
+   //printf("GET CLASSES LIST %d %d\n", eina_list_count(ed->color_classes), eina_list_count(ed->file->color_classes));
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     classes = eina_list_append(classes, eina_stringshare_add(cc->name));
+
+   return classes;
+}
+
+EAPI Eina_Bool
+edje_edit_color_class_colors_get(Evas_Object *obj, const char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
+{
+   Eina_List *l;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!ed->file || !ed->file->color_classes)
+      return EINA_FALSE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (!strcmp(cc->name, class_name))
+       {
+        if (r) *r = cc->r;
+        if (g) *g = cc->g;
+        if (b) *b = cc->b;
+        if (a) *a = cc->a;
+
+        if (r2) *r2 = cc->r2;
+        if (g2) *g2 = cc->g2;
+        if (b2) *b2 = cc->b2;
+        if (a2) *a2 = cc->a2;
+
+        if (r3) *r3 = cc->r3;
+        if (g3) *g3 = cc->g3;
+        if (b3) *b3 = cc->b3;
+        if (a3) *a3 = cc->a3;
+
+        return EINA_TRUE;
+       }
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_color_class_colors_set(Evas_Object *obj, const char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
+{
+   Eina_List *l;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!ed->file || !ed->file->color_classes)
+      return EINA_FALSE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (!strcmp(cc->name, class_name))
+       {
+        if (r > -1) cc->r = r;
+        if (g > -1) cc->g = g;
+        if (b > -1) cc->b = b;
+        if (a > -1) cc->a = a;
+
+        if (r2 > -1) cc->r2 = r2;
+        if (g2 > -1) cc->g2 = g2;
+        if (b2 > -1) cc->b2 = b2;
+        if (a2 > -1) cc->a2 = a2;
+
+        if (r3 > -1) cc->r3 = r3;
+        if (g3 > -1) cc->g3 = g3;
+        if (b3 > -1) cc->b3 = b3;
+        if (a3 > -1) cc->a3 = a3;
+
+        return EINA_TRUE;
+       }
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_color_class_add(Evas_Object *obj, const char *name)
+{
+   Eina_List *l;
+   Edje_Color_Class *c;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!name || !ed->file)
+     return EINA_FALSE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (strcmp(cc->name, name) == 0)
+       return EINA_FALSE;
+
+   c = _alloc(sizeof(Edje_Color_Class));
+   if (!c) return EINA_FALSE;
+
+   c->name = (char*)eina_stringshare_add(name);
+   c->r = c->g = c->b = c->a = 255;
+   c->r2 = c->g2 = c->b2 = c->a2 = 255;
+   c->r3 = c->g3 = c->b3 = c->a3 = 255;
+
+   ed->file->color_classes = eina_list_append(ed->file->color_classes, c);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_color_class_del(Evas_Object *obj, const char *name)
+{
+   Eina_List *l;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!name || !ed->file || !ed->file->color_classes)
+     return EINA_FALSE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (strcmp(cc->name, name) == 0)
+       {
+        _edje_if_string_free(ed, cc->name);
+        ed->file->color_classes = eina_list_remove(ed->file->color_classes, cc);
+        free(cc);
+        return EINA_TRUE;
+       }
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_color_class_name_set(Evas_Object *obj, const char *name, const char *newname)
+{
+   Eina_List *l;
+   Edje_Color_Class *cc;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!ed->file || !ed->file->color_classes)
+      return EINA_FALSE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (!strcmp(cc->name, name))
+       {
+        _edje_if_string_free(ed, cc->name);
+        cc->name = (char*)eina_stringshare_add(newname);
+        return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+
+
+/*********************/
+/*  TEXT STYLES API  */
+/*********************/
+
+EAPI Eina_List *
+edje_edit_styles_list_get(Evas_Object * obj)
+{
+   Eina_List *styles = NULL;
+   Eina_List *l;
+   Edje_Style *s;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->styles)
+      return NULL;
+   //printf("GET STYLES LIST %d\n", eina_list_count(ed->file->styles));
+   EINA_LIST_FOREACH(ed->file->styles, l, s)
+     styles = eina_list_append(styles, eina_stringshare_add(s->name));
+
+   return styles;
+}
+
+EAPI Eina_Bool
+edje_edit_style_add(Evas_Object * obj, const char* style)
+{
+   Edje_Style *s;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   //printf("ADD STYLE '%s'\n", style);
+
+   s = _edje_edit_style_get(ed, style);
+   if (s) return EINA_FALSE;
+
+   s = _alloc(sizeof(Edje_Style));
+   if (!s) return EINA_FALSE;
+   s->name = (char*)eina_stringshare_add(style);
+   s->tags = NULL;
+   s->style = NULL;
+
+   ed->file->styles = eina_list_append(ed->file->styles, s);
+   return EINA_TRUE;
+}
+
+EAPI void
+edje_edit_style_del(Evas_Object * obj, const char* style)
+{
+   Edje_Style *s;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN();
+   //printf("DEL STYLE '%s'\n", style);
+
+   s = _edje_edit_style_get(ed, style);
+   if (!s) return;
+
+   ed->file->styles = eina_list_remove(ed->file->styles, s);
+
+   _edje_if_string_free(ed, s->name);
+   //~ //s->style HOWTO FREE ???
+   while (s->tags)
+   {
+      Edje_Style_Tag *t;
+
+      t = s->tags->data;
+
+      s->tags = eina_list_remove(s->tags, t);
+      _edje_if_string_free(ed, t->key);
+      _edje_if_string_free(ed, t->value);
+      _edje_if_string_free(ed, t->font);
+      _edje_if_string_free(ed, t->text_class);
+      free(t);
+      t = NULL;
+   }
+   free(s);
+   s = NULL;
+   s = NULL;
+}
+
+
+EAPI Eina_List *
+edje_edit_style_tags_list_get(Evas_Object * obj, const char* style)
+{
+   Eina_List *tags = NULL;
+   Eina_List *l;
+   Edje_Style *s;
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+   if (!ed->file || !ed->file->styles || !style)
+      return NULL;
+
+   s = _edje_edit_style_get(ed, style);
+
+   //printf("GET STYLE TAG LIST %d\n", eina_list_count(s->tags));
+   EINA_LIST_FOREACH(s->tags, l, t)
+      tags = eina_list_append(tags, eina_stringshare_add(t->key));
+
+   return tags;
+}
+
+EAPI void
+edje_edit_style_tag_name_set(Evas_Object * obj, const char* style, const char* tag, const char*new_name)
+{
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN();
+   //printf("SET TAG NAME for '%s' FOR STYLE '%s'\n", tag, style);
+
+   if (!ed->file || !ed->file->styles || !style || !tag)
+      return;
+
+   t = _edje_edit_style_tag_get(ed, style, tag);
+   if (!t) return;
+   _edje_if_string_free(ed, t->key);
+   t->key = eina_stringshare_add(new_name);
+}
+
+EAPI const char*
+edje_edit_style_tag_value_get(Evas_Object * obj, const char* style, const char* tag)
+{
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+   //printf("GET TAG '%s' FOR STYLE '%s'\n", tag, style);
+
+   if (!ed->file || !ed->file->styles || !style || !tag)
+      return NULL;
+
+   t = _edje_edit_style_tag_get(ed, style, tag);
+   if (t && t->value)
+      return eina_stringshare_add(t->value);
+
+   return NULL;
+}
+
+EAPI void
+edje_edit_style_tag_value_set(Evas_Object * obj, const char* style, const char* tag, const char*new_value)
+{
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN();
+   //printf("SET TAG VALUE for '%s' FOR STYLE '%s'\n", tag, style);
+
+   if (!ed->file || !ed->file->styles || !style || !tag)
+      return;
+
+   t = _edje_edit_style_tag_get(ed, style, tag);
+   if (!t) return;
+   _edje_if_string_free(ed, t->value);
+   t->value = eina_stringshare_add(new_value);
+}
+
+EAPI Eina_Bool
+edje_edit_style_tag_add(Evas_Object * obj, const char* style, const char* tag_name)
+{
+   Edje_Style *s;
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   //printf("ADD TAG '%s' IN STYLE '%s'\n", tag_name, style);
+
+   t = _edje_edit_style_tag_get(ed, style, tag_name);
+   if (t) return EINA_FALSE;
+   s = _edje_edit_style_get(ed, style);
+   if (!s) return EINA_FALSE;
+
+   t = _alloc(sizeof(Edje_Style_Tag));
+   if (!t) return EINA_FALSE;
+   t->key = eina_stringshare_add(tag_name);
+   t->value = NULL;
+   t->font = NULL;
+   t->text_class = NULL;
+
+   s->tags = eina_list_append(s->tags, t);
+   return EINA_TRUE;
+}
+
+EAPI void
+edje_edit_style_tag_del(Evas_Object * obj, const char* style, const char* tag)
+{
+   Edje_Style *s;
+   Edje_Style_Tag *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN();
+   //printf("DEL TAG '%s' IN STYLE '%s'\n", tag, style);
+
+   s = _edje_edit_style_get(ed, style);
+   t = _edje_edit_style_tag_get(ed, style, tag);
+
+   s->tags = eina_list_remove(s->tags, t);
+   _edje_if_string_free(ed, t->key);
+   _edje_if_string_free(ed, t->value);
+   _edje_if_string_free(ed, t->font);
+   _edje_if_string_free(ed, t->text_class);
+   free(t);
+   t = NULL;
+}
+
+/*******************/
+/*  EXTERNALS API  */
+/*******************/
+
+EAPI Eina_List *
+edje_edit_externals_list_get(Evas_Object *obj)
+{
+   Eina_List *externals = NULL;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->external_dir)
+      return NULL;
+   //printf("GET STYLES LIST %d\n", eina_list_count(ed->file->styles));
+   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
+     externals = eina_list_append(externals,
+                                 eina_stringshare_add(ed->file->external_dir->entries[i].entry));
+
+   return externals;
+}
+
+EAPI Eina_Bool
+edje_edit_external_add(Evas_Object *obj, const char *external)
+{
+   Edje_External_Directory_Entry *e;
+   unsigned int freeid;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   e = _edje_edit_external_get(ed, external);
+   if (e) return EINA_FALSE;
+
+   if (!ed->file->external_dir)
+     ed->file->external_dir = _alloc(sizeof(Edje_External_Directory));
+
+   for (i = 0; i < ed->file->external_dir->entries_count; ++i)
+     if (!ed->file->external_dir->entries[i].entry)
+       break ;
+
+   if (i == ed->file->external_dir->entries_count)
+     {
+       Edje_External_Directory_Entry *tmp;
+       unsigned int max;
+
+       max = ed->file->external_dir->entries_count + 1;
+       tmp = realloc(ed->file->external_dir->entries,
+                     sizeof (Edje_External_Directory_Entry) * max);
+
+       if (!tmp) return EINA_FALSE;
+
+       ed->file->external_dir->entries = tmp;
+       freeid = ed->file->external_dir->entries_count;
+       ed->file->external_dir->entries_count = max;
+     }
+   else
+     freeid = i;
+
+   ed->file->external_dir->entries[freeid].entry = (char*)eina_stringshare_add(external);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_external_del(Evas_Object *obj, const char *external)
+{
+   Edje_External_Directory_Entry *e;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   e = _edje_edit_external_get(ed, external);
+   if (!e) return EINA_FALSE;
+
+   _edje_if_string_free(ed, e->entry);
+   e->entry = NULL;
+
+   return EINA_TRUE;
+}
+
+/***************/
+/*  PARTS API  */
+/***************/
+
+EAPI Eina_List *
+edje_edit_parts_list_get(Evas_Object *obj)
+{
+   Eina_List *parts = NULL;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   //printf("EE: Found %d parts\n", ed->table_parts_size);
+
+   parts = NULL;
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+       Edje_Real_Part *rp;
+
+       rp = ed->table_parts[i];
+       parts = eina_list_append(parts, eina_stringshare_add(rp->part->name));
+     }
+
+   return parts;
+}
+
+EAPI Eina_Bool
+edje_edit_part_name_set(Evas_Object *obj, const char* part, const char* new_name)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if (!new_name) return EINA_FALSE;
+   if (!strcmp(part, new_name)) return EINA_TRUE;
+   if (_edje_real_part_get(ed, new_name)) return EINA_FALSE;
+
+   //printf("Set name of part: %s [new name: %s]\n", part, new_name);
+
+   _edje_if_string_free(ed, rp->part->name);
+   rp->part->name = (char *)eina_stringshare_add(new_name);
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+#define FUNC_PART_API_STRING(Value)                                    \
+  EAPI const char *                                                    \
+  edje_edit_part_api_##Value##_get(Evas_Object *obj, const char *part) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_RP_OR_RETURN(NULL);                                           \
+     return eina_stringshare_add(rp->part->api.Value);                 \
+  }                                                                    \
+  EAPI Eina_Bool                                                       \
+  edje_edit_part_api_##Value##_set(Evas_Object *obj, const char *part, const char *s) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_RP_OR_RETURN(EINA_FALSE);                                     \
+     _edje_if_string_free(ed, rp->part->api.Value);                    \
+     rp->part->api.Value = eina_stringshare_add(s);                    \
+     return EINA_TRUE;                                                 \
+  }
+
+FUNC_PART_API_STRING(name);
+FUNC_PART_API_STRING(description);
+
+static Eina_Bool
+_edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type, const char *source)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Part_Collection *pc;
+   Edje_Part **tmp;
+   Edje_Part *ep;
+   Edje_Real_Part *rp;
+   int id;
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   //printf("ADD PART: %s [type: %d]\n", name, type);
+
+   /* Check if part already exists */
+   if (_edje_real_part_get(ed, name))
+     return EINA_FALSE;
+
+   ce = eina_hash_find(ed->file->collection, ed->group);
+
+   /* Alloc Edje_Part or return */
+   ep = eina_mempool_malloc(ce->mp.part, sizeof(Edje_Part));
+   if (!ep) return EINA_FALSE;
+   memset(ep, 0, sizeof(Edje_Part));
+
+   /* Alloc Edje_Real_Part or return */
+   rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_Real_Part));
+   if (!rp)
+     {
+       eina_mempool_free(ce->mp.part, ep);
+       return EINA_FALSE;
+     }
+   memset(rp, 0, sizeof(Edje_Real_Part));
+
+   /* Init Edje_Part */
+   pc = ed->collection;
+
+   tmp = realloc(pc->parts, (pc->parts_count + 1) * sizeof (Edje_Part *));
+   if (!tmp)
+     {
+       eina_mempool_free(ce->mp.part, ep);
+       eina_mempool_free(_edje_real_part_mp, rp);
+       return EINA_FALSE;
+     }
+
+   id = pc->parts_count++;
+
+   pc->parts = tmp;
+   pc->parts[id] = ep;
+
+   ep->id = id;
+   ep->type = type;
+   ep->name = eina_stringshare_add(name);
+   ep->mouse_events = 1;
+   ep->repeat_events = 0;
+   ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
+   ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
+   ep->precise_is_inside = 0;
+   ep->use_alternate_font_metrics = 0;
+   ep->clip_to_id = -1;
+   ep->dragable.confine_id = -1;
+   ep->dragable.event_id = -1;
+   if (source)
+     ep->source = eina_stringshare_add(source);
+
+   ep->default_desc = NULL;
+   ep->other.desc = NULL;
+   ep->other.desc_count = 0;
+
+   /* Init Edje_Real_Part */
+   rp->edje = ed;
+   _edje_ref(rp->edje);
+   rp->part = ep;
+
+   if (ep->type == EDJE_PART_TYPE_RECTANGLE)
+     rp->object = evas_object_rectangle_add(ed->base->evas);
+   else if (ep->type == EDJE_PART_TYPE_IMAGE || ep->type == EDJE_PART_TYPE_PROXY)
+     rp->object = evas_object_image_add(ed->base->evas);
+   else if (ep->type == EDJE_PART_TYPE_TEXT)
+     {
+       _edje_text_part_on_add(ed, rp);
+       rp->object = evas_object_text_add(ed->base->evas);
+       evas_object_text_font_source_set(rp->object, ed->path);
+     }
+   else if (ep->type == EDJE_PART_TYPE_SWALLOW ||
+           ep->type == EDJE_PART_TYPE_GROUP ||
+           ep->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       rp->object = evas_object_rectangle_add(ed->base->evas);
+       evas_object_color_set(rp->object, 0, 0, 0, 0);
+       evas_object_pass_events_set(rp->object, 1);
+       evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+     }
+   else if (ep->type == EDJE_PART_TYPE_TEXTBLOCK)
+     rp->object = evas_object_textblock_add(ed->base->evas);
+   else if (ep->type != EDJE_PART_TYPE_SPACER)
+     ERR("wrong part type %i!", ep->type);
+   if (rp->object)
+     {
+       evas_object_show(rp->object);
+       evas_object_smart_member_add(rp->object, ed->obj);
+       evas_object_layer_set(rp->object, evas_object_layer_get(ed->obj));
+       if (ep->type != EDJE_PART_TYPE_SWALLOW && ep->type != EDJE_PART_TYPE_GROUP)
+         {
+            if (ep->mouse_events)
+              {
+                 _edje_callbacks_add(rp->object, ed, rp);
+                 if (ep->repeat_events)
+                   evas_object_repeat_events_set(rp->object, 1);
+
+                 if (ep->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
+                   evas_object_pointer_mode_set(rp->object, ep->pointer_mode);
+              }
+            else
+              {
+                 evas_object_pass_events_set(rp->object, 1);
+                 evas_object_pointer_mode_set(rp->object,
+                                              EVAS_OBJECT_POINTER_MODE_NOGRAB);
+              }
+            if (ep->precise_is_inside)
+              evas_object_precise_is_inside_set(rp->object, 1);
+         }
+       if (ep->type == EDJE_PART_TYPE_EXTERNAL)
+         {
+            Evas_Object *child;
+            child = _edje_external_type_add(source, evas_object_evas_get(ed->obj), ed->obj, NULL, name);
+            if (child)
+              _edje_real_part_swallow(rp, child, EINA_TRUE);
+         }
+       evas_object_clip_set(rp->object, ed->base->clipper);
+       evas_object_show(ed->base->clipper);
+     }
+
+   /* Update table_parts */
+   ed->table_parts_size++;
+   ed->table_parts = realloc(ed->table_parts,
+                            sizeof(Edje_Real_Part *) * ed->table_parts_size);
+
+   ed->table_parts[ep->id % ed->table_parts_size] = rp;
+
+   /* Create default description */
+   if (!edje_edit_state_add(obj, name, "default", 0.0))
+     {
+       _edje_if_string_free(ed, ep->name);
+       if (source)
+         _edje_if_string_free(ed, ep->source);
+       eina_mempool_free(ce->mp.part, ep);
+       eina_mempool_free(_edje_real_part_mp, rp);
+       return EINA_FALSE;
+     }
+   edje_edit_part_selected_state_set(obj, name, "default", 0.0);
+
+   ce->count.part++;
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type)
+{
+   eina_error_set(0);
+
+   if (type == EDJE_PART_TYPE_EXTERNAL)
+     return EINA_FALSE;
+   return _edje_edit_real_part_add(obj, name, type, NULL);
+}
+
+EAPI Eina_Bool
+edje_edit_part_external_add(Evas_Object *obj, const char *name, const char *source)
+{
+   eina_error_set(0);
+
+   if (!source)
+     return EINA_FALSE;
+   return _edje_edit_real_part_add(obj, name, EDJE_PART_TYPE_EXTERNAL, source);
+}
+
+EAPI Eina_Bool
+edje_edit_part_del(Evas_Object *obj, const char* part)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Part_Collection *pc;
+   Edje_Part *ep;
+   unsigned int k;
+   unsigned int id;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   //printf("REMOVE PART: %s\n", part);
+
+   ep = rp->part;
+   id = ep->id;
+
+   /* Unlik Edje_Real_Parts that link to the removed one */
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+       Edje_Real_Part *real;
+
+       if (i == id) continue; //don't check the deleted id
+       real = ed->table_parts[i];
+
+       if (real->typedata.text->source == rp) real->typedata.text->source = NULL;
+       if (real->typedata.text->text_source == rp) real->typedata.text->text_source = NULL;
+
+       if (real->param1.rel1_to_x == rp) real->param1.rel1_to_x = NULL;
+       if (real->param1.rel1_to_y == rp) real->param1.rel1_to_y = NULL;
+       if (real->param1.rel2_to_x == rp) real->param1.rel2_to_x = NULL;
+       if (real->param1.rel2_to_y == rp) real->param1.rel2_to_y = NULL;
+
+       if (real->param2)
+         {
+            if (real->param2->rel1_to_x == rp) real->param2->rel1_to_x = NULL;
+            if (real->param2->rel1_to_y == rp) real->param2->rel1_to_y = NULL;
+            if (real->param2->rel2_to_x == rp) real->param2->rel2_to_x = NULL;
+            if (real->param2->rel2_to_y == rp) real->param2->rel2_to_y = NULL;
+         }
+
+       if (real->custom)
+         {
+            if (real->custom->rel1_to_x == rp) real->custom->rel1_to_x = NULL;
+            if (real->custom->rel1_to_y == rp) real->custom->rel1_to_y = NULL;
+            if (real->custom->rel2_to_x == rp) real->custom->rel2_to_x = NULL;
+            if (real->custom->rel2_to_y == rp) real->custom->rel2_to_y = NULL;
+         }
+
+       if (real->clip_to == rp)
+         {
+            evas_object_clip_set(real->object, ed->base->clipper);
+            real->clip_to = NULL;
+         }
+       if (real->drag && real->drag->confine_to == rp)
+         real->drag->confine_to = NULL;
+     }
+
+   /* Unlink all the parts and descriptions that refer to id */
+   _edje_part_id_set(ed, rp, -1);
+
+   /* Remove part from parts list */
+   pc = ed->collection;
+   pc->parts_count--;
+   if (id < pc->parts_count) /* Forward parts */
+     {
+       int mcount = (pc->parts_count - id) * sizeof(Edje_Part *);
+       memmove(&pc->parts[id], &pc->parts[id+1], mcount);
+     }
+   pc->parts[pc->parts_count] = NULL;
+   _edje_fix_parts_id(ed);
+
+   /* Free Edje_Part and all descriptions */
+   ce = eina_hash_find(ed->file->collection, ed->group);
+
+   _edje_if_string_free(ed, ep->name);
+   if (ep->default_desc)
+     {
+       _edje_collection_free_part_description_free(ep->type, ep->default_desc, ce, 0);
+       ep->default_desc = NULL;
+     }
+
+   for (k = 0; k < ep->other.desc_count; ++k)
+     _edje_collection_free_part_description_free(ep->type, ep->other.desc[k], ce, 0);
+
+   free(ep->other.desc);
+   eina_mempool_free(ce->mp.part, ep);
+
+   /* Free Edje_Real_Part */
+   _edje_real_part_free(rp);
+
+   /* if all parts are gone, hide the clipper */
+   if (ed->table_parts_size == 0)
+     evas_object_hide(ed->base->clipper);
+
+   edje_object_calc_force(obj);
+
+   ce->count.part--;
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_part_exist(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+   return EINA_TRUE;
+}
+
+EAPI const char*
+edje_edit_part_below_get(Evas_Object *obj, const char* part)
+{
+   Edje_Real_Part *prev;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+
+   if (rp->part->id < 1) return NULL;
+
+   prev = ed->table_parts[(rp->part->id - 1) % ed->table_parts_size];
+
+   return eina_stringshare_add(prev->part->name);
+}
+
+EAPI const char*
+edje_edit_part_above_get(Evas_Object *obj, const char* part)
+{
+   Edje_Real_Part *next;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+
+   if ((unsigned int) rp->part->id >= ed->table_parts_size - 1) return 0;
+
+   next = ed->table_parts[(rp->part->id + 1) % ed->table_parts_size];
+
+   return eina_stringshare_add(next->part->name);
+}
+
+EAPI Eina_Bool
+edje_edit_part_restack_below(Evas_Object *obj, const char* part)
+{
+   Edje_Part_Collection *group;
+   Edje_Real_Part *prev;
+   Edje_Part *swap;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   //printf("RESTACK PART: %s BELOW\n", part);
+
+   if (rp->part->id < 1) return EINA_FALSE;
+   group = ed->collection;
+
+   /* update parts list */
+   prev = ed->table_parts[(rp->part->id - 1) % ed->table_parts_size];
+
+   swap = group->parts[rp->part->id];
+   group->parts[rp->part->id] = group->parts[prev->part->id];
+   group->parts[prev->part->id] = swap;
+
+   _edje_parts_id_switch(ed, rp, prev);
+
+   evas_object_stack_below(rp->object, prev->object);
+   if (rp->typedata.swallow->swallowed_object)
+     evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_part_restack_above(Evas_Object *obj, const char* part)
+{
+   Edje_Part_Collection *group;
+   Edje_Real_Part *next;
+   Edje_Part *swap;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   //printf("RESTACK PART: %s ABOVE\n", part);
+
+   if ((unsigned int) rp->part->id >= ed->table_parts_size - 1) return EINA_FALSE;
+
+   group = ed->collection;
+
+   /* update parts list */
+   next = ed->table_parts[(rp->part->id + 1) % ed->table_parts_size];
+
+   swap = group->parts[rp->part->id];
+   group->parts[rp->part->id] = group->parts[next->part->id];
+   group->parts[next->part->id] = swap;
+
+   /* update ids */
+   _edje_parts_id_switch(ed, rp, next);
+
+   evas_object_stack_above(rp->object, next->object);
+   if (rp->typedata.swallow->swallowed_object)
+     evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+EAPI Edje_Part_Type
+edje_edit_part_type_get(Evas_Object *obj, const char *part)
+{
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+
+   return rp->part->type;
+}
+
+EAPI const char *
+edje_edit_part_selected_state_get(Evas_Object *obj, const char *part, double *value)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(NULL);
+
+   if (!rp->chosen_description)
+     {
+       if (value) *value = 0.0; // FIXME: Make sure edje_edit supports correctly the default having any value
+       return eina_stringshare_add("default");
+     }
+
+   if (value) *value = rp->chosen_description->state.value;
+   return eina_stringshare_add(rp->chosen_description->state.name);
+}
+
+EAPI Eina_Bool
+edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Common *pd;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   pd = _edje_part_description_find_byname(eed, part, state, value);
+   if (!pd) return EINA_FALSE;
+
+   //printf("EDJE: Set state: %s %f\n", pd->state.name, pd->state.value);
+   _edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, NULL, 0.0);
+
+   edje_object_calc_force(obj);
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_part_clip_to_get(Evas_Object *obj, const char *part)
+{
+   Edje_Real_Part *clip = NULL;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(NULL);
+
+   //printf("Get clip_to for part: %s [to_id: %d]\n", part, rp->part->clip_to_id);
+   if (rp->part->clip_to_id < 0) return NULL;
+
+   clip = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
+   if (!clip || !clip->part || !clip->part->name) return NULL;
+
+   return eina_stringshare_add(clip->part->name);
+}
+
+EAPI Eina_Bool
+edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_to)
+{
+   Edje_Real_Part *clip;
+   Evas_Object *o, *oo;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   /* unset clipping */
+   if (!clip_to)
+     {
+       //printf("UnSet clip_to for part: %s\n", part);
+
+       if (rp->clip_to && rp->clip_to->object)
+         {
+            evas_object_pointer_mode_set(rp->clip_to->object,
+                                         EVAS_OBJECT_POINTER_MODE_AUTOGRAB);
+            evas_object_clip_unset(rp->object);
+         }
+
+       evas_object_clip_set(rp->object, ed->base->clipper);
+       if (rp->typedata.swallow->swallowed_object)
+         evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base->clipper);
+
+       rp->part->clip_to_id = -1;
+       rp->clip_to = NULL;
+
+       edje_object_calc_force(obj);
+
+       return EINA_TRUE;
+     }
+
+   /* set clipping */
+   //printf("Set clip_to for part: %s [to: %s]\n", part, clip_to);
+   clip = _edje_real_part_get(ed, clip_to);
+   if (!clip || !clip->part) return EINA_FALSE;
+   o = clip->object;
+   while ((oo = evas_object_clip_get(o)))
+     {
+       if (o == rp->object)
+         return EINA_FALSE;
+       o = oo;
+     }
+
+   rp->part->clip_to_id = clip->part->id;
+   rp->clip_to = clip;
+
+   evas_object_pass_events_set(rp->clip_to->object, 1);
+   evas_object_pointer_mode_set(rp->clip_to->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+   evas_object_clip_set(rp->object, rp->clip_to->object);
+   if (rp->typedata.swallow->swallowed_object)
+     evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->clip_to->object);
+
+   edje_object_calc_force(obj);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_part_mouse_events_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+   //printf("Get mouse_events for part: %s [%d]\n", part, rp->part->mouse_events);
+   return rp->part->mouse_events;
+}
+
+EAPI void
+edje_edit_part_mouse_events_set(Evas_Object *obj, const char *part, Eina_Bool mouse_events)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+
+   if (!rp->object) return;
+
+   //printf("Set mouse_events for part: %s [%d]\n", part, mouse_events);
+
+   rp->part->mouse_events = mouse_events ? 1 : 0;
+
+   if (mouse_events)
+     {
+       evas_object_pass_events_set(rp->object, 0);
+       _edje_callbacks_add(rp->object, ed, rp);
+     }
+   else
+     {
+       evas_object_pass_events_set(rp->object, 1);
+       _edje_callbacks_del(rp->object, ed);
+     }
+}
+
+EAPI Eina_Bool
+edje_edit_part_repeat_events_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   //printf("Get repeat_events for part: %s [%d]\n", part, rp->part->repeat_events);
+   return rp->part->repeat_events;
+}
+
+EAPI void
+edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool repeat_events)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+
+   if (!rp->object) return;
+
+   //printf("Set repeat_events for part: %s [%d]\n", part, repeat_events);
+
+   rp->part->repeat_events = repeat_events ? 1 : 0;
+
+   if (repeat_events)
+     evas_object_repeat_events_set(rp->object, 1);
+   else
+     evas_object_repeat_events_set(rp->object, 0);
+}
+
+EAPI Evas_Event_Flags
+edje_edit_part_ignore_flags_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+
+   return rp->part->ignore_flags;
+}
+
+EAPI void
+edje_edit_part_ignore_flags_set(Evas_Object *obj, const char *part, Evas_Event_Flags ignore_flags)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+
+   if (!rp->object) return;
+   //printf("Set ignore_flags for part: %s [%#x]\n", part, ignore_flags);
+
+   rp->part->ignore_flags = ignore_flags;
+}
+
+EAPI void
+edje_edit_part_scale_set(Evas_Object *obj, const char *part, Eina_Bool scale)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+
+   rp->part->scale = scale;
+   edje_object_calc_force(obj);
+}
+
+EAPI Eina_Bool
+edje_edit_part_scale_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   return rp->part->scale;
+}
+
+EAPI const char *
+edje_edit_part_source_get(Evas_Object *obj, const char *part)
+{
+   //Edje_Real_Part *clip = NULL;
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(NULL);
+
+   //printf("Get source for part: %s\n", part);
+   if (!rp->part->source) return NULL;
+
+   return eina_stringshare_add(rp->part->source);
+}
+
+EAPI Eina_Bool
+edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   Evas_Object *child_obj;
+   //printf("Set source for part: %s [source: %s]\n", part, source);
+
+   if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
+     return EINA_FALSE;
+
+   _edje_if_string_free(ed, rp->part->source);
+
+   if (rp->typedata.swallow->swallowed_object)
+     {
+       _edje_real_part_swallow_clear(rp);
+       evas_object_del(rp->typedata.swallow->swallowed_object);
+       rp->typedata.swallow->swallowed_object = NULL;
+     }
+   if (source)
+     {
+       rp->part->source = eina_stringshare_add(source);
+       child_obj = edje_object_add(ed->base->evas);
+       edje_object_file_set(child_obj, ed->file->path, source);
+       _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
+     }
+   else
+     rp->part->source = NULL;
+   return EINA_TRUE;
+}
+
+EAPI int
+edje_edit_part_drag_x_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+   //printf("Get dragX for part: %s\n", part);
+   return rp->part->dragable.x;
+}
+
+EAPI void
+edje_edit_part_drag_x_set(Evas_Object *obj, const char *part, int drag)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+   //printf("Set dragX for part: %s\n", part);
+   rp->part->dragable.x = drag;
+
+   if (!drag && !rp->part->dragable.y)
+     {
+       free(rp->drag);
+       rp->drag = NULL;
+       return ;
+     }
+
+   if (rp->drag) return;
+
+   rp->drag = _alloc(sizeof (Edje_Real_Part_Drag));
+   if (!rp->drag) return;
+
+   rp->drag->step.x = rp->part->dragable.step_x;
+   rp->drag->step.y = rp->part->dragable.step_y;
+}
+
+EAPI int
+edje_edit_part_drag_y_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+   //printf("Get dragY for part: %s\n", part);
+   return rp->part->dragable.y;
+}
+
+EAPI void
+edje_edit_part_drag_y_set(Evas_Object *obj, const char *part, int drag)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+   //printf("Set dragY for part: %s\n", part);
+   rp->part->dragable.y = drag;
+
+   if (!drag && !rp->part->dragable.x)
+     {
+       free(rp->drag);
+       rp->drag = NULL;
+       return ;
+     }
+
+   if (rp->drag) return;
+
+   rp->drag = _alloc(sizeof (Edje_Real_Part_Drag));
+   if (!rp->drag) return;
+
+   rp->drag->step.x = rp->part->dragable.step_x;
+   rp->drag->step.y = rp->part->dragable.step_y;
+}
+
+#define FUNC_PART_DRAG_INT(Class, Value)                               \
+  EAPI int                                                             \
+  edje_edit_part_drag_##Class##_##Value##_get(Evas_Object *obj, const char *part) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_RP_OR_RETURN(0);                                              \
+     return rp->part->dragable.Class##_##Value;                                \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_part_drag_##Class##_##Value##_set(Evas_Object *obj, const char *part, int v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_RP_OR_RETURN();                                               \
+     rp->part->dragable.Class##_##Value = v;                           \
+  }
+
+FUNC_PART_DRAG_INT(step, x);
+FUNC_PART_DRAG_INT(step, y);
+FUNC_PART_DRAG_INT(count, x);
+FUNC_PART_DRAG_INT(count, y);
+
+#define FUNC_PART_DRAG_ID(Id)                  \
+  EAPI const char*                             \
+  edje_edit_part_drag_##Id##_get(Evas_Object *obj, const char *part)   \
+  {                                                                    \
+     Edje_Real_Part *p;                                                        \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_RP_OR_RETURN(NULL);                                           \
+                                                                       \
+     if (rp->part->dragable.Id##_id < 0)                               \
+       return NULL;                                                    \
+                                                                       \
+     p = ed->table_parts[rp->part->dragable.Id##_id];                  \
+     return eina_stringshare_add(p->part->name);                       \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_part_drag_##Id##_set(Evas_Object *obj, const char *part, const char *e) \
+  {                                                                    \
+     Edje_Real_Part *e_part;                                           \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_RP_OR_RETURN();                                               \
+     if (!e)                                                           \
+       {                                                               \
+         rp->part->dragable.Id##_id = -1;                              \
+         return ;                                                      \
+       }                                                               \
+                                                                       \
+     e_part = _edje_real_part_get(ed, e);                              \
+     rp->part->dragable.Id##_id = e_part->part->id;                    \
+  }
+
+FUNC_PART_DRAG_ID(confine);
+FUNC_PART_DRAG_ID(event);
+
+/*********************/
+/*  PART STATES API  */
+/*********************/
+EAPI Eina_List *
+edje_edit_part_states_list_get(Evas_Object *obj, const char *part)
+{
+   char state_name[PATH_MAX];
+   Eina_List *states = NULL;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(NULL);
+
+   //Is there a better place to put this? maybe edje_edit_init() ?
+#ifdef HAVE_LOCALE_H
+   setlocale(LC_NUMERIC, "C");
+#endif
+
+   states = NULL;
+
+   //append default state
+   snprintf(state_name, PATH_MAX,
+            "%s %.2f",
+           rp->part->default_desc->state.name,
+           rp->part->default_desc->state.value);
+   states = eina_list_append(states, eina_stringshare_add(state_name));
+   //printf("NEW STATE def: %s\n", state->state.name);
+
+   //append other states
+   for (i = 0; i < rp->part->other.desc_count; ++i)
+     {
+       snprintf(state_name, sizeof(state_name),
+                "%s %.2f",
+                rp->part->other.desc[i]->state.name,
+                rp->part->other.desc[i]->state.value);
+       states = eina_list_append(states, eina_stringshare_add(state_name));
+       //printf("NEW STATE: %s\n", state_name);
+     }
+   return states;
+}
+
+EAPI Eina_Bool
+edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state, double value, const char *new_name, double new_value)
+{
+   int part_id;
+   int i;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+   //printf("Set name of state: %s in part: %s [new name: %s]\n",
+     //     part, state, new_name);
+
+   if (!new_name) return EINA_FALSE;
+
+   /* update programs */
+   /* update the 'state' field in all programs. update only if program has
+      a single target */
+   part_id = _edje_part_id_find(ed, part);
+   for (i = 0; i < ed->table_programs_size; i++)
+     {
+       Edje_Program *epr = ed->table_programs[i];
+
+       if (eina_list_count(epr->targets) == 1)
+         {
+            Edje_Program_Target *t = eina_list_data_get(epr->targets);
+
+            if (t->id == part_id &&
+                !strcmp(epr->state, pd->state.name) &&
+                pd->state.value == epr->value)
+              {
+                 _edje_if_string_free(ed, epr->state);
+                 epr->state = eina_stringshare_add(new_name);
+                 epr->value = value;
+              }
+         }
+     }
+
+   /* set name */
+   _edje_if_string_free(ed, pd->state.name);
+   pd->state.name = (char *)eina_stringshare_add(new_name);
+   /* set value */
+   pd->state.value = new_value;
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_del(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Part_Description_Common *pd;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if (!edje_edit_state_exist(obj, part, state, value))
+       return EINA_FALSE;
+
+   pd = _edje_part_description_find_byname(eed, part, state, value);
+   if (!pd) return EINA_FALSE;
+
+   /* Don't allow to delete default state, for now at least; */
+   if (pd == rp->part->default_desc)
+     return EINA_FALSE;
+
+   /* And if we are deleting the current state, go back to default first */
+   if (pd == rp->chosen_description)
+     _edje_part_description_apply(ed, rp, "default", 0.0, NULL, 0.0);
+
+   ce = eina_hash_find(ed->file->collection, ed->group);
+
+   for (i = 0; i < rp->part->other.desc_count; ++i)
+     if (pd == rp->part->other.desc[i])
+       {
+         memmove(rp->part->other.desc + i,
+                 rp->part->other.desc + i + 1,
+                 sizeof (Edje_Part_Description_Common*) * (rp->part->other.desc_count - i - 1));
+         rp->part->other.desc_count--;
+         break;
+       }
+
+   _edje_collection_free_part_description_free(rp->part->type, pd, ce, 0);
+   return EINA_TRUE;
+}
+
+static Edje_Part_Description_Common *
+_edje_edit_state_alloc(int type, Edje *ed)
+{
+   Edje_Part_Collection_Directory_Entry *ce;
+   Edje_Part_Description_Common *pd = NULL;
+
+   ce = eina_hash_find(ed->file->collection, ed->group);
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_RECTANGLE:
+        pd = eina_mempool_malloc(ce->mp.RECTANGLE, sizeof (Edje_Part_Description_Common));
+        ce->count.RECTANGLE++;
+        break;
+      case EDJE_PART_TYPE_SPACER:
+        pd = eina_mempool_malloc(ce->mp.SPACER, sizeof (Edje_Part_Description_Common));
+        ce->count.SPACER++;
+        break;
+      case EDJE_PART_TYPE_SWALLOW:
+        pd = eina_mempool_malloc(ce->mp.SWALLOW, sizeof (Edje_Part_Description_Common));
+        ce->count.SWALLOW++;
+        break;
+      case EDJE_PART_TYPE_GROUP:
+        pd = eina_mempool_malloc(ce->mp.GROUP, sizeof (Edje_Part_Description_Common));
+        ce->count.GROUP++;
+        break;
+
+#define EDIT_ALLOC_POOL(Short, Type, Name)                             \
+        case EDJE_PART_TYPE_##Short:                                   \
+          {                                                            \
+             Edje_Part_Description_##Type *Name;                       \
+                                                                       \
+             Name = eina_mempool_malloc(ce->mp.Short,                  \
+                                        sizeof (Edje_Part_Description_##Type)); \
+             memset(Name, 0, sizeof(Edje_Part_Description_##Type));    \
+             pd = &Name->common;                                       \
+             ce->count.Short++;                                        \
+             break;                                                    \
+          }
+
+        EDIT_ALLOC_POOL(IMAGE, Image, image);
+        EDIT_ALLOC_POOL(TEXT, Text, text);
+        EDIT_ALLOC_POOL(TEXTBLOCK, Text, text);
+        EDIT_ALLOC_POOL(BOX, Box, box);
+        EDIT_ALLOC_POOL(TABLE, Table, table);
+        EDIT_ALLOC_POOL(EXTERNAL, External, external_params);
+     }
+
+   return pd;
+}
+
+EAPI Eina_Bool
+edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double value)
+{
+   Edje_Part_Description_Common *pd;
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if (edje_edit_state_exist(obj, part, name, value))
+     return EINA_FALSE;
+
+   //printf("ADD STATE: %s TO PART: %s\n", name , part);
+   pd = _edje_edit_state_alloc(rp->part->type, ed);
+   if (!pd) return EINA_FALSE;
+
+   if (!rp->part->default_desc)
+     {
+       rp->part->default_desc = pd;
+     }
+   else
+     {
+       Edje_Part_Description_Common **tmp;
+
+       tmp = realloc(rp->part->other.desc,
+                     sizeof (Edje_Part_Description_Common *) * (rp->part->other.desc_count + 1));
+       if (!tmp)
+         {
+            free(pd);
+            return EINA_FALSE;
+         }
+       rp->part->other.desc = tmp;
+       rp->part->other.desc[rp->part->other.desc_count++] = pd;
+     }
+
+   memset(pd, 0, sizeof (*pd));
+
+   pd->state.name = eina_stringshare_add(name);
+   pd->state.value = value;
+   pd->visible = 1;
+   pd->align.x = 0.5;
+   pd->align.y = 0.5;
+   pd->min.w = 0;
+   pd->min.h = 0;
+   pd->fixed.w = 0;
+   pd->fixed.h = 0;
+   pd->max.w = -1;
+   pd->max.h = -1;
+   pd->rel1.relative_x = 0.0;
+   pd->rel1.relative_y = 0.0;
+   pd->rel1.offset_x = 0;
+   pd->rel1.offset_y = 0;
+   pd->rel1.id_x = -1;
+   pd->rel1.id_y = -1;
+   pd->rel2.relative_x = 1.0;
+   pd->rel2.relative_y = 1.0;
+   pd->rel2.offset_x = -1;
+   pd->rel2.offset_y = -1;
+   pd->rel2.id_x = -1;
+   pd->rel2.id_y = -1;
+   pd->color_class = NULL;
+   pd->color.r = 255;
+   pd->color.g = 255;
+   pd->color.b = 255;
+   pd->color.a = 255;
+   pd->color2.r = 0;
+   pd->color2.g = 0;
+   pd->color2.b = 0;
+   pd->color2.a = 255;
+   pd->map.id_persp = -1;
+   pd->map.id_light = -1;
+   pd->map.rot.id_center = -1;
+   pd->map.rot.x = FROM_DOUBLE(0.0);
+   pd->map.rot.y = FROM_DOUBLE(0.0);
+   pd->map.rot.z = FROM_DOUBLE(0.0);
+   pd->map.on = 0;
+   pd->map.smooth = 1;
+   pd->map.alpha = 1;
+   pd->map.backcull = 0;
+   pd->map.persp_on = 0;
+   pd->persp.zplane = 0;
+   pd->persp.focal = 1000;
+
+   if (rp->part->type == EDJE_PART_TYPE_TEXT
+       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+       Edje_Part_Description_Text *text;
+
+       text = (Edje_Part_Description_Text*) pd;
+
+       memset(&text->text, 0, sizeof (text->text));
+
+       text->text.color3.r = 0;
+       text->text.color3.g = 0;
+       text->text.color3.b = 0;
+       text->text.color3.a = 128;
+       text->text.align.x = 0.5;
+       text->text.align.y = 0.5;
+       text->text.id_source = -1;
+       text->text.id_text_source = -1;
+     }
+   else if (rp->part->type == EDJE_PART_TYPE_IMAGE)
+     {
+       Edje_Part_Description_Image *img;
+
+       img = (Edje_Part_Description_Image*) pd;
+
+       memset(&img->image, 0, sizeof (img->image));
+
+       img->image.id = -1;
+       img->image.fill.smooth = 1;
+       img->image.fill.pos_rel_x = 0.0;
+       img->image.fill.pos_abs_x = 0;
+       img->image.fill.rel_x = 1.0;
+       img->image.fill.abs_x = 0;
+       img->image.fill.pos_rel_y = 0.0;
+       img->image.fill.pos_abs_y = 0;
+       img->image.fill.rel_y = 1.0;
+       img->image.fill.abs_y = 0;
+       img->image.fill.angle = 0;
+       img->image.fill.spread = 0;
+       img->image.fill.type = EDJE_FILL_TYPE_SCALE;
+     }
+   else if (rp->part->type == EDJE_PART_TYPE_PROXY)
+     {
+       Edje_Part_Description_Proxy *pro;
+
+       pro = (Edje_Part_Description_Proxy*) pd;
+
+       memset(&pro->proxy, 0, sizeof (pro->proxy));
+
+       pro->proxy.id = -1;
+       pro->proxy.fill.smooth = 1;
+       pro->proxy.fill.pos_rel_x = 0.0;
+       pro->proxy.fill.pos_abs_x = 0;
+       pro->proxy.fill.rel_x = 1.0;
+       pro->proxy.fill.abs_x = 0;
+       pro->proxy.fill.pos_rel_y = 0.0;
+       pro->proxy.fill.pos_abs_y = 0;
+       pro->proxy.fill.rel_y = 1.0;
+       pro->proxy.fill.abs_y = 0;
+       pro->proxy.fill.angle = 0;
+       pro->proxy.fill.spread = 0;
+       pro->proxy.fill.type = EDJE_FILL_TYPE_SCALE;
+     }
+   else if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       Edje_Part_Description_External *external;
+       Edje_External_Param_Info *pi;
+
+       external = (Edje_Part_Description_External*) pd;
+
+       external->external_params = NULL;
+
+       if (rp->part->source)
+         {
+            pi = (Edje_External_Param_Info *)edje_external_param_info_get(rp->part->source);
+            while (pi && pi->name)
+              {
+                 Edje_External_Param *p;
+                 p = _alloc(sizeof(Edje_External_Param));
+                 /* error checking.. meh */
+                 p->name = eina_stringshare_add(pi->name);
+                 p->type = pi->type;
+                 switch(p->type)
+                   {
+                    case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                    case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                       if (pi->info.i.def != EDJE_EXTERNAL_INT_UNSET)
+                         p->i = pi->info.i.def;
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                       if (pi->info.d.def != EDJE_EXTERNAL_DOUBLE_UNSET)
+                         p->d = pi->info.d.def;
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                       if (pi->info.c.def)
+                         p->s = eina_stringshare_add(pi->info.c.def);
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                       if (pi->info.s.def)
+                         p->s = eina_stringshare_add(pi->info.s.def);
+                       break;
+                    default:
+                       ERR("unknown external parameter type '%d'", p->type);
+                   }
+                 external->external_params = eina_list_append(external->external_params, p);
+                 pi++;
+              }
+            if (external->external_params)
+              rp->param1.external_params = _edje_external_params_parse(rp->typedata.swallow->swallowed_object, external->external_params);
+         }
+     }
+   else if (rp->part->type == EDJE_PART_TYPE_BOX)
+     {
+       Edje_Part_Description_Box *box;
+
+       box = (Edje_Part_Description_Box*) pd;
+       memset(&box->box, 0, sizeof (box->box));
+     }
+   else if (rp->part->type == EDJE_PART_TYPE_TABLE)
+     {
+       Edje_Part_Description_Table *table;
+
+       table = (Edje_Part_Description_Table*) pd;
+       memset(&table->table, 0, sizeof (table->table));
+     }
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_exist(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, double val_from, const char *to, double val_to)
+{
+   Edje_Part_Description_Common *pdfrom, *pdto;
+   Edje_External_Param *p;
+
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   pdfrom = _edje_part_description_find_byname(eed, part, from, val_from);
+   if (!pdfrom)
+     return EINA_FALSE;
+
+   pdto = _edje_part_description_find_byname(eed, part, to, val_to);
+   if (!pdto)
+     {
+       Edje_Part_Description_Common **tmp;
+
+       pdto = _edje_edit_state_alloc(rp->part->type, ed);
+       if (!pdto) return EINA_FALSE;
+       /* No need to check for default desc, at this point it must exist */
+
+       tmp = realloc(rp->part->other.desc,
+                     sizeof (Edje_Part_Description_Common *) * (rp->part->other.desc_count + 1));
+       if (!tmp)
+         {
+            free(pdto);
+            return EINA_FALSE;
+         }
+       rp->part->other.desc = tmp;
+       rp->part->other.desc[rp->part->other.desc_count++] = pdto;
+     }
+
+#define PD_STRING_COPY(To, From, _x)                   \
+   _edje_if_string_free(ed, To->_x);                   \
+   To->_x = (char *)eina_stringshare_add(From->_x);
+
+   /* Copy all value */
+   *pdto = *pdfrom;
+   /* Keeping the pdto state name and value */
+   pdto->state.name = eina_stringshare_add(to);
+   pdto->state.value = val_to;
+   /* Update pointer. */
+   PD_STRING_COPY(pdto, pdfrom, color_class);
+
+   switch (rp->part->type)
+     {
+      case EDJE_PART_TYPE_PROXY:
+       {
+          Edje_Part_Description_Proxy *pro_to = (Edje_Part_Description_Proxy*) pdto;
+          Edje_Part_Description_Proxy *pro_from = (Edje_Part_Description_Proxy*) pdfrom;
+
+          pro_to->proxy = pro_from->proxy;
+
+          break;
+       }
+      case EDJE_PART_TYPE_IMAGE:
+       {
+          Edje_Part_Description_Image *img_to = (Edje_Part_Description_Image*) pdto;
+          Edje_Part_Description_Image *img_from = (Edje_Part_Description_Image*) pdfrom;
+          unsigned int i;
+
+          img_to->image = img_from->image;
+
+          /* Update pointers. */
+          for (i = 0; i < img_to->image.tweens_count; ++i)
+            free(img_to->image.tweens[i]);
+          if (img_to->image.tweens_count > 0)
+               free(img_to->image.tweens);
+
+          img_to->image.tweens_count = img_from->image.tweens_count;
+          img_to->image.tweens = calloc(img_to->image.tweens_count,
+                                        sizeof (Edje_Part_Image_Id*));
+          if (!img_to->image.tweens)
+            break;
+
+          for (i = 0; i < img_to->image.tweens_count; ++i)
+            {
+               Edje_Part_Image_Id *new_i;
+               new_i = _alloc(sizeof(Edje_Part_Image_Id));
+               if (!new_i) continue ;
+
+               *new_i = *img_from->image.tweens[i];
+
+               img_to->image.tweens[i] = new_i;
+            }
+          break;
+       }
+      case EDJE_PART_TYPE_TEXT:
+      case EDJE_PART_TYPE_TEXTBLOCK:
+       {
+          Edje_Part_Description_Text *text_to = (Edje_Part_Description_Text*) pdto;
+          Edje_Part_Description_Text *text_from = (Edje_Part_Description_Text*) pdfrom;
+
+          text_to->text = text_from->text;
+
+          /* Update pointers. */
+          PD_STRING_COPY(text_to, text_from, text.text.str);
+          PD_STRING_COPY(text_to, text_from, text.text_class);
+          PD_STRING_COPY(text_to, text_from, text.style.str);
+          PD_STRING_COPY(text_to, text_from, text.font.str);
+          PD_STRING_COPY(text_to, text_from, text.repch.str);
+          break;
+       }
+      case EDJE_PART_TYPE_BOX:
+       {
+          Edje_Part_Description_Box *box_to = (Edje_Part_Description_Box*) pdto;
+          Edje_Part_Description_Box *box_from = (Edje_Part_Description_Box*) pdfrom;
+
+          box_to->box = box_from->box;
+
+          PD_STRING_COPY(box_to, box_from, box.layout);
+          PD_STRING_COPY(box_to, box_from, box.alt_layout);
+          break;
+       }
+      case EDJE_PART_TYPE_TABLE:
+       {
+          Edje_Part_Description_Table *table_to = (Edje_Part_Description_Table*) pdto;
+          Edje_Part_Description_Table *table_from = (Edje_Part_Description_Table*) pdfrom;
+
+          table_to->table = table_from->table;
+          break;
+       }
+      case EDJE_PART_TYPE_EXTERNAL:
+       {
+          Edje_Part_Description_External *ext_to = (Edje_Part_Description_External*) pdto;
+          Edje_Part_Description_External *ext_from = (Edje_Part_Description_External*) pdfrom;
+          Eina_List *l;
+
+          /* XXX: optimize this, most likely we don't need to remove and add */
+          EINA_LIST_FREE(ext_to->external_params, p)
+            {
+               _edje_if_string_free(ed, p->name);
+               if (p->s)
+                 _edje_if_string_free(ed, p->s);
+               free(p);
+            }
+          EINA_LIST_FOREACH(ext_from->external_params, l, p)
+            {
+               Edje_External_Param *new_p;
+               new_p = _alloc(sizeof(Edje_External_Param));
+               new_p->name = eina_stringshare_add(p->name);
+               new_p->type = p->type;
+               switch (p->type)
+                 {
+                  case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                     new_p->i = p->i;
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                     new_p->d = p->d;
+                     break;
+                  case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                  case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                     new_p->s = eina_stringshare_add(p->s);
+                     break;
+                  default:
+                     break;
+                 }
+               ext_to->external_params = eina_list_append(ext_to->external_params, new_p);
+            }
+          break;
+       }
+     }
+
+#undef PD_STRING_COPY
+
+   return EINA_TRUE;
+}
+
+#define FUNC_STATE_RELATIVE_DOUBLE(Sub, Value)                         \
+  EAPI double                                                          \
+  edje_edit_state_##Sub##_relative_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN(0);                                              \
+     return TO_DOUBLE(pd->Sub.relative_##Value);                       \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Sub##_relative_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+     pd->Sub.relative_##Value = FROM_DOUBLE(v);                        \
+     edje_object_calc_force(obj);                              \
+  }
+
+FUNC_STATE_RELATIVE_DOUBLE(rel1, x);
+FUNC_STATE_RELATIVE_DOUBLE(rel1, y);
+FUNC_STATE_RELATIVE_DOUBLE(rel2, x);
+FUNC_STATE_RELATIVE_DOUBLE(rel2, y);
+
+#define FUNC_STATE_OFFSET_INT(Sub, Value)                                      \
+  EAPI int                                                             \
+  edje_edit_state_##Sub##_offset_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN(0);                                              \
+     return pd->Sub.offset_##Value;                            \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Sub##_offset_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+     pd->Sub.offset_##Value = TO_INT(FROM_DOUBLE(v));          \
+     edje_object_calc_force(obj);                                      \
+  }
+
+FUNC_STATE_OFFSET_INT(rel1, x);
+FUNC_STATE_OFFSET_INT(rel1, y);
+FUNC_STATE_OFFSET_INT(rel2, x);
+FUNC_STATE_OFFSET_INT(rel2, y);
+
+#define FUNC_STATE_REL(Sub, Value)             \
+  EAPI const char *                            \
+  edje_edit_state_##Sub##_to_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value)        \
+  {                                                                    \
+     Edje_Real_Part *rel;                                              \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN(NULL);                                           \
+                                                                       \
+     if (pd->Sub.id_##Value == -1) return NULL;                        \
+                                                                       \
+     rel = ed->table_parts[pd->Sub.id_##Value % ed->table_parts_size]; \
+                                                                       \
+     if (rel->part->name) return eina_stringshare_add(rel->part->name);        \
+     return NULL;                                                      \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Sub##_to_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, const char *to)        \
+  {                                                                    \
+     Edje_Real_Part *relp;                                             \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN();                                               \
+                                                                       \
+     if (to)                                                           \
+       {                                                               \
+         relp = _edje_real_part_get(ed, to);                           \
+         if (!relp) return;                                            \
+         pd->Sub.id_##Value = relp->part->id;                  \
+       }                                                               \
+     else                                                              \
+       pd->Sub.id_##Value = -1;                                        \
+                                                                       \
+  }
+//note after this call edje_edit_part_selected_state_set() to update !! need to fix this
+//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
+// edje_object_calc_force(obj);//don't work for redraw
+
+FUNC_STATE_REL(rel1, x);
+FUNC_STATE_REL(rel1, y);
+FUNC_STATE_REL(rel2, x);
+FUNC_STATE_REL(rel2, y);
+
+//colors
+#define FUNC_COLOR(Code)                                               \
+  EAPI void                                                            \
+  edje_edit_state_##Code##_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+                                                                       \
+     if (r) *r = pd->Code.r;                                           \
+     if (g) *g = pd->Code.g;                                           \
+     if (b) *b = pd->Code.b;                                           \
+     if (a) *a = pd->Code.a;                                           \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Code##_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+                                                                       \
+     if (r > -1 && r < 256) pd->Code.r = r;                            \
+     if (g > -1 && g < 256) pd->Code.g = g;                            \
+     if (b > -1 && b < 256) pd->Code.b = b;                            \
+     if (a > -1 && a < 256) pd->Code.a = a;                            \
+                                                                       \
+     edje_object_calc_force(obj);                                      \
+  }
+
+FUNC_COLOR(color);
+FUNC_COLOR(color2);
+
+EAPI void
+edje_edit_state_color3_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     {
+        if (r) *r = 0;
+        if (g) *g = 0;
+        if (b) *b = 0;
+        if (a) *a = 0;
+        return;
+     }
+
+   txt = (Edje_Part_Description_Text*) pd;
+
+   if (r) *r = txt->text.color3.r;
+   if (g) *g = txt->text.color3.g;
+   if (b) *b = txt->text.color3.b;
+   if (a) *a = txt->text.color3.a;
+}
+
+EAPI void
+edje_edit_state_color3_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return;
+
+   txt = (Edje_Part_Description_Text*) pd;
+
+   if (r > -1 && r < 256) txt->text.color3.r = r;
+   if (g > -1 && g < 256) txt->text.color3.g = g;
+   if (b > -1 && b < 256) txt->text.color3.b = b;
+   if (a > -1 && a < 256) txt->text.color3.a = a;
+
+   edje_object_calc_force(obj);
+}
+
+#define FUNC_STATE_DOUBLE(Class, Value)                                        \
+  EAPI double                                                          \
+  edje_edit_state_##Class##_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN(0);                                              \
+     return TO_DOUBLE(pd->Class.Value);                                \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Class##_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+     pd->Class.Value = FROM_DOUBLE(v);                         \
+     edje_object_calc_force(obj);                                      \
+  }
+
+#define FUNC_STATE_INT(Class, Value)                                   \
+  EAPI int                                                             \
+  edje_edit_state_##Class##_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN(0);                                              \
+     return pd->Class.Value;                                   \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_##Class##_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, int v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+     GET_PD_OR_RETURN();                                               \
+     pd->Class.Value = v;                                      \
+     edje_object_calc_force(obj);                                      \
+  }
+
+FUNC_STATE_DOUBLE(align, x);
+FUNC_STATE_DOUBLE(align, y);
+FUNC_STATE_INT(min, w);
+FUNC_STATE_INT(min, h);
+FUNC_STATE_INT(max, w);
+FUNC_STATE_INT(max, h);
+FUNC_STATE_DOUBLE(aspect, min);
+FUNC_STATE_DOUBLE(aspect, max);
+
+#define FUNC_STATE_DOUBLE_FILL(Class, Type, Value)                     \
+  EAPI double                                                          \
+  edje_edit_state_fill_##Type##_relative_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN(0);                                              \
+                                                                        \
+     switch (rp->part->type)                                           \
+       {                                                               \
+       case EDJE_PART_TYPE_IMAGE:                                      \
+        {                                                              \
+          Edje_Part_Description_Image *img;                            \
+                                                                       \
+          img = (Edje_Part_Description_Image*) pd;                     \
+                                                                       \
+          return TO_DOUBLE(img->image.fill.Class##rel_##Value);        \
+        }                                                              \
+       case EDJE_PART_TYPE_PROXY:                                      \
+        {                                                              \
+          Edje_Part_Description_Proxy *pro;                            \
+                                                                       \
+          pro = (Edje_Part_Description_Proxy*) pd;                     \
+                                                                       \
+          return TO_DOUBLE(pro->proxy.fill.Class##rel_##Value);        \
+        }                                                              \
+       }                                                               \
+                                                                       \
+     return 0;                                                         \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_fill_##Type##_relative_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN();                                               \
+                                                                        \
+     switch (rp->part->type)                                           \
+       {                                                               \
+       case EDJE_PART_TYPE_IMAGE:                                      \
+        {                                                              \
+          Edje_Part_Description_Image *img;                            \
+                                                                       \
+          img = (Edje_Part_Description_Image*) pd;                     \
+                                                                       \
+          img->image.fill.Class##rel_##Value = FROM_DOUBLE(v);         \
+                                                                       \
+          break;                                                       \
+        }                                                              \
+       case EDJE_PART_TYPE_PROXY:                                      \
+        {                                                              \
+          Edje_Part_Description_Proxy *pro;                            \
+                                                                       \
+          pro = (Edje_Part_Description_Proxy*) pd;                     \
+                                                                       \
+          pro->proxy.fill.Class##rel_##Value = FROM_DOUBLE(v);         \
+                                                                       \
+          break;                                                       \
+        }                                                              \
+       default:                                                                \
+        return;                                                        \
+       }                                                               \
+                                                                       \
+     edje_object_calc_force(obj);                                      \
+  }
+
+#define FUNC_STATE_INT_FILL(Class, Type, Value)                                \
+  EAPI int                                                             \
+  edje_edit_state_fill_##Type##_offset_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN(0);                                              \
+                                                                        \
+     switch (rp->part->type)                                           \
+       {                                                               \
+       case EDJE_PART_TYPE_IMAGE:                                      \
+        {                                                              \
+          Edje_Part_Description_Image *img;                            \
+                                                                       \
+          img = (Edje_Part_Description_Image*) pd;                     \
+                                                                       \
+          return img->image.fill.Class##abs_##Value;                   \
+        }                                                              \
+       case EDJE_PART_TYPE_PROXY:                                      \
+        {                                                              \
+          Edje_Part_Description_Proxy *pro;                            \
+                                                                       \
+          pro = (Edje_Part_Description_Proxy*) pd;                     \
+                                                                       \
+          return pro->proxy.fill.Class##abs_##Value;                   \
+        }                                                              \
+       }                                                               \
+     return 0;                                                         \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_fill_##Type##_offset_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN();                                               \
+                                                                        \
+     switch (rp->part->type)                                           \
+       {                                                               \
+       case EDJE_PART_TYPE_IMAGE:                                      \
+        {                                                              \
+          Edje_Part_Description_Image *img;                            \
+                                                                       \
+          img = (Edje_Part_Description_Image*) pd;                     \
+                                                                       \
+          img->image.fill.Class##abs_##Value = FROM_DOUBLE(v);         \
+          return;                                                      \
+        }                                                              \
+       case EDJE_PART_TYPE_PROXY:                                      \
+        {                                                              \
+          Edje_Part_Description_Proxy *pro;                            \
+                                                                       \
+          pro = (Edje_Part_Description_Proxy*) pd;                     \
+                                                                       \
+          pro->proxy.fill.Class##abs_##Value = FROM_DOUBLE(v);         \
+          return;                                                      \
+        }                                                              \
+       default:                                                                \
+        return;                                                        \
+       }                                                               \
+                                                                       \
+     edje_object_calc_force(obj);                                      \
+  }
+
+FUNC_STATE_DOUBLE_FILL(pos_, origin, x);
+FUNC_STATE_DOUBLE_FILL(pos_, origin, y);
+FUNC_STATE_INT_FILL(pos_, origin, x);
+FUNC_STATE_INT_FILL(pos_, origin, y);
+
+FUNC_STATE_DOUBLE_FILL(, size, x);
+FUNC_STATE_DOUBLE_FILL(, size, y);
+FUNC_STATE_INT_FILL(, size, x);
+FUNC_STATE_INT_FILL(, size, y);
+
+EAPI Eina_Bool
+edje_edit_state_visible_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   //printf("Get state visible flag of part: %s state: %s\n", part, state);
+   return pd->visible;
+}
+
+EAPI void
+edje_edit_state_visible_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool visible)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+   //printf("Set state visible flag of part: %s state: %s to: %d\n", part, state, visible);
+   if (visible) pd->visible = 1;
+   else         pd->visible = 0;
+   edje_object_calc_force(obj);
+}
+
+EAPI unsigned char
+edje_edit_state_aspect_pref_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(0);
+
+   //printf("GET ASPECT_PREF of state '%s' [%d]\n", state, pd->aspect.prefer);
+   return pd->aspect.prefer;
+}
+
+EAPI void
+edje_edit_state_aspect_pref_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char pref)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   //printf("SET ASPECT_PREF of state '%s' [to: %d]\n", state, pref);
+   pd->aspect.prefer = pref;
+}
+
+EAPI const char*
+edje_edit_state_color_class_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+   //printf("Get ColorClass of part: %s state: %s\n", part, state);
+   return eina_stringshare_add(pd->color_class);
+}
+
+EAPI void
+edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char *state, double value, const char *color_class)
+{
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+   //printf("Set ColorClass of part: %s state: %s [to: %s]\n", part, state, color_class);
+   _edje_if_string_free(ed, pd->color_class);
+   pd->color_class = (char*)eina_stringshare_add(color_class);
+}
+
+EAPI const Eina_List *
+edje_edit_state_external_params_list_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_External *external;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     return NULL;
+
+   external = (Edje_Part_Description_External *) pd;
+
+   return external->external_params;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type *type, void **val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     return EINA_FALSE;
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (type) *type = p->type;
+          if (val)
+             switch (p->type)
+               {
+                case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                   *val = &p->i;
+                   break;
+                case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                   *val = &p->d;
+                   break;
+                case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                   *val = (void *)p->s;
+                   break;
+                default:
+                   ERR("unknown external parameter type '%d'", p->type);
+               }
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_int_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int *val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        if (val) *val = 0;
+        return EINA_FALSE;
+     }
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_INT)
+            return EINA_FALSE;
+          if (val)
+            *val = p->i;
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_bool_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool *val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        if (val) *val = 0;
+        return EINA_FALSE;
+     }
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+            return EINA_FALSE;
+          if (val)
+            *val = p->i;
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_double_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double *val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        if (val) *val = 0;
+        return EINA_FALSE;
+     }
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+            return EINA_FALSE;
+          if (val)
+            *val = p->d;
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_string_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        if (val) *val = NULL;
+        return EINA_FALSE;
+     }
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
+            return EINA_FALSE;
+          if (val)
+            *val = p->s;
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_choice_get(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char **val)
+{
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+        if (val) *val = NULL;
+        return EINA_FALSE;
+     }
+
+   external = (Edje_Part_Description_External *) pd;
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          if (p->type != EDJE_EXTERNAL_PARAM_TYPE_CHOICE)
+            return EINA_FALSE;
+          if (val)
+            *val = p->s;
+          return EINA_TRUE;
+       }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Edje_External_Param_Type type, ...)
+{
+   va_list ap;
+   Eina_List *l;
+   Edje_Part_Description_External *external;
+   Edje_External_Param *p = NULL, old_p = { 0, 0, 0, 0, 0 };
+   int found = 0;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     return EINA_FALSE;
+
+   external = (Edje_Part_Description_External *) pd;
+
+   va_start(ap, type);
+
+   EINA_LIST_FOREACH(external->external_params, l, p)
+      if (!strcmp(p->name, param))
+       {
+          found = 1;
+          old_p = *p;
+          break;
+       }
+
+   if (!found)
+     {
+       p = _alloc(sizeof(Edje_External_Param));
+       if (!p)
+         {
+            va_end(ap);
+            return EINA_FALSE;
+         }
+       p->name = eina_stringshare_add(param);
+     }
+
+   p->type = type;
+   p->i = 0;
+   p->d = 0;
+   _edje_if_string_free(ed, p->s);
+   p->s = NULL;
+
+   switch (type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+        p->i = (int)va_arg(ap, int);
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+        p->d = (double)va_arg(ap, double);
+        break;
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+        p->s = eina_stringshare_add((const char *)va_arg(ap, char *));
+        break;
+      default:
+        ERR("unknown external parameter type '%d'", type);
+        va_end(ap);
+        if (!found) free(p);
+        else *p = old_p;
+        return EINA_FALSE;
+     }
+
+   va_end(ap);
+
+   //FIXME:
+   //For now, we're just setting the value if the state is the selected state.
+   //This is a conceptual error and is incoherent with the rest of the API!
+     {
+       const char *sname;
+       double svalue;
+       sname = edje_edit_part_selected_state_get(obj, part, &svalue);
+       if (!strcmp(state, sname) && svalue == value)
+         if (!edje_object_part_external_param_set(obj, part, p))
+           if ((type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE) ||
+                 (type == EDJE_EXTERNAL_PARAM_TYPE_STRING))
+             {
+                _edje_if_string_free(ed, p->s);
+                if (!found) free(p);
+                else *p = old_p;
+                eina_stringshare_del(sname);
+                return EINA_FALSE;
+             }
+       eina_stringshare_del(sname);
+     }
+
+   if (!found)
+     external->external_params = eina_list_append(external->external_params, p);
+
+   _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object,
+                                    rp->param1.external_params);
+   rp->param1.external_params = \
+                            _edje_external_params_parse(rp->typedata.swallow->swallowed_object,
+                                                        external->external_params);
+
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_int_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, int val)
+{
+   eina_error_set(0);
+   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_INT, val);
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_bool_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, Eina_Bool val)
+{
+   eina_error_set(0);
+   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_BOOL, (int)val);
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_double_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, double val)
+{
+   eina_error_set(0);
+   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, val);
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_string_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val)
+{
+   eina_error_set(0);
+   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_STRING, val);
+}
+
+EAPI Eina_Bool
+edje_edit_state_external_param_choice_set(Evas_Object *obj, const char *part, const char *state, double value, const char *param, const char *val)
+{
+   eina_error_set(0);
+   return edje_edit_state_external_param_set(obj, part, state, value, param, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, val);
+}
+
+/**************/
+/*  TEXT API */
+/**************/
+
+EAPI const char *
+edje_edit_state_text_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return NULL;
+
+   txt = (Edje_Part_Description_Text *) pd;
+   //printf("GET TEXT of state: %s\n", state);
+
+   return eina_stringshare_add(edje_string_get(&txt->text.text));
+}
+
+EAPI void
+edje_edit_state_text_set(Evas_Object *obj, const char *part, const char *state, double value, const char *text)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   //printf("SET TEXT of state: %s\n", state);
+
+   if (!text) return;
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return;
+
+   txt = (Edje_Part_Description_Text *) pd;
+
+   _edje_if_string_free(ed, txt->text.text.str);
+   txt->text.text.str = (char *)eina_stringshare_add(text);
+   txt->text.text.id = 0;
+
+   edje_object_calc_force(obj);
+}
+
+EAPI int
+edje_edit_state_text_size_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(-1);
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return -1;
+
+   txt = (Edje_Part_Description_Text *) pd;
+   //printf("GET TEXT_SIZE of state: %s [%d]\n", state, pd->text.size);
+   return txt->text.size;
+}
+
+EAPI void
+edje_edit_state_text_size_set(Evas_Object *obj, const char *part, const char *state, double value, int size)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   //printf("SET TEXT_SIZE of state: %s [%d]\n", state, size);
+
+   if (size < 0) return;
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return;
+
+   txt = (Edje_Part_Description_Text *) pd;
+
+   txt->text.size = size;
+
+   edje_object_calc_force(obj);
+}
+
+#define FUNC_TEXT_DOUBLE(Name, Value)                                  \
+  EAPI double                                                          \
+  edje_edit_state_text_##Name##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     Edje_Part_Description_Text *txt;                                  \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN(0);                                              \
+                                                                       \
+     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
+         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
+       return 0;                                                        \
+                                                                        \
+     txt = (Edje_Part_Description_Text *) pd;                          \
+     return TO_DOUBLE(txt->text.Value);                                        \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_text_##Name##_set(Evas_Object *obj, const char *part, const char *state, double value, double v) \
+  {                                                                    \
+     Edje_Part_Description_Text *txt;                                  \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN();                                               \
+                                                                       \
+     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
+         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
+       return;                                                          \
+                                                                        \
+     txt = (Edje_Part_Description_Text *) pd;                          \
+     txt->text.Value = FROM_DOUBLE(v);                                 \
+     edje_object_calc_force(obj);                                      \
+  }                                                                    \
+
+FUNC_TEXT_DOUBLE(align_x, align.x);
+FUNC_TEXT_DOUBLE(align_y, align.y);
+FUNC_TEXT_DOUBLE(elipsis, elipsis);
+
+#define FUNC_TEXT_BOOL_FIT(Value)                                      \
+  EAPI Eina_Bool                                                       \
+  edje_edit_state_text_fit_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
+  {                                                                    \
+     Edje_Part_Description_Text *txt;                                  \
+                                                                       \
+     eina_error_set(0);                                                        \
+                                                                       \
+     GET_PD_OR_RETURN(EINA_FALSE);                                     \
+                                                                        \
+     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
+         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
+       return EINA_FALSE;                                               \
+                                                                       \
+     txt = (Edje_Part_Description_Text *) pd;                          \
+     return txt->text.fit_##Value;                                     \
+  }                                                                    \
+  EAPI void                                                            \
+  edje_edit_state_text_fit_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool fit) \
+  {                                                                    \
+     Edje_Part_Description_Text *txt;                                  \
+                                                                       \
+     GET_PD_OR_RETURN();                                               \
+                                                                        \
+     if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&                     \
+         (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))                  \
+       return;                                                          \
+                                                                       \
+     txt = (Edje_Part_Description_Text *) pd;                          \
+     txt->text.fit_##Value = fit ? 1 : 0;                              \
+     edje_object_calc_force(obj);                                      \
+  }
+
+FUNC_TEXT_BOOL_FIT(x);
+FUNC_TEXT_BOOL_FIT(y);
+
+EAPI Eina_List *
+edje_edit_fonts_list_get(Evas_Object *obj)
+{
+   Eina_Iterator *it;
+   Eina_List *fonts = NULL;
+   Edje_Font_Directory_Entry *f;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->fonts) return NULL;
+
+   it = eina_hash_iterator_data_new(ed->file->fonts);
+   if (!it) return NULL;
+
+   EINA_ITERATOR_FOREACH(it, f)
+     fonts = eina_list_append(fonts, eina_stringshare_add(f->entry));
+
+   eina_iterator_free(it);
+
+   return fonts;
+}
+
+EAPI Eina_Bool
+edje_edit_font_add(Evas_Object *obj, const char* path, const char* alias)
+{
+   char entry[PATH_MAX];
+   char *new_path;
+   struct stat st;
+   Edje_Font_Directory_Entry *fnt;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   INF("ADD FONT: %s", path);
+
+   if (!path) return EINA_FALSE;
+   if (stat(path, &st) || !S_ISREG(st.st_mode)) return EINA_FALSE;
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->path) return EINA_FALSE;
+
+   /* Alias */
+   if (alias)
+     {
+       if ((new_path = strrchr(path, '/'))) new_path ++;
+       else new_path = (char *)path;
+     }
+   else
+     {
+       if ((alias = strrchr(path, '/'))) alias ++;
+       else alias = (char *)path;
+        new_path = (char *)alias;
+     }
+   snprintf(entry, sizeof(entry), "edje/fonts/%s", alias);
+
+   /* Initializing a new font hash, if no exist */
+   if (!ed->file->fonts)
+     {
+        ed->file->fonts = eina_hash_string_small_new(NULL);
+        if (!ed->file->fonts) return EINA_FALSE;
+     }
+
+   /* Check if exists */
+   fnt = eina_hash_find(ed->file->fonts, alias);
+   if (fnt)
+     return EINA_FALSE;
+
+   /* Create Edje_Font_Directory_Entry */
+   fnt = _alloc(sizeof(Edje_Font_Directory_Entry));
+   if (!fnt)
+     {
+       ERR("Unable to alloc font entry part \"%s\"", alias);
+       return EINA_FALSE;
+     }
+   fnt->file = eina_stringshare_add(new_path);
+   fnt->entry = eina_stringshare_add(alias);
+
+   eina_hash_direct_add(ed->file->fonts, fnt->entry, fnt);
+
+   /* Import font */
+   if (!_edje_import_font_file(ed, path, entry))
+     {
+       eina_hash_del(ed->file->fonts, fnt->entry, fnt);
+        eina_stringshare_del(fnt->file);
+        eina_stringshare_del(fnt->entry);
+       return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_font_del(Evas_Object *obj, const char* alias)
+{
+   Edje_Font_Directory_Entry *fnt;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   INF("DEL FONT: %s", alias);
+
+   if (!alias) return EINA_FALSE;
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->path) return EINA_FALSE;
+
+   fnt = eina_hash_find(ed->file->fonts, alias);
+   if (!fnt)
+     {
+       WRN("Unable to find font entry part \"%s\"", alias);
+       return EINA_FALSE;
+     }
+
+   /* Erase font to edje file */
+   {
+      char entry[PATH_MAX];
+      Eet_File *eetf;
+
+      /* open the eet file */
+      eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+      if (!eetf)
+       {
+          ERR("Unable to open \"%s\" for writing output", ed->path);
+          return EINA_FALSE;
+       }
+
+      snprintf(entry, sizeof(entry), "edje/fonts/%s", alias);
+
+      if (eet_delete(eetf, entry) <= 0)
+        {
+           ERR("Unable to delete \"%s\" font entry", entry);
+           eet_close(eetf);
+           return EINA_FALSE;
+        }
+
+      /* write the edje_file */
+      if (!_edje_edit_edje_file_save(eetf, ed->file))
+       {
+          eet_close(eetf);
+          return EINA_FALSE;
+       }
+      eet_close(eetf);
+   }
+
+   eina_hash_del(ed->file->fonts, alias, fnt);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_font_path_get(Evas_Object *obj, const char *alias)
+{
+   Eina_Iterator *it;
+   Edje_Font_Directory_Entry *f;
+   const char *str = NULL;
+
+   eina_error_set(0);
+
+   if (!alias) return NULL;
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file || !ed->file->fonts) return NULL;
+
+   it = eina_hash_iterator_data_new(ed->file->fonts);
+   if (!it) return NULL;
+
+   EINA_ITERATOR_FOREACH(it, f)
+     if (!strcmp(f->entry, alias))
+       {
+          str = f->file;
+          break;
+       }
+
+   eina_iterator_free(it);
+   return eina_stringshare_add(str);
+}
+
+EAPI const char *
+edje_edit_state_font_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return NULL;
+
+   txt = (Edje_Part_Description_Text*) pd;
+
+   return eina_stringshare_add(edje_string_get(&txt->text.font));
+}
+
+EAPI void
+edje_edit_state_font_set(Evas_Object *obj, const char *part, const char *state, double value, const char *font)
+{
+   Edje_Part_Description_Text *txt;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return;
+
+   txt = (Edje_Part_Description_Text*) pd;
+
+   _edje_if_string_free(ed, txt->text.font.str);
+   txt->text.font.str = (char *)eina_stringshare_add(font);
+   txt->text.font.id = 0;
+
+   edje_object_calc_force(obj);
+}
+
+EAPI Edje_Text_Effect
+edje_edit_part_effect_get(Evas_Object *obj, const char *part)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN(0);
+
+   //printf("GET EFFECT of part: %s\n", part);
+   return rp->part->effect;
+}
+
+EAPI void
+edje_edit_part_effect_set(Evas_Object *obj, const char *part, Edje_Text_Effect effect)
+{
+   eina_error_set(0);
+
+   GET_RP_OR_RETURN();
+
+   //printf("SET EFFECT of part: %s [%d]\n", part, effect);
+   rp->part->effect = effect;
+
+   edje_object_calc_force(obj);
+}
+
+/****************/
+/*  IMAGES API  */
+/****************/
+
+EAPI Eina_List *
+edje_edit_images_list_get(Evas_Object *obj)
+{
+   Eina_List *images = NULL;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file) return NULL;
+   if (!ed->file->image_dir) return NULL;
+
+   //printf("GET IMAGES LIST for %s\n", ed->file->path);
+   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+     images = eina_list_append(images,
+                              eina_stringshare_add(ed->file->image_dir->entries[i].entry));
+
+   return images;
+}
+
+EAPI Eina_Bool
+edje_edit_image_add(Evas_Object *obj, const char* path)
+{
+   Edje_Image_Directory_Entry *de;
+   unsigned int i;
+   int free_id = -1;
+   char *name;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!path) return EINA_FALSE;
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->path) return EINA_FALSE;
+
+   /* Create Image_Directory if not exist */
+   if (!ed->file->image_dir)
+     {
+       ed->file->image_dir = _alloc(sizeof(Edje_Image_Directory));
+       if (!ed->file->image_dir) return EINA_FALSE;
+     }
+
+   /* Image name */
+   if ((name = strrchr(path, '/'))) name++;
+   else name = (char *)path;
+
+   /* Loop trough image directory to find if image exist */
+   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+     {
+       de = ed->file->image_dir->entries + i;
+
+       if (!de->entry)
+         free_id = i;
+       else if (!strcmp(name, de->entry))
+         return EINA_FALSE;
+     }
+
+   if (free_id == -1)
+     {
+       Edje_Image_Directory_Entry *tmp;
+       unsigned int count;
+
+       count = ed->file->image_dir->entries_count + 1;
+
+       tmp = realloc(ed->file->image_dir->entries,
+                     sizeof (Edje_Image_Directory_Entry) * count);
+       if (!tmp) return EINA_FALSE;
+
+       ed->file->image_dir->entries = tmp;
+       free_id = ed->file->image_dir->entries_count;
+       ed->file->image_dir->entries_count = count;
+     }
+
+   /* Set Image Entry */
+   de = ed->file->image_dir->entries + free_id;
+   de->entry = eina_stringshare_add(name);
+   de->id = free_id;
+   de->source_type = 1;
+   de->source_param = 1;
+
+   /* Import image */
+   if (!_edje_import_image_file(ed, path, free_id))
+     {
+       eina_stringshare_del(de->entry);
+       de->entry = NULL;
+       return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_image_del(Evas_Object *obj, const char* name)
+{
+   Edje_Image_Directory_Entry *de;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!name) return EINA_FALSE;
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->path) return EINA_FALSE;
+
+   /* Create Image_Directory if not exist */
+   if (!ed->file->image_dir)
+      goto invalid_image;
+
+     return EINA_TRUE;
+
+   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+     {
+       de = ed->file->image_dir->entries + i;
+
+       if (de->entry
+           && !strcmp(name, de->entry))
+         break;
+     }
+
+   if (i == ed->file->image_dir->entries_count)
+      goto invalid_image;
+
+   {
+      char entry[PATH_MAX];
+      Eet_File *eetf;
+
+      /* open the eet file */
+      eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+      if (!eetf)
+       {
+          ERR("Unable to open \"%s\" for writing output", ed->path);
+          return EINA_FALSE;
+       }
+
+      snprintf(entry, sizeof(entry), "edje/images/%i", de->id);
+
+      if (eet_delete(eetf, entry) <= 0)
+        {
+           ERR("Unable to delete \"%s\" font entry", entry);
+           eet_close(eetf);
+           return EINA_FALSE;
+        }
+
+      /* write the edje_file */
+      if (!_edje_edit_edje_file_save(eetf, ed->file))
+       {
+          eet_close(eetf);
+          return EINA_FALSE;
+       }
+
+      eet_close(eetf);
+   }
+
+   _edje_if_string_free(ed, de->entry);
+   de->entry = NULL;
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+
+invalid_image:
+   WRN("Unable to find image entry part \"%s\"", name);
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_edit_image_data_add(Evas_Object *obj, const char *name, int id)
+{
+   Edje_Image_Directory_Entry *de;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!name) return EINA_FALSE;
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->path) return EINA_FALSE;
+
+   /* Create Image_Directory if not exist */
+   if (!ed->file->image_dir)
+     {
+       ed->file->image_dir = _alloc(sizeof(Edje_Image_Directory));
+       if (!ed->file->image_dir) return EINA_FALSE;
+     }
+
+   /* Loop trough image directory to find if image exist */
+   if (id < 0) id = - id - 1;
+   if ((unsigned int) id >= ed->file->image_dir->entries_count) return EINA_FALSE;
+
+   de = ed->file->image_dir->entries + id;
+   eina_stringshare_replace(&de->entry, name);
+   de->source_type = 1;
+   de->source_param = 1;
+
+   return EINA_TRUE;
+}
+
+EAPI int
+edje_edit_image_id_get(Evas_Object *obj, const char *image_name)
+{
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(-1);
+
+   return _edje_image_id_find(eed, image_name);
+}
+
+EAPI Edje_Edit_Image_Comp
+edje_edit_image_compression_type_get(Evas_Object *obj, const char *image)
+{
+   Edje_Image_Directory_Entry *de = NULL;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(-1);
+
+   if (!ed->file) return -1;
+   if (!ed->file->image_dir) return -1;
+
+   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+     {
+       de = ed->file->image_dir->entries + i;
+
+       if (de->entry
+           && !strcmp(image, de->entry))
+         break;
+     }
+
+   if (i == ed->file->image_dir->entries_count) return -1;
+
+   switch(de->source_type)
+     {
+       case EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT:
+               if (de->source_param == 0) // RAW
+                 return EDJE_EDIT_IMAGE_COMP_RAW;
+               else // COMP
+                 return EDJE_EDIT_IMAGE_COMP_COMP;
+               break;
+       case EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY: // LOSSY
+               return EDJE_EDIT_IMAGE_COMP_LOSSY;
+               break;
+       case EDJE_IMAGE_SOURCE_TYPE_EXTERNAL: // USER
+               return EDJE_EDIT_IMAGE_COMP_USER;
+               break;
+     }
+
+   return -1;
+}
+
+EAPI int
+edje_edit_image_compression_rate_get(Evas_Object *obj, const char *image)
+{
+   Edje_Image_Directory_Entry *de;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(-1);
+
+   // Gets the Image Entry
+   for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+     {
+       de = ed->file->image_dir->entries + i;
+       if (de->entry
+           && !strcmp(de->entry, image))
+         break;
+     }
+
+   if (i == ed->file->image_dir->entries_count) return -1;
+   if (de->source_type != EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY) return -2;
+
+   return de->source_param;
+}
+
+EAPI const char *
+edje_edit_state_image_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Image *img;
+   const char *image;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return NULL;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   image = _edje_image_name_find(eed, img->image.id);
+   if (!image) return NULL;
+
+   //printf("GET IMAGE for %s [%s]\n", state, image);
+   return eina_stringshare_add(image);
+}
+
+EAPI void
+edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image)
+{
+   Edje_Part_Description_Image *img;
+   int id;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if (!image) return;
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return;
+
+   id = _edje_image_id_find(eed, image);
+   //printf("SET IMAGE for %s [%s]\n", state, image);
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   if (id > -1) img->image.id = id;
+
+   edje_object_calc_force(obj);
+}
+
+EAPI Eina_List *
+edje_edit_state_tweens_list_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Image *img;
+   Eina_List *tweens = NULL;
+   const char *name;
+   unsigned int i;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(NULL);
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return NULL;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   for (i = 0; i < img->image.tweens_count; ++i)
+     {
+       name = _edje_image_name_find(eed, img->image.tweens[i]->id);
+       //printf("   t: %s\n", name);
+       tweens = eina_list_append(tweens, eina_stringshare_add(name));
+     }
+
+   return tweens;
+}
+
+EAPI Eina_Bool
+edje_edit_state_tween_add(Evas_Object *obj, const char *part, const char *state, double value, const char *tween)
+{
+   Edje_Part_Description_Image *img;
+   Edje_Part_Image_Id **tmp;
+   Edje_Part_Image_Id *i;
+   int id;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return EINA_FALSE;
+
+   id = _edje_image_id_find(eed, tween);
+   if (id < EINA_FALSE) return 0;
+
+   /* alloc Edje_Part_Image_Id */
+   i = _alloc(sizeof(Edje_Part_Image_Id));
+   if (!i) return EINA_FALSE;
+   i->id = id;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   /* add to tween list */
+   tmp = realloc(img->image.tweens,
+                sizeof (Edje_Part_Image_Id*) * img->image.tweens_count);
+   if (!tmp)
+     {
+       free(i);
+       return EINA_FALSE;
+     }
+
+   tmp[img->image.tweens_count++] = i;
+   img->image.tweens = tmp;
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_state_tween_del(Evas_Object *obj, const char *part, const char *state, double value, const char *tween)
+{
+   Edje_Part_Description_Image *img;
+   unsigned int i;
+   int search;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return EINA_FALSE;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   if (!img->image.tweens_count) return EINA_FALSE;
+
+   search = _edje_image_id_find(eed, tween);
+   if (search < 0) return EINA_FALSE;
+
+   for (i = 0; i < img->image.tweens_count; ++i)
+     {
+       if (img->image.tweens[i]->id == search)
+         {
+            img->image.tweens_count--;
+            free(img->image.tweens[i]);
+            memmove(img->image.tweens + i,
+                    img->image.tweens + i + 1,
+                    sizeof (Edje_Part_Description_Image*) * (img->image.tweens_count - i));
+            return EINA_TRUE;
+         }
+     }
+   return EINA_FALSE;
+}
+
+EAPI void
+edje_edit_state_image_border_get(Evas_Object *obj, const char *part, const char *state, double value, int *l, int *r, int *t, int *b)
+{
+   Edje_Part_Description_Image *img;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     {
+        if (l) *l = 0;
+        if (r) *r = 0;
+        if (t) *t = 0;
+        if (b) *b = 0;
+        return;
+     }
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   //printf("GET IMAGE_BORDER of state '%s'\n", state);
+
+   if (l) *l = img->image.border.l;
+   if (r) *r = img->image.border.r;
+   if (t) *t = img->image.border.t;
+   if (b) *b = img->image.border.b;
+}
+
+EAPI void
+edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b)
+{
+   Edje_Part_Description_Image *img;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   //printf("SET IMAGE_BORDER of state '%s'\n", state);
+
+   if (l > -1) img->image.border.l = l;
+   if (r > -1) img->image.border.r = r;
+   if (t > -1) img->image.border.t = t;
+   if (b > -1) img->image.border.b = b;
+
+   edje_object_calc_force(obj);
+}
+
+EAPI unsigned char
+edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+   Edje_Part_Description_Image *img;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN(0);
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return 0;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   if (img->image.border.no_fill == 0) return 1;
+   else if (img->image.border.no_fill == 1) return 0;
+   else if (img->image.border.no_fill == 2) return 2;
+   return 0;
+}
+
+EAPI void
+edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill)
+{
+   Edje_Part_Description_Image *img;
+
+   eina_error_set(0);
+
+   GET_PD_OR_RETURN();
+
+   if (rp->part->type != EDJE_PART_TYPE_IMAGE)
+     return;
+
+   img = (Edje_Part_Description_Image *) pd;
+
+   if (fill == 0) img->image.border.no_fill = 1;
+   else if (fill == 1) img->image.border.no_fill = 0;
+   else if (fill == 2) img->image.border.no_fill = 2;
+
+   edje_object_calc_force(obj);
+}
+
+/******************/
+/*  PROGRAMS API  */
+/******************/
+static int
+_edje_program_id_find(Edje_Edit *eed, const char *program)
+{
+   Edje_Program *epr;
+   int i;
+
+   for (i = 0; i < eed->base->table_programs_size; i++)
+     {
+        epr = eed->base->table_programs[i];
+        if (epr->name && !strcmp(epr->name, program))
+          return epr->id;
+     }
+   return -1;
+}
+
+static Edje_Program *
+_edje_program_get_byname(Evas_Object *obj, const char *prog_name)
+{
+   Edje_Program *epr;
+   int i;
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!prog_name) return NULL;
+
+   for (i = 0; i < ed->table_programs_size; i++)
+     {
+       epr = ed->table_programs[i];
+       if ((epr->name) && (strcmp(epr->name, prog_name) == 0))
+         return epr;
+     }
+   return NULL;
+}
+
+EAPI Eina_List *
+edje_edit_programs_list_get(Evas_Object *obj)
+{
+   Eina_List *progs = NULL;
+   int i;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+
+   //printf("EE: Found %d programs\n", ed->table_programs_size);
+
+   for (i = 0; i < ed->table_programs_size; i++)
+     {
+       Edje_Program *epr;
+
+       epr = ed->table_programs[i];
+        /* XXX: bad, we miss programs this way, but since you can't access
+         * them in any way without a name, better ignore them.  */
+        if (!epr->name) continue;
+       progs = eina_list_append(progs, eina_stringshare_add(epr->name));
+     }
+
+   return progs;
+}
+
+EAPI Eina_Bool
+edje_edit_program_add(Evas_Object *obj, const char *name)
+{
+   Edje_Program *epr;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   //printf("ADD PROGRAM [new name: %s]\n", name);
+
+   //Check if program already exists
+   if (_edje_program_get_byname(obj, name))
+     return EINA_FALSE;
+
+   //Alloc Edje_Program or return
+   epr = _alloc(sizeof(Edje_Program));
+   if (!epr) return EINA_FALSE;
+
+   //Add program to group
+   // pc = ed->collection;
+
+   /* By default, source and signal are empty, so they fill in nocmp category */
+   ed->collection->programs.nocmp = realloc(ed->collection->programs.nocmp,
+                                           sizeof (Edje_Program*) * (ed->collection->programs.nocmp_count + 1));
+   ed->collection->programs.nocmp[ed->collection->programs.nocmp_count++] = epr;
+
+   //Init Edje_Program
+   epr->id = ed->table_programs_size;
+   epr->name = eina_stringshare_add(name);
+   epr->signal = NULL;
+   epr->source = NULL;
+   epr->filter.part = NULL;
+   epr->filter.state = NULL;
+   epr->in.from = 0.0;
+   epr->in.range = 0.0;
+   epr->action = 0;
+   epr->state = NULL;
+   epr->value = 0.0;
+   epr->state2 = NULL;
+   epr->value2 = 0.0;
+   epr->tween.mode = 1;
+   epr->tween.time = ZERO;
+   epr->targets = NULL;
+   epr->after = NULL;
+
+
+   //Update table_programs
+   ed->table_programs_size++;
+   ed->table_programs = realloc(ed->table_programs,
+                                sizeof(Edje_Program *) * ed->table_programs_size);
+   ed->table_programs[epr->id % ed->table_programs_size] = epr;
+
+   //Update patterns
+   _edje_programs_patterns_clean(ed);
+   _edje_programs_patterns_init(ed);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_del(Evas_Object *obj, const char *prog)
+{
+   Eina_List *l, *l_next;
+   Edje_Program_Target *prt;
+   Edje_Program_After *pa;
+   Edje_Program *p;
+   Program_Script *ps, *old_ps;
+   int id, i;
+   int old_id = -1;
+
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //pc = ed->collection;
+
+   //Remove program from programs list
+   id = epr->id;
+   _edje_program_remove(ed->collection, epr);
+
+   /* fix table program */
+   if (epr->id != ed->table_programs_size - 1)
+     {
+       /* If the removed program is not the last in the list/table,
+        * put the last one in its place and update references to it later */
+       ed->table_programs[epr->id] = ed->table_programs[ed->table_programs_size - 1];
+       old_id = ed->table_programs_size - 1;
+       ed->table_programs[epr->id]->id = epr->id;
+     }
+
+   ps = eina_hash_find(eed->program_scripts, &id);
+   old_ps = eina_hash_find(eed->program_scripts, &old_id);
+   if (old_ps)
+     {
+        if (!ps)
+          {
+             ps = _alloc(sizeof(Program_Script));
+             ps->id = id;
+             eina_hash_add(eed->program_scripts, &id, ps);
+          }
+        else
+          {
+             free(ps->code);
+             free(ps->processed);
+             ps->processed = NULL;
+             ps->delete_me = EINA_FALSE;
+          }
+        ps->code = old_ps->code;
+        old_ps->code = NULL;
+        free(old_ps->processed);
+        old_ps->processed = NULL;
+        ps->dirty = EINA_TRUE;
+        old_ps->dirty = EINA_FALSE;
+        old_ps->delete_me = EINA_TRUE;
+     }
+   else if (ps)
+     {
+        ps->dirty = EINA_FALSE;
+        ps->delete_me = EINA_TRUE;
+     }
+
+   //Free Edje_Program
+   _edje_if_string_free(ed, epr->name);
+   _edje_if_string_free(ed, epr->signal);
+   _edje_if_string_free(ed, epr->source);
+   _edje_if_string_free(ed, epr->filter.part);
+   _edje_if_string_free(ed, epr->filter.state);
+   _edje_if_string_free(ed, epr->state);
+   _edje_if_string_free(ed, epr->state2);
+
+   EINA_LIST_FREE(epr->targets, prt)
+     free(prt);
+   EINA_LIST_FREE(epr->after, pa)
+     free(pa);
+   free(epr);
+
+   ed->table_programs_size--;
+   ed->table_programs = realloc(ed->table_programs,
+                             sizeof(Edje_Program *) * ed->table_programs_size);
+
+   //We also update all other programs that point to old_id and id
+   for (i = 0; i < ed->table_programs_size; i++)
+     {
+       p = ed->table_programs[i];
+
+       /* check in afters */
+       EINA_LIST_FOREACH_SAFE(p->after, l, l_next, pa)
+         {
+            if (pa->id == old_id)
+              pa->id = id;
+            else if (pa->id == id)
+               {
+                  p->after = eina_list_remove_list(p->after, l);
+                  free(pa);
+               }
+         }
+       /* check in targets */
+       if (p->action == EDJE_ACTION_TYPE_ACTION_STOP)
+         {
+            Edje_Program_Target *pt;
+
+            EINA_LIST_FOREACH_SAFE(p->targets, l, l_next, pt)
+              {
+                 if (pt->id == old_id)
+                   pt->id = id;
+                 else if (pt->id == id)
+                    {
+                       p->targets = eina_list_remove_list(p->targets, l);
+                       free(pt);
+                    }
+              }
+         }
+     }
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_exist(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_run(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   _edje_program_run(ed, epr, 0, "", "");
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char* new_name)
+{
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (!new_name) return EINA_FALSE;
+
+   if (_edje_program_get_byname(obj, new_name)) return EINA_FALSE;
+
+   //printf("SET NAME for program: %s [new name: %s]\n", prog, new_name);
+
+   _edje_if_string_free(ed, epr->name);
+   epr->name = eina_stringshare_add(new_name);
+
+   _edje_edit_flag_script_dirty(eed, EINA_TRUE);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_source_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->source) return NULL;
+   //printf("GET SOURCE for program: %s [%s]\n", prog, epr->source);
+   return eina_stringshare_add(epr->source);
+}
+
+EAPI Eina_Bool
+edje_edit_program_source_set(Evas_Object *obj, const char *prog, const char *source)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (!source) return EINA_FALSE;
+
+   /* Remove from program array */
+   _edje_program_remove(ed->collection, epr);
+   _edje_if_string_free(ed, epr->source);
+
+   /* Insert it back */
+   epr->source = eina_stringshare_add(source);
+   _edje_program_insert(ed->collection, epr);
+
+   //Update patterns
+   _edje_programs_patterns_clean(ed);
+   _edje_programs_patterns_init(ed);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_filter_part_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->filter.part) return NULL;
+   return eina_stringshare_add(epr->filter.part);
+}
+
+EAPI Eina_Bool
+edje_edit_program_filter_part_set(Evas_Object *obj, const char *prog, const char *filter_part)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (!filter_part) return EINA_FALSE;
+
+   _edje_if_string_free(ed, epr->filter.part);
+   epr->filter.part = eina_stringshare_add(filter_part);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_filter_state_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->filter.state) return NULL;
+   return eina_stringshare_add(epr->filter.state);
+}
+
+EAPI Eina_Bool
+edje_edit_program_filter_state_set(Evas_Object *obj, const char *prog, const char *filter_state)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (!filter_state) return EINA_FALSE;
+
+   _edje_if_string_free(ed, epr->filter.state);
+   epr->filter.state = eina_stringshare_add(filter_state);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_signal_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->signal) return NULL;
+   //printf("GET SIGNAL for program: %s [%s]\n", prog, epr->signal);
+   return eina_stringshare_add(epr->signal);
+}
+
+EAPI Eina_Bool
+edje_edit_program_signal_set(Evas_Object *obj, const char *prog, const char *sig)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (!sig) return EINA_FALSE;
+
+   /* Remove from program array */
+   _edje_program_remove(ed->collection, epr);
+   _edje_if_string_free(ed, epr->signal);
+
+   /* Insert it back */
+   epr->signal = eina_stringshare_add(sig);
+   _edje_program_insert(ed->collection, epr);
+
+   //Update patterns
+   _edje_programs_patterns_clean(ed);
+   _edje_programs_patterns_init(ed);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_state_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->state) return NULL;
+   //printf("GET STATE for program: %s [%s %.2f]\n", prog, epr->state, epr->value);
+   return eina_stringshare_add(epr->state);
+}
+
+EAPI Eina_Bool
+edje_edit_program_state_set(Evas_Object *obj, const char *prog, const char *state)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET STATE for program: %s\n", prog);
+
+   _edje_if_string_free(ed, epr->state);
+   epr->state = eina_stringshare_add(state);
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_state2_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   if (!epr->state2) return NULL;
+   //printf("GET STATE2 for program: %s [%s %.2f]\n", prog, epr->state2, epr->value2);
+   return eina_stringshare_add(epr->state2);
+}
+
+EAPI Eina_Bool
+edje_edit_program_state2_set(Evas_Object *obj, const char *prog, const char *state2)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET STATE2 for program: %s\n", prog);
+
+   _edje_if_string_free(ed, epr->state2);
+   epr->state2 = eina_stringshare_add(state2);
+
+   return EINA_TRUE;
+}
+
+EAPI double
+edje_edit_program_value_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(-1);
+
+   //printf("GET VALUE for program: %s [%s %.2f]\n", prog, epr->state, epr->value);
+   return epr->value;
+}
+
+EAPI Eina_Bool
+edje_edit_program_value_set(Evas_Object *obj, const char *prog, double value)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET VALUE for program: %s [%.2f]\n", prog, value);
+   epr->value = value;
+   return EINA_TRUE;
+}
+
+EAPI double
+edje_edit_program_value2_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(-1);
+
+   //printf("GET VALUE2 for program: %s [%s %.2f]\n", prog, epr->state2, epr->value2);
+   return epr->value2;
+}
+
+EAPI Eina_Bool
+edje_edit_program_value2_set(Evas_Object *obj, const char *prog, double value)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET VALUE for program: %s [%.2f]\n", prog, value);
+   epr->value2 = value;
+   return EINA_TRUE;
+}
+
+EAPI double
+edje_edit_program_in_from_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(0);
+
+   //printf("GET IN.FROM for program: %s [%f]\n", prog, epr->in.from);
+   return epr->in.from;
+}
+
+EAPI Eina_Bool
+edje_edit_program_in_from_set(Evas_Object *obj, const char *prog, double seconds)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET IN.FROM for program: %s [%f]\n", prog, epr->in.from);
+   epr->in.from = seconds;
+   return EINA_TRUE;
+}
+
+EAPI double
+edje_edit_program_in_range_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(0);
+
+   //printf("GET IN.RANGE for program: %s [%f]\n", prog, epr->in.range);
+   return epr->in.range;
+}
+
+EAPI Eina_Bool
+edje_edit_program_in_range_set(Evas_Object *obj, const char *prog, double seconds)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET IN.RANGE for program: %s [%f]\n", prog, epr->in.range);
+   epr->in.range = seconds;
+   return EINA_TRUE;
+}
+
+EAPI Edje_Tween_Mode
+edje_edit_program_transition_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(-1);
+
+   //printf("GET TRANSITION for program: %s [%d]\n", prog, epr->tween.mode);
+   return epr->tween.mode;
+}
+
+EAPI Eina_Bool
+edje_edit_program_transition_set(Evas_Object *obj, const char *prog, Edje_Tween_Mode transition)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("GET TRANSITION for program: %s [%d]\n", prog, epr->tween.mode);
+   epr->tween.mode = transition;
+   return EINA_TRUE;
+}
+
+EAPI double
+edje_edit_program_transition_time_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(-1);
+
+   //printf("GET TRANSITION_TIME for program: %s [%.4f]\n", prog, epr->tween.time);
+   return TO_DOUBLE(epr->tween.time);
+}
+
+EAPI Eina_Bool
+edje_edit_program_transition_time_set(Evas_Object *obj, const char *prog, double seconds)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("GET TRANSITION_TIME for program: %s [%.4f]\n", prog, epr->tween.time);
+   epr->tween.time = FROM_DOUBLE(seconds);
+   return EINA_TRUE;
+}
+
+EAPI Edje_Action_Type
+edje_edit_program_action_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(-1);
+
+   //printf("GET ACTION for program: %s [%d]\n", prog, epr->action);
+   return epr->action;
+}
+
+EAPI Eina_Bool
+edje_edit_program_action_set(Evas_Object *obj, const char *prog, Edje_Action_Type action)
+{
+   Program_Script *ps;
+
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   //printf("SET ACTION for program: %s [%d]\n", prog, action);
+   if (action >= EDJE_ACTION_TYPE_LAST) return EINA_FALSE;
+
+   if ((Edje_Action_Type)epr->action == action)
+     return EINA_TRUE;
+
+   if (action == EDJE_ACTION_TYPE_SCRIPT)
+     {
+        ps = eina_hash_find(eed->program_scripts, &epr->id);
+        if (!ps)
+          {
+             ps = _alloc(sizeof(Program_Script));
+             if (!ps)
+               return EINA_FALSE;
+          }
+        ps->id = epr->id;
+        ps->code = strdup("");
+        ps->dirty = EINA_TRUE;
+        ps->delete_me = EINA_FALSE;
+        eina_hash_set(eed->program_scripts, &ps->id, ps);
+        _edje_edit_flag_script_dirty(eed, EINA_FALSE);
+     }
+   if (epr->action == EDJE_ACTION_TYPE_SCRIPT)
+     {
+        ps = eina_hash_find(eed->program_scripts, &epr->id);
+        if (ps)
+          {
+             free(ps->code);
+             free(ps->processed);
+             ps->code = ps->processed = NULL;
+             ps->dirty = EINA_FALSE;
+             ps->delete_me = EINA_TRUE;
+             _edje_edit_flag_script_dirty(eed, EINA_FALSE);
+          }
+     }
+
+   epr->action = action;
+   return EINA_TRUE;
+}
+
+EAPI Eina_List *
+edje_edit_program_targets_get(Evas_Object *obj, const char *prog)
+{
+   Eina_List *l, *targets = NULL;
+   Edje_Program_Target *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+   GET_EPR_OR_RETURN(NULL);
+
+   //printf("GET TARGETS for program: %s [count: %d]\n", prog, eina_list_count(epr->targets));
+   EINA_LIST_FOREACH(epr->targets, l, t)
+     {
+       if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
+         {
+            /* the target is a part */
+            Edje_Real_Part *p = NULL;
+
+            p = ed->table_parts[t->id % ed->table_parts_size];
+            if (p && p->part && p->part->name)
+              targets = eina_list_append(targets,
+                    eina_stringshare_add(p->part->name));
+         }
+       else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
+         {
+            /* the target is a program */
+            Edje_Program *p;
+
+            p = ed->table_programs[t->id % ed->table_programs_size];
+            if (p && p->name)
+              targets = eina_list_append(targets,
+                    eina_stringshare_add(p->name));
+         }
+     }
+   return targets;
+}
+
+EAPI Eina_Bool
+edje_edit_program_targets_clear(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   while (epr->targets)
+     {
+       Edje_Program_Target *prt;
+
+       prt = eina_list_data_get(epr->targets);
+       epr->targets = eina_list_remove_list(epr->targets, epr->targets);
+       free(prt);
+     }
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_target_add(Evas_Object *obj, const char *prog, const char *target)
+{
+   int id;
+   Edje_Program_Target *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
+     {
+       /* the target is a part */
+       Edje_Real_Part *rp;
+
+       rp = _edje_real_part_get(ed, target);
+       if (!rp) return EINA_FALSE;
+       id = rp->part->id;
+     }
+   else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
+     {
+       /* the target is a program */
+       Edje_Program *tar;
+
+       tar = _edje_program_get_byname(obj, target);
+       if (!tar) return EINA_FALSE;
+       id = tar->id;
+     }
+   else
+     return EINA_FALSE;
+
+   t = _alloc(sizeof(Edje_Program_Target));
+   if (!t) return EINA_FALSE;
+
+   t->id = id;
+   epr->targets = eina_list_append(epr->targets, t);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_target_del(Evas_Object *obj, const char *prog, const char *target)
+{
+   int id;
+   Eina_List *l;
+   Edje_Program_Target *t;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   if (epr->action == EDJE_ACTION_TYPE_STATE_SET)
+     {
+       /* the target is a part */
+       Edje_Real_Part *rp;
+
+       rp = _edje_real_part_get(ed, target);
+       if (!rp) return EINA_FALSE;
+       id = rp->part->id;
+     }
+   else if (epr->action == EDJE_ACTION_TYPE_ACTION_STOP)
+     {
+       /* the target is a program */
+       Edje_Program *tar;
+
+       tar = _edje_program_get_byname(obj, target);
+       if (!tar) return EINA_FALSE;
+       id = tar->id;
+     }
+   else
+     return EINA_FALSE;
+
+   EINA_LIST_FOREACH(epr->targets, l, t)
+      if (t->id == id)
+       break;
+   epr->targets = eina_list_remove_list(epr->targets, l);
+   free(t);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_List *
+edje_edit_program_afters_get(Evas_Object *obj, const char *prog)
+{
+   Eina_List *l, *afters = NULL;
+   Edje_Program_After *a;
+
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(NULL);
+   GET_EPR_OR_RETURN(NULL);
+
+  // printf("GET AFTERS for program: %s [count: %d]\n", prog, eina_list_count(epr->after));
+   EINA_LIST_FOREACH(epr->after, l, a)
+     {
+       Edje_Program *p = NULL;
+
+       p = ed->table_programs[a->id % ed->table_programs_size];
+       if (p && p->name)
+         {
+            //printf("   a: %d name: %s\n", a->id, p->name);
+            afters = eina_list_append(afters, eina_stringshare_add(p->name));
+         }
+     }
+   return afters;
+}
+
+EAPI Eina_Bool
+edje_edit_program_afters_clear(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   while (epr->after)
+     {
+       Edje_Program_After *pa;
+
+       pa = eina_list_data_get(epr->after);
+       epr->after = eina_list_remove_list(epr->after, epr->after);
+       free(pa);
+     }
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_after_add(Evas_Object *obj, const char *prog, const char *after)
+{
+   Edje_Program *af;
+   Edje_Program_After *a;
+
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   af = _edje_program_get_byname(obj, after);
+   if (!af) return EINA_FALSE;
+
+   a = _alloc(sizeof(Edje_Program_After));
+   if (!a) return EINA_FALSE;
+
+   a->id = af->id;
+
+   epr->after = eina_list_append(epr->after, a);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_after_del(Evas_Object *obj, const char *prog, const char *after)
+{
+   Edje_Program *af;
+   Edje_Program_After *a;
+   Eina_List *l;
+
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   af = _edje_program_get_byname(obj, after);
+   if (!af) return EINA_FALSE;
+
+   EINA_LIST_FOREACH(epr->after, l, a)
+      if (a->id == af->id)
+       {
+          epr->after = eina_list_remove_list(epr->after, l);
+          break;
+       }
+
+   return EINA_TRUE;
+}
+
+EAPI const char *
+edje_edit_program_api_name_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   return eina_stringshare_add(epr->api.name);
+}
+
+EAPI const char *
+edje_edit_program_api_description_get(Evas_Object *obj, const char *prog)
+{
+   eina_error_set(0);
+
+   GET_EPR_OR_RETURN(NULL);
+
+   return eina_stringshare_add(epr->api.description);
+}
+
+EAPI Eina_Bool
+edje_edit_program_api_name_set(Evas_Object *obj, const char *prog, const char* name)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   _edje_if_string_free(ed, epr->api.name);
+   epr->api.name = eina_stringshare_add(name);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_program_api_description_set(Evas_Object *obj, const char *prog, const char *description)
+{
+   eina_error_set(0);
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+
+   _edje_if_string_free(ed, epr->api.description);
+   epr->api.description = eina_stringshare_add(description);
+
+   return EINA_TRUE;
+}
+
+/*************************/
+/*  EMBRYO SCRIPTS  API  */
+/*************************/
+EAPI char *
+edje_edit_script_get(Evas_Object *obj)
+{
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(NULL);
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->collection) return NULL;
+   if (!eed->embryo_source) return NULL;
+
+   return strdup(eed->embryo_source);
+}
+
+EAPI void
+edje_edit_script_set(Evas_Object *obj, const char *code)
+{
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN();
+
+   free(eed->embryo_source);
+   free(eed->embryo_processed);
+
+   if (code)
+     eed->embryo_source = strdup(code);
+   else
+     eed->embryo_source = NULL;
+   eed->embryo_processed = NULL;
+
+   eed->embryo_source_dirty = EINA_TRUE;
+
+   _edje_edit_flag_script_dirty(eed, EINA_FALSE);
+}
+
+EAPI char *
+edje_edit_script_program_get(Evas_Object *obj, const char *prog)
+{
+   Program_Script *ps;
+
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN(NULL);
+   GET_EPR_OR_RETURN(NULL);
+
+   if (epr->action != EDJE_ACTION_TYPE_SCRIPT)
+     return NULL;
+
+   ps = eina_hash_find(eed->program_scripts, prog);
+   if (!ps) /* mmm? it should be there, even if empty */
+     return NULL;
+
+   return ps->code ? strdup(ps->code) : NULL;
+}
+
+EAPI void
+edje_edit_script_program_set(Evas_Object *obj, const char *prog, const char *code)
+{
+   Program_Script *ps;
+
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN();
+   GET_EPR_OR_RETURN();
+
+   if (epr->action != EDJE_ACTION_TYPE_SCRIPT)
+     return;
+
+   ps = eina_hash_find(eed->program_scripts, prog);
+   if (!ps) /* ???? how so? */
+     return;
+
+   free(ps->code);
+   free(ps->processed);
+
+   if (code)
+     ps->code = strdup(code);
+   else
+     ps->code = NULL;
+   ps->processed = NULL;
+   ps->dirty = EINA_TRUE;
+
+   _edje_edit_flag_script_dirty(eed, EINA_FALSE);
+}
+
+static int
+__part_replace(Edje_Edit *eed, char *pcode, char *name)
+{
+   int id;
+
+   id = _edje_part_id_find((Edje *)eed, name);
+   if (id < 0)
+     return 0;
+   return eina_convert_itoa(id, pcode);
+}
+
+static int
+__program_replace(Edje_Edit *eed, char *pcode, char *name)
+{
+   int id;
+
+   id = _edje_program_id_find(eed, name);
+   if (id < 0)
+     return 0;
+   return eina_convert_itoa(id, pcode);
+}
+
+static int
+__group_replace(Edje_Edit *eed EINA_UNUSED, char *pcode, char *name)
+{
+   strcpy(pcode, name);
+   return strlen(name) + 1;
+}
+
+static int
+__image_replace(Edje_Edit *eed, char *pcode, char *name)
+{
+   int id;
+
+   id = _edje_image_id_find(eed, name);
+   if (id < 0)
+     return 0;
+   return eina_convert_itoa(id, pcode);
+}
+
+static char *
+_edje_edit_script_process(Edje_Edit *eed, const char *progname, char *code)
+{
+   char *pcode, *psrc, *pdst;
+   int codesize, pcodesize;
+   int quoted = 0, escaped = 0;
+   int line = 1;
+   Eina_Bool success = EINA_TRUE;
+
+   codesize = strlen(code);
+   pcode = malloc(codesize + 1);
+   if (!pcode)
+     return NULL;
+
+   pcodesize = 0;
+   psrc = code;
+   pdst = pcode;
+   while (*psrc)
+     {
+        if (!quoted)
+          {
+             char *ptr = NULL;
+             const char *what = NULL;
+             int (*func)(Edje_Edit *, char *, char *);
+
+             if (*psrc == 'P')
+               {
+                  if (!strncmp(psrc, "PART:\"", 6))
+                    {
+                       psrc += 6;
+                       ptr = psrc;
+                       func = __part_replace;
+                       what = "part";
+                    }
+                  else if (!strncmp(psrc, "PROGRAM:\"", 9))
+                    {
+                       psrc += 9;
+                       ptr = psrc;
+                       func = __program_replace;
+                       what = "program";
+                    }
+               }
+             else if (*psrc == 'G')
+               {
+                  if (!strncmp(psrc, "GROUP:\"", 7))
+                    {
+                       psrc += 7;
+                       ptr = psrc;
+                       func = __group_replace;
+                       what = "group";
+                    }
+               }
+             else if (*psrc == 'I')
+               {
+                  if (!strncmp(psrc, "IMAGE:\"", 7))
+                    {
+                       psrc += 7;
+                       ptr = psrc;
+                       func = __image_replace;
+                       what = "image";
+                    }
+               }
+             else if (*psrc == '#')
+               {
+                  while (*psrc)
+                    if (*psrc == '\n')
+                      break;
+                  line++;
+                  continue;
+               }
+             else if (*psrc == '\"')
+               quoted = 1;
+             else if (*psrc == '\n')
+               line++;
+
+             if (ptr)
+               {
+                  int i = 0, inesc = 0;
+                  char *name;
+                  while (*psrc)
+                    {
+                       if (!inesc)
+                         {
+                            if (*psrc == '\\')
+                              inesc = 1;
+                            else if (*psrc == '\"')
+                              {
+                                 /* string concatenation as in "foo""bar" */
+                                 if (*(psrc + 1) != '\"')
+                                   {
+                                      psrc++;
+                                      break;
+                                   }
+                                 else
+                                   psrc++;
+                              }
+                         }
+                       else
+                         inesc = 0;
+                       psrc++;
+                    }
+                  name = alloca(psrc - ptr);
+                  inesc = 0;
+                  while (*ptr)
+                    {
+                       if (!inesc)
+                         {
+                            if (*ptr == '\\')
+                              inesc = 1;
+                            else if (*ptr == '\"')
+                              {
+                                 if (*(ptr + 1) == '\"')
+                                   ptr++;
+                                 else
+                                   {
+                                      name[i] = 0;
+                                      break;
+                                   }
+                              }
+                            else
+                              {
+                                 name[i] = *ptr;
+                                 name[i + 1] = 0;
+                                 i++;
+                              }
+                         }
+                       else
+                         inesc = 0;
+                       ptr++;
+                    }
+                  i = func(eed, pdst, name);
+                  if (!i)
+                    {
+                       Edje_Edit_Script_Error *se;
+                       se = malloc(sizeof(Edje_Edit_Script_Error));
+                       se->program_name = progname ?
+                          eina_stringshare_add(progname) : NULL;
+                       se->line = line;
+                       se->error_str = eina_stringshare_printf(
+                          "Referenced %s '%s' could not be found in object.",
+                          what, name);
+                       eed->errors = eina_list_append(eed->errors, se);
+                       success = EINA_FALSE;
+                    }
+                  else
+                    {
+                       pcodesize += i;
+                       pdst += i;
+                    }
+                  /* replaced reference for the right value, now go
+                   * to the next iteration */
+                  continue;
+               }
+          }
+        else
+          {
+             if (!escaped)
+               {
+                  if (*psrc == '\"')
+                    quoted = 0;
+                  else if (*psrc == '\\')
+                    escaped = 1;
+               }
+             else if (escaped)
+               escaped = 0;
+          }
+        *pdst = *psrc;
+        pdst++;
+        psrc++;
+        pcodesize++;
+     }
+
+   if (!success)
+     {
+        free(pcode);
+        return NULL;
+     }
+
+   if (pcodesize < codesize)
+     pcode = realloc(pcode, pcodesize + 1);
+   pcode[pcodesize] = 0;
+
+   return pcode;
+}
+
+static Eina_Bool
+_edje_edit_embryo_rebuild(Edje_Edit *eed)
+{
+   FILE *f;
+   int fd, size, ret;
+   const char *tmp_dir;
+   char tmp_in[PATH_MAX];
+   char tmp_out[PATH_MAX];
+   char buf[4096];
+   Eina_Iterator *it;
+   Program_Script *ps;
+   Edje_Part_Collection *edc;
+   Eina_Bool success = EINA_TRUE; /* we are optimists! */
+   Edje_Edit_Script_Error *se;
+
+   EINA_LIST_FREE(eed->errors, se)
+     {
+        eina_stringshare_del(se->program_name);
+        eina_stringshare_del(se->error_str);
+        free(se);
+     }
+
+#ifdef HAVE_EVIL
+   tmp_dir = evil_tmpdir_get();
+#else
+   tmp_dir = "/tmp";
+#endif
+
+   snprintf(tmp_in, sizeof(tmp_in), "%s/edje_edit.sma-tmp-XXXXXX", tmp_dir);
+   snprintf(tmp_out, sizeof(tmp_out), "%s/edje_edit.amx-tmp-XXXXXX", tmp_dir);
+
+   fd = mkstemp(tmp_in);
+   if (fd < 0)
+     return EINA_FALSE; /* FIXME: report something */
+
+   f = fdopen(fd, "w");
+   if (!f)
+     {
+        close(fd);
+        unlink(tmp_in);
+        return EINA_FALSE;
+     }
+
+   fprintf(f, "#include <edje>\n");
+   if (eed->embryo_source)
+     {
+        if (eed->all_dirty)
+          {
+             free(eed->embryo_processed);
+             eed->embryo_processed = NULL;
+          }
+        if (!eed->embryo_processed)
+          eed->embryo_processed = _edje_edit_script_process(eed, NULL,
+                                                            eed->embryo_source);
+        if (!eed->embryo_processed)
+          {
+             /* oops.. an error finding references parts or something.
+              * we could flag it and do some lighter processing of the
+              * rest of the scripts, in order to find all the errors of
+              * this kind and report them at once, but knowing already
+              * that the script will not compile we can avoid some work
+              */
+             success = EINA_FALSE;
+          }
+        else
+          fprintf(f, "%s", eed->embryo_processed);
+     }
+
+   it = eina_hash_iterator_data_new(eed->program_scripts);
+   EINA_ITERATOR_FOREACH(it, ps)
+     {
+        Edje_Program *epr;
+
+        if (ps->delete_me)
+          continue;
+        if (eed->all_dirty)
+          {
+             free(ps->processed);
+             ps->processed = NULL;
+          }
+        epr = eed->base->table_programs[ps->id];
+        if (!ps->processed)
+          ps->processed = _edje_edit_script_process(eed, epr->name, ps->code);
+        if (!ps->processed)
+          {
+             /* oops.. an error finding references parts or something.
+              * we could flag it and do some lighter processing of the
+              * rest of the scripts, in order to find all the errors of
+              * this kind and report them at once, but knowing already
+              * that the script will not compile we can avoid some work
+              */
+             success = EINA_FALSE;
+             continue;
+          }
+        fprintf(f, "public _p%i(sig[], src[]) {\n", ps->id);
+        fprintf(f, "%s", ps->processed);
+        fprintf(f, "}\n");
+     }
+   eina_iterator_free(it);
+
+   fclose(f);
+
+   if (!success)
+     goto almost_out;
+
+   fd = mkstemp(tmp_out);
+   if (fd < 0)
+     {
+        success = EINA_FALSE;
+        goto almost_out;
+     }
+
+   snprintf(buf, sizeof(buf), "embryo_cc -i %s/include -o %s %s",
+            PACKAGE_DATA_DIR, tmp_out, tmp_in);
+   ret = system(buf);
+
+   if ((ret < 0) || (ret > 1))
+     {
+        success = EINA_FALSE;
+        close(fd);
+        goto the_doorway;
+     }
+
+   f = fdopen(fd, "rb");
+   if (!f)
+     {
+        success = EINA_FALSE;
+        close(fd);
+        goto the_doorway;
+     }
+
+   fseek(f, 0, SEEK_END);
+   size = ftell(f);
+   rewind(f);
+
+   free(eed->bytecode);
+   if (size > 0)
+     {
+        eed->bytecode = malloc(size);
+        if (!eed->bytecode)
+          {
+             success = EINA_FALSE;
+             goto the_way_out;
+          }
+        if (fread(eed->bytecode, size, 1, f) != 1)
+          {
+             success = EINA_FALSE;
+             goto the_way_out;
+          }
+     }
+   else
+     eed->bytecode = NULL; /* correctness mostly, I don't see why we
+                              would get a 0 sized program */
+
+   eed->bytecode_size = size;
+   eed->bytecode_dirty = EINA_TRUE;
+   eed->script_need_recompile = EINA_FALSE;
+   eed->all_dirty = EINA_FALSE;
+
+   edc = eed->base->collection;
+   embryo_program_free(edc->script);
+   edc->script = embryo_program_new(eed->bytecode, eed->bytecode_size);
+   _edje_embryo_script_init(edc);
+   _edje_var_init((Edje *)eed);
+
+the_way_out:
+   fclose(f);
+the_doorway:
+   unlink(tmp_out);
+almost_out:
+   unlink(tmp_in);
+
+   return success;
+}
+
+EAPI Eina_Bool
+edje_edit_script_compile(Evas_Object *obj)
+{
+   GET_EED_OR_RETURN(EINA_FALSE);
+
+   if (!eed->script_need_recompile)
+     return EINA_TRUE;
+
+   return _edje_edit_embryo_rebuild(eed);
+}
+
+EAPI const Eina_List *
+edje_edit_script_error_list_get(Evas_Object *obj)
+{
+   GET_EED_OR_RETURN(NULL);
+   return eed->errors;
+}
+
+/***************************/
+/*  EDC SOURCE GENERATION  */
+/***************************/
+#define I0 ""
+#define I1 "   "
+#define I2 "      "
+#define I3 "         "
+#define I4 "            "
+#define I5 "               "
+#define I6 "                  "
+#define I7 "                     "
+
+#define BUF_APPEND(STR) \
+   ret &= eina_strbuf_append(buf, STR)
+
+#define BUF_APPENDF(FMT, ...) \
+   ret &= eina_strbuf_append_printf(buf, FMT, ##__VA_ARGS__)
+
+static const char *types[] = {"NONE", "RECT", "TEXT", "IMAGE", "SWALLOW", "TEXTBLOCK", "GRADIENT", "GROUP", "BOX", "TABLE", "EXTERNAL", "SPACER"};
+static const char *effects[] = {"NONE", "PLAIN", "OUTLINE", "SOFT_OUTLINE", "SHADOW", "SOFT_SHADOW", "OUTLINE_SHADOW", "OUTLINE_SOFT_SHADOW ", "FAR_SHADOW ", "FAR_SOFT_SHADOW", "GLOW"};
+static const char *prefers[] = {"NONE", "VERTICAL", "HORIZONTAL", "BOTH"};
+
+ static Eina_Bool
+_edje_generate_source_of_colorclass(Edje * ed, const char *name, Eina_Strbuf *buf)
+{
+   Eina_List *l;
+   Edje_Color_Class *cc;
+   Eina_Bool ret = EINA_TRUE;
+
+   EINA_LIST_FOREACH(ed->file->color_classes, l, cc)
+     if (!strcmp(cc->name, name))
+       {
+        BUF_APPENDF(I1 "color_class { name: \"%s\";\n", cc->name);
+        BUF_APPENDF(I2 "color: %d %d %d %d;\n", cc->r, cc->g, cc->b, cc->a);
+        BUF_APPENDF(I2 "color2: %d %d %d %d;\n", cc->r2, cc->g2, cc->b2, cc->a2);
+        BUF_APPENDF(I2 "color3: %d %d %d %d;\n", cc->r3, cc->g3, cc->b3, cc->a3);
+        BUF_APPEND(I1 "}\n");
+       }
+   return ret;
+}
+
+ static Eina_Bool
+_edje_generate_source_of_style(Edje * ed, const char *name, Eina_Strbuf *buf)
+{
+   Eina_List *l, *ll;
+   Edje_Style *s;
+   Edje_Style_Tag *t;
+   Eina_Bool ret = EINA_TRUE;
+
+   EINA_LIST_FOREACH(ed->file->styles, l, s)
+     if (!strcmp(s->name, name))
+       {
+        t = s->tags ? s->tags->data : NULL;
+        BUF_APPENDF(I1 "style { name:\"%s\";\n", s->name);
+        if (t && t->value)
+          BUF_APPENDF(I2 "base: \"%s\";\n", t->value);
+
+        EINA_LIST_FOREACH(s->tags, ll, t)
+          if (ll->prev && t && t->value)
+            BUF_APPENDF(I2 "tag: \"%s\" \"%s\";\n", t->key,
+                               t->value);
+        BUF_APPEND(I1 "}\n");
+        return ret;
+       }
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Strbuf *buf)
+{
+   Eina_List *l, *ll;
+   const char *s, *s2;
+   double db, db2;
+   char *data;
+   Eina_Bool ret = EINA_TRUE;
+   const char *api_name, *api_description;
+   Edje_Program *epr;
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+
+   epr = _edje_program_get_byname(obj, program);
+
+   BUF_APPENDF(I3"program { name: \"%s\";\n", program);
+
+   /* Signal */
+   if ((s = edje_edit_program_signal_get(obj, program)))
+     {
+       BUF_APPENDF(I4"signal: \"%s\";\n", s);
+       edje_edit_string_free(s);
+     }
+
+   /* Source */
+   if ((s = edje_edit_program_source_get(obj, program)))
+     {
+       BUF_APPENDF(I4"source: \"%s\";\n", s);
+       edje_edit_string_free(s);
+     }
+
+   /* Action */
+   switch (edje_edit_program_action_get(obj, program))
+     {
+     case EDJE_ACTION_TYPE_ACTION_STOP:
+       BUF_APPEND(I4"action: ACTION_STOP;\n");
+       break;
+     case EDJE_ACTION_TYPE_STATE_SET:
+       if ((s = edje_edit_program_state_get(obj, program)))
+         {
+               BUF_APPENDF(I4"action: STATE_SET \"%s\" %.2f;\n", s,
+                       edje_edit_program_value_get(obj, program));
+               edje_edit_string_free(s);
+         }
+       break;
+     case EDJE_ACTION_TYPE_SIGNAL_EMIT:
+       s = edje_edit_program_state_get(obj, program);
+       s2 = edje_edit_program_state2_get(obj, program);
+       if (s && s2)
+         {
+               BUF_APPENDF(I4"action: SIGNAL_EMIT \"%s\" \"%s\";\n", s, s2);
+               edje_edit_string_free(s);
+               edje_edit_string_free(s2);
+         }
+       break;
+     case EDJE_ACTION_TYPE_SCRIPT:
+          {
+             Program_Script *ps;
+
+             ps = eina_hash_find(eed->program_scripts, &epr->id);
+             if (ps && !ps->delete_me)
+               {
+                  BUF_APPEND(I4"script {\n");
+                  BUF_APPEND(ps->code);
+                  BUF_APPEND(I4"}\n");
+               }
+          }
+        break;
+     //TODO Support Drag
+     //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n");
+       //~ break;
+     //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n");
+       //~ break;
+     //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+       //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n");
+       //~ break;
+     default:
+       break;
+     }
+
+   /* Transition */
+   db = edje_edit_program_transition_time_get(obj, program);
+   switch (edje_edit_program_transition_get(obj, program))
+     {
+     case EDJE_TWEEN_MODE_LINEAR:
+       if (db)
+         BUF_APPENDF(I4"transition: LINEAR %.5f;\n", db);
+       break;
+     case EDJE_TWEEN_MODE_ACCELERATE:
+       BUF_APPENDF(I4"transition: ACCELERATE %.5f;\n", db);
+       break;
+     case EDJE_TWEEN_MODE_DECELERATE:
+       BUF_APPENDF(I4"transition: DECELERATE %.5f;\n", db);
+       break;
+     case EDJE_TWEEN_MODE_SINUSOIDAL:
+       BUF_APPENDF(I4"transition: SINUSOIDAL %.5f;\n", db);
+       break;
+     default:
+       break;
+     }
+
+   /* In */
+   db = edje_edit_program_in_from_get(obj, program);
+   db2 = edje_edit_program_in_range_get(obj, program);
+   if (db || db2)
+     BUF_APPENDF(I4"in: %.5f %.5f;\n", db, db2);
+
+   /* Targets */
+   if ((ll = edje_edit_program_targets_get(obj, program)))
+     {
+       EINA_LIST_FOREACH(ll, l, data)
+         BUF_APPENDF(I4"target: \"%s\";\n", data);
+       edje_edit_string_list_free(ll);
+     }
+
+   /* Afters */
+   if ((ll = edje_edit_program_afters_get(obj, program)))
+     {
+        EINA_LIST_FOREACH(ll, l, data)
+         BUF_APPENDF(I4"after: \"%s\";\n", data);
+       edje_edit_string_list_free(ll);
+     }
+
+   // TODO Support script {}
+   /* api */
+   api_name = edje_edit_program_api_name_get(obj, program);
+   api_description = edje_edit_program_api_description_get(obj, program);
+
+   if (api_name || api_description)
+     {
+       if (api_name && api_description)
+         {
+            BUF_APPENDF(I4"api: \"%s\" \"%s\";\n", api_name, api_description);
+            edje_edit_string_free(api_name);
+            edje_edit_string_free(api_description);
+         }
+       else
+         if (api_name)
+           {
+              BUF_APPENDF(I4"api: \"%s\" \"\";\n", api_name);
+              edje_edit_string_free(api_name);
+           }
+         else
+           {
+              BUF_APPENDF(I4"api: \"\" \"%s\";\n", api_description);
+              edje_edit_string_free(api_description);
+           }
+     }
+
+   BUF_APPEND(I3 "}\n");
+   return ret;
+}
+
+static Eina_Bool
+_edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *state, double value, Eina_Strbuf *buf)
+{
+   Eina_List *l, *ll;
+   Eina_Bool ret = EINA_TRUE;
+
+   GET_PD_OR_RETURN(EINA_FALSE);
+
+   BUF_APPENDF(I4"description { state: \"%s\" %g;\n", pd->state.name, pd->state.value);
+   //TODO Support inherit
+
+   if (!pd->visible)
+     BUF_APPEND(I5"visible: 0;\n");
+
+   if (pd->align.x != 0.5 || pd->align.y != 0.5)
+     BUF_APPENDF(I5"align: %g %g;\n", TO_DOUBLE(pd->align.x), TO_DOUBLE(pd->align.y));
+
+   //TODO Support fixed
+
+   if (pd->min.w || pd->min.h)
+     BUF_APPENDF(I5"min: %d %d;\n", pd->min.w, pd->min.h);
+   if (pd->max.w != -1 || pd->max.h != -1)
+     BUF_APPENDF(I5"max: %d %d;\n", pd->max.w, pd->max.h);
+
+   //TODO Support step
+
+   if (pd->aspect.min || pd->aspect.max)
+      BUF_APPENDF(I5"aspect: %g %g;\n", TO_DOUBLE(pd->aspect.min), TO_DOUBLE(pd->aspect.max));
+   if (pd->aspect.prefer)
+      BUF_APPENDF(I5"aspect_preference: %s;\n", prefers[(int) pd->aspect.prefer]);
+
+   if (pd->color_class)
+     BUF_APPENDF(I5"color_class: \"%s\";\n", pd->color_class);
+
+   if (pd->color.r != 255 || pd->color.g != 255 ||
+       pd->color.b != 255 || pd->color.a != 255)
+     BUF_APPENDF(I5"color: %d %d %d %d;\n",
+                pd->color.r, pd->color.g, pd->color.b, pd->color.a);
+   if (pd->color2.r != 0 || pd->color2.g != 0 ||
+       pd->color2.b != 0 || pd->color2.a != 255)
+     BUF_APPENDF(I5"color2: %d %d %d %d;\n",
+                pd->color2.r, pd->color2.g, pd->color2.b, pd->color2.a);
+
+   if (rp->part->type == EDJE_PART_TYPE_TEXT
+       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+       Edje_Part_Description_Text *txt;
+
+       txt = (Edje_Part_Description_Text *) pd;
+
+       if (txt->text.color3.r != 0 || txt->text.color3.g != 0 ||
+           txt->text.color3.b != 0 || txt->text.color3.a != 128)
+         BUF_APPENDF(I5"color3: %d %d %d %d;\n",
+                     txt->text.color3.r, txt->text.color3.g, txt->text.color3.b, txt->text.color3.a);
+     }
+
+   //Rel1
+   if (pd->rel1.relative_x || pd->rel1.relative_y || pd->rel1.offset_x ||
+       pd->rel1.offset_y || pd->rel1.id_x != -1 || pd->rel1.id_y != -1)
+     {
+       BUF_APPEND(I5"rel1 {\n");
+       if (pd->rel1.relative_x || pd->rel1.relative_y)
+         BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel1.relative_x), TO_DOUBLE(pd->rel1.relative_y));
+       if (pd->rel1.offset_x || pd->rel1.offset_y)
+         BUF_APPENDF(I6"offset: %d %d;\n", pd->rel1.offset_x, pd->rel1.offset_y);
+       if (pd->rel1.id_x != -1 && pd->rel1.id_x == pd->rel1.id_y)
+         BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
+       else
+         {
+               if (pd->rel1.id_x != -1)
+                 BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
+               if (pd->rel1.id_y != -1)
+                 BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel1.id_y]->part->name);
+         }
+       BUF_APPEND(I5"}\n");//rel1
+     }
+
+   //Rel2
+   if (pd->rel2.relative_x != 1.0 || pd->rel2.relative_y != 1.0 ||
+       pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1 ||
+       pd->rel2.id_x != -1 || pd->rel2.id_y != -1)
+     {
+       BUF_APPEND(I5"rel2 {\n");
+       if (TO_DOUBLE(pd->rel2.relative_x) != 1.0 || TO_DOUBLE(pd->rel2.relative_y) != 1.0)
+         BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel2.relative_x), TO_DOUBLE(pd->rel2.relative_y));
+       if (pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1)
+         BUF_APPENDF(I6"offset: %d %d;\n", pd->rel2.offset_x, pd->rel2.offset_y);
+       if (pd->rel2.id_x != -1 && pd->rel2.id_x == pd->rel2.id_y)
+         BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
+       else
+         {
+               if (pd->rel2.id_x != -1)
+                 BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
+               if (pd->rel2.id_y != -1)
+                 BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel2.id_y]->part->name);
+         }
+       BUF_APPEND(I5"}\n");//rel2
+     }
+
+   //Image
+   if (rp->part->type == EDJE_PART_TYPE_IMAGE)
+     {
+       char *data;
+       const char *image_name;
+
+       Edje_Part_Description_Image *img;
+
+       img = (Edje_Part_Description_Image *) pd;
+
+       BUF_APPEND(I5"image {\n");
+
+       image_name = _edje_image_name_find(eed, img->image.id);
+       if (image_name)
+         BUF_APPENDF(I6"normal: \"%s\";\n", image_name);
+
+       ll = edje_edit_state_tweens_list_get(obj, part, state, value);
+       EINA_LIST_FOREACH(ll, l, data)
+         BUF_APPENDF(I6"tween: \"%s\";\n", data);
+       edje_edit_string_list_free(ll);
+
+       if (img->image.border.l || img->image.border.r || img->image.border.t || img->image.border.b)
+         BUF_APPENDF(I6"border: %d %d %d %d;\n", img->image.border.l, img->image.border.r, img->image.border.t, img->image.border.b);
+       if (img->image.border.no_fill == 1)
+         BUF_APPEND(I6"middle: NONE;\n");
+       else if (img->image.border.no_fill == 0)
+         BUF_APPEND(I6"middle: DEFAULT;\n");
+       else if (img->image.border.no_fill == 2)
+         BUF_APPEND(I6"middle: SOLID;\n");
+
+       BUF_APPEND(I5"}\n");//image
+
+       //Fill
+
+       BUF_APPEND(I5"fill {\n");
+       if (!img->image.fill.smooth)
+         BUF_APPEND(I6"smooth: 0;\n");
+        //TODO Support spread
+
+       if (img->image.fill.pos_rel_x || img->image.fill.pos_rel_y ||
+            img->image.fill.pos_abs_x || img->image.fill.pos_abs_y)
+         {
+               BUF_APPEND(I6"origin {\n");
+               if (img->image.fill.pos_rel_x || img->image.fill.pos_rel_y)
+                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(img->image.fill.pos_rel_x), TO_DOUBLE(img->image.fill.pos_rel_y));
+               if (img->image.fill.pos_abs_x || img->image.fill.pos_abs_y)
+                 BUF_APPENDF(I7"offset: %d %d;\n", img->image.fill.pos_abs_x, img->image.fill.pos_abs_y);
+               BUF_APPEND(I6"}\n");
+          }
+
+       if (TO_DOUBLE(img->image.fill.rel_x) != 1.0 || TO_DOUBLE(img->image.fill.rel_y) != 1.0 ||
+            img->image.fill.abs_x || img->image.fill.abs_y)
+         {
+               BUF_APPEND(I6"size {\n");
+               if (img->image.fill.rel_x != 1.0 || img->image.fill.rel_y != 1.0)
+                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(img->image.fill.rel_x), TO_DOUBLE(img->image.fill.rel_y));
+               if (img->image.fill.abs_x || img->image.fill.abs_y)
+                 BUF_APPENDF(I7"offset: %d %d;\n", img->image.fill.abs_x, img->image.fill.abs_y);
+               BUF_APPEND(I6"}\n");
+          }
+
+       BUF_APPEND(I5"}\n");
+     }
+
+   if (rp->part->type == EDJE_PART_TYPE_PROXY)
+     {
+       Edje_Part_Description_Proxy *pro;
+
+       pro = (Edje_Part_Description_Proxy *) pd;
+
+       //Fill
+
+       BUF_APPEND(I5"fill {\n");
+       if (!pro->proxy.fill.smooth)
+         BUF_APPEND(I6"smooth: 0;\n");
+        //TODO Support spread
+       //TODO Support source
+
+       if (pro->proxy.fill.pos_rel_x || pro->proxy.fill.pos_rel_y ||
+            pro->proxy.fill.pos_abs_x || pro->proxy.fill.pos_abs_y)
+         {
+               BUF_APPEND(I6"origin {\n");
+               if (pro->proxy.fill.pos_rel_x || pro->proxy.fill.pos_rel_y)
+                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(pro->proxy.fill.pos_rel_x), TO_DOUBLE(pro->proxy.fill.pos_rel_y));
+               if (pro->proxy.fill.pos_abs_x || pro->proxy.fill.pos_abs_y)
+                 BUF_APPENDF(I7"offset: %d %d;\n", pro->proxy.fill.pos_abs_x, pro->proxy.fill.pos_abs_y);
+               BUF_APPEND(I6"}\n");
+          }
+
+       if (TO_DOUBLE(pro->proxy.fill.rel_x) != 1.0 || TO_DOUBLE(pro->proxy.fill.rel_y) != 1.0 ||
+            pro->proxy.fill.abs_x || pro->proxy.fill.abs_y)
+         {
+               BUF_APPEND(I6"size {\n");
+               if (pro->proxy.fill.rel_x != 1.0 || pro->proxy.fill.rel_y != 1.0)
+                 BUF_APPENDF(I7"relative: %g %g;\n", TO_DOUBLE(pro->proxy.fill.rel_x), TO_DOUBLE(pro->proxy.fill.rel_y));
+               if (pro->proxy.fill.abs_x || pro->proxy.fill.abs_y)
+                 BUF_APPENDF(I7"offset: %d %d;\n", pro->proxy.fill.abs_x, pro->proxy.fill.abs_y);
+               BUF_APPEND(I6"}\n");
+          }
+
+       BUF_APPEND(I5"}\n");
+     }
+
+   //Text
+   if (rp->part->type == EDJE_PART_TYPE_TEXT)
+     {
+       Edje_Part_Description_Text *txt;
+
+       txt = (Edje_Part_Description_Text *) pd;
+
+       BUF_APPEND(I5"text {\n");
+       if (edje_string_get(&txt->text.text))
+         {
+            if (txt->text.text.id)
+              BUF_APPENDF(I6"text: _(\"%s\");\n", edje_string_id_get(&txt->text.text));
+            else
+              BUF_APPENDF(I6"text: \"%s\";\n", edje_string_get(&txt->text.text));
+         }
+       if (edje_string_get(&txt->text.font))
+         {
+            if (txt->text.font.id)
+              BUF_APPENDF(I6"font: _(\"%s\");\n", edje_string_id_get(&txt->text.font));
+            else
+              BUF_APPENDF(I6"font: \"%s\";\n", edje_string_get(&txt->text.font));
+         }
+       if (txt->text.size)
+         BUF_APPENDF(I6"size: %d;\n", txt->text.size);
+       if (txt->text.text_class)
+         BUF_APPENDF(I6"text_class: \"%s\";\n", txt->text.text_class);
+       if (txt->text.fit_x || txt->text.fit_y)
+         BUF_APPENDF(I6"fit: %d %d;\n", txt->text.fit_x, txt->text.fit_y);
+        //TODO Support min & max
+       if (TO_DOUBLE(txt->text.align.x) != 0.5 || TO_DOUBLE(txt->text.align.y) != 0.5)
+         BUF_APPENDF(I6"align: %g %g;\n", TO_DOUBLE(txt->text.align.x), TO_DOUBLE(txt->text.align.y));
+        //TODO Support source
+        //TODO Support text_source
+       if (txt->text.elipsis)
+         BUF_APPENDF(I6"elipsis: %g;\n", txt->text.elipsis);
+       BUF_APPEND(I5"}\n");
+     }
+
+   //External
+   if (rp->part->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       if ((ll = (Eina_List *)edje_edit_state_external_params_list_get(obj, part, state, value)))
+         {
+            Edje_External_Param *p;
+
+            BUF_APPEND(I5"params {\n");
+            EINA_LIST_FOREACH(ll, l, p)
+              {
+                 switch (p->type)
+                   {
+                    case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                       BUF_APPENDF(I6"int: \"%s\" \"%d\";\n", p->name, p->i);
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                       BUF_APPENDF(I6"double: \"%s\" \"%g\";\n", p->name, p->d);
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                       if (p->s)
+                         BUF_APPENDF(I6"string: \"%s\" \"%s\";\n", p->name,
+                                     p->s);
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                       BUF_APPENDF(I6"bool: \"%s\" \"%d\";\n", p->name, p->i);
+                       break;
+                    case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                       if (p->s)
+                         BUF_APPENDF(I6"choice: \"%s\" \"%s\";\n", p->name,
+                                     p->s);
+                       break;
+                    default:
+                       break;
+                   }
+              }
+            BUF_APPEND(I5"}\n");
+         }
+     }
+
+   BUF_APPEND(I4"}\n");//description
+   return ret;
+}
+
+static Eina_Bool
+_edje_generate_source_of_part(Evas_Object *obj, Edje_Part *ep, Eina_Strbuf *buf)
+{
+   const char *part = ep->name;
+   const char *str;
+   Eina_List *l, *ll;
+   char *data;
+   Eina_Bool ret = EINA_TRUE;
+   const char *api_name, *api_description;
+
+   BUF_APPENDF(I3"part { name: \"%s\";\n", part);
+   BUF_APPENDF(I4"type: %s;\n", types[edje_edit_part_type_get(obj, part)]);
+   if (!edje_edit_part_mouse_events_get(obj, part))
+      BUF_APPEND(I4"mouse_events: 0;\n");
+   if (edje_edit_part_repeat_events_get(obj, part))
+      BUF_APPEND(I4"repeat_events: 1;\n");
+   if (edje_edit_part_scale_get(obj, part))
+     BUF_APPEND(I4"scale: 1;\n");
+   //TODO Support ignore_flags
+   //TODO Support pointer_mode
+   //TODO Support precise_is_inside
+   //TODO Support use_alternate_font_metrics
+   if ((str = edje_edit_part_clip_to_get(obj, part)))
+     {
+        BUF_APPENDF(I4"clip_to: \"%s\";\n", str);
+        edje_edit_string_free(str);
+     }
+   if ((str = edje_edit_part_source_get(obj, part)))
+     {
+        BUF_APPENDF(I4"source: \"%s\";\n", str);
+        edje_edit_string_free(str);
+     }
+   if (edje_edit_part_effect_get(obj, part))
+     BUF_APPENDF(I4"effect: %s;\n",
+                effects[edje_edit_part_effect_get(obj, part)]);
+
+   //Dragable
+   if (edje_edit_part_drag_x_get(obj, part) ||
+       edje_edit_part_drag_y_get(obj, part))
+     {
+       BUF_APPEND(I4"dragable {\n");
+       BUF_APPENDF(I5"x: %d %d %d;\n",
+                                 edje_edit_part_drag_x_get(obj, part),
+                                 edje_edit_part_drag_step_x_get(obj, part),
+                                 edje_edit_part_drag_count_x_get(obj, part));
+       BUF_APPENDF(I5"y: %d %d %d;\n",
+                                 edje_edit_part_drag_y_get(obj, part),
+                                 edje_edit_part_drag_step_y_get(obj, part),
+                                 edje_edit_part_drag_count_y_get(obj, part));
+       if ((str = edje_edit_part_drag_confine_get(obj, part)))
+         {
+               BUF_APPENDF(I5"confine: \"%s\";\n", str);
+               edje_edit_string_free(str);
+         }
+       if ((str = edje_edit_part_drag_event_get(obj, part)))
+         {
+               BUF_APPENDF(I5"events: \"%s\";\n", str);
+               edje_edit_string_free(str);
+         }
+       BUF_APPEND(I4"}\n");
+     }
+
+   //Descriptions
+   ll = edje_edit_part_states_list_get(obj, part);
+   EINA_LIST_FOREACH(ll, l, data)
+     {
+       char state[512], *delim;
+       double value;
+       strncpy(state, data, sizeof(state) - 1); /* if we go over it, too bad.. the list of states may need to change to provide name and value separated */
+       delim = strchr(state, ' ');
+       *delim = '\0';
+       delim++;
+       value = strtod(delim, NULL);
+       ret &= _edje_generate_source_of_state(obj, part, state, value, buf);
+     }
+   edje_edit_string_list_free(ll);
+
+   api_name = edje_edit_part_api_name_get(obj, part);
+   api_description = edje_edit_part_api_description_get(obj, part);
+
+   if (api_name || api_description)
+     {
+       if (api_name && api_description)
+         {
+            BUF_APPENDF(I4"api: \"%s\" \"%s\";\n", api_name, api_description);
+            edje_edit_string_free(api_name);
+            edje_edit_string_free(api_description);
+         }
+       else
+         if (api_name)
+           {
+              BUF_APPENDF(I4"api: \"%s\" \"\";\n", api_name);
+              edje_edit_string_free(api_name);
+           }
+         else
+           {
+              BUF_APPENDF(I4"api: \"\" \"%s\";\n", api_description);
+              edje_edit_string_free(api_description);
+           }
+     }
+
+   BUF_APPEND(I3"}\n");//part
+   return ret;
+}
+
+static Eina_Bool
+_edje_generate_source_of_group(Edje *ed, Edje_Part_Collection_Directory_Entry *pce, Eina_Strbuf *buf)
+{
+   Edje_Edit *eed;
+   Eet_File *ef;
+   Evas_Object *obj;
+   Eina_List *l, *ll;
+   unsigned int i;
+   int w, h;
+   char *data;
+   const char *group = pce->entry;
+   Edje_Part_Collection *pc;
+   Eina_Bool ret = EINA_TRUE;
+
+   obj = edje_edit_object_add(ed->base->evas);
+   if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
+
+   ef = eet_open(ed->file->path, EET_FILE_MODE_READ);
+   if (!ef)
+     {
+        evas_object_del(obj);
+        return EINA_FALSE;
+     }
+
+   eed = eo_data_get(obj, MY_CLASS);
+   pc = eed->base->collection;
+
+   BUF_APPENDF(I1"group { name: \"%s\";\n", group);
+   //TODO Support alias:
+   w = edje_edit_group_min_w_get(obj);
+   h = edje_edit_group_min_h_get(obj);
+   if ((w > 0) || (h > 0))
+      BUF_APPENDF(I2"min: %d %d;\n", w, h);
+   w = edje_edit_group_max_w_get(obj);
+   h = edje_edit_group_max_h_get(obj);
+   if ((w > 0) || (h > 0))
+      BUF_APPENDF(I2"max: %d %d;\n", w, h);
+
+   /* Data */
+   if (pc->data)
+     {
+        Eina_Iterator *it;
+        Eina_Hash_Tuple *tuple;
+        BUF_APPEND(I2"data {\n");
+
+        it = eina_hash_iterator_tuple_new(pc->data);
+
+        if (!it)
+          {
+             ERR("Generating EDC for Group[%s] data.", group);
+             return EINA_FALSE;
+          }
+
+        EINA_ITERATOR_FOREACH(it, tuple)
+           BUF_APPENDF(I3"item: \"%s\" \"%s\";\n", (char *)tuple->key,
+                         edje_string_get(tuple->data));
+
+        eina_iterator_free(it);
+        BUF_APPEND(I2"}\n");
+     }
+
+   if (eed->embryo_source)
+     {
+        BUF_APPEND(I2"script {\n");
+        BUF_APPEND(eed->embryo_source);
+        BUF_APPEND(I2"}\n");
+     }
+
+   /* Parts */
+   BUF_APPEND(I2"parts {\n");
+   for (i = 0; i < pc->parts_count; i++)
+     {
+        Edje_Part *ep;
+        ep = pc->parts[i];
+        ret &= _edje_generate_source_of_part(obj, ep, buf);
+     }
+   BUF_APPEND(I2"}\n");//parts
+
+   if (!ret)
+     {
+        ERR("Generating EDC for Group[%s] Parts.", group);
+        return EINA_FALSE;
+     }
+
+   /* Programs */
+   if ((ll = edje_edit_programs_list_get(obj)))
+     {
+       BUF_APPEND(I2 "programs {\n");
+       EINA_LIST_FOREACH(ll, l, data)
+         ret &= _edje_generate_source_of_program(obj, data, buf);
+       BUF_APPEND(I2 "}\n");
+       edje_edit_string_list_free(ll);
+     }
+   BUF_APPEND(I1"}\n");//group
+
+   if (!ret)
+     {
+        ERR("Generating EDC for Group[%s] Programs.", group);
+        evas_object_del(obj);
+        return EINA_FALSE;
+     }
+
+   eet_close(ef);
+   evas_object_del(obj);
+   return ret;
+}
+
+static Eina_Strbuf*
+_edje_generate_source(Evas_Object *obj)
+{
+   Eina_Strbuf *buf;
+
+   Eina_List *l, *ll;
+   Edje_Font_Directory_Entry *fnt;
+
+   char *entry;
+   Eina_Bool ret = EINA_TRUE;
+
+   GET_ED_OR_RETURN(NULL);
+
+   /* Open a str buffer */
+
+   buf = eina_strbuf_new();
+   if (!buf) return NULL;
+
+   /* Write edc into file */
+   //TODO Probably we need to save the file before generation
+
+   /* Images */
+   if ((ll = edje_edit_images_list_get(obj)))
+     {
+       BUF_APPEND(I0"images {\n");
+
+       EINA_LIST_FOREACH(ll, l, entry)
+         {
+               int comp = edje_edit_image_compression_type_get(obj, entry);
+               if (comp < 0) continue;
+
+               BUF_APPENDF(I1"image: \"%s\" ", entry);
+
+               if (comp == EDJE_EDIT_IMAGE_COMP_LOSSY)
+                 BUF_APPENDF("LOSSY %d;\n",
+                         edje_edit_image_compression_rate_get(obj, entry));
+               else if (comp == EDJE_EDIT_IMAGE_COMP_RAW)
+                 BUF_APPEND("RAW;\n");
+               else if (comp == EDJE_EDIT_IMAGE_COMP_USER)
+                 BUF_APPEND("USER;\n");
+               else
+                 BUF_APPEND("COMP;\n");
+         }
+       BUF_APPEND(I0"}\n\n");
+       edje_edit_string_list_free(ll);
+
+       if (!ret)
+         {
+            ERR("Generating EDC for Images");
+            eina_strbuf_free(buf);
+            return NULL;
+         }
+     }
+
+   /* Fonts */
+   if (ed->file->fonts)
+     {
+        Eina_Iterator *it;
+
+        it = eina_hash_iterator_data_new(ed->file->fonts);
+        if (it)
+          {
+             BUF_APPEND(I0"fonts {\n");
+
+             EINA_ITERATOR_FOREACH(it, fnt)
+                BUF_APPENDF(I1"font: \"%s\" \"%s\";\n", fnt->file,
+                            fnt->entry);
+
+             BUF_APPEND(I0"}\n\n");
+             eina_iterator_free(it);
+
+             if (!ret)
+               {
+                  ERR("Generating EDC for Fonts");
+                  eina_strbuf_free(buf);
+                  return NULL;
+               }
+          }
+     }
+
+   /* Data */
+   if ((ll = edje_edit_data_list_get(obj)))
+     {
+       BUF_APPEND(I0 "data {\n");
+
+       EINA_LIST_FOREACH(ll, l, entry)
+          BUF_APPENDF(I1 "item: \"%s\" \"%s\";\n", entry,
+                            edje_edit_data_value_get(obj, entry));
+
+       BUF_APPEND(I0 "}\n\n");
+       edje_edit_string_list_free(ll);
+
+       if (!ret)
+         {
+            ERR("Generating EDC for Data");
+            eina_strbuf_free(buf);
+            return NULL;
+         }
+     }
+
+   /* Color Classes */
+   if ((ll = edje_edit_color_classes_list_get(obj)))
+     {
+       BUF_APPEND(I0 "color_classes {\n");
+
+       EINA_LIST_FOREACH(ll, l, entry)
+         _edje_generate_source_of_colorclass(ed, entry, buf);
+
+       BUF_APPEND(I0 "}\n\n");
+       edje_edit_string_list_free(ll);
+
+       if (!ret)
+         {
+            ERR("Generating EDC for Color Classes");
+            eina_strbuf_free(buf);
+            return NULL;
+         }
+     }
+
+   /* Styles */
+   if ((ll = edje_edit_styles_list_get(obj)))
+     {
+       BUF_APPEND(I0 "styles {\n");
+       EINA_LIST_FOREACH(ll, l, entry)
+         _edje_generate_source_of_style(ed, entry, buf);
+       BUF_APPEND(I0 "}\n\n");
+       edje_edit_string_list_free(ll);
+
+       if (!ret)
+         {
+            ERR("Generating EDC for Styles");
+            eina_strbuf_free(buf);
+            return NULL;
+         }
+     }
+
+   /* Externals */
+   if ((ll = edje_edit_externals_list_get(obj)))
+     {
+        BUF_APPEND(I0 "externals {\n");
+        EINA_LIST_FOREACH(ll, l, entry)
+           BUF_APPENDF(I1 "external: \"%s\";\n", entry);
+
+        BUF_APPEND(I0 "}\n\n");
+        edje_edit_string_list_free(ll);
+
+        if (!ret)
+          {
+             ERR("Generating EDC for Externals");
+             eina_strbuf_free(buf);
+             return NULL;
+          }
+     }
+
+   /* Collections */
+   if (ed->file->collection)
+     {
+        Eina_Iterator *it;
+        Edje_Part_Collection_Directory_Entry *pce;
+        BUF_APPEND("collections {\n");
+
+        it = eina_hash_iterator_data_new(ed->file->collection);
+
+        if (!it)
+          {
+             ERR("Generating EDC for Collections");
+             eina_strbuf_free(buf);
+             return NULL;
+          }
+
+        EINA_ITERATOR_FOREACH(it, pce)
+          {
+             ret &= _edje_generate_source_of_group(ed, pce, buf);
+          }
+
+        eina_iterator_free(it);
+        BUF_APPEND("}\n\n");
+     }
+
+   return buf;
+}
+
+
+
+/*********************/
+/*  SAVING ROUTINES  */
+/*********************/
+////////////////////////////////////////
+typedef struct _SrcFile               SrcFile;
+typedef struct _SrcFile_List          SrcFile_List;
+
+struct _SrcFile
+{
+   char *name;
+   const char *file;
+};
+
+struct _SrcFile_List
+{
+   Eina_List *list;
+};
+
+static Eet_Data_Descriptor *_srcfile_edd = NULL;
+static Eet_Data_Descriptor *_srcfile_list_edd = NULL;
+
+static void
+source_edd(void)
+{
+   Eet_Data_Descriptor_Class eddc;
+
+   if (_srcfile_edd) return;
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile", sizeof(SrcFile));
+   _srcfile_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "name", name, EET_T_INLINED_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_srcfile_edd, SrcFile, "file", file, EET_T_INLINED_STRING);
+
+   eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "srcfile_list", sizeof(SrcFile_List));
+   _srcfile_list_edd = eet_data_descriptor_stream_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_LIST(_srcfile_list_edd, SrcFile_List, "list", list, _srcfile_edd);
+}
+/////////////////////////////////////////
+
+static Eina_Bool
+_edje_edit_edje_file_save(Eet_File *eetf, Edje_File *ef)
+{
+   /* Write Edje_File structure */
+   INF("** Writing Edje_File* ed->file");
+   if (eet_data_write(eetf, _edje_edd_edje_file, "edje/file", ef, 1) <= 0)
+     {
+       ERR("Error. unable to write \"edje_file\" entry to \"%s\"", ef->path);
+       return EINA_FALSE;
+     }
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_edje_edit_collection_save(Eet_File *eetf, Edje_Part_Collection *epc)
+{
+   char buf[256];
+
+   snprintf(buf, sizeof(buf), "edje/collections/%i", epc->id);
+
+   if (eet_data_write(eetf, _edje_edd_edje_part_collection, buf, epc, 1) > 0)
+     return EINA_TRUE;
+
+   ERR("Error. unable to write \"%s\" part entry", buf);
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_edje_edit_source_save(Eet_File *eetf, Evas_Object *obj)
+{
+   SrcFile *sf;
+   SrcFile_List *sfl;
+   Eina_Strbuf *source_file;
+   Eina_Bool ret = EINA_TRUE;
+
+   source_file = _edje_generate_source(obj);
+   if (!source_file)
+     {
+       ERR("Can't create edc source");
+       return EINA_FALSE;
+     }
+
+   //open the temp file and put the contents in SrcFile
+   sf = _alloc(sizeof(SrcFile));
+   if (!sf)
+     {
+       ERR("Unable to create source file struct");
+       ret = EINA_FALSE;
+        goto save_free_source;
+     }
+   sf->name = strdup("generated_source.edc");
+   if (!sf->name)
+     {
+       ERR("Unable to alloc filename");
+       ret = EINA_FALSE;
+        goto save_free_sf;
+     }
+
+   sf->file = eina_strbuf_string_get(source_file);
+
+   //create the needed list of source files (only one)
+   sfl = _alloc(sizeof(SrcFile_List));
+   if (!sfl)
+     {
+       ERR("Unable to create file list");
+       ret = EINA_FALSE;
+        goto save_free_filename;
+     }
+   sfl->list = NULL;
+   sfl->list = eina_list_append(sfl->list, sf);
+   if (!sfl->list)
+     {
+       ERR("Error. unable to append file in list");
+       ret = EINA_FALSE;
+        goto save_free_sfl;
+     }
+
+   // write the sources list to the eet file
+   source_edd();
+   if (eet_data_write(eetf, _srcfile_list_edd, "edje_sources", sfl, 1) <= 0)
+    {
+       ERR("Unable to write edc source");
+       ret = EINA_FALSE;
+    }
+
+   /* Clear stuff */
+   eina_list_free(sfl->list);
+save_free_sfl:
+   free(sfl);
+save_free_filename:
+   free(sf->name);
+save_free_sf:
+   free(sf);
+save_free_source:
+   eina_strbuf_free(source_file);
+   return ret;
+}
+
+Eina_Bool
+_edje_edit_internal_save(Evas_Object *obj, int current_only)
+{
+   Edje_File *ef;
+   Eet_File *eetf;
+
+   GET_EED_OR_RETURN(EINA_FALSE);
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   ef = ed->file;
+   if (!ef) return EINA_FALSE;
+
+   INF("***********  Saving file ******************");
+   INF("** path: %s", ef->path);
+
+   /* Open the eet file */
+   eetf = eet_open(ef->path, EET_FILE_MODE_READ_WRITE);
+   if (!eetf)
+     {
+       ERR("Error. unable to open \"%s\" for writing output",
+           ef->path);
+       return EINA_FALSE;
+     }
+
+   /* Set compiler name */
+   if (strcmp(ef->compiler, "edje_edit"))
+     {
+       _edje_if_string_free(ed, ef->compiler);
+       ef->compiler = (char *)eina_stringshare_add("edje_edit");
+     }
+
+   if (!_edje_edit_edje_file_save(eetf, ef))
+     {
+       eet_close(eetf);
+       return EINA_FALSE;
+     }
+
+   if (current_only)
+     {
+       if (ed->collection)
+         {
+            INF("** Writing Edje_Part_Collection* ed->collection "
+                  "[id: %d]", ed->collection->id);
+            if (!_edje_edit_collection_save(eetf, ed->collection))
+              {
+                 eet_close(eetf);
+                 return EINA_FALSE;
+              }
+         }
+     }
+   else
+     {
+       Eina_List *l;
+       Edje_Part_Collection *edc;
+       Edje_Part_Collection_Directory_Entry *ce;
+        Eina_Iterator *it;
+
+       INF("** Writing all collections");
+
+       it = eina_hash_iterator_data_new(ef->collection);
+        while (eina_iterator_next(it, (void **)&ce))
+         {
+            if (ce->ref)
+              {
+                 INF("** Writing hash Edje_Part_Collection* ed->collection "
+                       "[id: %d]", ce->id);
+                 if(!_edje_edit_collection_save(eetf, ce->ref))
+                   {
+                      eet_close(eetf);
+                      return EINA_FALSE;
+                   }
+              }
+         }
+       eina_iterator_free(it);
+
+       EINA_LIST_FOREACH(ef->collection_cache, l, edc)
+         {
+            INF("** Writing cache Edje_Part_Collection* ed->collection "
+                  "[id: %d]", edc->id);
+            if(!_edje_edit_collection_save(eetf, edc))
+              {
+                 eet_close(eetf);
+                 return EINA_FALSE;
+              }
+         }
+     }
+
+   if (eed->bytecode_dirty || eed->script_need_recompile)
+     {
+        char buf[64];
+        Eina_Iterator *it;
+        Program_Script *ps;
+        Eina_List *deathnote = NULL;
+
+        if (eed->bytecode_dirty)
+          {
+             snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i",
+                      ed->collection->id);
+             eet_write(eetf, buf, eed->bytecode, eed->bytecode_size, 1);
+             free(eed->bytecode);
+             eed->bytecode = NULL;
+             eed->bytecode_size = 0;
+             eed->bytecode_dirty = EINA_FALSE;
+          }
+
+        if (eed->embryo_source_dirty)
+          {
+             snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
+                      ed->collection->id);
+             eet_write(eetf, buf, eed->embryo_source,
+                       strlen(eed->embryo_source) +1, 1);
+             eed->embryo_source_dirty = EINA_FALSE;
+          }
+
+        it = eina_hash_iterator_data_new(eed->program_scripts);
+        EINA_ITERATOR_FOREACH(it, ps)
+          {
+             if (ps->dirty)
+               {
+                  snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/%i",
+                           ed->collection->id, ps->id);
+                  eet_write(eetf, buf, ps->code, strlen(ps->code) + 1, 1);
+                  ps->dirty = EINA_FALSE;
+               }
+             else if (ps->delete_me)
+               {
+                  snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i/%i",
+                           ed->collection->id, ps->id);
+                  eet_delete(eetf, buf);
+                  deathnote = eina_list_append(deathnote, ps);
+               }
+          }
+        eina_iterator_free(it);
+
+        EINA_LIST_FREE(deathnote, ps)
+           eina_hash_del(eed->program_scripts, &ps->id, ps);
+     }
+
+   if (!_edje_edit_source_save(eetf, obj))
+     {
+       eet_close(eetf);
+       return EINA_FALSE;
+     }
+
+   eet_close(eetf);
+
+   /* Update mtime */
+   {
+     struct stat st;
+     if (stat(ed->path, &st) != 0)
+       return EINA_FALSE;
+     ef->mtime = st.st_mtime;
+   }
+
+   INF("***********  Saving DONE ******************");
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_edit_save(Evas_Object *obj)
+{
+   eina_error_set(0);
+
+   return _edje_edit_internal_save(obj, 1);
+}
+
+EAPI Eina_Bool
+edje_edit_save_all(Evas_Object *obj)
+{
+   eina_error_set(0);
+
+   return _edje_edit_internal_save(obj, 0);
+}
+
+EAPI void
+edje_edit_print_internal_status(Evas_Object *obj)
+{
+/*   
+   Edje_Program *epr;
+   unsigned int i;
+   int j;
+*/
+   eina_error_set(0);
+
+   GET_EED_OR_RETURN();
+
+   _edje_generate_source(obj);
+/*
+   INF("****** CHECKIN' INTERNAL STRUCTS STATUS *********");
+
+   INF("path: '%s', group: '%s', parent: '%s'",
+       ed->path, ed->group, ed->parent);
+
+   INF("Parts [table:%d list:%d]", ed->table_parts_size,
+       ed->collection->parts_count);
+   for (i = 0; i < ed->collection->parts_count; ++i)
+     {
+       Edje_Real_Part *rp;
+       Edje_Part *p;
+
+       p = ed->collection->parts[i];
+
+       rp = ed->table_parts[p->id % ed->table_parts_size];
+       printf("part[%d]: '%s' ", p->id, p->name);
+       if (p == rp->part)
+         printf("OK!\n");
+       else
+         printf("WRONG (table[%d]->name = '%s')\n", p->id, rp->part->name);
+     }
+
+   INF("Programs [table:%d list:%d,%d,%d,%d,%d]", ed->table_programs_size,
+       ed->collection->programs.fnmatch_count,
+       ed->collection->programs.strcmp_count,
+       ed->collection->programs.strncmp_count,
+       ed->collection->programs.strrncmp_count,
+       ed->collection->programs.nocmp_count);
+   for(j = 0; j < ed->table_programs_size; ++j)
+     {
+       epr = ed->table_programs[i % ed->table_programs_size];
+       printf("program[%d]: '%s'\n", epr->id, epr->name);
+     }
+
+   INF("******************  END  ************************");
+ */
+}
+
+static void
+_edje_edit_class_constructor(Eo_Class *klass)
+{
+   const Eo_Op_Func_Description func_desc[] = {
+        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _edje_edit_constructor),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _edje_edit_smart_del),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), _edje_edit_smart_file_set),
+        EO_OP_FUNC_SENTINEL
+   };
+
+   eo_class_funcs_set(klass, func_desc);
+}
+
+static const Eo_Class_Description edje_edit_class_desc = {
+     EO_VERSION,
+     "Edje_Edit",
+     EO_CLASS_TYPE_REGULAR,
+     EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
+     NULL,
+     sizeof(Edje_Edit),
+     _edje_edit_class_constructor,
+     NULL
+};
+
+EO_DEFINE_CLASS(edje_edit_class_get, &edje_edit_class_desc, EDJE_OBJ_CLASS, NULL);
+
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
new file mode 100644 (file)
index 0000000..a8668ee
--- /dev/null
@@ -0,0 +1,3764 @@
+#include "edje_private.h"
+
+/*
+ * ALREADY EXPORTED BY EMBRYO:
+ *
+ * enum Float_Round_Method {
+ *    ROUND, FLOOR, CEIL, TOZERO
+ * };
+ * enum Float_Angle_Mode {
+ *    RADIAN, DEGREES, GRADES
+ * };
+ *
+ * numargs();
+ * getarg(arg, index=0);
+ * setarg(arg, index=0, value);
+ *
+ * Float:atof(string[]);
+ * Float:fract(Float:value);
+ *       round(Float:value, Float_Round_Method:method=ROUND);
+ * Float:sqrt(Float:value);
+ * Float:pow(Float:value, Float:exponent);
+ * Float:log(Float:value, Float:base=10.0);
+ * Float:sin(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:cos(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:tan(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:abs(Float:value);
+ *       atoi(str[]);
+ *       fnmatch(glob[], str[]);
+ *       strcmp(str1[], str2[]);
+ *       strncmp(str1[], str2[]);
+ *       strcpy(dst[], src[]);
+ *       strncpy(dst[], src[], n);
+ *       strlen(str[]);
+ *       strcat(dst[], src[]);
+ *       strncat(dst[], src[], n);
+ *       strprep(dst[], src[]);
+ *       strnprep(dst[], src[], n);
+ *       strcut(dst[], str[], n, n2);
+ *       snprintf(dst[], dstn, fmt[], ...);
+ *       strstr(str[], ndl[]);
+ *       strchr(str[], ch[]);
+ *       strrchr(str[], ch[]);
+ *       rand();
+ * Float:randf();
+ * Float:seconds();
+ *       date(&year, &month, &day, &yearday, &weekday, &hr, &min, &Float:sec);
+ *
+ */
+
+/* EDJE...
+ *
+ * implemented so far as examples:
+ *
+ * enum Msg_Type {
+ *    MSG_NONE, MSG_STRING, MSG_INT, MSG_FLOAT, MSG_STRING_SET, MSG_INT_SET,
+ *    MSG_FLOAT_SET, MSG_STRING_INT, MSG_INT_FLOAT, MSG_STRING_INT_SET,
+ *    MSG_INT_FLOAT_SET
+ * };
+ *
+ * get_int(id)
+ * set_int(id, v)
+ * Float:get_float (id)
+ * set_float(id, Float:v)
+ * get_strlen(id)
+ * get_str(id, dst[], maxlen)
+ * set_str(id, str[])
+ * timer(Float:in, fname[], val)
+ * cancel_timer(id)
+ * anim(Float:len, fname[], val)
+ * cancel_anim(id)
+ * emit(sig[], src[])
+ * set_state(part_id, state[], Float:state_val)
+ * get_state(part_id, dst[], maxlen, &Float:val)
+ * set_tween_state(part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val)
+ * play_sample(sample_name, speed)
+ * play_tone(tone_name, duration)
+ * run_program(program_id)
+ * Direction:get_drag_dir(part_id)
+ * get_drag(part_id, &Float:dx, &Float:&dy)
+ * set_drag(part_id, Float:dx, Float:dy)
+ * get_drag_size(part_id, &Float:dx, &Float:&dy)
+ * set_drag_size(part_id, Float:dx, Float:dy)
+ * set_text(part_id, str[])
+ * get_text(part_id, dst[], maxlen)
+ * get_min_size(w, h)
+ * get_max_size(w, h)
+ * set_color_class(class[], r, g, b, a)
+ * get_color_class(class[], &r, &g, &b, &a)
+ * set_text_class(class[], font[], Float:size)
+ * get_text_class(class[], font[], &Float:size)
+ * get_drag_step(part_id, &Float:dx, &Float:&dy)
+ * set_drag_step(part_id, Float:dx, Float:dy)
+ * get_drag_page(part_id, &Float:dx, &Float:&dy)
+ * set_drag_page(part_id, Float:dx, Float:dy)
+ * get_geometry(part_id, &Float:x, &Float:y, &Float:w, &Float:h)
+ * get_mouse(&x, &y)
+ * stop_program(program_id)
+ * stop_programs_on(part_id)
+ * set_min_size(w, h)
+ * set_max_size(w, h)
+ * send_message(Msg_Type:type, id, ...)
+ *
+ * count(id)
+ * remove(id, n)
+ *
+ * append_int(id, v)
+ * prepend_int(id, v)
+ * insert_int(id, n, v)
+ * replace_int(id, n, v)
+ * fetch_int(id, n)
+ *
+ * append_str(id, str[])
+ * prepend_str(id, str[])
+ * insert_str(id, n, str[])
+ * replace_str(id, n, str[])
+ * fetch_str(id, n, dst[], maxlen)
+ *
+ * append_float(id, Float:v)
+ * prepend_float(id, Float:v)
+ * insert_float(id, n, Float:v)
+ * replace_float(id, n, Float:v)
+ * Float:fetch_float(id, n)
+ *
+ * custom_state(part_id, state[], Float:state_val = 0.0)
+ * set_state_val(part_id, State_Param:param, ...)
+ * get_state_val(part_id, State_Param:param, ...)
+ *
+ * Supported parameters:
+ * align[Float:x, Float:y]
+ * min[w, h]
+ * max[w, h]
+ * step[x,y]
+ * aspect[Float:min, Float:max]
+ * color[r,g,b,a]
+ * color2[r,g,b,a]
+ * color3[r,g,b,a]
+ * aspect_preference
+ * rel1[relx,rely]
+ * rel1[part_id,part_id]
+ * rel1[offx,offy]
+ * rel2[relx,relyr]
+ * rel2[part_id,part_id]
+ * rel2[offx,offy]
+ * image[image_id] <- all images have an Id not name in the edje
+ * border[l,r,t,b]
+ * fill[smooth]
+ * fill[pos_relx,pos_rely,pos_offx,pos_offy]
+ * fill[sz_relx,sz_rely,sz_offx,sz_offy]
+ * color_class
+ * text[text]
+ * text[text_class]
+ * text[font]
+ * text[size]
+ * text[style]
+ * text[fit_x,fit_y]
+ * text[min_x,min_y]
+ * text[align_x,align_y]
+ * visible[on]
+ * map_on[on]
+ * map_persp[part_id]
+ * map_light[part_id]
+ * map_rot_center[part_id]
+ * map_rot_x[deg]
+ * map_rot_y[deg]
+ * map_rot_z[deg]
+ * map_back_cull[on]
+ * map_persp_on[on]
+ * persp_zplane[z]
+ * persp_focal[z]
+ *
+ * ** part_id and program_id need to be able to be "found" from strings
+ *
+ * get_drag_count(part_id, &Float:dx, &Float:&dy)
+ * set_drag_count(part_id, Float:dx, Float:dy)
+ * set_drag_confine(part_id, confine_part_id)
+ * get_size(&w, &h);
+ * resize_request(w, h)
+ * get_mouse_buttons()
+ * //set_type(part_id, Type:type)
+ * //set_effect(part_id, Effect:fx)
+ * set_mouse_events(part_id, ev)
+ * get_mouse_events(part_id)
+ * set_repeat_events(part_id, rep)
+ * get_repeat_events(part_id)
+ * set_clip(part_id, clip_part_id)
+ * get_clip(part_id)
+ *
+ * part_swallow(part_id, group_name)
+ *
+ * external_param_get_int(id, param_name[])
+ * external_param_set_int(id, param_name[], value)
+ * Float:external_param_get_float(id, param_name[])
+ * external_param_set_float(id, param_name[], Float:value)
+ * external_param_get_strlen(id, param_name[])
+ * external_param_get_str(id, param_name[], value[], value_maxlen)
+ * external_param_set_str(id, param_name[], value[])
+ * external_param_get_choice_len(id, param_name[])
+ * external_param_get_choice(id, param_name[], value[], value_maxlen)
+ * external_param_set_choice(id, param_name[], value[])
+ * external_param_get_bool(id, param_name[])
+ * external_param_set_bool(id, param_name[], value)
+ *
+ * physics_impulse(part_id, Float:x, Float:y, Float:z)
+ * physics_torque_impulse(part_id, Float:x, Float:y, Float:z)
+ * physics_force(part_id, Float:x, Float:y, Float:z)
+ * physics_torque(part_id, Float:x, Float:y, Float:z)
+ * physics_clear_forces(part_id)
+ * physics_get_forces(part_id, &Float:x, &Float:y, &Float:z)
+ * physics_get_torques(part_id, &Float:x, &Float:y, &Float:z)
+ * physics_set_velocity(part_id, Float:x, Float:y, Float:z)
+ * physics_get_velocity(part_id, &Float:x, &Float:y, &Float:z)
+ * physics_set_ang_velocity(part_id, Float:x, Float:y, Float:z)
+ * physics_get_ang_velocity(part_id, &Float:x, &Float:y, &Float:z)
+ * physics_stop(part_id)
+ * physics_set_rotation(part_id, Float:w, Float:x, Float:y, Float:z)
+ * physics_get_rotation(part_id, &Float:w, &Float:x, &Float:y, &Float:z)
+ *
+ * ADD/DEL CUSTOM OBJECTS UNDER SOLE EMBRYO SCRIPT CONTROL
+ *
+ */
+
+/* get_int(id) */
+static Embryo_Cell
+_edje_embryo_fn_get_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   return (Embryo_Cell)_edje_var_int_get(ed, (int)params[1]);
+}
+
+/* set_int(id, v) */
+static Embryo_Cell
+_edje_embryo_fn_set_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   _edje_var_int_set(ed, (int)params[1], (int)params[2]);
+   return 0;
+}
+
+/* get_float(id) */
+static Embryo_Cell
+_edje_embryo_fn_get_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   float v;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   v = (float)_edje_var_float_get(ed, params[1]);
+   return EMBRYO_FLOAT_TO_CELL(v);
+}
+
+/* set_float(id, v) */
+static Embryo_Cell
+_edje_embryo_fn_set_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   float v;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   v = EMBRYO_CELL_TO_FLOAT(params[2]);
+   _edje_var_float_set(ed, (int)params[1], (double)v);
+   return 0;
+}
+
+/* get_str(id, dst[], maxlen) */
+static Embryo_Cell
+_edje_embryo_fn_get_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *s;
+
+   CHKPARAM(3);
+   if (params[3] < 1) return 0;
+   ed = embryo_program_data_get(ep);
+   s = (char *)_edje_var_str_get(ed, (int)params[1]);
+   if (s)
+     {
+       if ((int) strlen(s) < params[3])
+         {
+            SETSTR(s, params[2]);
+         }
+       else
+         {
+            char *ss;
+
+            ss = alloca(strlen(s) + 1);
+            strcpy(ss, s);
+            ss[params[3] - 1] = 0;
+            SETSTR(ss, params[2]);
+         }
+     }
+   else
+     {
+       SETSTR("", params[2]);
+     }
+   return 0;
+}
+
+/* get_strlen(id) */
+static Embryo_Cell
+_edje_embryo_fn_get_strlen(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *s;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   s = (char *)_edje_var_str_get(ed, (int)params[1]);
+   if (s)
+     {
+       return strlen(s);
+     }
+   return 0;
+}
+
+/* set_str(id, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_set_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *s;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   GETSTR(s, params[2]);
+   if (s)
+     {
+       _edje_var_str_set(ed, (int)params[1], s);
+     }
+   return 0;
+}
+
+/* count(id) */
+static Embryo_Cell
+_edje_embryo_fn_count(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(1);
+
+   return (Embryo_Cell)_edje_var_list_count_get(ed, (int) params[1]);
+}
+
+/* remove(id, n) */
+static Embryo_Cell
+_edje_embryo_fn_remove(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(2);
+
+   _edje_var_list_remove_nth(ed, (int) params[1], (int) params[2]);
+
+   return 0;
+}
+
+/* append_int(id, var) */
+static Embryo_Cell
+_edje_embryo_fn_append_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(2);
+
+   _edje_var_list_int_append(ed, (int) params[1], (int) params[2]);
+
+   return 0;
+}
+
+/* prepend_int(id, var) */
+static Embryo_Cell
+_edje_embryo_fn_prepend_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(2);
+
+   _edje_var_list_int_prepend(ed, (int) params[1], (int) params[2]);
+
+   return 0;
+}
+
+/* insert_int(id, pos, var) */
+static Embryo_Cell
+_edje_embryo_fn_insert_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(3);
+
+   _edje_var_list_int_insert(ed, (int) params[1], (int) params[2],
+                             (int) params[3]);
+
+   return 0;
+}
+
+/* replace_int(id, pos, var) */
+static Embryo_Cell
+_edje_embryo_fn_replace_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(3);
+
+   _edje_var_list_nth_int_set(ed, (int) params[1], (int) params[2],
+                              (int) params[3]);
+
+   return 0;
+}
+
+/* fetch_int(id, pos) */
+static Embryo_Cell
+_edje_embryo_fn_fetch_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(2);
+
+   return _edje_var_list_nth_int_get(ed, (int) params[1],
+                                     (int) params[2]);
+}
+
+/* append_str(id, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_append_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   char *s;
+
+   CHKPARAM(2);
+
+   GETSTR(s, params[2]);
+   if (s)
+     _edje_var_list_str_append(ed, (int) params[1], s);
+
+   return 0;
+}
+
+/* prepend_str(id, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_prepend_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   char *s;
+
+   CHKPARAM(2);
+
+   GETSTR(s, params[2]);
+   if (s)
+     _edje_var_list_str_prepend(ed, (int) params[1], s);
+
+   return 0;
+}
+
+/* insert_str(id, pos, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_insert_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   char *s;
+
+   CHKPARAM(3);
+
+   GETSTR(s, params[3]);
+   if (s)
+     _edje_var_list_str_insert(ed, (int) params[1], (int) params[2], s);
+
+   return 0;
+}
+
+/* replace_str(id, pos, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_replace_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   char *s;
+
+   CHKPARAM(3);
+
+   GETSTR(s, params[3]);
+   if (s)
+       _edje_var_list_nth_str_set(ed, (int) params[1], (int) params[2], s);
+
+   return 0;
+}
+
+
+/* fetch_str(id, pos, dst[], maxlen) */
+static Embryo_Cell
+_edje_embryo_fn_fetch_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   char *s;
+
+   CHKPARAM(4);
+
+   s = (char *) _edje_var_list_nth_str_get(ed, (int) params[1],
+                                           (int) params[2]);
+   if (s)
+     {
+       if ((int) strlen(s) < params[4])
+         {
+            SETSTR(s, params[3]);
+         }
+       else
+         {
+            char *ss;
+
+            ss = alloca(strlen(s) + 1);
+            strcpy(ss, s);
+            ss[params[4] - 1] = 0;
+            SETSTR(ss, params[3]);
+         }
+     }
+   else
+     {
+       SETSTR("", params[3]);
+     }
+
+   return 0;
+}
+
+/* append_float(id, Float:f) */
+static Embryo_Cell
+_edje_embryo_fn_append_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   float f;
+
+   CHKPARAM(2);
+
+   f = EMBRYO_CELL_TO_FLOAT(params[2]);
+   _edje_var_list_float_append(ed, (int) params[1], f);
+
+   return 0;
+}
+
+/* prepend_float(id, Float:f) */
+static Embryo_Cell
+_edje_embryo_fn_prepend_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   float f;
+
+   CHKPARAM(2);
+
+   f = EMBRYO_CELL_TO_FLOAT(params[2]);
+   _edje_var_list_float_prepend(ed, (int) params[1], f);
+
+   return 0;
+}
+
+/* insert_float(id, pos, Float:f) */
+static Embryo_Cell
+_edje_embryo_fn_insert_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   float f;
+
+   CHKPARAM(3);
+
+   f = EMBRYO_CELL_TO_FLOAT(params[3]);
+   _edje_var_list_float_insert(ed, (int) params[1], (int) params[2], f);
+
+   return 0;
+}
+
+/* replace_float(id, pos, Float:f) */
+static Embryo_Cell
+_edje_embryo_fn_replace_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   CHKPARAM(3);
+
+   _edje_var_list_nth_float_set(ed, (int) params[1], (int) params[2],
+                               EMBRYO_CELL_TO_FLOAT(params[3]));
+
+   return 0;
+}
+
+/* Float:fetch_float(id, pos) */
+static Embryo_Cell
+_edje_embryo_fn_fetch_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   float f;
+
+   CHKPARAM(2);
+
+   f = _edje_var_list_nth_float_get(ed, (int) params[1], (int) params[2]);
+
+   return EMBRYO_FLOAT_TO_CELL(f);
+}
+
+/* timer(Float:in, fname[], val) */
+static Embryo_Cell
+_edje_embryo_fn_timer(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *fname = NULL;
+   float f;
+   double in;
+   int val;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   GETSTR(fname, params[2]);
+   if ((!fname)) return 0;
+   f = EMBRYO_CELL_TO_FLOAT(params[1]);
+   in = (double)f;
+   val = params[3];
+   return _edje_var_timer_add(ed, in, fname, val);
+}
+
+/* cancel_timer(id) */
+static Embryo_Cell
+_edje_embryo_fn_cancel_timer(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int id;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   id = params[1];
+   if (id <= 0) return 0;
+   _edje_var_timer_del(ed, id);
+   return 0;
+}
+
+/* anim(Float:len, fname[], val) */
+static Embryo_Cell
+_edje_embryo_fn_anim(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *fname = NULL;
+   float f;
+   double len;
+   int val;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   GETSTR(fname, params[2]);
+   if ((!fname)) return 0;
+   f = EMBRYO_CELL_TO_FLOAT(params[1]);
+   len = (double)f;
+   val = params[3];
+   return _edje_var_anim_add(ed, len, fname, val);
+}
+
+/* cancel_anim(id) */
+static Embryo_Cell
+_edje_embryo_fn_cancel_anim(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int id;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   id = params[1];
+   if (id <= 0) return 0;
+   _edje_var_anim_del(ed, id);
+   return 0;
+}
+
+/* set_min_size(Float:w, Float:h) */
+static Embryo_Cell
+_edje_embryo_fn_set_min_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+    Edje *ed;
+   float f = 0.0;
+   double w = 0.0, h = 0.0;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   f = EMBRYO_CELL_TO_FLOAT(params[1]);
+   w = (double)f;
+   f = EMBRYO_CELL_TO_FLOAT(params[2]);
+   h = (double)f;
+
+   if (w < 0.0) w = 0.0;
+   if (h < 0.0) h = 0.0;
+   ed->collection->prop.min.w = w;
+   ed->collection->prop.min.h = h;
+   ed->recalc_call = EINA_TRUE;
+   ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+   _edje_recalc(ed);
+   return 0;
+}
+
+/* set_max_size(Float:w, Float:h) */
+static Embryo_Cell
+_edje_embryo_fn_set_max_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   float f = 0.0;
+   double w = 0.0, h = 0.0;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   f = EMBRYO_CELL_TO_FLOAT(params[1]);
+   w = (double)f;
+   f = EMBRYO_CELL_TO_FLOAT(params[2]);
+   h = (double)f;
+
+   if (w < 0.0) w = 0.0;
+   if (h < 0.0) h = 0.0;
+   ed->collection->prop.max.w = w;
+   ed->collection->prop.max.h = h;
+   ed->recalc_call = EINA_TRUE;
+   ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+   _edje_recalc(ed);
+
+   return 0;
+}
+
+/* stop_program(program_id) */
+static Embryo_Cell
+_edje_embryo_fn_stop_program(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int program_id = 0;
+   Edje_Running_Program *runp;
+   Eina_List *l;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   program_id = params[1];
+   if (program_id < 0) return 0;
+
+   ed->walking_actions = EINA_TRUE;
+
+   EINA_LIST_FOREACH(ed->actions, l, runp)
+     if (program_id == runp->program->id)
+       _edje_program_end(ed, runp);
+
+   ed->walking_actions = EINA_FALSE;
+
+   return 0;
+}
+
+/* stop_programs_on(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_stop_programs_on(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if (rp)
+     {
+       /* there is only ever 1 program acting on a part at any time */
+       if (rp->program) _edje_program_end(ed, rp->program);
+     }
+   return 0;
+}
+
+/* get_mouse(&x, &y) */
+static Embryo_Cell
+_edje_embryo_fn_get_mouse(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Evas_Coord x = 0, y = 0;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   evas_pointer_canvas_xy_get(ed->base->evas, &x, &y);
+   x -= ed->x;
+   y -= ed->y;
+   SETINT((int)x, params[1]);
+   SETINT((int)y, params[2]);
+   return 0;
+}
+
+/* get_mouse_buttons() */
+static Embryo_Cell
+_edje_embryo_fn_get_mouse_buttons(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+
+   CHKPARAM(0);
+   ed = embryo_program_data_get(ep);
+   return evas_pointer_button_down_mask_get(ed->base->evas);
+}
+
+/* emit(sig[], src[]) */
+static Embryo_Cell
+_edje_embryo_fn_emit(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *sig = NULL, *src = NULL;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   GETSTR(sig, params[1]);
+   GETSTR(src, params[2]);
+   if ((!sig) || (!src)) return 0;
+   _edje_emit(ed, sig, src);
+   return 0;
+}
+
+/* get_part_id(part[]) */
+static Embryo_Cell
+_edje_embryo_fn_get_part_id(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Edje_Part_Collection *col;
+   Edje_Part **part;
+   char *p;
+   unsigned int i;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   GETSTR(p, params[1]);
+   if (!p) return -1;
+   col = ed->collection;
+   if (!col) return -1;
+   part = col->parts;
+   for (i = 0; i < col->parts_count; i++, part++)
+     {
+        if (!(*part)->name) continue;
+        if (!strcmp((*part)->name, p)) return (*part)->id;
+     }
+   return -1;
+}
+
+/* get_image_id(img[]) */
+static Embryo_Cell
+_edje_embryo_fn_get_image_id(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Edje_File *file;
+   Edje_Image_Directory *dir;
+   Edje_Image_Directory_Entry *dirent;
+   char *p;
+   unsigned int i;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   GETSTR(p, params[1]);
+   if (!p) return -1;
+   file = ed->file;
+   if (!file) return -1;
+   dir = file->image_dir;
+   dirent = dir->entries;
+   for (i = 0; i < dir->entries_count; i++, dirent++)
+     {
+        if (!dirent->entry) continue;
+        if (!strcmp(dirent->entry, p)) return dirent->id;
+     }
+   return -1;
+}
+
+/* get_program_id(program[]) */
+static Embryo_Cell
+_edje_embryo_fn_get_program_id(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Edje_Program **prog;
+   char *p;
+   int i;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   GETSTR(p, params[1]);
+   if (!p) return -1;
+   prog = ed->table_programs;
+   if (!prog) return -1;
+   for (i = 0; i < ed->table_programs_size; i++, prog++)
+     {
+        if (!(*prog)->name) continue;
+        if (!strcmp((*prog)->name, p)) return (*prog)->id;
+     }
+   return -1;
+}
+
+static Embryo_Cell
+_edje_embryo_fn_play_sample(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *sample_name = NULL;
+   float speed = 1.0;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   GETSTR(sample_name, params[1]);
+   if ((!sample_name)) return 0;
+   speed = EMBRYO_CELL_TO_FLOAT(params[2]);
+   _edje_multisense_internal_sound_sample_play(ed, sample_name, (double)speed);
+   return 0;
+}
+
+static Embryo_Cell
+_edje_embryo_fn_play_tone(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *tone_name = NULL;
+   float duration = 0.1;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   GETSTR(tone_name, params[1]);
+   if ((!tone_name)) return 0;
+   duration = EMBRYO_CELL_TO_FLOAT(params[2]);
+   _edje_multisense_internal_sound_tone_play(ed, tone_name, (double) duration);
+   return 0;
+}
+
+/* set_state(part_id, state[], Float:state_val) */
+static Embryo_Cell
+_edje_embryo_fn_set_state(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *state = NULL;
+   int part_id = 0;
+   float f = 0.0;
+   double value = 0.0;
+   Edje_Real_Part *rp;
+
+   if (!(HASNPARAMS(2) || HASNPARAMS(3))) return -1;
+
+   ed = embryo_program_data_get(ep);
+   GETSTR(state, params[2]);
+   if ((!state)) return 0;
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   if (HASNPARAMS(3))
+     {
+       f = EMBRYO_CELL_TO_FLOAT(params[3]);
+       value = (double)f;
+     }
+   else
+     value = 0.0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if (rp)
+     {
+       if (rp->program) _edje_program_end(ed, rp->program);
+       _edje_part_description_apply(ed, rp, state, value, NULL, 0.0);
+       _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO);
+       _edje_recalc(ed);
+     }
+   return 0;
+}
+
+/* get_state(part_id, dst[], maxlen, &Float:val) */
+static Embryo_Cell
+_edje_embryo_fn_get_state(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   const char *s;
+
+   CHKPARAM(4);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if (rp->chosen_description)
+     {
+       SETFLOAT(rp->chosen_description->state.value, params[4]);
+       s = rp->chosen_description->state.name;
+       if (s)
+         {
+            if ((int) strlen(s) < params[3])
+              {
+                 SETSTR(s, params[2]);
+              }
+            else
+              {
+                 char *ss;
+
+                 ss = alloca(strlen(s) + 1);
+                 strcpy(ss, s);
+                 ss[params[3] - 1] = 0;
+                 SETSTR(ss, params[2]);
+              }
+         }
+       else
+         {
+            SETSTR("", params[2]);
+         }
+     }
+   else
+     {
+       SETFLOAT(0.0, params[4]);
+       SETSTR("", params[2]);
+     }
+   return 0;
+}
+
+/* set_tween_state(part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val) */
+static Embryo_Cell
+_edje_embryo_fn_set_tween_state(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *state1 = NULL, *state2 = NULL;
+   int part_id = 0;
+   float f = 0.0;
+   double tween = 0.0, value1 = 0.0, value2 = 0.0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(6);
+   ed = embryo_program_data_get(ep);
+   GETSTR(state1, params[3]);
+   GETSTR(state2, params[5]);
+   if ((!state1) || (!state2)) return 0;
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   f = EMBRYO_CELL_TO_FLOAT(params[2]);
+   tween = (double)f;
+   f = EMBRYO_CELL_TO_FLOAT(params[4]);
+   value1 = (double)f;
+   f = EMBRYO_CELL_TO_FLOAT(params[6]);
+   value2 = (double)f;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if (rp)
+     {
+       if (rp->program) _edje_program_end(ed, rp->program);
+       _edje_part_description_apply(ed, rp, state1, value1, state2, value2);
+       _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, FROM_DOUBLE(tween), ZERO, ZERO);
+       _edje_recalc(ed);
+     }
+   return 0;
+}
+
+/* run_program(program_id) */
+static Embryo_Cell
+_edje_embryo_fn_run_program(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int program_id = 0;
+   Edje_Program *pr;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   program_id = params[1];
+   if (program_id < 0) return 0;
+   pr = ed->table_programs[program_id % ed->table_programs_size];
+   if (pr)
+     {
+       _edje_program_run(ed, pr, 0, "", "");
+     }
+   return 0;
+}
+
+/* get_drag_dir(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_get_drag_dir(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(1);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   return edje_object_part_drag_dir_get(ed->obj, rp->part->name);
+}
+
+/* get_drag(part_id, &Float:dx, &Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_get_drag(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   double dx = 0.0, dy = 0.0;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_value_get(ed->obj, rp->part->name, &dx, &dy);
+   SETFLOAT(dx, params[2]);
+   SETFLOAT(dy, params[3]);
+
+   return 0;
+}
+
+/* set_drag(part_id, Float:dx, Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_set_drag(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_value_set(ed->obj, rp->part->name,
+                                  (double)EMBRYO_CELL_TO_FLOAT(params[2]),
+                                  (double)EMBRYO_CELL_TO_FLOAT(params[3]));
+   return(0);
+}
+
+/* get_drag_size(part_id, &Float:dx, &Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_get_drag_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   double dx = 0.0, dy = 0.0;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_size_get(ed->obj, rp->part->name, &dx, &dy);
+   SETFLOAT(dx, params[2]);
+   SETFLOAT(dy, params[3]);
+
+   return 0;
+}
+
+/* set_drag_size(part_id, Float:dx, Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_set_drag_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_size_set(ed->obj, rp->part->name,
+                                  (double)EMBRYO_CELL_TO_FLOAT(params[2]),
+                                  (double)EMBRYO_CELL_TO_FLOAT(params[3]));
+   return(0);
+}
+
+/* set_text(part_id, str[]) */
+static Embryo_Cell
+_edje_embryo_fn_set_text(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   char *s;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   GETSTR(s, params[2]);
+   if (s){
+     edje_object_part_text_set(ed->obj, rp->part->name, s);
+   }
+   return(0);
+}
+
+/* get_text(part_id, dst[], maxlen) */
+static Embryo_Cell
+_edje_embryo_fn_get_text(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   char *s;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   s = (char *)edje_object_part_text_get(ed->obj, rp->part->name);
+   if (s)
+     {
+       if ((int) strlen(s) < params[3])
+         {
+            SETSTR(s, params[2]);
+         }
+       else
+         {
+            char *ss;
+
+            ss = alloca(strlen(s) + 1);
+            strcpy(ss, s);
+            ss[params[3] - 1] = 0;
+            SETSTR(ss, params[2]);
+         }
+     }
+   else
+     {
+       SETSTR("", params[2]);
+     }
+   return 0;
+}
+
+/* get_min_size(&w, &h) */
+static Embryo_Cell
+_edje_embryo_fn_get_min_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Evas_Coord w = 0, h = 0;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   edje_object_size_min_get(ed->obj, &w, &h);
+   SETINT(w, params[1]);
+   SETINT(h, params[2]);
+   return 0;
+}
+
+/* get_max_size(&w, &h) */
+static Embryo_Cell
+_edje_embryo_fn_get_max_size(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Evas_Coord w = 0, h = 0;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+   edje_object_size_max_get(ed->obj, &w, &h);
+   SETINT(w, params[1]);
+   SETINT(h, params[2]);
+   return 0;
+
+}
+
+/* get_color_class(class[], &r, &g, &b, &a) */
+static Embryo_Cell
+_edje_embryo_fn_get_color_class(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Edje_Color_Class *c_class;
+   char *class;
+
+   CHKPARAM(5);
+   ed = embryo_program_data_get(ep);
+   GETSTR(class, params[1]);
+   if (!class) return 0;
+   c_class = _edje_color_class_find(ed, class);
+   if (!c_class) return 0;
+   SETINT(c_class->r, params[2]);
+   SETINT(c_class->g, params[3]);
+   SETINT(c_class->b, params[4]);
+   SETINT(c_class->a, params[5]);
+   return 0;
+}
+
+/* set_color_class(class[], r, g, b, a) */
+static Embryo_Cell
+_edje_embryo_fn_set_color_class(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *class;
+
+   CHKPARAM(5);
+   ed = embryo_program_data_get(ep);
+   GETSTR(class, params[1]);
+   if (!class) return 0;
+   edje_object_color_class_set(ed->obj, class, params[2], params[3], params[4], params[5],
+                              params[2], params[3], params[4], params[5],
+                              params[2], params[3], params[4], params[5]);
+   return 0;
+}
+
+/* set_text_class(class[], font[], Float:size) */
+static Embryo_Cell
+_edje_embryo_fn_set_text_class(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *class, *font;
+   Evas_Font_Size fsize;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   GETSTR(class, params[1]);
+   GETSTR(font, params[2]);
+   if( !class || !font ) return 0;
+   fsize = (Evas_Font_Size) EMBRYO_CELL_TO_FLOAT(params[3]);
+   edje_object_text_class_set(ed->obj, class, font, fsize);
+   return 0;
+}
+
+/* get_text_class(class[], font[], &Float:size) */
+static Embryo_Cell
+_edje_embryo_fn_get_text_class(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   char *class;
+   Edje_Text_Class *t_class;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   GETSTR(class, params[1]);
+   if (!class) return 0;
+   t_class = _edje_text_class_find(ed, class);
+   if (!t_class) return 0;
+   SETSTR((char *)t_class->font, params[2]);
+   SETFLOAT(t_class->size, params[3]);
+   return 0;
+}
+
+/* get_drag_step(part_id, &Float:dx, &Float:&dy) */
+static Embryo_Cell
+_edje_embryo_fn_get_drag_step(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   double dx = 0.0, dy = 0.0;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_step_get(ed->obj, rp->part->name, &dx, &dy);
+   SETFLOAT(dx, params[2]);
+   SETFLOAT(dy, params[3]);
+
+   return 0;
+}
+
+/* set_drag_step(part_id, Float:dx, Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_set_drag_step(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_step_set(ed->obj, rp->part->name,
+                                 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
+                                 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
+   return(0);
+}
+
+/* get_drag_page(part_id, &Float:dx, &Float:&dy) */
+static Embryo_Cell
+_edje_embryo_fn_get_drag_page(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   double dx = 0.0, dy = 0.0;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_page_get(ed->obj, rp->part->name, &dx, &dy);
+   SETFLOAT(dx, params[2]);
+   SETFLOAT(dy, params[3]);
+
+   return 0;
+}
+
+/* get_geometry(pard_id, &x, &y, &w, &h) */
+static Embryo_Cell
+_edje_embryo_fn_get_geometry(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+   Evas_Coord x = 0.0, y = 0.0, w = 0.0, h = 0.0;
+
+   CHKPARAM(5);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_geometry_get(ed->obj, rp->part->name, &x, &y, &w, &h);
+   SETINT(x, params[2]);
+   SETINT(y, params[3]);
+   SETINT(w, params[4]);
+   SETINT(h, params[5]);
+
+   return 0;
+}
+
+/* set_drag_page(part_id, Float:dx, Float:dy) */
+static Embryo_Cell
+_edje_embryo_fn_set_drag_page(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id = 0;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   edje_object_part_drag_page_set(ed->obj, rp->part->name,
+                                 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
+                                 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
+   return(0);
+}
+
+/* send_message(Msg_Type:type, id,...); */
+static Embryo_Cell
+_edje_embryo_fn_send_message(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   Edje_Message_Type type;
+   int id, i, n;
+   Embryo_Cell *ptr;
+
+   if (params[0] < (int) (sizeof(Embryo_Cell) * (2))) return 0;
+   ed = embryo_program_data_get(ep);
+   type = params[1];
+   id = params[2];
+   switch (type)
+     {
+      case EDJE_MESSAGE_NONE:
+       _edje_message_send(ed, EDJE_QUEUE_APP, type, id, NULL);
+       break;
+      case EDJE_MESSAGE_SIGNAL:
+       break;
+      case EDJE_MESSAGE_STRING:
+         {
+            Embryo_Cell *cptr;
+
+            cptr = embryo_data_address_get(ep, params[3]);
+            if (cptr)
+              {
+                 Edje_Message_String *emsg;
+                 int l;
+                 char *s;
+
+                 l = embryo_data_string_length_get(ep, cptr);
+                 s = alloca(l + 1);
+                  s[0] = 0;
+                 embryo_data_string_get(ep, cptr, s);
+                 emsg = alloca(sizeof(Edje_Message_String));
+                 emsg->str = s;
+                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+              }
+         }
+       break;
+      case EDJE_MESSAGE_INT:
+         {
+            Edje_Message_Int *emsg;
+
+            emsg = alloca(sizeof(Edje_Message_Int));
+            ptr = embryo_data_address_get(ep, params[3]);
+             if (ptr) emsg->val = (int)*ptr;
+             else emsg->val = 0;
+            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT:
+         {
+            Edje_Message_Float *emsg;
+            float f;
+
+            emsg = alloca(sizeof(Edje_Message_Float));
+            ptr = embryo_data_address_get(ep, params[3]);
+            if (ptr)
+                {
+                   f = EMBRYO_CELL_TO_FLOAT(*ptr);
+                   emsg->val = (double)f;
+                }
+             else
+                emsg->val = 0.0;
+            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_SET:
+         {
+            Edje_Message_String_Set *emsg;
+
+            n = (params[0] / sizeof(Embryo_Cell)) + 1;
+            emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 3 - 1) * sizeof(char *)));
+            emsg->count = n - 3;
+            for (i = 3; i < n; i++)
+              {
+                 Embryo_Cell *cptr;
+
+                 cptr = embryo_data_address_get(ep, params[i]);
+                 if (cptr)
+                   {
+                      int l;
+                      char *s;
+
+                      l = embryo_data_string_length_get(ep, cptr);
+                      s = alloca(l + 1);
+                       s[0] = 0;
+                      embryo_data_string_get(ep, cptr, s);
+                      emsg->str[i - 3] = s;
+                   }
+              }
+            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+         }
+       break;
+      case EDJE_MESSAGE_INT_SET:
+         {
+            Edje_Message_Int_Set *emsg;
+
+            n = (params[0] / sizeof(Embryo_Cell)) + 1;
+            emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 3 - 1) * sizeof(int)));
+            emsg->count = n - 3;
+            for (i = 3; i < n; i++)
+              {
+                 ptr = embryo_data_address_get(ep, params[i]);
+                 if (ptr) emsg->val[i - 3] = (int)*ptr;
+                  else emsg->val[i - 3] = 0;
+              }
+            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT_SET:
+         {
+            Edje_Message_Float_Set *emsg;
+
+            n = (params[0] / sizeof(Embryo_Cell)) + 1;
+            emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 3 - 1) * sizeof(double)));
+            emsg->count = n - 3;
+            for (i = 3; i < n; i++)
+              {
+                 float f;
+
+                 ptr = embryo_data_address_get(ep, params[i]);
+                 if (ptr)
+                     {
+                        f = EMBRYO_CELL_TO_FLOAT(*ptr);
+                        emsg->val[i - 3] = (double)f;
+                     }
+                  else
+                     emsg->val[i - 3] = 0.0;
+              }
+            _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT:
+         {
+            Edje_Message_String_Int *emsg;
+            Embryo_Cell *cptr;
+
+            cptr = embryo_data_address_get(ep, params[3]);
+            if (cptr)
+              {
+                 int l;
+                 char *s;
+
+                 l = embryo_data_string_length_get(ep, cptr);
+                 s = alloca(l + 1);
+                  s[0] = 0;
+                 embryo_data_string_get(ep, cptr, s);
+                 emsg = alloca(sizeof(Edje_Message_String_Int));
+                 emsg->str = s;
+                 ptr = embryo_data_address_get(ep, params[4]);
+                 if (ptr) emsg->val = (int)*ptr;
+                  else emsg->val = 0;
+                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+              }
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT:
+         {
+            Edje_Message_String_Float *emsg;
+            Embryo_Cell *cptr;
+
+            cptr = embryo_data_address_get(ep, params[3]);
+            if (cptr)
+              {
+                 int l;
+                 char *s;
+                 float f;
+
+                 l = embryo_data_string_length_get(ep, cptr);
+                 s = alloca(l + 1);
+                  s[0] = 0;
+                 embryo_data_string_get(ep, cptr, s);
+                 emsg = alloca(sizeof(Edje_Message_String_Float));
+                 emsg->str = s;
+                 ptr = embryo_data_address_get(ep, params[4]);
+                  if (ptr)
+                     {
+                        f = EMBRYO_CELL_TO_FLOAT(*ptr);
+                        emsg->val = (double)f;
+                     }
+                  else
+                     emsg->val = 0.0;
+                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+              }
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT_SET:
+         {
+            Edje_Message_String_Int_Set *emsg;
+            Embryo_Cell *cptr;
+
+            cptr = embryo_data_address_get(ep, params[3]);
+            if (cptr)
+              {
+                 int l;
+                 char *s;
+
+                 l = embryo_data_string_length_get(ep, cptr);
+                 s = alloca(l + 1);
+                  s[0] = 0;
+                 embryo_data_string_get(ep, cptr, s);
+                 n = (params[0] / sizeof(Embryo_Cell)) + 1;
+                 emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 4 - 1) * sizeof(int)));
+                 emsg->str = s;
+                 emsg->count = n - 4;
+                 for (i = 4; i < n; i++)
+                   {
+                      ptr = embryo_data_address_get(ep, params[i]);
+                       if (ptr) emsg->val[i - 4] = (int)*ptr;
+                       else emsg->val[i - 4] = 0;
+                   }
+                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+              }
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT_SET:
+         {
+            Edje_Message_String_Float_Set *emsg;
+            Embryo_Cell *cptr;
+
+            cptr = embryo_data_address_get(ep, params[3]);
+            if (cptr)
+              {
+                 int l;
+                 char *s;
+
+                 l = embryo_data_string_length_get(ep, cptr);
+                 s = alloca(l + 1);
+                  s[0] = 0;
+                 embryo_data_string_get(ep, cptr, s);
+                 n = (params[0] / sizeof(Embryo_Cell)) + 1;
+                 emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 4 - 1) * sizeof(double)));
+                 emsg->str = s;
+                 emsg->count = n - 4;
+                 for (i = 4; i < n; i++)
+                   {
+                      float f;
+
+                      ptr = embryo_data_address_get(ep, params[i]);
+                       if (ptr)
+                         {
+                            f = EMBRYO_CELL_TO_FLOAT(*ptr);
+                            emsg->val[i - 4] = (double)f;
+                         }
+                       else
+                          emsg->val[i - 4] = 0.0;
+                   }
+                 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
+              }
+         }
+       break;
+      default:
+       break;
+     }
+   return(0);
+}
+
+/* custom_state(part_id, state[], Float:state_val = 0.0) */
+static Embryo_Cell
+_edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   Edje_Real_Part *rp;
+   Edje_Part_Description_Common *parent, *d = NULL;
+   char *name;
+   float val;
+
+   CHKPARAM(3);
+
+   if (params[1] < 0)
+     return 0;
+
+   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
+     return 0;
+
+   /* check whether this part already has a "custom" state */
+   if (rp->custom)
+     return 0;
+
+   GETSTR(name, params[2]);
+   if (!name)
+     return 0;
+
+   val = EMBRYO_CELL_TO_FLOAT(params[3]);
+
+   if (!(parent = _edje_part_description_find(ed, rp, name, val)))
+     return 0;
+
+   /* now create the custom state */
+   switch (rp->part->type)
+     {
+#define ALLOC_DESC(Short, Type, To)                                    \
+       case EDJE_PART_TYPE_##Short: To = calloc(1, sizeof (Edje_Part_Description_##Type)); break;
+
+#define ALLOC_COPY_DESC(Short, Type, To, Spec)                         \
+       case EDJE_PART_TYPE_##Short:                                    \
+         {                                                             \
+            Edje_Part_Description_##Type *tmp;                         \
+            Edje_Part_Description_##Type *new;                         \
+                                                                       \
+            tmp = (Edje_Part_Description_##Type *) parent;             \
+                                                                       \
+            new = calloc(1, sizeof (Edje_Part_Description_##Type));    \
+            new->Spec = tmp->Spec;                                     \
+            d = &new->common;                                          \
+            break;                                                     \
+         }
+
+       ALLOC_DESC(RECTANGLE, Common, d);
+       ALLOC_DESC(SWALLOW, Common, d);
+       ALLOC_DESC(GROUP, Common, d);
+
+       ALLOC_COPY_DESC(IMAGE, Image, d, image);
+       ALLOC_COPY_DESC(TEXT, Text, d, text);
+       ALLOC_COPY_DESC(TEXTBLOCK, Text, d, text);
+       ALLOC_COPY_DESC(BOX, Box, d, box);
+       ALLOC_COPY_DESC(TABLE, Table, d, table);
+       ALLOC_COPY_DESC(EXTERNAL, External, d, external_params);
+     }
+
+   if (!d) return 0;
+
+   rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
+   if (!rp->custom)
+     {
+       free(d);
+       return 0;
+     }
+
+   memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
+
+   *d = *parent;
+
+   d->state.name = (char *)eina_stringshare_add("custom");
+   d->state.value = 0.0;
+
+   /* make sure all the allocated memory is getting copied,
+    * not just referenced
+    */
+   if (rp->part->type == EDJE_PART_TYPE_IMAGE)
+     {
+       Edje_Part_Description_Image *img_desc;
+       Edje_Part_Description_Image *parent_img_desc;
+
+       img_desc = (Edje_Part_Description_Image*) d;
+       parent_img_desc = (Edje_Part_Description_Image*) parent;
+
+       img_desc->image.tweens_count = parent_img_desc->image.tweens_count;
+       img_desc->image.tweens = calloc(img_desc->image.tweens_count,
+                                       sizeof(Edje_Part_Image_Id*));
+       if (img_desc->image.tweens)
+         {
+            unsigned int i;
+
+            for (i = 0; i < parent_img_desc->image.tweens_count; ++i)
+              {
+                 Edje_Part_Image_Id *iid_new;
+
+                 iid_new = calloc(1, sizeof(Edje_Part_Image_Id));
+                 if (!iid_new) continue;
+
+                 *iid_new = *parent_img_desc->image.tweens[i];
+
+                 img_desc->image.tweens[i] = iid_new;
+              }
+         }
+     }
+
+#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL
+   d->color_class = DUP(d->color_class);
+
+   if (rp->part->type == EDJE_PART_TYPE_TEXT
+       || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+       Edje_Part_Description_Text *text_desc;
+
+       text_desc = (Edje_Part_Description_Text*) d;
+
+       text_desc->text.text_class = DUP(text_desc->text.text_class);
+       text_desc->text.text.str = DUP(edje_string_get(&text_desc->text.text));
+       text_desc->text.text.id = 0;
+       text_desc->text.font.str = DUP(edje_string_get(&text_desc->text.font));
+       text_desc->text.font.id = 0;
+       text_desc->text.style.str = DUP(edje_string_get(&text_desc->text.style));
+       text_desc->text.style.id = 0;
+     }
+#undef DUP
+
+   rp->custom->description = d;
+
+   return 0;
+}
+
+/* set_state_val(part_id, State_Param:p, ...) */
+static Embryo_Cell
+_edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   Edje_Real_Part *rp;
+   char *s;
+
+   /* we need at least 3 arguments */
+   if (params[0] < (int) (sizeof(Embryo_Cell) * 3))
+     return 0;
+
+   if (params[1] < 0)
+     return 0;
+
+   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
+     return 0;
+
+   /* check whether this part has a "custom" state */
+   if (!rp->custom)
+     return 0;
+
+   switch (params[2])
+     {
+      case EDJE_STATE_PARAM_ALIGNMENT:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->align.x, params[3]);
+        GETFLOAT_T(rp->custom->description->align.y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_MIN:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->min.w, params[3]);
+        GETINT(rp->custom->description->min.h, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_MAX:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->max.w, params[3]);
+        GETINT(rp->custom->description->max.h, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_STEP:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->step.x, params[3]);
+        GETINT(rp->custom->description->step.y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_ASPECT:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->aspect.min, params[3]);
+        GETFLOAT_T(rp->custom->description->aspect.max, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_ASPECT_PREF:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->aspect.prefer, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR:
+        CHKPARAM(6);
+
+        GETINT(rp->custom->description->color.r, params[3]);
+        GETINT(rp->custom->description->color.g, params[4]);
+        GETINT(rp->custom->description->color.b, params[5]);
+        GETINT(rp->custom->description->color.a, params[6]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR2:
+        CHKPARAM(6);
+
+        GETINT(rp->custom->description->color2.r, params[3]);
+        GETINT(rp->custom->description->color2.g, params[4]);
+        GETINT(rp->custom->description->color2.b, params[5]);
+        GETINT(rp->custom->description->color2.a, params[6]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR3:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+
+          CHKPARAM(6);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          GETINT(text->text.color3.r, params[3]);
+          GETINT(text->text.color3.g, params[4]);
+          GETINT(text->text.color3.b, params[5]);
+          GETINT(text->text.color3.a, params[6]);
+          break;
+       }
+      case EDJE_STATE_PARAM_COLOR_CLASS:
+        CHKPARAM(3);
+
+        GETSTR(s, params[3]);
+        GETSTREVAS(s, rp->custom->description->color_class);
+
+        break;
+      case EDJE_STATE_PARAM_REL1:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
+        GETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL1_TO:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->rel1.id_x, params[3]);
+        GETINT(rp->custom->description->rel1.id_y, params[4]);
+
+        if (rp->param1.description->rel1.id_x >= 0)
+          rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
+        if (rp->param1.description->rel1.id_y >= 0)
+          rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
+
+        break;
+      case EDJE_STATE_PARAM_REL1_OFFSET:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->rel1.offset_x, params[3]);
+        GETINT(rp->custom->description->rel1.offset_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL2:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
+        GETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL2_TO:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->rel2.id_x, params[3]);
+        GETINT(rp->custom->description->rel2.id_y, params[4]);
+
+        if (rp->param1.description->rel2.id_x >= 0)
+          rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
+        if (rp->param1.description->rel2.id_y >= 0)
+          rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
+
+        break;
+      case EDJE_STATE_PARAM_REL2_OFFSET:
+        CHKPARAM(4);
+
+        GETINT(rp->custom->description->rel2.offset_x, params[3]);
+        GETINT(rp->custom->description->rel2.offset_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_IMAGE:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(3);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+          GETINT(img->image.id, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_BORDER:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          GETINT(img->image.border.l, params[3]);
+          GETINT(img->image.border.r, params[4]);
+          GETINT(img->image.border.t, params[5]);
+          GETINT(img->image.border.b, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_SMOOTH:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(3);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          GETINT(img->image.fill.smooth, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_POS:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          GETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
+          GETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
+          GETINT(img->image.fill.pos_abs_x, params[5]);
+          GETINT(img->image.fill.pos_abs_y, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_SIZE:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          GETFLOAT_T(img->image.fill.rel_x, params[3]);
+          GETFLOAT_T(img->image.fill.rel_y, params[4]);
+          GETINT(img->image.fill.abs_x, params[5]);
+          GETINT(img->image.fill.abs_y, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+          CHKPARAM(3);
+
+          GETSTR(s, params[3]);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+          GETSTREVAS(s, text->text.text.str);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_CLASS:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+          CHKPARAM(3);
+
+          GETSTR(s, params[3]);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+          GETSTREVAS(s, text->text.text_class);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_FONT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+          CHKPARAM(3);
+
+          GETSTR(s, params[3]);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+          GETSTREVAS(s, text->text.font.str);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_STYLE:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
+          CHKPARAM(3);
+
+          GETSTR(s, params[3]);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+          GETSTREVAS(s, text->text.style.str);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_SIZE:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+          CHKPARAM(3);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+          GETINT(text->text.size, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_FIT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          GETINT(text->text.fit_x, params[3]);
+          GETINT(text->text.fit_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_MIN:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          GETINT(text->text.min_x, params[3]);
+          GETINT(text->text.min_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_MAX:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          GETINT(text->text.max_x, params[3]);
+          GETINT(text->text.max_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_ALIGN:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          GETFLOAT_T(text->text.align.x, params[3]);
+          GETFLOAT_T(text->text.align.y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_VISIBLE:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->visible, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ON:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.on, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_PERSP:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.id_persp, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_LIGHT:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.id_light, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_CENTER:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.rot.id_center, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_X:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_Y:
+        CHKPARAM(3);
+        
+        GETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_Z:
+        CHKPARAM(3);
+        
+        GETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_BACK_CULL:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.backcull, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_MAP_PERSP_ON:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->map.persp_on, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_PERSP_ZPLANE:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->persp.zplane, params[3]);
+        
+        break;
+      case EDJE_STATE_PARAM_PERSP_FOCAL:
+        CHKPARAM(3);
+        
+        GETINT(rp->custom->description->persp.focal, params[3]);
+        
+        break;
+#ifdef HAVE_EPHYSICS
+      case EDJE_STATE_PARAM_PHYSICS_MASS:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->physics.mass, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_FRICTION:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->physics.friction, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DAMPING:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
+        GETFLOAT_T(rp->custom->description->physics.damping.angular,
+                    params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_SLEEP:
+        CHKPARAM(4);
+
+        GETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
+        GETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.material, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DENSITY:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->physics.density, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
+        CHKPARAM(3);
+
+        GETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.light_on, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
+        CHKPARAM(5);
+
+        GETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
+        GETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
+        GETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
+        CHKPARAM(5);
+
+        GETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
+        GETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
+        GETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.backcull, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_Z:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.z, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DEPTH:
+        CHKPARAM(3);
+
+        GETINT(rp->custom->description->physics.depth, params[3]);
+        break;
+#endif
+      default:
+        break;
+     }
+
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   ed->dirty = EINA_TRUE;
+   return 0;
+}
+
+/* get_state_val(part_id, State_Param:p, ...) */
+static Embryo_Cell
+_edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+   Edje_Real_Part *rp;
+   char *s;
+
+   /* we need at least 3 arguments */
+   if (params[0] < (int) (sizeof(Embryo_Cell) * 3))
+     return 0;
+
+   if (params[1] < 0)
+     return 0;
+
+   if (!(rp = ed->table_parts[params[1] % ed->table_parts_size]))
+     return 0;
+
+   /* check whether this part has a "custom" state */
+   if (!rp->custom)
+     return 0;
+
+   switch (params[2])
+     {
+      case EDJE_STATE_PARAM_ALIGNMENT:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->align.x, params[3]);
+        SETFLOAT_T(rp->custom->description->align.y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_MIN:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->min.w, params[3]);
+        SETINT(rp->custom->description->min.h, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_MAX:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->max.w, params[3]);
+        SETINT(rp->custom->description->max.h, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_STEP:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->step.x, params[3]);
+        SETINT(rp->custom->description->step.y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_ASPECT:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->aspect.min, params[3]);
+        SETFLOAT_T(rp->custom->description->aspect.max, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_ASPECT_PREF:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->aspect.prefer, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR:
+        CHKPARAM(6);
+
+        SETINT(rp->custom->description->color.r, params[3]);
+        SETINT(rp->custom->description->color.g, params[4]);
+        SETINT(rp->custom->description->color.b, params[5]);
+        SETINT(rp->custom->description->color.a, params[6]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR2:
+        CHKPARAM(6);
+
+        SETINT(rp->custom->description->color2.r, params[3]);
+        SETINT(rp->custom->description->color2.g, params[4]);
+        SETINT(rp->custom->description->color2.b, params[5]);
+        SETINT(rp->custom->description->color2.a, params[6]);
+
+        break;
+      case EDJE_STATE_PARAM_COLOR3:
+       {
+          Edje_Part_Description_Text *text;
+
+          if (rp->part->type == EDJE_PART_TYPE_TEXT
+              || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+            return 0;
+
+          CHKPARAM(6);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETINT(text->text.color3.r, params[3]);
+          SETINT(text->text.color3.g, params[4]);
+          SETINT(text->text.color3.b, params[5]);
+          SETINT(text->text.color3.a, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_COLOR_CLASS:
+        CHKPARAM(4);
+
+        s = rp->custom->description->color_class;
+        SETSTRALLOCATE(s);
+
+        break;
+      case EDJE_STATE_PARAM_REL1:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
+        SETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL1_TO:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->rel1.id_x, params[3]);
+        SETINT(rp->custom->description->rel1.id_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL1_OFFSET:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->rel1.offset_x, params[3]);
+        SETINT(rp->custom->description->rel1.offset_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL2:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
+        SETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL2_TO:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->rel2.id_x, params[3]);
+        SETINT(rp->custom->description->rel2.id_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_REL2_OFFSET:
+        CHKPARAM(4);
+
+        SETINT(rp->custom->description->rel2.offset_x, params[3]);
+        SETINT(rp->custom->description->rel2.offset_y, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_IMAGE:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(3);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          SETINT(img->image.id, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_BORDER:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          SETINT(img->image.border.l, params[3]);
+          SETINT(img->image.border.r, params[4]);
+          SETINT(img->image.border.t, params[5]);
+          SETINT(img->image.border.b, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_SMOOTH:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(3);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          SETINT(img->image.fill.smooth, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_POS:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          SETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
+          SETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
+          SETINT(img->image.fill.pos_abs_x, params[5]);
+          SETINT(img->image.fill.pos_abs_y, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_FILL_SIZE:
+       {
+          Edje_Part_Description_Image *img;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
+          CHKPARAM(6);
+
+          img = (Edje_Part_Description_Image*) rp->custom->description;
+
+          SETFLOAT_T(img->image.fill.rel_x, params[3]);
+          SETFLOAT_T(img->image.fill.rel_y, params[4]);
+          SETINT(img->image.fill.abs_x, params[5]);
+          SETINT(img->image.fill.abs_y, params[6]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if (rp->part->type == EDJE_PART_TYPE_TEXT
+              || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+            return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          s = (char *)text->text.text.str;
+          SETSTRALLOCATE(s);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_CLASS:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+              (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          s = text->text.text_class;
+          SETSTRALLOCATE(s);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_FONT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          s = (char *)text->text.font.str;
+          SETSTRALLOCATE(s);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_STYLE:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          s = (char *)text->text.style.str;
+          SETSTRALLOCATE(s);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_SIZE:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+
+          CHKPARAM(3);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETINT(text->text.size, params[3]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_FIT:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETINT(text->text.fit_x, params[3]);
+          SETINT(text->text.fit_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_MIN:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETINT(text->text.min_x, params[3]);
+          SETINT(text->text.min_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_MAX:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
+               (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+            return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETINT(text->text.max_x, params[3]);
+          SETINT(text->text.max_y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_TEXT_ALIGN:
+       {
+          Edje_Part_Description_Text *text;
+
+          if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
+
+          CHKPARAM(4);
+
+          text = (Edje_Part_Description_Text*) rp->custom->description;
+
+          SETFLOAT_T(text->text.align.x, params[3]);
+          SETFLOAT_T(text->text.align.y, params[4]);
+
+          break;
+       }
+      case EDJE_STATE_PARAM_VISIBLE:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->visible, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ON:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.on, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_PERSP:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.id_persp, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_LIGHT:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.id_light, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_CENTER:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.rot.id_center, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_X:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_Y:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_ROT_Z:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_BACK_CULL:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.backcull, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_MAP_PERSP_ON:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->map.persp_on, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PERSP_ZPLANE:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->persp.zplane, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PERSP_FOCAL:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->persp.focal, params[3]);
+
+        break;
+#ifdef HAVE_EPHYSICS
+      case EDJE_STATE_PARAM_PHYSICS_MASS:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->physics.mass, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_FRICTION:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->physics.friction, params[3]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DAMPING:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
+        SETFLOAT_T(rp->custom->description->physics.damping.angular,
+                    params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_SLEEP:
+        CHKPARAM(4);
+
+        SETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
+        SETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
+
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.material, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DENSITY:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->physics.density, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
+        CHKPARAM(3);
+
+        SETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.light_on, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
+        CHKPARAM(5);
+
+        SETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
+        SETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
+        SETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
+        CHKPARAM(5);
+
+        SETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
+        SETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
+        SETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.backcull, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_Z:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.z, params[3]);
+        break;
+      case EDJE_STATE_PARAM_PHYSICS_DEPTH:
+        CHKPARAM(3);
+
+        SETINT(rp->custom->description->physics.depth, params[3]);
+        break;
+#endif
+      default:
+        break;
+     }
+
+   return 0;
+}
+
+/* part_swallow(part_id, group_name) */
+static Embryo_Cell
+_edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
+{
+   int part_id = 0;
+   char* group_name = 0;
+   Edje *ed;
+   Edje_Real_Part *rp;
+   Evas_Object *new_obj;
+   
+   CHKPARAM(2);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   GETSTR(group_name, params[2]);
+   if (!group_name) return 0;
+
+   ed = embryo_program_data_get(ep);
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if (!rp) return 0;
+
+   new_obj =  edje_object_add(ed->base->evas);
+   if (!new_obj) return 0;
+
+   if (!edje_object_file_set(new_obj, ed->file->path, group_name)) 
+     {
+        evas_object_del(new_obj);
+        return 0;
+     }
+   edje_object_part_swallow(ed->obj, rp->part->name, new_obj);
+   _edje_subobj_register(ed, new_obj);
+
+   return 0;
+}
+
+/* external_param_get_int(id, param_name[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_INT;
+   eep.i = 0;
+   _edje_external_param_get(NULL, rp, &eep);
+   return eep.i;
+}
+
+/* external_param_set_int(id, param_name[], val) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_set_int(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_INT;
+   eep.i = params[3];
+   return _edje_external_param_set(NULL, rp, &eep);
+}
+
+/* Float:external_param_get_float(id, param_name[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+   float v;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+   eep.d = 0.0;
+   _edje_external_param_get(NULL, rp, &eep);
+   v = eep.d;
+   return EMBRYO_FLOAT_TO_CELL(v);
+}
+
+/* external_param_set_float(id, param_name[], Float:val) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_set_float(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+   eep.d = EMBRYO_CELL_TO_FLOAT(params[3]);
+   return _edje_external_param_set(NULL, rp, &eep);
+}
+
+/* external_param_get_strlen(id, param_name[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_strlen(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+   eep.s = NULL;
+   _edje_external_param_get(NULL, rp, &eep);
+   if (!eep.s) return 0;
+   return strlen(eep.s);
+}
+
+/* external_param_get_str(id, param_name[], val[], val_maxlen) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+   size_t src_len, dst_len;
+
+   CHKPARAM(4);
+   dst_len = params[4];
+   if (dst_len < 1) goto error;
+
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) goto error;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+   eep.s = NULL;
+   _edje_external_param_get(NULL, rp, &eep);
+   if (!eep.s) goto error;
+   src_len = strlen(eep.s);
+   if (src_len < dst_len)
+     {
+       SETSTR(eep.s, params[3]);
+     }
+   else
+     {
+       char *tmp = alloca(dst_len);
+       memcpy(tmp, eep.s, dst_len - 1);
+       tmp[dst_len] = '\0';
+       SETSTR(tmp, params[3]);
+     }
+   return 1;
+
+ error:
+   SETSTR("", params[3]);
+   return 0;
+}
+
+/* external_param_set_str(id, param_name[], val[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_set_str(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name, *val;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+   GETSTR(val, params[3]);
+   if (!val) return 0;
+   eep.s = val;
+   return _edje_external_param_set(NULL, rp, &eep);
+}
+
+/* external_param_get_choice_len(id, param_name[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_choice_len(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
+   eep.s = NULL;
+   _edje_external_param_get(NULL, rp, &eep);
+   if (!eep.s) return 0;
+   return strlen(eep.s);
+}
+
+/* external_param_get_choice(id, param_name[], val[], val_maxlen) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_choice(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+   size_t src_len, dst_len;
+
+   CHKPARAM(4);
+   dst_len = params[4];
+   if (dst_len < 1) goto error;
+
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) goto error;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
+   eep.s = NULL;
+   _edje_external_param_get(NULL, rp, &eep);
+   if (!eep.s) goto error;
+   src_len = strlen(eep.s);
+   if (src_len < dst_len)
+     {
+       SETSTR(eep.s, params[3]);
+     }
+   else
+     {
+       char *tmp = alloca(dst_len);
+       memcpy(tmp, eep.s, dst_len - 1);
+       tmp[dst_len] = '\0';
+       SETSTR(tmp, params[3]);
+     }
+   return 1;
+
+ error:
+   SETSTR("", params[3]);
+   return 0;
+}
+
+/* external_param_set_choice(id, param_name[], val[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_set_choice(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name, *val;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_CHOICE;
+   GETSTR(val, params[3]);
+   if (!val) return 0;
+   eep.s = val;
+   return _edje_external_param_set(NULL, rp, &eep);
+}
+
+/* external_param_get_bool(id, param_name[]) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_get_bool(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(2);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
+   eep.i = 0;
+   _edje_external_param_get(NULL, rp, &eep);
+   return eep.i;
+}
+
+/* external_param_set_bool(id, param_name[], val) */
+static Embryo_Cell
+_edje_embryo_fn_external_param_set_bool(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje *ed;
+   int part_id;
+   Edje_Real_Part *rp;
+   Edje_External_Param eep;
+   char *param_name;
+
+   CHKPARAM(3);
+   ed = embryo_program_data_get(ep);
+
+   part_id = params[1];
+   if (part_id < 0) return 0;
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+
+   GETSTR(param_name, params[2]);
+   if (!param_name) return 0;
+   eep.name = param_name;
+   eep.type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
+   eep.i = params[3];
+   return _edje_external_param_set(NULL, rp, &eep);
+}
+
+#ifdef HAVE_EPHYSICS
+/* Generic function to call ephysics functions that apply an action to
+ * a body using 3 double values.
+ * To be used by the other functions only avoiding code duplication. */
+static Embryo_Cell
+_edje_embryo_fn_physics_components_set(Embryo_Program *ep, Embryo_Cell *params, void (*func)(EPhysics_Body *body, double x, double y, double z))
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(4);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     {
+        double x, y, z;
+
+        x = (double) EMBRYO_CELL_TO_FLOAT(params[2]);
+        y = (double) EMBRYO_CELL_TO_FLOAT(params[3]);
+        z = (double) EMBRYO_CELL_TO_FLOAT(params[4]);
+
+        func(rp->body, x, y, z);
+     }
+
+   return 0;
+}
+
+/* Generic function to call ephysics functions that get components related
+ * to actions from a body using 3 double values.
+ * To be used by the other functions only avoiding code duplication. */
+static Embryo_Cell
+_edje_embryo_fn_physics_components_get(Embryo_Program *ep, Embryo_Cell *params, void (*func)(const EPhysics_Body *body, double *x, double *y, double *z))
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(4);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     {
+        double x, y, z;
+        func(rp->body, &x, &y, &z);
+        SETFLOAT(x, params[2]);
+        SETFLOAT(y, params[3]);
+        SETFLOAT(z, params[4]);
+     }
+
+   return 0;
+}
+
+/* physics_impulse(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_impulse(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_central_impulse_apply);
+}
+
+/* physics_torque_impulse(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_torque_impulse(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_torque_impulse_apply);
+}
+
+/* physics_force(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_force(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_central_force_apply);
+}
+
+/* physics_torque(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_torque(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_torque_apply);
+}
+
+/* physics_clear_forces(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_physics_clear_forces(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(1);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     ephysics_body_forces_clear(rp->body);
+
+   return 0;
+}
+
+/* physics_get_forces(part_id, &Float:x, &Float:y, &Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_get_forces(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_get(
+      ep, params, ephysics_body_forces_get);
+}
+
+/* physics_get_torques(part_id, &Float:x, &Float:y, &Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_get_torques(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_get(
+      ep, params, ephysics_body_torques_get);
+}
+
+/* physics_set_velocity(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_set_velocity(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_linear_velocity_set);
+}
+
+/* physics_get_velocity(part_id, &Float:x, &Float:y, &Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_get_velocity(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_get(
+      ep, params, ephysics_body_linear_velocity_get);
+}
+
+/* physics_set_ang_velocity(part_id, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_set_ang_velocity(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_set(
+      ep, params, ephysics_body_angular_velocity_set);
+}
+
+/* physics_get_ang_velocity(part_id, &Float:x, &Float:y, &Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_get_ang_velocity(Embryo_Program *ep, Embryo_Cell *params)
+{
+   return _edje_embryo_fn_physics_components_get(
+      ep, params, ephysics_body_angular_velocity_get);
+}
+
+/* physics_stop(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_physics_stop(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(1);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     ephysics_body_stop(rp->body);
+
+   return 0;
+}
+
+/* physics_set_rotation(part_id, Float:w, Float:x, Float:y, Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_set_rotation(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(5);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     {
+        EPhysics_Quaternion quat;
+        double w, x, y, z;
+
+        w = (double) EMBRYO_CELL_TO_FLOAT(params[2]);
+        x = (double) EMBRYO_CELL_TO_FLOAT(params[3]);
+        y = (double) EMBRYO_CELL_TO_FLOAT(params[4]);
+        z = (double) EMBRYO_CELL_TO_FLOAT(params[5]);
+
+        ephysics_quaternion_set(&quat, x, y, z, w);
+        ephysics_quaternion_normalize(&quat);
+        ephysics_body_rotation_set(rp->body, &quat);
+     }
+
+   return 0;
+}
+
+/* physics_get_rotation(part_id, &Float:w, &Float:x, &Float:y, &Float:z) */
+static Embryo_Cell
+_edje_embryo_fn_physics_get_rotation(Embryo_Program *ep, Embryo_Cell *params)
+{
+   Edje_Real_Part *rp;
+   int part_id = 0;
+   Edje *ed;
+
+   CHKPARAM(5);
+
+   ed = embryo_program_data_get(ep);
+   part_id = params[1];
+   if (part_id < 0) return 0;
+
+   rp = ed->table_parts[part_id % ed->table_parts_size];
+   if ((rp) && (rp->body))
+     {
+        EPhysics_Quaternion quat;
+        double w, x, y, z;
+
+        ephysics_body_rotation_get(rp->body, &quat);
+        ephysics_quaternion_get(&quat, &x, &y, &z, &w);
+
+        SETFLOAT(w, params[2]);
+        SETFLOAT(x, params[3]);
+        SETFLOAT(y, params[4]);
+        SETFLOAT(z, params[5]);
+     }
+
+   return 0;
+}
+#endif
+
+void
+_edje_embryo_script_init(Edje_Part_Collection *edc)
+{
+   Embryo_Program *ep;
+
+   if (!edc) return;
+   if (!edc->script) return;
+   
+   ep = edc->script;
+   /* first advertise all the edje "script" calls */
+   embryo_program_native_call_add(ep, "get_int", _edje_embryo_fn_get_int);
+   embryo_program_native_call_add(ep, "set_int", _edje_embryo_fn_set_int);
+   embryo_program_native_call_add(ep, "get_float", _edje_embryo_fn_get_float);
+   embryo_program_native_call_add(ep, "set_float", _edje_embryo_fn_set_float);
+   embryo_program_native_call_add(ep, "get_str", _edje_embryo_fn_get_str);
+   embryo_program_native_call_add(ep, "get_strlen", _edje_embryo_fn_get_strlen);
+   embryo_program_native_call_add(ep, "set_str", _edje_embryo_fn_set_str);
+   embryo_program_native_call_add(ep, "count", _edje_embryo_fn_count);
+   embryo_program_native_call_add(ep, "remove", _edje_embryo_fn_remove);
+   embryo_program_native_call_add(ep, "append_int", _edje_embryo_fn_append_int);
+   embryo_program_native_call_add(ep, "prepend_int", _edje_embryo_fn_prepend_int);
+   embryo_program_native_call_add(ep, "insert_int", _edje_embryo_fn_insert_int);
+   embryo_program_native_call_add(ep, "replace_int", _edje_embryo_fn_replace_int);
+   embryo_program_native_call_add(ep, "fetch_int", _edje_embryo_fn_fetch_int);
+   embryo_program_native_call_add(ep, "append_str", _edje_embryo_fn_append_str);
+   embryo_program_native_call_add(ep, "prepend_str", _edje_embryo_fn_prepend_str);
+   embryo_program_native_call_add(ep, "insert_str", _edje_embryo_fn_insert_str);
+   embryo_program_native_call_add(ep, "replace_str", _edje_embryo_fn_replace_str);
+   embryo_program_native_call_add(ep, "fetch_str", _edje_embryo_fn_fetch_str);
+   embryo_program_native_call_add(ep, "append_float", _edje_embryo_fn_append_float);
+   embryo_program_native_call_add(ep, "prepend_float", _edje_embryo_fn_prepend_float);
+   embryo_program_native_call_add(ep, "insert_float", _edje_embryo_fn_insert_float);
+   embryo_program_native_call_add(ep, "replace_float", _edje_embryo_fn_replace_float);
+   embryo_program_native_call_add(ep, "fetch_float", _edje_embryo_fn_fetch_float);
+
+   embryo_program_native_call_add(ep, "timer", _edje_embryo_fn_timer);
+   embryo_program_native_call_add(ep, "cancel_timer", _edje_embryo_fn_cancel_timer);
+
+   embryo_program_native_call_add(ep, "anim", _edje_embryo_fn_anim);
+   embryo_program_native_call_add(ep, "cancel_anim", _edje_embryo_fn_cancel_anim);
+
+   embryo_program_native_call_add(ep, "emit", _edje_embryo_fn_emit);
+   embryo_program_native_call_add(ep, "get_part_id", _edje_embryo_fn_get_part_id);
+   embryo_program_native_call_add(ep, "get_image_id", _edje_embryo_fn_get_image_id);
+   embryo_program_native_call_add(ep, "get_program_id", _edje_embryo_fn_get_program_id);
+   embryo_program_native_call_add(ep, "set_state", _edje_embryo_fn_set_state);
+   embryo_program_native_call_add(ep, "get_state", _edje_embryo_fn_get_state);
+   embryo_program_native_call_add(ep, "set_tween_state", _edje_embryo_fn_set_tween_state);
+   embryo_program_native_call_add(ep, "run_program", _edje_embryo_fn_run_program);
+   embryo_program_native_call_add(ep, "get_drag_dir", _edje_embryo_fn_get_drag_dir);
+   embryo_program_native_call_add(ep, "get_drag", _edje_embryo_fn_get_drag);
+   embryo_program_native_call_add(ep, "set_drag", _edje_embryo_fn_set_drag);
+   embryo_program_native_call_add(ep, "get_drag_size", _edje_embryo_fn_get_drag_size);
+   embryo_program_native_call_add(ep, "set_drag_size", _edje_embryo_fn_set_drag_size);
+   embryo_program_native_call_add(ep, "set_text", _edje_embryo_fn_set_text);
+   embryo_program_native_call_add(ep, "get_text", _edje_embryo_fn_get_text);
+   embryo_program_native_call_add(ep, "get_min_size", _edje_embryo_fn_get_min_size);
+   embryo_program_native_call_add(ep, "get_max_size", _edje_embryo_fn_get_max_size);
+   embryo_program_native_call_add(ep, "get_color_class", _edje_embryo_fn_get_color_class);
+   embryo_program_native_call_add(ep, "set_color_class", _edje_embryo_fn_set_color_class);
+   embryo_program_native_call_add(ep, "set_text_class", _edje_embryo_fn_set_text_class);
+   embryo_program_native_call_add(ep, "get_text_class", _edje_embryo_fn_get_text_class);
+   embryo_program_native_call_add(ep, "get_drag_step", _edje_embryo_fn_get_drag_step);
+   embryo_program_native_call_add(ep, "set_drag_step", _edje_embryo_fn_set_drag_step);
+   embryo_program_native_call_add(ep, "get_drag_page", _edje_embryo_fn_get_drag_page);
+   embryo_program_native_call_add(ep, "set_drag_page", _edje_embryo_fn_set_drag_page);
+   embryo_program_native_call_add(ep, "get_mouse", _edje_embryo_fn_get_mouse);
+   embryo_program_native_call_add(ep, "get_mouse_buttons", _edje_embryo_fn_get_mouse_buttons);
+   embryo_program_native_call_add(ep, "stop_program", _edje_embryo_fn_stop_program);
+   embryo_program_native_call_add(ep, "stop_programs_on", _edje_embryo_fn_stop_programs_on);
+   embryo_program_native_call_add(ep, "set_min_size", _edje_embryo_fn_set_min_size);
+   embryo_program_native_call_add(ep, "set_max_size", _edje_embryo_fn_set_max_size);
+   embryo_program_native_call_add(ep, "play_sample", _edje_embryo_fn_play_sample);
+   embryo_program_native_call_add(ep, "play_tone", _edje_embryo_fn_play_tone);
+   embryo_program_native_call_add(ep, "send_message", _edje_embryo_fn_send_message);
+   embryo_program_native_call_add(ep, "get_geometry", _edje_embryo_fn_get_geometry);
+   embryo_program_native_call_add(ep, "custom_state", _edje_embryo_fn_custom_state);
+   embryo_program_native_call_add(ep, "set_state_val", _edje_embryo_fn_set_state_val);
+   embryo_program_native_call_add(ep, "get_state_val", _edje_embryo_fn_get_state_val);
+
+   embryo_program_native_call_add(ep, "part_swallow", _edje_embryo_fn_part_swallow);
+
+   embryo_program_native_call_add(ep, "external_param_get_int", _edje_embryo_fn_external_param_get_int);
+   embryo_program_native_call_add(ep, "external_param_set_int", _edje_embryo_fn_external_param_set_int);
+   embryo_program_native_call_add(ep, "external_param_get_float", _edje_embryo_fn_external_param_get_float);
+   embryo_program_native_call_add(ep, "external_param_set_float", _edje_embryo_fn_external_param_set_float);
+   embryo_program_native_call_add(ep, "external_param_get_strlen", _edje_embryo_fn_external_param_get_strlen);
+   embryo_program_native_call_add(ep, "external_param_get_str", _edje_embryo_fn_external_param_get_str);
+   embryo_program_native_call_add(ep, "external_param_set_str", _edje_embryo_fn_external_param_set_str);
+   embryo_program_native_call_add(ep, "external_param_get_choice_len", _edje_embryo_fn_external_param_get_choice_len);
+   embryo_program_native_call_add(ep, "external_param_get_choice", _edje_embryo_fn_external_param_get_choice);
+   embryo_program_native_call_add(ep, "external_param_set_choice", _edje_embryo_fn_external_param_set_choice);
+   embryo_program_native_call_add(ep, "external_param_get_bool", _edje_embryo_fn_external_param_get_bool);
+   embryo_program_native_call_add(ep, "external_param_set_bool", _edje_embryo_fn_external_param_set_bool);
+
+#ifdef HAVE_EPHYSICS
+   embryo_program_native_call_add(ep, "physics_impulse", _edje_embryo_fn_physics_impulse);
+   embryo_program_native_call_add(ep, "physics_torque_impulse", _edje_embryo_fn_physics_torque_impulse);
+   embryo_program_native_call_add(ep, "physics_force", _edje_embryo_fn_physics_force);
+   embryo_program_native_call_add(ep, "physics_torque", _edje_embryo_fn_physics_torque);
+   embryo_program_native_call_add(ep, "physics_clear_forces", _edje_embryo_fn_physics_clear_forces);
+   embryo_program_native_call_add(ep, "physics_get_forces", _edje_embryo_fn_physics_get_forces);
+   embryo_program_native_call_add(ep, "physics_get_torques", _edje_embryo_fn_physics_get_torques);
+   embryo_program_native_call_add(ep, "physics_set_velocity", _edje_embryo_fn_physics_set_velocity);
+   embryo_program_native_call_add(ep, "physics_get_velocity", _edje_embryo_fn_physics_get_velocity);
+   embryo_program_native_call_add(ep, "physics_set_ang_velocity", _edje_embryo_fn_physics_set_ang_velocity);
+   embryo_program_native_call_add(ep, "physics_get_ang_velocity", _edje_embryo_fn_physics_get_ang_velocity);
+   embryo_program_native_call_add(ep, "physics_stop", _edje_embryo_fn_physics_stop);
+   embryo_program_native_call_add(ep, "physics_set_rotation", _edje_embryo_fn_physics_set_rotation);
+   embryo_program_native_call_add(ep, "physics_get_rotation", _edje_embryo_fn_physics_get_rotation);
+#endif
+}
+
+void
+_edje_embryo_script_shutdown(Edje_Part_Collection *edc)
+{
+   if (!edc) return;
+   if (!edc->script) return;
+   if (embryo_program_recursion_get(edc->script) > 0) return;
+   embryo_program_free(edc->script);
+   edc->script = NULL;
+}
+
+void
+_edje_embryo_script_reset(Edje *ed)
+{
+   if (!ed) return;
+   if (!ed->collection) return;
+   if (!ed->collection->script) return;
+   if (embryo_program_recursion_get(ed->collection->script) > 0) return;
+   embryo_program_vm_reset(ed->collection->script);
+   _edje_embryo_globals_init(ed);
+}
+
+/* this may change in future - thus "test_run" is its name */
+void
+_edje_embryo_test_run(Edje *ed, const char *fname, const char *sig, const char *src)
+{
+   Embryo_Function fn;
+
+   if (!ed) return;
+   if (!ed->collection) return;
+   if (!ed->collection->script) return;
+   embryo_program_vm_push(ed->collection->script);
+   _edje_embryo_globals_init(ed);
+
+   //   _edje_embryo_script_reset(ed);
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
+   if (fn != EMBRYO_FUNCTION_NONE)
+     {
+       void *pdata;
+       int ret;
+
+       embryo_parameter_string_push(ed->collection->script, (char *)sig);
+       embryo_parameter_string_push(ed->collection->script, (char *)src);
+       pdata = embryo_program_data_get(ed->collection->script);
+       embryo_program_data_set(ed->collection->script, ed);
+       /* 5 million instructions is an arbitrary number. on my p4-2.6 here */
+       /* IF embryo is ONLY running embryo stuff and NO native calls thats */
+       /* about 0.016 seconds, and longer on slower cpu's. if a simple */
+       /* embryo script snippet hasn't managed to do its work in 5 MILLION */
+       /* embryo virtual machine instructions - something is wrong, or */
+       /* embryo is simply being mis-used. Embryo is meant to be minimal */
+       /* logic enhancment - not entire applications. this cycle count */
+       /* does NOT include time spent in native function calls, that the */
+       /* script may call to do the REAL work, so in terms of time this */
+       /* will likely end up being much longer than 0.016 seconds - more */
+       /* like 0.03 - 0.05 seconds or even more */
+       embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
+       ret = embryo_program_run(ed->collection->script, fn);
+       if (ret == EMBRYO_PROGRAM_FAIL)
+         {
+            ERR("ERROR with embryo script. "
+                 "OBJECT NAME: '%s', "
+                 "OBJECT FILE: '%s', "
+                 "ENTRY POINT: '%s', "
+                 "SIGNAL: '%s', "
+                 "SOURCE: '%s', "
+                "ERROR: '%s'",
+                 ed->collection->part,
+                 ed->file->path,
+                 fname,
+                 sig, src,
+                embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
+         }
+       else if (ret == EMBRYO_PROGRAM_TOOLONG)
+         {
+            ERR("ERROR with embryo script. "
+                 "OBJECT NAME: '%s', "
+                 "OBJECT FILE: '%s', "
+                 "ENTRY POINT: '%s', "
+                 "SIGNAL: '%s', "
+                 "SOURCE: '%s', "
+                "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
+                 ed->collection->part,
+                 ed->file->path,
+                fname,
+                 sig, src,
+                embryo_program_max_cycle_run_get(ed->collection->script));
+         }
+       embryo_program_data_set(ed->collection->script, pdata);
+     }
+   embryo_program_vm_pop(ed->collection->script);
+}
+
+void
+_edje_embryo_globals_init(Edje *ed)
+{
+   int n, i;
+   Embryo_Program *ep;
+
+   ep = ed->collection->script;
+   n = embryo_program_variable_count_get(ep);
+   for (i = 0; i < n; i++)
+     {
+       Embryo_Cell cell, *cptr;
+
+       cell = embryo_program_variable_get(ep, i);
+       if (cell != EMBRYO_CELL_NONE)
+         {
+            cptr = embryo_data_address_get(ep, cell);
+            if (cptr) *cptr = EDJE_VAR_MAGIC_BASE + i;
+         }
+     }
+}
diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
new file mode 100644 (file)
index 0000000..fe29d23
--- /dev/null
@@ -0,0 +1,3908 @@
+#include "edje_private.h"
+
+#ifdef HAVE_ECORE_IMF
+static Eina_Bool _edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
+static void      _edje_entry_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info);
+static void      _edje_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx, void *event_info);
+static void      _edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx, void *event);
+#endif
+
+typedef struct _Entry Entry;
+typedef struct _Sel Sel;
+typedef struct _Anchor Anchor;
+
+static void _edje_entry_imf_cursor_location_set(Entry *en);
+static void _edje_entry_imf_cursor_info_set(Entry *en);
+
+struct _Entry
+{
+   Edje_Real_Part *rp;
+   Evas_Object *cursor_bg;
+   Evas_Object *cursor_fg;
+   Evas_Textblock_Cursor *cursor;
+   Evas_Textblock_Cursor *sel_start, *sel_end;
+   Evas_Textblock_Cursor *cursor_user, *cursor_user_extra;
+   Evas_Textblock_Cursor *preedit_start, *preedit_end;
+   Ecore_Timer *pw_timer;
+   Eina_List *sel;
+   Eina_List *anchors;
+   Eina_List *anchorlist;
+   Eina_List *itemlist;
+   Eina_List *seq;
+   char *selection;
+   Edje_Input_Panel_Lang input_panel_lang;
+   Eina_Bool composing : 1;
+   Eina_Bool selecting : 1;
+   Eina_Bool have_selection : 1;
+   Eina_Bool select_allow : 1;
+   Eina_Bool select_mod_start : 1;
+   Eina_Bool select_mod_end : 1;
+   Eina_Bool had_sel : 1;
+   Eina_Bool input_panel_enable : 1;
+   Eina_Bool prediction_allow : 1;
+
+#ifdef HAVE_ECORE_IMF
+   Eina_Bool have_preedit : 1;
+   Ecore_IMF_Context *imf_context;
+#endif
+};
+
+struct _Sel
+{
+   Evas_Textblock_Rectangle rect;
+   Evas_Object *obj_fg, *obj_bg, *obj, *sobj;
+};
+
+struct _Anchor
+{
+   Entry *en;
+   char *name;
+   Evas_Textblock_Cursor *start, *end;
+   Eina_List *sel;
+   Eina_Bool item : 1;
+};
+
+#ifdef HAVE_ECORE_IMF
+static void
+_preedit_clear(Entry *en)
+{
+   if (en->preedit_start)
+     {
+        evas_textblock_cursor_free(en->preedit_start);
+        en->preedit_start = NULL;
+     }
+
+   if (en->preedit_end)
+     {
+        evas_textblock_cursor_free(en->preedit_end);
+        en->preedit_end = NULL;
+     }
+
+   en->have_preedit = EINA_FALSE;
+}
+
+static void
+_preedit_del(Entry *en)
+{
+   if (!en || !en->have_preedit) return;
+   if (!en->preedit_start || !en->preedit_end) return;
+   if (!evas_textblock_cursor_compare(en->preedit_start, en->preedit_end)) return;
+
+   /* delete the preedit characters */
+   evas_textblock_cursor_range_delete(en->preedit_start, en->preedit_end);
+}
+
+static void
+_edje_entry_focus_in_cb(void *data, Evas_Object *o EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   Edje_Real_Part *rp;
+   Entry *en;
+
+   rp = data;
+   if ((!rp) || (rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if (!rp->typedata.text->entry_data || !rp->edje || !rp->edje->obj) return;
+
+   en = rp->typedata.text->entry_data;
+   if (!en || !en->imf_context) return;
+
+   if (evas_object_focus_get(rp->edje->obj))
+     {
+        ecore_imf_context_reset(en->imf_context);
+        ecore_imf_context_focus_in(en->imf_context);
+        _edje_entry_imf_cursor_info_set(en);
+     }
+}
+
+static void
+_edje_entry_focus_out_cb(void *data, Evas_Object *o EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   Edje_Real_Part *rp;
+   Entry *en;
+
+   rp = data;
+   if ((!rp) || (rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if (!rp->typedata.text->entry_data) return;
+
+   en = rp->typedata.text->entry_data;
+   if (!en || !en->imf_context) return;
+
+   ecore_imf_context_reset(en->imf_context);
+   ecore_imf_context_focus_out(en->imf_context);
+}
+#endif
+
+static void
+_edje_focus_in_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje *ed = data;
+#ifdef HAVE_ECORE_IMF
+   Edje_Real_Part *rp;
+   Entry *en;
+#endif
+
+   _edje_emit(ed, "focus,in", "");
+#ifdef HAVE_ECORE_IMF
+   rp = ed->focused_part;
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
+     return;
+
+   if (!en->imf_context) return;
+
+   ecore_imf_context_reset(en->imf_context);
+   ecore_imf_context_focus_in(en->imf_context);
+   _edje_entry_imf_cursor_info_set(en);
+#endif
+}
+
+static void
+_edje_focus_out_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje *ed = data;
+#ifdef HAVE_ECORE_IMF
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en;
+#endif
+
+   _edje_emit(ed, "focus,out", "");
+
+#ifdef HAVE_ECORE_IMF
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
+     return;
+
+   if (!en->imf_context) return;
+
+   ecore_imf_context_reset(en->imf_context);
+   ecore_imf_context_focus_out(en->imf_context);
+#endif
+}
+
+static void
+_text_filter_markup_prepend_internal(Entry *en, Evas_Textblock_Cursor *c, char *text)
+{
+   Edje_Markup_Filter_Callback *cb;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(en->rp->edje->markup_filter_callbacks, l, cb)
+     {
+        if (!strcmp(cb->part, en->rp->part->name))
+          {
+             cb->func(cb->data, en->rp->edje->obj, cb->part, &text);
+             if (!text) break;
+          }
+     }
+   if (text)
+     {
+        evas_object_textblock_text_markup_prepend(c, text);
+        free(text);
+     }
+}
+
+static void
+_text_filter_text_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
+{
+   char *text2;
+   Edje_Text_Insert_Filter_Callback *cb;
+   Eina_List *l;
+
+   EINA_SAFETY_ON_NULL_RETURN(text);
+   text2 = strdup(text);
+   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
+     {
+        if (!strcmp(cb->part, en->rp->part->name))
+          {
+             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_TEXT, &text2);
+             if (!text2) break;
+          }
+     }
+   if (text2)
+     {
+        char *markup_text;
+        markup_text = evas_textblock_text_utf8_to_markup(NULL, text2);
+        free(text2);
+        if (markup_text)
+          _text_filter_markup_prepend_internal(en, c, markup_text);
+     }
+}
+
+static void
+_text_filter_format_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
+{
+   char *text2;
+   Edje_Text_Insert_Filter_Callback *cb;
+   Eina_List *l;
+
+   EINA_SAFETY_ON_NULL_RETURN(text);
+   text2 = strdup(text);
+   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
+     {
+        if (!strcmp(cb->part, en->rp->part->name))
+          {
+             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_FORMAT, &text2);
+             if (!text2) break;
+          }
+     }
+   if (text2)
+     {
+        char *s, *markup_text;
+
+        s = text2;
+        if (*s == '+')
+          {
+             s++;
+             while (*s == ' ') s++;
+             if (!s)
+               {
+                  free(text2);
+                  return;
+               }
+             markup_text = (char*) malloc(strlen(s) + 3);
+             if (markup_text)
+               {
+                  *(markup_text) = '<';
+                  strncpy((markup_text + 1), s, strlen(s));
+                  *(markup_text + strlen(s) + 1) = '>';
+                  *(markup_text + strlen(s) + 2) = '\0';
+               }
+          }
+        else if (s[0] == '-')
+          {
+             s++;
+             while (*s == ' ') s++;
+             if (!s)
+               {
+                  free(text2);
+                  return;
+               }
+             markup_text = (char*) malloc(strlen(s) + 4);
+             if (markup_text)
+               {
+                  *(markup_text) = '<';
+                  *(markup_text + 1) = '/';
+                  strncpy((markup_text + 2), s, strlen(s));
+                  *(markup_text + strlen(s) + 2) = '>';
+                  *(markup_text + strlen(s) + 3) = '\0';
+               }
+          }
+        else
+          {
+             markup_text = (char*) malloc(strlen(s) + 4);
+             if (markup_text)
+               {
+                  *(markup_text) = '<';
+                  strncpy((markup_text + 1), s, strlen(s));
+                  *(markup_text + strlen(s) + 1) = '/';
+                  *(markup_text + strlen(s) + 2) = '>';
+                  *(markup_text + strlen(s) + 3) = '\0';
+               }
+          }
+        free(text2);
+        if (markup_text)
+          _text_filter_markup_prepend_internal(en, c, markup_text);
+     }
+}
+
+static void
+_text_filter_markup_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text)
+{
+   char *text2;
+   Edje_Text_Insert_Filter_Callback *cb;
+   Eina_List *l;
+
+   EINA_SAFETY_ON_NULL_RETURN(text);
+   text2 = strdup(text);
+   EINA_LIST_FOREACH(en->rp->edje->text_insert_filter_callbacks, l, cb)
+     {
+        if (!strcmp(cb->part, en->rp->part->name))
+          {
+             cb->func(cb->data, en->rp->edje->obj, cb->part, EDJE_TEXT_FILTER_MARKUP, &text2);
+             if (!text2) break;
+          }
+     }
+   if (text2)
+     _text_filter_markup_prepend_internal(en, c, text2);
+}
+
+static void
+_curs_update_from_curs(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED, Entry *en, Evas_Coord *cx, Evas_Coord *cy)
+{
+   Evas_Coord cw, ch;
+   Evas_Textblock_Cursor_Type cur_type;
+   if (c != en->cursor) return;
+   switch (en->rp->part->cursor_mode)
+     {
+      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
+         break;
+      case EDJE_ENTRY_CURSOR_MODE_UNDER:
+         /* no break for a reason */
+      default:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
+     }
+   evas_textblock_cursor_geometry_get(c, cx, cy, &cw, &ch, NULL, cur_type);
+   *cx += (cw / 2);
+   *cy += (ch / 2);
+}
+
+static int
+_curs_line_last_get(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en EINA_UNUSED)
+{
+   Evas_Textblock_Cursor *cc;
+   int ln;
+
+   cc = evas_object_textblock_cursor_new(o);
+   evas_textblock_cursor_paragraph_last(cc);
+   ln = evas_textblock_cursor_line_geometry_get(cc, NULL, NULL, NULL, NULL);
+   evas_textblock_cursor_free(cc);
+   return ln;
+}
+
+static void
+_curs_lin_start(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED,
+                Entry *en EINA_UNUSED)
+{
+   evas_textblock_cursor_line_char_first(c);
+}
+
+static void
+_curs_lin_end(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED,
+              Entry *en EINA_UNUSED)
+{
+   evas_textblock_cursor_line_char_last(c);
+}
+
+static void
+_curs_start(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED,
+            Entry *en EINA_UNUSED)
+{
+   evas_textblock_cursor_paragraph_first(c);
+}
+
+static void
+_curs_end(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED, Entry *en EINA_UNUSED)
+{
+   evas_textblock_cursor_paragraph_last(c);
+}
+
+static void
+_curs_jump_line(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int ln)
+{
+   Evas_Coord cx, cy;
+   Evas_Coord lx, ly, lw, lh;
+   int last = _curs_line_last_get(c, o, en);
+
+   if (ln < 0) ln = 0;
+   else
+     {
+        if (ln > last) ln = last;
+     }
+
+   _curs_update_from_curs(c, o, en, &cx, &cy);
+
+   if (!evas_object_textblock_line_number_geometry_get(o, ln, &lx, &ly, &lw, &lh))
+     return;
+   if (evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
+     return;
+   evas_textblock_cursor_line_set(c, ln);
+   if (cx < (lx + (lw / 2)))
+     {
+        if (ln == last) _curs_end(c, o, en);
+        _curs_lin_start(c, o, en);
+     }
+   else
+     {
+        if (ln == last)
+          _curs_end(c, o, en);
+        else
+          _curs_lin_end(c, o, en);
+     }
+}
+
+static void
+_curs_jump_line_by(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int by)
+{
+   int ln;
+
+   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL) + by;
+   _curs_jump_line(c, o, en, ln);
+}
+
+static void
+_curs_up(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   _curs_jump_line_by(c, o, en, -1);
+}
+
+static void
+_curs_down(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   _curs_jump_line_by(c, o, en, 1);
+}
+
+static void
+_sel_start(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   if (en->sel_start) return;
+   en->sel_start = evas_object_textblock_cursor_new(o);
+   evas_textblock_cursor_copy(c, en->sel_start);
+   en->sel_end = evas_object_textblock_cursor_new(o);
+   evas_textblock_cursor_copy(c, en->sel_end);
+
+   en->have_selection = EINA_FALSE;
+   if (en->selection)
+     {
+        free(en->selection);
+        en->selection = NULL;
+     }
+}
+
+static void
+_sel_enable(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o EINA_UNUSED, Entry *en)
+{
+   if (en->have_selection) return;
+   en->have_selection = EINA_TRUE;
+   if (en->selection)
+     {
+        free(en->selection);
+        en->selection = NULL;
+     }
+   _edje_emit(en->rp->edje, "selection,start", en->rp->part->name);
+}
+
+static void
+_sel_extend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   if (!en->sel_end) return;
+   _edje_entry_imf_context_reset(en->rp);
+   _sel_enable(c, o, en);
+   if (!evas_textblock_cursor_compare(c, en->sel_end)) return;
+   evas_textblock_cursor_copy(c, en->sel_end);
+   if (en->selection)
+     {
+        free(en->selection);
+        en->selection = NULL;
+     }
+   _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name);
+}
+
+static void
+_sel_preextend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   if (!en->sel_end) return;
+   _edje_entry_imf_context_reset(en->rp);
+   _sel_enable(c, o, en);
+   if (!evas_textblock_cursor_compare(c, en->sel_start)) return;
+   evas_textblock_cursor_copy(c, en->sel_start);
+   if (en->selection)
+     {
+        free(en->selection);
+        en->selection = NULL;
+     }
+   _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name);
+}
+
+static void
+_sel_clear(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o EINA_UNUSED, Entry *en)
+{
+   en->had_sel = EINA_FALSE;
+   if (en->sel_start)
+     {
+        evas_textblock_cursor_free(en->sel_start);
+        evas_textblock_cursor_free(en->sel_end);
+        en->sel_start = NULL;
+        en->sel_end = NULL;
+     }
+   if (en->selection)
+     {
+        free(en->selection);
+        en->selection = NULL;
+     }
+   while (en->sel)
+     {
+        Sel *sel;
+
+        sel = en->sel->data;
+        if (sel->obj_bg) evas_object_del(sel->obj_bg);
+        if (sel->obj_fg) evas_object_del(sel->obj_fg);
+        free(sel);
+        en->sel = eina_list_remove_list(en->sel, en->sel);
+     }
+   if (en->have_selection)
+     {
+        en->have_selection = EINA_FALSE;
+        _edje_emit(en->rp->edje, "selection,cleared", en->rp->part->name);
+     }
+}
+
+static void
+_sel_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
+{
+   Eina_List *range = NULL, *l;
+   Sel *sel;
+   Evas_Coord x, y, w, h;
+   Evas_Object *smart, *clip;
+
+   smart = evas_object_smart_parent_get(o);
+   clip = evas_object_clip_get(o);
+   if (en->sel_start)
+     range = evas_textblock_cursor_range_geometry_get(en->sel_start, en->sel_end);
+   else
+     return;
+   if (eina_list_count(range) != eina_list_count(en->sel))
+     {
+        while (en->sel)
+          {
+             sel = en->sel->data;
+             if (sel->obj_bg) evas_object_del(sel->obj_bg);
+             if (sel->obj_fg) evas_object_del(sel->obj_fg);
+             free(sel);
+             en->sel = eina_list_remove_list(en->sel, en->sel);
+          }
+        if (en->have_selection)
+          {
+             for (l = range; l; l = eina_list_next(l))
+               {
+                  Evas_Object *ob;
+
+                  sel = calloc(1, sizeof(Sel));
+                  en->sel = eina_list_append(en->sel, sel);
+                  ob = edje_object_add(en->rp->edje->base->evas);
+                  edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source);
+                  evas_object_smart_member_add(ob, smart);
+                  evas_object_stack_below(ob, o);
+                  evas_object_clip_set(ob, clip);
+                  evas_object_pass_events_set(ob, EINA_TRUE);
+                  evas_object_show(ob);
+                  sel->obj_bg = ob;
+                  _edje_subobj_register(en->rp->edje, sel->obj_bg);
+
+                  ob = edje_object_add(en->rp->edje->base->evas);
+                  edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
+                  evas_object_smart_member_add(ob, smart);
+                  evas_object_stack_above(ob, o);
+                  evas_object_clip_set(ob, clip);
+                  evas_object_pass_events_set(ob, EINA_TRUE);
+                  evas_object_show(ob);
+                  sel->obj_fg = ob;
+                  _edje_subobj_register(en->rp->edje, sel->obj_fg);
+               }
+          }
+     }
+   x = y = w = h = -1;
+   evas_object_geometry_get(o, &x, &y, &w, &h);
+   if (en->have_selection)
+     {
+        EINA_LIST_FOREACH(en->sel, l, sel)
+          {
+             Evas_Textblock_Rectangle *r;
+
+             r = range->data;
+             if (sel->obj_bg)
+               {
+                  evas_object_move(sel->obj_bg, x + r->x, y + r->y);
+                  evas_object_resize(sel->obj_bg, r->w, r->h);
+               }
+             if (sel->obj_fg)
+               {
+                  evas_object_move(sel->obj_fg, x + r->x, y + r->y);
+                  evas_object_resize(sel->obj_fg, r->w, r->h);
+               }
+             *(&(sel->rect)) = *r;
+             range = eina_list_remove_list(range, range);
+             free(r);
+          }
+     }
+   else
+     {
+        while (range)
+          {
+             free(range->data);
+             range = eina_list_remove_list(range, range);
+          }
+     }
+}
+
+static void
+_edje_anchor_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Anchor *an = data;
+   Evas_Event_Mouse_Down *ev = event_info;
+   Edje_Real_Part *rp = an->en->rp;
+   char *buf, *n;
+   size_t len;
+   int ignored;
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
+       (en->select_allow))
+     return;
+   ignored = rp->part->ignore_flags & ev->event_flags;
+   if ((!ev->event_flags) || (!ignored))
+     {
+        n = an->name;
+        if (!n) n = "";
+        len = 200 + strlen(n);
+        buf = alloca(len);
+        if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
+          snprintf(buf, len, "anchor,mouse,down,%i,%s,triple", ev->button, n);
+        else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
+          snprintf(buf, len, "anchor,mouse,down,%i,%s,double", ev->button, n);
+        else
+          snprintf(buf, len, "anchor,mouse,down,%i,%s", ev->button, n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+}
+
+static void
+_edje_anchor_mouse_up_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Anchor *an = data;
+   Evas_Event_Mouse_Up *ev = event_info;
+   Edje_Real_Part *rp = an->en->rp;
+   char *buf, *n;
+   size_t len;
+   int ignored;
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   ignored = rp->part->ignore_flags & ev->event_flags;
+   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
+       (en->select_allow))
+     return;
+   n = an->name;
+   if (!n) n = "";
+   len = 200 + strlen(n);
+   buf = alloca(len);
+   if ((!ev->event_flags) || (!ignored))
+     {
+        snprintf(buf, len, "anchor,mouse,up,%i,%s", ev->button, n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+   if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
+     {
+        snprintf(buf, len, "anchor,mouse,clicked,%i,%s", ev->button, n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+}
+
+static void
+_edje_anchor_mouse_move_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Anchor *an = data;
+   Evas_Event_Mouse_Move *ev = event_info;
+   Edje_Real_Part *rp = an->en->rp;
+   char *buf, *n;
+   size_t len;
+   int ignored;
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
+       (en->select_allow))
+     return;
+   ignored = rp->part->ignore_flags & ev->event_flags;
+   if ((!ev->event_flags) || (!ignored))
+     {
+        n = an->name;
+        if (!n) n = "";
+        len = 200 + strlen(n);
+        buf = alloca(len);
+        snprintf(buf, len, "anchor,mouse,move,%s", n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+}
+
+static void
+_edje_anchor_mouse_in_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Anchor *an = data;
+   Evas_Event_Mouse_In *ev = event_info;
+   Edje_Real_Part *rp = an->en->rp;
+   char *buf, *n;
+   size_t len;
+   int ignored;
+
+   ignored = rp->part->ignore_flags & ev->event_flags;
+   if ((!ev->event_flags) || (!ignored))
+     {
+        n = an->name;
+        if (!n) n = "";
+        len = 200 + strlen(n);
+        buf = alloca(len);
+        snprintf(buf, len, "anchor,mouse,in,%s", n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+}
+
+static void
+_edje_anchor_mouse_out_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Anchor *an = data;
+   Evas_Event_Mouse_Out *ev = event_info;
+   Edje_Real_Part *rp = an->en->rp;
+   char *buf, *n;
+   size_t len;
+   int ignored;
+
+   ignored = rp->part->ignore_flags & ev->event_flags;
+   if ((!ev->event_flags) || (!ignored))
+     {
+        n = an->name;
+        if (!n) n = "";
+        len = 200 + strlen(n);
+        buf = alloca(len);
+        snprintf(buf, len, "anchor,mouse,out,%s", n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
+}
+
+static void
+_anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
+{
+   Eina_List *l, *ll, *range = NULL;
+   Evas_Coord x, y, w, h;
+   Evas_Object *smart, *clip;
+   Sel *sel;
+   Anchor *an;
+
+   smart = evas_object_smart_parent_get(o);
+   clip = evas_object_clip_get(o);
+   x = y = w = h = -1;
+   evas_object_geometry_get(o, &x, &y, &w, &h);
+   EINA_LIST_FOREACH(en->anchors, l, an)
+     {
+        // for item anchors
+        if (an->item)
+          {
+             Evas_Object *ob;
+
+             if (!an->sel)
+               {
+                  while (an->sel)
+                    {
+                       sel = an->sel->data;
+                       if (sel->obj_bg) evas_object_del(sel->obj_bg);
+                       if (sel->obj_fg) evas_object_del(sel->obj_fg);
+                       if (sel->obj) evas_object_del(sel->obj);
+                       free(sel);
+                       an->sel = eina_list_remove_list(an->sel, an->sel);
+                    }
+
+                  sel = calloc(1, sizeof(Sel));
+                  an->sel = eina_list_append(an->sel, sel);
+
+                  if (en->rp->edje->item_provider.func)
+                    {
+                       ob = en->rp->edje->item_provider.func
+                         (en->rp->edje->item_provider.data, smart,
+                             en->rp->part->name, an->name);
+                       evas_object_smart_member_add(ob, smart);
+                       evas_object_stack_above(ob, o);
+                       evas_object_clip_set(ob, clip);
+                       evas_object_pass_events_set(ob, EINA_TRUE);
+                       evas_object_show(ob);
+                       sel->obj = ob;
+                    }
+               }
+          }
+        // for link anchors
+        else
+          {
+             range =
+               evas_textblock_cursor_range_geometry_get(an->start, an->end);
+             if (eina_list_count(range) != eina_list_count(an->sel))
+               {
+                  while (an->sel)
+                    {
+                       sel = an->sel->data;
+                       if (sel->obj_bg) evas_object_del(sel->obj_bg);
+                       if (sel->obj_fg) evas_object_del(sel->obj_fg);
+                       if (sel->obj) evas_object_del(sel->obj);
+                       free(sel);
+                       an->sel = eina_list_remove_list(an->sel, an->sel);
+                    }
+                  for (ll = range; ll; ll = eina_list_next(ll))
+                    {
+                       Evas_Object *ob;
+
+                       sel = calloc(1, sizeof(Sel));
+                       an->sel = eina_list_append(an->sel, sel);
+                       ob = edje_object_add(en->rp->edje->base->evas);
+                       edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source5);
+                       evas_object_smart_member_add(ob, smart);
+                       evas_object_stack_below(ob, o);
+                       evas_object_clip_set(ob, clip);
+                       evas_object_pass_events_set(ob, EINA_TRUE);
+                       evas_object_show(ob);
+                       sel->obj_bg = ob;
+                       _edje_subobj_register(en->rp->edje, sel->obj_bg);
+
+                       ob = edje_object_add(en->rp->edje->base->evas);
+                       edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source6);
+                       evas_object_smart_member_add(ob, smart);
+                       evas_object_stack_above(ob, o);
+                       evas_object_clip_set(ob, clip);
+                       evas_object_pass_events_set(ob, EINA_TRUE);
+                       evas_object_show(ob);
+                       sel->obj_fg = ob;
+                       _edje_subobj_register(en->rp->edje, sel->obj_fg);
+
+                       ob = evas_object_rectangle_add(en->rp->edje->base->evas);
+                       evas_object_color_set(ob, 0, 0, 0, 0);
+                       evas_object_smart_member_add(ob, smart);
+                       evas_object_stack_above(ob, o);
+                       evas_object_clip_set(ob, clip);
+                       evas_object_repeat_events_set(ob, EINA_TRUE);
+                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, _edje_anchor_mouse_down_cb, an);
+                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_UP, _edje_anchor_mouse_up_cb, an);
+                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_MOVE, _edje_anchor_mouse_move_cb, an);
+                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_IN, _edje_anchor_mouse_in_cb, an);
+                       evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_OUT, _edje_anchor_mouse_out_cb, an);
+                       evas_object_show(ob);
+                       sel->obj = ob;
+                    }
+               }
+          }
+        EINA_LIST_FOREACH(an->sel, ll, sel)
+          {
+             if (an->item)
+               {
+                  Evas_Coord cx, cy, cw, ch;
+
+                  if (!evas_textblock_cursor_format_item_geometry_get
+                      (an->start, &cx, &cy, &cw, &ch))
+                    continue;
+                  evas_object_move(sel->obj, x + cx, y + cy);
+                  evas_object_resize(sel->obj, cw, ch);
+               }
+             else
+               {
+                  Evas_Textblock_Rectangle *r;
+
+                  r = range->data;
+                  *(&(sel->rect)) = *r;
+                  if (sel->obj_bg)
+                    {
+                       evas_object_move(sel->obj_bg, x + r->x, y + r->y);
+                       evas_object_resize(sel->obj_bg, r->w, r->h);
+                    }
+                  if (sel->obj_fg)
+                    {
+                       evas_object_move(sel->obj_fg, x + r->x, y + r->y);
+                       evas_object_resize(sel->obj_fg, r->w, r->h);
+                    }
+                  if (sel->obj)
+                    {
+                       evas_object_move(sel->obj, x + r->x, y + r->y);
+                       evas_object_resize(sel->obj, r->w, r->h);
+                    }
+                  range = eina_list_remove_list(range, range);
+                  free(r);
+               }
+          }
+     }
+}
+
+static void
+_anchors_clear(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o EINA_UNUSED, Entry *en)
+{
+   while (en->anchorlist)
+     {
+        free(en->anchorlist->data);
+        en->anchorlist = eina_list_remove_list(en->anchorlist, en->anchorlist);
+     }
+   while (en->itemlist)
+     {
+        free(en->itemlist->data);
+        en->itemlist = eina_list_remove_list(en->itemlist, en->itemlist);
+     }
+   while (en->anchors)
+     {
+        Anchor *an = en->anchors->data;
+
+        evas_textblock_cursor_free(an->start);
+        evas_textblock_cursor_free(an->end);
+        while (an->sel)
+          {
+             Sel *sel = an->sel->data;
+             if (sel->obj_bg) evas_object_del(sel->obj_bg);
+             if (sel->obj_fg) evas_object_del(sel->obj_fg);
+             if (sel->obj) evas_object_del(sel->obj);
+             free(sel);
+             an->sel = eina_list_remove_list(an->sel, an->sel);
+          }
+        free(an->name);
+        free(an);
+        en->anchors = eina_list_remove_list(en->anchors, en->anchors);
+     }
+}
+
+static void
+_anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+{
+   const Eina_List *anchors_a, *anchors_item;
+   Anchor *an = NULL;
+   _anchors_clear(c, o, en);
+
+   anchors_a = evas_textblock_node_format_list_get(o, "a");
+   anchors_item = evas_textblock_node_format_list_get(o, "item");
+
+   if (anchors_a)
+     {
+        const Evas_Object_Textblock_Node_Format *node;
+        const Eina_List *itr;
+        EINA_LIST_FOREACH(anchors_a, itr, node)
+          {
+             const char *s = evas_textblock_node_format_text_get(node);
+             char *p;
+             an = calloc(1, sizeof(Anchor));
+             if (!an)
+               break;
+
+             an->en = en;
+             p = strstr(s, "href=");
+             if (p)
+               {
+                  an->name = strdup(p + 5);
+               }
+             en->anchors = eina_list_append(en->anchors, an);
+             an->start = evas_object_textblock_cursor_new(o);
+             an->end = evas_object_textblock_cursor_new(o);
+             evas_textblock_cursor_at_format_set(an->start, node);
+             evas_textblock_cursor_copy(an->start, an->end);
+
+             /* Close the anchor, if the anchor was without text,
+              * free it as well */
+             node = evas_textblock_node_format_next_get(node);
+             for (; node; node = evas_textblock_node_format_next_get(node))
+               {
+                  s = evas_textblock_node_format_text_get(node);
+                  if ((!strcmp(s, "- a")) || (!strcmp(s, "-a")))
+                    break;
+               }
+
+             if (node)
+               {
+                  evas_textblock_cursor_at_format_set(an->end, node);
+               }
+             else if (!evas_textblock_cursor_compare(an->start, an->end))
+               {
+                  if (an->name) free(an->name);
+                  evas_textblock_cursor_free(an->start);
+                  evas_textblock_cursor_free(an->end);
+                  en->anchors = eina_list_remove(en->anchors, an);
+                  free(an);
+               }
+             an = NULL;
+          }
+     }
+
+   if (anchors_item)
+     {
+        const Evas_Object_Textblock_Node_Format *node;
+        const Eina_List *itr;
+        EINA_LIST_FOREACH(anchors_item, itr, node)
+          {
+             const char *s = evas_textblock_node_format_text_get(node);
+             char *p;
+             an = calloc(1, sizeof(Anchor));
+             if (!an)
+               break;
+
+             an->en = en;
+             an->item = 1;
+             p = strstr(s, "href=");
+             if (p)
+               {
+                  an->name = strdup(p + 5);
+               }
+             en->anchors = eina_list_append(en->anchors, an);
+             an->start = evas_object_textblock_cursor_new(o);
+             an->end = evas_object_textblock_cursor_new(o);
+             evas_textblock_cursor_at_format_set(an->start, node);
+             evas_textblock_cursor_copy(an->start, an->end);
+             /* Although needed in textblock, don't bother with finding the end
+              * here cause it doesn't really matter. */
+          }
+     }
+}
+
+static void
+_free_entry_change_info(void *_info)
+{
+   Edje_Entry_Change_Info *info = (Edje_Entry_Change_Info *) _info;
+   if (info->insert)
+     {
+        eina_stringshare_del(info->change.insert.content);
+     }
+   else
+     {
+        eina_stringshare_del(info->change.del.content);
+     }
+   free(info);
+}
+
+static void
+_range_del_emit(Edje *ed, Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o EINA_UNUSED, Entry *en)
+{
+   size_t start, end;
+   char *tmp;
+   Edje_Entry_Change_Info *info;
+
+   start = evas_textblock_cursor_pos_get(en->sel_start);
+   end = evas_textblock_cursor_pos_get(en->sel_end);
+   if (start == end)
+      goto noop;
+
+   info = calloc(1, sizeof(*info));
+   info->insert = EINA_FALSE;
+   info->change.del.start = start;
+   info->change.del.end = end;
+
+   tmp = evas_textblock_cursor_range_text_get(en->sel_start, en->sel_end, EVAS_TEXTBLOCK_TEXT_MARKUP);
+   info->change.del.content = eina_stringshare_add(tmp);
+   if (tmp) free(tmp);
+   evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
+   _edje_emit(ed, "entry,changed", en->rp->part->name);
+   _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info,
+                   _free_entry_change_info);
+noop:
+   _sel_clear(en->cursor, en->rp->object, en);
+}
+
+static void
+_range_del(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o EINA_UNUSED, Entry *en)
+{
+   evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
+   _sel_clear(en->cursor, en->rp->object, en);
+}
+
+static void
+_delete_emit(Edje *ed, Evas_Textblock_Cursor *c, Entry *en, size_t pos,
+             Eina_Bool backspace)
+{
+   if (!evas_textblock_cursor_char_next(c))
+     {
+        return;
+     }
+   evas_textblock_cursor_char_prev(c);
+
+   Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+   char *tmp = evas_textblock_cursor_content_get(c);
+
+   info->insert = EINA_FALSE;
+   if (backspace)
+     {
+        info->change.del.start = pos - 1;
+        info->change.del.end = pos;
+     }
+   else
+     {
+        info->change.del.start = pos + 1;
+        info->change.del.end = pos;
+     }
+
+   info->change.del.content = eina_stringshare_add(tmp);
+   if (tmp) free(tmp);
+
+   evas_textblock_cursor_char_delete(c);
+   _edje_emit(ed, "entry,changed", en->rp->part->name);
+   _edje_emit_full(ed, "entry,changed,user", en->rp->part->name,
+                   info, _free_entry_change_info);
+}
+
+static void
+_edje_entry_hide_visible_password(Edje_Real_Part *rp)
+{
+   const Evas_Object_Textblock_Node_Format *node;
+   node = evas_textblock_node_format_first_get(rp->object);
+   for (; node; node = evas_textblock_node_format_next_get(node))
+     {
+        const char *text = evas_textblock_node_format_text_get(node);
+        if (text)
+          {
+             if (!strcmp(text, "+ password=off"))
+               {
+                  evas_textblock_node_format_remove_pair(rp->object,
+                                                         (Evas_Object_Textblock_Node_Format *) node);
+                  break;
+               }
+          }
+     }
+   _edje_entry_real_part_configure(rp);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+}
+
+static Eina_Bool
+_password_timer_cb(void *data)
+{
+   Entry *en = (Entry *)data;
+   _edje_entry_hide_visible_password(en->rp);
+   en->pw_timer = NULL;
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool
+_is_modifier(const char *key)
+{
+   if ((!strncmp(key, "Shift", 5)) ||
+       (!strncmp(key, "Control", 7)) ||
+       (!strncmp(key, "Alt", 3)) ||
+       (!strncmp(key, "Meta", 4)) ||
+       (!strncmp(key, "Super", 5)) ||
+       (!strncmp(key, "Hyper", 5)) ||
+       (!strcmp(key, "Scroll_Lock")) ||
+       (!strcmp(key, "Num_Lock")) ||
+       (!strcmp(key, "Caps_Lock")))
+     return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+static void
+_compose_seq_reset(Entry *en)
+{
+   char *str;
+
+   EINA_LIST_FREE(en->seq, str) eina_stringshare_del(str);
+   en->composing = EINA_FALSE;
+}
+
+static void
+_edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Edje *ed = data;
+   Evas_Event_Key_Down *ev = event_info;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en;
+   Eina_Bool control, alt, shift;
+   Eina_Bool multiline;
+   Eina_Bool cursor_changed;
+   int old_cur_pos;
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
+     return;
+   if (!ev->keyname) return;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     {
+        Ecore_IMF_Event_Key_Down ecore_ev;
+        ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev);
+        if (!en->composing)
+          {
+             if (ecore_imf_context_filter_event(en->imf_context,
+                                                ECORE_IMF_EVENT_KEY_DOWN,
+                                                (Ecore_IMF_Event *)&ecore_ev))
+               return;
+          }
+     }
+#endif
+
+   if ((!strcmp(ev->keyname, "Escape")) ||
+       (!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter")))
+     _edje_entry_imf_context_reset(rp);
+
+   old_cur_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+   control = evas_key_modifier_is_set(ev->modifiers, "Control");
+   alt = evas_key_modifier_is_set(ev->modifiers, "Alt");
+   shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
+   multiline = rp->part->multiline;
+   cursor_changed = EINA_FALSE;
+   if (!strcmp(ev->keyname, "Escape"))
+     {
+        _compose_seq_reset(en);
+        // dead keys here. Escape for now (should emit these)
+        _edje_emit(ed, "entry,key,escape", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Up") ||
+            (!strcmp(ev->keyname, "KP_Up") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (multiline)
+          {
+             if (en->select_allow)
+               {
+                  if (shift) _sel_start(en->cursor, rp->object, en);
+                  else _sel_clear(en->cursor, rp->object, en);
+               }
+             _curs_up(en->cursor, rp->object, en);
+             if (en->select_allow)
+               {
+                  if (shift) _sel_extend(en->cursor, rp->object, en);
+                  else _sel_clear(en->cursor, rp->object, en);
+               }
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        _edje_emit(ed, "entry,key,up", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+     }
+   else if (!strcmp(ev->keyname, "Down") ||
+            (!strcmp(ev->keyname, "KP_Down") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (multiline)
+          {
+             if (en->select_allow)
+               {
+                  if (shift) _sel_start(en->cursor, rp->object, en);
+                  else _sel_clear(en->cursor, rp->object, en);
+               }
+             _curs_down(en->cursor, rp->object, en);
+             if (en->select_allow)
+               {
+                  if (shift) _sel_extend(en->cursor, rp->object, en);
+                  else _sel_clear(en->cursor, rp->object, en);
+               }
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        _edje_emit(ed, "entry,key,down", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+     }
+   else if (!strcmp(ev->keyname, "Left") ||
+            (!strcmp(ev->keyname, "KP_Left") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        evas_textblock_cursor_char_prev(en->cursor);
+        /* If control is pressed, go to the start of the word */
+        if (control) evas_textblock_cursor_word_start(en->cursor);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,left", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Right") ||
+            (!strcmp(ev->keyname, "KP_Right") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        /* If control is pressed, go to the end of the word */
+        if (control) evas_textblock_cursor_word_end(en->cursor);
+        evas_textblock_cursor_char_next(en->cursor);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,right", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "BackSpace"))
+     {
+        _compose_seq_reset(en);
+        if (control && !en->have_selection)
+          {
+             // del to start of previous word
+             _sel_start(en->cursor, rp->object, en);
+
+             evas_textblock_cursor_char_prev(en->cursor);
+             evas_textblock_cursor_word_start(en->cursor);
+
+             _sel_preextend(en->cursor, rp->object, en);
+
+             _range_del_emit(ed, en->cursor, rp->object, en);
+          }
+        else if ((alt) && (shift))
+          {
+             // undo last action
+          }
+        else
+          {
+             if (en->have_selection)
+               {
+                  _range_del_emit(ed, en->cursor, rp->object, en);
+               }
+             else
+               {
+                  if (evas_textblock_cursor_char_prev(en->cursor))
+                    {
+                       _delete_emit(ed, en->cursor, en, old_cur_pos, EINA_TRUE);
+                    }
+               }
+          }
+        _sel_clear(en->cursor, rp->object, en);
+        _anchors_get(en->cursor, rp->object, en);
+        _edje_emit(ed, "entry,key,backspace", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Delete") ||
+            (!strcmp(ev->keyname, "KP_Delete") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (control)
+          {
+             // del to end of next word
+             _sel_start(en->cursor, rp->object, en);
+
+             evas_textblock_cursor_word_end(en->cursor);
+             evas_textblock_cursor_char_next(en->cursor);
+
+             _sel_extend(en->cursor, rp->object, en);
+
+             _range_del_emit(ed, en->cursor, rp->object, en);
+          }
+        else if (shift)
+          {
+             // cut
+          }
+        else
+          {
+             if (en->have_selection)
+               {
+                  _range_del_emit(ed, en->cursor, rp->object, en);
+               }
+             else
+               {
+                  _delete_emit(ed, en->cursor, en, old_cur_pos, EINA_FALSE);
+               }
+          }
+        _sel_clear(en->cursor, rp->object, en);
+        _anchors_get(en->cursor, rp->object, en);
+        _edje_emit(ed, "entry,key,delete", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Home") ||
+            ((!strcmp(ev->keyname, "KP_Home")) && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        if ((control) && (multiline))
+          _curs_start(en->cursor, rp->object, en);
+        else
+          _curs_lin_start(en->cursor, rp->object, en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,home", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "End") ||
+            ((!strcmp(ev->keyname, "KP_End")) && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        if ((control) && (multiline))
+          _curs_end(en->cursor, rp->object, en);
+        else
+          _curs_lin_end(en->cursor, rp->object, en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,end", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!shift) && (!strcmp(ev->keyname, "v")))
+     {
+        _compose_seq_reset(en);
+        _edje_emit(ed, "entry,paste,request", rp->part->name);
+        _edje_emit(ed, "entry,paste,request,3", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!strcmp(ev->keyname, "a")))
+     {
+        _compose_seq_reset(en);
+        if (shift)
+          {
+             _edje_emit(ed, "entry,selection,none,request", rp->part->name);
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        else
+          {
+             _edje_emit(ed, "entry,selection,all,request", rp->part->name);
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+     }
+   else if ((control) && (((!shift) && !strcmp(ev->keyname, "c")) || !strcmp(ev->keyname, "Insert")))
+     {
+        _compose_seq_reset(en);
+        _edje_emit(ed, "entry,copy,notify", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!shift) && ((!strcmp(ev->keyname, "x") || (!strcmp(ev->keyname, "m")))))
+     {
+        _compose_seq_reset(en);
+        _edje_emit(ed, "entry,cut,notify", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!strcmp(ev->keyname, "z")))
+     {
+        _compose_seq_reset(en);
+        if (shift)
+          {
+             // redo
+             _edje_emit(ed, "entry,redo,request", rp->part->name);
+          }
+        else
+          {
+             // undo
+             _edje_emit(ed, "entry,undo,request", rp->part->name);
+          }
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!shift) && (!strcmp(ev->keyname, "y")))
+     {
+        _compose_seq_reset(en);
+        // redo
+        _edje_emit(ed, "entry,redo,request", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((control) && (!shift) && (!strcmp(ev->keyname, "w")))
+     {
+        _compose_seq_reset(en);
+        _sel_clear(en->cursor, rp->object, en);
+        // select current word?
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Tab"))
+     {
+        _compose_seq_reset(en);
+        if (multiline)
+          {
+             if (shift)
+               {
+                  // remove a tab
+               }
+             else
+               {
+                  Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+                  info->insert = EINA_TRUE;
+                  info->change.insert.plain_length = 1;
+
+                  if (en->have_selection)
+                    {
+                       _range_del_emit(ed, en->cursor, rp->object, en);
+                       info->merge = EINA_TRUE;
+                    }
+                  info->change.insert.pos =
+                     evas_textblock_cursor_pos_get(en->cursor);
+                  info->change.insert.content = eina_stringshare_add("<tab/>");
+                  //yy
+//                  evas_textblock_cursor_format_prepend(en->cursor, "tab");
+                  _text_filter_format_prepend(en, en->cursor, "tab");
+                  _anchors_get(en->cursor, rp->object, en);
+                  _edje_emit(ed, "entry,changed", rp->part->name);
+                  _edje_emit_full(ed, "entry,changed,user", rp->part->name,
+                                  info, _free_entry_change_info);
+               }
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        _edje_emit(ed, "entry,key,tab", rp->part->name);
+     }
+   else if ((!strcmp(ev->keyname, "ISO_Left_Tab")) && (multiline))
+     {
+        _compose_seq_reset(en);
+        // remove a tab
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Prior") ||
+            (!strcmp(ev->keyname, "KP_Prior") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _curs_jump_line_by(en->cursor, rp->object, en, -10);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,pgup", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if (!strcmp(ev->keyname, "Next") ||
+            (!strcmp(ev->keyname, "KP_Next") && !ev->string))
+     {
+        _compose_seq_reset(en);
+        if (en->select_allow)
+          {
+             if (shift) _sel_start(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _curs_jump_line_by(en->cursor, rp->object, en, 10);
+        if (en->select_allow)
+          {
+             if (shift) _sel_extend(en->cursor, rp->object, en);
+             else _sel_clear(en->cursor, rp->object, en);
+          }
+        _edje_emit(ed, "entry,key,pgdn", rp->part->name);
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+     }
+   else if ((!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter")))
+     {
+        _compose_seq_reset(en);
+        if (multiline)
+          {
+             Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+             info->insert = EINA_TRUE;
+             info->change.insert.plain_length = 1;
+             if (en->have_selection)
+               {
+                  _range_del_emit(ed, en->cursor, rp->object, en);
+                  info->merge = EINA_TRUE;
+               }
+
+             info->change.insert.pos =
+                evas_textblock_cursor_pos_get(en->cursor);
+             if (shift ||
+                 evas_object_textblock_legacy_newline_get(rp->object))
+               {
+                  //yy
+//                  evas_textblock_cursor_format_prepend(en->cursor, "br");
+                  _text_filter_format_prepend(en, en->cursor, "br");
+                  info->change.insert.content = eina_stringshare_add("<br/>");
+               }
+             else
+               {
+                  //yy
+//                  evas_textblock_cursor_format_prepend(en->cursor, "ps");
+                  _text_filter_format_prepend(en, en->cursor, "ps");
+                  info->change.insert.content = eina_stringshare_add("<ps/>");
+               }
+             _anchors_get(en->cursor, rp->object, en);
+             _edje_emit(ed, "entry,changed", rp->part->name);
+             _edje_emit_full(ed, "entry,changed,user", rp->part->name,
+                             info, _free_entry_change_info);
+             _edje_emit(ed, "cursor,changed", rp->part->name);
+             cursor_changed = EINA_TRUE;
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        _edje_emit(ed, "entry,key,enter", rp->part->name);
+     }
+   else
+     {
+        char *compres = NULL, *string = (char *)ev->string;
+        Eina_Bool free_string = EINA_FALSE;
+        Ecore_Compose_State state;
+
+        if (!en->composing)
+          {
+             _compose_seq_reset(en);
+             en->seq = eina_list_append(en->seq, eina_stringshare_add(ev->key));
+             state = ecore_compose_get(en->seq, &compres);
+             if (state == ECORE_COMPOSE_MIDDLE) en->composing = EINA_TRUE;
+             else en->composing = EINA_FALSE;
+             if (!en->composing) _compose_seq_reset(en);
+             else goto end;
+          }
+        else
+          {
+             if (_is_modifier(ev->key)) goto end;
+             en->seq = eina_list_append(en->seq, eina_stringshare_add(ev->key));
+             state = ecore_compose_get(en->seq, &compres);
+             if (state == ECORE_COMPOSE_NONE) _compose_seq_reset(en);
+             else if (state == ECORE_COMPOSE_DONE)
+               {
+                  _compose_seq_reset(en);
+                  if (compres)
+                    {
+                       string = compres;
+                       free_string = EINA_TRUE;
+                    }
+               }
+             else goto end;
+          }
+        if (string)
+          {
+             Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+             info->insert = EINA_TRUE;
+             info->change.insert.plain_length = 1;
+             info->change.insert.content = eina_stringshare_add(string);
+
+             if (en->have_selection)
+               {
+                  _range_del_emit(ed, en->cursor, rp->object, en);
+                  info->merge = EINA_TRUE;
+               }
+
+             info->change.insert.pos =
+                evas_textblock_cursor_pos_get(en->cursor);
+             // if PASSWORD_SHOW_LAST mode, appending text with password=off tag
+             if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
+                 _edje_password_show_last)
+               {
+                  _edje_entry_hide_visible_password(en->rp);
+                  _text_filter_format_prepend(en, en->cursor, "+ password=off");
+                  _text_filter_text_prepend(en, en->cursor, string);
+                  _text_filter_format_prepend(en, en->cursor, "- password");
+                  if (en->pw_timer)
+                    {
+                       ecore_timer_del(en->pw_timer);
+                       en->pw_timer = NULL;
+                    }
+                  en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
+                                                 _password_timer_cb, en);
+               }
+             else
+               _text_filter_text_prepend(en, en->cursor, string);
+             _anchors_get(en->cursor, rp->object, en);
+             _edje_emit(ed, "entry,changed", rp->part->name);
+             _edje_emit_full(ed, "entry,changed,user", rp->part->name,
+                             info, _free_entry_change_info);
+             _edje_emit(ed, "cursor,changed", rp->part->name);
+             cursor_changed = EINA_TRUE;
+             ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+          }
+        if (free_string) free(string);
+     }
+end:
+   if (!cursor_changed && (old_cur_pos != evas_textblock_cursor_pos_get(en->cursor)))
+     _edje_emit(ed, "cursor,changed", rp->part->name);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+static void
+_edje_key_up_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Edje *ed = data;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en;
+
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
+     return;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     {
+        Evas_Event_Key_Up *ev = event_info;
+        Ecore_IMF_Event_Key_Up ecore_ev;
+
+        ecore_imf_evas_event_key_up_wrap(ev, &ecore_ev);
+        if (ecore_imf_context_filter_event(en->imf_context,
+                                           ECORE_IMF_EVENT_KEY_UP,
+                                           (Ecore_IMF_Event *)&ecore_ev))
+          return;
+     }
+#else
+   (void) event_info;
+#endif
+}
+
+static void
+_edje_part_move_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje_Real_Part *rp = data;
+   Entry *en;
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _edje_entry_imf_cursor_location_set(en);
+}
+
+static void
+_edje_part_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Evas_Coord cx, cy;
+   Edje_Real_Part *rp = data;
+   Evas_Event_Mouse_Down *ev = event_info;
+   Entry *en;
+   Evas_Coord x, y, w, h;
+   //   Eina_Bool multiline;
+   Evas_Textblock_Cursor *tc = NULL;
+   Eina_Bool dosel = EINA_FALSE;
+   Eina_Bool shift;
+   if ((!rp) || (!ev)) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+   if ((ev->button != 1) && (ev->button != 2)) return;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     {
+        Ecore_IMF_Event_Mouse_Down ecore_ev;
+        ecore_imf_evas_event_mouse_down_wrap(ev, &ecore_ev);
+        if (ecore_imf_context_filter_event(en->imf_context,
+                                           ECORE_IMF_EVENT_MOUSE_DOWN,
+                                           (Ecore_IMF_Event *)&ecore_ev))
+          return;
+     }
+#endif
+
+   _edje_entry_imf_context_reset(rp);
+
+   shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
+   en->select_mod_start = EINA_FALSE;
+   en->select_mod_end = EINA_FALSE;
+   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
+     dosel = EINA_TRUE;
+   else if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
+     {
+        if (en->select_allow) dosel = EINA_TRUE;
+     }
+   if (ev->button == 2) dosel = EINA_FALSE;
+   if (dosel)
+     {
+        evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+        cx = ev->canvas.x - x;
+        cy = ev->canvas.y - y;
+        if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
+          {
+             if (shift)
+               {
+                  tc = evas_object_textblock_cursor_new(rp->object);
+                  evas_textblock_cursor_copy(en->cursor, tc);
+                  if (evas_textblock_cursor_compare(en->cursor, en->sel_start) < 0)
+                    evas_textblock_cursor_line_char_first(en->cursor);
+                  else
+                    evas_textblock_cursor_line_char_last(en->cursor);
+                  _sel_extend(en->cursor, rp->object, en);
+               }
+             else
+               {
+                  en->have_selection = EINA_FALSE;
+                  en->selecting = EINA_FALSE;
+                  _sel_clear(en->cursor, rp->object, en);
+                  tc = evas_object_textblock_cursor_new(rp->object);
+                  evas_textblock_cursor_copy(en->cursor, tc);
+                  evas_textblock_cursor_line_char_first(en->cursor);
+                  _sel_start(en->cursor, rp->object, en);
+                  evas_textblock_cursor_line_char_last(en->cursor);
+                  _sel_extend(en->cursor, rp->object, en);
+               }
+             goto end;
+          }
+        else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
+          {
+             if (shift)
+               {
+                  tc = evas_object_textblock_cursor_new(rp->object);
+                  evas_textblock_cursor_copy(en->cursor, tc);
+                  if (evas_textblock_cursor_compare(en->cursor, en->sel_start) < 0)
+                    evas_textblock_cursor_word_start(en->cursor);
+                  else
+                    {
+                       evas_textblock_cursor_word_end(en->cursor);
+                       evas_textblock_cursor_char_next(en->cursor);
+                    }
+                  _sel_extend(en->cursor, rp->object, en);
+               }
+             else
+               {
+                  en->have_selection = EINA_FALSE;
+                  en->selecting = EINA_FALSE;
+                  _sel_clear(en->cursor, rp->object, en);
+                  tc = evas_object_textblock_cursor_new(rp->object);
+                  evas_textblock_cursor_copy(en->cursor, tc);
+                  evas_textblock_cursor_word_start(en->cursor);
+                  _sel_start(en->cursor, rp->object, en);
+                  evas_textblock_cursor_word_end(en->cursor);
+                  evas_textblock_cursor_char_next(en->cursor);
+                  _sel_extend(en->cursor, rp->object, en);
+               }
+             goto end;
+          }
+     }
+   tc = evas_object_textblock_cursor_new(rp->object);
+   evas_textblock_cursor_copy(en->cursor, tc);
+   //   multiline = rp->part->multiline;
+   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+   cx = ev->canvas.x - x;
+   cy = ev->canvas.y - y;
+   if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
+     {
+        Evas_Coord lx, ly, lw, lh;
+        int line;
+
+        line = evas_textblock_cursor_line_coord_set(en->cursor, cy);
+        if (line == -1)
+          {
+             if (rp->part->multiline)
+               _curs_end(en->cursor, rp->object, en);
+             else
+               {
+                  evas_textblock_cursor_paragraph_first(en->cursor);
+                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+                  if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
+                    _curs_end(en->cursor, rp->object, en);
+               }
+          }
+        else
+          {
+             int lnum;
+
+             lnum = evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+             if (lnum < 0)
+               {
+                  _curs_lin_start(en->cursor, rp->object, en);
+               }
+             else
+               {
+                  if (cx <= lx)
+                    _curs_lin_start(en->cursor, rp->object, en);
+                  else
+                    _curs_lin_end(en->cursor, rp->object, en);
+               }
+          }
+     }
+   if (dosel)
+     {
+        if ((en->have_selection) &&
+            (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT))
+          {
+             if (shift)
+               _sel_extend(en->cursor, rp->object, en);
+             else
+               {
+                  Eina_List *first, *last;
+                  FLOAT_T sc;
+
+                  first = en->sel;
+                  last = eina_list_last(en->sel);
+                  if (first && last)
+                    {
+                       Evas_Textblock_Rectangle *r1, *r2;
+                       Evas_Coord d, d1, d2;
+
+                       r1 = first->data;
+                       r2 = last->data;
+                       d = r1->x - cx;
+                       d1 = d * d;
+                       d = (r1->y + (r1->h / 2)) - cy;
+                       d1 += d * d;
+                       d = r2->x + r2->w - 1 - cx;
+                       d2 = d * d;
+                       d = (r2->y + (r2->h / 2)) - cy;
+                       d2 += d * d;
+                       sc = rp->edje->scale;
+                       if (sc == ZERO) sc = _edje_scale;
+                       d = (Evas_Coord)MUL(FROM_INT(20), sc); // FIXME: maxing number!
+                       d = d * d;
+                       if (d1 < d2)
+                         {
+                            if (d1 <= d)
+                              {
+                                 en->select_mod_start = EINA_TRUE;
+                                 en->selecting = EINA_TRUE;
+                              }
+                         }
+                       else
+                         {
+                            if (d2 <= d)
+                              {
+                                 en->select_mod_end = EINA_TRUE;
+                                 en->selecting = EINA_TRUE;
+                              }
+                         }
+                    }
+               }
+          }
+        else
+          {
+             if ((en->have_selection) && (shift))
+               _sel_extend(en->cursor, rp->object, en);
+             else
+               {
+                  en->selecting = EINA_TRUE;
+                  _sel_clear(en->cursor, rp->object, en);
+                  if (en->select_allow)
+                    {
+                       _sel_start(en->cursor, rp->object, en);
+                    }
+               }
+          }
+     }
+ end:
+   if (evas_textblock_cursor_compare(tc, en->cursor))
+     {
+        _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+     }
+   evas_textblock_cursor_free(tc);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_entry_real_part_configure(rp);
+   if (ev->button == 2)
+     {
+        _edje_emit(rp->edje, "entry,paste,request", rp->part->name);
+        _edje_emit(rp->edje, "entry,paste,request,1", rp->part->name);
+     }
+}
+
+static void
+_edje_part_mouse_up_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Evas_Coord cx, cy;
+   Edje_Real_Part *rp = data;
+   Evas_Event_Mouse_Up *ev = event_info;
+   Entry *en;
+   Evas_Coord x, y, w, h;
+   Evas_Textblock_Cursor *tc;
+   if ((!ev) || (ev->button != 1)) return;
+   if (!rp) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK) return;
+   if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     {
+        Ecore_IMF_Event_Mouse_Up ecore_ev;
+        ecore_imf_evas_event_mouse_up_wrap(ev, &ecore_ev);
+        if (ecore_imf_context_filter_event(en->imf_context,
+                                           ECORE_IMF_EVENT_MOUSE_UP,
+                                           (Ecore_IMF_Event *)&ecore_ev))
+          return;
+     }
+#endif
+
+   _edje_entry_imf_context_reset(rp);
+
+   tc = evas_object_textblock_cursor_new(rp->object);
+   evas_textblock_cursor_copy(en->cursor, tc);
+   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+   cx = ev->canvas.x - x;
+   cy = ev->canvas.y - y;
+   if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
+     {
+        Evas_Coord lx, ly, lw, lh;
+        int line;
+
+        line = evas_textblock_cursor_line_coord_set(en->cursor, cy);
+        if (line == -1)
+          {
+             if (rp->part->multiline)
+               _curs_end(en->cursor, rp->object, en);
+             else
+               {
+                  evas_textblock_cursor_paragraph_first(en->cursor);
+                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+                  if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
+                    _curs_end(en->cursor, rp->object, en);
+               }
+          }
+        else
+          {
+             int lnum;
+
+             lnum = evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+             if (lnum < 0)
+               {
+                  _curs_lin_start(en->cursor, rp->object, en);
+               }
+             else
+               {
+                  if (cx <= lx)
+                    _curs_lin_start(en->cursor, rp->object, en);
+                  else
+                    _curs_lin_end(en->cursor, rp->object, en);
+               }
+          }
+     }
+   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
+     {
+        if (en->select_allow)
+          {
+             if (en->had_sel)
+               {
+                  if (en->select_mod_end)
+                    _sel_extend(en->cursor, rp->object, en);
+                  else if (en->select_mod_start)
+                    _sel_preextend(en->cursor, rp->object, en);
+               }
+             else
+               _sel_extend(en->cursor, rp->object, en);
+             //evas_textblock_cursor_copy(en->cursor, en->sel_end);
+          }
+     }
+   else
+     evas_textblock_cursor_copy(en->cursor, en->sel_end);
+   if (en->selecting)
+     {
+        if (en->have_selection)
+          en->had_sel = EINA_TRUE;
+        en->selecting = EINA_FALSE;
+     }
+   if (evas_textblock_cursor_compare(tc, en->cursor))
+     {
+        _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+        _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+     }
+   evas_textblock_cursor_free(tc);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+static void
+_edje_part_mouse_move_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Evas_Coord cx, cy;
+   Edje_Real_Part *rp = data;
+   Evas_Event_Mouse_Move *ev = event_info;
+   Entry *en;
+   Evas_Coord x, y, w, h;
+   Evas_Textblock_Cursor *tc;
+   if ((!rp) || (!ev)) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     {
+        Ecore_IMF_Event_Mouse_Move ecore_ev;
+        ecore_imf_evas_event_mouse_move_wrap(ev, &ecore_ev);
+        if (ecore_imf_context_filter_event(en->imf_context,
+                                           ECORE_IMF_EVENT_MOUSE_MOVE,
+                                           (Ecore_IMF_Event *)&ecore_ev))
+          return;
+     }
+#endif
+
+   if (en->selecting)
+     {
+        tc = evas_object_textblock_cursor_new(rp->object);
+        evas_textblock_cursor_copy(en->cursor, tc);
+        evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+        cx = ev->cur.canvas.x - x;
+        cy = ev->cur.canvas.y - y;
+        if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, cy))
+          {
+             Evas_Coord lx, ly, lw, lh;
+
+             if (evas_textblock_cursor_line_coord_set(en->cursor, cy) < 0)
+               {
+                  if (rp->part->multiline)
+                    _curs_end(en->cursor, rp->object, en);
+                  else
+                    {
+                       evas_textblock_cursor_paragraph_first(en->cursor);
+                       evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+                       if (!evas_textblock_cursor_char_coord_set(en->cursor, cx, ly + (lh / 2)))
+                         _curs_end(en->cursor, rp->object, en);
+                    }
+               }
+             else
+               {
+                  evas_textblock_cursor_line_geometry_get(en->cursor, &lx, &ly, &lw, &lh);
+                  if (cx <= lx)
+                    _curs_lin_start(en->cursor, rp->object, en);
+                  else
+                    _curs_lin_end(en->cursor, rp->object, en);
+               }
+          }
+        if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT)
+          {
+             if (en->select_allow)
+               {
+                  if (en->had_sel)
+                    {
+                       if (en->select_mod_end)
+                         _sel_extend(en->cursor, rp->object, en);
+                       else if (en->select_mod_start)
+                         _sel_preextend(en->cursor, rp->object, en);
+                    }
+                  else
+                    _sel_extend(en->cursor, rp->object, en);
+               }
+          }
+        else
+          {
+             _sel_extend(en->cursor, rp->object, en);
+          }
+        if (en->select_allow)
+          {
+             if (evas_textblock_cursor_compare(en->sel_start, en->sel_end) != 0)
+               _sel_enable(en->cursor, rp->object, en);
+             if (en->have_selection)
+               _sel_update(en->cursor, rp->object, en);
+          }
+        if (evas_textblock_cursor_compare(tc, en->cursor))
+          {
+             _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+             _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name);
+          }
+        evas_textblock_cursor_free(tc);
+
+        _edje_entry_imf_context_reset(rp);
+        _edje_entry_imf_cursor_info_set(en);
+
+        _edje_entry_real_part_configure(rp);
+     }
+}
+
+static void
+_evas_focus_in_cb(void *data, Evas *e, EINA_UNUSED void *event_info)
+{
+   Edje *ed = (Edje *)data;
+   if (!ed) return;
+
+   if (evas_focus_get(e) == ed->obj)
+     {
+        _edje_focus_in_cb(data, NULL, NULL, NULL);
+     }
+}
+
+static void
+_evas_focus_out_cb(void *data, Evas *e, EINA_UNUSED void *event_info)
+{
+   Edje *ed = (Edje *)data;
+   if (!ed) return;
+
+   if (evas_focus_get(e) == ed->obj)
+     {
+        _edje_focus_out_cb(data, NULL, NULL, NULL);
+     }
+}
+
+/***************************************************************/
+void
+_edje_entry_init(Edje *ed)
+{
+   if (!ed->has_entries)
+     return;
+   if (ed->entries_inited)
+     return;
+   ed->entries_inited = EINA_TRUE;
+
+   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_FOCUS_IN, _edje_focus_in_cb, ed);
+   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_FOCUS_OUT, _edje_focus_out_cb, ed);
+   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_DOWN, _edje_key_down_cb, ed);
+   evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_UP, _edje_key_up_cb, ed);
+   evas_event_callback_add(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _evas_focus_in_cb, ed);
+   evas_event_callback_add(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_OUT, _evas_focus_out_cb, ed);
+}
+
+void
+_edje_entry_shutdown(Edje *ed)
+{
+   if ((!ed) || (!ed->has_entries))
+     return;
+   if (!ed->entries_inited)
+     return;
+   ed->entries_inited = EINA_FALSE;
+
+   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_FOCUS_IN, _edje_focus_in_cb);
+   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_FOCUS_OUT, _edje_focus_out_cb);
+   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_DOWN, _edje_key_down_cb);
+   evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_UP, _edje_key_up_cb);
+   if (evas_event_callback_del_full(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_IN, _evas_focus_in_cb, ed) != ed)
+     ERR("could not unregister EVAS_CALLBACK_FOCUS_IN");
+   if (evas_event_callback_del_full(ed->base->evas, EVAS_CALLBACK_CANVAS_FOCUS_OUT, _evas_focus_out_cb, ed) != ed)
+     ERR("could not unregister EVAS_CALLBACK_FOCUS_OUT");
+}
+
+void
+_edje_entry_real_part_init(Edje_Real_Part *rp)
+{
+   Entry *en;
+#ifdef HAVE_ECORE_IMF
+   const char *ctx_id;
+   const Ecore_IMF_Context_Info *ctx_info;
+#endif
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = calloc(1, sizeof(Entry));
+   if (!en) return;
+   rp->typedata.text->entry_data = en;
+   en->rp = rp;
+
+   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOVE, _edje_part_move_cb, rp);
+
+   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_DOWN, _edje_part_mouse_down_cb, rp);
+   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_UP, _edje_part_mouse_up_cb, rp);
+   evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_MOVE, _edje_part_mouse_move_cb, rp);
+
+   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
+     en->select_allow = EINA_TRUE;
+
+   if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
+     {
+        Edje_Part_Description_Text *txt;
+
+        txt = (Edje_Part_Description_Text *)rp->chosen_description;
+
+        en->select_allow = EINA_FALSE;
+        if (txt && edje_string_get(&txt->text.repch))
+          evas_object_textblock_replace_char_set(rp->object, edje_string_get(&txt->text.repch));
+        else
+          evas_object_textblock_replace_char_set(rp->object, "*");
+     }
+
+   en->cursor_bg = edje_object_add(rp->edje->base->evas);
+   edje_object_file_set(en->cursor_bg, rp->edje->path, rp->part->source3);
+   evas_object_smart_member_add(en->cursor_bg, rp->edje->obj);
+   evas_object_stack_below(en->cursor_bg, rp->object);
+   evas_object_clip_set(en->cursor_bg, evas_object_clip_get(rp->object));
+   evas_object_pass_events_set(en->cursor_bg, EINA_TRUE);
+   _edje_subobj_register(en->rp->edje, en->cursor_bg);
+
+   en->cursor_fg = edje_object_add(rp->edje->base->evas);
+   edje_object_file_set(en->cursor_fg, rp->edje->path, rp->part->source4);
+   evas_object_smart_member_add(en->cursor_fg, rp->edje->obj);
+   evas_object_stack_above(en->cursor_fg, rp->object);
+   evas_object_clip_set(en->cursor_fg, evas_object_clip_get(rp->object));
+   evas_object_pass_events_set(en->cursor_fg, EINA_TRUE);
+   _edje_subobj_register(en->rp->edje, en->cursor_fg);
+
+   evas_object_textblock_legacy_newline_set(rp->object, EINA_TRUE);
+
+   if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
+     {
+        evas_object_show(en->cursor_bg);
+        evas_object_show(en->cursor_fg);
+        en->input_panel_enable = EINA_TRUE;
+
+#ifdef HAVE_ECORE_IMF
+        ecore_imf_init();
+
+        edje_object_signal_callback_add(rp->edje->obj, "focus,part,in", rp->part->name, _edje_entry_focus_in_cb, rp);
+        edje_object_signal_callback_add(rp->edje->obj, "focus,part,out", rp->part->name, _edje_entry_focus_out_cb, rp);
+
+        ctx_id = ecore_imf_context_default_id_get();
+        if (ctx_id)
+          {
+             ctx_info = ecore_imf_context_info_by_id_get(ctx_id);
+             if (!ctx_info->canvas_type ||
+                 strcmp(ctx_info->canvas_type, "evas") == 0)
+               {
+                  en->imf_context = ecore_imf_context_add(ctx_id);
+               }
+             else
+               {
+                  ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas");
+                  if (ctx_id)
+                    {
+                       en->imf_context = ecore_imf_context_add(ctx_id);
+                    }
+               }
+          }
+        else
+          en->imf_context = NULL;
+
+        if (!en->imf_context) goto done;
+
+        ecore_imf_context_client_window_set
+           (en->imf_context,
+               (void *)ecore_evas_window_get
+               (ecore_evas_ecore_evas_get(rp->edje->base->evas)));
+        ecore_imf_context_client_canvas_set(en->imf_context, rp->edje->base->evas);
+
+        ecore_imf_context_retrieve_surrounding_callback_set(en->imf_context,
+                                                            _edje_entry_imf_retrieve_surrounding_cb, rp->edje);
+        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb, rp->edje);
+        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb, rp->edje);
+        ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb, rp->edje);
+        ecore_imf_context_input_mode_set(en->imf_context,
+                                         rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ?
+                                         ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL);
+
+        if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
+          ecore_imf_context_input_panel_language_set(en->imf_context, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET);
+#endif
+     }
+#ifdef HAVE_ECORE_IMF
+done:
+#endif
+   en->cursor = (Evas_Textblock_Cursor *)evas_object_textblock_cursor_get(rp->object);
+}
+
+void
+_edje_entry_real_part_shutdown(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   rp->typedata.text->entry_data = NULL;
+   _sel_clear(en->cursor, rp->object, en);
+   _anchors_clear(en->cursor, rp->object, en);
+#ifdef HAVE_ECORE_IMF
+   _preedit_clear(en);
+#endif
+   evas_object_del(en->cursor_bg);
+   evas_object_del(en->cursor_fg);
+
+   if (en->pw_timer)
+     {
+        ecore_timer_del(en->pw_timer);
+        en->pw_timer = NULL;
+     }
+
+#ifdef HAVE_ECORE_IMF
+   if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
+     {
+        if (en->imf_context)
+          {
+             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb);
+             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb);
+             ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb);
+
+             ecore_imf_context_del(en->imf_context);
+             en->imf_context = NULL;
+          }
+
+        edje_object_signal_callback_del(rp->edje->obj, "focus,part,in", rp->part->name, _edje_entry_focus_in_cb);
+        edje_object_signal_callback_del(rp->edje->obj, "focus,part,out", rp->part->name, _edje_entry_focus_out_cb);
+        ecore_imf_shutdown();
+     }
+#endif
+   _compose_seq_reset(en);
+
+   free(en);
+}
+
+void
+_edje_entry_real_part_configure(Edje_Real_Part *rp)
+{
+   Evas_Coord x, y, w, h, xx, yy, ww, hh;
+   Entry *en;
+   Evas_Textblock_Cursor_Type cur_type;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   switch (rp->part->cursor_mode)
+     {
+      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
+         break;
+      case EDJE_ENTRY_CURSOR_MODE_UNDER:
+         /* no break for a reason */
+      default:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
+     }
+
+   _sel_update(en->cursor, rp->object, en);
+   _anchors_update(en->cursor, rp->object, en);
+   x = y = w = h = -1;
+   xx = yy = ww = hh = -1;
+   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+   evas_textblock_cursor_geometry_get(en->cursor, &xx, &yy, &ww, &hh, NULL, cur_type);
+   if (ww < 1) ww = 1;
+   if (hh < 1) hh = 1;
+   if (en->cursor_bg)
+     {
+        evas_object_move(en->cursor_bg, x + xx, y + yy);
+        evas_object_resize(en->cursor_bg, ww, hh);
+     }
+   if (en->cursor_fg)
+     {
+        evas_object_move(en->cursor_fg, x + xx, y + yy);
+        evas_object_resize(en->cursor_fg, ww, hh);
+     }
+}
+
+const char *
+_edje_entry_selection_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   // get selection - convert to markup
+   if ((!en->selection) && (en->have_selection))
+     en->selection = evas_textblock_cursor_range_text_get
+        (en->sel_start, en->sel_end, EVAS_TEXTBLOCK_TEXT_MARKUP);
+   return en->selection;
+}
+
+const char *
+_edje_entry_text_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   // get text - convert to markup
+   return evas_object_textblock_text_markup_get(rp->object);
+}
+
+void
+_edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _edje_entry_imf_context_reset(rp);
+   // set text as markup
+   _sel_clear(en->cursor, rp->object, en);
+   evas_object_textblock_text_markup_set(rp->object, text);
+   _edje_entry_set_cursor_start(rp);
+
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_entry_real_part_configure(rp);
+#if 0
+   /* Don't emit cursor changed cause it didn't. It's just init to 0. */
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+#endif
+}
+
+void
+_edje_entry_text_markup_append(Edje_Real_Part *rp, const char *text)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   Evas_Textblock_Cursor *end_cur;
+   if (!en) return;
+   end_cur = evas_object_textblock_cursor_new(rp->object);
+   evas_textblock_cursor_paragraph_last(end_cur);
+
+   _text_filter_markup_prepend(en, end_cur, text);
+   evas_textblock_cursor_free(end_cur);
+
+   /* We are updating according to the real cursor on purpose */
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _edje_entry_imf_context_reset(rp);
+
+   // prepend markup @ cursor pos
+   if (en->have_selection)
+     _range_del(en->cursor, rp->object, en);
+   //xx
+//   evas_object_textblock_text_markup_prepend(en->cursor, text);
+   _text_filter_markup_prepend(en, en->cursor, text);
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_set_cursor_start(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _curs_start(en->cursor, rp->object, en);
+
+   _edje_entry_imf_cursor_info_set(en);
+}
+
+void
+_edje_entry_set_cursor_end(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _curs_end(en->cursor, rp->object, en);
+
+   _edje_entry_imf_cursor_info_set(en);
+}
+
+void
+_edje_entry_select_none(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _sel_clear(en->cursor, rp->object, en);
+}
+
+void
+_edje_entry_select_all(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+
+   _edje_entry_imf_context_reset(rp);
+
+   _sel_clear(en->cursor, rp->object, en);
+   _curs_start(en->cursor, rp->object, en);
+   _sel_enable(en->cursor, rp->object, en);
+   _sel_start(en->cursor, rp->object, en);
+   _curs_end(en->cursor, rp->object, en);
+   _sel_extend(en->cursor, rp->object, en);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_select_begin(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+
+   _edje_entry_imf_context_reset(rp);
+
+   _sel_clear(en->cursor, rp->object, en);
+   _sel_enable(en->cursor, rp->object, en);
+   _sel_start(en->cursor, rp->object, en);
+   _sel_extend(en->cursor, rp->object, en);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_select_extend(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   _edje_entry_imf_context_reset(rp);
+   _sel_extend(en->cursor, rp->object, en);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_entry_real_part_configure(rp);
+}
+
+const Eina_List *
+_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char *anchor)
+{
+   Entry *en;
+   Eina_List *l;
+   Anchor *an;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   EINA_LIST_FOREACH(en->anchors, l, an)
+     {
+        if (an->item) continue;
+        if (!strcmp(anchor, an->name))
+          return an->sel;
+     }
+   return NULL;
+}
+
+const Eina_List *
+_edje_entry_anchors_list(Edje_Real_Part *rp)
+{
+   Entry *en;
+   Eina_List *l, *anchors = NULL;
+   Anchor *an;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   if (!en->anchorlist)
+     {
+        EINA_LIST_FOREACH(en->anchors, l, an)
+          {
+             const char *n = an->name;
+             if (an->item) continue;
+             if (!n) n = "";
+             anchors = eina_list_append(anchors, strdup(n));
+          }
+        en->anchorlist = anchors;
+     }
+   return en->anchorlist;
+}
+
+Eina_Bool
+_edje_entry_item_geometry_get(Edje_Real_Part *rp, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+{
+   Entry *en;
+   Eina_List *l;
+   Anchor *an;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   EINA_LIST_FOREACH(en->anchors, l, an)
+     {
+        if (an->item) continue;
+        if (!strcmp(item, an->name))
+          {
+             evas_textblock_cursor_format_item_geometry_get(an->start, cx, cy, cw, ch);
+             return EINA_TRUE;
+          }
+     }
+   return EINA_FALSE;
+}
+
+const Eina_List *
+_edje_entry_items_list(Edje_Real_Part *rp)
+{
+   Entry *en;
+   Eina_List *l, *items = NULL;
+   Anchor *an;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   if (!en->itemlist)
+     {
+        EINA_LIST_FOREACH(en->anchors, l, an)
+          {
+             const char *n = an->name;
+             if (an->item) continue;
+             if (!n) n = "";
+             items = eina_list_append(items, strdup(n));
+          }
+        en->itemlist = items;
+     }
+   return en->itemlist;
+}
+
+void
+_edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+{
+   Evas_Coord x, y, w, h, xx, yy, ww, hh;
+   Entry *en;
+   Evas_Textblock_Cursor_Type cur_type;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   switch (rp->part->cursor_mode)
+     {
+      case EDJE_ENTRY_CURSOR_MODE_BEFORE:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_BEFORE;
+         break;
+      case EDJE_ENTRY_CURSOR_MODE_UNDER:
+         /* no break for a resaon */
+      default:
+         cur_type = EVAS_TEXTBLOCK_CURSOR_UNDER;
+     }
+
+   x = y = w = h = -1;
+   xx = yy = ww = hh = -1;
+   evas_object_geometry_get(rp->object, &x, &y, &w, &h);
+   evas_textblock_cursor_geometry_get(en->cursor, &xx, &yy, &ww, &hh, NULL, cur_type);
+   if (ww < 1) ww = 1;
+   if (rp->part->cursor_mode == EDJE_ENTRY_CURSOR_MODE_BEFORE)
+     edje_object_size_min_restricted_calc(en->cursor_fg, &ww, NULL, ww, 0);
+   if (hh < 1) hh = 1;
+   if (cx) *cx = x + xx;
+   if (cy) *cy = y + yy;
+   if (cw) *cw = ww;
+   if (ch) *ch = hh;
+}
+
+void
+_edje_entry_user_insert(Edje_Real_Part *rp, const char *text)
+{
+   Entry *en;
+   Edje_Entry_Change_Info *info;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   info = calloc(1, sizeof(*info));
+   if (!info) return;
+   info->insert = EINA_TRUE;
+   info->change.insert.plain_length = 1;
+   info->change.insert.content = eina_stringshare_add(text);
+     {
+        char *tmp;
+        tmp = evas_textblock_text_markup_to_utf8(rp->object,
+                                                 info->change.insert.content);
+        info->change.insert.plain_length = eina_unicode_utf8_get_len(tmp);
+        free(tmp);
+     }
+
+   if (en->have_selection)
+     {
+        _range_del_emit(rp->edje, en->cursor, rp->object, en);
+        info->merge = EINA_TRUE;
+     }
+   info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor);
+   _text_filter_markup_prepend(en, en->cursor, text);
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+   _edje_emit_full(rp->edje, "entry,changed,user", rp->part->name,
+                   info, _free_entry_change_info);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
+     return;
+   en->select_allow = allow;
+}
+
+Eina_Bool
+_edje_entry_select_allow_get(const Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   return en->select_allow;
+}
+
+void
+_edje_entry_select_abort(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (en->selecting)
+     {
+        en->selecting = EINA_FALSE;
+
+        _edje_entry_imf_context_reset(rp);
+        _edje_entry_imf_cursor_info_set(en);
+        _edje_entry_real_part_configure(rp);
+     }
+}
+
+void *
+_edje_entry_imf_context_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+
+#ifdef HAVE_ECORE_IMF
+   return en->imf_context;
+#else
+   return NULL;
+#endif
+}
+
+void
+_edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+
+   if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
+     autocapital_type = EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_autocapital_type_set(en->imf_context, autocapital_type);
+#endif
+}
+
+Edje_Text_Autocapital_Type
+_edje_entry_autocapital_type_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     return ecore_imf_context_autocapital_type_get(en->imf_context);
+#endif
+
+   return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+}
+
+void
+_edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   en->prediction_allow = prediction;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_prediction_allow_set(en->imf_context, prediction);
+#endif
+}
+
+Eina_Bool
+_edje_entry_prediction_allow_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   return en->prediction_allow;
+}
+
+void
+_edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   en->input_panel_enable = enabled;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_enabled_set(en->imf_context, enabled);
+#endif
+}
+
+Eina_Bool
+_edje_entry_input_panel_enabled_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   return en->input_panel_enable;
+}
+
+void
+_edje_entry_input_panel_show(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_show(en->imf_context);
+#endif
+}
+
+void
+_edje_entry_input_panel_hide(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_hide(en->imf_context);
+#endif
+}
+
+void
+_edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   en->input_panel_lang = lang;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_language_set(en->imf_context, lang);
+#endif
+}
+
+Edje_Input_Panel_Lang
+_edje_entry_input_panel_language_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
+   return en->input_panel_lang;
+}
+
+#ifdef HAVE_ECORE_IMF
+void
+_edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len)
+#else
+void
+_edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data EINA_UNUSED, int len EINA_UNUSED)
+#endif
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_imdata_set(en->imf_context, data, len);
+#endif
+}
+
+#ifdef HAVE_ECORE_IMF
+void
+_edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len)
+#else
+void
+_edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data EINA_UNUSED, int *len EINA_UNUSED)
+#endif
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_imdata_get(en->imf_context, data, len);
+#endif
+}
+
+#ifdef HAVE_ECORE_IMF
+void
+_edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type)
+#else
+void
+_edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type EINA_UNUSED)
+#endif
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_return_key_type_set(en->imf_context, return_key_type);
+#endif
+}
+
+Edje_Input_Panel_Return_Key_Type
+_edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     return ecore_imf_context_input_panel_return_key_type_get(en->imf_context);
+#endif
+   return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
+}
+
+#ifdef HAVE_ECORE_IMF
+void
+_edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled)
+#else
+void
+_edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled EINA_UNUSED)
+#endif
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_return_key_disabled_set(en->imf_context, disabled);
+#endif
+}
+
+Eina_Bool
+_edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     return ecore_imf_context_input_panel_return_key_disabled_get(en->imf_context);
+#endif
+   return EINA_FALSE;
+}
+
+static Evas_Textblock_Cursor *
+_cursor_get(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return NULL;
+   en = rp->typedata.text->entry_data;
+   if (!en) return NULL;
+   switch (cur)
+     {
+      case EDJE_CURSOR_MAIN:
+         return en->cursor;
+      case EDJE_CURSOR_SELECTION_BEGIN:
+         return en->sel_start;
+      case EDJE_CURSOR_SELECTION_END:
+         return en->sel_end;
+      case EDJE_CURSOR_PREEDIT_START:
+         if (!en->preedit_start)
+           en->preedit_start = evas_object_textblock_cursor_new(rp->object);
+         return en->preedit_start;
+      case EDJE_CURSOR_PREEDIT_END:
+         if (!en->preedit_end)
+           en->preedit_end = evas_object_textblock_cursor_new(rp->object);
+         return en->preedit_end;
+      case EDJE_CURSOR_USER:
+         if (!en->cursor_user)
+           en->cursor_user = evas_object_textblock_cursor_new(rp->object);
+         return en->cursor_user;
+      case EDJE_CURSOR_USER_EXTRA:
+         if (!en->cursor_user_extra)
+           en->cursor_user_extra = evas_object_textblock_cursor_new(rp->object);
+         return en->cursor_user_extra;
+      default:
+         break;
+     }
+   return NULL;
+}
+
+Eina_Bool
+_edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+
+   if (!c) return EINA_FALSE;
+
+   _edje_entry_imf_context_reset(rp);
+
+   if (!evas_textblock_cursor_char_next(c))
+     {
+        return EINA_FALSE;
+     }
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   if (!c) return EINA_FALSE;
+
+   _edje_entry_imf_context_reset(rp);
+
+   if (!evas_textblock_cursor_char_prev(c))
+     {
+        if (evas_textblock_cursor_paragraph_prev(c)) goto ok;
+        else return EINA_FALSE;
+     }
+ok:
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   Evas_Coord lx, ly, lw, lh, cx, cy, cw, ch;
+   int ln;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   if (!c) return EINA_FALSE;
+
+   _edje_entry_imf_context_reset(rp);
+
+   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
+   ln--;
+   if (ln < 0) return EINA_FALSE;
+   if (!evas_object_textblock_line_number_geometry_get(rp->object, ln,
+                                                       &lx, &ly, &lw, &lh))
+     return EINA_FALSE;
+   evas_textblock_cursor_char_geometry_get(c, &cx, &cy, &cw, &ch);
+   if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
+     {
+        if (cx < (lx + (lw / 2)))
+          evas_textblock_cursor_line_char_last(c);
+        else
+          evas_textblock_cursor_line_char_last(c);
+     }
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   Evas_Coord lx, ly, lw, lh, cx, cy, cw, ch;
+   int ln;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EINA_FALSE;
+   if (!c) return EINA_FALSE;
+
+   _edje_entry_imf_context_reset(rp);
+
+   ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
+   ln++;
+   if (!evas_object_textblock_line_number_geometry_get(rp->object, ln,
+                                                       &lx, &ly, &lw, &lh))
+     return EINA_FALSE;
+   evas_textblock_cursor_char_geometry_get(c, &cx, &cy, &cw, &ch);
+   if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
+     {
+        if (cx < (lx + (lw / 2)))
+          evas_textblock_cursor_line_char_last(c);
+        else
+          evas_textblock_cursor_line_char_last(c);
+     }
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+   return EINA_TRUE;
+}
+
+void
+_edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (!c) return;
+
+   _edje_entry_imf_context_reset(rp);
+
+   evas_textblock_cursor_paragraph_first(c);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (!c) return;
+
+   _edje_entry_imf_context_reset(rp);
+
+   _curs_end(c, rp->object, rp->typedata.text->entry_data);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_cursor_copy(Edje_Real_Part *rp, Edje_Cursor cur, Edje_Cursor dst)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c;
+   Evas_Textblock_Cursor *d;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   c = _cursor_get(rp, cur);
+   if (!c) return;
+   d = _cursor_get(rp, dst);
+   if (!d) return;
+   evas_textblock_cursor_copy(c, d);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_context_reset(rp);
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (!c) return;
+   _edje_entry_imf_context_reset(rp);
+
+   evas_textblock_cursor_line_char_first(c);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+void
+_edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (!c) return;
+   _edje_entry_imf_context_reset(rp);
+   evas_textblock_cursor_line_char_last(c);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+Eina_Bool
+_edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur,
+                             Evas_Coord x, Evas_Coord y)
+{
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   if (!c) return EINA_FALSE;
+   return evas_textblock_cursor_char_coord_set(c, x, y);
+}
+
+Eina_Bool
+_edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   if (!c) return EINA_FALSE;
+   if (evas_textblock_cursor_is_format(c)) return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+Eina_Bool
+_edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   if (!c) return EINA_FALSE;
+   return evas_textblock_cursor_format_is_visible_get(c);
+}
+
+char *
+_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   static char *s = NULL;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if (!c) return NULL;
+   if (s)
+     {
+        free(s);
+        s = NULL;
+     }
+
+   s = evas_textblock_cursor_content_get(c);
+   return s;
+}
+
+void
+_edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos)
+{
+   Entry *en;
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+   if (!c) return;
+   /* Abort if cursor position didn't really change */
+   if (evas_textblock_cursor_pos_get(c) == pos)
+     return;
+
+   _edje_entry_imf_context_reset(rp);
+   evas_textblock_cursor_pos_set(c, pos);
+   _sel_update(c, rp->object, rp->typedata.text->entry_data);
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_emit(rp->edje, "cursor,changed", rp->part->name);
+   _edje_entry_real_part_configure(rp);
+}
+
+int
+_edje_entry_cursor_pos_get(Edje_Real_Part *rp, Edje_Cursor cur)
+{
+   Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   if (!c) return 0;
+   return evas_textblock_cursor_pos_get(c);
+}
+
+void
+_edje_entry_input_panel_layout_set(Edje_Real_Part *rp, Edje_Input_Panel_Layout layout)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_input_panel_layout_set(en->imf_context, layout);
+#else
+   (void) layout;
+#endif
+}
+
+Edje_Input_Panel_Layout
+_edje_entry_input_panel_layout_get(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
+   en = rp->typedata.text->entry_data;
+   if (!en) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     return ecore_imf_context_input_panel_layout_get(en->imf_context);
+#endif
+
+   return EDJE_INPUT_PANEL_LAYOUT_INVALID;
+}
+
+void
+_edje_entry_imf_context_reset(Edje_Real_Part *rp)
+{
+   Entry *en;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   en = rp->typedata.text->entry_data;
+   if (!en) return;
+#ifdef HAVE_ECORE_IMF
+   if (en->imf_context)
+     ecore_imf_context_reset(en->imf_context);
+#endif
+}
+
+static void
+_edje_entry_imf_cursor_location_set(Entry *en)
+{
+#ifdef HAVE_ECORE_IMF
+   Evas_Coord cx, cy, cw, ch;
+   if (!en || !en->rp || !en->imf_context) return;
+
+   _edje_entry_cursor_geometry_get(en->rp, &cx, &cy, &cw, &ch);
+   ecore_imf_context_cursor_location_set(en->imf_context, cx, cy, cw, ch);
+#else
+   (void) en;
+#endif
+}
+
+static void
+_edje_entry_imf_cursor_info_set(Entry *en)
+{
+#ifdef HAVE_ECORE_IMF
+   if (!en || !en->rp || !en->imf_context) return;
+
+   ecore_imf_context_cursor_position_set(en->imf_context,
+                                         evas_textblock_cursor_pos_get(en->cursor));
+   _edje_entry_imf_cursor_location_set(en);
+#else
+   (void) en;
+#endif
+}
+
+#ifdef HAVE_ECORE_IMF
+static Eina_Bool
+_edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, char **text, int *cursor_pos)
+{
+   Edje *ed = data;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en = NULL;
+   const char *str;
+   char *plain_text;
+
+   if (!rp) return EINA_FALSE;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_FALSE;
+   else
+     en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return EINA_FALSE;
+
+   if (text)
+     {
+        str = _edje_entry_text_get(rp);
+        if (str)
+          plain_text = evas_textblock_text_markup_to_utf8(NULL, str);
+        else
+          plain_text = strdup("");
+        *text = plain_text;
+     }
+
+   if (cursor_pos)
+     *cursor_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+   return EINA_TRUE;
+}
+
+static void
+_edje_entry_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
+{
+   Edje *ed = data;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en = NULL;
+   char *commit_str = event_info;
+   int start_pos;
+
+   if ((!rp)) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   else
+     en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+
+   if (en->have_selection)
+     {
+        if (strcmp(commit_str, ""))
+          {
+             /* delete selected characters */
+             _range_del_emit(ed, en->cursor, rp->object, en);
+             _sel_clear(en->cursor, rp->object, en);
+          }
+     }
+
+   start_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+#ifdef HAVE_ECORE_IMF
+   /* delete preedit characters */
+   _preedit_del(en);
+   _preedit_clear(en);
+#endif
+
+   if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
+       _edje_password_show_last)
+     _edje_entry_hide_visible_password(en->rp);
+   if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
+       _edje_password_show_last && (!en->preedit_start))
+     {
+        _text_filter_format_prepend(en, en->cursor, "+ password=off");
+        _text_filter_text_prepend(en, en->cursor, commit_str);
+        _text_filter_format_prepend(en, en->cursor, "- password");
+
+        if (en->pw_timer)
+          {
+             ecore_timer_del(en->pw_timer);
+             en->pw_timer = NULL;
+          }
+        en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
+                                       _password_timer_cb, en);
+     }
+   else
+     _text_filter_text_prepend(en, en->cursor, commit_str);
+
+
+   _edje_entry_imf_cursor_info_set(en);
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "entry,changed", rp->part->name);
+
+     {
+        Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+        info->insert = EINA_TRUE;
+        info->change.insert.pos = start_pos;
+        info->change.insert.content = eina_stringshare_add(commit_str);
+        info->change.insert.plain_length =
+           eina_unicode_utf8_get_len(info->change.insert.content);
+        _edje_emit_full(ed, "entry,changed,user", rp->part->name,
+                        info, _free_entry_change_info);
+        _edje_emit(ed, "cursor,changed", rp->part->name);
+     }
+
+   _edje_entry_imf_cursor_info_set(en);
+   _edje_entry_real_part_configure(rp);
+}
+
+static void
+_edje_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje *ed = data;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en = NULL;
+   int cursor_pos;
+   int preedit_start_pos, preedit_end_pos;
+   char *preedit_string;
+   int i;
+   Eina_Bool preedit_end_state = EINA_FALSE;
+   Eina_List *attrs = NULL, *l = NULL;
+   Ecore_IMF_Preedit_Attr *attr;
+   Eina_Strbuf *buf;
+
+   if ((!rp)) return;
+
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   else
+     en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+
+   if (!en->imf_context) return;
+
+   ecore_imf_context_preedit_string_with_attributes_get(en->imf_context,
+                                                        &preedit_string,
+                                                        &attrs, &cursor_pos);
+   if (!preedit_string) return;
+
+   if (!strcmp(preedit_string, ""))
+     preedit_end_state = EINA_TRUE;
+
+   if (en->have_selection && !preedit_end_state)
+     {
+        /* delete selected characters */
+        _range_del_emit(ed, en->cursor, rp->object, en);
+     }
+
+   /* delete preedit characters */
+   _preedit_del(en);
+
+   preedit_start_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+   /* insert preedit character(s) */
+   if (strlen(preedit_string) > 0)
+     {
+        buf = eina_strbuf_new();
+        if (attrs)
+          {
+             EINA_LIST_FOREACH(attrs, l, attr)
+               {
+                  if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1)
+                    {
+                       eina_strbuf_append(buf, "<preedit>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit>");
+                    }
+
+                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2 ||
+                           attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3)
+                    {
+                       eina_strbuf_append(buf, "<preedit_sel>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit_sel>");
+                    }
+                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB4)
+                    {
+                       eina_strbuf_append(buf, "<preedit_sub1>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit_sub1>");
+                    }
+                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB5)
+                    {
+                       eina_strbuf_append(buf, "<preedit_sub2>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit_sub2>");
+                    }
+                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB6)
+                    {
+                       eina_strbuf_append(buf, "<preedit_sub3>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit_sub3>");
+                    }
+                  else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB7)
+                    {
+                       eina_strbuf_append(buf, "<preedit_sub4>");
+                       eina_strbuf_append_n(buf, preedit_string + attr->start_index,
+                                            attr->end_index - attr->start_index);
+                       eina_strbuf_append(buf, "</preedit_sub4>");
+                    }
+               }
+          }
+        else
+          {
+             eina_strbuf_append(buf, preedit_string);
+          }
+        if ((rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) &&
+            _edje_password_show_last)
+          {
+             _edje_entry_hide_visible_password(en->rp);
+             _text_filter_format_prepend(en, en->cursor, "+ password=off");
+             _text_filter_markup_prepend(en, en->cursor, eina_strbuf_string_get(buf));
+             _text_filter_format_prepend(en, en->cursor, "- password");
+             if (en->pw_timer)
+               {
+                  ecore_timer_del(en->pw_timer);
+                  en->pw_timer = NULL;
+               }
+             en->pw_timer = ecore_timer_add(TO_DOUBLE(_edje_password_show_last_timeout),
+                                            _password_timer_cb, en);
+          }
+        else
+          {
+             _text_filter_markup_prepend(en, en->cursor, eina_strbuf_string_get(buf));
+          }
+        eina_strbuf_free(buf);
+     }
+
+   if (!preedit_end_state)
+     {
+        /* set preedit start cursor */
+        if (!en->preedit_start)
+          en->preedit_start = evas_object_textblock_cursor_new(rp->object);
+        evas_textblock_cursor_copy(en->cursor, en->preedit_start);
+
+        /* set preedit end cursor */
+        if (!en->preedit_end)
+          en->preedit_end = evas_object_textblock_cursor_new(rp->object);
+        evas_textblock_cursor_copy(en->cursor, en->preedit_end);
+
+        preedit_end_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+        for (i = 0; i < (preedit_end_pos - preedit_start_pos); i++)
+          {
+             evas_textblock_cursor_char_prev(en->preedit_start);
+          }
+
+        en->have_preedit = EINA_TRUE;
+
+        /* set cursor position */
+        evas_textblock_cursor_pos_set(en->cursor, preedit_start_pos + cursor_pos);
+     }
+
+   _edje_entry_imf_cursor_info_set(en);
+   _anchors_get(en->cursor, rp->object, en);
+   _edje_emit(rp->edje, "preedit,changed", rp->part->name);
+   _edje_emit(ed, "cursor,changed", rp->part->name);
+
+   /* delete attribute list */
+   if (attrs)
+     {
+        EINA_LIST_FREE(attrs, attr) free(attr);
+     }
+
+   free(preedit_string);
+}
+
+static void
+_edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
+{
+   Edje *ed = data;
+   Edje_Real_Part *rp = ed->focused_part;
+   Entry *en = NULL;
+   Ecore_IMF_Event_Delete_Surrounding *ev = event_info;
+   Evas_Textblock_Cursor *del_start, *del_end;
+   int cursor_pos;
+
+   if ((!rp) || (!ev)) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   else
+     en = rp->typedata.text->entry_data;
+   if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
+     return;
+
+   cursor_pos = evas_textblock_cursor_pos_get(en->cursor);
+
+   del_start = evas_object_textblock_cursor_new(en->rp->object);
+   evas_textblock_cursor_pos_set(del_start, cursor_pos + ev->offset);
+
+   del_end = evas_object_textblock_cursor_new(en->rp->object);
+   evas_textblock_cursor_pos_set(del_end, cursor_pos + ev->offset + ev->n_chars);
+
+   evas_textblock_cursor_range_delete(del_start, del_end);
+
+   evas_textblock_cursor_free(del_start);
+   evas_textblock_cursor_free(del_end);
+}
+#endif
+
+/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
diff --git a/src/lib/edje/edje_external.c b/src/lib/edje/edje_external.c
new file mode 100644 (file)
index 0000000..9c812f1
--- /dev/null
@@ -0,0 +1,640 @@
+#include "edje_private.h"
+
+static Eina_Hash *type_registry = NULL;
+static int init_count = 0;
+
+EAPI const char *
+edje_external_param_type_str(Edje_External_Param_Type type)
+{
+   switch (type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+        return "INT";
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+        return "DOUBLE";
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+        return "STRING";
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+        return "BOOL";
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+        return "CHOICE";
+      default:
+        return "(unknown)";
+     }
+}
+
+EAPI Evas_Object *
+edje_object_part_external_object_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_external_object_get(part, &ret));
+   return ret;
+}
+
+void
+_part_external_object_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp)
+     {
+       ERR("no part '%s'", part);
+       return;
+     }
+   if (rp->part->type != EDJE_PART_TYPE_EXTERNAL)
+     {
+       ERR("cannot get external object of a part '%s' that is not EXTERNAL",
+           rp->part->name);
+       return;
+     }
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   *ret = rp->typedata.swallow->swallowed_object;
+}
+
+EAPI Eina_Bool
+edje_object_part_external_param_set(Evas_Object *obj, const char *part, const Edje_External_Param *param)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_external_param_set(part, param, &ret));
+   return ret;
+}
+
+void
+_part_external_param_set(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const Edje_External_Param *param = va_arg(*list, const Edje_External_Param *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!param) || (!param->name)) return;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp)
+     {
+       ERR("no part '%s'", part);
+       return;
+     }
+
+   if (_edje_external_param_set(obj, rp, param))
+      if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_external_param_get(const Evas_Object *obj, const char *part, Edje_External_Param *param)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_external_param_get(part, param, &ret));
+   return ret;
+}
+
+void
+_part_external_param_get(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_External_Param *param = va_arg(*list, Edje_External_Param *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   *ret = EINA_FALSE;
+
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!param) || (!param->name)) return;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp)
+     {
+       ERR("no part '%s'", part);
+       return;
+     }
+
+   *ret = _edje_external_param_get(obj, rp, param);
+}
+
+
+
+EAPI Evas_Object *
+edje_object_part_external_content_get(const Evas_Object *obj, const char *part, const char *content)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_external_content_get(part, content, &ret));
+   return ret;
+}
+
+void
+_part_external_content_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *content = va_arg(*list, const char *);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   *ret = NULL;
+
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if (!content) return;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp)
+     {
+       ERR("no part '%s'", part);
+       return;
+     }
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   *ret = _edje_external_content_get(rp->typedata.swallow->swallowed_object, content);
+}
+
+EAPI Edje_External_Param_Type
+edje_object_part_external_param_type_get(const Evas_Object *obj, const char *part, const char *param)
+{
+   if (!obj) return EDJE_EXTERNAL_PARAM_TYPE_MAX;
+   Edje_External_Param_Type ret = EDJE_EXTERNAL_PARAM_TYPE_MAX;
+   eo_do((Eo *)obj, edje_obj_part_external_param_type_get(part, param, &ret));
+   return ret;
+}
+
+void
+_part_external_param_type_get(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *param = va_arg(*list, const char *);
+   Edje_External_Param_Type *ret = va_arg(*list, Edje_External_Param_Type *);
+   *ret = EDJE_EXTERNAL_PARAM_TYPE_MAX;
+
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_External_Type *type;
+   Edje_External_Param_Info *info;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp)
+     {
+       ERR("no part '%s'", part);
+       return;
+     }
+  if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+      (!rp->typedata.swallow)) return;
+   type = evas_object_data_get(rp->typedata.swallow->swallowed_object, "Edje_External_Type");
+   if (!type)
+     {
+       ERR("no external type for object %p", obj);
+       return;
+     }
+   if (!type->parameters_info)
+     {
+       ERR("no parameters information for external type '%s'",
+           type->module_name);
+       return;
+     }
+   for (info = type->parameters_info; info->name; info++)
+     if (strcmp(info->name, param) == 0)
+       {
+          *ret = info->type;
+          return;
+       }
+
+   ERR("no parameter '%s' external type '%s'", param, type->module_name);
+}
+
+
+EAPI Eina_Bool
+edje_external_type_register(const char *type_name, const Edje_External_Type *type_info)
+{
+   if (!type_name)
+     return EINA_FALSE;
+   if (!type_info)
+     return EINA_FALSE;
+
+   if (type_info->abi_version != EDJE_EXTERNAL_TYPE_ABI_VERSION)
+     {
+       ERR("external type '%s' (%p) has incorrect abi version. "
+              "got %#x where %#x was expected.",
+              type_name, type_info,
+              type_info->abi_version, EDJE_EXTERNAL_TYPE_ABI_VERSION);
+       return EINA_FALSE;
+     }
+
+   if (eina_hash_find(type_registry, type_name))
+     {
+       ERR("External type '%s' already registered", type_name);
+       return EINA_FALSE;
+     }
+   return eina_hash_add(type_registry, type_name, type_info);
+}
+
+EAPI Eina_Bool
+edje_external_type_unregister(const char *type_name)
+{
+   if (!type_name)
+     return EINA_FALSE;
+   return eina_hash_del_by_key(type_registry, type_name);
+}
+
+EAPI void
+edje_external_type_array_register(const Edje_External_Type_Info *array)
+{
+   const Edje_External_Type_Info *itr;
+
+   if (!array)
+     return;
+
+   for (itr = array; itr->name; itr++)
+     {
+       if (itr->info->abi_version != EDJE_EXTERNAL_TYPE_ABI_VERSION)
+         {
+            ERR("external type '%s' (%p) has incorrect abi "
+                   "version. got %#x where %#x was expected.",
+                   itr->name, itr->info,
+                   itr->info->abi_version, EDJE_EXTERNAL_TYPE_ABI_VERSION);
+            continue;
+         }
+
+       eina_hash_direct_add(type_registry, itr->name, itr->info);
+     }
+}
+
+EAPI void
+edje_external_type_array_unregister(const Edje_External_Type_Info *array)
+{
+   const Edje_External_Type_Info *itr;
+
+   if (!array)
+     return;
+
+   for (itr = array; itr->name; itr++)
+     eina_hash_del(type_registry, itr->name, itr->info);
+}
+
+EAPI unsigned int
+edje_external_type_abi_version_get(void)
+{
+   return EDJE_EXTERNAL_TYPE_ABI_VERSION;
+}
+
+EAPI Eina_Iterator *
+edje_external_iterator_get(void)
+{
+   return eina_hash_iterator_tuple_new(type_registry);
+}
+
+EAPI Edje_External_Param *
+edje_external_param_find(const Eina_List *params, const char *key)
+{
+   const Eina_List *l;
+   Edje_External_Param *param;
+
+   EINA_LIST_FOREACH(params, l, param)
+      if (!strcmp(param->name, key)) return param;
+
+   return NULL;
+}
+
+EAPI Eina_Bool
+edje_external_param_int_get(const Eina_List *params, const char *key, int *ret)
+{
+   Edje_External_Param *param;
+
+   if (!params) return EINA_FALSE;
+   param = edje_external_param_find(params, key);
+
+   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_INT && ret)
+     {
+       *ret = param->i;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_external_param_double_get(const Eina_List *params, const char *key, double *ret)
+{
+   Edje_External_Param *param;
+
+   if (!params) return EINA_FALSE;
+   param = edje_external_param_find(params, key);
+
+   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE && ret)
+     {
+       *ret = param->d;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_external_param_string_get(const Eina_List *params, const char *key, const char **ret)
+{
+   Edje_External_Param *param;
+
+   if (!params) return EINA_FALSE;
+   param = edje_external_param_find(params, key);
+
+   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING && ret)
+     {
+       *ret = param->s;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_external_param_bool_get(const Eina_List *params, const char *key, Eina_Bool *ret)
+{
+   Edje_External_Param *param;
+
+   if (!params) return EINA_FALSE;
+   param = edje_external_param_find(params, key);
+
+   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL && ret)
+     {
+       *ret = param->i;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI Eina_Bool
+edje_external_param_choice_get(const Eina_List *params, const char *key, const char **ret)
+{
+   Edje_External_Param *param;
+
+   if (!params) return EINA_FALSE;
+   param = edje_external_param_find(params, key);
+
+   if (param && param->type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE && ret)
+     {
+       *ret = param->s;
+       return EINA_TRUE;
+     }
+
+   return EINA_FALSE;
+}
+
+EAPI const Edje_External_Param_Info *
+edje_external_param_info_get(const char *type_name)
+{
+   Edje_External_Type *type;
+
+   type = eina_hash_find(type_registry, type_name);
+   if (!type)
+     return NULL;
+   return type->parameters_info;
+}
+
+EAPI const Edje_External_Type *
+edje_external_type_get(const char *type_name)
+{
+   return eina_hash_find(type_registry, type_name);
+}
+
+void
+_edje_external_init()
+{
+   if (!type_registry)
+     type_registry = eina_hash_string_superfast_new(NULL);
+
+   init_count++;
+}
+
+void
+_edje_external_shutdown()
+{
+   if (--init_count == 0)
+     {
+       eina_hash_free(type_registry);
+       type_registry = NULL;
+     }
+}
+
+Evas_Object *
+_edje_external_type_add(const char *type_name, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name)
+{
+   Edje_External_Type *type;
+   Evas_Object *obj;
+
+   type = eina_hash_find(type_registry, type_name);
+   if (!type)
+     {
+       ERR("external type '%s' not registered", type_name);
+       return NULL;
+     }
+
+   obj = type->add(type->data, evas, parent, params, part_name);
+   if (!obj)
+     {
+       ERR("External type '%s' returned NULL from constructor", type_name);
+       return NULL;
+     }
+
+   evas_object_data_set(obj, "Edje_External_Type", type);
+
+   return obj;
+}
+
+void
+_edje_external_signal_emit(Evas_Object *obj, const char *emission, const char *source)
+{
+   Edje_External_Type *type;
+
+   type = evas_object_data_get(obj, "Edje_External_Type");
+   if (!type)
+     {
+       ERR("External type data not found.");
+       return;
+     }
+
+   type->signal_emit(type->data, obj, emission, source);
+}
+
+Eina_Bool
+_edje_external_param_set(Evas_Object *obj, Edje_Real_Part *rp, const Edje_External_Param *param)
+{
+   Evas_Object *swallowed_object;
+   
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+      (!rp->typedata.swallow)) return EINA_FALSE;
+   swallowed_object = rp->typedata.swallow->swallowed_object;
+   Edje_External_Type *type = evas_object_data_get(swallowed_object, "Edje_External_Type");
+   if (!type)
+     {
+       if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
+            (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+         {
+            if ((param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING) &&
+                (!strcmp (param->name, "text")) && (obj))
+               {
+                  return edje_object_part_text_set(obj, rp->part->name, param->s);
+               }
+         }
+
+       ERR("no external type for object %p", swallowed_object);
+       return EINA_FALSE;
+     }
+   if (!type->param_set)
+     {
+       ERR("external type '%s' from module '%s' does not provide param_set()",
+           type->module_name, type->module);
+       return EINA_FALSE;
+     }
+   return type->param_set(type->data, swallowed_object, param);
+}
+
+Eina_Bool
+_edje_external_param_get(const Evas_Object *obj, Edje_Real_Part *rp, Edje_External_Param *param)
+{
+   Evas_Object *swallowed_object;
+   
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+      (!rp->typedata.swallow)) return EINA_FALSE;
+   swallowed_object = rp->typedata.swallow->swallowed_object;
+   Edje_External_Type *type = evas_object_data_get(swallowed_object, "Edje_External_Type");
+   if (!type)
+     {
+       if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
+            (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+         {
+            const char *text;
+            param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+            param->name = "text";
+            text = edje_object_part_text_get(obj, rp->part->name);
+             param->s = text;
+            return EINA_TRUE;
+         }
+       
+       ERR("no external type for object %p", swallowed_object);
+       return EINA_FALSE;
+     }
+   if (!type->param_get)
+     {
+       ERR("external type '%s' from module '%s' does not provide param_get()",
+           type->module_name, type->module);
+       return EINA_FALSE;
+     }
+   return type->param_get(type->data, swallowed_object, param);
+}
+
+Evas_Object*
+_edje_external_content_get(const Evas_Object *obj, const char *content)
+{
+   Edje_External_Type *type = evas_object_data_get(obj, "Edje_External_Type");
+   if (!type)
+     {
+       ERR("no external type for object %p", obj);
+       return EINA_FALSE;
+     }
+   if (!type->content_get)
+     {
+       ERR("external type '%s' from module '%s' does not provide content_get()",
+           type->module_name, type->module);
+       return EINA_FALSE;
+     }
+   return type->content_get(type->data, obj, content);
+}
+
+void
+_edje_external_params_free(Eina_List *external_params, Eina_Bool free_strings)
+{
+   Edje_External_Param *param;
+
+   EINA_LIST_FREE(external_params, param)
+     {
+       if (free_strings)
+         {
+            if (param->name) eina_stringshare_del(param->name);
+            if (param->s) eina_stringshare_del(param->s);
+         }
+       free(param);
+     }
+}
+
+void
+_edje_external_recalc_apply(Edje *ed EINA_UNUSED, Edje_Real_Part *ep,
+                           Edje_Calc_Params *params EINA_UNUSED,
+                           Edje_Part_Description_Common *chosen_desc EINA_UNUSED)
+{
+   Edje_External_Type *type;
+   Edje_Part_Description_External *ext;
+   void *params1, *params2 = NULL;
+
+   if ((ep->type != EDJE_RP_TYPE_SWALLOW) ||
+      (!ep->typedata.swallow)) return;
+   if (!ep->typedata.swallow->swallowed_object) return;
+   type = evas_object_data_get(ep->typedata.swallow->swallowed_object, "Edje_External_Type");
+
+   if ((!type) || (!type->state_set)) return;
+
+   ext = (Edje_Part_Description_External*) ep->param1.description;
+
+   params1 = ep->param1.external_params ?
+     ep->param1.external_params : ext->external_params;
+
+   if (ep->param2 && ep->param2->description)
+     {
+       ext = (Edje_Part_Description_External*) ep->param2->description;
+
+       params2 = ep->param2->external_params ?
+          ep->param2->external_params : ext->external_params;
+     }
+
+   type->state_set(type->data, ep->typedata.swallow->swallowed_object,
+                   params1, params2, ep->description_pos);
+}
+
+void *
+_edje_external_params_parse(Evas_Object *obj, const Eina_List *params)
+{
+   Edje_External_Type *type;
+
+   type = evas_object_data_get(obj, "Edje_External_Type");
+   if (!type) return NULL;
+
+   if (!type->params_parse) return NULL;
+
+   return type->params_parse(type->data, obj, params);
+}
+
+void
+_edje_external_parsed_params_free(Evas_Object *obj, void *params)
+{
+   Edje_External_Type *type;
+
+   if (!params) return;
+
+   type = evas_object_data_get(obj, "Edje_External_Type");
+   if (!type) return;
+
+   if (!type->params_free) return;
+
+   type->params_free(params);
+}
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
new file mode 100644 (file)
index 0000000..d852777
--- /dev/null
@@ -0,0 +1,1915 @@
+#include "edje_private.h"
+
+typedef struct _Edje_Table_Items Edje_Table_Items;
+struct _Edje_Table_Items
+{
+   Evas_Object *child;
+   const char *part;
+   unsigned short col;
+   unsigned short row;
+   unsigned short colspan;
+   unsigned short rowspan;
+};
+
+typedef struct _Edje_Drag_Items Edje_Drag_Items;
+struct _Edje_Drag_Items
+{
+   const char *part;
+   FLOAT_T x, y, w, h;
+   struct {
+      FLOAT_T x, y;
+   } step;
+   struct {
+      FLOAT_T x, y;
+   } page;
+};
+
+/* START - Nested part support */
+#define _edje_smart_nested_type "Evas_Smart_Nested"
+typedef struct _Edje_Nested_Support Edje_Nested_Support;
+struct _Edje_Nested_Support
+{  /* We builed nested-parts list using this struct */
+   Evas_Object *o;        /* Smart object containing nested children */
+   unsigned char nested_children_count; /* Number of nested children */
+};
+
+Evas_Smart *
+_edje_smart_nested_smart_class_new(void)
+{
+   static Evas_Smart_Class _sc = EVAS_SMART_CLASS_INIT_NAME_VERSION("EdjeNested");
+   static const Evas_Smart_Class *class = NULL;
+   static Evas_Smart *smart;
+
+   if (smart)
+     return smart;
+
+   class = &_sc;
+   smart = evas_smart_class_new(class);
+   return smart;
+}
+
+
+Evas_Object *
+edje_smart_nested_add(Evas *evas)
+{
+      return evas_object_smart_add(evas, _edje_smart_nested_smart_class_new());
+}
+
+/* END   - Nested part support */
+
+
+#ifdef EDJE_PROGRAM_CACHE
+static Eina_Bool  _edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+#endif
+static void _edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it);
+static void _cb_signal_repeat(void *data, Evas_Object *obj, const char *signal, const char *source);
+
+static Eina_List *_edje_object_collect(Edje *ed);
+
+static int _sort_defined_boxes(const void *a, const void *b);
+
+/************************** API Routines **************************/
+
+EAPI Eina_Bool
+edje_object_file_set(Evas_Object *obj, const char *file, const char *group)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+
+   eo_do(obj, edje_obj_file_set(file, group, &ret));
+   _edje_object_orientation_inform(obj);
+   return ret;
+}
+
+EAPI void
+edje_object_file_get(const Evas_Object *obj, const char **file, const char **group)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_file_get(file, group));
+}
+
+void
+_file_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char **file = va_arg(*list, const char **);
+   const char **group = va_arg(*list, const char **);
+   const Edje *ed = _pd;
+   if (file) *file = ed->path;
+   if (group) *group = ed->group;
+}
+
+EAPI Edje_Load_Error
+edje_object_load_error_get(const Evas_Object *obj)
+{
+   if (!obj) return EDJE_LOAD_ERROR_NONE;
+   Edje_Load_Error ret = EDJE_LOAD_ERROR_NONE;
+   eo_do((Eo *)obj, edje_obj_load_error_get(&ret));
+   return ret;
+}
+
+void
+_load_error_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Edje_Load_Error *ret = va_arg(*list, Edje_Load_Error *);
+   const Edje *ed = _pd;
+   *ret = ed->load_error;
+}
+
+EAPI const char *
+edje_load_error_str(Edje_Load_Error error)
+{
+   switch (error)
+     {
+      case EDJE_LOAD_ERROR_NONE:
+        return "No Error";
+      case EDJE_LOAD_ERROR_GENERIC:
+        return "Generic Error";
+      case EDJE_LOAD_ERROR_DOES_NOT_EXIST:
+        return "File Does Not Exist";
+      case EDJE_LOAD_ERROR_PERMISSION_DENIED:
+        return "Permission Denied";
+      case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
+        return "Resource Allocation Failed";
+      case EDJE_LOAD_ERROR_CORRUPT_FILE:
+        return "Corrupt File";
+      case EDJE_LOAD_ERROR_UNKNOWN_FORMAT:
+        return "Unknown Format";
+      case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE:
+        return "Incompatible File";
+      case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION:
+        return "Unknown Collection";
+      case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE:
+        return "Recursive Reference";
+      default:
+        return "Unknown Error";
+     }
+}
+
+
+EAPI Eina_List *
+edje_file_collection_list(const char *file)
+{
+   Eina_List *lst = NULL;
+   Edje_File *edf;
+   int error_ret = 0;
+
+   if ((!file) || (!*file)) return NULL;
+   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
+   if (edf)
+     {
+       Eina_Iterator *i;
+       const char *key;
+
+       i = eina_hash_iterator_key_new(edf->collection);
+
+       EINA_ITERATOR_FOREACH(i, key)
+         lst = eina_list_append(lst, eina_stringshare_add(key));
+
+       eina_iterator_free(i);
+
+       _edje_cache_file_unref(edf);
+     }
+   return lst;
+}
+
+EAPI void
+edje_file_collection_list_free(Eina_List *lst)
+{
+   while (lst)
+     {
+        if (eina_list_data_get(lst)) eina_stringshare_del(eina_list_data_get(lst));
+       lst = eina_list_remove(lst, eina_list_data_get(lst));
+     }
+}
+
+EAPI Eina_Bool
+edje_file_group_exists(const char *file, const char *glob)
+{
+   Edje_File *edf;
+   int error_ret = 0;
+   Eina_Bool succeed = EINA_FALSE;
+   Eina_Bool is_glob = EINA_FALSE;
+   const char *p;
+
+   if ((!file) || (!*file) || (!glob))
+      return EINA_FALSE;
+
+   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
+   if (!edf)
+      return EINA_FALSE;
+
+   for (p = glob; *p; p++)
+     {
+       if ((*p == '*') || (*p == '?') || (*p == '['))
+         {
+           is_glob = EINA_TRUE;
+           break;
+         }
+     }
+
+   if (is_glob)
+     {
+       if (!edf->collection_patterns)
+         {
+           Edje_Part_Collection_Directory_Entry *ce;
+           Eina_Iterator *i;
+           Eina_List *l = NULL;
+
+           i = eina_hash_iterator_data_new(edf->collection);
+
+           EINA_ITERATOR_FOREACH(i, ce)
+             l = eina_list_append(l, ce);
+
+           eina_iterator_free(i);
+
+           edf->collection_patterns = edje_match_collection_dir_init(l);
+           eina_list_free(l);
+         }
+
+       succeed = edje_match_collection_dir_exec(edf->collection_patterns, glob);
+       if (edf->collection_patterns)
+         {
+           edje_match_patterns_free(edf->collection_patterns);
+           edf->collection_patterns = NULL;
+         }
+     }
+   else
+     {
+        if (eina_hash_find(edf->collection, glob)) succeed = EINA_TRUE;
+     }
+   _edje_cache_file_unref(edf);
+
+   INF("edje_file_group_exists: '%s', '%s': %i\n", file, glob, succeed);
+
+   return succeed;
+}
+
+
+EAPI char *
+edje_file_data_get(const char *file, const char *key)
+{
+   Edje_File *edf;
+   char *str = NULL;
+   int error_ret = 0;
+
+   if (key)
+     {
+       edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL, NULL);
+       if (edf)
+         {
+            str = (char*) edje_string_get(eina_hash_find(edf->data, key));
+
+            if (str) str = strdup(str);
+
+            _edje_cache_file_unref(edf);
+         }
+     }
+   return str;
+}
+
+void
+_edje_programs_patterns_clean(Edje *ed)
+{
+   _edje_signals_sources_patterns_clean(&ed->patterns.programs);
+
+   eina_rbtree_delete(ed->patterns.programs.exact_match,
+                     EINA_RBTREE_FREE_CB(edje_match_signal_source_free),
+                     NULL);
+   ed->patterns.programs.exact_match = NULL;
+
+   free(ed->patterns.programs.u.programs.globing);
+   ed->patterns.programs.u.programs.globing = NULL;
+}
+
+void
+_edje_programs_patterns_init(Edje *ed)
+{
+   Edje_Signals_Sources_Patterns *ssp = &ed->patterns.programs;
+   Edje_Program **all;
+   unsigned int i, j;
+
+   if (ssp->signals_patterns)
+     return;
+
+   if (getenv("EDJE_DUMP_PROGRAMS"))
+     {
+       INF("Group '%s' programs:", ed->group);
+#define EDJE_DUMP_PROGRAM(Section)                                     \
+       for (i = 0; i < ed->collection->programs.Section##_count; i++)  \
+        INF(#Section" for ('%s', '%s')", ed->collection->programs.Section[i]->signal, ed->collection->programs.Section[i]->source);
+
+       EDJE_DUMP_PROGRAM(strcmp);
+       EDJE_DUMP_PROGRAM(strncmp);
+       EDJE_DUMP_PROGRAM(strrncmp);
+       EDJE_DUMP_PROGRAM(fnmatch);
+       EDJE_DUMP_PROGRAM(nocmp);
+     }
+
+   edje_match_program_hash_build(ed->collection->programs.strcmp,
+                                ed->collection->programs.strcmp_count,
+                                &ssp->exact_match);
+
+   j = ed->collection->programs.strncmp_count
+     + ed->collection->programs.strrncmp_count
+     + ed->collection->programs.fnmatch_count
+     + ed->collection->programs.nocmp_count;
+   if (j == 0) return ;
+
+   all = malloc(sizeof (Edje_Program *) * j);
+   if (!all) return ;
+   j = 0;
+
+   /* FIXME: Build specialized data type for each case */
+#define EDJE_LOAD_PROGRAMS_ADD(Array, Ed, It, Git, All)                        \
+   for (It = 0; It < Ed->collection->programs.Array##_count; ++It, ++Git) \
+     All[Git] = Ed->collection->programs.Array[It];
+
+   EDJE_LOAD_PROGRAMS_ADD(fnmatch, ed, i, j, all);
+   EDJE_LOAD_PROGRAMS_ADD(strncmp, ed, i, j, all);
+   EDJE_LOAD_PROGRAMS_ADD(strrncmp, ed, i, j, all);
+   /* FIXME: Do a special pass for that one */
+   EDJE_LOAD_PROGRAMS_ADD(nocmp, ed, i, j, all);
+
+   ssp->u.programs.globing = all;
+   ssp->u.programs.count = j;
+   ssp->signals_patterns = edje_match_programs_signal_init(all, j);
+   ssp->sources_patterns = edje_match_programs_source_init(all, j);
+}
+
+#ifdef HAVE_EPHYSICS
+static void
+_edje_physics_world_update_cb(void *data, EPhysics_World *world EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje *edje = data;
+   _edje_recalc_do(edje);
+}
+#endif
+
+int
+_edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested)
+{
+   Edje *ed;
+   Evas *tev;
+   Edje_Real_Part *rp;
+   Eina_List *textblocks = NULL;
+   Eina_List *sources = NULL;
+   Eina_List *externals = NULL;
+   Eina_List *collect = NULL;
+   unsigned int n;
+   Eina_Array parts;
+   int group_path_started = 0;
+   Evas_Object *nested_smart = NULL;
+
+   /* Get data pointer of top-of-stack */
+   int idx = eina_array_count(nested) - 1;
+   Edje_Nested_Support *st_nested = (idx >= 0) ? eina_array_data_get(nested, idx) : NULL;
+
+   ed = _edje_fetch(obj);
+   if (!ed) return 0;
+   if (!file) file = "";
+   if (!group) group = "";
+   if (((ed->path) && (!strcmp(file, ed->path))) &&
+       (ed->group) && (!strcmp(group, ed->group)) &&
+       ed->file)
+     {
+        struct stat st;
+
+        if (stat(file, &st) != 0)
+          return 1;
+        if (st.st_mtime == ed->file->mtime)
+          return 1;
+     }
+
+   tev = evas_object_evas_get(obj);
+   evas_event_freeze(tev);
+
+   collect = _edje_object_collect(ed);
+
+   if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
+   if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
+
+#ifdef HAVE_EPHYSICS
+   /* clear physics world  / shutdown ephysics */
+   if ((ed->collection) && (ed->collection->physics_enabled))
+     {
+        ephysics_world_del(ed->world);
+        ephysics_shutdown();
+     }
+#endif
+
+   _edje_file_del(ed);
+
+   eina_stringshare_replace(&ed->path, file);
+   eina_stringshare_replace(&ed->group, group);
+
+   ed->parent = eina_stringshare_add(parent);
+
+   ed->load_error = EDJE_LOAD_ERROR_NONE;
+   _edje_file_add(ed);
+   ed->block_break = EINA_FALSE;
+
+   if (ed->file && ed->file->external_dir)
+     {
+       unsigned int i;
+
+       for (i = 0; i < ed->file->external_dir->entries_count; ++i)
+         edje_module_load(ed->file->external_dir->entries[i].entry);
+     }
+
+   _edje_textblock_styles_add(ed);
+   _edje_textblock_style_all_update(ed);
+
+   ed->has_entries = EINA_FALSE;
+
+   if (ed->collection)
+     {
+        eina_array_step_set(&parts, sizeof (Eina_Array), 8);
+
+        if (ed->collection->prop.orientation != EDJE_ORIENTATION_AUTO)
+          ed->is_rtl = (ed->collection->prop.orientation ==
+                        EDJE_ORIENTATION_RTL);
+
+       ed->groups = eina_list_append(ed->groups, ed);
+
+       if (ed->collection->script_only)
+         {
+            ed->load_error = EDJE_LOAD_ERROR_NONE;
+            _edje_script_only_init(ed);
+         }
+       else if (ed->collection->lua_script_only)
+         {
+            ed->load_error = EDJE_LOAD_ERROR_NONE;
+            _edje_lua_script_only_init(ed);
+         }
+       else
+         {
+            unsigned int i;
+
+             if (ed->collection->physics_enabled)
+#ifdef HAVE_EPHYSICS
+               {
+                  ephysics_init();
+                  ed->world = ephysics_world_new();
+                  ephysics_world_event_callback_add(
+                     ed->world, EPHYSICS_CALLBACK_WORLD_UPDATE,
+                     _edje_physics_world_update_cb, ed);
+                  ephysics_world_rate_set(ed->world,
+                                          ed->collection->physics.world.rate);
+                  ephysics_world_gravity_set(
+                     ed->world, ed->collection->physics.world.gravity.x,
+                     ed->collection->physics.world.gravity.y,
+                     ed->collection->physics.world.gravity.z);
+               }
+#else
+               ERR("Edje compiled without support to physics.");
+#endif
+
+            /* colorclass stuff */
+            for (i = 0; i < ed->collection->parts_count; ++i)
+              {
+                 Edje_Part *ep;
+                 unsigned int k;
+
+                 ep = ed->collection->parts[i];
+
+                 /* Register any color classes in this parts descriptions. */
+                 if ((ep->default_desc) && (ep->default_desc->color_class))
+                   _edje_color_class_member_add(ed, ep->default_desc->color_class);
+
+                 for (k = 0; k < ep->other.desc_count; k++)
+                   {
+                      Edje_Part_Description_Common *desc;
+
+                      desc = ep->other.desc[k];
+
+                      if (desc->color_class)
+                        _edje_color_class_member_add(ed, desc->color_class);
+                   }
+              }
+            /* build real parts */
+            for (n = 0; n < ed->collection->parts_count; n++)
+              {
+                 Edje_Part *ep;
+                  Eina_Bool memerr = EINA_FALSE;
+
+                 ep = ed->collection->parts[n];
+
+                  if (ep->nested_children_count)
+                    {  /* Add object to nested parts list */
+                       st_nested = malloc(sizeof(*st_nested));
+                       nested_smart = st_nested->o = edje_smart_nested_add(tev);
+
+                       /* We add 1 to children_count because the parent
+                          object is added to smart obj children as well */
+                       st_nested->nested_children_count =
+                          ep->nested_children_count + 1;
+
+                       evas_object_show(st_nested->o);
+
+                       eina_array_push(nested, st_nested);
+                    }
+
+                 rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_Real_Part));
+                 if (!rp)
+                   {
+                       /* FIXME: destroy all allocated ressource, need to have a common exit point */
+                      ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
+                       goto on_error;
+                   }
+
+                 memset(rp, 0, sizeof (Edje_Real_Part));
+
+                 if ((ep->dragable.x != 0) || (ep->dragable.y != 0))
+                   {
+                      rp->drag = calloc(1, sizeof (Edje_Real_Part_Drag));
+                      if (!rp->drag)
+                        {
+                           ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
+                            goto on_error;
+                        }
+
+                      rp->drag->step.x = FROM_INT(ep->dragable.step_x);
+                      rp->drag->step.y = FROM_INT(ep->dragable.step_y);
+                   }
+                  // allow part type specific data - this keeps real_part smaller
+                 switch (ep->type)
+                    {
+                    case EDJE_PART_TYPE_TEXT:
+                    case EDJE_PART_TYPE_TEXTBLOCK:
+                       rp->type = EDJE_RP_TYPE_TEXT;
+                       rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text));
+                       if (!rp->typedata.text) memerr = EINA_TRUE;
+                       break;
+                    case EDJE_PART_TYPE_GROUP:
+                    case EDJE_PART_TYPE_SWALLOW:
+                    case EDJE_PART_TYPE_EXTERNAL:
+                       rp->type = EDJE_RP_TYPE_SWALLOW;
+                       rp->typedata.swallow = calloc(1, sizeof(Edje_Real_Part_Swallow));
+                       if (!rp->typedata.swallow) memerr = EINA_TRUE;
+                       break;
+                    case EDJE_PART_TYPE_BOX:
+                    case EDJE_PART_TYPE_TABLE:
+                       rp->type = EDJE_RP_TYPE_CONTAINER;
+                       rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
+                       if (!rp->typedata.container) memerr = EINA_TRUE;
+                       break;
+                     default:
+                       break;
+                    }
+                  
+                  if (memerr)
+                    {
+                       if (rp->drag) free(rp->drag);
+                       ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
+                       eina_mempool_free(_edje_real_part_mp, rp);
+                       evas_event_thaw(tev);
+                       evas_event_thaw_eval(tev);
+                       return 0;
+                    }
+
+                 rp->edje = ed;
+                 _edje_ref(rp->edje);
+                 rp->part = ep;
+                  eina_array_push(&parts, rp);
+                 rp->param1.description = 
+                    _edje_part_description_find(ed, rp, "default", 0.0);
+                 rp->chosen_description = rp->param1.description;
+                 if (!rp->param1.description)
+                   ERR("no default part description for '%s'!",
+                        rp->part->name);
+
+                 switch (ep->type)
+                   {
+                    case EDJE_PART_TYPE_RECTANGLE:
+                       rp->object = evas_object_rectangle_add(ed->base->evas);
+                       break;
+                     case EDJE_PART_TYPE_PROXY:
+                    case EDJE_PART_TYPE_IMAGE:
+                       rp->object = evas_object_image_add(ed->base->evas);
+                       break;
+                    case EDJE_PART_TYPE_TEXT:
+                       _edje_text_part_on_add(ed, rp);
+                       rp->object = evas_object_text_add(ed->base->evas);
+                       evas_object_text_font_source_set(rp->object, ed->path);
+                       break;
+                    case EDJE_PART_TYPE_GROUP:
+                        sources = eina_list_append(sources, rp);
+                    case EDJE_PART_TYPE_SWALLOW:
+                    case EDJE_PART_TYPE_EXTERNAL:
+                        if (ep->type == EDJE_PART_TYPE_EXTERNAL)
+                          externals = eina_list_append(externals, rp);
+                       rp->object = evas_object_rectangle_add(ed->base->evas);
+                       evas_object_color_set(rp->object, 0, 0, 0, 0);
+                       evas_object_pass_events_set(rp->object, 1);
+                       evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+                       _edje_callbacks_focus_add(rp->object, ed, rp);
+                       break;
+                    case EDJE_PART_TYPE_TEXTBLOCK:
+                       textblocks = eina_list_append(textblocks, rp);
+                       rp->object = evas_object_textblock_add(ed->base->evas);
+                       break;
+                    case EDJE_PART_TYPE_BOX:
+                        sources = eina_list_append(sources, rp);
+                       rp->object = evas_object_box_add(ed->base->evas);
+                        rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object);
+                       break;
+                    case EDJE_PART_TYPE_TABLE:
+                        sources = eina_list_append(sources, rp);
+                       rp->object = evas_object_table_add(ed->base->evas);
+                       break;
+                    case EDJE_PART_TYPE_GRADIENT:
+                       ERR("SPANK ! SPANK ! SPANK ! YOU ARE USING GRADIENT IN PART %s FROM GROUP %s INSIDE FILE %s !! THEY ARE NOW REMOVED !",
+                           ep->name, group, file);
+                       break;
+                    case EDJE_PART_TYPE_SPACER:
+                        rp->object = NULL;
+                        break;
+                    default:
+                       ERR("wrong part type %i!", ep->type);
+                       break;
+                   }
+
+                 if (rp->object)
+                   {
+                       if (nested_smart)
+                         {  /* Update this pointer to father object only
+                               this will make smart object size == father sz */
+                            rp->nested_smart = nested_smart;
+                            nested_smart = NULL;
+                         }
+
+                       if (st_nested && st_nested->nested_children_count)
+                         {  /* Add this to list of children */
+                            evas_object_smart_member_add(rp->object,
+                                                        st_nested->o);
+
+                            st_nested->nested_children_count--;
+
+                            /* No more nested children for this obj */
+                            while (st_nested && (st_nested->nested_children_count == 0))
+                              {
+                                 /* Loop to add smart counter as child */
+                                 Evas_Object *p_obj = st_nested->o;
+
+                                 st_nested = eina_array_pop(nested);
+                                 free(st_nested);
+
+                                 /* Check for parent in stack */
+                                 idx = eina_array_count(nested) - 1;
+                                 st_nested = (idx >= 0) ? eina_array_data_get(nested,idx) : NULL;
+
+                                 if (st_nested)
+                                   {
+                                      st_nested->nested_children_count--;
+                                      evas_object_smart_member_add(p_obj, st_nested->o);
+                                   }
+                                 else
+                                   {
+                                      evas_object_smart_member_add(p_obj, ed->obj);
+                                   }
+                              }
+                         }
+                       else
+                         evas_object_smart_member_add(rp->object, ed->obj);
+
+//                    evas_object_layer_set(rp->object, evas_object_layer_get(ed->obj));
+                      if (ep->type != EDJE_PART_TYPE_SWALLOW && ep->type != EDJE_PART_TYPE_GROUP && ep->type != EDJE_PART_TYPE_EXTERNAL)
+                        {
+                           if (ep->mouse_events)
+                             {
+                                _edje_callbacks_add(rp->object, ed, rp);
+                                if (ep->repeat_events)
+                                  evas_object_repeat_events_set(rp->object, 1);
+                                
+                                if (ep->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
+                                  evas_object_pointer_mode_set(rp->object, ep->pointer_mode);
+                             }
+                           else
+                             {
+                                evas_object_pass_events_set(rp->object, 1);
+                                evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+                             }
+                           if (ep->precise_is_inside)
+                             evas_object_precise_is_inside_set(rp->object, 1);
+                        }
+                      if (rp->part->clip_to_id < 0)
+                        evas_object_clip_set(rp->object, ed->base->clipper);
+                   }
+              }
+            if (n > 0)
+              {
+                 ed->table_parts = malloc(sizeof(Edje_Real_Part *) * n);
+                 ed->table_parts_size = n;
+                 /* FIXME: check malloc return */
+                 n = eina_array_count(&parts) - 1;
+                  while ((rp = eina_array_pop(&parts)))
+                   {
+                      ed->table_parts[n] = rp;
+                      n--;
+                   }
+                 for (i = 0; i < ed->table_parts_size; i++)
+                   {
+                      rp = ed->table_parts[i];
+                      if (rp->param1.description) /* FIXME: prevent rel to gone radient part to go wrong. You may
+                                                     be able to remove this when all theme are correctly rewritten. */
+                        {
+                           if (rp->param1.description->rel1.id_x >= 0)
+                             rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
+                           if (rp->param1.description->rel1.id_y >= 0)
+                             rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
+                           if (rp->param1.description->rel2.id_x >= 0)
+                             rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
+                           if (rp->param1.description->rel2.id_y >= 0)
+                             rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
+                        }
+                      if (rp->part->clip_to_id >= 0)
+                        {
+                           rp->clip_to = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
+                           if (rp->clip_to &&
+                                rp->clip_to->object &&
+                                rp->object)
+                             {
+                                evas_object_pass_events_set(rp->clip_to->object, 1);
+                                evas_object_pointer_mode_set(rp->clip_to->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+                                evas_object_clip_set(rp->object, rp->clip_to->object);
+                             }
+                        }
+                      if (rp->drag)
+                        {
+                           if (rp->part->dragable.confine_id >= 0)
+                             rp->drag->confine_to = ed->table_parts[rp->part->dragable.confine_id % ed->table_parts_size];
+                        }
+
+                      /* replay events for dragable */
+                      if (rp->part->dragable.event_id >= 0)
+                        {
+                           rp->events_to =
+                             ed->table_parts[rp->part->dragable.event_id % ed->table_parts_size];
+                           /* events_to may be used only with dragable */
+                           if (!rp->events_to->part->dragable.x &&
+                               !rp->events_to->part->dragable.y)
+                             rp->events_to = NULL;
+                        }
+
+                       if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                           (rp->typedata.swallow))
+                         {
+                            rp->typedata.swallow->swallow_params.min.w = 0;
+                            rp->typedata.swallow->swallow_params.min.h = 0;
+                            rp->typedata.swallow->swallow_params.max.w = -1;
+                            rp->typedata.swallow->swallow_params.max.h = -1;
+                         }
+
+                      if (rp->part->type == EDJE_PART_TYPE_TEXT
+                          || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+                        {
+                           Edje_Part_Description_Text *text;
+
+                           text = (Edje_Part_Description_Text *) rp->param1.description;
+
+                           if (ed->file->feature_ver < 1)
+                             {
+                                text->text.id_source = -1;
+                                text->text.id_text_source = -1;
+                             }
+
+                            if ((rp->type == EDJE_RP_TYPE_TEXT) &&
+                                (rp->typedata.text))
+                              {
+                                 if (text->text.id_source >= 0)
+                                   rp->typedata.text->source = ed->table_parts[text->text.id_source % ed->table_parts_size];
+                                 if (text->text.id_text_source >= 0)
+                                   rp->typedata.text->text_source = ed->table_parts[text->text.id_text_source % ed->table_parts_size];
+                              }
+                           if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+                             {
+                                _edje_entry_real_part_init(rp);
+                                if (!ed->has_entries)
+                                  ed->has_entries = EINA_TRUE;
+                             }
+                        }
+                   }
+              }
+            
+            _edje_programs_patterns_init(ed);
+
+            n = ed->collection->programs.fnmatch_count +
+              ed->collection->programs.strcmp_count +
+              ed->collection->programs.strncmp_count +
+              ed->collection->programs.strrncmp_count +
+              ed->collection->programs.nocmp_count;
+            if (n > 0)
+              {
+                 Edje_Program *pr;
+
+                 ed->table_programs = malloc(sizeof(Edje_Program *) * n);
+                 if (ed->table_programs)
+                   {
+                      ed->table_programs_size = n;
+
+#define EDJE_LOAD_BUILD_TABLE(Array, Ed, It, Tmp)      \
+                      for (It = 0; It < Ed->collection->programs.Array##_count; ++It) \
+                        {                                              \
+                           Tmp = Ed->collection->programs.Array[It];   \
+                           Ed->table_programs[Tmp->id] = Tmp;          \
+                        }
+
+                      EDJE_LOAD_BUILD_TABLE(fnmatch, ed, i, pr);
+                      EDJE_LOAD_BUILD_TABLE(strcmp, ed, i, pr);
+                      EDJE_LOAD_BUILD_TABLE(strncmp, ed, i, pr);
+                      EDJE_LOAD_BUILD_TABLE(strrncmp, ed, i, pr);
+                      EDJE_LOAD_BUILD_TABLE(nocmp, ed, i, pr);
+                   }
+              }
+            _edje_ref(ed);
+            _edje_block(ed);
+            _edje_freeze(ed);
+//          if (ed->collection->script) _edje_embryo_script_init(ed);
+            _edje_var_init(ed);
+            for (i = 0; i < ed->table_parts_size; i++)
+              {
+                 rp = ed->table_parts[i];
+                 evas_object_show(rp->object);
+                 if (_edje_block_break(ed)) break;
+                 if (rp->drag)
+                   {
+                      if (rp->part->dragable.x < 0) rp->drag->val.x = FROM_DOUBLE(1.0);
+                      if (rp->part->dragable.y < 0) rp->drag->val.x = FROM_DOUBLE(1.0);
+                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                   }
+              }
+             ed->recalc_call = EINA_TRUE;
+            ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+            ed->all_part_change = EINA_TRUE;
+#endif
+            if ((evas_object_clipees_get(ed->base->clipper)) &&
+                (evas_object_visible_get(obj)))
+              evas_object_show(ed->base->clipper);
+
+            /* instantiate 'internal swallows' */
+             EINA_LIST_FREE(externals, rp)
+               {
+                  Edje_Part_Description_External *external;
+                  Evas_Object *child_obj;
+
+                  external = (Edje_Part_Description_External *) rp->part->default_desc;
+                  child_obj = _edje_external_type_add(rp->part->source,
+                                                      evas_object_evas_get(ed->obj), ed->obj,
+                                                      external->external_params, rp->part->name);
+                  if (child_obj)
+                    {
+                       _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
+                       rp->param1.external_params = _edje_external_params_parse(child_obj,
+                                                                                external->external_params);
+                       _edje_external_recalc_apply(ed, rp, NULL, rp->chosen_description);
+                    }
+               }
+
+             EINA_LIST_FREE(sources, rp)
+              {
+                 /* XXX: curr_item and pack_it don't require to be NULL since
+                  * XXX: they are just used when source != NULL and type == BOX,
+                  * XXX: and they're always set in this case, but GCC fails to
+                  * XXX: notice that, so let's shut it up
+                  */
+                 Edje_Pack_Element **curr_item = NULL;
+                 unsigned int item_count = 0;
+                 Edje_Pack_Element *pack_it = NULL;
+                 const char *source = NULL;
+
+                 switch (rp->part->type)
+                   {
+                    case EDJE_PART_TYPE_GROUP:
+                       source = rp->part->source;
+                       break;
+                    case EDJE_PART_TYPE_BOX:
+                    case EDJE_PART_TYPE_TABLE:
+                       if (rp->part->items)
+                         {
+                            curr_item = rp->part->items;
+                            item_count = rp->part->items_count;
+                            if (item_count > 0)
+                              {
+                                 pack_it = *curr_item;
+                                 source = pack_it->source;
+                                 item_count--;
+                                 curr_item++;
+                              }
+                         }
+                       break;
+                    default:
+                        /* This list should only be filled by group, box or table, nothing else. */
+                        abort();
+                       continue;
+                   }
+
+                 while (source)
+                   {
+                      Eina_List *l;
+                      Evas_Object *child_obj;
+                      const char *group_path_entry = eina_stringshare_add(source);
+                      const char *data;
+
+                      if (!group_path)
+                        {
+                           group_path = eina_list_append(NULL, eina_stringshare_add(group));
+                           group_path_started = 1;
+                        }
+                      /* make sure that this group isn't already in the tree of parents */
+                      EINA_LIST_FOREACH(group_path, l, data)
+                        {
+                           if (data == group_path_entry)
+                             {
+                                 ERR("recursive loop group '%s' already included inside part '%s' of group '%s' from file '%s'",
+                                     group_path_entry, rp->part->name, group, file);
+                                 ed->load_error = EDJE_LOAD_ERROR_RECURSIVE_REFERENCE;
+                                 eina_stringshare_del(group_path_entry);
+                                goto on_error;
+                             }
+                        }
+
+                      child_obj = edje_object_add(ed->base->evas);
+                      group_path = eina_list_append(group_path, group_path_entry);
+                      if (rp->part->type == EDJE_PART_TYPE_GROUP)
+                        {
+                            _edje_real_part_swallow(rp, child_obj, EINA_FALSE);
+                        }
+
+                      if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path, nested))
+                        {
+                            ERR("impossible to set part '%s' of group '%s' from file '%s' to '%s'",
+                                rp->part->name, group_path_entry, file, source);
+                           ed->load_error = edje_object_load_error_get(child_obj);
+                            evas_object_del(child_obj);
+                            eina_stringshare_del(group_path_entry);
+                            goto on_error;
+                        }
+
+                      group_path = eina_list_remove(group_path, group_path_entry);
+                      eina_stringshare_del(group_path_entry);
+
+                       edje_object_propagate_callback_add(child_obj,
+                                                          _cb_signal_repeat,
+                                                          obj);
+                      if (rp->part->type == EDJE_PART_TYPE_GROUP)
+                        {
+                            ed->groups = eina_list_append(ed->groups, _edje_fetch(child_obj));
+                            _edje_real_part_swallow(rp, child_obj, EINA_TRUE);
+                            _edje_subobj_register(ed, child_obj);
+                           source = NULL;
+                        }
+                      else
+                        {
+                            if ((rp->type == EDJE_RP_TYPE_CONTAINER) &&
+                                (rp->typedata.container))
+                              {
+                                 pack_it->parent = rp;
+                                 
+                                 _edje_object_pack_item_hints_set(child_obj, pack_it);
+                                 if (pack_it->name)
+                                   evas_object_name_set(child_obj, pack_it->name);
+                                 
+                                 if (rp->part->type == EDJE_PART_TYPE_BOX)
+                                   {
+                                      _edje_real_part_box_append(rp, child_obj);
+                                      evas_object_data_set(child_obj, "\377 edje.box_item", pack_it);
+                                   }
+                                 else if (rp->part->type == EDJE_PART_TYPE_TABLE)
+                                   {
+                                      _edje_real_part_table_pack(rp, child_obj, pack_it->col, pack_it->row, pack_it->colspan, pack_it->rowspan);
+                                      evas_object_data_set(child_obj, "\377 edje.table_item", pack_it);
+                                   }
+                                 _edje_subobj_register(ed, child_obj);
+                                 evas_object_show(child_obj);
+                                 rp->typedata.container->items = eina_list_append(rp->typedata.container->items, child_obj);
+                                 
+                                 if (item_count > 0)
+                                   {
+                                      pack_it = *curr_item;
+                                      source = pack_it->source;
+                                      curr_item++;
+                                      item_count--;
+                                   }
+                                 else
+                                   {
+                                      source = NULL;
+                                      curr_item = NULL;
+                                      pack_it = NULL;
+                                   }
+                              }
+                        }
+                   }
+              }
+
+            if (group_path_started)
+              {
+                 const char *str;
+
+                 EINA_LIST_FREE(group_path, str)
+                   eina_stringshare_del(str);
+              }
+
+            /* reswallow any swallows that existed before setting the file */
+             if (collect)
+               {
+                  Edje_User_Defined *eud;
+                  Eina_List *boxes = NULL;
+
+                  EINA_LIST_FREE(collect, eud)
+                    {
+                       Evas_Object *child = NULL;
+
+                       switch (eud->type)
+                         {
+                          case EDJE_USER_SWALLOW:
+                             edje_object_part_swallow(obj, eud->part, eud->u.swallow.child);
+                             child = eud->u.swallow.child;
+                             break;
+                          case EDJE_USER_BOX_PACK:
+                             boxes = eina_list_append(boxes, eud);
+                             eud = NULL;
+                             break;
+                          case EDJE_USER_TABLE_PACK:
+                             edje_object_part_table_pack(obj, eud->part, eud->u.table.child,
+                                                         eud->u.table.col, eud->u.table.row,
+                                                         eud->u.table.colspan, eud->u.table.rowspan);
+                             child = eud->u.table.child;
+                             break;
+                          case EDJE_USER_DRAG_STEP:
+                             edje_object_part_drag_step_set(obj, eud->part,
+                                                            eud->u.drag_position.x,
+                                                            eud->u.drag_position.y);
+                             break;
+                          case EDJE_USER_DRAG_PAGE:
+                             edje_object_part_drag_page_set(obj, eud->part,
+                                                            eud->u.drag_position.x,
+                                                            eud->u.drag_position.y);
+                             break;
+                          case EDJE_USER_DRAG_VALUE:
+                             edje_object_part_drag_value_set(obj, eud->part,
+                                                             eud->u.drag_position.x,
+                                                             eud->u.drag_position.y);
+                             break;
+                          case EDJE_USER_DRAG_SIZE:
+                             edje_object_part_drag_size_set(obj, eud->part,
+                                                            eud->u.drag_size.w,
+                                                            eud->u.drag_size.h);
+                             break;
+                          case EDJE_USER_STRING:
+                             edje_object_part_text_set(obj, eud->part, eud->u.string.text);
+                             eina_stringshare_del(eud->u.string.text);
+                             break;
+                         }
+                       if (eud) _edje_user_definition_remove(eud, child);
+                    }
+
+                  boxes = eina_list_sort(boxes, -1, _sort_defined_boxes);
+                  EINA_LIST_FREE(boxes, eud)
+                    {
+                       edje_object_part_box_append(obj, eud->part, eud->u.box.child);
+                       _edje_user_definition_remove(eud, eud->u.box.child);
+                    }
+               }
+
+             if (edje_object_mirrored_get(obj))
+               edje_object_signal_emit(obj, "edje,state,rtl", "edje");
+             else
+               edje_object_signal_emit(obj, "edje,state,ltr", "edje");
+
+            _edje_recalc(ed);
+            _edje_thaw(ed);
+            _edje_unblock(ed);
+            _edje_unref(ed);
+            ed->load_error = EDJE_LOAD_ERROR_NONE;
+            _edje_emit(ed, "load", NULL);
+
+            /* instantiate 'internal textblock style' */
+             EINA_LIST_FREE(textblocks, rp)
+               if (rp->part->default_desc)
+                 {
+                    Edje_Part_Description_Text *text;
+                    Edje_Style *stl  = NULL;
+                    const char *style;
+
+                    text = (Edje_Part_Description_Text *) rp->part->default_desc;
+                    style = edje_string_get(&text->text.style);
+                    if (style)
+                      {
+                         Eina_List *l;
+
+                         EINA_LIST_FOREACH(ed->file->styles, l, stl)
+                           {
+                              if ((stl->name) && (!strcmp(stl->name, style))) break;
+                              stl = NULL;
+                           }
+                      }
+                    if (stl)
+                      {
+                         if (evas_object_textblock_style_get(rp->object) != stl->style)
+                           evas_object_textblock_style_set(rp->object, stl->style);
+                      }
+                 }
+         }
+        _edje_entry_init(ed);
+        eina_array_flush(&parts);
+        evas_event_thaw(tev);
+        evas_event_thaw_eval(tev);
+       return 1;
+     }
+   else
+     {
+        evas_event_thaw(tev);
+        evas_event_thaw_eval(tev);
+        return 0;
+     }
+   ed->load_error = EDJE_LOAD_ERROR_NONE;
+   _edje_entry_init(ed);
+   evas_event_thaw(tev);
+   evas_event_thaw_eval(tev);
+   return 1;
+
+ on_error:
+   eina_list_free(textblocks);
+   eina_list_free(externals);
+   eina_list_free(sources);
+   eina_array_flush(&parts);
+   _edje_thaw(ed);
+   _edje_unblock(ed);
+   _edje_unref(ed);
+   _edje_file_del(ed);
+   if (group_path_started)
+     {
+        const char *path;
+
+        EINA_LIST_FREE(group_path, path)
+          eina_stringshare_del(path);
+     }
+   evas_event_thaw(tev);
+   evas_event_thaw_eval(tev);
+   return 0;
+}
+
+void
+_edje_file_add(Edje *ed)
+{
+   if (!_edje_edd_edje_file) return;
+   ed->file = _edje_cache_file_coll_open(ed->path, ed->group,
+                                        &(ed->load_error),
+                                        &(ed->collection),
+                                        ed);
+
+   if (!ed->collection)
+     {
+       if (ed->file)
+         {
+            _edje_cache_file_unref(ed->file);
+            ed->file = NULL;
+         }
+     }
+}
+
+static int
+_sort_defined_boxes(const void *a, const void *b)
+{
+   const Edje_User_Defined *euda = a;
+   const Edje_User_Defined *eudb = b;
+
+   if (euda->part - eudb->part != 0)
+     return euda->part - eudb->part;
+   return euda->u.box.index - eudb->u.box.index;
+}
+
+static Eina_List *
+_edje_object_collect(Edje *ed)
+{
+   Edje_User_Defined *eud;
+   Eina_List *collect;
+   Eina_List *l;
+
+   collect = ed->user_defined;
+   ed->user_defined = NULL;
+
+   EINA_LIST_FOREACH(collect, l, eud)
+     {
+        switch (eud->type)
+          {
+           case EDJE_USER_STRING:
+              eud->u.string.text = eina_stringshare_ref(eud->u.string.text);
+              break;
+           case EDJE_USER_BOX_PACK:
+              if (eud->u.box.index == -1)
+                {
+                   Edje_User_Defined *search;
+                   Edje_Real_Part *rp;
+                   Eina_List *children;
+                   Eina_List *ls;
+                   Evas_Object *child;
+                   int idx = 0;
+
+                   rp = _edje_real_part_recursive_get(ed, eud->part);
+                   if (rp->part->type != EDJE_PART_TYPE_BOX) continue ;
+
+                   children = evas_object_box_children_get(rp->object);
+                   EINA_LIST_FREE(children, child)
+                     if (!evas_object_data_get(child, "\377 edje.box_item"))
+                       {
+                          EINA_LIST_FOREACH(l, ls, search)
+                            {
+                               if (search->type == EDJE_USER_BOX_PACK &&
+                                   search->u.box.child == child &&
+                                   search->part == eud->part /* beauty of stringshare ! */)
+                                 {
+                                    search->u.box.index = idx++;
+                                    break;
+                                 }
+                            }
+                          _edje_real_part_box_remove(rp, child);
+                       }
+                }
+              break;
+           case EDJE_USER_TABLE_PACK:
+             {
+                Edje_Real_Part *rp;
+
+                rp = _edje_real_part_recursive_get(ed, eud->part);
+                if (rp->part->type != EDJE_PART_TYPE_TABLE) continue ;
+
+                _edje_real_part_table_unpack(rp, eud->u.table.child);
+                break;
+             }
+           case EDJE_USER_SWALLOW:
+              edje_object_part_unswallow(NULL, eud->u.swallow.child);
+              break;
+           case EDJE_USER_DRAG_STEP:
+           case EDJE_USER_DRAG_PAGE:
+           case EDJE_USER_DRAG_VALUE:
+           case EDJE_USER_DRAG_SIZE:
+              break;
+          }
+     }
+
+   return collect;
+}
+
+void
+_edje_file_del(Edje *ed)
+{
+   Edje_User_Defined *eud;
+   Evas *tev = NULL;
+   
+   if (ed->obj) tev = evas_object_evas_get(ed->obj);
+
+   ed->groups = eina_list_free(ed->groups);
+
+   if (tev) evas_event_freeze(tev);
+   if (ed->freeze_calc)
+     {
+        _edje_freeze_calc_list = eina_list_remove(_edje_freeze_calc_list, ed);
+        ed->freeze_calc = EINA_FALSE;
+        _edje_freeze_calc_count--;
+     }
+   _edje_entry_shutdown(ed);
+   _edje_message_del(ed);
+   _edje_block_violate(ed);
+   _edje_var_shutdown(ed);
+   _edje_programs_patterns_clean(ed);
+//   if (ed->collection)
+//     {
+//        if (ed->collection->script) _edje_embryo_script_shutdown(ed);
+//     }
+
+   if (!((ed->file) && (ed->collection)))
+     {
+        if (tev)
+          {
+             evas_event_thaw(tev);
+             evas_event_thaw_eval(tev);
+          }
+        return;
+     }
+
+   while (ed->user_defined)
+     {
+        eud = eina_list_data_get(ed->user_defined);
+        _edje_user_definition_free(eud);
+     }
+
+   if (ed->table_parts)
+     {
+       unsigned int i;
+       for (i = 0; i < ed->table_parts_size; i++)
+         {
+            Edje_Real_Part *rp;
+#ifdef HAVE_EPHYSICS
+             Evas_Object *face_obj;
+#endif
+
+            rp = ed->table_parts[i];
+
+#ifdef HAVE_EPHYSICS
+             EINA_LIST_FREE(rp->body_faces, face_obj)
+                evas_object_del(face_obj);
+#endif
+
+            if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+              _edje_entry_real_part_shutdown(rp);
+
+             if ((rp->type == EDJE_RP_TYPE_CONTAINER) &&
+                 (rp->typedata.container))
+               {
+                  if (rp->typedata.container->items)
+                    {
+                       /* evas_box/table handles deletion of objects */
+                       rp->typedata.container->items = eina_list_free(rp->typedata.container->items);
+                    }
+                  if (rp->typedata.container->anim)
+                    {
+                       _edje_box_layout_free_data(rp->typedata.container->anim);
+                       rp->typedata.container->anim = NULL;
+                    }
+                  free(rp->typedata.container);
+               }
+             else if ((rp->type == EDJE_RP_TYPE_TEXT) &&
+                      (rp->typedata.text))
+               {
+                  if (rp->typedata.text->text) eina_stringshare_del(rp->typedata.text->text);
+                  if (rp->typedata.text->font) eina_stringshare_del(rp->typedata.text->font);
+                  if (rp->typedata.text->cache.in_str) eina_stringshare_del(rp->typedata.text->cache.in_str);
+                  if (rp->typedata.text->cache.out_str) eina_stringshare_del(rp->typedata.text->cache.out_str);
+                  free(rp->typedata.text);
+               }
+             else if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                      (rp->typedata.swallow))
+               {
+                  if (rp->typedata.swallow->swallowed_object)
+                    {
+                       /* Objects swallowed by the app do not get deleted,
+                        but those internally swallowed (GROUP type) do. */
+                       switch (rp->part->type)
+                         {
+                          case EDJE_PART_TYPE_EXTERNAL:
+                            _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, rp->param1.external_params);
+                            if (rp->param2)
+                              _edje_external_parsed_params_free(rp->typedata.swallow->swallowed_object, rp->param2->external_params);
+                          case EDJE_PART_TYPE_GROUP:
+                            evas_object_del(rp->typedata.swallow->swallowed_object);
+                          default:
+                            break;
+                         }
+                       _edje_real_part_swallow_clear(rp);
+                       rp->typedata.swallow->swallowed_object = NULL;
+                    }
+                  free(rp->typedata.swallow);
+               }
+
+            if (rp->object)
+              {
+                 _edje_callbacks_del(rp->object, ed);
+                 _edje_callbacks_focus_del(rp->object, ed);
+                 evas_object_del(rp->object);
+              }
+
+            if (rp->custom)
+               {
+                  // xxx: lua2
+                  _edje_collection_free_part_description_clean(rp->part->type,
+                                                              rp->custom->description,
+                                                              ed->file->free_strings);
+                 free(rp->custom->description);
+                 rp->custom->description = NULL;
+               }
+
+            /* Cleanup optional part. */
+            free(rp->drag);
+            free(rp->param1.set);
+
+            if (rp->param2)
+              free(rp->param2->set);
+            eina_mempool_free(_edje_real_part_state_mp, rp->param2);
+
+            if (rp->custom)
+              free(rp->custom->set);
+            eina_mempool_free(_edje_real_part_state_mp, rp->custom);
+             
+            _edje_unref(rp->edje);
+            eina_mempool_free(_edje_real_part_mp, rp);
+         }
+     }
+   if ((ed->file) && (ed->collection))
+     {
+       Edje_Part *ep;
+       unsigned int i;
+
+       _edje_textblock_styles_del(ed);
+       for (i = 0; i < ed->collection->parts_count; ++i)
+         {
+            ep = ed->collection->parts[i];
+
+            _edje_text_part_on_del(ed, ep);
+            _edje_color_class_on_del(ed, ep);
+         }
+
+       _edje_cache_coll_unref(ed->file, ed->collection);
+       ed->collection = NULL;
+     }
+   if (ed->file)
+     {
+#ifdef HAVE_EIO
+        ed->file->edjes = eina_list_remove(ed->file->edjes, ed);
+#endif
+        _edje_cache_file_unref(ed->file);
+       ed->file = NULL;
+     }
+   if (ed->actions)
+     {
+       Edje_Running_Program *runp;
+
+       EINA_LIST_FREE(ed->actions, runp)
+         {
+            _edje_anim_count--;
+            free(runp);
+         }
+     }
+   _edje_animators = eina_list_remove(_edje_animators, ed);
+   if (ed->pending_actions)
+     {
+       Edje_Pending_Program *pp;
+
+       EINA_LIST_FREE(ed->pending_actions, pp)
+         {
+            ecore_timer_del(pp->timer);
+            free(pp);
+         }
+     }
+
+   if (ed->L) _edje_lua2_script_shutdown(ed);
+   while (ed->subobjs) _edje_subobj_unregister(ed, ed->subobjs->data);
+   if (ed->table_parts) free(ed->table_parts);
+   ed->table_parts = NULL;
+   ed->table_parts_size = 0;
+   if (ed->table_programs) free(ed->table_programs);
+   ed->table_programs = NULL;
+   ed->table_programs_size = 0;
+   ed->focused_part = NULL;
+   if (tev)
+     {
+        evas_event_thaw(tev);
+        evas_event_thaw_eval(tev);
+     }
+}
+
+void
+_edje_file_free(Edje_File *edf)
+{
+   Edje_Color_Class *ecc;
+#ifdef HAVE_EIO
+   Ecore_Event_Handler *event;
+#endif
+
+#define HASH_FREE(Hash)                                \
+   if (Hash) eina_hash_free(Hash);             \
+   Hash = NULL;
+
+   /* Clean cache before cleaning memory pool */
+   if (edf->collection_cache) _edje_cache_coll_flush(edf);
+
+   HASH_FREE(edf->fonts);
+   HASH_FREE(edf->collection);
+   HASH_FREE(edf->data);
+
+   if (edf->image_dir)
+     {
+       unsigned int i;
+
+       if (edf->free_strings)
+         {
+            for (i = 0; i < edf->image_dir->entries_count; ++i)
+              eina_stringshare_del(edf->image_dir->entries[i].entry);
+         }
+
+       /* Sets have been added after edje received eet dictionnary support */
+       for (i = 0; i < edf->image_dir->sets_count; ++i)
+         {
+            Edje_Image_Directory_Set_Entry *se;
+
+            EINA_LIST_FREE(edf->image_dir->sets[i].entries, se)
+              free(se);
+
+         }
+
+       free(edf->image_dir->entries);
+       free(edf->image_dir->sets);
+       free(edf->image_dir);
+     }
+   if (edf->sound_dir)
+     {
+        unsigned int i;
+
+        if (edf->free_strings)
+          {
+             for (i = 0; i < edf->sound_dir->samples_count; ++i)
+               {
+                  eina_stringshare_del(edf->sound_dir->samples[i].name);
+                  eina_stringshare_del(edf->sound_dir->samples[i].snd_src);
+               }
+
+             for (i = 0; i < edf->sound_dir->tones_count; ++i)
+               eina_stringshare_del(edf->sound_dir->tones[i].name);
+          }
+        free(edf->sound_dir->samples);
+        free(edf->sound_dir->tones);
+        free(edf->sound_dir);
+     }
+
+   if (edf->external_dir)
+     {
+       if (edf->external_dir->entries) free(edf->external_dir->entries);
+       free(edf->external_dir);
+     }
+
+   eina_hash_free(edf->color_hash);
+   EINA_LIST_FREE(edf->color_classes, ecc)
+     {
+       if (edf->free_strings && ecc->name) eina_stringshare_del(ecc->name);
+       free(ecc);
+     }
+
+   if (edf->collection_patterns) edje_match_patterns_free(edf->collection_patterns);
+#ifdef HAVE_EIO
+   if (edf->timeout) ecore_timer_del(edf->timeout);
+   EINA_LIST_FREE(edf->handlers, event)
+     ecore_event_handler_del(event);
+   eio_monitor_del(edf->monitor);
+#endif
+   if (edf->path) eina_stringshare_del(edf->path);
+   if (edf->free_strings && edf->compiler) eina_stringshare_del(edf->compiler);
+   _edje_textblock_style_cleanup(edf);
+   if (edf->ef) eet_close(edf->ef);
+   free(edf);
+}
+
+static void
+_edje_program_free(Edje_Program *pr, Eina_Bool free_strings)
+{
+   Edje_Program_Target *prt;
+   Edje_Program_After *pa;
+
+   if (free_strings)
+     {
+       if (pr->name) eina_stringshare_del(pr->name);
+       if (pr->signal) eina_stringshare_del(pr->signal);
+       if (pr->source) eina_stringshare_del(pr->source);
+       if (pr->filter.part) eina_stringshare_del(pr->filter.part);
+       if (pr->filter.state) eina_stringshare_del(pr->filter.state);
+       if (pr->state) eina_stringshare_del(pr->state);
+       if (pr->state2) eina_stringshare_del(pr->state2);
+   if (pr->sample_name) eina_stringshare_del(pr->sample_name);
+   if (pr->tone_name) eina_stringshare_del(pr->tone_name);
+     }
+   EINA_LIST_FREE(pr->targets, prt)
+     free(prt);
+   EINA_LIST_FREE(pr->after, pa)
+     free(pa);
+   free(pr);
+}
+
+void
+_edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec, Edje_Part_Collection_Directory_Entry *ce)
+{
+   unsigned int i;
+
+   _edje_embryo_script_shutdown(ec);
+
+#define EDJE_LOAD_PROGRAM_FREE(Array, Ec, It, FreeStrings)     \
+   for (It = 0; It < Ec->programs.Array##_count; ++It)         \
+     _edje_program_free(Ec->programs.Array[It], FreeStrings);  \
+   free(Ec->programs.Array);
+
+   EDJE_LOAD_PROGRAM_FREE(fnmatch, ec, i, edf->free_strings);
+   EDJE_LOAD_PROGRAM_FREE(strcmp, ec, i, edf->free_strings);
+   EDJE_LOAD_PROGRAM_FREE(strncmp, ec, i, edf->free_strings);
+   EDJE_LOAD_PROGRAM_FREE(strrncmp, ec, i, edf->free_strings);
+   EDJE_LOAD_PROGRAM_FREE(nocmp, ec, i, edf->free_strings);
+
+   for (i = 0; i < ec->parts_count; ++i)
+     {
+       Edje_Part *ep;
+       unsigned int j;
+
+       ep = ec->parts[i];
+
+       if (edf->free_strings && ep->name) eina_stringshare_del(ep->name);
+       if (ep->default_desc)
+         {
+            _edje_collection_free_part_description_clean(ep->type, ep->default_desc, edf->free_strings);
+            ep->default_desc = NULL;
+         }
+       for (j = 0; j < ep->other.desc_count; ++j)
+         _edje_collection_free_part_description_clean(ep->type, ep->other.desc[j], edf->free_strings);
+
+       free(ep->other.desc);
+        /* Alloc for RTL objects in edje_calc.c:_edje_part_description_find() */
+        if(ep->other.desc_rtl)
+          free(ep->other.desc_rtl);
+
+       free(ep->items);
+// technically need this - but we ASSUME we use "one_big" so everything gets
+// freed in one go lower down when we del the mempool... but what if pool goes
+// "over"?
+        eina_mempool_free(ce->mp.part, ep);
+     }
+   free(ec->parts);
+   ec->parts = NULL;
+
+   if (ec->data)
+     {
+       Eina_Iterator *it;
+       Edje_String *es;
+
+       it = eina_hash_iterator_data_new(ec->data);
+       EINA_ITERATOR_FOREACH(it, es)
+         free(es);
+       eina_iterator_free(it);
+
+       eina_hash_free(ec->data);
+     }
+#ifdef EDJE_PROGRAM_CACHE
+   if (ec->prog_cache.no_matches) eina_hash_free(ec->prog_cache.no_matches);
+   if (ec->prog_cache.matches)
+     {
+       eina_hash_foreach(ec->prog_cache.matches,
+                         _edje_collection_free_prog_cache_matches_free_cb,
+                         NULL);
+       eina_hash_free(ec->prog_cache.matches);
+     }
+#endif
+   if (ec->script) embryo_program_free(ec->script);
+   _edje_lua2_script_unload(ec);
+
+   eina_hash_free(ec->alias);
+   eina_hash_free(ec->aliased);
+
+   /* Destroy all part and description. */
+   edje_cache_emp_free(ce);
+   free(ec);
+}
+
+void
+_edje_collection_free_part_description_clean(int type, Edje_Part_Description_Common *desc, Eina_Bool free_strings)
+{
+   if (free_strings && desc->color_class) eina_stringshare_del(desc->color_class);
+
+   switch (type)
+     {
+      case EDJE_PART_TYPE_IMAGE:
+       {
+          Edje_Part_Description_Image *img;
+          unsigned int i;
+
+          img = (Edje_Part_Description_Image *) desc;
+
+          for (i = 0; i < img->image.tweens_count; ++i)
+            free(img->image.tweens[i]);
+          free(img->image.tweens);
+          break;
+       }
+      case EDJE_PART_TYPE_EXTERNAL:
+       {
+          Edje_Part_Description_External *external;
+
+          external = (Edje_Part_Description_External *) desc;
+
+          if (external->external_params)
+            _edje_external_params_free(external->external_params, free_strings);
+          break;
+       }
+      case EDJE_PART_TYPE_TEXT:
+      case EDJE_PART_TYPE_TEXTBLOCK:
+        if (free_strings)
+          {
+             Edje_Part_Description_Text *text;
+
+             text = (Edje_Part_Description_Text *) desc;
+
+             if (text->text.text.str)      eina_stringshare_del(text->text.text.str);
+             if (text->text.text_class)    eina_stringshare_del(text->text.text_class);
+             if (text->text.style.str)     eina_stringshare_del(text->text.style.str);
+             if (text->text.font.str)      eina_stringshare_del(text->text.font.str);
+          }
+        break;
+     }
+}
+
+void
+_edje_collection_free_part_description_free(int type,
+                                           Edje_Part_Description_Common *desc,
+                                           Edje_Part_Collection_Directory_Entry *ce,
+                                           Eina_Bool free_strings)
+{
+#define FREE_POOL(Type, Ce, Desc)                                      \
+   case EDJE_PART_TYPE_##Type: eina_mempool_free(Ce->mp.Type, Desc);    \
+                               ce->count.Type--;                        \
+                               break;
+
+   _edje_collection_free_part_description_clean(type, desc, free_strings);
+
+   switch (type)
+     {
+       FREE_POOL(RECTANGLE, ce, desc);
+       FREE_POOL(TEXT, ce, desc);
+       FREE_POOL(IMAGE, ce, desc);
+       FREE_POOL(PROXY, ce, desc);
+       FREE_POOL(SWALLOW, ce, desc);
+       FREE_POOL(TEXTBLOCK, ce, desc);
+       FREE_POOL(GROUP, ce, desc);
+       FREE_POOL(BOX, ce, desc);
+       FREE_POOL(TABLE, ce, desc);
+       FREE_POOL(EXTERNAL, ce, desc);
+     }
+}
+
+#ifdef EDJE_PROGRAM_CACHE
+static Eina_Bool
+_edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   eina_list_free((Eina_List *)data);
+   return EINA_TRUE;
+   key = NULL;
+   hash = NULL;
+   fdata = NULL;
+}
+#endif
+
+static void
+_edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it)
+{
+   Evas_Coord w = 0, h = 0, minw, minh;
+
+   minw = it->min.w;
+   minh = it->min.h;
+
+   if ((minw <= 0) && (minh <= 0))
+     {
+       edje_object_size_min_get(obj, &w, &h);
+       if ((w <= 0) && (h <= 0))
+         edje_object_size_min_calc(obj, &w, &h);
+     }
+   else
+     {
+       w = minw;
+       h = minh;
+     }
+   if (((minw <= 0) && (minh <= 0)) && ((w > 0) || (h > 0)))
+     evas_object_size_hint_min_set(obj, w, h);
+   else
+     evas_object_size_hint_min_set(obj, minw, minh);
+
+   evas_object_size_hint_request_set(obj, it->prefer.w, it->prefer.h);
+   evas_object_size_hint_max_set(obj, it->max.w, it->max.h);
+   evas_object_size_hint_padding_set(obj, it->padding.l, it->padding.r, it->padding.t, it->padding.b);
+   evas_object_size_hint_align_set(obj, TO_DOUBLE(it->align.x), TO_DOUBLE(it->align.y));
+   evas_object_size_hint_weight_set(obj, TO_DOUBLE(it->weight.x), TO_DOUBLE(it->weight.y));
+   evas_object_size_hint_aspect_set(obj, it->aspect.mode, it->aspect.w, it->aspect.h);
+
+   evas_object_resize(obj, w, h);
+}
+
+static const char *
+_edje_find_alias(Eina_Hash *aliased, char *src, int *length)
+{
+   const char *alias;
+   char *search;
+
+   *length = strlen(src);
+   if (*length == 0) return NULL;
+
+   alias = eina_hash_find(aliased, src);
+   if (alias) return alias;
+
+   search = strrchr(src, EDJE_PART_PATH_SEPARATOR);
+   if (search == NULL) return NULL;
+
+   *search = '\0';
+   alias = _edje_find_alias(aliased, src, length);
+   *search = EDJE_PART_PATH_SEPARATOR;
+
+   return alias;
+}
+
+static void
+_cb_signal_repeat(void *data, Evas_Object *obj, const char *sig, const char *source)
+{
+   Edje_Pack_Element *pack_it;
+   Evas_Object *parent;
+   Edje                *ed;
+   Edje         *ed_parent;
+   char                 new_src[4096]; /* XXX is this max reasonable? */
+   size_t       length_parent = 0;
+   size_t        length_index = 0;
+   size_t       length_source;
+   int           i = 0;
+   const char   *alias = NULL;
+   Edje_Message_Signal emsg;
+
+   parent = data;
+   ed = _edje_fetch(obj);
+   if (!ed) return;
+
+   pack_it = evas_object_data_get(obj, "\377 edje.box_item");
+   if (!pack_it) pack_it = evas_object_data_get(obj, "\377 edje.table_item");
+   if (pack_it)
+     {
+        if (!pack_it->name)
+          {
+             Eina_List *child = NULL;
+             Evas_Object *o;
+
+             if (pack_it->parent->part->type == EDJE_PART_TYPE_BOX)
+               {
+                  child = evas_object_box_children_get(pack_it->parent->object);
+               }
+             else if (pack_it->parent->part->type == EDJE_PART_TYPE_TABLE)
+               {
+                  child = evas_object_table_children_get(pack_it->parent->object);
+               }
+
+             EINA_LIST_FREE(child, o)
+               {
+                  if (o == obj) break;
+                  i++;
+               }
+
+             eina_list_free(child);
+
+             length_index = 12;
+          }
+        else
+          {
+             length_index = strlen(pack_it->name) + 2;
+          }
+     }
+
+   /* Replace snprint("%s%c%s") == memcpy + *new_src + memcat */
+   if (ed->parent)
+     length_parent = strlen(ed->parent);
+   length_source = strlen(source);
+   if (length_source + length_parent + 2 + length_index > sizeof(new_src))
+     return;
+
+   if (ed->parent)
+     memcpy(new_src, ed->parent, length_parent);
+   if (ed->parent && length_index)
+     {
+        new_src[length_parent++] = EDJE_PART_PATH_SEPARATOR_INDEXL;
+        if (length_index == 12)
+          length_parent += eina_convert_itoa(i, new_src + length_parent);
+        else
+          {
+             memcpy(new_src + length_parent, pack_it->name, length_index);
+             length_parent += length_index - 2;
+          }
+        new_src[length_parent++] = EDJE_PART_PATH_SEPARATOR_INDEXR;
+     }
+
+   new_src[length_parent] = EDJE_PART_PATH_SEPARATOR;
+   memcpy(new_src + length_parent + 1, source, length_source + 1);
+
+   /* Handle alias renaming */
+   ed_parent = _edje_fetch(parent);
+   if (ed_parent && ed_parent->collection && ed_parent->collection->aliased)
+     {
+        int length;
+
+        alias = _edje_find_alias(ed_parent->collection->aliased, new_src, &length);
+
+        if (alias)
+          {
+             int origin;
+
+             /* Add back the end of the source */
+             origin = strlen(new_src);
+             length ++; /* Remove the trailing ':' from the count */
+             if (origin > length)
+               {
+                  char *tmp;
+                  size_t alias_length;
+
+                  alias_length = strlen(alias);
+                  tmp = alloca(alias_length + origin - length + 2);
+                  memcpy(tmp, alias, alias_length);
+                  tmp[alias_length] = EDJE_PART_PATH_SEPARATOR;
+                  memcpy(tmp + alias_length + 1, new_src + length, origin - length + 1);
+
+                  alias = tmp;
+               }
+          }
+     }
+   
+   emsg.sig = sig;
+   emsg.src = alias ? alias : new_src;
+   emsg.data = NULL;
+   if (ed_parent)
+     _edje_message_send(ed_parent, EDJE_QUEUE_SCRIPT, 
+                        EDJE_MESSAGE_SIGNAL, 0, &emsg);
+}
diff --git a/src/lib/edje/edje_lua.c b/src/lib/edje/edje_lua.c
new file mode 100644 (file)
index 0000000..83ba536
--- /dev/null
@@ -0,0 +1,5150 @@
+#include "edje_private.h"
+
+#if 0
+/////////////////////////////////////////////////////////////////////////////
+// the below is deprecated and here for reference only until removed. look
+// at edje_lua2.c for the active workign code
+/////////////////////////////////////////////////////////////////////////////
+
+#include <lauxlib.h>
+#include <lualib.h>
+
+#define EDJE_LUA_GET 1
+#define EDJE_LUA_SET 2
+#define EDJE_LUA_FN 3
+
+typedef struct _Edje_Lua_Alloc Edje_Lua_Alloc;
+
+typedef struct _Edje_Lua_Ref Edje_Lua_Ref;
+
+typedef struct _Edje_Lua_Reg Edje_Lua_Reg;
+
+typedef struct _Edje_Lua_Timer Edje_Lua_Timer;
+
+typedef struct _Edje_Lua_Animator Edje_Lua_Animator;
+
+typedef struct _Edje_Lua_Poller Edje_Lua_Poller;
+
+typedef struct _Edje_Lua_Transform Edje_Lua_Transform;
+
+typedef struct _Edje_Lua_Transition Edje_Lua_Transition;
+
+typedef struct _Edje_Lua_Evas_Object Edje_Lua_Evas_Object;
+
+typedef struct _Edje_Lua_Edje_Part_Object Edje_Lua_Edje_Part_Object;
+
+typedef struct _Edje_Lua_Edje_Part_Description Edje_Lua_Edje_Part_Description;
+
+struct _Edje_Lua_Alloc
+{
+   size_t max, cur; /* maximal and current memory used by Lua */
+};
+
+struct _Edje_Lua_Ref
+{
+   int id;
+   lua_State *L;
+};
+
+struct _Edje_Lua_Reg
+{
+   const luaL_Reg *mt, *get, *set, *fn;
+};
+
+struct _Edje_Lua_Timer
+{
+   lua_State *L;
+   Ecore_Timer *et;
+   Edje_Lua_Ref *cb;
+};
+
+struct _Edje_Lua_Animator
+{
+   lua_State *L;
+   Ecore_Animator *ea;
+   Edje_Lua_Ref *cb;
+};
+
+struct _Edje_Lua_Poller
+{
+   lua_State *L;
+   Ecore_Poller *ep;
+   Edje_Lua_Ref *cb;
+};
+
+struct _Edje_Lua_Transform
+{
+   lua_State *L;
+   Evas_Transform et;
+};
+
+struct _Edje_Lua_Transition
+{
+   lua_State *L;
+   Ecore_Timer *et;
+   Edje_Lua_Ref *trans;
+   Edje_Lua_Ref *cb;
+   Edje_Lua_Ref *ref;
+   double dur;
+};
+
+struct _Edje_Lua_Evas_Object
+{
+   lua_State *L;
+   Edje *ed;
+   Evas_Object *eo;
+   Eina_Bool mouse_events;
+   Eina_List *cb;
+};
+
+struct _Edje_Lua_Edje_Part_Object
+{
+   lua_State *L;
+   Edje *ed;
+   Evas_Object *eo;
+   Edje_Real_Part *rp;
+   const char *key;
+};
+
+struct _Edje_Lua_Edje_Part_Description
+{
+   lua_State *L;
+   Edje *ed;
+   Evas_Object *eo;
+   Edje_Real_Part *rp;
+   Edje_Part_Description *pd;
+};
+
+jmp_buf _edje_lua_panic_jmp;
+
+static int
+_edje_lua_custom_panic(EINA_UNUSED lua_State *L)
+{
+   CRITICAL("PANIC");
+   longjmp(_edje_lua_panic_jmp, 1);
+   return 1; /* longjmp() never returns, but this keep gcc happy */
+}
+
+void
+__edje_lua_error(const char *file, const char *fnc, int line, lua_State *L, int err_code)
+{
+   char *err_type;
+
+   switch (err_code)
+     {
+     case LUA_ERRRUN:
+       err_type = "runtime";
+       break;
+     case LUA_ERRSYNTAX:
+       err_type = "syntax";
+       break;
+     case LUA_ERRMEM:
+       err_type = "memory allocation";
+       break;
+     case LUA_ERRERR:
+       err_type = "error handler";
+       break;
+     default:
+       err_type = "unknown";
+       break;
+     }
+   eina_log_print
+     (_edje_default_log_dom, EINA_LOG_LEVEL_ERR,  file, fnc, line,
+      "Lua %s error: %s", err_type, lua_tostring(L, -1));
+   // don't exit. this is BAD. lua script bugs will cause thngs like e to
+   // exit mysteriously ending your x session. bad!
+   // exit(-1);
+}
+
+lua_State *
+_edje_lua_new_thread(Edje *ed, lua_State *L)
+{
+#if 1 // newlua
+   lua_newtable(L);
+   ed->lua_ref = luaL_ref(L, LUA_REGISTRYINDEX);
+   /* inherit new environment from global environment */
+   lua_createtable(L, 1, 0);
+   lua_pushvalue(L, LUA_GLOBALSINDEX);
+   lua_setfield(L, -2, "__index");
+   lua_setmetatable(L, -2);
+   lua_setfenv(L, -2);
+   return L;
+#else
+   /* create new thread */
+   lua_State *thread = lua_newthread(L);
+   //printf ("new thread %d->%d\n", L, thread);
+   /* create new environment for new thread */
+   lua_newtable(L);
+   /* inherit new environment from global environment */
+   lua_createtable(L, 1, 0);
+   lua_pushvalue(L, LUA_GLOBALSINDEX);
+   lua_setfield(L, -2, "__index");
+   lua_setmetatable(L, -2);
+   lua_setfenv(L, -2);
+   return thread;
+#endif   
+}
+
+void
+_edje_lua_free_thread(Edje *ed, lua_State *L)
+{
+#if 1 // newlua
+   luaL_unref(L, LUA_REGISTRYINDEX, ed->lua_ref);
+   lua_gc(L, LUA_GCCOLLECT, 0);
+#else   
+   lua_pushthread(L);
+   lua_getfenv(L, -1);
+   lua_pushnil(L);
+   while (lua_next(L, -2))
+     {
+       // key at -2, value at -1
+       lua_pop(L, 1);
+       lua_pushvalue(L, -1);
+       lua_pushnil(L);
+       lua_rawset(L, -4);
+     }
+   lua_settop(L, 0);
+   lua_gc(L, LUA_GCCOLLECT, 0);
+#endif   
+}
+
+/*
+ * only for debug, returns number of objects in registry
+ */
+static int
+_edje_lua_reg_count (lua_State *L)
+{
+   int count = 0;
+   lua_pushvalue(L, LUA_REGISTRYINDEX);
+   lua_pushnil(L);
+   while (lua_next(L, -2))
+     {
+       // key at -2, value at -1
+       lua_pop(L, 1);
+       count++;
+     }
+   lua_pop(L, 1);
+   return count;
+}
+
+static Edje_Lua_Ref *
+_edje_lua_new_ref(lua_State *L, int index)
+{
+   lua_pushvalue(L, index);
+   Edje_Lua_Ref *ref = malloc(sizeof(Edje_Lua_Ref));
+   ref->id = luaL_ref(L, LUA_REGISTRYINDEX);
+   ref->L = L;
+   return ref;
+}
+
+static void
+_edje_lua_get_ref(lua_State *L, Edje_Lua_Ref *ref)
+{
+   lua_rawgeti(L, LUA_REGISTRYINDEX, ref->id);
+}
+
+static void
+_edje_lua_free_ref(lua_State *L, Edje_Lua_Ref *ref)
+{
+   //printf ("_edje_lua_free_ref %d %d %d\n", L, lua_objlen(L, LUA_REGISTRYINDEX), _edje_lua_reg_count(L));
+   luaL_unref(L, LUA_REGISTRYINDEX, ref->id);
+   free(ref);
+   lua_gc(L, LUA_GCCOLLECT, 0);
+}
+
+void
+_edje_lua_new_reg(lua_State *L, int index, void *ptr)
+{
+   //printf ("_edje_lua_new_reg %d %d %d\n", L, ptr, _edje_lua_reg_count(L));
+   lua_pushvalue(L, index);
+   lua_pushlightuserdata(L, ptr);
+   lua_insert(L, -2);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_reg */
+}
+
+void
+_edje_lua_get_reg(lua_State *L, void *ptr)
+{
+   //printf ("_edje_lua_get_reg %d %d\n", L, ptr);
+   lua_pushlightuserdata(L, ptr);
+   lua_rawget(L, LUA_REGISTRYINDEX);
+}
+
+void
+_edje_lua_free_reg(lua_State *L, void *ptr)
+{
+   //printf ("_edje_lua_free_reg %d %d %d\n", L, ptr, _edje_lua_reg_count(L));
+   lua_pushlightuserdata(L, ptr);
+   lua_pushnil(L);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_reg */
+   lua_gc(L, LUA_GCCOLLECT, 0);
+}
+
+static void
+_edje_lua_rawsetfield(lua_State *L, int index, const char *key)
+{
+   lua_pushstring(L, key);
+   lua_insert(L, -2);
+   if (index < 0)
+      lua_rawset(L, index - 1);
+   else
+      lua_rawset(L, index);
+}
+
+static void
+_edje_lua_rawgetfield(lua_State *L, int index, const char *key)
+{
+   lua_pushstring(L, key);
+   if (index < 0)
+      lua_rawget(L, index - 1);
+   else
+      lua_rawget(L, index);
+}
+
+static void
+_edje_lua_new_const(lua_State *L, const char *id, int val)
+{
+   lua_pushnumber(L, val);
+   lua_setglobal(L, id);
+}
+
+static void
+_edje_lua_new_metatable(lua_State *L, const Edje_Lua_Reg ** class)
+{
+   lua_newtable(L);
+   lua_pushlightuserdata(L, class);
+   lua_pushvalue(L, -2);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_metatable */
+   lua_pushvalue(L, -1);
+   lua_pushlightuserdata(L, class);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* freed in _edje_lua_free_metatable */
+}
+
+static void
+_edje_lua_get_metatable(lua_State *L, const Edje_Lua_Reg ** class)
+{
+   lua_pushlightuserdata(L, class);
+   lua_rawget(L, LUA_REGISTRYINDEX);
+}
+
+static void
+_edje_lua_free_metatable(lua_State *L, const Edje_Lua_Reg ** class)
+{
+   lua_pushlightuserdata(L, class);
+   lua_rawget(L, LUA_REGISTRYINDEX);
+   lua_pushnil(L);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_metatable */
+   lua_pushlightuserdata(L, class);
+   lua_pushnil(L);
+   lua_rawset(L, LUA_REGISTRYINDEX); /* created in _edje_lua_new_metatable */
+   lua_gc(L, LUA_GCCOLLECT, 0);
+}
+
+static void *
+_edje_lua_checkudata(lua_State *L, int pos, const Edje_Lua_Reg * module)
+{
+   luaL_checktype(L, pos, LUA_TUSERDATA);
+   lua_getmetatable(L, pos);
+   lua_rawget(L, LUA_REGISTRYINDEX);
+   Edje_Lua_Reg **class = lua_touserdata(L, -1);
+   lua_pop(L, 1);              // class
+   int flag = 0;
+   int ptr = 0;
+   while (class[ptr] && !flag)
+      if (class[ptr++] == module)
+        flag = 1;
+   if (!flag)
+     {
+       lua_pushstring(L, "class type mismatch");
+       lua_error(L);
+     }
+   return lua_touserdata(L, pos);
+}
+
+static void
+_edje_lua_new_class(lua_State *L, const Edje_Lua_Reg ** class)
+{
+   int n = 0;
+   _edje_lua_new_metatable(L, class);
+   while (class && (class[n] != NULL))
+     {
+       luaL_register(L, NULL, class[n]->mt);
+       lua_pushstring(L, "hands off, it's none of your business!");
+       _edje_lua_rawsetfield(L, -2, "__metatable");
+
+       if (n == 0)
+         {
+            lua_newtable(L);
+            luaL_register(L, NULL, class[n]->set);
+            lua_rawseti (L, -2, EDJE_LUA_SET);
+
+            lua_newtable(L);
+            luaL_register(L, NULL, class[n]->get);
+            lua_rawseti (L, -2, EDJE_LUA_GET);
+
+            lua_newtable(L);
+            luaL_register(L, NULL, class[n]->fn);
+            lua_rawseti (L, -2, EDJE_LUA_FN);
+         }
+       else
+         {
+            lua_rawgeti(L, -1, EDJE_LUA_SET);
+            luaL_register(L, NULL, class[n]->set);
+            lua_pop(L, 1);
+
+            lua_rawgeti(L, -1, EDJE_LUA_GET);
+            luaL_register(L, NULL, class[n]->get);
+            lua_pop(L, 1);
+
+            lua_rawgeti(L, -1, EDJE_LUA_FN);
+            luaL_register(L, NULL, class[n]->fn);
+            lua_pop(L, 1);
+         }
+       n += 1;
+     }
+}
+
+static void
+_edje_lua_set_class(lua_State *L, int index, const Edje_Lua_Reg ** class)
+{
+   lua_newtable(L);
+   if (index < 0)
+      lua_setfenv(L, index - 1);
+   else
+      lua_setfenv(L, index);
+
+   _edje_lua_get_metatable(L, class);
+   if (index < 0)
+      lua_setmetatable(L, index - 1);
+   else
+      lua_setmetatable(L, index);
+}
+
+static int
+_edje_lua_look_fn(lua_State *L)
+{
+   lua_rawgeti(L, -1, EDJE_LUA_FN);
+   lua_pushvalue(L, 2);                // key
+   lua_rawget(L, -2);          // .fn[key]
+   if (lua_iscfunction(L, -1))
+      return 1;
+   else
+     {
+       lua_pop(L, 2);          // .fn[key], .fn
+       return 0;
+     }
+}
+
+static int
+_edje_lua_look_get(lua_State *L)
+{
+   lua_rawgeti(L, -1, EDJE_LUA_GET);
+   lua_pushvalue(L, 2);                // key
+   lua_rawget(L, -2);          // .get[key]
+   if (lua_iscfunction(L, -1))
+     {
+       int err_code;
+
+       lua_pushvalue(L, 1);
+
+       if ((err_code = lua_pcall(L, 1, 1, 0)))
+          _edje_lua_error(L, err_code);
+       return 1;
+     }
+   else
+     {
+       lua_pop(L, 2);          // .get[key], .get
+       return 0;
+     }
+}
+
+static int
+_edje_lua_look_set(lua_State *L)
+{
+   lua_rawgeti(L, -1, EDJE_LUA_SET);
+   lua_pushvalue(L, 2);                // key
+   lua_rawget(L, -2);          // .set[key]
+   if (lua_iscfunction(L, -1))
+     {
+       int err_code;
+
+       lua_pushvalue(L, 1);    // obj
+       lua_pushvalue(L, 3);    // value
+
+       if ((err_code = lua_pcall(L, 2, 0, 0))) // .set[key](obj,key,value)
+          _edje_lua_error(L, err_code);
+       return 1;
+     }
+   else
+     {
+       lua_pop(L, 2);          // .set[key], .set
+       return 0;
+     }
+}
+
+/*
+ * Lua Class bindings
+ */
+
+const luaL_Reg lNil[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lClass_mt[];
+
+const luaL_Reg lClass_fn[];
+
+const Edje_Lua_Reg mClass = {
+   lClass_mt,
+   lNil,
+   lNil,
+   lClass_fn
+};
+
+static int
+_edje_lua_class_mt_index(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   lua_getmetatable(L, 1);
+   if (!_edje_lua_look_fn(L))  // look in lClass_fn
+      if (!_edje_lua_look_get(L))      // look in lClass_get
+       {                       // look in obj ref hash
+          lua_getfenv(L, 1);
+          lua_pushvalue(L, 2); // key
+          lua_rawget(L, -2);
+       }
+   return 1;
+}
+
+static int
+_edje_lua_class_mt_newindex(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   lua_getmetatable(L, 1);
+   if (!_edje_lua_look_set(L)) // look in lClass_set
+     {                         // look in obj ref hash
+       lua_getfenv(L, 1);
+       lua_pushvalue(L, 2);
+       lua_pushvalue(L, 3);
+       lua_rawset(L, -3);
+     }
+   return 0;
+}
+
+static int
+_edje_lua_class_mt_gc(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   //printf("_edje_lua_class_mt_gc\n");
+   /* FIXME has to be commented to not raise an error, solve differently
+   lua_getfield(L, 1, "del");
+   if (!lua_isnil(L, -1))
+     {
+       lua_pushvalue(L, 1);
+       int err_code;
+
+       if (err_code = lua_pcall(L, 1, 0, 0))
+          _edje_lua_error(L, err_code);
+     }
+   lua_pop(L, 1);
+   */
+   return 0;
+}
+
+static int
+_edje_lua_class_fn_set(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   /*
+    * for k,v in pairs(table) do
+    *   obj[k] = v
+    * end
+    */
+   lua_pushnil(L);
+   while (lua_next(L, 2))
+     {
+       // key at -2, value at -1
+       lua_pushvalue(L, -2);
+       lua_insert(L, -2);
+       lua_settable(L, 1);
+     }
+   return 0;
+}
+
+static int
+_edje_lua_class_fn_get(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   /*
+    * res = {}
+    * mtG = getmetatable(obj)['.get']
+    * for k,v in pairs(mtG) do
+    *   res[k] = obj[k]
+    * end
+    */
+   lua_newtable(L);            // res
+   lua_getmetatable(L, 1);     // mt
+   lua_getfield(L, -1, ".get");
+   lua_remove(L, -2);          // mt
+
+   lua_pushnil(L);
+   while (lua_next(L, -2))
+     {
+       // key at -2, value at -1
+       lua_pop(L, 1);          // value = cfunction
+       lua_pushvalue(L, -1);   // key
+       lua_pushvalue(L, -1);   // key
+       lua_gettable(L, 1);     // obj[key]
+       lua_settable(L, 2);     // res[key]
+     }
+   lua_pop(L, 1);              // .get
+   return 1;
+}
+
+static int
+_edje_lua_class_itr_call(lua_State *L, int id)
+{
+   int err_code;
+
+   _edje_lua_checkudata(L, 1, &mClass);
+   lua_getmetatable(L, 1);     // mt
+   lua_rawgeti(L, -1, id);
+   lua_remove(L, -2);          // mt
+   lua_getglobal(L, "pairs");
+   lua_insert(L, -2);
+
+   if ((err_code = lua_pcall(L, 1, 3, 0)))
+      _edje_lua_error(L, err_code);
+   return 3;
+}
+
+static int
+_edje_lua_class_fn_gpairs(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   return _edje_lua_class_itr_call(L, EDJE_LUA_GET);
+}
+
+static int
+_edje_lua_class_fn_spairs(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   return _edje_lua_class_itr_call(L, EDJE_LUA_SET);
+}
+
+static int
+_edje_lua_class_fn_fpairs(lua_State *L)
+{
+   _edje_lua_checkudata(L, 1, &mClass);
+   return _edje_lua_class_itr_call(L, EDJE_LUA_FN);
+}
+
+static int
+_edje_lua_class_fn_pairs(lua_State *L)
+{
+   int err_code;
+
+   _edje_lua_checkudata(L, 1, &mClass);
+   lua_getfenv(L, 1);
+   lua_getglobal(L, "pairs");
+   lua_insert(L, -2);
+
+   if ((err_code = lua_pcall(L, 1, 3, 0)))
+      _edje_lua_error(L, err_code);
+   return 3;
+}
+
+static int
+_edje_lua_class_fn_ipairs(lua_State *L)
+{
+   int err_code;
+
+   _edje_lua_checkudata(L, 1, &mClass);
+   lua_getfenv(L, 1);
+   lua_getglobal(L, "ipairs");
+   lua_insert(L, -2);
+
+   if ((err_code = lua_pcall(L, 1, 3, 0)))
+      _edje_lua_error(L, err_code);
+   return 3;
+}
+
+const luaL_Reg lClass_mt[] = {
+   {"__index", _edje_lua_class_mt_index},
+   {"__newindex", _edje_lua_class_mt_newindex},
+   {"__gc", _edje_lua_class_mt_gc},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lClass_fn[] = {
+   {"get", _edje_lua_class_fn_get},
+   {"set", _edje_lua_class_fn_set},
+   {"gpairs", _edje_lua_class_fn_gpairs},
+   {"spairs", _edje_lua_class_fn_spairs},
+   {"fpairs", _edje_lua_class_fn_fpairs},
+   {"pairs", _edje_lua_class_fn_pairs},
+   {"ipairs", _edje_lua_class_fn_ipairs},
+   {NULL, NULL}                        // sentinel
+};
+
+
+const luaL_Reg lTimer_get[];
+
+const luaL_Reg lTimer_set[];
+
+const luaL_Reg lTimer_fn[];
+
+const Edje_Lua_Reg mTimer = {
+   lNil,
+   lTimer_get,
+   lTimer_set,
+   lTimer_fn
+};
+
+const Edje_Lua_Reg *cTimer[] = {
+   &mClass,
+   &mTimer,
+   NULL                                // sentinel
+};
+
+static Eina_Bool
+_edje_lua_timer_cb(void *data)
+{
+   Edje_Lua_Timer *obj = data;
+   lua_State *L = obj->L;
+   int err_code;
+   Eina_Bool res;
+
+   _edje_lua_get_ref(L, obj->cb);      // callback function
+   _edje_lua_get_reg(L, obj);
+
+   if ((err_code = lua_pcall(L, 1, 1, 0)))
+     {
+        _edje_lua_error(L, err_code);
+        return ECORE_CALLBACK_CANCEL;
+     }
+
+   res = luaL_optint(L, -1, ECORE_CALLBACK_CANCEL);
+   lua_pop(L, 1);              // -- res
+   
+/*   
+ if (_edje_lua_panic_here())
+ printf("blahc\n");
+ else
+ lua_pop(L, 1);                // -- res
+ */
+   if (res == ECORE_CALLBACK_CANCEL)
+     {
+       // delete object
+       _edje_lua_get_reg(L, obj);
+       lua_pushvalue(L, -1);
+       lua_pushstring(L, "del");
+       lua_gettable(L, -2);
+       lua_insert(L, -2);
+        if ((err_code = lua_pcall(L, 1, 0, 0)))
+          _edje_lua_error(L, err_code);
+     }
+   return res;
+}
+
+static int
+_edje_lua_timer_get_pending(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+      lua_pushnumber(L, ecore_timer_pending_get(obj->et));
+   else
+      lua_pushnil(L);
+   return 1;
+}
+
+static int
+_edje_lua_timer_get_precision(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+
+   if (obj->et)
+     lua_pushnumber(L, ecore_timer_precision_get());
+   else
+     lua_pushnil(L);
+   
+   return 1;
+}
+
+static int
+_edje_lua_timer_get_interval(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+
+   if (obj->et)
+     lua_pushnumber(L, ecore_timer_interval_get(obj->et));
+   else
+     lua_pushnil(L);
+
+   return 1;
+}
+
+const luaL_Reg lTimer_get[] = {
+   {"pending", _edje_lua_timer_get_pending},
+   {"precision", _edje_lua_timer_get_precision},
+   {"interval", _edje_lua_timer_get_interval},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_timer_set_interval(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+      ecore_timer_interval_set(obj->et, luaL_checknumber(L, 2));
+   return 0;
+}
+
+const luaL_Reg lTimer_set[] = {
+   {"interval", _edje_lua_timer_set_interval},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_timer_fn_del(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+     {
+       ecore_timer_del(obj->et);
+       obj->et = NULL;
+     }
+   if (obj->cb)
+     {
+       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_timer
+       obj->cb = NULL;
+     }
+   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_timer
+   return 0;
+}
+
+static int
+_edje_lua_timer_fn_freeze(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+      ecore_timer_freeze(obj->et);
+   return 0;
+}
+
+static int
+_edje_lua_timer_fn_thaw(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+      ecore_timer_thaw(obj->et);
+   return 0;
+}
+
+static int
+_edje_lua_timer_fn_delay(lua_State *L)
+{
+   Edje_Lua_Timer *obj = _edje_lua_checkudata(L, 1, &mTimer);
+   if (obj->et)
+      ecore_timer_delay(obj->et, luaL_checknumber(L, 2));
+   return 0;
+}
+
+const luaL_Reg lTimer_fn[] = {
+   {"del", _edje_lua_timer_fn_del},
+   {"freeze", _edje_lua_timer_fn_freeze},
+   {"thaw", _edje_lua_timer_fn_thaw},
+   {"delay", _edje_lua_timer_fn_delay},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lAnimator_get[];
+
+const luaL_Reg lAnimator_fn[];
+
+const Edje_Lua_Reg mAnimator = {
+   lNil,
+   lAnimator_get,
+   lNil,
+   lAnimator_fn
+};
+
+const Edje_Lua_Reg *cAnimator[] = {
+   &mClass,
+   &mAnimator,
+   NULL                                // sentinel
+};
+
+static Eina_Bool
+_edje_lua_animator_cb(void *data)
+{
+   Eina_Bool res;
+   int err;
+   Edje_Lua_Animator *obj = data;
+   lua_State *L = obj->L;
+
+   _edje_lua_get_ref(L, obj->cb);
+   _edje_lua_get_reg(L, obj);
+
+   if ((err = lua_pcall(L, 1, 1, 0)))
+     {
+        _edje_lua_error(L, err);
+        return ECORE_CALLBACK_CANCEL;
+     }
+
+   res = luaL_checkint(L, -1);
+   lua_pop(L, 1);              // Pop res off the stack
+   if (res == ECORE_CALLBACK_CANCEL)
+     {
+       /* delete animator */
+       _edje_lua_get_reg(L, obj);
+       lua_pushvalue(L, -1);
+       lua_pushstring(L, "del");
+       lua_gettable(L, -2);
+       lua_insert(L, -2);
+        if ((err = lua_pcall(L, 1, 0, 0)))
+          _edje_lua_error(L, err);
+     }
+
+   return res;
+}
+
+static int
+_edje_lua_animator_get_frametime(lua_State *L)
+{
+   Edje_Lua_Animator *obj = _edje_lua_checkudata(L, 1, &mAnimator);
+
+   if (obj->ea)
+     lua_pushnumber(L, ecore_animator_frametime_get());
+   else
+     lua_pushnil(L);
+
+   return 1;
+}
+
+const luaL_Reg lAnimator_get[] = {
+    {"frametime", _edje_lua_animator_get_frametime},
+    {NULL, NULL}
+};
+
+static int
+_edje_lua_animator_fn_del(lua_State *L)
+{
+   Edje_Lua_Animator *obj = _edje_lua_checkudata(L, 1, &mAnimator);
+   if (obj->ea)
+     {
+       ecore_animator_del(obj->ea);
+       obj->ea = NULL;
+     }
+   if (obj->cb)
+     {
+       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_animator
+       obj->cb = NULL;
+     }
+   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_animator
+   return 0;
+}
+
+const luaL_Reg lAnimator_fn[] = {
+   {"del", _edje_lua_animator_fn_del},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lPoller_get[];
+
+const luaL_Reg lPoller_fn[];
+
+const Edje_Lua_Reg mPoller = {
+   lNil,
+   lPoller_get,
+   lNil,
+   lPoller_fn
+};
+
+const Edje_Lua_Reg *cPoller[] = {
+   &mClass,
+   &mPoller,
+   NULL                                // sentinel
+};
+
+static Eina_Bool
+_edje_lua_poller_cb(void *data)
+{
+   Eina_Bool res;
+   int err;
+   Edje_Lua_Poller *obj = data;
+   lua_State *L = obj->L;
+
+   _edje_lua_get_ref(L, obj->cb);
+   _edje_lua_get_reg(L, obj);
+
+   if ((err = lua_pcall(L, 1, 1, 0)))
+     {
+        _edje_lua_error(L, err);
+        return ECORE_CALLBACK_CANCEL;
+     }
+
+   res = luaL_checkint(L, -1);
+   lua_pop(L, 1);              // Pop res off the stack
+   if (res == ECORE_CALLBACK_CANCEL)
+     {
+       /* delete poller */
+       _edje_lua_get_reg(L, obj);
+       lua_pushvalue(L, -1);
+       lua_pushstring(L, "del");
+       lua_gettable(L, -2);
+       lua_insert(L, -2);
+        if ((err = lua_pcall(L, 1, 0, 0)))
+          _edje_lua_error(L, err);
+     }
+
+   return res;
+}
+
+static int
+_edje_lua_poller_get_interval(lua_State *L)
+{
+   Edje_Lua_Poller *obj = _edje_lua_checkudata(L, 1, &mPoller);
+
+   if (obj->ep)
+     lua_pushnumber(L, ecore_poller_poll_interval_get(ECORE_POLLER_CORE));
+   else
+     lua_pushnil(L);
+
+   return 1;
+}
+
+const luaL_Reg lPoller_get[] = {
+   {"interval", _edje_lua_poller_get_interval},
+   {NULL, NULL}
+};
+
+static int
+_edje_lua_poller_fn_del(lua_State *L)
+{
+   Edje_Lua_Poller *obj = _edje_lua_checkudata(L, 1, &mPoller);
+   if (obj->ep)
+     {
+       ecore_poller_del(obj->ep);
+       obj->ep = NULL;
+     }
+
+   if (obj->cb)
+     {
+       _edje_lua_free_ref(L, obj->cb); // created in _edje_lua_group_fn_poller
+       obj->cb = NULL;
+     }
+   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_fn_poller
+
+   return 0;
+}
+
+const luaL_Reg lPoller_fn[] = {
+   {"del", _edje_lua_poller_fn_del},
+   {NULL, NULL}
+};
+
+/*
+ * Lua Edje Transform bindings
+ */
+
+const luaL_Reg lTransform_get[];
+
+const luaL_Reg lTransform_set[];
+
+const luaL_Reg lTransform_fn[];
+
+const Edje_Lua_Reg mTransform = {
+   lNil,
+   lTransform_get,
+   lTransform_set,
+   lTransform_fn
+};
+
+const Edje_Lua_Reg *cTransform[] = {
+   &mClass,
+   &mTransform,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_transform_get_matrix(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   lua_createtable(L, 3, 0);
+      lua_createtable(L, 3, 0);
+        lua_pushnumber(L, obj->et.mxx); lua_rawseti(L, -2, 1);
+        lua_pushnumber(L, obj->et.mxy); lua_rawseti(L, -2, 2);
+        lua_pushnumber(L, obj->et.mxz); lua_rawseti(L, -2, 3);
+      lua_rawseti(L, -2, 1);
+      lua_createtable(L, 3, 0);
+        lua_pushnumber(L, obj->et.myx); lua_rawseti(L, -2, 1);
+        lua_pushnumber(L, obj->et.myy); lua_rawseti(L, -2, 2);
+        lua_pushnumber(L, obj->et.myz); lua_rawseti(L, -2, 3);
+      lua_rawseti(L, -2, 2);
+      lua_createtable(L, 3, 0);
+        lua_pushnumber(L, obj->et.mzx); lua_rawseti(L, -2, 1);
+        lua_pushnumber(L, obj->et.mzy); lua_rawseti(L, -2, 2);
+        lua_pushnumber(L, obj->et.mzz); lua_rawseti(L, -2, 3);
+      lua_rawseti(L, -2, 3);
+   return 1;
+}
+
+const luaL_Reg lTransform_get[] = {
+   {"matrix", _edje_lua_transform_get_matrix},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_transform_set_matrix(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   luaL_checktype(L, 2, LUA_TTABLE);
+      lua_rawgeti(L, 2, 1);
+      luaL_checktype(L, -1, LUA_TTABLE);
+        lua_rawgeti(L, -1, 1); obj->et.mxx = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 2); obj->et.mxy = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 3); obj->et.mxz = luaL_checknumber(L, -1); lua_pop(L, 1);
+      lua_pop(L, 1);
+      lua_rawgeti(L, 2, 2);
+      luaL_checktype(L, -1, LUA_TTABLE);
+        lua_rawgeti(L, -1, 1); obj->et.myx = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 2); obj->et.myy = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 3); obj->et.myz = luaL_checknumber(L, -1); lua_pop(L, 1);
+      lua_pop(L, 1);
+      lua_rawgeti(L, 2, 3);
+      luaL_checktype(L, -1, LUA_TTABLE);
+        lua_rawgeti(L, -1, 1); obj->et.mzx = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 2); obj->et.mzy = luaL_checknumber(L, -1); lua_pop(L, 1);
+        lua_rawgeti(L, -1, 3); obj->et.mzz = luaL_checknumber(L, -1); lua_pop(L, 1);
+      lua_pop(L, 1);
+   return 0;
+}
+
+const luaL_Reg lTransform_set[] = {
+   {"matrix", _edje_lua_transform_set_matrix},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_transform_fn_identity(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   evas_transform_identity_set(&(obj->et));
+   return 0;
+}
+
+static int
+_edje_lua_transform_fn_rotate(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   evas_transform_rotate(luaL_checknumber(L, 2), &(obj->et));
+   return 0;
+}
+
+static int
+_edje_lua_transform_fn_translate(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   evas_transform_translate(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
+   return 0;
+}
+
+static int
+_edje_lua_transform_fn_scale(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   evas_transform_scale(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
+   return 0;
+}
+
+static int
+_edje_lua_transform_fn_shear(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   evas_transform_shear(luaL_checknumber(L, 2), luaL_checknumber(L, 3), &(obj->et));
+   return 0;
+}
+
+static int
+_edje_lua_transform_fn_compose(lua_State *L)
+{
+   Edje_Lua_Transform *obj = _edje_lua_checkudata(L, 1, &mTransform);
+   Edje_Lua_Transform *tar = _edje_lua_checkudata(L, 2, &mTransform);
+   evas_transform_compose(&(tar->et), &(obj->et));
+   return 0;
+}
+
+const luaL_Reg lTransform_fn[] = {
+   {"identity", _edje_lua_transform_fn_identity},
+   {"rotate", _edje_lua_transform_fn_rotate},
+   {"translate", _edje_lua_transform_fn_translate},
+   {"scale", _edje_lua_transform_fn_scale},
+   {"shear", _edje_lua_transform_fn_shear},
+   {"compose", _edje_lua_transform_fn_compose},
+   {NULL, NULL}                        // sentinel
+};
+
+/*
+ * Lua Edje Transition bindings
+ */
+
+const luaL_Reg lTransition_get[];
+
+const luaL_Reg lTransition_set[];
+
+const luaL_Reg lTransition_fn[];
+
+const Edje_Lua_Reg mTransition = {
+   lNil,
+   lTransition_get,
+   lTransition_set,
+   lTransition_fn
+};
+
+const Edje_Lua_Reg *cTransition[] = {
+   &mClass,
+   &mTransition,
+   NULL                                // sentinel
+};
+
+const luaL_Reg lTransition_get[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lTransition_set[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lTransition_fn[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lObject_get[];
+
+const luaL_Reg lObject_set[];
+
+const luaL_Reg lObject_fn[];
+
+const Edje_Lua_Reg mObject = {
+   lNil,
+   lObject_get,
+   lObject_set,
+   lObject_fn
+};
+
+static void
+_edje_lua_object_del_cb(void *data, EINA_UNUSED Evas * e, Evas_Object * obj, EINA_UNUSED void *event_info)
+{
+   //printf("_edje_lua_object_delete_cb\n");
+   lua_State *L = data;
+   _edje_lua_get_reg(L, obj);
+   Edje_Lua_Evas_Object *udata = _edje_lua_checkudata(L, -1, &mObject);
+   lua_pop(L, 1);
+   _edje_lua_free_reg(L, udata); // created in EDJE_LUA_SCRIPT_FN_ADD
+   _edje_lua_free_reg(L, obj); // created in EDJE_LUA_SCRIPT_FN_ADD
+
+   Edje_Lua_Ref *ref;
+   EINA_LIST_FREE(udata->cb, ref)
+      _edje_lua_free_ref(L, ref);
+}
+
+static int
+_edje_lua_object_fn_del(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   
+   if (obj->eo)
+     {
+       evas_object_del(obj->eo);
+       obj->eo = NULL;
+       obj->ed = NULL;
+     }
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_show(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_show(obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_hide(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_hide(obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_move(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   //printf ("%i %i %i %i\n", obj->ed->x, obj->ed->y, luaL_checkint (L, 2), luaL_checkint (L, 3));
+   evas_object_move(obj->eo,
+                   obj->ed->x + luaL_checkint(L, 2),
+                   obj->ed->y + luaL_checkint(L, 3));
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_resize(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_resize(obj->eo, luaL_checkint(L, 2), luaL_checkint(L, 3));
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_raise(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_raise(obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_lower(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_lower(obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_stack_above(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   evas_object_stack_above(obj->eo, tar->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_stack_below(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   evas_object_stack_below(obj->eo, tar->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_fn_clip_unset(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_clip_unset(obj->eo);
+   return 0;
+}
+
+const luaL_Reg lObject_fn[] = {
+   {"del", _edje_lua_object_fn_del},
+   {"show", _edje_lua_object_fn_show},
+   {"hide", _edje_lua_object_fn_hide},
+   {"move", _edje_lua_object_fn_move},
+   {"resize", _edje_lua_object_fn_resize},
+   {"raise", _edje_lua_object_fn_raise},
+   {"lower", _edje_lua_object_fn_lower},
+   {"stack_above", _edje_lua_object_fn_stack_above},
+   {"stack_below", _edje_lua_object_fn_stack_below},
+   {"clip_unset", _edje_lua_object_fn_clip_unset},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_object_get_name(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushstring(L, evas_object_name_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_geometry(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int x, y, w, h;
+   evas_object_geometry_get(obj->eo, &x, &y, &w, &h);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_type(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushstring(L, evas_object_type_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_layer(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnumber(L, evas_object_layer_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_above(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Evas_Object *above = evas_object_above_get(obj->eo);
+   _edje_lua_get_reg(L, above);
+   // TODO create object if it does not already exist?
+   return 1;
+}
+
+static int
+_edje_lua_object_get_below(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Evas_Object *below = evas_object_below_get(obj->eo);
+   _edje_lua_get_reg(L, below);
+   // TODO create object if it does not already exist?
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_min(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int w, h;
+   evas_object_size_hint_min_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_max(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int w, h;
+   evas_object_size_hint_max_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_request(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int w, h;
+   evas_object_size_hint_request_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_aspect(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Evas_Aspect_Control a;
+   int w, h;
+   evas_object_size_hint_aspect_get(obj->eo, &a, &w, &h);
+   lua_createtable(L, 3, 0);
+   lua_pushnumber(L, a);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 3);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_align(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   double w, h;
+   evas_object_size_hint_align_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_weight(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   double w, h;
+   evas_object_size_hint_weight_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_size_hint_padding(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int l, r, t, b;
+   evas_object_size_hint_padding_get(obj->eo, &l, &r, &t, &b);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, l);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, r);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, t);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, b);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_visible(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_visible_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_render_op(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnumber(L, evas_object_render_op_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_anti_alias(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_anti_alias_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_scale(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnumber(L, evas_object_scale_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_color(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   int r, g, b, a;
+   evas_object_color_get(obj->eo, &r, &g, &b, &a);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, r);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, g);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, b);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, a);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_object_get_color_interpolation(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnumber(L, evas_object_color_interpolation_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_clip(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Evas_Object *clip = evas_object_clip_get(obj->eo);
+   _edje_lua_get_reg(L, clip);
+   // TODO create object if it does not already exist?
+   return 1;
+}
+
+static int
+_edje_lua_object_get_clipees(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Eina_List *clipees = (Eina_List *) evas_object_clipees_get(obj->eo);
+   Eina_List *l;
+   Evas_Object *clip;
+   int i = 1;
+   lua_createtable(L, eina_list_count(clipees), 0);
+   EINA_LIST_FOREACH(clipees, l, clip)
+     {
+       _edje_lua_get_reg(L, clip);
+       // TODO create object if it does not already exist?
+       lua_rawseti(L, -2, i++);
+     }
+   return 1;
+}
+
+static int
+_edje_lua_object_get_evas(lua_State *L)
+{
+   //Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnil(L);
+   // FIXME implement Evas class in the first place?
+   return 1;
+}
+
+static int
+_edje_lua_object_get_pass_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_pass_events_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_repeat_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_repeat_events_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_propagate_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_propagate_events_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_focus(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_focus_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_pointer_mode(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushnumber(L, evas_object_pointer_mode_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_precise_is_inside(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, evas_object_precise_is_inside_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_object_get_mouse_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   lua_pushboolean(L, obj->mouse_events);
+   return 1;
+}
+
+const luaL_Reg lObject_get[] = {
+   {"name", _edje_lua_object_get_name},
+   {"geometry", _edje_lua_object_get_geometry},
+   {"type", _edje_lua_object_get_type},
+   {"layer", _edje_lua_object_get_layer},
+   {"above", _edje_lua_object_get_above},
+   {"below", _edje_lua_object_get_below},
+   {"size_hint_min", _edje_lua_object_get_size_hint_min},
+   {"size_hint_max", _edje_lua_object_get_size_hint_max},
+   {"size_hint_request", _edje_lua_object_get_size_hint_request},
+   {"size_hint_aspect", _edje_lua_object_get_size_hint_aspect},
+   {"size_hint_align", _edje_lua_object_get_size_hint_align},
+   {"size_hint_weight", _edje_lua_object_get_size_hint_weight},
+   {"size_hint_padding", _edje_lua_object_get_size_hint_padding},
+   {"visible", _edje_lua_object_get_visible},
+   {"render_op", _edje_lua_object_get_render_op},
+   {"anti_alias", _edje_lua_object_get_anti_alias},
+   {"scale", _edje_lua_object_get_scale},
+   {"color", _edje_lua_object_get_color},
+   {"color_interpolation", _edje_lua_object_get_color_interpolation},
+   {"clip", _edje_lua_object_get_clip},
+   {"clipees", _edje_lua_object_get_clipees},
+   {"evas", _edje_lua_object_get_evas},
+   {"pass_events", _edje_lua_object_get_pass_events},
+   {"repeat_events", _edje_lua_object_get_repeat_events},
+   {"propagate_events", _edje_lua_object_get_propagate_events},
+   {"focus", _edje_lua_object_get_focus},
+   {"pointer_mode", _edje_lua_object_get_pointer_mode},
+   {"precise_is_inside", _edje_lua_object_get_precise_is_inside},
+   {"mouse_events", _edje_lua_object_get_mouse_events},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_object_set_name(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_name_set(obj->eo, luaL_checkstring(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_layer(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_layer_set(obj->eo, luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_min(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_size_hint_min_set(obj->eo,
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_max(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_size_hint_max_set(obj->eo,
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_request(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_size_hint_request_set(obj->eo,
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_aspect(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   evas_object_size_hint_aspect_set(obj->eo,
+        luaL_checkint(L, -3),
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_align(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_size_hint_align_set(obj->eo,
+        luaL_checknumber(L, -2),
+        luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_weight(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_size_hint_weight_set(obj->eo,
+        luaL_checknumber(L, -2),
+        luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_size_hint_padding(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   evas_object_size_hint_padding_set(obj->eo,
+        luaL_checknumber(L, -4),
+        luaL_checknumber(L, -3),
+        luaL_checknumber(L, -2),
+        luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_render_op(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_render_op_set(obj->eo, luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_anti_alias(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_anti_alias_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_scale(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_scale_set(obj->eo, luaL_checknumber(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_color(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   evas_object_color_set(obj->eo,
+        luaL_checkint(L, -4),
+        luaL_checkint(L, -3),
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_color_interpolation(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_color_interpolation_set(obj->eo, luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_clip(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   Edje_Lua_Evas_Object *clip = _edje_lua_checkudata(L, 2, &mObject);
+   evas_object_clip_set(obj->eo, clip->eo);
+   return 0;
+}
+
+static int
+_edje_lua_object_set_pass_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_pass_events_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_repeat_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_repeat_events_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_propagate_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_propagate_events_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_focus(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_focus_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_pointer_mode(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_pointer_mode_set(obj->eo, luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_object_set_precise_is_inside(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_precise_is_inside_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+#define OBJECT_CB_MACRO(KEY) \
+   lua_State *L = data; \
+   _edje_lua_get_reg(L, obj); \
+   lua_getfield(L, -1, KEY); \
+   if (lua_type(L, -1) != LUA_TFUNCTION) \
+      { \
+        lua_pop(L, 2); \
+        return; \
+      } \
+   lua_insert(L, -2);
+
+static void
+_edje_lua_object_cb_mouse_in(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                            void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_in");
+   Evas_Event_Mouse_In * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->output.x);
+   lua_pushnumber(L, ev->output.y);
+   lua_pushnumber(L, ev->canvas.x);
+   lua_pushnumber(L, ev->canvas.y);
+
+   if ((err_code = lua_pcall(L, 5, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static void
+_edje_lua_object_cb_mouse_out(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                             void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_out");
+   Evas_Event_Mouse_In * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->output.x);
+   lua_pushnumber(L, ev->output.y);
+   lua_pushnumber(L, ev->canvas.x);
+   lua_pushnumber(L, ev->canvas.y);
+
+   if ((err_code = lua_pcall(L, 5, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static void
+_edje_lua_object_cb_mouse_down(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                              void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_down");
+   Evas_Event_Mouse_Down * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->button);
+   lua_pushnumber(L, ev->output.x);
+   lua_pushnumber(L, ev->output.y);
+   lua_pushnumber(L, ev->canvas.x);
+   lua_pushnumber(L, ev->canvas.y);
+
+   if ((err_code = lua_pcall(L, 6, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static void
+_edje_lua_object_cb_mouse_up(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                            void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_up");
+   Evas_Event_Mouse_Up * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->button);
+   lua_pushnumber(L, ev->output.x);
+   lua_pushnumber(L, ev->output.y);
+   lua_pushnumber(L, ev->canvas.x);
+   lua_pushnumber(L, ev->canvas.y);
+
+   if ((err_code = lua_pcall(L, 6, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static void
+_edje_lua_object_cb_mouse_move(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                              void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_move");
+   Evas_Event_Mouse_Move * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->buttons);
+   lua_pushnumber(L, ev->cur.output.x);
+   lua_pushnumber(L, ev->cur.output.y);
+   lua_pushnumber(L, ev->cur.canvas.x);
+   lua_pushnumber(L, ev->cur.canvas.y);
+
+   if ((err_code = lua_pcall(L, 6, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static void
+_edje_lua_object_cb_mouse_wheel(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                              void *event_info)
+{
+   OBJECT_CB_MACRO("mouse_wheel");
+   Evas_Event_Mouse_Wheel * ev = event_info;
+   int err_code;
+
+   lua_pushnumber(L, ev->z);
+   lua_pushnumber(L, ev->output.x);
+   lua_pushnumber(L, ev->output.y);
+   lua_pushnumber(L, ev->canvas.x);
+   lua_pushnumber(L, ev->canvas.y);
+
+   if ((err_code = lua_pcall(L, 6, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static int
+_edje_lua_object_set_mouse_events(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   obj->mouse_events = lua_toboolean(L, 2);
+   if (obj->mouse_events)
+     {
+       // add all mouse events
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_IN, _edje_lua_object_cb_mouse_in, L);
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_OUT, _edje_lua_object_cb_mouse_out, L);
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_DOWN, _edje_lua_object_cb_mouse_down, L);
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_UP, _edje_lua_object_cb_mouse_up, L);
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_MOVE, _edje_lua_object_cb_mouse_move, L);
+       evas_object_event_callback_add(obj->eo, EVAS_CALLBACK_MOUSE_WHEEL, _edje_lua_object_cb_mouse_wheel, L);
+     }
+   else
+     {
+       // delete all mouse events
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_IN, _edje_lua_object_cb_mouse_in);
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_OUT, _edje_lua_object_cb_mouse_out);
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_DOWN, _edje_lua_object_cb_mouse_down);
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_UP, _edje_lua_object_cb_mouse_up);
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_MOVE, _edje_lua_object_cb_mouse_move);
+       evas_object_event_callback_del(obj->eo, EVAS_CALLBACK_MOUSE_WHEEL, _edje_lua_object_cb_mouse_wheel);
+     }
+   return 0;
+}
+
+const luaL_Reg lObject_set[] = {
+   {"name", _edje_lua_object_set_name},
+   {"layer", _edje_lua_object_set_layer},
+   {"size_hint_min", _edje_lua_object_set_size_hint_min},
+   {"size_hint_max", _edje_lua_object_set_size_hint_max},
+   {"size_hint_request", _edje_lua_object_set_size_hint_request},
+   {"size_hint_aspect", _edje_lua_object_set_size_hint_aspect},
+   {"size_hint_align", _edje_lua_object_set_size_hint_align},
+   {"size_hint_weight", _edje_lua_object_set_size_hint_weight},
+   {"size_hint_padding", _edje_lua_object_set_size_hint_padding},
+   {"render_op", _edje_lua_object_set_render_op},
+   {"anti_alias", _edje_lua_object_set_anti_alias},
+   {"scale", _edje_lua_object_set_scale},
+   {"color", _edje_lua_object_set_color},
+   {"color_interpolation", _edje_lua_object_set_color_interpolation},
+   {"clip", _edje_lua_object_set_clip},
+   {"pass_events", _edje_lua_object_set_pass_events},
+   {"repeat_events", _edje_lua_object_set_repeat_events},
+   {"propagate_events", _edje_lua_object_set_propagate_events},
+   {"focus", _edje_lua_object_set_focus},
+   {"pointer_mode", _edje_lua_object_get_pointer_mode},
+   {"precise_is_inside", _edje_lua_object_get_precise_is_inside},
+   {"mouse_events", _edje_lua_object_set_mouse_events},
+   {NULL, NULL}                        // sentinel
+};
+
+const Edje_Lua_Reg *cRectangle[] = {
+   &mClass,
+   &mObject,
+   NULL                                // sentinel
+};
+
+const luaL_Reg lImage_get[];
+
+const luaL_Reg lImage_set[];
+
+const Edje_Lua_Reg mImage = {
+   lNil,
+   lImage_get,
+   lImage_set,
+   lNil
+};
+
+const Edje_Lua_Reg *cImage[] = {
+   &mClass,
+   &mObject,
+   &mImage,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_image_get_size(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
+   int w, h;
+   evas_object_image_size_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+};
+
+const luaL_Reg lImage_get[] = {
+   {"size", _edje_lua_image_get_size},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_image_set_file(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
+   int id = edje_edit_image_id_get(obj->ed->obj, luaL_checkstring(L, 2));
+   char buf[256];
+   sprintf(buf, "edje/images/%i", id);
+   evas_object_image_file_set(obj->eo, obj->ed->path, buf);
+   return 0;
+}
+
+static int
+_edje_lua_image_set_fill(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   evas_object_image_fill_set(obj->eo,
+                             luaL_checkint(L, -4),
+                             luaL_checkint(L, -3),
+                             luaL_checkint(L, -2), luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_image_set_fill_transform(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mImage);
+   Edje_Lua_Transform *tar = _edje_lua_checkudata(L, 2, &mTransform);
+   evas_object_image_fill_transform_set(obj->eo, &(tar->et));
+   return 0;
+}
+
+static int
+_edje_lua_image_set_alpha(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
+   evas_object_image_alpha_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+const luaL_Reg lImage_set[] = {
+   {"file", _edje_lua_image_set_file},
+   {"fill", _edje_lua_image_set_fill},
+   {"fill_transform", _edje_lua_image_set_fill_transform},
+   {"alpha", _edje_lua_image_set_alpha},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lLine_get[];
+const luaL_Reg lLine_set[];
+
+const Edje_Lua_Reg mLine = {
+   lNil,
+   lLine_get,
+   lLine_set,
+   lNil
+};
+
+const Edje_Lua_Reg *cLine[] = {
+   &mClass,
+   &mObject,
+   &mLine,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_line_get_xy(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mLine);
+   int x1, y1, x2, y2;
+   evas_object_line_xy_get(obj->eo, &x1, &y1, &x2, &y2);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, x1); lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y1); lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, x2); lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, y2); lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+const luaL_Reg lLine_get[] = {
+   {"xy", _edje_lua_line_get_xy},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_line_set_xy(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mLine);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   evas_object_line_xy_set(obj->eo,
+                           luaL_checkint(L, -4),
+                           luaL_checkint(L, -3),
+                           luaL_checkint(L, -2),
+                           luaL_checkint(L, -1));
+   return 0;
+}
+
+const luaL_Reg lLine_set[] = {
+   {"xy", _edje_lua_line_set_xy},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lPolygon_fn[];
+
+const Edje_Lua_Reg mPolygon = {
+   lNil,
+   lNil,
+   lNil,
+   lPolygon_fn
+};
+
+const Edje_Lua_Reg *cPolygon[] = {
+   &mClass,
+   &mObject,
+   &mPolygon,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_polygon_fn_point_add(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mPolygon);
+   evas_object_polygon_point_add(obj->eo,
+                                luaL_checknumber(L, 2),
+                                luaL_checknumber(L, 3));
+   return 0;
+}
+
+static int
+_edje_lua_polygon_fn_points_clear(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mPolygon);
+   evas_object_polygon_points_clear(obj->eo);
+   return 0;
+}
+
+const luaL_Reg lPolygon_fn[] = {
+   {"point_add", _edje_lua_polygon_fn_point_add},
+   {"points_clear", _edje_lua_polygon_fn_points_clear},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lTable_get[];
+
+const luaL_Reg lTable_set[];
+
+const luaL_Reg lTable_fn[];
+
+const Edje_Lua_Reg mTable = {
+   lNil,
+   lTable_get,
+   lTable_set,
+   lTable_fn
+};
+
+const Edje_Lua_Reg *cTable[] = {
+   &mClass,
+   &mObject,
+   &mTable,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_table_get_homogeneous(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   lua_pushnumber(L, evas_object_table_homogeneous_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_table_get_padding(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   int x, y;
+   evas_object_table_padding_get(obj->eo, &x, &y);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_table_get_align(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   double x, y;
+   evas_object_table_align_get(obj->eo, &x, &y);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_table_get_col_row_size(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   int x, y;
+   evas_object_table_col_row_size_get(obj->eo, &x, &y);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_table_get_children(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   Eina_List *children = (Eina_List *) evas_object_table_children_get(obj->eo);
+   Eina_List *l;
+   Evas_Object *child;
+   int i = 1;
+   lua_createtable(L, eina_list_count(children), 0);
+   EINA_LIST_FOREACH(children, l, child)
+     {
+       _edje_lua_get_reg(L, child);
+       // TODO create object if it does not already exist?
+       lua_rawseti(L, -2, i++);
+     }
+   return 1;
+}
+
+const luaL_Reg lTable_get[] = {
+   {"homogeneous", _edje_lua_table_get_homogeneous},
+   {"padding", _edje_lua_table_get_padding},
+   {"align", _edje_lua_table_get_align},
+   {"col_row_size", _edje_lua_table_get_col_row_size},
+   {"children", _edje_lua_table_get_children},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_table_set_homogeneous(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   evas_object_table_homogeneous_set(obj->eo,
+        luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_table_set_padding(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_table_padding_set(obj->eo,
+        luaL_checkint(L, -2),
+        luaL_checkint(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_table_set_align(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   evas_object_table_align_set(obj->eo,
+        luaL_checknumber(L, -2),
+        luaL_checknumber(L, -1));
+   return 0;
+}
+
+const luaL_Reg lTable_set[] = {
+   {"homogeneous", _edje_lua_table_set_homogeneous},
+   {"padding", _edje_lua_table_set_padding},
+   {"align", _edje_lua_table_set_align},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_table_fn_pack(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        evas_object_table_pack(obj->eo, tar->eo,
+           luaL_checkint(L, 3),
+           luaL_checkint(L, 4),
+           luaL_checkint(L, 5),
+           luaL_checkint(L, 6)));
+   return 1;
+}
+
+static int
+_edje_lua_table_fn_unpack(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        evas_object_table_unpack(obj->eo, tar->eo));
+   return 1;
+}
+
+static int
+_edje_lua_table_fn_clear(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mTable);
+   evas_object_table_clear(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+const luaL_Reg lTable_fn[] = {
+   {"pack", _edje_lua_table_fn_pack},
+   {"unpack", _edje_lua_table_fn_unpack},
+   {"clear", _edje_lua_table_fn_clear},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lDescription_get[];
+
+const luaL_Reg lDescription_set[];
+
+const Edje_Lua_Reg mDescription = {
+   lNil,
+   lDescription_get,
+   lDescription_set,
+   lNil
+};
+
+const Edje_Lua_Reg *cDescription[] = {
+   &mClass,
+   &mObject,
+   &mDescription,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_description_get_alignment(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->align.x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->align.y));
+   lua_rawseti(L, -2, 1);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_min(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->min.w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->min.h);
+   lua_rawseti(L, -2, 1);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_max(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->max.w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->max.h);
+   lua_rawseti(L, -2, 1);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_step(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->step.x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->step.y);
+   lua_rawseti(L, -2, 1);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_aspect(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->aspect.min));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->aspect.max));
+   lua_rawseti(L, -2, 1);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_aspect_pref(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_pushnumber(L, obj->rp->custom->description->aspect.prefer);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_color(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   /* check whether this part has a "custom" state */
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, obj->rp->custom->description->color.r);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->color.g);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->color.b);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->color.a);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_color2(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, obj->rp->custom->description->color2.r);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->color2.g);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->color2.b);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->color2.a);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_color3(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, obj->rp->custom->description->color3.r);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->color3.g);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->color3.b);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->color3.a);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_color_class(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_pushstring(L, obj->rp->custom->description->color_class);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel1(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel1.relative_x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel1.relative_y));
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel1_to(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->rel1.id_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->rel1.id_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel1_offset(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->rel1.offset_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->rel1.offset_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel2(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel2.relative_x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->rel2.relative_y));
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel2_to(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->rel2.id_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->rel2.id_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_rel2_offset(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->rel2.offset_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->rel2.offset_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_image(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   // TODO
+   return 0;
+}
+
+static int
+_edje_lua_description_get_border(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, obj->rp->custom->description->border.l);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->border.r);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->border.t);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->border.b);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_fill_smooth(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushboolean(L, obj->rp->custom->description->fill.smooth);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_fill_pos(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.pos_rel_x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.pos_rel_y));
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->fill.pos_abs_x);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->fill.pos_abs_y);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_fill_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.rel_x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->fill.rel_y));
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, obj->rp->custom->description->fill.abs_x);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, obj->rp->custom->description->fill.abs_y);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushstring(L, obj->rp->custom->description->text.text);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_class(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushstring(L, obj->rp->custom->description->text.text_class);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_font(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushstring(L, obj->rp->custom->description->text.text_class);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_style(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushstring(L, obj->rp->custom->description->text.style);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_pushnumber(L, obj->rp->custom->description->text.size);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_fit(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushboolean(L, obj->rp->custom->description->text.fit_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushboolean(L, obj->rp->custom->description->text.fit_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_min(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->text.min_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->text.min_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_max(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, obj->rp->custom->description->text.max_x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, obj->rp->custom->description->text.max_y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_text_align(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->text.align.x));
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, TO_DOUBLE(obj->rp->custom->description->text.align.y));
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_description_get_visible(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_pushboolean(L, obj->rp->custom->description->visible);
+   return 1;
+}
+
+const luaL_Reg lDescription_get[] = {
+   {"alignment", _edje_lua_description_get_alignment},
+   {"min", _edje_lua_description_get_min},
+   {"max", _edje_lua_description_get_max},
+   {"step", _edje_lua_description_get_step},
+   {"aspect", _edje_lua_description_get_aspect},
+   {"aspect_pref", _edje_lua_description_get_aspect_pref},
+   {"color", _edje_lua_description_get_color},
+   {"color2", _edje_lua_description_get_color2},
+   {"color3", _edje_lua_description_get_color3},
+   {"color_class", _edje_lua_description_get_color_class},
+   {"rel1", _edje_lua_description_get_rel1},
+   {"rel1_to", _edje_lua_description_get_rel1_to},
+   {"rel1_offset", _edje_lua_description_get_rel1_offset},
+   {"rel2", _edje_lua_description_get_rel2},
+   {"rel2_to", _edje_lua_description_get_rel2_to},
+   {"rel2_offset", _edje_lua_description_get_rel2_offset},
+   {"image", _edje_lua_description_get_image},
+   {"border", _edje_lua_description_get_border},
+   {"fill_smooth", _edje_lua_description_get_fill_smooth},
+   {"fill_pos", _edje_lua_description_get_fill_pos},
+   {"fill_size", _edje_lua_description_get_fill_size},
+   {"text", _edje_lua_description_get_text},
+   {"text_class", _edje_lua_description_get_text_class},
+   {"text_font", _edje_lua_description_get_text_font},
+   {"text_style", _edje_lua_description_get_text_style},
+   {"text_size", _edje_lua_description_get_text_size},
+   {"text_fit", _edje_lua_description_get_text_fit},
+   {"text_min", _edje_lua_description_get_text_min},
+   {"text_max", _edje_lua_description_get_text_max},
+   {"text_align", _edje_lua_description_get_text_align},
+   {"visible", _edje_lua_description_get_visible},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_description_set_alignment(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->align.x = FROM_DOUBLE(luaL_checknumber(L, -2));
+   obj->rp->custom->description->align.y = FROM_DOUBLE(luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_description_set_min(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->min.w = luaL_checkint(L, -2);
+   obj->rp->custom->description->min.h = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_max(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->max.w = luaL_checkint(L, -2);
+   obj->rp->custom->description->max.h = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_step(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->step.x = luaL_checkint(L, -2);
+   obj->rp->custom->description->step.y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_aspect(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->aspect.min = FROM_DOUBLE(luaL_checknumber(L, -2));
+   obj->rp->custom->description->aspect.max = FROM_DOUBLE(luaL_checknumber(L, -1));
+   return 0;
+
+}
+
+static int
+_edje_lua_description_set_aspect_pref(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->aspect.prefer = luaL_checknumber(L, 2);
+   return 0;
+
+}
+
+static int
+_edje_lua_description_set_color(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->color.r = luaL_checkint(L, -4);
+   obj->rp->custom->description->color.g = luaL_checkint(L, -3);
+   obj->rp->custom->description->color.b = luaL_checkint(L, -2);
+   obj->rp->custom->description->color.a = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_color2(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->color2.r = luaL_checkint(L, -4);
+   obj->rp->custom->description->color2.g = luaL_checkint(L, -3);
+   obj->rp->custom->description->color2.b = luaL_checkint(L, -2);
+   obj->rp->custom->description->color2.a = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_color3(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->color3.r = luaL_checkint(L, -4);
+   obj->rp->custom->description->color3.g = luaL_checkint(L, -3);
+   obj->rp->custom->description->color3.b = luaL_checkint(L, -2);
+   obj->rp->custom->description->color3.a = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_color_class(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->color_class = (char *)luaL_checkstring(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel1(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel1.relative_x = FROM_DOUBLE(luaL_checknumber(L, -2));
+   obj->rp->custom->description->rel1.relative_y = FROM_DOUBLE(luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel1_to(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel1.id_x = luaL_checknumber(L, -2);
+   obj->rp->custom->description->rel1.id_y = luaL_checknumber(L, -1);
+   if (obj->rp->param1.description->rel1.id_x >= 0)
+     obj->rp->param1.rel1_to_x = obj->ed->table_parts[obj->rp->param1.description->rel1.id_x % obj->ed->table_parts_size];
+   if (obj->rp->param1.description->rel1.id_y >= 0)
+     obj->rp->param1.rel1_to_y = obj->ed->table_parts[obj->rp->param1.description->rel1.id_y % obj->ed->table_parts_size];
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel1_offset(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel1.offset_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->rel1.offset_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel2(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel2.relative_x = FROM_DOUBLE(luaL_checknumber(L, -2));
+   obj->rp->custom->description->rel2.relative_y = FROM_DOUBLE(luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel2_to(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel2.id_x = luaL_checknumber(L, -2);
+   obj->rp->custom->description->rel2.id_y = luaL_checknumber(L, -1);
+   if (obj->rp->param1.description->rel2.id_x >= 0)
+     obj->rp->param1.rel2_to_x = obj->ed->table_parts[obj->rp->param1.description->rel2.id_x % obj->ed->table_parts_size];
+   if (obj->rp->param1.description->rel2.id_y >= 0)
+     obj->rp->param1.rel2_to_y = obj->ed->table_parts[obj->rp->param1.description->rel2.id_y % obj->ed->table_parts_size];
+   return 0;
+}
+
+static int
+_edje_lua_description_set_rel2_offset(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->rel2.offset_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->rel2.offset_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_image(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   obj->rp->custom->description->image.id =
+      edje_edit_image_id_get(obj->ed->obj, (char *)luaL_checkstring(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_description_set_border(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->border.l = luaL_checkint(L, -2);
+   obj->rp->custom->description->border.r = luaL_checkint(L, -1);
+   obj->rp->custom->description->border.t = luaL_checkint(L, -2);
+   obj->rp->custom->description->border.b = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_fill_smooth(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->fill.smooth = lua_toboolean(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_fill_pos(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->fill.pos_rel_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->fill.pos_rel_y = luaL_checkint(L, -1);
+   obj->rp->custom->description->fill.pos_abs_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->fill.pos_abs_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_fill_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_IMAGE))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   obj->rp->custom->description->fill.rel_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->fill.rel_y = luaL_checkint(L, -1);
+   obj->rp->custom->description->fill.abs_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->fill.abs_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->text.text = (char *)luaL_checkstring(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_class(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->text.text_class =
+      (char *)luaL_checkstring(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_font(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->text.font = (char *)luaL_checkstring(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_style(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->text.style = (char *)luaL_checkstring(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->text.size = luaL_checkint(L, 2);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_fit(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->text.fit_x = lua_toboolean(L, -2);
+   obj->rp->custom->description->text.fit_y = lua_toboolean(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_min(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->text.min_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->text.min_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_max(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT)
+       && (obj->rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->text.max_x = luaL_checkint(L, -2);
+   obj->rp->custom->description->text.max_y = luaL_checkint(L, -1);
+   return 0;
+}
+
+static int
+_edje_lua_description_set_text_align(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if ((obj->rp->part->type != EDJE_PART_TYPE_TEXT))
+      return 0;
+   if (!obj->rp->custom) return 0;
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->rp->custom->description->text.align.x = FROM_DOUBLE(luaL_checknumber(L, -2));
+   obj->rp->custom->description->text.align.y = FROM_DOUBLE(luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_description_set_visible(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Description *obj =
+      _edje_lua_checkudata(L, 1, &mDescription);
+   if (!obj->rp->custom) return 0;
+   obj->rp->custom->description->visible = lua_toboolean(L, 2);
+   return 0;
+}
+
+const luaL_Reg lDescription_set[] = {
+   {"alignment", _edje_lua_description_set_alignment},
+   {"min", _edje_lua_description_set_min},
+   {"max", _edje_lua_description_set_max},
+   {"step", _edje_lua_description_set_step},
+   {"aspect", _edje_lua_description_set_aspect},
+   {"aspect_pref", _edje_lua_description_set_aspect_pref},
+   {"color", _edje_lua_description_set_color},
+   {"color2", _edje_lua_description_set_color2},
+   {"color3", _edje_lua_description_set_color3},
+   {"color_class", _edje_lua_description_set_color_class},
+   {"rel1", _edje_lua_description_set_rel1},
+   {"rel1_to", _edje_lua_description_set_rel1_to},
+   {"rel1_offset", _edje_lua_description_set_rel1_offset},
+   {"rel2", _edje_lua_description_set_rel2},
+   {"rel2_to", _edje_lua_description_set_rel2_to},
+   {"rel2_offset", _edje_lua_description_set_rel2_offset},
+   {"image", _edje_lua_description_set_image},
+   {"border", _edje_lua_description_set_border},
+   {"fill_smooth", _edje_lua_description_set_fill_smooth},
+   {"fill_pos", _edje_lua_description_set_fill_pos},
+   {"fill_size", _edje_lua_description_set_fill_size},
+   {"text", _edje_lua_description_set_text},
+   {"text_class", _edje_lua_description_set_text_class},
+   {"text_font", _edje_lua_description_set_text_font},
+   {"text_style", _edje_lua_description_set_text_style},
+   {"text_size", _edje_lua_description_set_text_size},
+   {"text_fit", _edje_lua_description_set_text_fit},
+   {"text_min", _edje_lua_description_set_text_min},
+   {"text_max", _edje_lua_description_set_text_max},
+   {"text_align", _edje_lua_description_set_text_align},
+   {"visible", _edje_lua_description_set_visible},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lPart_get[];
+
+const luaL_Reg lPart_set[];
+
+const luaL_Reg lPart_fn[];
+
+const Edje_Lua_Reg mPart = {
+   lNil,
+   lPart_get,
+   lPart_set,
+   lPart_fn
+};
+
+static void
+_edje_lua_edje_part_del_cb(void *data, EINA_UNUSED Evas * e, Evas_Object * obj,
+                          EINA_UNUSED void *event_info)
+{
+   //printf("_edje_lua_object_delete_cb\n");
+   lua_State *L = data;
+   _edje_lua_get_reg(L, obj);
+   Edje_Lua_Edje_Part_Object *udata = _edje_lua_checkudata(L, -1, &mPart);
+   lua_pop(L, 1);
+   _edje_lua_free_reg(L, udata); // created in _edje_lua_group_mt_index
+   _edje_lua_free_reg(L, obj); // created in _edje_lua_group_mt_index
+}
+
+const Edje_Lua_Reg *cPart[] = {
+   &mClass,
+   &mObject,
+   &mPart,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_part_get_swallow(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Evas_Object *swa = edje_object_part_swallow_get(obj->ed->obj, obj->key);
+   _edje_lua_get_reg(L, swa);
+   // TODO create object if it does not already exist?
+   return 1;
+}
+
+static int
+_edje_lua_part_get_type(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushnumber(L, edje_edit_part_type_get(obj->ed->obj, obj->key));
+   return 1;
+}
+
+static int
+_edje_lua_part_get_effect(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushnumber(L, edje_edit_part_effect_get(obj->ed->obj, obj->key));
+   return 1;
+}
+
+static int
+_edje_lua_part_get_mouse_events(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushboolean(L, edje_edit_part_mouse_events_get(obj->ed->obj, obj->key));
+   return 1;
+}
+
+static int
+_edje_lua_part_get_repeat_events(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushboolean(L, edje_edit_part_repeat_events_get(obj->ed->obj, obj->key));
+   return 1;
+}
+
+static int
+_edje_lua_part_get_states_list(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Eina_List *slist = edje_edit_part_states_list_get(obj->ed->obj, obj->key);
+   Eina_List *ilist;
+   lua_newtable(L);
+   int i = 1;
+   for (ilist = slist; ilist; ilist = eina_list_next(ilist))
+     {
+       lua_pushstring(L, eina_list_data_get(ilist));
+       lua_rawseti(L, -2, i++);
+     }
+   edje_edit_string_list_free(slist);
+   return 1;
+};
+
+static int
+_edje_lua_part_get_state(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   const char *state;
+   double val;
+   state = edje_object_part_state_get(obj->ed->obj, obj->key, &val);
+   lua_createtable(L, 2, 0);
+   lua_pushstring(L, state);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, val);
+   lua_rawseti(L, -2, 2);
+   return 1;
+};
+
+static int
+_edje_lua_part_get_text(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushstring(L, edje_object_part_text_get(obj->ed->obj, obj->key));
+   return 1;
+};
+
+static int
+_edje_lua_part_get_text_selection(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushstring(L,
+                 edje_object_part_text_selection_get(obj->ed->obj, obj->key));
+   return 1;
+};
+
+static int
+_edje_lua_part_get_drag_dir(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushnumber(L, edje_object_part_drag_dir_get(obj->ed->obj, obj->key));
+   return 1;
+}
+
+static int
+_edje_lua_part_get_drag_value(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   double dx, dy;
+   edje_object_part_drag_value_get(obj->ed->obj, obj->key, &dx, &dy);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, dx);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, dy);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_drag_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   double dx, dy;
+   edje_object_part_drag_size_get(obj->ed->obj, obj->key, &dx, &dy);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, dx);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, dy);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_drag_step(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   double dx, dy;
+   edje_object_part_drag_step_get(obj->ed->obj, obj->key, &dx, &dy);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, dx);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, dy);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_drag_page(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   double dx, dy;
+   edje_object_part_drag_page_get(obj->ed->obj, obj->key, &dx, &dy);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, dx);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, dy);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_text_cursor_geometry(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Evas_Coord x, y, w, h;
+   edje_object_part_text_cursor_geometry_get(obj->ed->obj, obj->key,
+                                            &x, &y, &w, &h);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_geometry(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Evas_Coord x, y, w, h;
+   edje_object_part_geometry_get(obj->ed->obj, obj->key, &x, &y, &w, &h);
+   lua_createtable(L, 4, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 3);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 4);
+   return 1;
+}
+
+static int
+_edje_lua_part_get_table_col_row_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   int cols, rows;
+   edje_object_part_table_col_row_size_get(obj->ed->obj, obj->key, &cols, &rows);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, cols); lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, rows); lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int _edje_lua_part_fn_custom_state(lua_State *L);
+
+const luaL_Reg lPart_get[] = {
+   {"custom_state", _edje_lua_part_fn_custom_state},
+   {"Swallow", _edje_lua_part_get_swallow}, //TODO it the capital S correct?
+
+   {"drag_dir", _edje_lua_part_get_drag_dir},
+   {"drag_value", _edje_lua_part_get_drag_value},
+   {"drag_size", _edje_lua_part_get_drag_size},
+   {"drag_step", _edje_lua_part_get_drag_step},
+   {"drag_page", _edje_lua_part_get_drag_page},
+
+   {"type", _edje_lua_part_get_type},
+   {"effect", _edje_lua_part_get_effect},
+   {"mouse_events", _edje_lua_part_get_mouse_events},
+   {"repeat_events", _edje_lua_part_get_repeat_events},
+   {"states_list", _edje_lua_part_get_states_list},
+   {"state", _edje_lua_part_get_state},
+
+   {"text", _edje_lua_part_get_text},
+   {"text_selection", _edje_lua_part_get_text_selection},
+   {"text_cursor_geometry", _edje_lua_part_get_text_cursor_geometry},
+
+   {"geometry", _edje_lua_part_get_geometry},
+   {"part_col_row_size", _edje_lua_part_get_table_col_row_size},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_part_set_effect(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_edit_part_effect_set(obj->ed->obj, obj->key, luaL_checkint(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_mouse_events(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_edit_part_mouse_events_set(obj->ed->obj, obj->key, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_repeat_events(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_edit_part_repeat_events_set(obj->ed->obj, obj->key,
+                                   lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_state(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   _edje_part_description_apply(obj->ed, obj->rp,
+                               luaL_checkstring(L, -2), luaL_checknumber(L, -1),
+                               NULL, 0.0);
+   _edje_part_pos_set(obj->ed, obj->rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO);
+   _edje_recalc(obj->ed);
+   return 0;
+}
+
+static int
+_edje_lua_part_set_tween_state(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   lua_rawgeti(L, 2, 3);
+   lua_rawgeti(L, 2, 4);
+   lua_rawgeti(L, 2, 5);
+   _edje_part_description_apply(obj->ed, obj->rp,
+                               luaL_checkstring(L, -4), luaL_checknumber(L, -3),
+                               luaL_checkstring(L, -2), luaL_checknumber(L, -1));
+   _edje_part_pos_set(obj->ed, obj->rp, EDJE_TWEEN_MODE_LINEAR,
+                     FROM_DOUBLE(luaL_checknumber(L, -5)), ZERO, ZERO);
+   _edje_recalc(obj->ed);
+   return 0;
+}
+
+static int
+_edje_lua_part_set_text(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_object_part_text_set(obj->ed->obj, obj->key, luaL_checkstring(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_drag_value(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   edje_object_part_drag_value_set(obj->ed->obj, obj->key,
+                                  luaL_checknumber(L, -2),
+                                  luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_drag_size(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   edje_object_part_drag_size_set(obj->ed->obj, obj->key,
+                                 luaL_checknumber(L, -2),
+                                 luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_drag_step(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   edje_object_part_drag_step_set(obj->ed->obj, obj->key,
+                                 luaL_checknumber(L, -2),
+                                 luaL_checknumber(L, -1));
+   return 0;
+}
+
+static int
+_edje_lua_part_set_drag_page(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   edje_object_part_drag_page_set(obj->ed->obj, obj->key,
+                                 luaL_checknumber(L, -2),
+                                 luaL_checknumber(L, -1));
+   return 0;
+}
+
+const luaL_Reg lPart_set[] = {
+   {"drag_value", _edje_lua_part_set_drag_value},
+   {"drag_size", _edje_lua_part_set_drag_size},
+   {"drag_step", _edje_lua_part_set_drag_step},
+   {"drag_page", _edje_lua_part_set_drag_page},
+
+   {"effect", _edje_lua_part_set_effect},
+   {"mouse_events", _edje_lua_part_set_mouse_events},
+   {"repeat_events", _edje_lua_part_set_repeat_events},
+   {"state", _edje_lua_part_set_state},
+   {"tween_state", _edje_lua_part_set_tween_state},
+   {"text", _edje_lua_part_set_text},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_part_fn_swallow(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *swa = _edje_lua_checkudata(L, 2, &mObject);
+   edje_object_part_swallow(obj->ed->obj, obj->key, swa->eo);
+   return 0;
+}
+
+static int
+_edje_lua_part_fn_unswallow(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_object_part_unswallow(obj->ed->obj, obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_part_fn_text_select_none(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_object_part_text_select_none(obj->ed->obj, obj->key);
+   return 0;
+}
+
+static int
+_edje_lua_part_fn_text_select_all(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_object_part_text_select_all(obj->ed->obj, obj->key);
+   return 0;
+}
+
+static int
+_edje_lua_part_fn_text_insert(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   edje_object_part_text_insert(obj->ed->obj, obj->key, luaL_checkstring(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_part_fn_custom_state(lua_State *L)
+{
+   char *name;
+   float val;
+   Edje_Part_Description *parent;
+   Edje_Part_Image_Id *iid;
+   Eina_List *l;
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   /* check whether this part already has a "custom" state */
+   if (obj->rp->custom)
+     {
+       _edje_lua_get_reg(L, obj->rp->custom->description);
+       return 1;
+     }
+
+   name = (char *)luaL_checkstring(L, 2);      // state name
+   val = luaL_checknumber(L, 3);       // state val
+   if (!(parent = _edje_part_description_find(obj->ed, obj->rp, name, val)))
+     {
+       lua_pushnil(L);
+       return 1;
+     }
+   /* now create the custom state */
+   Edje_Lua_Edje_Part_Description *tar =
+      lua_newuserdata(L, sizeof(Edje_Lua_Edje_Part_Description));
+   tar->rp = obj->rp;
+   _edje_lua_set_class(L, -1, cDescription);
+   _edje_lua_new_reg(L, -1, tar); // freed in edje_load.c::_edje_file_del
+   if (!(tar->pd = calloc(1, sizeof(Edje_Part_Description))))
+     {
+       lua_pushnil(L);
+       return 1;
+     }
+   
+   obj->rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
+   if (!obj->rp->custom)
+     {
+        free(tar->pd);
+        tar->pd = NULL;
+        lua_pushnil(L);
+        return 1;
+     }
+   
+   *(tar->pd) = *parent;
+   tar->pd->state.name = (char *)eina_stringshare_add("custom");
+   tar->pd->state.value = 0.0;
+   /* 
+    * make sure all the allocated memory is getting copied,
+    * not just referenced
+    */
+   tar->pd->image.tween_list = NULL;
+   EINA_LIST_FOREACH(parent->image.tween_list, l, iid)
+   {
+      Edje_Part_Image_Id *iid_new;
+      iid_new = calloc(1, sizeof(Edje_Part_Image_Id));
+      iid_new->id = iid->id;
+
+      tar->pd->image.tween_list =
+        eina_list_append(tar->pd->image.tween_list, iid_new);
+   }
+#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL
+   tar->pd->color_class = DUP(tar->pd->color_class);
+   tar->pd->text.text = DUP(tar->pd->text.text);
+   tar->pd->text.text_class = DUP(tar->pd->text.text_class);
+   tar->pd->text.font = DUP(tar->pd->text.font);
+   tar->pd->text.style = DUP(tar->pd->text.style);
+#undef DUP
+   obj->rp->custom->description = tar->pd;
+   _edje_lua_new_reg(L, -1, obj->rp->custom->description); // freed in edje_load.c::_edje_file_del
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_table_pack(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+      edje_object_part_table_pack(obj->ed->obj, obj->key, tar->eo,
+        luaL_checkint(L, 3),
+        luaL_checkint(L, 4),
+        luaL_checkint(L, 5),
+        luaL_checkint(L, 6)));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_table_unpack(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        edje_object_part_table_unpack(obj->ed->obj, obj->key, tar->eo));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_table_clear(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushboolean(L,
+        edje_object_part_table_clear(obj->ed->obj, obj->key, lua_toboolean(L, 2)));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_append(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        edje_object_part_box_append(obj->ed->obj, obj->key, tar->eo));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_prepend(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        edje_object_part_box_prepend(obj->ed->obj, obj->key, tar->eo));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_insert_before(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   Edje_Lua_Evas_Object *ref = _edje_lua_checkudata(L, 3, &mObject);
+   lua_pushboolean(L,
+        edje_object_part_box_insert_before(obj->ed->obj, obj->key, tar->eo, ref->eo));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_insert_at(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   lua_pushboolean(L,
+        edje_object_part_box_insert_at(obj->ed->obj, obj->key, tar->eo, luaL_checkint(L, 3)));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_remove(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   Edje_Lua_Evas_Object *tar = _edje_lua_checkudata(L, 2, &mObject);
+   edje_object_part_box_remove(obj->ed->obj, obj->key, tar->eo);
+   lua_pushvalue(L, 2);
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_remove_at(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   _edje_lua_get_reg(L, edje_object_part_box_remove_at(obj->ed->obj, obj->key, luaL_checkint(L, 2)));
+   return 1;
+}
+
+static int
+_edje_lua_part_fn_box_remove_all(lua_State *L)
+{
+   Edje_Lua_Edje_Part_Object *obj = _edje_lua_checkudata(L, 1, &mPart);
+   lua_pushboolean(L,
+        edje_object_part_box_remove_all(obj->ed->obj, obj->key, lua_toboolean(L, 2)));
+   return 1;
+}
+
+const luaL_Reg lPart_fn[] = {
+   {"swallow", _edje_lua_part_fn_swallow},
+   {"unswallow", _edje_lua_part_fn_unswallow},
+
+   {"custom_state", _edje_lua_part_fn_custom_state},
+
+   {"text_select_none", _edje_lua_part_fn_text_select_none},
+   {"text_select_all", _edje_lua_part_fn_text_select_all},
+   {"text_insert", _edje_lua_part_fn_text_insert},
+
+   {"table_pack", _edje_lua_part_fn_table_pack},
+   {"table_unpack", _edje_lua_part_fn_table_unpack},
+   {"table_clear", _edje_lua_part_fn_table_clear},
+
+   {"box_append", _edje_lua_part_fn_box_append},
+   {"box_prepend", _edje_lua_part_fn_box_prepend},
+   {"box_insert_before", _edje_lua_part_fn_box_insert_before},
+   {"box_insert_at", _edje_lua_part_fn_box_insert_at},
+   {"box_remove", _edje_lua_part_fn_box_remove},
+   {"box_remove_at", _edje_lua_part_fn_box_remove_at},
+   {"box_remove_all", _edje_lua_part_fn_box_remove_all},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lGroup_mt[];
+
+const luaL_Reg lGroup_get[];
+
+const luaL_Reg lGroup_set[];
+
+const luaL_Reg lGroup_fn[];
+
+const Edje_Lua_Reg mGroup = {
+   lGroup_mt,
+   lGroup_get,
+   lGroup_set,
+   lGroup_fn
+};
+
+const Edje_Lua_Reg *cGroup[] = {
+   &mClass,
+   &mObject,
+   &mGroup,
+   NULL                                // sentinel
+};
+
+static int
+_edje_lua_group_mt_index(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_getmetatable(L, 1);
+   if (!_edje_lua_look_fn(L))
+     {
+       // look in lGroup_fn
+       if (!_edje_lua_look_get(L))
+         {
+            // look in lGroup_get
+            const char *key = luaL_checkstring(L, 2);
+            Edje *ed = _edje_fetch(obj->eo);
+            Edje_Real_Part *rp = _edje_real_part_recursive_get(ed, key);
+            if (rp)
+              {
+                 // check if lua userdata exists
+                 Evas_Object *part = (Evas_Object *) edje_object_part_object_get(obj->eo, key);
+                 _edje_lua_get_reg(L, part);
+                 if (lua_isnil(L, -1))
+                   {
+                      // create it
+                      lua_pop(L, 1);
+                      Edje_Lua_Edje_Part_Object *tar =
+                         lua_newuserdata(L, sizeof(Edje_Lua_Edje_Part_Object));
+                      tar->eo = part;
+                      tar->ed = ed;
+                      tar->key = key;
+                      tar->L = L;
+                      tar->rp = rp;
+                      _edje_lua_set_class(L, -1, cPart);
+                      _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_edje_part_del_cb
+                      _edje_lua_new_reg(L, -1, part); // freed in _edje_lua_edje_part_del_cb
+                      evas_object_event_callback_add(tar->eo,
+                                                     EVAS_CALLBACK_DEL,
+                                                     _edje_lua_edje_part_del_cb,
+                                                     L);
+                   }
+              }
+            else
+              {
+                 // look in obj environment table
+                 lua_getfenv(L, 1);
+                 lua_pushvalue(L, 2);  // key
+                 lua_rawget(L, -2);
+              }
+         }
+     }
+   return 1;
+}
+
+const luaL_Reg lGroup_mt[] = {
+   {"__index", _edje_lua_group_mt_index},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_group_get_group(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   const char *file, *group;
+   edje_object_file_get(obj->eo, &file, &group);
+   lua_pushstring(L, group);
+   return 1;
+}
+
+static int
+_edje_lua_group_get_mouse(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   int x, y;
+   evas_pointer_canvas_xy_get(evas_object_evas_get(obj->eo), &x, &y);
+   x -= obj->ed->x;
+   y -= obj->ed->y;
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, x);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, y);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_group_get_mouse_buttons(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushnumber(L, evas_pointer_button_down_mask_get(obj->ed->evas));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_size_min(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   int w, h;
+   edje_object_size_min_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_group_get_size_max(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   int w, h;
+   edje_object_size_max_get(obj->eo, &w, &h);
+   lua_createtable(L, 2, 0);
+   lua_pushnumber(L, w);
+   lua_rawseti(L, -2, 1);
+   lua_pushnumber(L, h);
+   lua_rawseti(L, -2, 2);
+   return 1;
+}
+
+static int
+_edje_lua_group_get_scale(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushnumber(L, edje_object_scale_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_load_error(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushnumber(L, edje_object_load_error_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_load_error_str(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushstring(L, edje_load_error_str(edje_object_load_error_get(obj->eo)));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_play(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushboolean(L, edje_object_play_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_animation(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   lua_pushboolean(L, edje_object_animation_get(obj->eo));
+   return 1;
+}
+
+static int
+_edje_lua_group_get_frametime(lua_State *L)
+{
+   lua_pushnumber(L, edje_frametime_get());
+   return 1;
+}
+
+const luaL_Reg lGroup_get[] = {
+   {"group", _edje_lua_group_get_group},
+   {"mouse", _edje_lua_group_get_mouse},
+   {"mouse_buttons", _edje_lua_group_get_mouse_buttons},
+   {"size_min", _edje_lua_group_get_size_min},
+   {"size_max", _edje_lua_group_get_size_max},
+   {"scale", _edje_lua_group_get_scale},
+   {"load_error", _edje_lua_group_get_load_error},
+   {"load_error_str", _edje_lua_group_get_load_error_str},
+   {"play", _edje_lua_group_get_play},
+   {"animation", _edje_lua_group_get_animation},
+   {"frametime", _edje_lua_group_get_frametime},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_group_set_group(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_file_set(obj->eo, obj->ed->file->path, luaL_checkstring(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_group_set_size_min(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->ed->collection->prop.min.w = luaL_checkint(L, -2);
+   obj->ed->collection->prop.min.h = luaL_checkint(L, -1);
+   obj->ed->dirty = EINA_TRUE;
+   _edje_recalc(obj->ed);
+   return 0;
+}
+
+static int
+_edje_lua_group_set_size_max(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   luaL_checktype(L, 2, LUA_TTABLE);
+   lua_rawgeti(L, 2, 1);
+   lua_rawgeti(L, 2, 2);
+   obj->ed->collection->prop.max.w = luaL_checkint(L, -2);
+   obj->ed->collection->prop.max.h = luaL_checkint(L, -1);
+   obj->ed->dirty = EINA_TRUE;
+   _edje_recalc(obj->ed);
+   return 0;
+}
+
+static int
+_edje_lua_group_set_scale(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_scale_set(obj->eo, luaL_checknumber(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_group_set_play(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_play_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_group_set_animation(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_animation_set(obj->eo, lua_toboolean(L, 2));
+   return 0;
+}
+
+static void
+_edje_lua_group_text_change_cb(void* data, Evas_Object *obj, const char* part)
+{
+   Edje_Lua_Ref *ref = data;
+   lua_State *L = ref->L;
+   int err_code;
+
+   _edje_lua_get_ref(L, ref);
+   _edje_lua_get_reg(L, obj);
+   lua_pushstring(L, part);
+
+   if ((err_code = lua_pcall(L, 2, 0, 0)))
+     _edje_lua_error(L, err_code);
+}
+
+static int
+_edje_lua_group_set_text_change_cb(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_text_change_cb_set(obj->eo, _edje_lua_group_text_change_cb, _edje_lua_new_ref(L, 2));
+   return 0;
+}
+
+static int
+_edje_lua_group_set_frametime(lua_State *L)
+{
+   edje_frametime_set(luaL_checknumber(L, 2));
+   return 0;
+}
+const luaL_Reg lGroup_set[] = {
+   {"group", _edje_lua_group_set_group},
+   {"size_min", _edje_lua_group_set_size_min},
+   {"size_max", _edje_lua_group_set_size_max},
+   {"scale", _edje_lua_group_set_scale},
+   {"play", _edje_lua_group_set_play},
+   {"animation", _edje_lua_group_set_animation},
+   {"text_change_cb", _edje_lua_group_set_text_change_cb},
+   {"frametime", _edje_lua_group_set_frametime},
+   {NULL, NULL}                        // sentinel
+};
+
+static int
+_edje_lua_group_fn_timer(lua_State *L)
+{
+   Edje_Lua_Timer *tar = lua_newuserdata(L, sizeof(Edje_Lua_Timer));
+   
+   _edje_lua_set_class(L, -1, cTimer);
+   /* ^^^^^^^^^^^^^^^^(L, index, class)
+   lua_newtable(L);
+   if (index < 0)
+      lua_setfenv(L, index - 1);
+   else
+      lua_setfenv(L, index);
+
+   _edje_lua_get_metatable(L, class);
+   if (index < 0)
+      lua_setmetatable(L, index - 1);
+   else
+      lua_setmetatable(L, index);
+    */
+   
+   tar->et = ecore_timer_add(luaL_checknumber(L, 2), _edje_lua_timer_cb, tar);
+   tar->L = L;
+   
+   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_timer_cb/del
+   /* ^^^^^^^^^^^^^^(L, index, ptr)   
+   lua_pushvalue(L, index);
+   lua_pushlightuserdata(L, ptr);
+   lua_insert(L, -2);
+   lua_rawset(L, LUA_REGISTRYINDEX); // freed in _edje_lua_free_reg
+    */
+   
+   tar->cb = _edje_lua_new_ref(L, 3); // freed in _edje_lua_timer_cb/del
+   /* ^^^^^^^^^^^^^^^^^^^^^^^^(L, index)
+   lua_pushvalue(L, index);
+   Edje_Lua_Ref *ref = malloc(sizeof(Edje_Lua_Ref));
+   ref->id = luaL_ref(L, LUA_REGISTRYINDEX);
+   ref->L = L;
+   return ref;
+    */
+   return 1;
+}
+
+static int
+_edje_lua_group_fn_animator(lua_State *L)
+{
+   Edje_Lua_Animator *tar = lua_newuserdata(L, sizeof(Edje_Lua_Animator));
+   _edje_lua_set_class(L, -1, cAnimator);
+   tar->ea = ecore_animator_add(_edje_lua_animator_cb, tar);
+   tar->L = L;
+   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_animator_cb/del
+   tar->cb = _edje_lua_new_ref(L, 2); // freed in _edje_lua_animator_cb/del
+   return 1;
+}
+
+static int
+_edje_lua_group_fn_poller(lua_State *L)
+{
+   int interval;
+   Edje_Lua_Poller *tar;
+   tar = lua_newuserdata(L, sizeof(Edje_Lua_Poller));
+   _edje_lua_set_class(L, -1, cPoller);
+   
+   interval = luaL_checknumber(L, 2);
+   if ((interval <= 0) || ((interval & 1) != 0))
+     {
+       return 0;
+     }
+
+   // Only 1 type of poller currently implemented in ecore
+   tar->ep = ecore_poller_add(ECORE_POLLER_CORE, interval,
+                             _edje_lua_poller_cb, tar);
+   tar->L = L;
+   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_poller_cb/del
+   tar->cb = _edje_lua_new_ref(L, 3); // freed in _edje_lua_poller_cb/del
+
+   return 1;
+}
+
+static int
+_edje_lua_group_fn_transform(lua_State *L)
+{
+   Edje_Lua_Transform *tar = lua_newuserdata(L, sizeof(Edje_Lua_Transform));
+   evas_transform_identity_set (&(tar->et));
+   _edje_lua_set_class(L, -1, cTransform);
+   tar->L = L;
+   return 1;
+}
+
+static int
+_edje_lua_group_fn_signal_emit(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_signal_emit(obj->eo,
+                          luaL_checkstring(L, 2), luaL_checkstring(L, 3));
+   return 0;
+}
+
+static Edje_Program *
+_edje_lua_program_get_byname(Evas_Object * obj, const char *prog_name)
+{
+   Edje_Program *epr;
+   int i;
+   Edje *ed;
+   ed = _edje_fetch(obj);
+   if (!ed)
+      return NULL;
+   if (!prog_name)
+      return NULL;
+   for (i = 0; i < ed->table_programs_size; i++)
+     {
+       epr = ed->table_programs[i];
+       if ((epr->name) && (strcmp(epr->name, prog_name) == 0))
+          return epr;
+     }
+   return NULL;
+}
+
+static int
+_edje_lua_group_fn_program_run(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   Edje_Program *pr =
+      _edje_lua_program_get_byname(obj->eo, luaL_checkstring(L, 2));
+   if (pr)
+      _edje_program_run(obj->ed, pr, 0, "", "");
+   return 0;
+}
+
+static int
+_edje_lua_group_fn_program_stop(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   Edje_Program *pr =
+      _edje_lua_program_get_byname(obj->eo, luaL_checkstring(L, 2));
+   int program_id = pr->id;
+   Edje_Running_Program *runp;
+   Eina_List *l;
+   obj->ed->walking_actions = EINA_TRUE;
+   EINA_LIST_FOREACH(obj->ed->actions, l, runp)
+      if (program_id == runp->program->id)
+      _edje_program_end(obj->ed, runp);
+   obj->ed->walking_actions = EINA_FALSE;
+   return 0;
+}
+
+static int
+_edje_lua_group_fn_message_send(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   int type = luaL_checkint(L, 2);
+   void *msg = NULL;
+   int i;
+   int size;
+   switch (type)
+     {
+     case EDJE_MESSAGE_NONE:
+       break;
+     case EDJE_MESSAGE_SIGNAL:
+       break;
+     case EDJE_MESSAGE_STRING:
+         {
+            Edje_Message_String *msg_string =
+               malloc(sizeof(Edje_Message_String));
+            msg_string->str = (char *)luaL_checkstring(L, 4);
+            msg = msg_string;
+         }
+       break;
+     case EDJE_MESSAGE_INT:
+         {
+            Edje_Message_Int *msg_int = malloc(sizeof(Edje_Message_Int));
+
+            msg_int->val = luaL_checkint(L, 4);
+            msg = msg_int;
+         }
+       break;
+     case EDJE_MESSAGE_FLOAT:
+         {
+            Edje_Message_Float *msg_float = malloc(sizeof(Edje_Message_Float));
+
+            msg_float->val = luaL_checknumber(L, 4);
+            msg = msg_float;
+         }
+       break;
+     case EDJE_MESSAGE_STRING_SET:
+         {
+            if (lua_type(L, 4) != LUA_TTABLE)
+              break;
+            size = lua_objlen(L, 4);
+            Edje_Message_String_Set *msg_string_set =
+               malloc(sizeof(Edje_Message_String_Set) +
+                     (size - 1) * sizeof(char *));
+            msg_string_set->count = size;
+            for (i = 0; i < size; i++)
+              {
+                 lua_rawgeti(L, 4, i + 1);
+                 msg_string_set->str[i] = (char *)luaL_checkstring(L, -1);
+                 lua_pop(L, 1);
+              }
+            msg = msg_string_set;
+         }
+       break;
+     case EDJE_MESSAGE_INT_SET:
+         {
+            if (lua_type(L, 4) != LUA_TTABLE)
+              break;
+            size = lua_objlen(L, 4);
+            Edje_Message_Int_Set *msg_int_set =
+               malloc(sizeof(Edje_Message_Int_Set) + (size - 1) * sizeof(int));
+            msg_int_set->count = size;
+            for (i = 0; i < size; i++)
+              {
+                 lua_rawgeti(L, 4, i + 1);
+                 msg_int_set->val[i] = luaL_checkint(L, -1);
+                 lua_pop(L, 1);
+              }
+            msg = msg_int_set;
+         }
+       break;
+     case EDJE_MESSAGE_FLOAT_SET:
+         {
+            if (lua_type(L, 4) != LUA_TTABLE)
+              break;
+            size = lua_objlen(L, 4);
+            Edje_Message_Float_Set *msg_float_set =
+               malloc(sizeof(Edje_Message_Float_Set) +
+                     (size - 1) * sizeof(double));
+            msg_float_set->count = size;
+            for (i = 0; i < size; i++)
+              {
+                 lua_rawgeti(L, 4, i + 1);
+                 msg_float_set->val[i] = luaL_checknumber(L, -1);
+                 lua_pop(L, 1);
+              }
+            msg = msg_float_set;
+         }
+       break;
+     case EDJE_MESSAGE_STRING_INT:
+         {
+            Edje_Message_String_Int *msg_string_int =
+               malloc(sizeof(Edje_Message_String_Int));
+            msg_string_int->str = (char *)luaL_checkstring(L, 4);
+            msg_string_int->val = luaL_checkint(L, 5);
+            msg = msg_string_int;
+         }
+       break;
+     case EDJE_MESSAGE_STRING_FLOAT:
+         {
+            Edje_Message_String_Float *msg_string_float =
+               malloc(sizeof(Edje_Message_String_Float));
+            msg_string_float->str = (char *)luaL_checkstring(L, 4);
+            msg_string_float->val = luaL_checknumber(L, 5);
+            msg = msg_string_float;
+         }
+       break;
+     case EDJE_MESSAGE_STRING_INT_SET:
+         {
+            if (lua_type(L, 5) != LUA_TTABLE)
+              break;
+            size = lua_objlen(L, 5);
+            Edje_Message_String_Int_Set *msg_string_int_set =
+               malloc(sizeof(Edje_Message_String_Int_Set) +
+                     (size - 1) * sizeof(int));
+            msg_string_int_set->str = (char *)luaL_checkstring(L, 4);
+            msg_string_int_set->count = size;
+            for (i = 0; i < size; i++)
+              {
+                 lua_rawgeti(L, 5, i + 1);
+                 msg_string_int_set->val[i] = luaL_checkint(L, -1);
+                 lua_pop(L, 1);
+              }
+            msg = msg_string_int_set;
+         }
+       break;
+     case EDJE_MESSAGE_STRING_FLOAT_SET:
+         {
+            if (lua_type(L, 5) != LUA_TTABLE)
+              break;
+            size = lua_objlen(L, 5);
+            Edje_Message_String_Float_Set *msg_string_float_set =
+               malloc(sizeof(Edje_Message_String_Float_Set) +
+                     (size - 1) * sizeof(double));
+            msg_string_float_set->str = (char *)luaL_checkstring(L, 4);
+            msg_string_float_set->count = size;
+            for (i = 0; i < size; i++)
+              {
+                 lua_rawgeti(L, 5, i + 1);
+                 msg_string_float_set->val[i] = luaL_checknumber(L, -1);
+                 lua_pop(L, 1);
+              }
+            msg = msg_string_float_set;
+         }
+       break;
+     default:
+       break;
+     }
+
+   if (msg)
+     {
+       edje_object_message_send(obj->eo, type, luaL_checkint(L, 3), msg);
+       free(msg);
+     }
+
+   return 0;
+}
+
+static void
+_edje_lua_group_signal_callback(void *data, Evas_Object * edj,
+                               const char *signal, const char *source)
+{
+   Edje_Lua_Ref *cb = data;
+   lua_State *L = cb->L;
+   _edje_lua_get_ref(L, cb);   // signal callback function
+   if (lua_isfunction(L, -1))
+     {
+       int err_code;
+
+       _edje_lua_get_reg(L, edj);
+       lua_pushstring(L, signal);      // signal
+       lua_pushstring(L, source);      // source
+
+        if ((err_code = lua_pcall(L, 3, 0, 0)))
+          _edje_lua_error(L, err_code);
+     }
+}
+
+static int
+_edje_lua_group_fn_signal_callback_add(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   if (lua_type(L, 4) == LUA_TFUNCTION)
+     {
+       Edje_Lua_Ref *ref = _edje_lua_new_ref(L, 4);
+       obj->cb = eina_list_append(obj->cb, ref);
+       edje_object_signal_callback_add(obj->eo,
+                                       luaL_checkstring(L, 2),
+                                       luaL_checkstring(L, 3),
+                                       _edje_lua_group_signal_callback,
+                                       ref); // freed in _edje_lua_group_fn_signal_callback_del
+     }
+   return 0;
+}
+
+static int
+_edje_lua_group_fn_signal_callback_del(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   Edje_Lua_Ref *ref = edje_object_signal_callback_del(obj->eo,
+                                  luaL_checkstring(L, 2),
+                                  luaL_checkstring(L, 3),
+                                  _edje_lua_group_signal_callback);
+   obj->cb = eina_list_remove(obj->cb, ref);
+   _edje_lua_free_ref(L, ref); // created in _edje_lua_group_fn_signal_callback_add
+   return 0;
+}
+
+static int
+_edje_lua_group_fn_freeze(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_freeze(obj->eo);
+   return 0;
+}
+
+static int
+_edje_lua_group_fn_thaw(lua_State *L)
+{
+   Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mGroup);
+   edje_object_thaw(obj->eo);
+   return 0;
+}
+
+const luaL_Reg lGroup_fn[] = {
+   {"timer", _edje_lua_group_fn_timer},
+   {"animator", _edje_lua_group_fn_animator},
+   {"poller", _edje_lua_group_fn_poller},
+   {"transform", _edje_lua_group_fn_transform},
+   {"signal_emit", _edje_lua_group_fn_signal_emit},
+   {"message_send", _edje_lua_group_fn_message_send},
+   {"program_run", _edje_lua_group_fn_program_run},
+   {"program_stop", _edje_lua_group_fn_program_stop},
+   {"signal_callback_add", _edje_lua_group_fn_signal_callback_add},
+   {"signal_callback_del", _edje_lua_group_fn_signal_callback_del},
+   {"freeze", _edje_lua_group_fn_freeze},
+   {"thaw", _edje_lua_group_fn_thaw},
+   {NULL, NULL}                        // sentinel
+};
+
+/*
+ * Lua bindings
+ */
+
+const luaL_Reg lScript_get[];
+
+const luaL_Reg lScript_set[];
+
+const luaL_Reg lScript_fn[];
+
+const Edje_Lua_Reg mScript = {
+   lNil,
+   lScript_get,
+   lScript_set,
+   lScript_fn
+};
+
+const Edje_Lua_Reg *cScript[] = {
+   &mClass,
+   &mObject,
+   &mGroup,
+   &mScript,
+   NULL                                // sentinel
+};
+
+/*
+ * macro for adding an evas_object in the lua_script_only object
+ */
+#define _EDJE_LUA_SCRIPT_FN_ADD(DEF, CLASS, FUNC)                      \
+  static int                                                           \
+  DEF (lua_State *L)                                                   \
+  {                                                                    \
+     int set = lua_gettop (L) == 2;                                    \
+     Edje_Lua_Evas_Object *obj = _edje_lua_checkudata (L, 1, &mScript); \
+     Edje_Lua_Evas_Object *tar = lua_newuserdata (L, sizeof (Edje_Lua_Evas_Object)); \
+     _edje_lua_set_class (L, -1, CLASS);                               \
+     tar->eo = FUNC (obj->ed->evas);                                   \
+     tar->ed = obj->ed;                                                        \
+     tar->L = L;                                                       \
+     tar->cb = NULL;                                                   \
+     evas_object_move (tar->eo, obj->ed->x, obj->ed->y);               \
+     _edje_lua_new_reg (L, -1, tar); /* freed in _edje_lua_object_del_cb */ \
+     _edje_lua_new_reg (L, -1, tar->eo); /* freed in _edje_lua_object_del_cb */ \
+     evas_object_smart_member_add (tar->eo, obj->eo);                  \
+     evas_object_clip_set (tar->eo, obj->ed->clipper);                 \
+     evas_object_event_callback_add (tar->eo, EVAS_CALLBACK_DEL, _edje_lua_object_del_cb, L); \
+     if (set)                                                          \
+       {                                                               \
+         int err_code;                                                 \
+         lua_getfield (L, -1, "set");                                  \
+         lua_pushvalue (L, -2);                                        \
+         lua_pushvalue (L, 2);                                         \
+          if ((err_code = lua_pcall (L, 2, 0, 0)))                     \
+            _edje_lua_error (L, err_code);                             \
+       }                                                               \
+     return 1;                                                         \
+  }
+
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_rectangle,
+                       cRectangle,
+                       evas_object_rectangle_add)
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_image,
+                       cImage,
+                       evas_object_image_add)
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_table,
+                       cTable,
+                       evas_object_table_add)
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_line,
+                       cLine,
+                       evas_object_line_add)
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_polygon,
+                       cPolygon,
+                       evas_object_polygon_add)
+_EDJE_LUA_SCRIPT_FN_ADD(_edje_lua_script_fn_group, cGroup, edje_object_add)
+
+const luaL_Reg lScript_fn[] = {
+   {"rectangle", _edje_lua_script_fn_rectangle},
+   {"image", _edje_lua_script_fn_image},
+   {"table", _edje_lua_script_fn_table},
+   {"line", _edje_lua_script_fn_line},
+   {"polygon", _edje_lua_script_fn_polygon},
+   {"group", _edje_lua_script_fn_group},
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lScript_get[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+const luaL_Reg lScript_set[] = {
+   {NULL, NULL}                        // sentinel
+};
+
+/*
+ * creates and exports a lua_script_only object
+ */
+void
+_edje_lua_script_fn_new(Edje * ed)
+{
+   lua_State *L = ed->L;
+   Edje_Lua_Evas_Object *tar = lua_newuserdata(L, sizeof(Edje_Lua_Evas_Object));
+   _edje_lua_set_class(L, -1, cScript);
+   tar->eo = ed->obj;
+   tar->ed = ed;
+   tar->L = L;
+   tar->cb = NULL;
+   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_object_del_cb
+   _edje_lua_new_reg(L, -1, ed); // freed in edje_load.c::_edje_file_del
+   _edje_lua_new_reg(L, -1, ed->obj); // freed in _edje_lua_object_del_cb
+   evas_object_event_callback_add(tar->eo, EVAS_CALLBACK_DEL,
+                                 _edje_lua_object_del_cb, L);
+}
+
+/*
+ * creates and exports an Edje group with associated Lua scripts in the parts and programs sections
+ */
+void
+_edje_lua_group_fn_new(Edje * ed)
+{
+   lua_State *L = ed->L;
+   Edje_Lua_Evas_Object *tar = lua_newuserdata(L, sizeof(Edje_Lua_Evas_Object));
+   _edje_lua_set_class(L, -1, cGroup);
+   tar->eo = ed->obj;
+   tar->ed = ed;
+   tar->L = L;
+   tar->cb = NULL;
+   _edje_lua_new_reg(L, -1, tar); // freed in _edje_lua_object_del_cb
+   _edje_lua_new_reg(L, -1, ed); // freed in edje_load.c::_edje_file_del
+   _edje_lua_new_reg(L, -1, ed->obj); // freed in _edje_lua_object_del_cb
+   evas_object_event_callback_add(tar->eo, EVAS_CALLBACK_DEL,
+                                 _edje_lua_object_del_cb, L);
+}
+
+/*
+ * this function loads all the Lua bindings into the global Lua state
+ */
+static void
+_edje_lua_open(lua_State *L)
+{
+   /*
+    * export classes
+    */
+   _edje_lua_new_class(L, cTimer);
+   _edje_lua_new_class(L, cAnimator);
+   _edje_lua_new_class(L, cPoller);
+   _edje_lua_new_class(L, cTransform);
+   _edje_lua_new_class(L, cRectangle);
+   _edje_lua_new_class(L, cImage);
+   _edje_lua_new_class(L, cTable);
+   _edje_lua_new_class(L, cLine);
+   _edje_lua_new_class(L, cPolygon);
+   _edje_lua_new_class(L, cGroup);
+   _edje_lua_new_class(L, cDescription);
+   _edje_lua_new_class(L, cPart);
+   _edje_lua_new_class(L, cScript);
+
+   /*
+    * export constants
+    */
+   _edje_lua_new_const(L, "MESSAGE_NONE", EDJE_MESSAGE_NONE);
+   _edje_lua_new_const(L, "MESSAGE_SIGNAL", EDJE_MESSAGE_SIGNAL);
+   _edje_lua_new_const(L, "MESSAGE_STRING", EDJE_MESSAGE_STRING);
+   _edje_lua_new_const(L, "MESSAGE_INT", EDJE_MESSAGE_INT);
+   _edje_lua_new_const(L, "MESSAGE_FLOAT", EDJE_MESSAGE_FLOAT);
+   _edje_lua_new_const(L, "MESSAGE_STRING_SET", EDJE_MESSAGE_STRING_SET);
+   _edje_lua_new_const(L, "MESSAGE_INT_SET", EDJE_MESSAGE_INT_SET);
+   _edje_lua_new_const(L, "MESSAGE_FLOAT_SET", EDJE_MESSAGE_FLOAT_SET);
+   _edje_lua_new_const(L, "MESSAGE_STRING_INT", EDJE_MESSAGE_STRING_INT);
+   _edje_lua_new_const(L, "MESSAGE_STRING_FLOAT", EDJE_MESSAGE_STRING_FLOAT);
+   _edje_lua_new_const(L, "MESSAGE_STRING_INT_SET", EDJE_MESSAGE_STRING_INT_SET);
+   _edje_lua_new_const(L, "MESSAGE_STRING_FLOAT_SET", EDJE_MESSAGE_STRING_FLOAT_SET);
+
+   _edje_lua_new_const(L, "PART_TYPE_NONE", EDJE_PART_TYPE_NONE);
+   _edje_lua_new_const(L, "PART_TYPE_RECTANGLE", EDJE_PART_TYPE_RECTANGLE);
+   _edje_lua_new_const(L, "PART_TYPE_TEXT", EDJE_PART_TYPE_TEXT);
+   _edje_lua_new_const(L, "PART_TYPE_IMAGE", EDJE_PART_TYPE_IMAGE);
+   _edje_lua_new_const(L, "PART_TYPE_SWALLOW", EDJE_PART_TYPE_SWALLOW);
+   _edje_lua_new_const(L, "PART_TYPE_TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK);
+   _edje_lua_new_const(L, "PART_TYPE_GRADIENT", EDJE_PART_TYPE_GRADIENT);
+   _edje_lua_new_const(L, "PART_TYPE_GROUP", EDJE_PART_TYPE_GROUP);
+   _edje_lua_new_const(L, "PART_TYPE_BOX", EDJE_PART_TYPE_BOX);
+
+   _edje_lua_new_const(L, "TEXT_EFFECT_NONE", EDJE_TEXT_EFFECT_NONE);
+   _edje_lua_new_const(L, "TEXT_EFFECT_PLAIN", EDJE_TEXT_EFFECT_PLAIN);
+   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE", EDJE_TEXT_EFFECT_OUTLINE);
+   _edje_lua_new_const(L, "TEXT_EFFECT_OTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE);
+   _edje_lua_new_const(L, "TEXT_EFFECT_SHADOW", EDJE_TEXT_EFFECT_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW);
+   _edje_lua_new_const(L, "TEXT_EFFECT_GLOW", EDJE_TEXT_EFFECT_GLOW);
+
+   _edje_lua_new_const(L, "RENDER_BLEND", EVAS_RENDER_BLEND);
+   _edje_lua_new_const(L, "RENDER_BLEND_REL", EVAS_RENDER_BLEND_REL);
+   _edje_lua_new_const(L, "RENDER_COPY", EVAS_RENDER_COPY);
+   _edje_lua_new_const(L, "RENDER_COPY_REL", EVAS_RENDER_COPY_REL);
+   _edje_lua_new_const(L, "RENDER_ADD", EVAS_RENDER_ADD);
+   _edje_lua_new_const(L, "RENDER_ADD_REL", EVAS_RENDER_ADD_REL);
+   _edje_lua_new_const(L, "RENDER_SUB", EVAS_RENDER_SUB);
+   _edje_lua_new_const(L, "RENDER_SUB_REL", EVAS_RENDER_SUB_REL);
+   _edje_lua_new_const(L, "RENDER_TINT", EVAS_RENDER_TINT);
+   _edje_lua_new_const(L, "RENDER_TINT_REL", EVAS_RENDER_TINT_REL);
+   _edje_lua_new_const(L, "RENDER_MASK", EVAS_RENDER_MASK);
+   _edje_lua_new_const(L, "RENDER_MUL", EVAS_RENDER_MUL);
+
+   _edje_lua_new_const(L, "BORDER_FILL_NONE", EVAS_BORDER_FILL_NONE);
+   _edje_lua_new_const(L, "BORDER_FILL_DEFAULT", EVAS_BORDER_FILL_DEFAULT);
+   _edje_lua_new_const(L, "BORDER_FILL_SOLID", EVAS_BORDER_FILL_SOLID);
+
+   _edje_lua_new_const(L, "POINTER_MODE_AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB);
+   _edje_lua_new_const(L, "POINTER_MODE_NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB);
+
+   _edje_lua_new_const(L, "ASPECT_CONTROL_NEITHER", EVAS_ASPECT_CONTROL_NEITHER);
+   _edje_lua_new_const(L, "ASPECT_CONTROL_HORIZONTAL", EVAS_ASPECT_CONTROL_HORIZONTAL);
+   _edje_lua_new_const(L, "ASPECT_CONTROL_VERTICAL", EVAS_ASPECT_CONTROL_VERTICAL);
+   _edje_lua_new_const(L, "ASPECT_CONTROL_BOTH", EVAS_ASPECT_CONTROL_BOTH);
+
+   _edje_lua_new_const(L, "CALLBACK_RENEW", ECORE_CALLBACK_RENEW);
+   _edje_lua_new_const(L, "CALLBACK_CANCEL", ECORE_CALLBACK_CANCEL);
+}
+
+/*
+ * main Lua state
+ * created by edje_init ()
+ * closed by edje_shutdown ()
+ * any other private Lua state inherits from this global state
+ */
+static lua_State *Ledje = NULL;
+
+lua_State *
+_edje_lua_state_get ()
+{
+   return Ledje;
+}
+
+/*
+ * custom memory allocation function
+ * raises an error, if memory usage is above the given maximum
+ */
+static void *
+_edje_lua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)
+{
+   Edje_Lua_Alloc *ela = ud;
+   void *ptr2;
+   
+   ela->cur += nsize - osize;
+   if (ela->cur > ela->max)
+     {
+        ERR("Edje Lua memory limit of %zu bytes reached (%zu allocated)",
+           ela->max, ela->cur);
+       return NULL;
+     }
+   if (nsize == 0)
+     {
+       free(ptr); /* ANSI requires that free(NULL) has no effect */
+       return NULL;
+     }
+
+   /* ANSI requires that realloc(NULL, size) == malloc(size) */
+   ptr2 = realloc(ptr, nsize);
+   if (ptr2) return ptr2;
+   ERR("Edje Lua cannot re-allocate %zu bytes", nsize);
+   return ptr2;
+}
+
+void
+_edje_lua_init()
+{
+   if (Ledje != NULL) return;
+   /*
+    * create main Lua state with the custom memory allocation function
+    */
+   static Edje_Lua_Alloc ela = { 1e7, 0 };     // TODO make the memory limit configurable?
+   Ledje = lua_newstate(_edje_lua_alloc, &ela);
+   if (!Ledje)
+     {
+       ERR("Lua error: Lua state could not be initialized");
+       exit(-1);
+     }
+
+   lua_atpanic(Ledje, _edje_lua_custom_panic);
+   
+   /*
+    * configure Lua garbage collector
+    * TODO optimize garbage collector for typical edje use or make it configurable
+    */
+   lua_gc(Ledje, LUA_GCSETPAUSE, 200);
+   lua_gc(Ledje, LUA_GCSETSTEPMUL, 200);
+
+   /*
+    * sandbox Lua
+    * no access to io, os and package routines
+    * no loading and execution of files
+    * no loading and execution of strings
+    * no access to the OS environment
+    */
+   luaopen_base(Ledje);
+   luaopen_table(Ledje);
+   luaopen_string(Ledje);
+   luaopen_math(Ledje);
+   luaopen_os(Ledje);
+
+   /*
+    * FIXME
+    * this is just for debug purposes
+    * remove it in the final version
+    */
+   lua_pushnil(Ledje);
+   lua_setglobal(Ledje, "load");
+   lua_pushnil(Ledje);
+   lua_setglobal(Ledje, "loadfile");
+   lua_pushnil(Ledje);
+   lua_setglobal(Ledje, "loadstring");
+   lua_pushnil(Ledje);
+   lua_setglobal(Ledje, "dofile");
+   lua_pushnil(Ledje);
+   lua_setglobal(Ledje, "dostring");
+
+   lua_getglobal(Ledje, "os");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "exit");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "setlocale");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "getenv");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "remove");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "tmpname");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "rename");
+   lua_pushnil(Ledje);
+   lua_setfield(Ledje, -2, "execute");
+   lua_pushnil(Ledje);
+
+   /*
+    * we need a weak value registry
+    * so that deleted and unused objects can be garbage collected
+    */
+   lua_createtable(Ledje, 1, 0);
+   //lua_pushstring(Ledje, "v"); 
+   lua_pushstring(Ledje, "");
+   lua_setfield(Ledje, -2, "__mode");
+   lua_setmetatable(Ledje, LUA_REGISTRYINDEX);
+
+   /*
+    * load Lua Evas/Edje bindings
+    */
+   _edje_lua_open(Ledje);
+}
+
+void
+_edje_lua_shutdown()
+{
+   if (Ledje == NULL) return;
+   lua_close(Ledje);
+   Ledje = NULL;
+}
+
+#endif
diff --git a/src/lib/edje/edje_lua2.c b/src/lib/edje/edje_lua2.c
new file mode 100644 (file)
index 0000000..2515850
--- /dev/null
@@ -0,0 +1,4385 @@
+// FIXME: Some error checking would be nice.
+
+
+#include "edje_private.h"
+#include <ctype.h>
+
+#define RASTER_FORGOT_WHY "this is here."
+
+
+//--------------------------------------------------------------------------//
+#define MAX_LUA_MEM (4 * (1024 * 1024))
+#define ELO "|-ELO"
+
+#define LC(...) EINA_LOG_DOM_CRIT(_log_domain, __VA_ARGS__)
+#define LE(...) EINA_LOG_DOM_ERR(_log_domain, __VA_ARGS__)
+#define LW(...) EINA_LOG_DOM_WARN(_log_domain, __VA_ARGS__)
+#define LI(...) EINA_LOG_DOM_INFO(_log_domain, __VA_ARGS__)
+#define LD(...) EINA_LOG_DOM_DBG(_log_domain, __VA_ARGS__)
+
+/**
+@page luaref Edje Lua scripting
+
+@section intro Introduction
+
+Lua is intended for script-only objects at this point (with embryo left
+for augmenting standard programs). Since script-only objects effectively
+define objects entirely via Lua script (resize handling, event handling
+etc. etc.) this places many more demands on them, and thus a more powerful
+language is in order. Lua is that language.
+
+To get you started, here's an example that uses most of this lua API:
+@ref lua_script.edc
+
+Most of these lua functions are wrappers around various evas, ecore, and edje C
+functions.  Refer to their documentation for more in depth details and up to
+date documentation.  A lot of this documentation is simple copied from the C
+functions it wraps.
+
+@section args Lua function argument and return syntax
+
+Some of the lua functions can accept a table as well as separate arguments.
+Some of them return tables.
+
+@section classes Lua classes
+
+*/
+
+/*
+Lua functions stack usage.
+
+In the definition of the lua functions provided, always mention the stack usage,
+using the same notation that is used in the Lua 5.1 Reference Manual.
+http://www.lua.org/manual/5.1/manual.html#3.7 describes that notation.
+
+On the other hand, lua discards excess stack entries when control passes back to
+it, but it's good to maintain proper discipline.
+
+Should do the same for the support functions.  These ARE more important to check.
+*/
+
+//--------------------------------------------------------------------------//
+typedef struct _Edje_Lua_Alloc       Edje_Lua_Alloc;
+typedef struct _Edje_Lua_Obj         Edje_Lua_Obj;
+typedef struct _Edje_Lua_Animator    Edje_Lua_Animator;
+typedef struct _Edje_Lua_Timer       Edje_Lua_Timer;
+typedef struct _Edje_Lua_Transition  Edje_Lua_Transition;
+typedef struct _Edje_Lua_Evas_Object Edje_Lua_Evas_Object;
+typedef struct _Edje_Lua_Map         Edje_Lua_Map;
+
+struct _Edje_Lua_Alloc
+{
+   size_t max, cur;
+};
+
+struct _Edje_Lua_Obj
+{
+   EINA_INLIST;
+
+   Edje         *ed;
+   void        (*free_func) (void *obj);
+   const char   *meta;
+};
+
+struct _Edje_Lua_Animator
+{
+   Edje_Lua_Obj     obj;
+   Ecore_Animator  *animator;
+   int              fn_ref;
+};
+
+struct _Edje_Lua_Timer
+{
+   Edje_Lua_Obj     obj;
+   Ecore_Timer     *timer;
+   int              fn_ref;
+};
+
+struct _Edje_Lua_Transition
+{
+   Edje_Lua_Obj     obj;
+   Ecore_Animator  *animator;
+   double           transition, start;
+   int              fn_ref;
+};
+
+struct _Edje_Lua_Evas_Object
+{
+   Edje_Lua_Obj     obj;
+   Evas_Object     *evas_obj;
+   int              x, y;
+};
+
+struct _Edje_Lua_Map
+{
+   Edje_Lua_Obj     obj;
+   Evas_Map        *map;
+};
+
+
+static void _elua_add_functions(lua_State *L, const char *api, const luaL_Reg *funcs, const char *meta, const char *parent, const char *base);
+static Eina_Bool _elua_isa(Edje_Lua_Obj *obj, const char *type);
+
+//--------------------------------------------------------------------------//
+#ifndef RASTER_FORGOT_WHY
+static lua_State *lstate = NULL;
+#endif
+static const char *_elua_key = "key";
+static const char *_elua_objs = "objs";
+/* This is not needed, pcalls don't longjmp(), that's why they are protected.
+static jmp_buf panic_jmp;
+*/
+static int panics = 0;
+static int _log_domain = -1;
+static int _log_count = 0;
+
+// FIXME: methods lua script can provide that edje will call (not done yet):
+// // scale set
+// // key down
+// // key up
+// // get dragable pos
+// // set dragable pos
+// // set drag size, step, page
+// // get drag size, step, page
+// // dragable step
+// // dragable page
+// // get part text
+// // set part text
+// // get swallow part
+// // set swallow part
+// // unswallow part
+// // textclass change
+// // colorclass change
+// // min size get <- ?? maybe set fn
+// // max size get <- ?? maybe set fn
+// // min size caclc (min/max restriction)
+// // preload
+// // preload cancel
+// // play set
+// // animation set
+// // parts extends calc
+// // part object get
+// // part geometry get
+//
+// // LATER: all the entry calls
+// // LATER: box and table calls
+// // LATER: perspective stuff change
+//
+
+// Grumble, pre-declare these.
+static const char *_elua_edje_meta = "edje_meta";
+static const char *_elua_evas_meta = "evas_meta";
+static const char *_elua_evas_edje_meta = "evas_edje_meta";
+static const char *_elua_evas_image_meta = "evas_image_meta";
+static const char *_elua_evas_line_meta = "evas_line_meta";
+static const char *_elua_evas_map_meta = "evas_map_meta";
+static const char *_elua_evas_polygon_meta = "evas_polygon_meta";
+static const char *_elua_evas_text_meta = "evas_text_meta";
+static const char *_elua_ecore_animator_meta = "ecore_animator_meta";
+static const char *_elua_ecore_timer_meta = "ecore_timer_meta";
+
+static int _elua_obj_gc(lua_State *L);
+
+static const struct luaL_Reg _elua_edje_gc_funcs [] =
+{
+     {"__gc", _elua_obj_gc}, // garbage collector func for edje objects
+
+     {NULL, NULL} // end
+};
+
+static const luaL_Reg _elua_libs[] =
+{
+     {"", luaopen_base},
+//     {LUA_LOADLIBNAME, luaopen_package}, // disable this lib - don't want
+     {LUA_TABLIBNAME, luaopen_table},
+//     {LUA_IOLIBNAME, luaopen_io}, // disable this lib - don't want
+//     {LUA_OSLIBNAME, luaopen_os}, // FIXME: audit os lib - maybe not provide or only provide specific calls
+     {LUA_STRLIBNAME, luaopen_string},
+     {LUA_MATHLIBNAME, luaopen_math},
+//     {LUA_DBLIBNAME, luaopen_debug}, // disable this lib - don't want
+
+     {NULL, NULL} // end
+};
+
+//--------------------------------------------------------------------------//
+static void *
+_elua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)
+{
+   Edje_Lua_Alloc *ela = ud;
+   void *ptr2;
+
+   ela->cur += nsize - osize;
+   if (ela->cur > ela->max)
+     {
+        ERR("Lua memory limit of %zu bytes reached (%zu allocated)",
+            ela->max, ela->cur);
+        return NULL;
+     }
+   if (nsize == 0)
+     {
+        free(ptr);
+        return NULL;
+     }
+
+   ptr2 = realloc(ptr, nsize);
+   if (ptr2) return ptr2;
+   ERR("Lua cannot re-allocate %zu bytes", nsize);
+   return ptr2;
+}
+
+static int
+_elua_custom_panic(lua_State *L)                   // Stack usage [-0, +0, m]
+{
+   // If we somehow manage to have multiple panics, it's likely due to being out
+   // of memory in the following lua_tostring() call.
+   panics++;
+   if (panics)
+     {
+        EINA_LOG_DOM_CRIT(_edje_default_log_dom, "Lua PANICS!!!!!");
+     }
+   else
+     {
+        EINA_LOG_DOM_CRIT(_edje_default_log_dom,
+           "Lua PANIC!!!!!: %s", lua_tostring(L, -1));  // Stack usage [-0, +0, m]
+     }
+   // The docs say that this will cause an exit(EXIT_FAILURE) if we return,
+   // and that we we should long jump some where to avoid that.  This is only
+   // called for things not called from a protected environment.  We always
+   // use pcalls though, except for the library load calls.  If we can't load
+   // the standard libraries, then perhaps a crash is the right thing.
+   return 0;
+}
+
+// Really only used to manage the pointer to our edje.
+static void
+_elua_table_ptr_set(lua_State *L, const void *key, const void *val)  // Stack usage [-2, +2, e]
+{
+   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
+   lua_pushlightuserdata(L, (void *)val);  // Stack usage [-0, +1, -]
+   lua_settable(L, LUA_REGISTRYINDEX);     // Stack usage [-2, +0, e]
+}
+
+static const void *
+_elua_table_ptr_get(lua_State *L, const void *key)  // Stack usage [-2, +2, e]
+{
+   const void *ptr;
+   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
+   lua_gettable(L, LUA_REGISTRYINDEX);     // Stack usage [-1, +1, e]
+   ptr = lua_topointer(L, -1);             // Stack usage [-0, +0, -]
+   lua_pop(L, 1);                          // Stack usage [-n, +0, -]
+   return ptr;
+}
+
+/* XXX: not used
+static void
+_elua_table_ptr_del(lua_State *L, const void *key)  // Stack usage [-2, +2, e]
+{
+   lua_pushlightuserdata(L, (void *)key);  // Stack usage [-0, +1, -]
+   lua_pushnil(L);                         // Stack usage [-0, +1, -]
+   lua_settable(L, LUA_REGISTRYINDEX);     // Stack usage [-2, +0, e]
+}
+*/
+
+/*
+ * Cori: Assumes object to be saved on top of stack
+ */
+static void
+_elua_ref_set(lua_State *L, void *key)     // Stack usage [-4, +4, m]
+{
+   lua_pushlightuserdata(L, &_elua_objs);  // Stack usage [-0, +1, -]
+   lua_rawget(L, LUA_REGISTRYINDEX);       // Stack usage [-1, +1, -]
+   lua_pushlightuserdata(L, key);          // Stack usage [-0, +1, -]
+   lua_pushvalue(L,-3);                    // Stack usage [-0, +1, -]
+   lua_rawset(L, -3);                      // Stack usage [-2, +0, m]
+   lua_pop(L, 1);                          // Stack usage [-n, +0, -]
+}
+
+/*
+ * Cori: Get an object from the object table
+ */
+static void *
+_elua_ref_get(lua_State *L, void *key)     // Stack usage [-3, +4, -]
+{
+   lua_pushlightuserdata(L, &_elua_objs);  // Stack usage [-0, +1, -]
+   lua_rawget(L, LUA_REGISTRYINDEX);       // Stack usage [-1, +1, -]
+   lua_pushlightuserdata(L, key);          // Stack usage [-0, +1, -]
+   lua_rawget(L, -2);                      // Stack usage [-1, +1, -]
+   lua_remove(L, -2);                      // Stack usage [-1, +0, -]
+   return lua_touserdata(L, -2);           // Stack usage [-0, +0, -]
+}
+
+static Edje_Lua_Obj *
+_elua_obj_new(lua_State *L, Edje *ed, int size, const char *metatable)  // Stack usage [-5, +6, m]
+{
+   Edje_Lua_Obj *obj;
+
+   obj = (Edje_Lua_Obj *)lua_newuserdata(L, size);  // Stack usage [-0, +1, m]
+   memset(obj, 0, size);
+   ed->lua_objs = eina_inlist_append(ed->lua_objs, EINA_INLIST_GET(obj));
+
+   luaL_getmetatable(L, metatable);                 // Stack usage [-0, +1, -]
+   lua_setmetatable(L, -2);                         // Stack usage [-1, +0, -]
+   obj->ed = ed;
+   obj->meta = metatable;
+
+   _elua_ref_set(L, obj);                           // Stack usage [-4, +4, m]
+   return obj;
+}
+
+static void
+_elua_obj_free(lua_State *L EINA_UNUSED, Edje_Lua_Obj *obj)
+{
+   if (!obj->free_func) return;
+   obj->free_func(obj);
+   obj->ed->lua_objs = eina_inlist_remove(obj->ed->lua_objs, EINA_INLIST_GET(obj));
+   obj->free_func = NULL;
+   obj->ed = NULL;
+}
+
+static int
+_elua_obj_gc(lua_State *L)  // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);  // Stack usage [-0, +0, -]
+   if (!obj) return 0;
+   _elua_obj_free(L, obj);
+   return 0;
+}
+
+static int
+_elua_obj_del(lua_State *L)  // Stack usage [-0, +0, -]
+{
+   return _elua_obj_gc(L);   // Stack usage [-0, +0, -]
+}
+
+static void
+_elua_gc(lua_State *L)  // Stack usage [-0, +0, e]
+{
+   lua_gc(L, LUA_GCCOLLECT, 0);  // Stack usage [-0, +0, e]
+}
+
+// These are what the various symbols are for each type -
+//  int      %
+//  num      #
+//  str      $
+//  bool     !
+// FIXME: Still to do, if we ever use them -
+//  func     &
+//  userdata +
+//  lightuserdata *
+//  table    @
+//  thread   ^
+//  nil      ~
+
+static char *
+_elua_push_name(lua_State *L, char *q, int idx)  // Stack usage [-0, +1, e or m]
+{
+   char *p = q;
+   char temp = '\0';
+
+   // A simplistic scan through an identifier, it's wrong, but it's quick,
+   // and we don't mind that it's wrong, coz this is only internal.
+   while (isalnum((int)*q))
+      q++;
+   temp = *q;
+   *q = '\0';
+   if (idx > 0)
+      lua_getfield(L, idx, p);  // Stack usage [-0, +1, e]
+   else
+      lua_pushstring(L, p);       // Stack usage [-0, +1, m]
+   *q = temp;
+
+   return q;
+}
+
+static int
+_elua_scan_params(lua_State *L, int i, char *params, ...)                // Stack usage -
+                                                                         // if i is a table
+                                                                         //   [-n, +n, e]
+                                                                         // else
+                                                                         //   [-0, +0, -]
+{
+   va_list vl;
+   char *f = strdup(params);
+   char *p = f;
+   int n = 0, j = i, count = 0;
+   Eina_Bool table = EINA_FALSE;
+
+   if (!f) return -1;
+   va_start(vl, params);
+
+   if (lua_istable(L, i))                                                // Stack usage [-0, +0, -]
+     {
+        j = -1;
+        table = EINA_TRUE;
+     }
+
+   while (*p)
+     {
+        char *q;
+        Eina_Bool get = EINA_TRUE;
+
+        while (isspace((int)*p))
+           p++;
+        q = p + 1;
+        switch (*p)
+          {
+             case '%':
+               {
+                  if (table)
+                    {
+                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
+                    }
+                  if (lua_isnumber(L, j))                                // Stack usage [-0, +0, -]
+                    {
+                       int *v = va_arg(vl, int *);
+                       *v = lua_tointeger(L, j);                         // Stack usage [-0, +0, -]
+                       n++;
+                    }
+                  break;
+               }
+             case '#':
+               {
+                  if (table)
+                    {
+                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
+                    }
+                  if (lua_isnumber(L, j))                                // Stack usage [-0, +0, -]
+                    {
+                       double *v = va_arg(vl, double *);
+                       *v = lua_tonumber(L, j);                          // Stack usage [-0, +0, -]
+                       n++;
+                    }
+                  break;
+               }
+             case '$':
+               {
+                  if (table)
+                    {
+                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
+                    }
+                  if (lua_isstring(L, j))                                // Stack usage [-0, +0, -]
+                    {
+                       char **v = va_arg(vl, char **);
+                       size_t len;
+                       char *temp = (char *) lua_tolstring(L, j, &len);  // Stack usage [-0, +0, m]
+
+                       len++;  // Cater for the null at the end.
+                       *v = malloc(len);
+                       if (*v)
+                         {
+                            memcpy(*v, temp, len);
+                            n++;
+                         }
+                    }
+                  break;
+               }
+             case '!':
+               {
+                  if (table)
+                    {
+                       q = _elua_push_name(L, q, i);                     // Stack usage [-0, +1, e]
+                    }
+                  if (lua_isboolean(L, j))                               // Stack usage [-0, +0, -]
+                    {
+                       int *v = va_arg(vl, int *);
+                       *v = lua_toboolean(L, j);                         // Stack usage [-0, +0, -]
+                       n++;
+                    }
+                  break;
+               }
+             default:
+               {
+                  get = EINA_FALSE;
+                  break;
+               }
+          }
+
+        if (get)
+          {
+             if (table)
+               {
+                  // If this is a table, then we pushed a value on the stack, pop it off.
+                  lua_pop(L, 1);                                         // Stack usage [-n, +0, -]
+               }
+            else
+                j++;
+            count++;
+          }
+        p = q;
+     }
+
+   free(f);
+   va_end(vl);
+   if (count > n)
+      n = 0;
+   else if (table)
+     n = 1;
+   return n;
+}
+
+static int
+_elua_ret(lua_State *L, char *params, ...)                // Stack usage [-(2*n), +(2*n+1), em]
+{
+   va_list vl;
+   char *f = strdup(params);
+   char *p = f;
+   int n = 0;
+
+   if (!f) return -1;
+
+   lua_newtable(L);                                       // Stack usage [-0, +1, m]
+   va_start(vl, params);
+
+   while (*p)
+     {
+        char *q;
+        Eina_Bool set = EINA_TRUE;
+
+        while (isspace((int)*p))
+           p++;
+        q = p + 1;
+        switch (*p)
+          {
+             case '%':
+               {
+                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
+                  lua_pushinteger(L, va_arg(vl, int));    // Stack usage [-0, +1, -]
+                  break;
+               }
+             case '#':
+               {
+                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
+                  lua_pushnumber(L, va_arg(vl, double));  // Stack usage [-0, +1, -]
+                  break;
+               }
+             case '$':
+               {
+                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
+                  lua_pushstring(L, va_arg(vl, char *));  // Stack usage [-0, +1, m]
+                  break;
+               }
+             case '!':
+               {
+                  q = _elua_push_name(L, q, -1);          // Stack usage [-0, +1, m]
+                  lua_pushboolean(L, va_arg(vl, int));    // Stack usage [-0, +1, -]
+                  break;
+               }
+             default:
+               {
+                  set = EINA_FALSE;
+                  break;
+               }
+          }
+
+        if (set)
+          {
+             lua_settable(L, -3);                         // Stack usage [-2, +0, e]
+             n++;
+          }
+        p = q;
+     }
+
+   free(f);
+   va_end(vl);
+   return n;
+}
+
+static void
+_elua_color_fix(int *r, int *g, int *b, int *a)
+{
+   if (*r > *a) *r = *a;
+   if (*g > *a) *g = *a;
+   if (*b > *a) *b = *a;
+}
+
+//--------------------------------------------------------------------------//
+
+/**
+@page luaref
+@subsection edje Edje class.
+
+The lua edje class includes functions for dealing with the lua script only group
+as an edje object, basic functions, and functions to create other objects.
+
+In the following, "edje" is the actual global table used to access these edje functions.
+*/
+
+static int _elua_echo(lua_State *L);
+
+static int _elua_date(lua_State *L);
+static int _elua_looptime(lua_State *L);
+static int _elua_seconds(lua_State *L);
+static int _elua_version(lua_State *L);
+
+static int _elua_objgeom(lua_State *L);
+static int _elua_objpos(lua_State *L);
+static int _elua_objsize(lua_State *L);
+
+static int _elua_emit(lua_State *L);
+static int _elua_messagesend(lua_State *L);
+
+static int _elua_animator(lua_State *L);
+static int _elua_timer(lua_State *L);
+static int _elua_transition(lua_State *L);
+
+static int _elua_color_class(lua_State *L);
+static int _elua_text_class(lua_State *L);
+
+static int _elua_edje(lua_State *L);
+static int _elua_image(lua_State *L);
+static int _elua_line(lua_State *L);
+static int _elua_map(lua_State *L);
+static int _elua_polygon(lua_State *L);
+static int _elua_rect(lua_State *L);
+static int _elua_text(lua_State *L);
+//static int _elua_textblock(lua_State *L);  /* XXX: disabled until there are enough textblock functions implemented to make it actually useful
+
+static const char *_elua_edje_api = "edje";
+static const struct luaL_Reg _elua_edje_funcs [] =
+{
+   // add an echo too to make it more shelly
+     {"echo",         _elua_echo}, // test func - echo (i know we have print. test)
+   // FIXME: add logging functions here, probably to it's own domain, or even a script defined domain.
+
+   // system information (time, date blah blah)
+     {"date",         _elua_date}, // get date in a table
+     {"looptime",     _elua_looptime}, // get loop time
+     {"seconds",      _elua_seconds}, // get seconds
+     {"version",      _elua_version}, // edje version
+
+   // query edje - size, pos
+     {"geom",         _elua_objgeom}, // get while edje object geometry in canvas
+     {"pos",          _elua_objpos}, // get while edje object pos in canvas
+     {"size",         _elua_objsize}, // get while edje object pos in canvas
+
+   // talk to application/caller
+     {"emit",         _elua_emit}, // emit signal + src
+     {"messagesend",  _elua_messagesend}, // send a structured message
+
+   // time based "callback" systems
+     {"animator",     _elua_animator}, // add animator
+     {"timer",        _elua_timer}, // add timer
+     {"transition",   _elua_transition}, // add transition
+   // FIXME: need poller
+
+   // set and query color / text class
+     {"color_class",  _elua_color_class},
+     {"text_class",   _elua_text_class},
+
+   // create new objects
+     {"edje",         _elua_edje},
+     {"image",        _elua_image},  // defaults to a filled image.
+     {"line",         _elua_line},
+     {"map",          _elua_map},
+     {"polygon",      _elua_polygon},
+     {"rect",         _elua_rect},
+     {"text",         _elua_text},
+//     {"textblock",    _elua_textblock},  /* XXX: disabled until there are enough textblock functions implemented to make it actually useful
+
+   // FIXME: add the new sound stuff.
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection edje_echo edje:echo(text)
+
+Make lua a bit shelly.  Prints a string to the console
+
+@param text The string to print.
+*/
+static int
+_elua_echo(lua_State *L)                         // Stack usage [-0, +0, v]
+{
+   const char *string = luaL_checkstring(L, 1);  // Stack usage [-0, +0, v]
+   LD("%s", string);
+   return 0;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection edje_date edje:date()
+
+Retrieves the current time and date.
+
+Wraps gettimeofday(), as passed through localtime().
+
+@return A table with these fields:
+   - integer year: Year.
+   - integer month: Month of the year.
+   - integer day: Day of the month.
+   - integer yearday: Day of the year.
+   - integer weekday: Day of the week.
+   - integer hour: Hour of the day (24 hour format).
+   - integer min: Minute of the hour.
+   - number sec: Seconds as a number.
+
+*/
+static int
+_elua_date(lua_State *L)  // Stack usage [-16, +17, em]
+{
+   static time_t       last_tzset = 0;
+   struct timeval      timev;
+   struct tm          *tm;
+   time_t              tt;
+
+   gettimeofday(&timev, NULL);
+   tt = (time_t)(timev.tv_sec);
+   if ((tt > (last_tzset + 1)) || (tt < (last_tzset - 1)))
+     {
+        last_tzset = tt;
+        tzset();
+     }
+   tm = localtime(&tt);
+   if (tm)
+     {                    // Stack usage [-16, +17, em]
+        _elua_ret(L, "%year %month %day %yearday %weekday %hour %min #sec",
+              (int)(tm->tm_year + 1900),
+              (int)(tm->tm_mon + 1),
+              (int)(tm->tm_mday),
+              (int)(tm->tm_yday),
+              (int)((tm->tm_wday + 6) % 7),
+              (int)(tm->tm_hour),
+              (int)(tm->tm_min),
+              (double)((double)tm->tm_sec + (((double)timev.tv_usec) / 1000000))
+           );
+
+
+     }
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_looptime edje:looptime()
+
+Retrieves the time at which the last loop stopped waiting for timeouts or events.
+
+This gets the time that the main loop ceased waiting for timouts and/or events
+to come in or for signals or any other interrupt source. This should be
+considered a reference point for all time based activity that should calculate
+its timepoint from the return of edje:looptime(). Use this UNLESS you absolutely
+must get the current actual timepoint - then use edje:seconds(). Note that this
+time is meant to be used as relative to other times obtained on this run.
+
+Wraps ecore_loop_time_get().
+
+@returns A number of seconds.
+*/
+static int
+_elua_looptime(lua_State *L)  // Stack usage [-0, +1, -]
+{
+   double t = ecore_loop_time_get();
+   lua_pushnumber(L, t);      // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_seconds edje:seconds()
+
+Retrieves the current system time as a floating point value in seconds.
+
+This uses a monotonic clock and thus never goes back in time while machine is
+live (even if user changes time or timezone changes, however it may be reset
+whenever the machine is restarted).
+
+Wraps ecore_time_get().
+
+@returns A number of seconds.
+*/
+static int
+_elua_seconds(lua_State *L)  // Stack usage [-0, +1, -]
+{
+   double t = ecore_time_get();
+   lua_pushnumber(L, t);     // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_version edje:version()
+
+Retrieves the current edje version number.
+
+@returns A table with these fields:
+    - integer major: The edje version major number.
+    - integer minor: The edje version minor number.
+
+@since 1.2.0
+*/
+static int
+_elua_version(lua_State *L)                                                // Stack usage [-4, +5, em]
+{
+   _elua_ret(L, "%major %minor", EDJE_VERSION_MAJOR, EDJE_VERSION_MINOR);  // Stack usage [-4, +5, em]
+    return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection edje_geom edje:geom()
+
+Retrieves the position and size of the edje object that this lua group is in.
+
+@returns A table with these fields:
+   - integer x: The edjes X position.
+   - integer y: The edjes Y position.
+   - integer w: The edjes width.
+   - integer h: The edjes height.
+*/
+static int
+_elua_objgeom(lua_State *L)                                  // Stack usage [-10, +11, em]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   _elua_ret(L, "%x %y %w %h", ed->x, ed->y, ed->w, ed->h);  // Stack usage [-8, +9, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_pos edje:pos()
+
+
+Retrieves the position of the edje object that this lua group is in.
+
+@returns A table with these fields:
+   - integer x: The edjes X position.
+   - integer y: The edjes Y position.
+*/
+static int
+_elua_objpos(lua_State *L)                                   // Stack usage [-6, +7, em]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   _elua_ret(L, "%x %y", ed->x, ed->y);                      // Stack usage [-4, +5, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_size edje:size()
+
+
+Retrieves the size of the edje object that this lua group is in.
+
+@returns A table with these fields:
+   - integer w: The edjes width.
+   - integer h: The edjes height.
+*/
+static int
+_elua_objsize(lua_State *L)                                  // Stack usage [-6, +7, em]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   _elua_ret(L, "%w %h", ed->w, ed->h);                      // Stack usage [-4, +5, em]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection edje_emit edje:emit(signal, source)
+
+Emit a signal.
+
+Wraps edje_object_signal_emit().
+
+@param signal The signal string to send.
+@param source The source string of the signal.
+
+NOTE: The source string will have a name and a colon prepended to in when it is
+delivered to things that are not this edje, like C and other edje groups.
+If this edje is a top level edje, then it will be the name of the group (I think).
+If this edje is swallowed into some other part, then it will be the name of the
+part:
+
+   group_name:source
+
+FIXME: I actually have no idea what happens if it's swallowed into another lua
+edje group.
+*/
+static int
+_elua_emit(lua_State *L)                                     // Stack usage [-2, +2, ev]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   const char *sig = luaL_checkstring(L, 1);                 // Stack usage [-0, +0, v]
+   const char *src = luaL_checkstring(L, 2);                 // Stack usage [-0, +0, v]
+   if ((!sig) || (!src)) return 0;
+   _edje_emit(ed, sig, src);
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection edje_message_send edje:messagesend(id, type, ...)
+
+Send a message to this edje, and all it's child objects.
+
+Wraps edje_object_message_send().
+
+@param id   An identification integer for the message.
+@param type The type of message to send.
+@param ...  Zero or more things to send as part of the message, depending on the type.
+
+The type can be one of:
+   - none: No msg.
+   - sig: The msg is two strings (signal, source), sent as a signal.
+   - str: The msg is a C string.
+   - int: The message is a C integer.
+   - float: The message is a C float.
+   - strset: The message is an array of C strings.
+   - intset: The message is an array of C integers.
+   - floatset: The message is an array of C floats.
+   - strint: The message is a C stnring and a C integer.
+   - strfloat: The message is a C string and a C float.
+   - strintset: The message is a C string and an array of C integers.
+   - strfloatset: The message is a G string and an array of C floats.
+
+For the array types, the lua caller passes a table.
+*/
+static int
+_elua_messagesend(lua_State *L)  // Stack usage [-2, +2, ev] plus [-2, +2] for every element if it's an array message.
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   int id = luaL_checkinteger(L, 1);                         // Stack usage [-0, +0, v]
+   const char *type = luaL_checkstring(L, 2);                // Stack usage [-0, +0, v]
+   if (!type) return 0;
+   if (!strcmp(type, "none"))
+     {
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_NONE, id, NULL);
+     }
+   else if (!strcmp(type, "sig"))
+     {
+        const char *sig = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        const char *src = luaL_checkstring(L, 4);            // Stack usage [-0, +0, v]
+        _edje_emit(ed, sig, src);
+     }
+   else if (!strcmp(type, "str"))
+     {
+        Edje_Message_String *emsg;
+        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        emsg = alloca(sizeof(Edje_Message_String));
+        emsg->str = (char *)str;
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING, id, emsg);
+     }
+   else if (!strcmp(type, "int"))
+     {
+        Edje_Message_Int *emsg;
+        int val = luaL_checkinteger(L, 3);                   // Stack usage [-0, +0, v]
+        emsg = alloca(sizeof(Edje_Message_Int));
+        emsg->val = val;
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_INT, id, emsg);
+     }
+   else if (!strcmp(type, "float"))
+     {
+        Edje_Message_Float *emsg;
+        float val = luaL_checknumber(L, 3);                  // Stack usage [-0, +0, v]
+        emsg = alloca(sizeof(Edje_Message_Float));
+        emsg->val = val;
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_FLOAT, id, emsg);
+     }
+   else if (!strcmp(type, "strset"))
+     {
+        Edje_Message_String_Set *emsg;
+        int i, n;
+        const char *str;
+        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
+#if LUA_VERSION_NUM >= 502
+        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
+#else
+        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
+#endif
+        emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 1) * sizeof(char *)));
+        emsg->count = n;
+        for (i = 1; i <= n; i ++)
+          {
+             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
+             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
+             str = lua_tostring(L, -1);                        // Stack usage [-0, +0, m]
+             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
+             emsg->str[i - 1] = (char *)str;
+          }
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_SET, id, emsg);
+     }
+   else if (!strcmp(type, "intset"))
+     {
+        Edje_Message_Int_Set *emsg;
+        int i, n;
+        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
+#if LUA_VERSION_NUM >= 502
+        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
+#else
+        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
+#endif
+        emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 1) * sizeof(int)));
+        emsg->count = n;
+        for (i = 1; i <= n; i ++)
+          {
+             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
+             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
+             emsg->val[i - 1] = lua_tointeger(L, -1);        // Stack usage [-0, +0, -]
+             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
+          }
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_INT_SET, id, emsg);
+     }
+   else if (!strcmp(type, "floatset"))
+     {
+        Edje_Message_Float_Set *emsg;
+        int i, n;
+        luaL_checktype(L, 3, LUA_TTABLE);                    // Stack usage [-0, +0, v]
+#if LUA_VERSION_NUM >= 502
+        n = lua_rawlen(L, 3);                                // Stack usage [-0, +0, -]
+#else
+        n = lua_objlen(L, 3);                                // Stack usage [-0, +0, -]
+#endif
+        emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 1) * sizeof(double)));
+        emsg->count = n;
+        for (i = 1; i <= n; i ++)
+          {
+             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
+             lua_gettable(L, 3);                               // Stack usage [-1, +1, e]
+             emsg->val[i - 1] = lua_tonumber(L, -1);         // Stack usage [-0, +0, -]
+             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
+          }
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_FLOAT_SET, id, emsg);
+     }
+   else if (!strcmp(type, "strint"))
+     {
+        Edje_Message_String_Int *emsg;
+        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        emsg = alloca(sizeof(Edje_Message_String_Int));
+        emsg->str = (char *)str;
+        emsg->val =  luaL_checkinteger(L, 4);                // Stack usage [-0, +0, v]
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_INT, id, emsg);
+     }
+   else if (!strcmp(type, "strfloat"))
+     {
+        Edje_Message_String_Float *emsg;
+        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        emsg = alloca(sizeof(Edje_Message_String_Float));
+        emsg->str = (char *)str;
+        emsg->val =  luaL_checknumber(L, 4);                 // Stack usage [-0, +0, v]
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_FLOAT, id, emsg);
+     }
+   else if (!strcmp(type, "strintset"))
+     {
+        Edje_Message_String_Int_Set *emsg;
+        int i, n;
+        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        if (!str) return 0;
+        luaL_checktype(L, 4, LUA_TTABLE);                    // Stack usage [-0, +0, v]
+#if LUA_VERSION_NUM >= 502
+        n = lua_rawlen(L, 4);                                // Stack usage [-0, +0, -]
+#else
+        n = lua_objlen(L, 4);                                // Stack usage [-0, +0, -]
+#endif
+        emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 1) * sizeof(int)));
+        emsg->str = (char *)str;
+        emsg->count = n;
+        for (i = 1; i <= n; i ++)
+          {
+             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
+             lua_gettable(L, 4);                               // Stack usage [-1, +1, e]
+             emsg->val[i - 1] = lua_tointeger(L, -1);        // Stack usage [-0, +0, -]
+             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
+          }
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_INT_SET, id, emsg);
+     }
+   else if (!strcmp(type, "strfloatset"))
+     {
+        Edje_Message_String_Float_Set *emsg;
+        int i, n;
+        const char *str = luaL_checkstring(L, 3);            // Stack usage [-0, +0, v]
+        if (!str) return 0;
+        luaL_checktype(L, 4, LUA_TTABLE);                    // Stack usage [-0, +0, v]
+#if LUA_VERSION_NUM >= 502
+        n = lua_rawlen(L, 4);                                // Stack usage [-0, +0, -]
+#else
+        n = lua_objlen(L, 4);
+#endif
+        emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 1) * sizeof(double)));
+        emsg->str = (char *)str;
+        emsg->count = n;
+        for (i = 1; i <= n; i ++)
+          {
+             lua_pushinteger(L, i);                            // Stack usage [-0, +1, -]
+             lua_gettable(L, 4);                               // Stack usage [-1, +1, e]
+             emsg->val[i - 1] = lua_tonumber(L, -1);         // Stack usage [-0, +0, -]
+             lua_pop(L, 1);                                    // Stack usage [-n, +0, -]
+          }
+        _edje_message_send(ed, EDJE_QUEUE_APP, EDJE_MESSAGE_STRING_FLOAT_SET, id, emsg);
+     }
+   return 0;
+}
+
+//-------------
+static Eina_Bool
+_elua_animator_cb(void *data)                                // Stack usage [-2, +2, em]
+{
+   Edje_Lua_Animator *ela = data;
+   lua_State *L;
+   int ret = 0, err = 0;
+
+   if (!ela->obj.ed) return 0;
+   L = ela->obj.ed->L;
+   if (!L) return 0;
+   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
+   if (setjmp(panic_jmp) == 1)
+     {
+        LE("Animator callback panic");
+        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
+        _elua_obj_free(L, (Edje_Lua_Obj *)ela);
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+    */
+   lua_rawgeti(L, LUA_REGISTRYINDEX, ela->fn_ref);           // Stack usage [-0, +1, -]
+   if ((err = lua_pcall(L, 0, 1, 0)))                        // Stack usage [-1, +1, -]
+     {
+        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
+        _elua_obj_free(L, (Edje_Lua_Obj *)ela);
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
+   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
+   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)ela);
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return ret;
+}
+
+static void
+_elua_animator_free(void *obj)                               // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Animator *ela = obj;
+   lua_State *L;
+   if (!ela->obj.ed) return;
+   L = ela->obj.ed->L;
+   luaL_unref(L, LUA_REGISTRYINDEX, ela->fn_ref);            // Stack usage [-0, +0, -]
+   ela->fn_ref  = 0;
+   ecore_animator_del(ela->animator);
+   ela->animator = NULL;
+}
+
+/**
+@page luaref
+@subsubsection edje_animator edje:animator(func)
+
+This function adds an animator and returns its handle on success and NULL on
+failure. The function func will be called every frame tick.  Note that setting
+the frame tick is not available as a lua function, so has to be done from C.
+The default tick is 1/30 second.
+
+When the animator func is called, it must return a value of either true or false.
+If it returns true it will be called again at the next tick, or if it returns
+false it will be deleted automatically making any references/handles for it
+invalid.
+
+Wraps ecore_animator_add().
+
+@param func The function to call when the animator triggers.
+
+@returns A userdata that is an ecore animator.
+*/
+static int
+_elua_animator(lua_State *L)                                 // Stack usage [-8, +9, emv]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   Edje_Lua_Animator *ela;
+
+   luaL_checkany(L, 1);                                      // Stack usage [-0, +0, v]
+
+   // FIXME: Allow lua to set a data to be sent back with the callback.
+   ela = (Edje_Lua_Animator *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Animator), _elua_ecore_animator_meta);
+                                                             // Stack usage [-5, +6, m]
+   ela->obj.free_func = _elua_animator_free;
+   ela->animator = ecore_animator_add(_elua_animator_cb, ela);
+   lua_pushvalue(L, 1);                                      // Stack usage [-0, +1, -]
+   ela->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return 1;
+}
+
+static Eina_Bool
+_elua_timer_cb(void *data)                                   // Stack usage [-2, +2, em]
+{
+   Edje_Lua_Timer *elt = data;
+   lua_State *L;
+   int ret = 0, err = 0;
+
+   if (!elt->obj.ed) return 0;
+   L = elt->obj.ed->L;
+   if (!L) return 0;
+   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
+   if (setjmp(panic_jmp) == 1)
+     {
+        LE("Timer callback panic");
+        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
+        _elua_obj_free(L, (Edje_Lua_Obj *)elt);
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+  */
+   lua_rawgeti(L, LUA_REGISTRYINDEX, elt->fn_ref);           // Stack usage [-0, +1, -]
+   if ((err = lua_pcall(L, 0, 1, 0)))                        // Stack usage [-1, +1, -]
+     {
+        _edje_lua2_error(L, err);
+        _elua_obj_free(L, (Edje_Lua_Obj *)elt);              // Stack usage [-0, +0, m]
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
+   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
+   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)elt);
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return ret;
+}
+
+static void
+_elua_timer_free(void *obj)                                  // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Timer *elt = obj;
+   lua_State *L;
+   if (!elt->obj.ed) return;
+   L = elt->obj.ed->L;
+   luaL_unref(L, LUA_REGISTRYINDEX, elt->fn_ref);            // Stack usage [-0, +0, -]
+   elt->fn_ref  = 0;
+   ecore_timer_del(elt->timer);
+   elt->timer = NULL;
+}
+
+/**
+@page luaref
+@subsubsection edje_timer edje:timer(tick, func)
+
+This function adds a timer and returns its handle on success and NULL on failure.
+The function func will be called every tick seconds.
+
+When the timer func is called, it must return a value of either true or false.
+If it returns true, it will be called again at the next tick, or if it returns
+false it will be deleted automatically making any references/handles for it
+invalid.
+
+Wraps ecore_timer_add().
+
+@param tick How often, in seconds, to call the function.
+@param func The function to call when the timer triggers.
+
+@returns A userdata that is an ecore timer.
+*/
+static int
+_elua_timer(lua_State *L)                                    // Stack usage [-8, +9, emv]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   Edje_Lua_Timer *elt;
+   double val;
+
+   val = luaL_checknumber(L, 1);                             // Stack usage [-0, +0, v]
+   luaL_checkany(L, 2);                                      // Stack usage [-0, +0, v]
+
+   elt = (Edje_Lua_Timer *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Timer), _elua_ecore_timer_meta);
+                                                             // Stack usage [-5, +6, m]
+   elt->obj.free_func = _elua_timer_free;
+   elt->timer = ecore_timer_add(val, _elua_timer_cb, elt);
+   lua_pushvalue(L, 2);                                      // Stack usage [-0, +1, -]
+   elt->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return 1;
+}
+
+static Eina_Bool
+_elua_transition_cb(void *data)                              // Stack usage [-3, +3, em]
+{
+   Edje_Lua_Transition *elt = data;
+   lua_State *L;
+   int ret = 0, err = 0;
+   double t;
+
+   if (!elt->obj.ed) return 0;
+   L = elt->obj.ed->L;
+   if (!L) return 0;
+   t = (ecore_loop_time_get() - elt->start) / elt->transition;
+   if (t > 1.0) t = 1.0;
+   /* This is not needed, pcalls don't longjmp(), that's why they are protected.
+   if (setjmp(panic_jmp) == 1)
+     {
+        LE("Transition callback panic");
+        _edje_lua2_error(L, err);                            // Stack usage [-0, +0, m]
+        _elua_obj_free(L, (Edje_Lua_Obj *)elt);
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+  */
+   lua_rawgeti(L, LUA_REGISTRYINDEX, elt->fn_ref);           // Stack usage [-0, +1, -]
+   lua_pushnumber(L, t);                                     // Stack usage [-0, +1, -]
+   if ((err = lua_pcall(L, 1, 1, 0)))                        // Stack usage [-2, +1, -]
+     {
+        _edje_lua2_error(L, err);
+        _elua_obj_free(L, (Edje_Lua_Obj *)elt);              // Stack usage [-0, +0, m]
+        _elua_gc(L);                                         // Stack usage [-0, +0, e]
+        return 0;
+     }
+   ret = lua_toboolean(L, -1);                               // Stack usage [-0, +0, -]
+   lua_pop(L, 1);                                            // Stack usage [-n, +0, -]
+   if (t >= 1.0) ret = 0;
+   if (ret == 0) _elua_obj_free(L, (Edje_Lua_Obj *)elt);
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return ret;
+}
+
+static void
+_elua_transition_free(void *obj)                             // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Transition *elt = obj;
+   lua_State *L;
+   if (!elt->obj.ed) return;
+   L = elt->obj.ed->L;
+   luaL_unref(L, LUA_REGISTRYINDEX, elt->fn_ref);            // Stack usage [-0, +0, -]
+   elt->fn_ref  = 0;
+   ecore_animator_del(elt->animator);
+   elt->animator = NULL;
+}
+
+/**
+@page luaref
+@subsubsection edje_transition edje:transition(div, func)
+
+Just like edje:animator(), except that the callback function gets called with an
+argument.  The argument is the amount of time since the transition was created,
+divided by the div parameter.
+
+@param div A number to divide the time since creation by.
+@param func The function to call when the transition triggers.
+
+@returns A userdata that is a transition (ecore animator, plus other info).
+*/
+static int
+_elua_transition(lua_State *L)                               // Stack usage [-8, +9, emv]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   Edje_Lua_Transition *elt;
+   double val;
+
+   val = luaL_checknumber(L, 1);                             // Stack usage [-0, +0, v]
+   luaL_checkany(L, 2);                                      // Stack usage [-0, +0, v]
+
+   elt = (Edje_Lua_Transition *)_elua_obj_new(L, ed, sizeof(Edje_Lua_Transition), _elua_ecore_animator_meta);
+                                                             // Stack usage [-5, +6, m]
+   elt->obj.free_func = _elua_transition_free;
+   elt->animator = ecore_animator_add(_elua_transition_cb, elt);
+   if (val < 0.0000001) val = 0.0000001;
+   elt->transition = val;
+   elt->start = ecore_loop_time_get();
+   lua_pushvalue(L, 2);                                      // Stack usage [-0, +1, -]
+   elt->fn_ref = luaL_ref(L, LUA_REGISTRYINDEX);             // Stack usage [-1, +0, m]
+   _elua_gc(L);                                              // Stack usage [-0, +0, e]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection edje_colour_class edje:color_class(class, r, g, b, a)
+
+Gets, (and optionally sets) the colours for a color class.
+
+Wraps edje_object_color_class_set().
+
+@param class A color class name.
+@param r The new red value.
+@param g The new green value.
+@param b The new blue value.
+@param a The new alpha value.
+
+Note that the r, g, b, and a arguments are optional, without them this function
+just queries the current values.  The r, g, b, and a arguments can be separate
+values, or named fields in a table.
+
+@return A table with these fields:
+   - integer r: The red value.
+   - integer g: The green value.
+   - integer b: The blue value.
+   - integer a: The alpha value.
+
+@since 1.1.0
+*/
+static int
+_elua_color_class(lua_State *L)                              // Stack usage [-(10|14), +(11|15), ?]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   Edje_Color_Class *c_class;
+   const char *class = luaL_checkstring(L, 1);               // Stack usage [-0, +0, v]
+   int r, g, b, a;
+
+   if (!class) return 0;
+
+   if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
+     {                                                       // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        _elua_color_fix(&r, &g, &b, &a);
+        // This is the way that embryo does it -
+        //edje_object_color_class_set(ed->obj, class, r, g, b, a, r, g, b, a, r, g, b, a);
+        // But that deals with object scope, which is currently useless in lua,
+        // since we have no objects that can use color_class yet.
+        // So we do it at global scope instead.
+        // LATER - Should do both?
+        edje_color_class_set(class, r, g, b, a, r, g, b, a, r, g, b, a);
+     }
+
+   c_class = _edje_color_class_find(ed, class);
+   if (!c_class) return 0;
+
+   _elua_ret(L, "%r %g %b %a", c_class->r, c_class->g, c_class->b, c_class->a);
+                                                             // Stack usage [-8, +9, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_text_class edje:text_class(class, font, size)
+
+Gets, (and optionally sets) the details for a text class.
+
+Wraps edje_object_text_class_set().
+
+@param class A text class name.
+@param font The new font name.
+@param size The new font size.
+
+Note that the font and size arguments are optional, without them this function
+just queries the current values.  The font and size arguments can be separate
+values, or named fields in a table.  The font name can refer to a font in the
+edje file, or an external font.
+
+@return A table with these fields:
+   - string font: The font name.
+   - integer size: The font size.
+
+@since 1.1.0
+*/
+static int
+_elua_text_class(lua_State *L)                               // Stack usage [-(6|8), +(7|9), emv]
+{
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     // Stack usage [-2, +2, e]
+   Edje_Text_Class *t_class;
+   const char *class = luaL_checkstring(L, 1);               // Stack usage [-0, +0, v]
+   char *font = NULL;
+   Evas_Font_Size size = 0;
+
+   if (!class) return 0;
+
+   // Just like color_class above, this does things differently from embryo,
+   // for the same reason.
+   if (_elua_scan_params(L, 2, "$font %size", &font, &size) > 0)
+                                                             // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        edje_text_class_set(class, font, size);
+
+   t_class = _edje_text_class_find(ed, class);
+   if (!t_class) return 0;
+
+   _elua_ret(L, "$font %size", t_class->font, t_class->size);
+                                                             // Stack usage [-4, +5, em]
+   return 1;
+}
+
+//-------------
+static void
+_elua_evas_obj_free(void *obj)
+{
+   Edje_Lua_Evas_Object *elo = obj;
+
+   if (!elo->obj.ed) return;
+   evas_object_del(elo->evas_obj);
+   elo->evas_obj = NULL;
+}
+
+// Stack usage [-7, +8, em]
+#define _ELUA_PLANT_EVAS_OBJECT(type, meta, free)            \
+   Edje *ed = (Edje *)_elua_table_ptr_get(L, _elua_key);     \
+   type *elo;                                                \
+   elo = (type *)_elua_obj_new(L, ed, sizeof(type), meta);   \
+   elo->obj.free_func = free;
+// Stack usage [-2, +2, e]
+// Stack usage [-5, +6, m]
+
+static void
+_elua_polish_evas_object(Edje *ed, Edje_Lua_Evas_Object *elo)
+{
+   evas_object_smart_member_add(elo->evas_obj, ed->obj);
+   evas_object_clip_set(elo->evas_obj, ed->base->clipper);
+   evas_object_move(elo->evas_obj, ed->x, ed->y);
+   evas_object_resize(elo->evas_obj, 0, 0);
+   evas_object_data_set(elo->evas_obj, ELO, elo);
+}
+
+/**
+@page luaref
+@subsubsection edje_edje edje:edje()
+
+Create an edje object, and add it to the edje.
+
+Wraps edje_object_add().
+
+@returns A userdata that is an edje object.
+
+@since 1.1.0
+*/
+static int
+_elua_edje(lua_State *L)                                     // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_edje_meta, _elua_evas_obj_free)
+                                                             // Stack usage [-7, +8, em]
+   elo->evas_obj = edje_object_add(evas_object_evas_get(ed->obj));
+   _edje_subobj_register(ed, elo->evas_obj);
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_image edje:image()
+
+Create an evas image, and add it to the edje.
+
+Wraps evas_object_image_add().
+
+@returns A userdata that is an evas image.
+
+@since 1.1.0
+*/
+static int
+_elua_image(lua_State *L)                                    // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_image_meta, _elua_evas_obj_free)
+                                                             // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_image_filled_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_line edje:line()
+
+Create an evas line, and add it to the edje.
+
+Wraps evas_object_line_add().
+
+@returns A userdata that is an evas line.
+
+@since 1.1.0
+*/
+static int
+_elua_line(lua_State *L)                                     // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_line_meta, _elua_evas_obj_free)
+                                                             // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_line_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+static void
+_elua_map_free(void *obj)
+{
+   Edje_Lua_Map *elm = obj;
+   if (!elm->obj.ed) return;
+   evas_map_free(elm->map);
+   elm->map = NULL;
+}
+
+/**
+@page luaref
+@subsubsection edje_map edje:map()
+
+Create an evas map.
+
+Wraps evas_map_new().
+
+@returns A userdata that is an evas map.
+
+@since 1.1.0
+*/
+static int
+_elua_map(lua_State *L)                                      // Stack usage [-7, +8, emv]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Map, _elua_evas_map_meta, _elua_map_free)
+                                                             // Stack usage [-7, +8, em]
+   elo->map = evas_map_new(luaL_checkinteger(L, 1));         // Stack usage [-0, +0, v]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_polygon edje:polygon()
+
+Create an evas polygon, and add it to the edje.
+
+Wraps evas_object_polygon_add().
+
+@returns A userdata that is an evas polygon.
+
+@since 1.1.0
+*/
+static int
+_elua_polygon(lua_State *L)                                 // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_polygon_meta, _elua_evas_obj_free)
+                                                            // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_polygon_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_rect edje:rect()
+
+Create an evas rectangle, and add it to the edje.
+
+Wraps evas_object_rectangle_add().
+
+@returns A userdata that is an evas rectangle.
+*/
+static int
+_elua_rect(lua_State *L)                                    // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_meta, _elua_evas_obj_free)
+                                                            // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_rectangle_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection edje_text edje:text()
+
+Create an evas text object, and add it to the edje.
+
+Wraps evas_object_text_add().
+
+@returns A userdata that is an evas text object.
+
+@since 1.1.0
+*/
+static int
+_elua_text(lua_State *L)                                    // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_text_meta, _elua_evas_obj_free)
+                                                            // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_text_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+
+/* XXX: disabled until there are enough textblock functions implemented to make it actually useful
+_elua_textblock(lua_State *L)                               // Stack usage [-7, +8, em]
+{
+   _ELUA_PLANT_EVAS_OBJECT(Edje_Lua_Evas_Object, _elua_evas_textblock_meta, _elua_evas_obj_free)
+                                                            // Stack usage [-7, +8, em]
+   elo->evas_obj = evas_object_textblock_add(evas_object_evas_get(ed->obj));
+   _elua_polish_evas_object(ed, elo);
+   return 1;
+}
+*/
+
+//-------------
+//-------------
+
+/**
+@page luaref
+@subsection evas Evas class.
+
+The lua evas class includes functions for dealing with evas objects.  The evas
+objects must have been previously created by lua using one of the lua ezas
+object creation functions from the lua edje class.
+
+In the following, "evas_object" is a place holder for any lua variable that
+holds a reference to an evas object.
+*/
+
+static int _elua_obj_del(lua_State *L);
+
+static int _elua_hide(lua_State *L);
+static int _elua_show(lua_State *L);
+static int _elua_visible(lua_State *L);
+
+static int _elua_above(lua_State *L);
+static int _elua_below(lua_State *L);
+static int _elua_bottom(lua_State *L);
+static int _elua_lower(lua_State *L);
+static int _elua_raise(lua_State *L);
+static int _elua_top(lua_State *L);
+
+static int _elua_geom(lua_State *L);
+static int _elua_move(lua_State *L);
+static int _elua_pos(lua_State *L);
+static int _elua_resize(lua_State *L);
+static int _elua_size(lua_State *L);
+
+static int _elua_clip(lua_State *L);
+static int _elua_clipees(lua_State *L);
+static int _elua_unclip(lua_State *L);
+
+static int _elua_type(lua_State *L);
+
+static int _elua_pass(lua_State *L);
+static int _elua_precise(lua_State *L);
+static int _elua_repeat(lua_State *L);
+
+static int _elua_color(lua_State *L);
+
+static int _elua_obj_map(lua_State *L);
+static int _elua_obj_map_enable(lua_State *L);
+
+static const char *_elua_evas_api = "evas";
+static const struct luaL_Reg _elua_evas_funcs [] =
+{
+     {"del",          _elua_obj_del}, // generic del any object created for edje (evas objects, timers, animators, transitions... everything)
+
+     {"hide",         _elua_hide}, // hide, return current visibility
+     {"show",         _elua_show}, // show, return current visibility
+     {"visible",      _elua_visible}, // get object visibility
+
+     {"above",        _elua_above}, // get object above or stack obj above given obj
+     {"below",        _elua_below}, // get object below or stack obj below given obj
+     {"bottom",       _elua_bottom}, // get bottom
+     {"lower",        _elua_lower}, // lower to bottom
+     {"raise",        _elua_raise}, // raise to top
+     {"top",          _elua_top}, // get top
+
+     {"geom",         _elua_geom}, // move and resize and return current geometry
+     {"move",         _elua_move}, // move, return current position
+     {"pos",          _elua_pos}, // move, return current position
+     {"resize",       _elua_resize}, // resize, return current size
+     {"size",         _elua_size}, // resize, return current size
+
+     {"clip",         _elua_clip}, // set clip obj, return clip object
+     {"clipees",      _elua_clipees}, // get clip children
+     {"unclip",       _elua_unclip}, // clear clip obj
+
+     {"type",         _elua_type}, // get object type
+
+     {"pass",         _elua_pass}, // set pass events, get pass events
+     {"precise",      _elua_precise}, // set precise inside flag, get precise
+     {"repeat",       _elua_repeat}, // set repeat events, get repeat events
+
+     {"color",        _elua_color}, // set color, return color
+//     {"color_class",  _elua_object_color_class}, // get or set object color class
+
+   // FIXME: set callbacks (mouse down, up, blah blah blah)
+   //
+   // FIXME: set scale (explicit value)
+   // FIXME: need to set auto-scale (same as scale: 1)
+
+   // FIXME: later - set render op, anti-alias, pointer mode (autograb, nograb)
+
+   // map api here
+     {"map",           _elua_obj_map},
+     {"map_enable",    _elua_obj_map_enable},
+
+     {NULL, NULL} // end
+};
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_hide evas_object:hide()
+
+Hides the object.
+
+Wraps evas_object_hide().
+
+@returns A boolean representing the current visibility.
+*/
+static int
+_elua_hide(lua_State *L)                                        // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_hide(elo->evas_obj);
+   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_show evas_object:show()
+
+Shows the object.
+
+Wraps evas_object_show().
+
+@returns A boolean representing the current visibility.
+*/
+static int
+_elua_show(lua_State *L)                                        // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_show(elo->evas_obj);
+   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_visible evas_object:visible(visibility)
+
+Gets (and optionally sets) this objects visibility.
+
+Wraps evas_object_hide() or evas_object_show().
+
+@param visibility The new visibility you want to change it to.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@returns A boolean representing the current visibility.
+*/
+static int
+_elua_visible(lua_State *L)                                     // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
+          {
+             if (lua_toboolean(L, 2)) evas_object_show(elo->evas_obj);
+                                                                // Stack usage [-0, +0, -]
+             else evas_object_hide(elo->evas_obj);
+          }
+     }
+   lua_pushboolean(L, evas_object_visible_get(elo->evas_obj));  // Stack usage [-0, +1, -]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_above evas_object:above()
+
+Figure out what, if anything, is above us.
+
+Wraps evas_object_above_get().
+
+Note that it may not return any value.
+
+@returns A reference to the object above this one.
+*/
+static int
+_elua_above(lua_State *L)                                       // Stack usage [-3, +4, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Edje_Lua_Evas_Object *elo2;
+   Evas_Object *o;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (!(o = evas_object_above_get(elo->evas_obj))) return 0;
+   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
+   _elua_ref_get(L, elo2);                                      // Stack usage [-3, +4, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_below evas_object:below()
+
+Figure out what, if anything, is below us.
+
+Wraps evas_object_below_get().
+
+Note that it may not return any value.
+
+@returns A reference to the object below this one.
+*/
+static int
+_elua_below(lua_State *L)                                       // Stack usage [-3, +4, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Edje_Lua_Evas_Object *elo2;
+   Evas_Object *o;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (!(o = evas_object_below_get(elo->evas_obj))) return 0;
+   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
+   _elua_ref_get(L, elo2);                                      // Stack usage [-3, +4, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_bottom evas_object:bottom()
+
+Figure out what, if anything, is waaaay below us.
+
+Note that it may not return any value.
+
+@returns A reference to the object at the bottom.
+*/
+static int
+_elua_bottom(lua_State *L)                                      // Stack usage [-(0|3), +(0|4), -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo2;
+   Evas_Object *o;
+   Eina_List *list, *l;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (!(list = (Eina_List *)evas_object_smart_members_get(obj->ed->obj))) return 0;
+   for (l = list; l; l = l->next)
+     {
+        o = l->data;
+        if ((elo2 = evas_object_data_get(o, ELO)))
+          {
+             _elua_ref_get(L, elo2);                            // Stack usage [-3, +4, -]
+             return 1;
+          }
+     }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection evas_lower evas_object:lower()
+
+Lower this object to the bottom.
+
+Wraps evas_object_lower().
+*/
+static int
+_elua_lower(lua_State *L)                                       // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_lower(elo->evas_obj);
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection evas_raise evas_object:raise()
+
+Raise this object to the top.
+
+Wraps evas_object_raise().
+*/
+static int
+_elua_raise(lua_State *L)                                       // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_raise(elo->evas_obj);
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection evas_top evas_object:top()
+
+Figure out what, if anything, is waaaay above us.
+
+Note that it may not return any value.
+
+@returns A reference to the object at the top.
+*/
+static int
+_elua_top(lua_State *L)                                         // Stack usage [-(0|3), +(0|4), -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-(0, +0, -]
+   Edje_Lua_Evas_Object *elo2;
+   Evas_Object *o;
+   Eina_List *list, *l;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (!(list = (Eina_List *)evas_object_smart_members_get(obj->ed->obj))) return 0;
+   if (!list) return 0;
+   for (l = eina_list_last(list); l; l = l->prev)
+     {
+        o = l->data;
+        if ((elo2 = evas_object_data_get(o, ELO)))
+          {
+             _elua_ref_get(L, elo2);                            // Stack usage [-3, +4, -]
+             return 1;
+          }
+     }
+   return 0;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_geom evas_object:geom(x, y, w, h)
+
+Gets (and optionally sets) this objects geometry.
+
+Wraps evas_object_move() and evas_object_resize.
+
+@param x The new X coordinate.
+@param y The new Y coordinate.
+@param w The new width.
+@param h The new height.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer x: X coordinate.
+   - integer x: Y coordinate.
+   - integer w: Width.
+   - integer w: Height.
+*/
+static int
+_elua_geom(lua_State *L)                                        // Stack usage [-(8|12), +(9|13), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord ox, oy, ow, oh;
+   int x, y, w, h;
+
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_geometry_get(elo->evas_obj, &ox, &oy, &ow, &oh);
+   if (_elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        if ((x != (ox - obj->ed->x)) || (y != (oy - obj->ed->y)))
+          {
+             evas_object_move(elo->evas_obj,
+                              obj->ed->x + x,
+                              obj->ed->y + y);
+          }
+        if ((w != ow) || (h != oh))
+          {
+             evas_object_resize(elo->evas_obj, w, h);
+          }
+        evas_object_geometry_get(elo->evas_obj, &ox, &oy, &ow, &oh);
+        elo->x = ox - obj->ed->x;
+        elo->y = oy - obj->ed->y;
+     }
+   _elua_ret(L, "%x %y %w %h", elo->x, elo->y, ow, oh);
+                                                                // Stack usage [-8, +9, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_move evas_object:move(x, y)
+
+Gets (and optionally sets) this objects position.
+
+Wraps evas_object_move().
+
+@param x The new X coordinate.
+@param y The new Y coordinate.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer x: X coordinate.
+   - integer x: Y coordinate.
+*/
+static int
+_elua_move(lua_State *L)                                        // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord ox, oy;
+   int x, y;
+
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_geometry_get(elo->evas_obj, &ox, &oy, NULL, NULL);
+   if (_elua_scan_params(L, 2, "%x %y", &x, &y) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        if ((x != (ox - obj->ed->x)) || (y != (oy - obj->ed->y)))
+          {
+             evas_object_move(elo->evas_obj,
+                              obj->ed->x + x,
+                              obj->ed->y + y);
+             evas_object_geometry_get(elo->evas_obj, &ox, &oy, NULL, NULL);
+          }
+        elo->x = ox - obj->ed->x;
+        elo->y = oy - obj->ed->y;
+     }
+   _elua_ret(L, "%x %y", elo->x, elo->y);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_pos evas_object:pos(x, y)
+
+An alias for evas_object:move().
+*/
+static int
+_elua_pos(lua_State *L)                                         // Stack usage [-(4|6), +(5|7), em]
+{
+   return _elua_move(L);
+}
+
+/**
+@page luaref
+@subsubsection evas_resize evas_object:resize(w, h)
+
+Gets (and optionally sets) this objects size.
+
+Wraps evas_object_resize().
+
+@param w The new width.
+@param h The new height.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer w: Width.
+   - integer w: Height.
+*/
+static int
+_elua_resize(lua_State *L)                                      // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord ow, oh;
+   int w, h;
+
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_geometry_get(elo->evas_obj, NULL, NULL, &ow, &oh);
+   if (_elua_scan_params(L, 2, "%w %h", &w, &h) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        if ((w != ow) || (h != oh))
+          {
+             evas_object_resize(elo->evas_obj, w, h);
+             evas_object_geometry_get(elo->evas_obj, NULL, NULL, &ow, &oh);
+          }
+     }
+   _elua_ret(L, "%w %h", ow, oh);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_size evas_object:size()
+
+An alias for evas_object:resize().
+*/
+static int
+_elua_size(lua_State *L)                                        // Stack usage [-(4|6), +(5|7), em]
+{
+   return _elua_resize(L);
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_clip evas_object:clip(evas_object2)
+
+Get (and optionally set) the object that clips this object.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+Wraps evas_object_clip_set().
+
+@param evas_object2 A reference to the object to clip this object with.
+
+@returns A reference to the object clipping this object, if any.
+*/
+static int
+_elua_clip(lua_State *L)                                            // Stack usage [-3, +4, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);        // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo2, *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Object *o;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   n = lua_gettop(L);                                               // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);  // Stack usage [-0, +0, -]
+        elo2 = (Edje_Lua_Evas_Object *)obj2;
+        if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
+        evas_object_clip_set(elo->evas_obj, elo2->evas_obj);
+     }
+   o = evas_object_clip_get(elo->evas_obj);
+   if (!o) return 0;
+   if (!(elo2 = evas_object_data_get(o, ELO))) return 0;
+   _elua_ref_get(L, elo2);                                          // Stack usage [-3, +4, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_clipees evas_object:clipees()
+
+Gets the list of objects this objects clips.
+
+Wraps evas_object_clipees_get().
+
+@return A table, that holds all the objects this clips, if any,
+         otherwise an empty table.
+*/
+static int
+_elua_clipees(lua_State *L)                                     // Stack usage [-0, +1, me] plus [-5, +5] for each clipee.
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo2, *elo = (Edje_Lua_Evas_Object *)obj;
+   Eina_List *list, *l;
+   Evas_Object *o;
+   int n = 0;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   list = (Eina_List *)evas_object_clipees_get(elo->evas_obj);
+   lua_newtable(L);                                             // Stack usage [-0, +1, m]
+   EINA_LIST_FOREACH(list, l, o)
+     {
+        if (!(elo2 = evas_object_data_get(o, ELO))) continue;
+        lua_pushinteger(L, n + 1);                              // Stack usage [-0, +1, -]
+        _elua_ref_get(L, elo2);                                 // Stack usage [-3, +4, -]
+        lua_settable(L, -3);                                    // Stack usage [-2, +0, e]
+        n++;
+     }
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_unclip evas_object:unclip()
+
+Remove any clipping on this object.
+
+Wraps evas_object_clip_unset().
+*/
+static int
+_elua_unclip(lua_State *L)                                      // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   evas_object_clip_unset(elo->evas_obj);
+   return 0;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_type evas_object:type()
+
+Get the type of this object.  See the documentation of the evas_object_type_get()
+C function for details.
+
+Wraps evas_object_type_get().
+
+@return A string with this objects type in it.
+*/
+static int
+_elua_type(lua_State *L)                                        // Stack usage [-0, +1, m]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   const char *t;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   t = evas_object_type_get(elo->evas_obj);
+   if (!t) return 0;
+   lua_pushstring(L, t);                                        // Stack usage [-0, +1, m]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_pass evas_object:pass(pass)
+
+Get (and optionally set) whether this object ignores events, passing them to the
+next object underneath it.
+
+Wraps evas_object_pass_events_set().
+
+@param pass A boolean saying if this object passes events.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean saying if this object passes events.
+*/
+static int
+_elua_pass(lua_State *L)                                        // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
+          {
+             evas_object_pass_events_set(elo->evas_obj, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+          }
+     }
+   lua_pushboolean(L, evas_object_pass_events_get(elo->evas_obj));
+                                                                // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_precise evas_object:precise(precise)
+
+Get (and optionally set) whether to use precise (usually expensive) point
+collision detection for this object.
+
+Wraps evas_object_precise_is_inside_set().
+
+@param precise A boolean saying if this object is precisely detected.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean saying if this object is precisely detected.
+*/
+static int
+_elua_precise(lua_State *L)                                     // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
+          {
+             evas_object_precise_is_inside_set(elo->evas_obj, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+          }
+     }
+   lua_pushboolean(L, evas_object_precise_is_inside_get(elo->evas_obj));
+                                                                // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection evas_repeat evas_object:repeat(repeat)
+
+Get (and optionally set) whether this object repeats events.
+
+Wraps evas_object_repeat_events_set().
+
+@param repeat A boolean saying if this object repeats events to lower objects.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean saying if this object repeats events.
+*/
+static int
+_elua_repeat(lua_State *L)                                      // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        if (lua_isboolean(L, 2))                                // Stack usage [-0, +0, -]
+          {
+             evas_object_repeat_events_set(elo->evas_obj, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+          }
+     }
+   lua_pushboolean(L, evas_object_repeat_events_get(elo->evas_obj));
+                                                                // Stack usage [-0, +1, -]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_colour evas_object:color(r, g, b, a)
+
+Gets (and optionally sets) this objects colour.
+
+Wraps evas_object_color_set().
+
+@param r The new red value.
+@param g The new green value.
+@param b The new blue value.
+@param a The new alpha value.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer r: The red value.
+   - integer g: The green value.
+   - integer b: The blue value.
+   - integer a: The alpha value.
+*/
+static int
+_elua_color(lua_State *L)                                       // Stack usage [-(8|12), +(9|13), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int r, g, b, a;
+
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        _elua_color_fix(&r, &g, &b, &a);
+        evas_object_color_set(elo->evas_obj, r, g, b, a);
+     }
+   evas_object_color_get(elo->evas_obj, &r, &g, &b, &a);
+   _elua_ret(L, "%r %g %b %a", r, g, b, a);
+                                                                // Stack usage [-8, +9, em]
+   return 1;
+}
+
+//-------------
+/**
+@page luaref
+@subsubsection evas_map evas_object:map(map)
+
+Attach a map to this object.
+
+Wraps evas_object_map_set().
+
+@param map The map to attach.
+
+@since 1.1.0
+*/
+static int
+_elua_obj_map(lua_State *L)                                     // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);   // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj2;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+   if (!_elua_isa(obj2, _elua_evas_map_meta)) return 0;
+
+   evas_object_map_set(elo->evas_obj, elm->map);
+
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection evas_map_enable evas_object:map_enable(enable)
+
+Enable or disable the map attached to this object.
+
+Wraps evas_object_map_enable_set().
+
+@param enable A booleon that controls if the attached map is enabled or not.
+
+@return A boolean reflecting the map enabled status of this object.
+
+@since 1.1.0
+*/
+static int
+_elua_obj_map_enable(lua_State *L)                              // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+   if (!_elua_isa(obj, _elua_evas_meta)) return 0;
+
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        evas_object_map_enable_set(elo->evas_obj, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+     }
+   lua_pushboolean(L, evas_object_map_enable_get(elo->evas_obj));
+                                                                // Stack usage [-0, +1, -]
+   return 1;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection ecore_animator Ecore animator class.
+
+The lua ecore animator class includes functions for dealing with ecore animator objects.
+The ecore animator objects must have been previously created by lua using the lua
+edje object creation function edje:animator() or edje:transition().
+
+In the following, "animator_object" is a place holder for any lua variable that
+holds a reference to an ecore animator object.
+*/
+static const char *_elua_ecore_animator_api = "ecore_animator";
+static const struct luaL_Reg _elua_ecore_animator_funcs [] =
+{
+     {NULL, NULL} // end
+};
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection ecore_timer Ecore timer class.
+
+The lua ecore timer class includes functions for dealing with ecore timer objects.
+The ecore timer objects must have been previously created by lua using the lua
+edje object creation function edje:timer().
+
+In the following, "timer_object" is a place holder for any lua variable that
+holds a reference to an ecore timer object.
+*/
+
+static const char *_elua_ecore_timer_api = "ecore_timer";
+static const struct luaL_Reg _elua_ecore_timer_funcs [] =
+{
+     {NULL, NULL} // end
+};
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_edje Evas edje class.
+
+The lua evas edje class includes functions for dealing with evas edje objects.
+The evas edje objects must have been previously created by lua using the lua
+edje object creation function edje:edje().
+
+In the following, "edje_object" is a place holder for any lua variable that
+holds a reference to an evas edje object.  NOT the edje class specified earlier
+though.
+
+@since 1.1.0
+*/
+
+static int _elua_edje_file(lua_State *L);
+
+static const char *_elua_evas_edje_api = "evas_edje";
+static const char *_elua_evas_edje_parent = "evas_edje_parent";
+static const struct luaL_Reg _elua_evas_edje_funcs [] =
+{
+     {"file",         _elua_edje_file}, // get or set edje file and group
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection edje_file edje_object:file(file, group)
+
+Load an edje group into this edje object.
+
+Wraps edje_object_file_set().
+
+@param file An edje file name (ignored, sandboxed to the file this lua script is in).
+@param group The group within the edje file to be loaded.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.  The file argument is optional, and ignored anyway.
+
+@return A table with these fields:
+   - string file: The name of the edje file this edje's group is loaded from.
+   - string group: The name of the group this edje is loaded from.
+
+@since 1.1.0
+*/
+static int
+_elua_edje_file(lua_State *L)                                   // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   const char *file = NULL, *group = NULL;
+   int n = lua_gettop(L);                                       // Stack usage [-0, +0, -]
+
+   if (!_elua_isa(obj, _elua_evas_edje_meta)) return 0;
+
+   n = _elua_scan_params(L, 2, "$file $group", &file, &group);
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+   if (0 >= n)
+     {
+        file = (char *) obj->ed->file->path;
+        group = (char *) lua_tostring(L, 2);                    // Stack usage [-0, +0, m]
+        n = 2;
+     }
+
+   if (1 < n)
+     {
+        // Sandbox lua - Only allow access to groups within the same file.
+        // By the simple expedient of completely ignoring what file was requested.
+        file = (char *) obj->ed->file->path;
+        if (!edje_object_file_set(elo->evas_obj, file, group))
+          {
+             Edje_Load_Error err = edje_object_load_error_get(elo->evas_obj);
+
+             switch (err)
+               {
+                  case EDJE_LOAD_ERROR_NONE :                         LE("Edje file loading errer %s %s - no error happened, but you should not see this.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_GENERIC :                      LE("Edje file loading errer %s %s - generic error.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_DOES_NOT_EXIST :               LE("Edje file loading errer %s %s - file does not exist.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_PERMISSION_DENIED :            LE("Edje file loading errer %s %s - permission denied reading the file.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED :   LE("Edje file loading errer %s %s - resource allocation failed.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_CORRUPT_FILE :                 LE("Edje file loading errer %s %s - corrupt file.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_UNKNOWN_FORMAT :               LE("Edje file loading errer %s %s - unknown file format.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE :            LE("Edje file loading errer %s %s - incompatible file.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION :           LE("Edje file loading errer %s %s - unknown group.", obj->ed->file->path, group);  break;
+                  case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE :          LE("Edje file loading errer %s %s - recursive reference in group.", obj->ed->file->path, group);  break;
+               }
+          }
+     }
+   edje_object_file_get(elo->evas_obj, &file, &group);
+   _elua_ret(L, "$file $group", file, group);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_image Evas image class.
+
+The lua evas image class includes functions for dealing with evas image objects.
+The evas image objects must have been previously created by lua using the lua
+image object creation function edje:image().
+
+In the following, "image_object" is a place holder for any lua variable that
+holds a reference to an evas image object.
+
+@since 1.1.0
+*/
+
+static int _elua_image_fill(lua_State *L);
+static int _elua_image_filled(lua_State *L);
+static int _elua_image_image(lua_State *L);
+
+static const char *_elua_evas_image_api = "evas_image";
+static const char *_elua_evas_image_parent = "evas_image_parent";
+static const struct luaL_Reg _elua_evas_image_funcs [] =
+{
+     {"fill",         _elua_image_fill},   // get or set the fill parameters
+     {"filled",       _elua_image_filled}, // get or set the filled state (overrides fill())
+     {"image",        _elua_image_image},  // get or set image
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection image_fill image_object:fill(x, y, w, h)
+
+Gets (and optionally sets) how to fill this image's drawing rectangle given the
+(real) image bound to it.
+
+Wraps evas_object_image_fill_set().
+
+@param x The x coordinate (from the top left corner of the bound image) to start drawing from.
+@param y The y coordinate (from the top left corner of the bound image) to start drawing from.
+@param w The width the bound image will be displayed at.
+@param h The height the bound image will be displayed at.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer x: The x coordinate (from the top left corner of the bound image) to start drawing from.
+   - integer y: The y coordinate (from the top left corner of the bound image) to start drawing from.
+   - integer w: The width the bound image will be displayed at.
+   - integer h: The height the bound image will be displayed at.
+
+@since 1.1.0
+*/
+static int
+_elua_image_fill(lua_State *L)                                  // Stack usage [-(8|12), +(9|13), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord x, y, w, h;
+
+   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
+
+   if (_elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        evas_object_image_fill_set(elo->evas_obj, x, y, w, h);
+     }
+   evas_object_image_fill_get(elo->evas_obj, &x, &y, &w, &h);
+   _elua_ret(L, "%x %y %w %h", x, y, w, h);
+                                                                // Stack usage [-8, +9, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection image_filled image_object:filled(filled)
+
+Get (and optionally set) whether this image fills the object.
+
+Wraps evas_object_image_filled_set().
+
+@param filled A boolean saying if this image fills the object.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean saying if this image fills the object.
+
+@since 1.1.0
+*/
+static int
+_elua_image_filled(lua_State *L)                                // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
+
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        evas_object_image_filled_set(elo->evas_obj, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+     }
+   lua_pushboolean(L, evas_object_image_filled_get(elo->evas_obj));
+                                                                // Stack usage [-0, +0, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection image_image image_object:image(file, key)
+
+Load an image into this edje object.
+
+Wraps evas_object_image_file_set().
+
+@param file An edje file name (ignored, sandboxed to the file this lua script is in).
+@param group The name of an image.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.  The file argument is optional, and ignored anyway.
+
+@return A table with these fields:
+   - string file: The name of the edje file the image is loaded from.
+   - string key: The name of the image within the edje file.
+
+@since 1.1.0
+*/
+static int
+_elua_image_image(lua_State *L)                                 // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   const char *file = NULL, *key = NULL;
+   int n, id = -1;
+
+   if (!_elua_isa(obj, _elua_evas_image_meta)) return 0;
+
+   n = _elua_scan_params(L, 2, "$file $key", &file, &key);
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+   if (0 >= n)
+     {
+        file = (char *) obj->ed->file->path;
+        key = (char *) lua_tostring(L, 2);                      // Stack usage [-0, +0, m]
+        n = 2;
+     }
+
+   if (1 < n)
+     {
+        if (obj->ed->file->image_dir)
+        {
+           Edje_Image_Directory_Entry *de;
+           unsigned int i;
+           char *name;
+
+           /* Image name */
+           if ((name = strrchr(key, '/'))) name++;
+           else name = (char *)key;
+
+           /* Loop through image directory to find if image exists */
+           for (i = 0; i < obj->ed->file->image_dir->entries_count; ++i)
+             {
+                de = obj->ed->file->image_dir->entries + i;
+
+                if (de->entry)
+                  {
+                    if (strcmp(name, de->entry) == 0)
+                      {
+                         char buf[32];
+
+                         id = i;
+                         // This is copied from _edje_image_recalc_apply()), dunno if it provides any benefit over sprintf().
+                         /* Replace snprint("edje/images/%i") == memcpy + itoa */
+#define IMAGES "edje/images/"
+                         memcpy(buf, IMAGES, strlen(IMAGES));
+                         eina_convert_itoa(id, buf + strlen(IMAGES)); /* No need to check length as 2³² need only 10 characters. */
+                         evas_object_image_file_set(elo->evas_obj, obj->ed->file->path, buf);
+                         break;
+                      }
+                  }
+             }
+        }
+
+        if (-1 == id)
+          {
+             LE("Image %s not found in our edje file.", key);
+             /* Sandbox lua - Only allow access to images within the same edje file.  I'm not so sure we need this level of sandboxing though.  So leaving it here, just in case.
+             LI("Image %s not found in our edje file, trying external image file %s.", key, file);
+             evas_object_image_file_set(elo->evas_obj, file, key);
+             */
+          }
+     }
+   evas_object_image_file_get(elo->evas_obj, &file, &key);
+   _elua_ret(L, "$file $key", file, key);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_line Evas line class.
+
+The lua evas line class includes functions for dealing with evas line objects.
+The evas line objects must have been previously created by lua using the lua
+line object creation function edje:line().
+
+In the following, "line_object" is a place holder for any lua variable that
+holds a reference to an evas line object.
+
+@since 1.1.0
+*/
+
+static int _elua_line_xy(lua_State *L);
+
+static const char *_elua_evas_line_api = "evas_line";
+static const char *_elua_evas_line_parent = "evas_line_parent";
+static const struct luaL_Reg _elua_evas_line_funcs [] =
+{
+     {"xy",         _elua_line_xy}, // get or set line coords
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection line_xy line_object:xy(x1, y1, x2, y2)
+
+Sets the end points of this line.
+
+Wraps evas_object_line_xy_set().
+
+@param x1 The X coordinate of the first line end.
+@param y1 The Y coordinate of the first line end.
+@param x2 The X coordinate of the other line end.
+@param y2 The Y coordinate of the other line end.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The arguments can be separate values, or named fields in a
+table.
+
+@return A table with these fields:
+   - integer x1: The X coordinate of the first line end.
+   - integer y1: The Y coordinate of the first line end.
+   - integer x2: The X coordinate of the other line end.
+   - integer y2: The Y coordinate of the other line end.
+
+@since 1.1.0
+*/
+static int _elua_line_xy(lua_State *L)                          // Stack usage [-(8|12), +(9|13), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord x1, y1, x2, y2;
+
+   if (!_elua_isa(obj, _elua_evas_line_meta)) return 0;
+
+   if (_elua_scan_params(L, 2, "%x1 %y1 %x2 %y2", &x1, &y1, &x2, &y2) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        evas_object_line_xy_set(elo->evas_obj, x1, y1, x2, y2);
+     }
+   evas_object_line_xy_get(elo->evas_obj, &x1, &y1, &x2, &y2);
+   _elua_ret(L, "%x1 %y1 %x2 %y2", x1, y1, x2, y2);
+                                                                // Stack usage [-8, +9, em]
+   return 1;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_object_map Evas map class.
+
+The lua evas map class includes functions for dealing with evas map objects.
+The evas map objects must have been previously created by lua using the lua
+map object creation function edje:map().  The evas map system is complex, rather
+than repeat the copious documentation here, please refer to the evas map
+documentation.  It has pictures and everything.  B-)
+
+In the following, "map_object" is a place holder for any lua variable that
+holds a reference to an evas map object.
+
+@since 1.1.0
+*/
+
+static int _elua_map_alpha(lua_State *L);
+static int _elua_map_clockwise(lua_State *L);
+static int _elua_map_colour(lua_State *L);
+static int _elua_map_coord(lua_State *L);
+static int _elua_map_lighting(lua_State *L);
+static int _elua_map_perspective(lua_State *L);
+static int _elua_map_populate(lua_State *L);
+static int _elua_map_rotate(lua_State *L);
+static int _elua_map_rotate3d(lua_State *L);
+static int _elua_map_smooth(lua_State *L);
+static int _elua_map_uv(lua_State *L);
+static int _elua_map_zoom(lua_State *L);
+
+static const char *_elua_evas_map_api = "ewas_map";
+static const struct luaL_Reg _elua_evas_map_funcs [] =
+{
+     {"alpha",         _elua_map_alpha},
+//     {"dup",           _elua_map_dup},  // not sure of proper api for this.
+     {"clockwise",     _elua_map_clockwise},
+     {"color",         _elua_map_colour},
+     {"coord",         _elua_map_coord},
+     {"lighting",      _elua_map_lighting},
+     {"perspective",   _elua_map_perspective},
+     {"populate",      _elua_map_populate},
+     {"rotate",        _elua_map_rotate},
+     {"rotate3d",      _elua_map_rotate3d},
+//     {"size",          _elua_map_size},  // not sure of proper API for this
+     {"smooth",        _elua_map_smooth},
+     {"uv",            _elua_map_uv},
+     {"zoom",          _elua_map_zoom},
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection map_alpha map_object:alpha(alpha)
+
+Get (and optionally set) the maps alpha mode.
+
+Wraps evas_map_alpha_set().
+
+@param alpha The alpha mode.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean reflecting the alpha mode.
+
+@since 1.1.0
+*/
+static int
+_elua_map_alpha(lua_State *L)                                   // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        evas_map_alpha_set(elm->map, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+     }
+   lua_pushboolean(L, evas_map_alpha_get(elm->map));            // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection map_clockwise map_object:clockwise()
+
+Get the maps clockwise state.
+
+Wraps evas_map_util_clockwise_get().
+
+@return A boolean reflecting if the map is clockwise or not.
+
+@since 1.1.0
+*/
+static int
+_elua_map_clockwise(lua_State *L)                               // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   lua_pushboolean(L, evas_map_util_clockwise_get(elm->map));   // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection map_colour map_object:colour(index, r, g, b, a)
+
+Gets or sets colour information for the map.  There are two variations, with or
+without the index.  With the index parameter it gets (and optionally sets) the
+colour of the point the index refers to, without it sets the colour for the
+entire map.
+
+Wraps evas_map_point_color_set() or evas_map_util_points_color_set()
+
+@param index Which point to change the colour of.
+@param r The new red value.
+@param g The new green value.
+@param b The new blue value.
+@param a The new alpha value.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The colour arguments can be separate values, or named
+fields in a table.
+
+@return A table with these fields:
+   - integer r: The red value.
+   - integer g: The green value.
+   - integer b: The blue value.
+   - integer a: The alpha value.
+
+@since 1.1.0
+*/
+static int
+_elua_map_colour(lua_State *L)                                  // Stack usage [-(8|12), +(9|13), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   int r, g, b, a;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+
+   switch (n)
+    {
+       case 5 :
+        {
+           if (_elua_scan_params(L, 2, "%r %g %b %a", &r, &g, &b, &a) > 0)
+             {                                                  // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+                evas_map_util_points_color_set(elm->map, r, g, b, a);
+             }
+           break;
+        }
+
+       case 1 :
+       case 6 :
+        {
+           if (_elua_scan_params(L, 3, "%r %g %b %a", &r, &g, &b, &a) > 0)
+             {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+                evas_map_point_color_set(elm->map, lua_tointeger(L, 2), r, g, b, a);
+                                                                // Stack usage [-0, +0, -]
+             }
+           evas_map_point_color_get(elm->map, lua_tointeger(L, 2), &r, &g, &b, &a);
+                                                                // Stack usage [-0, +0, -]
+           _elua_ret(L, "%r %g %b %a", r, g, b, a);
+                                                                // Stack usage [-8, +9, em]
+           return 1;
+        }
+    }
+
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_coord map_object:coord(index, x, y, z)
+
+Gets (and optionally sets) the 3D coordinates of a point on the map.
+
+Wraps evas_map_point_coord_set().
+
+@param x The x coordinate of the point.
+@param y The y coordinate of the point.
+@param z The z coordinate of the point.
+
+Note that the arguments are optional, without them this function just queries
+the current values.  The coordinate arguments can be separate values, or named
+fields in a table.
+
+@return A table with these fields:
+   - integer x: The x coordinate of the point.
+   - integer y: The y coordinate of the point.
+   - integer z: The z coordinate of the point.
+
+@since 1.1.0
+*/
+static int
+_elua_map_coord(lua_State *L)                                   // Stack usage [-(6|9), +(7|10), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   Evas_Coord x, y, z;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (2 > n) return 0;
+
+   if (_elua_scan_params(L, 2, "%x %y %z", &x, &y, &z) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+        evas_map_point_coord_set(elm->map, lua_tointeger(L, 2), x, y, z);
+                                                                // Stack usage [-0, +0, -]
+     }
+   evas_map_point_coord_get(elm->map, lua_tointeger(L, 2), &x, &y, &z);
+                                                                // Stack usage [-0, +0, -]
+   _elua_ret(L, "%x %y %z", x, y, z);
+                                                                // Stack usage [-6, +7, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection map_lighting map_object:lighting(x, y, z, r, g, b, ar, ag, ab)
+
+Set the 3D lights for the map.  The three triplets can be tables.
+
+Wraps evas_map_util_3d_lighting().
+
+@param x The x coordinate of the light point.
+@param y The y coordinate of the light point.
+@param z The z coordinate of the light point.
+@param r The new red value of the light point.
+@param g The new green value of the light point.
+@param b The new blue value of the light point.
+@param ar The new red value of the ambient light.
+@param ag The new green value of the ambient light.
+@param ab The new blue value of the ambient light.
+
+@since 1.1.0
+*/
+static int
+_elua_map_lighting(lua_State *L)                                // Stack usage [-(0|9), +(0|9), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   Evas_Coord x, y, z;
+   int r, g, b, r1, g1, b1;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   if ((n = _elua_scan_params(L, 2, "%x %y %z", &x, &y, &z)) > 0)
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+     if (n += _elua_scan_params(L, 2 + n, "%r %g %b", &r, &g, &b) > 0)
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+        if (_elua_scan_params(L, 2 + n, "%r %g %b", &r1, &g1, &b1) > 0)
+           {                                                    // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+              evas_map_util_3d_lighting(elm->map, x, y, z, r, g, b, r1, g1, b1);
+           }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_perspective map_object:perspective(x, y, z, f)
+
+Apply a perspective transform to the map.
+
+Wraps evas_map_util_3d_perspective().
+
+The arguments can be separate values, or named fields in a table.
+
+@param x The perspective distance X coordinate
+@param y The perspective distance Y coordinate
+@param z The "0" z plane value
+@param f The focal distance
+
+@since 1.1.0
+*/
+static int
+_elua_map_perspective(lua_State *L)                             // Stack usage [-(0|4), +(0|4), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   Evas_Coord x, y, z, f;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   if (_elua_scan_params(L, 2, "%x %y %z %f", &x, &y, &z, &f) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+        evas_map_util_3d_perspective(elm->map, x, y, z, f);
+     }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_populate map_object:populate(...)
+
+Populate the points in a map, in one of three different methods.
+
+1) Wraps evas_map_util_points_populate_from_object().
+
+@param source An evas object to copy points from.
+
+2) Wraps evas_map_util_paints_populate_from_object_full().
+
+@param source An evas object to copy points from.
+@param z Common Z coordinate hint for all four points.
+
+3) Wraps evas_map_util_points_populate_from_geometry().
+
+The first four arguments can be separate values, or named fields in a table.
+
+@param x Point X coordinate
+@param y Point Y coordinate
+@param w Width to use to calculate second and third points.
+@param h Height to use to calculate third and fourth points.
+@param z Common Z coordinate hint for all four points.
+
+@since 1.1.0
+*/
+static int
+_elua_map_populate(lua_State *L)                                // Stack usage [-(0|4), +(0|4), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+
+   switch (n)
+    {
+       case 2 :
+        {
+           Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);    // Stack usage [-0, +0, -]
+           const Edje_Lua_Evas_Object *source = (Edje_Lua_Evas_Object *)obj2;
+
+           if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
+           evas_map_util_points_populate_from_object(elm->map, source->evas_obj);
+           break;
+        }
+
+       case 3 :
+        {
+           Edje_Lua_Obj *obj2 = (Edje_Lua_Obj *)lua_touserdata(L, 2);    // Stack usage [-0, +0, -]
+           const Edje_Lua_Evas_Object *source = (Edje_Lua_Evas_Object *)obj2;
+           Evas_Coord z = lua_tointeger(L, 3);
+
+           if (!_elua_isa(obj2, _elua_evas_meta)) return 0;
+           evas_map_util_points_populate_from_object_full(elm->map, source->evas_obj, z);
+           break;
+        }
+
+       case 6 :
+        {
+           Evas_Coord x, y, w, h;
+
+           if ((n = _elua_scan_params(L, 2, "%x %y %w %h", &x, &y, &w, &h)) > 0)
+             {                                                          // Stack usage [-0, +0, m] unless it's in a table [-4, +4, e]
+                evas_map_util_points_populate_from_geometry(elm->map, x, y, w, h, lua_tointeger(L, 2 + n));
+             }
+           break;
+        }
+    }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_rotate map_object:rotate(degrees, x, y)
+
+Rotate the maps coordinates in 2D.
+
+Wraps evas_map_util_rotate().
+
+The coordinates can be separate values, or named fields in a table.
+
+@param degrees Amount of degrees from 0.0 to 360.0 to rotate.
+@param x Rotation's centre horizontal position.
+@param y Rotation's centre vertical position.
+
+@since 1.1.0
+*/
+static int
+_elua_map_rotate(lua_State *L)                                  // Stack usage [-(0|2), +(0|2), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   double degrees;
+   Evas_Coord x, y;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (4 != n) return 0;
+
+   degrees = lua_tonumber(L, 2);
+   if (_elua_scan_params(L, 3, "%x %y", &x, &y) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        evas_map_util_rotate(elm->map, degrees, x, y);
+     }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_rotate3d map_object:rotate3d(dx, dy, dz, x, y, z)
+
+Rotate the maps coordinates in 3D.
+
+Wraps evas_map_util_3d_rotate().
+
+The coordinates can be separate values, or named fields in a table.  The same
+with the rotation.
+
+@param dx Amount of degrees from 0.0 to 360.0 to rotate around X axis.
+@param dy Amount of degrees from 0.0 to 360.0 to rotate around Y axis.
+@param dz Amount of degrees from 0.0 to 360.0 to rotate around Z axis.
+@param x Rotation's centre horizontal position.
+@param y Rotation's centre vertical position.
+@param z Rotation's centre vertical position.
+
+@since 1.1.0
+*/
+static int
+_elua_map_rotate3d(lua_State *L)                                // Stack usage [-(0|6), +(0|6), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   double zx, zy, zz;
+   Evas_Coord x, y, z;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   if ((n = _elua_scan_params(L, 2, "#x #y #z", &zx, &zy, &zz)) > 0)
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+      if (_elua_scan_params(L, 2 + n, "%x %y %z", &x, &y, &z) > 0)
+        {                                                       // Stack usage [-0, +0, m] unless it's in a table [-3, +3, e]
+           evas_map_util_3d_rotate(elm->map, zx, zy, zz, x, y, z);
+        }
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection map_smooth map_object:smooth(smooth)
+
+Get (and optionally set) the maps smooth mode.
+
+Wraps evas_map_smooth_set().
+
+@param smooth The smooth mode.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A boolean reflecting the smooth mode.
+
+@since 1.1.0
+*/
+static int
+_elua_map_smooth(lua_State *L)                                  // Stack usage [-0, +1, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        evas_map_smooth_set(elm->map, lua_toboolean(L, 2));
+                                                                // Stack usage [-0, +0, -]
+     }
+   lua_pushboolean(L, evas_map_smooth_get(elm->map));           // Stack usage [-0, +1, -]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection map_uv map_object:uv(index, u, v)
+
+Gets (and optionally sets) the texture U and V texture coordinates for this map.
+
+Wraps evas_map_point_image_uv_set().
+
+@param index Index of the point to change. Must be smaller than map size.
+@param u The X coordinate within the image/texture source.
+@param v The Y coordinate within the image/texture source.
+
+Note that the U,V arguments are optional, without them this function just queries
+the current values.  The coordinate arguments can be separate values, or named
+fields in a table.
+
+@return A table with these fields:
+  - number u: The X coordinate within the image/texture source.
+  - number v: The Y coordinate within the image/texture source.
+
+@since 1.1.0
+*/
+static int
+_elua_map_uv(lua_State *L)                                      // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   double u, v;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (2 > n) return 0;
+
+   if (_elua_scan_params(L, 3, "#u #v", &u, &v) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        evas_map_point_image_uv_set(elm->map, lua_tonumber(L, 2), u, v);
+                                                                // Stack usage [-0, +0, -]
+     }
+   evas_map_point_image_uv_get(elm->map, lua_tonumber(L, 2), &u, &v);
+                                                                // Stack usage [-0, +0, -]
+   _elua_ret(L, "#u #v", u, v);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection map_zoom map_object:zoom(x, y, x, y)
+
+Apply a zoom to the map.
+
+Wraps evas_map_util_zoom().
+
+The arguments can be two separate values, or named fields in a table.
+
+@param x The horizontal zoom amount.
+@param y The vertical zoom amount.
+@param x The X coordinate of the centre of the zoom.
+@param y The Y coordinate of the centre of the zoom.
+
+@since 1.1.0
+*/
+static int
+_elua_map_zoom(lua_State *L)                                    // Stack usage [-(0|4), +(0|4), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Map *elm = (Edje_Lua_Map *)obj;
+   double zx, zy;
+   Evas_Coord x, y;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_map_meta)) return 0;
+
+   if ((n = _elua_scan_params(L, 2, "#x #y", &zx, &zy)) > 0)
+                                                                // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+      if (_elua_scan_params(L, 2 + n, "%x %y", &x, &y) > 0)
+        {                                                       // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+           evas_map_util_zoom(elm->map, zx, zy, x, y);
+        }
+   return 0;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_polygon Evas polygon class.
+
+The lua evas polygon class includes functions for dealing with evas polygon objects.
+The evas polygon objects must have been previously created by lua using the lua
+polygon object creation function edje:polygon().
+
+In the following, "polygon_object" is a place holder for any lua variable that
+holds a reference to an evas polygon object.
+
+@since 1.1.0
+*/
+
+static int _elua_polygon_clear(lua_State *L);
+static int _elua_polygon_point(lua_State *L);
+
+static const char *_elua_evas_polygon_api = "evas_polygon";
+static const char *_elua_evas_polygon_parent = "evas_polygon_parent";
+static const struct luaL_Reg _elua_evas_polygon_funcs [] =
+{
+     {"clear",         _elua_polygon_clear}, // clear all polygon points
+     {"point",         _elua_polygon_point}, // add a polygon point
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection polygon_clear polygon_object:clear()
+
+Clears all points from the polygon.
+
+Wraps evas_object_polygon_points_clear(),
+
+@since 1.1.0
+*/
+static int
+_elua_polygon_clear(lua_State *L)                               // Stack usage [-0, +0, -]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+
+   if (!_elua_isa(obj, _elua_evas_polygon_meta)) return 0;
+   evas_object_polygon_points_clear(elo->evas_obj);
+   return 0;
+}
+
+/**
+@page luaref
+@subsubsection polygon_point polygon_object:point(x, y)
+
+Adds a point to this polygon.
+
+Wraps evas_object_polygon_point_add().
+
+@param x The X coordinate of the point.
+@param y The Y coordinate of the point.
+
+@since 1.1.0
+*/
+static int
+_elua_polygon_point(lua_State *L)                               // Stack usage [-(0|2), +(0|2), e]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   Evas_Coord x, y;
+
+   if (!_elua_isa(obj, _elua_evas_polygon_meta)) return 0;
+
+   if (_elua_scan_params(L, 2, "%x %y", &x, &y) > 0)
+     {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+        evas_object_polygon_point_add(elo->evas_obj, x, y);
+     }
+
+   return 0;
+}
+
+//-------------
+//-------------
+/**
+@page luaref
+@subsection evas_text Evas text class.
+
+The lua evas text class includes functions for dealing with evas text objects.
+The evas text objects must have been previously created by lua using the lua
+text object creation function edje:text().
+
+In the following, "text_object" is a place holder for any lua variable that
+holds a reference to an evas text object.
+
+@since 1.1.0
+*/
+
+static int _elua_text_font(lua_State *L);
+static int _elua_text_text(lua_State *L);
+
+static const char *_elua_evas_text_api = "evas_text";
+static const char *_elua_evas_text_parent = "evas_text_parent";
+static const struct luaL_Reg _elua_evas_text_funcs [] =
+{
+     {"font",         _elua_text_font}, // get or set text font
+     {"text",         _elua_text_text}, // get or set text
+//     {"text_class", _elua_object_text_class}, // get or set object text class
+
+     {NULL, NULL} // end
+};
+
+/**
+@page luaref
+@subsubsection text_font text_object:font(font, size)
+
+Gets, (and optionally sets) the font for this text object.
+
+Wraps evas_object_text_font_set().
+
+@param font The new font name.
+@param size The new font size.
+
+Note that the font and size arguments are optional, without them this function
+just queries the current values.  The font and size arguments can be separate
+values, or named fields in a table.  The font name can refer to a font in the
+edje file, or an external font.
+
+@return A table with these fields:
+   - string font: The font name.
+   - integer size: The font size.
+
+@since 1.1.0
+*/
+static int
+_elua_text_font(lua_State *L)                                   // Stack usage [-(4|6), +(5|7), em]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   char *font, *font2 = NULL;
+   Evas_Font_Size   size;
+   int     inlined_font = 0;
+
+   if (!_elua_isa(obj, _elua_evas_text_meta)) return 0;
+
+   if (_elua_scan_params(L, 2, "$font %size", &font, &size) > 0)
+    {                                                          // Stack usage [-0, +0, m] unless it's in a table [-2, +2, e]
+       /* Check if the font is embedded in the .edj
+        * This is a simple check.
+        * There is a much more complicated version in edje_text.c _edje_text_recalc_apply().
+        * If we need to get more complicated, we can do that later,
+        * and maybe refactor things.
+        */
+       if (obj->ed->file->fonts)
+        {
+          Edje_Font_Directory_Entry *fnt = eina_hash_find(obj->ed->file->fonts, font);
+
+          if (fnt)
+           {
+              size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
+              font2 = alloca(len);
+              sprintf(font2, "edje/fonts/%s", font);
+              font = font2;
+              inlined_font = 1;
+              font2 = NULL;
+           }
+        }
+
+       if (inlined_font) evas_object_text_font_source_set(elo->evas_obj, obj->ed->path);
+       else evas_object_text_font_source_set(elo->evas_obj, NULL);
+
+       evas_object_text_font_set(elo->evas_obj, font, size);
+    }
+
+   // When one external API says it's gotta be const, and another one says not, then one of them's gotta be cast.  :-P
+   evas_object_text_font_get(elo->evas_obj, (const char **) &font, &size);
+   _elua_ret(L, "$font %size", font, size);
+                                                                // Stack usage [-4, +5, em]
+   return 1;
+}
+
+/**
+@page luaref
+@subsubsection text_text text_object:text(text)
+
+Get (and optionally set) the actual text for this text object.
+
+Wraps evas_object_text_text_set().
+
+@param text The text to set for this text object.
+
+Note that the argument is optional, without it this function just queries the
+current value.
+
+@return A string of the text on this text object.
+
+@since 1.1.0
+*/
+static int
+_elua_text_text(lua_State *L)                                   // Stack usage [-0, +1, m]
+{
+   Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);    // Stack usage [-0, +0, -]
+   Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
+   int n;
+
+   if (!_elua_isa(obj, _elua_evas_text_meta)) return 0;
+   n = lua_gettop(L);                                           // Stack usage [-0, +0, -]
+   if (n == 2)
+     {
+        if (lua_isstring(L, 2))
+          {
+             const char *str;
+
+             if ((str = lua_tostring(L, 2)))  // Extra parenthesis, coz Mikes compiler has a lisp.
+                                                                // Stack usage [-0, +0, m]
+                evas_object_text_text_set(elo->evas_obj, str);
+          }
+     }
+   lua_pushstring(L, evas_object_text_text_get(elo->evas_obj)); // Stack usage [-0, +1, m]
+   return 1;
+}
+
+
+//--------------------------------------------------------------------------//
+
+// A metatable and functions so that calling non existant API does not crash Lua scripts.
+
+static int _elua_bogan_nilfunc(lua_State *L);
+static int _elua_bogan_index(lua_State *L);
+
+static const struct luaL_Reg _elua_bogan_funcs [] =
+{
+     {"nilfunc",         _elua_bogan_nilfunc}, // Just return a nil.
+     {"__index",         _elua_bogan_index},   // Return the above func.
+
+     {NULL, NULL} // end
+};
+
+static int
+_elua_bogan_nilfunc(lua_State *L)
+{
+   lua_getglobal(L, "nil");
+   return 1;
+}
+
+static int
+_elua_bogan_index(lua_State *L)
+{
+   const char *key;
+
+   key = lua_tostring(L, 2);
+   LE("%s does not exist!", key);
+   lua_pushcfunction(L, _elua_bogan_nilfunc);
+   return 1;
+}
+
+static void
+_elua_bogan_protect(lua_State *L)                    // Stack usage [-3, +3, m]
+{
+   lua_pushnil(L);                                   // Stack usage [-0, +1, -]
+   luaL_newmetatable(L, "bogan");                    // Stack usage [-0, +1, m]
+#if LUA_VERSION_NUM >= 502
+   luaL_setfuncs(L, _elua_bogan_funcs, 0);           // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, 0, _elua_bogan_funcs);           // Stack usage [-1, +1, m]
+#endif
+   lua_setmetatable(L, -2);                          // Stack usage [-1, +0, -]
+   lua_pop(L, 1);                                    // Stack usage [-1, +0, -]
+}
+
+//--------------------------------------------------------------------------//
+
+// TODO - All the register / setfuncs and rlelated stuff around here should be reviewed.  Works fine for 5.1, probably works fine for 5.2, but maybe there's a better way?  It may also need to change if we start using LuaJIT.
+
+// Brain dead inheritance thingy, built for speed.  Kinda.  Part 1.
+static void
+_elua_add_functions(lua_State *L, const char *api, const luaL_Reg *funcs, const char *meta, const char *parent, const char *base)  // Stack usage [-3, +5, m]  if inheriting [-6, +11, em]
+{
+   // Create an api table, fill it full of the methods.
+#if LUA_VERSION_NUM >= 502
+   lua_newtable(L);                           // Stack usage [-0, +1, e]
+   lua_pushvalue(L, -1);                      // Stack usage [-0, +1, -]
+   lua_setglobal(L, api);                     // Stack usage [-1, +0, e]
+   luaL_setfuncs(L, funcs, 0);                // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, api, funcs);              // Stack usage [-0, +1, m]
+#endif
+   // Set the api metatable to the bogan metatable.
+   luaL_getmetatable(L, "bogan");             // Stack usage [-0, +1, -]
+   lua_setmetatable(L, -2);                   // Stack usage [-1, +0, -]
+   // Creat a meta metatable.
+   luaL_newmetatable(L, meta);                // Stack usage [-0, +1, m]
+   // Put the gc functions in the metatable.
+#if LUA_VERSION_NUM >= 502
+   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);  // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, 0, _elua_edje_gc_funcs);  // Stack usage [-1, +1, m]
+#endif
+   // Create an __index entry in the metatable, make it point to the api table.
+   lua_pushliteral(L, "__index");             // Stack usage [-0, +1, m]
+   lua_pushvalue(L, -3);                      // Stack usage [-0, +1, -]
+   lua_rawset(L, -3);                         // Stack usage [-2, +0, m]
+   // Later this metatable is used as the metatable for newly created objects of this class.
+
+   if (base && parent)
+     {
+        // Inherit from base
+        lua_getglobal(L, base);               // Stack usage [-0, +1, e]
+        // Create a new parent metatable.
+        luaL_newmetatable(L, parent);         // Stack usage [-0, +1, m]
+        // Create an __index entry in the metatable, make it point to the base table.
+        lua_pushliteral(L, "__index");        // Stack usage [-0, +1, m]
+        lua_pushvalue(L, -3);                 // Stack usage [-0, +1, -]
+        lua_rawset(L, -3);                    // Stack usage [-2, +0, m]
+        // Set the metatable for the api table to the parent metatable.
+        lua_getglobal(L, api);                // Stack usage [-0, +1, e]
+        luaL_getmetatable(L, parent);         // Stack usage [-0, +1, -]
+        lua_setmetatable(L, -2);              // Stack usage [-1, +0, -]
+     }
+}
+
+// Brain dead inheritance thingy, built for speed.  Kinda.  Part 2.
+static Eina_Bool
+_elua_isa(Edje_Lua_Obj *obj, const char *type)
+{
+   Eina_Bool isa = EINA_FALSE;
+
+   if (!obj) return isa;
+   if (obj->meta == type)
+      isa = EINA_TRUE;
+   if (_elua_evas_meta == type)
+     {
+        if (obj->meta == _elua_evas_image_meta)
+           isa = EINA_TRUE;
+        else if (obj->meta == _elua_evas_text_meta)
+           isa = EINA_TRUE;
+        else if (obj->meta == _elua_evas_edje_meta)
+           isa = EINA_TRUE;
+        else if (obj->meta == _elua_evas_line_meta)
+           isa = EINA_TRUE;
+        else if (obj->meta == _elua_evas_polygon_meta)
+           isa = EINA_TRUE;
+     }
+   return isa;
+}
+
+#ifndef RASTER_FORGOT_WHY
+static void
+_elua_init(void)                                                                           // Stack usage [-16, +20, em]
+{
+   static Edje_Lua_Alloc ela = { MAX_LUA_MEM, 0 };
+   const luaL_Reg *l;
+   lua_State *L;
+
+   if (lstate) return;
+
+   lstate = L = lua_newstate(_elua_alloc, &ela);                                           // Stack usage [-0, +0, -]
+   lua_atpanic(L, _elua_custom_panic);                                                     // Stack usage [-0, +0, -]
+
+// FIXME: figure out optimal gc settings later
+//   lua_gc(L, LUA_GCSETPAUSE, 200);                                                       // Stack usage [-0, +0, e]
+//   lua_gc(L, LUA_GCSETSTEPMUL, 200);                                                     // Stack usage [-0, +0, e]
+
+   for (l = _elua_libs; l->func; l++)                                                      // Currently * 4
+     {
+#if LUA_VERSION_NUM >= 502
+        luaL_requiref(L, l->name, l->func, 1);                                             // Stack usage [-0, +1, e]
+#else
+        lua_pushcfunction(L, l->func);                                                     // Stack usage [-0, +1, m]
+        lua_pushstring(L, l->name);                                                        // Stack usage [-0, +1, m]
+        lua_call(L, 1, 0);                                                                 // Stack usage [-2, +0, e]
+#endif
+     }
+
+#if LUA_VERSION_NUM >= 502
+   lua_newtable(L);                                                                        // Stack usage [-0, +1, e]
+   lua_pushvalue(L, -1);                                                                   // Stack usage [-0, +1, -]
+   lua_setglobal(L, _elua_edje_api);                                                       // Stack usage [-1, +0, e]
+   luaL_setfuncs(L, _elua_edje_funcs, 0);                                                  // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, _elua_edje_api, _elua_edje_funcs);                                     // Stack usage [-0, +1, m]
+#endif
+   luaL_newmetatable(L, _elua_edje_meta);                                                  // Stack usage [-0, +1, m]
+#if LUA_VERSION_NUM >= 502
+   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);                                               // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, 0, _elua_edje_gc_funcs);                                               // Stack usage [-1, +1, m]
+#endif
+
+   _elua_add_functions(L, _elua_evas_api, _elua_evas_funcs, _elua_evas_meta, NULL, NULL);  // Stack usage [-3, +5, m]
+
+   // weak table for our objects
+   lua_pushlightuserdata(L, &_elua_objs);                                                  // Stack usage [-0, +1, -]
+   lua_newtable(L);                                                                        // Stack usage [-0, +1, m]
+   lua_pushstring(L, "__mode");                                                            // Stack usage [-0, +1, m]
+   lua_pushstring(L, "v");                                                                 // Stack usage [-0, +1, m]
+   lua_rawset(L, -3);                                                                      // Stack usage [-2, +0, m]
+   lua_rawset(L, LUA_REGISTRYINDEX);                                                       // Stack usage [-2, +0, m]
+}
+#endif
+
+void
+_edje_lua2_script_init(Edje *ed)                                  // Stack usage [-63, +99, em]
+{
+   static Edje_Lua_Alloc ela = { MAX_LUA_MEM, 0 };
+   const luaL_Reg *l;
+   char buf[256];
+   void *data;
+   int size;
+   lua_State *L;
+
+   if (ed->L) return;
+   if (0 > _log_domain)
+        _log_domain = eina_log_domain_register("lua", NULL);
+   if (0 <= _log_domain)
+     {
+        _log_count++;
+        eina_log_domain_level_set("lua", EINA_LOG_LEVEL_WARN);
+     }
+
+#ifndef RASTER_FORGOT_WHY
+   _elua_init();                                                  // This is actually truly pointless, even if raster remembers.
+#endif
+   L = ed->L = lua_newstate(_elua_alloc, &ela);                   // Stack usage [-0, +0, -]
+   lua_atpanic(L, _elua_custom_panic);                            // Stack usage [-0, +0, -]
+
+// FIXME: figure out optimal gc settings later
+//   lua_gc(L, LUA_GCSETPAUSE, 200);                              // Stack usage [-0, +0, e]
+//   lua_gc(L, LUA_GCSETSTEPMUL, 200);                            // Stack usage [-0, +0, e]
+
+   for (l = _elua_libs; l->func; l++)                             // Currently * 4
+     {
+#if LUA_VERSION_NUM >= 502
+        luaL_requiref(L, l->name, l->func, 1);                    // Stack usage [-0, +1, e]
+#else
+        lua_pushcfunction(L, l->func);                            // Stack usage [-0, +1, m]
+        lua_pushstring(L, l->name);                               // Stack usage [-0, +1, m]
+        lua_call(L, 1, 0);                                        // Stack usage [-2, +0, m]
+#endif
+     }
+
+   _elua_bogan_protect(L);                                        // Stack usage [+3, -3, m]
+
+#if LUA_VERSION_NUM >= 502
+   lua_newtable(L);                                               // Stack usage [-0, +1, e]
+   lua_pushvalue(L, -1);                                          // Stack usage [-0, +1, -]
+   lua_setglobal(L, _elua_edje_api);                              // Stack usage [-1, +0, e]
+   luaL_setfuncs(L, _elua_edje_funcs, 0);                         // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, _elua_edje_api, _elua_edje_funcs);            // Stack usage [-0, +1, m]
+#endif
+   luaL_getmetatable(L, "bogan");                                 // Stack usage [-0, +1, -]
+   lua_setmetatable(L, -2);                                       // Stack usage [-1, +0, -]
+   luaL_newmetatable(L, _elua_edje_meta);                         // Stack usage [-0, +1, m]
+#if LUA_VERSION_NUM >= 502
+   luaL_setfuncs(L, _elua_edje_gc_funcs, 0);                      // Stack usage [-0, +0, e]
+#else
+   luaL_register(L, 0, _elua_edje_gc_funcs);                      // Stack usage [-1, +1, m]
+#endif
+
+   lua_pop(L, 2);                                                 // Stack usage [-n, +0, -]
+
+   _elua_add_functions(L, _elua_evas_api, _elua_evas_funcs, _elua_evas_meta, NULL, NULL);
+                                                                  // Stack usage [-3, +5, m]
+   _elua_add_functions(L, _elua_ecore_timer_api, _elua_ecore_timer_funcs, _elua_ecore_timer_meta, NULL, NULL);
+                                                                  // Stack usage [-3, +5, m]
+   _elua_add_functions(L, _elua_ecore_animator_api, _elua_ecore_animator_funcs, _elua_ecore_animator_meta, NULL, NULL);
+                                                                  // Stack usage [-6, +11, m]
+   _elua_add_functions(L, _elua_evas_edje_api, _elua_evas_edje_funcs, _elua_evas_edje_meta, _elua_evas_edje_parent, _elua_evas_api);
+                                                                  // Stack usage [-6, +11, em]
+   _elua_add_functions(L, _elua_evas_image_api, _elua_evas_image_funcs, _elua_evas_image_meta, _elua_evas_image_parent, _elua_evas_api);
+                                                                  // Stack usage [-6, +11, em]
+   _elua_add_functions(L, _elua_evas_line_api, _elua_evas_line_funcs, _elua_evas_line_meta, _elua_evas_line_parent, _elua_evas_api);
+                                                                  // Stack usage [-6, +11, em]
+   _elua_add_functions(L, _elua_evas_map_api, _elua_evas_map_funcs, _elua_evas_map_meta, NULL, NULL);
+                                                                  // Stack usage [-3, +5, m]
+   _elua_add_functions(L, _elua_evas_polygon_api, _elua_evas_polygon_funcs, _elua_evas_polygon_meta, _elua_evas_polygon_parent, _elua_evas_api);
+                                                                  // Stack usage [-6, +11, em]
+   _elua_add_functions(L, _elua_evas_text_api, _elua_evas_text_funcs, _elua_evas_text_meta, _elua_evas_text_parent, _elua_evas_api);
+                                                                  // Stack usage [-6, +11, em]
+
+   // weak table for our objects
+   lua_pushlightuserdata(L, &_elua_objs);                         // Stack usage [-0, +1, -]
+   lua_newtable(L);                                               // Stack usage [-0, +1, m]
+   lua_pushstring(L, "__mode");                                   // Stack usage [-0, +1, m]
+   lua_pushstring(L, "v");                                        // Stack usage [-0, +1, m]
+   lua_rawset(L, -3);                                             // Stack usage [-2, +0, m]
+   lua_rawset(L, LUA_REGISTRYINDEX);                              // Stack usage [-2, +0, m]
+
+   _elua_table_ptr_set(L, _elua_key, ed);                         // Stack usage [-2, +2, e]
+
+   snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", ed->collection->id);
+   data = eet_read(ed->file->ef, buf, &size);
+
+   if (data)
+     {
+        int err;
+
+        /* This ends up pushing a function onto the stack for the lua_pcall() below to use.
+         * The function is the compiled code. */
+        err = luaL_loadbuffer(L, data, size, "edje_lua_script");  // Stack usage [-0, +1, m]
+        if (err)
+          {
+             if (err == LUA_ERRSYNTAX)
+               ERR("Lua load syntax error: %s",
+                   lua_tostring(L, -1));                          // Stack usage [-0, +0, m]
+             else if (err == LUA_ERRMEM)
+               ERR("Lua load memory allocation error: %s",
+                   lua_tostring(L, -1));                          // Stack usage [-0, +0, m]
+          }
+        free(data);
+        /* This is not needed, pcalls don't longjmp(), that's why they are protected.
+        if (setjmp(panic_jmp) == 1)
+          {
+             ERR("Lua script init panic");
+             return;
+          }
+        */
+        if ((err = lua_pcall(L, 0, 0, 0)))                        // Stack usage [-1, +0, -]
+          _edje_lua2_error(L, err);                               // Stack usage [-0, +0, m]
+     }
+}
+
+void
+_edje_lua2_script_shutdown(Edje *ed)
+{
+   if (!ed->L) return;
+   lua_close(ed->L);  // Stack usage irrelevant, as it's all gone now.
+   ed->L = NULL;
+   while (ed->lua_objs)
+     {
+        Edje_Lua_Obj *obj = (Edje_Lua_Obj *)ed->lua_objs;
+        if (obj->free_func)
+          {
+             ERR("uncollected Lua object %p", obj);
+             ed->lua_objs = eina_inlist_remove(ed->lua_objs, ed->lua_objs);
+          }
+        else
+          {
+             ERR("dangling Lua object %p", obj);
+             ed->lua_objs = eina_inlist_remove(ed->lua_objs, ed->lua_objs);
+          }
+     }
+
+   if (0 <= _log_domain)
+     {
+        _log_count--;
+        if (0 >= _log_count)
+          {
+             eina_log_domain_unregister(_log_domain);
+             _log_domain = -1;
+          }
+     }
+}
+
+void
+_edje_lua2_script_load(Edje_Part_Collection *edc EINA_UNUSED, void *data EINA_UNUSED, int size EINA_UNUSED)  // Stack usage [-16, +20, em]
+{
+#ifndef RASTER_FORGOT_WHY
+   _elua_init();  // Stack usage [-16, +20, em]
+#endif
+}
+
+void
+_edje_lua2_script_unload(Edje_Part_Collection *edc EINA_UNUSED)  // Stack usage [-0, +0, e]
+{
+#ifndef RASTER_FORGOT_WHY
+   lua_State *L;
+
+   if (!lstate) return;
+   L = lstate;
+   lua_gc(L, LUA_GCCOLLECT, 0);  // Stack usage [-0, +0, e]
+#endif
+}
+
+void
+_edje_lua2_error_full(const char *file, const char *fnc, int line,
+                      lua_State *L, int err_code)            // Stack usage [-0, +0, m]
+{
+   const char *err_type;
+
+   switch (err_code)
+     {
+     case LUA_ERRRUN:
+        err_type = "runtime";
+        break;
+     case LUA_ERRSYNTAX:
+        err_type = "syntax";
+        break;
+     case LUA_ERRMEM:
+        err_type = "memory allocation";
+        break;
+     case LUA_ERRERR:
+        err_type = "error handler";
+        break;
+     default:
+        err_type = "unknown";
+        break;
+     }
+   eina_log_print
+     (_edje_default_log_dom, EINA_LOG_LEVEL_ERR,  file, fnc, line,
+      "Lua %s error: %s", err_type, lua_tostring(L, -1));  // Stack usage [-0, +0, m]
+}
+
+/**
+@page luaref
+@section callbacks Lua callbacks
+
+These are lua functions that are called by the lua edje system when certain
+events occur.  If the functions don't exist in the lua group, they don't get
+called.
+
+ */
+
+/**
+@page luaref
+@subsection edje_shutdown Edje shutdown() callback.
+
+If a function called "shutdown" exists in a lua edje group, then it is called when
+that edje gets deleted.
+*/
+void
+_edje_lua2_script_func_shutdown(Edje *ed)       // Stack usage [-1, +1, em]
+{
+   int err;
+
+   lua_getglobal(ed->L, "shutdown");            // Stack usage [-0, +1, e]
+   if (!lua_isnil(ed->L, -1))                   // Stack usage [-0, +0, -]
+     {
+        if ((err = lua_pcall(ed->L, 0, 0, 0)))  // Stack usage [-1, +0, -]
+          _edje_lua2_error(ed->L, err);         // Stack usage [-0, +0, m]
+     }
+   else
+     lua_pop(ed->L, 1);                         // Stack usage [-n, +0, -]
+   _edje_lua2_script_shutdown(ed);
+}
+
+/**
+@page luaref
+@subsection edje_show Edje show() callback.
+
+If a function called "show" exists in a lua edje group, then it is called when
+that edje gets shown.
+*/
+void
+_edje_lua2_script_func_show(Edje *ed)  // Stack usage [-1, +1, e]
+{
+   int err;
+
+   lua_getglobal(ed->L, "show");
+   if (!lua_isnil(ed->L, -1))
+     {
+        if ((err = lua_pcall(ed->L, 0, 0, 0)))
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);
+}
+
+/**
+@page luaref
+@subsection edje_hide Edje hide() callback.
+
+If a function called "hide" exists in a lua edje group, then it is called when
+that edje gets hidden.
+*/
+void
+_edje_lua2_script_func_hide(Edje *ed)  // Stack usage [-1, +1, e]
+{
+   int err;
+
+   lua_getglobal(ed->L, "hide");
+   if (!lua_isnil(ed->L, -1))
+     {
+        if ((err = lua_pcall(ed->L, 0, 0, 0)))
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);
+}
+
+/**
+@page luaref
+@subsection edje_move Edje move(x, y) callback.
+
+If a function called "move" exists in a lua edje group, then it is called when
+that edje gets moved, with the new position passed to it.
+*/
+void
+_edje_lua2_script_func_move(Edje *ed)  // Stack usage [-3, +3, e] or [-1, +1, e] if no matching function.
+{
+   int err;
+
+   // FIXME: move all objects created by script
+   lua_getglobal(ed->L, "move");                // Stack usage [-0, +1, e]
+   if (!lua_isnil(ed->L, -1))                   // Stack usage [-0, +0, -]
+     {
+        lua_pushinteger(ed->L, ed->x);          // Stack usage [-0, +1, -]
+        lua_pushinteger(ed->L, ed->y);          // Stack usage [-0, +1, -]
+        if ((err = lua_pcall(ed->L, 2, 0, 0)))  // Stack usage [-3, +0, -]
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);                         // Stack usage [-n, +0, -]
+}
+
+/**
+@page luaref
+@subsection edje_resize Edje resize(w, h) callback.
+
+If a function called "resize" exists in a lua edje group, then it is called when
+that edje gets resized, with the new size passed to it.
+*/
+void
+_edje_lua2_script_func_resize(Edje *ed)  // Stack usage [-3, +3, e] or [-1, +1, e] if no matching function.
+{
+   int err;
+
+   lua_getglobal(ed->L, "resize");
+   if (!lua_isnil(ed->L, -1))
+     {
+        lua_pushinteger(ed->L, ed->w);
+        lua_pushinteger(ed->L, ed->h);
+        if ((err = lua_pcall(ed->L, 2, 0, 0)))
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);
+}
+
+/**
+@page luaref
+@subsection edje_message Edje message(id, type, ...) callback.
+
+If a function called "message" exists in a lua edje group, then it is called when
+that edje gets gets a message sent to it, with the message details passed to it.
+See edje:messagesend() for details of what each type means.  The arrays are
+passed as a table.
+*/
+void
+_edje_lua2_script_func_message(Edje *ed, Edje_Message *em)  // Stack usage [-?, +?, em]  It's complicated, but it's even at least.
+{
+   int err, n, c, i;
+
+   lua_getglobal(ed->L, "message");                         // Stack usage [-0, +1, e]
+   if (!lua_isnil(ed->L, -1))                               // Stack usage [-0, +0, -]
+     {
+        n = 2;
+        lua_pushinteger(ed->L, em->id);                     // Stack usage [-0, +1, -]
+        switch (em->type)
+          {
+          case EDJE_MESSAGE_NONE:
+             lua_pushstring(ed->L, "none");                 // Stack usage [-0, +1, m]
+             break;
+          case EDJE_MESSAGE_SIGNAL:
+             break;
+          case EDJE_MESSAGE_STRING:
+             lua_pushstring(ed->L, "str");                  // Stack usage [-0, +1, m]
+             lua_pushstring(ed->L, ((Edje_Message_String *)em->msg)->str);
+                                                            // Stack usage [-0, +1, m]
+             n += 1;
+            break;
+          case EDJE_MESSAGE_INT:
+             lua_pushstring(ed->L, "int");                  // Stack usage [-0, +1, m]
+             lua_pushinteger(ed->L, ((Edje_Message_Int *)em->msg)->val);
+                                                            // Stack usage [-0, +1, -]
+             n += 1;
+             break;
+          case EDJE_MESSAGE_FLOAT:
+             lua_pushstring(ed->L, "float");                // Stack usage [-0, +1, m]
+             lua_pushnumber(ed->L, ((Edje_Message_Float *)em->msg)->val);
+                                                            // Stack usage [-0, +1, -]
+             n += 1;
+             break;
+          case EDJE_MESSAGE_STRING_SET:
+             lua_pushstring(ed->L, "strset");               // Stack usage [-0, +1, m]
+             c = ((Edje_Message_String_Set *)em->msg)->count;
+             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
+             for (i = 0; i < c; i++)
+               {
+                  lua_pushstring(ed->L, ((Edje_Message_String_Set *)em->msg)->str[i]);
+                                                            // Stack usage [-0, +1, m]
+                  // It's OK to bypass the metatable in these cases,
+                  // we create the table, and know there is no metatable.  B-)
+                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
+               }
+             n += 1;
+             break;
+          case EDJE_MESSAGE_INT_SET:
+             lua_pushstring(ed->L, "intset");               // Stack usage [-0, +1, m]
+             c = ((Edje_Message_Int_Set *)em->msg)->count;
+             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
+             for (i = 0; i < c; i++)
+               {
+                  lua_pushinteger(ed->L, ((Edje_Message_Int_Set *)em->msg)->val[i]);
+                                                            // Stack usage [-0, +1, -]
+                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
+               }
+             n += 1;
+             break;
+          case EDJE_MESSAGE_FLOAT_SET:
+             lua_pushstring(ed->L, "floatset");             // Stack usage [-0, +1, m]
+             c = ((Edje_Message_Float_Set *)em->msg)->count;
+             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
+             for (i = 0; i < c; i++)
+               {
+                  lua_pushnumber(ed->L, ((Edje_Message_Float_Set *)em->msg)->val[i]);
+                                                            // Stack usage [-0, +1, -]
+                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
+               }
+             n += 1;
+             break;
+          case EDJE_MESSAGE_STRING_INT:
+             lua_pushstring(ed->L, "strint");               // Stack usage [-0, +1, m]
+             lua_pushstring(ed->L, ((Edje_Message_String_Int *)em->msg)->str);
+                                                            // Stack usage [-0, +1, m]
+             lua_pushinteger(ed->L, ((Edje_Message_String_Int *)em->msg)->val);
+                                                            // Stack usage [-0, +1, -]
+             n += 2;
+             break;
+          case EDJE_MESSAGE_STRING_FLOAT:
+             lua_pushstring(ed->L, "strfloat");             // Stack usage [-0, +1, m]
+             lua_pushstring(ed->L, ((Edje_Message_String_Float *)em->msg)->str);
+                                                            // Stack usage [-0, +1, m]
+             lua_pushnumber(ed->L, ((Edje_Message_String_Float *)em->msg)->val);
+                                                            // Stack usage [-0, +1, -]
+             n += 2;
+             break;
+          case EDJE_MESSAGE_STRING_INT_SET:
+             lua_pushstring(ed->L, "strintset");            // Stack usage [-0, +1, m]
+             lua_pushstring(ed->L, ((Edje_Message_String_Int_Set *)em->msg)->str);
+                                                            // Stack usage [-0, +1, m]
+             c = ((Edje_Message_String_Int_Set *)em->msg)->count;
+             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
+             for (i = 0; i < c; i++)
+               {
+                  lua_pushinteger(ed->L, ((Edje_Message_String_Int_Set *)em->msg)->val[i]);
+                                                            // Stack usage [-0, +1, -]
+                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
+               }
+             n += 2;
+             break;
+          case EDJE_MESSAGE_STRING_FLOAT_SET:
+             lua_pushstring(ed->L, "strfloatset");          // Stack usage [-0, +1, m]
+             lua_pushstring(ed->L, ((Edje_Message_String_Float_Set *)em->msg)->str);
+                                                            // Stack usage [-0, +1, m]
+             c = ((Edje_Message_String_Float_Set *)em->msg)->count;
+             lua_createtable(ed->L, c, 0);                  // Stack usage [-0, +1, m]
+             for (i = 0; i < c; i++)
+               {
+                  lua_pushnumber(ed->L, ((Edje_Message_String_Float_Set *)em->msg)->val[i]);
+                                                            // Stack usage [-0, +1, -]
+                  lua_rawseti(ed->L, -2, i + 1);            // Stack usage [-1, +0, m]
+               }
+             n += 2;
+             break;
+          default:
+             break;
+          }
+        if ((err = lua_pcall(ed->L, n, 0, 0)))              // Stack usage [-n+1, +0, -]
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);                                     // Stack usage [-n, +0, -]
+}
+
+/**
+@page luaref
+@subsection edje_signal Edje signal(signal, source) callback.
+
+If a function called "signal" exists in a lua edje group, then it is called when
+ever a signal arrives, with the signal details passed to it.
+
+*/
+void
+_edje_lua2_script_func_signal(Edje *ed, const char *sig, const char *src)  // Stack usage [-3, +3, em] or [-1, +1, e] if no matching function.
+{
+   int err;
+
+   lua_getglobal(ed->L, "signal");
+   if (!lua_isnil(ed->L, -1))
+     {
+        lua_pushstring(ed->L, sig);
+        lua_pushstring(ed->L, src);
+        if ((err = lua_pcall(ed->L, 2, 0, 0)))
+          _edje_lua2_error(ed->L, err);
+     }
+   else
+     lua_pop(ed->L, 1);
+}
diff --git a/src/lib/edje/edje_lua_script_only.c b/src/lib/edje/edje_lua_script_only.c
new file mode 100644 (file)
index 0000000..e283c83
--- /dev/null
@@ -0,0 +1,59 @@
+#include "edje_private.h"
+
+Eina_Bool
+_edje_lua_script_only(Edje *ed)
+{
+   if ((ed->collection) && (ed->collection->lua_script_only))
+      return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+void
+_edje_lua_script_only_init(Edje *ed)
+{
+   if (ed->collection)
+      _edje_lua2_script_init(ed);
+}
+
+void
+_edje_lua_script_only_shutdown(Edje *ed)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_shutdown(ed);
+}
+
+void
+_edje_lua_script_only_show(Edje * ed)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_show(ed);
+}
+
+void
+_edje_lua_script_only_hide(Edje * ed)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_hide(ed);
+}
+
+void
+_edje_lua_script_only_move(Edje * ed)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_move(ed);
+}
+
+void
+_edje_lua_script_only_resize(Edje * ed)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_resize(ed);
+}
+
+void
+_edje_lua_script_only_message(Edje * ed, Edje_Message * em)
+{
+   if (ed->collection && ed->L)
+      _edje_lua2_script_func_message(ed, em);
+}
+
diff --git a/src/lib/edje/edje_main.c b/src/lib/edje/edje_main.c
new file mode 100644 (file)
index 0000000..a87d668
--- /dev/null
@@ -0,0 +1,295 @@
+#include "edje_private.h"
+
+static Edje_Version _version = { VMAJ, VMIN, VMIC, VREV };
+EAPI Edje_Version *edje_version = &_version;
+
+static int _edje_init_count = 0;
+int _edje_default_log_dom = -1;
+Eina_Mempool *_edje_real_part_mp = NULL;
+Eina_Mempool *_edje_real_part_state_mp = NULL;
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+
+EAPI int
+edje_init(void)
+{
+   if (++_edje_init_count != 1)
+     return _edje_init_count;
+
+   srand(time(NULL));
+
+   if (!eina_init())
+     return --_edje_init_count;
+
+   _edje_default_log_dom = eina_log_domain_register
+     ("edje", EDJE_DEFAULT_LOG_COLOR);
+   if (_edje_default_log_dom < 0)
+     {
+       EINA_LOG_ERR("Edje Can not create a general log domain.");
+       goto shutdown_eina;
+     }
+
+   if (!ecore_init())
+     {
+       ERR("Ecore init failed");
+       goto unregister_log_domain;
+     }
+
+   if (!embryo_init())
+     {
+       ERR("Embryo init failed");
+       goto shutdown_ecore;
+     }
+
+   if (!eet_init())
+     {
+       ERR("Eet init failed");
+       goto shutdown_embryo;
+     }
+
+#ifdef HAVE_EIO
+   if (!eio_init())
+     {
+        ERR("Eio init failed");
+        goto shutdown_eet;
+     }
+#endif
+
+   _edje_scale = FROM_DOUBLE(1.0);
+
+   _edje_edd_init();
+   _edje_text_init();
+   _edje_box_init();
+   _edje_external_init();
+   _edje_module_init();
+   _edje_message_init();
+   _edje_multisense_init();
+
+   _edje_real_part_mp = eina_mempool_add("chained_mempool",
+                                        "Edje_Real_Part", NULL,
+                                        sizeof (Edje_Real_Part), 32);
+   if (!_edje_real_part_mp)
+     {
+       ERR("Mempool for Edje_Real_Part cannot be allocated.");
+       goto shutdown_all;
+     }
+
+   _edje_real_part_state_mp = eina_mempool_add("chained_mempool",
+                                              "Edje_Real_Part_State", NULL,
+                                              sizeof (Edje_Real_Part_State), 32);
+   if (!_edje_real_part_state_mp)
+     {
+       ERR("Mempool for Edje_Real_Part_State cannot be allocated.");
+       goto shutdown_all;
+     }
+
+   return _edje_init_count;
+
+ shutdown_all:
+   eina_mempool_del(_edje_real_part_state_mp);
+   eina_mempool_del(_edje_real_part_mp);
+   _edje_real_part_state_mp = NULL;
+   _edje_real_part_mp = NULL;
+   _edje_message_shutdown();
+   _edje_module_shutdown();
+   _edje_external_shutdown();
+   _edje_box_shutdown();
+   _edje_text_class_members_free();
+   _edje_text_class_hash_free();
+   _edje_edd_shutdown();
+#ifdef HAVE_EIO
+   eio_shutdown();
+ shutdown_eet:
+#endif
+   eet_shutdown();
+ shutdown_embryo:
+   embryo_shutdown();
+ shutdown_ecore:
+   ecore_shutdown();
+ unregister_log_domain:
+   eina_log_domain_unregister(_edje_default_log_dom);
+   _edje_default_log_dom = -1;
+ shutdown_eina:
+   eina_shutdown();
+   return --_edje_init_count;
+}
+
+static int _edje_users = 0;
+
+static void
+_edje_shutdown_core(void)
+{
+   if (_edje_users > 0) return;
+
+   _edje_file_cache_shutdown();
+   _edje_color_class_members_free();
+   _edje_color_class_hash_free();
+
+   eina_mempool_del(_edje_real_part_state_mp);
+   eina_mempool_del(_edje_real_part_mp);
+   _edje_real_part_state_mp = NULL;
+   _edje_real_part_mp = NULL;
+
+   _edje_multisense_shutdown();
+   _edje_message_shutdown();
+   _edje_module_shutdown();
+   _edje_external_shutdown();
+   _edje_box_shutdown();
+   _edje_text_class_members_free();
+   _edje_text_class_hash_free();
+   _edje_edd_shutdown();
+
+#ifdef HAVE_EIO
+   eio_shutdown();
+#endif
+   eet_shutdown();
+   embryo_shutdown();
+   ecore_shutdown();
+   eina_log_domain_unregister(_edje_default_log_dom);
+   _edje_default_log_dom = -1;
+   eina_shutdown();
+}
+
+void
+_edje_lib_ref(void)
+{
+   _edje_users++;
+}
+
+void
+_edje_lib_unref(void)
+{
+   _edje_users--;
+   if (_edje_users != 0) return;
+   if (_edje_init_count == 0) _edje_shutdown_core();
+}
+
+EAPI int
+edje_shutdown(void)
+{
+   if (_edje_init_count <= 0)
+     {
+        ERR("Init count not greater than 0 in shutdown.");
+        return 0;
+     }
+   if (--_edje_init_count != 0)
+     return _edje_init_count;
+
+   if (_edje_timer)
+     ecore_animator_del(_edje_timer);
+   _edje_timer = NULL;
+
+   _edje_shutdown_core();
+
+   return _edje_init_count;
+}
+
+/* Private Routines */
+static void
+_class_member_free(Eina_Hash *hash,
+                   void (*_edje_class_member_direct_del)(const char *class, void *l))
+{
+   const char *color_class;
+   Eina_Iterator *it;
+   Eina_List *class_kill = NULL;
+
+   if (hash)
+     {
+        it = eina_hash_iterator_key_new(hash);
+        EINA_ITERATOR_FOREACH(it, color_class)
+          class_kill = eina_list_append(class_kill, color_class);
+        eina_iterator_free(it);
+        EINA_LIST_FREE(class_kill, color_class)
+          {
+             void *l;
+
+             l = eina_hash_find(hash, color_class);
+             _edje_class_member_direct_del(color_class, l);
+          }
+        eina_hash_free(hash);
+     }
+}
+
+void
+_edje_del(Edje *ed)
+{
+   Edje_Running_Program *runp;
+   Edje_Pending_Program *pp;
+   Edje_Signal_Callback *escb;
+   Edje_Text_Class *tc;
+   Edje_Text_Insert_Filter_Callback *cb;
+
+   if (ed->processing_messages)
+     {
+       ed->delete_me = EINA_TRUE;
+       return;
+     }
+   _edje_message_del(ed);
+   _edje_callbacks_patterns_clean(ed);
+   _edje_file_del(ed);
+   if (ed->path) eina_stringshare_del(ed->path);
+   if (ed->group) eina_stringshare_del(ed->group);
+   if (ed->parent) eina_stringshare_del(ed->parent);
+   ed->path = NULL;
+   ed->group = NULL;
+   if ((ed->actions) || (ed->pending_actions))
+     {
+       _edje_animators = eina_list_remove(_edje_animators, ed);
+     }
+   EINA_LIST_FREE(ed->actions, runp)
+     free(runp);
+   EINA_LIST_FREE(ed->pending_actions, pp)
+     free(pp);
+   EINA_LIST_FREE(ed->callbacks, escb)
+     {
+       if (escb->signal) eina_stringshare_del(escb->signal);
+       if (escb->source) eina_stringshare_del(escb->source);
+       free(escb);
+     }
+   eina_hash_free(ed->color_classes);
+   EINA_LIST_FREE(ed->text_classes, tc)
+     {
+       if (tc->name) eina_stringshare_del(tc->name);
+       if (tc->font) eina_stringshare_del(tc->font);
+       free(tc);
+     }
+   EINA_LIST_FREE(ed->text_insert_filter_callbacks, cb)
+     {
+        eina_stringshare_del(cb->part);
+        free(cb);
+     }
+   EINA_LIST_FREE(ed->markup_filter_callbacks, cb)
+     {
+        eina_stringshare_del(cb->part);
+        free(cb);
+     }
+
+   _class_member_free(ed->members.text_class, _edje_text_class_member_direct_del);
+   _class_member_free(ed->members.color_class, _edje_color_class_member_direct_del);
+}
+
+void
+_edje_clean_objects(Edje *ed)
+{
+   evas_object_del(ed->base->clipper);
+   ed->base->evas = NULL;
+   ed->obj = NULL;
+   ed->base->clipper = NULL;
+}
+
+void
+_edje_ref(Edje *ed)
+{
+   if (ed->references <= 0) return;
+   ed->references++;
+}
+
+void
+_edje_unref(Edje *ed)
+{
+   ed->references--;
+   if (ed->references == 0) _edje_del(ed);
+}
diff --git a/src/lib/edje/edje_match.c b/src/lib/edje/edje_match.c
new file mode 100644 (file)
index 0000000..558d982
--- /dev/null
@@ -0,0 +1,829 @@
+#include "edje_private.h"
+
+/* States manipulations. */
+
+typedef struct _Edje_State      Edje_State;
+struct _Edje_State
+{
+  size_t        idx;
+  size_t        pos;
+};
+
+struct _Edje_States
+{
+  size_t         size;
+  Edje_State    *states;
+  Eina_Bool     *has;
+};
+
+static void
+_edje_match_states_free(Edje_States      *states,
+                        size_t            states_size)
+{
+   (void) states_size;
+   free(states);
+}
+
+#define ALIGN(Size)                             \
+  {                                             \
+     Size--;                                    \
+     Size |= sizeof (void*) - 1;                \
+     Size++;                                    \
+  };
+
+static int
+_edje_match_states_alloc(Edje_Patterns *ppat, int n)
+{
+   Edje_States *l;
+
+   const size_t patterns_size = ppat->patterns_size;
+   const size_t patterns_max_length = ppat->max_length;
+
+   const size_t array_len = (patterns_max_length + 1) * patterns_size;
+
+   size_t       states_size;
+   size_t       has_size;
+   size_t       states_has_size;
+   size_t       struct_size;
+
+   unsigned char        *states;
+   unsigned char        *has;
+
+   int          i;
+
+   states_size = sizeof (*l->states) * array_len;
+   ALIGN(states_size);
+
+   has_size = sizeof (*l->has) * array_len;
+   ALIGN(has_size);
+
+   states_has_size = states_size + has_size;
+
+   struct_size = sizeof (*l);
+   ALIGN(struct_size);
+   struct_size += states_has_size;
+
+   l = malloc(n * struct_size);
+   if (!l) return 0;
+
+   ppat->states = l;
+   ppat->states->size = 0;
+
+   states = (unsigned char *) (l + n);
+   has = states + states_size;
+
+   for (i = 0; i < n; ++i)
+     {
+        l[i].states = (Edje_State *) states;
+        l[i].has = (Eina_Bool *) has;
+        l[i].size = 0;
+
+       memset(l[i].has, 0, has_size);
+
+        states += states_has_size;
+        has += states_has_size;
+     }
+
+   return 1;
+}
+
+static void
+_edje_match_states_insert(Edje_States    *list,
+                          size_t          patterns_max_length,
+                          size_t          idx,
+                          size_t          pos)
+{
+   size_t i;
+
+   i = (idx * (patterns_max_length + 1)) + pos;
+
+   if (i < list->size)
+     {
+       if (list->has[i]) return;
+     }
+   list->has[i] = 1;
+
+   i = list->size;
+   list->states[i].idx = idx;
+   list->states[i].pos = pos;
+   list->has[i] = 0;
+   list->size++;
+}
+
+static void
+_edje_match_states_clear(Edje_States *list,
+                         EINA_UNUSED size_t patterns_size,
+                         EINA_UNUSED size_t patterns_max_length)
+{
+   list->size = 0;
+}
+
+/* Token manipulation. */
+
+enum status
+{
+   patterns_not_found          = 0,
+   patterns_found              = 1,
+   patterns_syntax_error       = 2
+};
+
+static size_t
+_edje_match_patterns_exec_class_token(enum status      *status,
+                                      const char       *cl_tok,
+                                      char              c)
+{
+   if (! *cl_tok)
+     {
+        *status = patterns_syntax_error;
+        return 0;
+     }
+   else if (cl_tok[1] == '-' && cl_tok[2] != ']')
+     {
+        if (*cl_tok <= c && c <= cl_tok[2])
+           *status = patterns_found;
+        return 3;
+     }
+   else
+     {
+        if (c == *cl_tok)
+           *status = patterns_found;
+        return 1;
+     }
+}
+
+static Edje_Match_Error
+_edje_match_patterns_exec_class_complement(const char *cl_tok, size_t *ret)
+{
+   switch (*cl_tok)
+     {
+      case 0:
+         return EDJE_MATCH_SYNTAX_ERROR;
+
+      case '!':
+        *ret = 1;
+         return EDJE_MATCH_OK;
+
+      default:
+         *ret = 0;
+         return EDJE_MATCH_OK;
+     }
+}
+
+static Edje_Match_Error
+_edje_match_patterns_exec_class(const char     *cl,
+                                char            c,
+                                size_t          *ret)
+{
+   enum status status = patterns_not_found;
+   int         pos = 1;
+   size_t       neg;
+
+   if (_edje_match_patterns_exec_class_complement(cl + 1, &neg) != EDJE_MATCH_OK)
+      return EDJE_MATCH_SYNTAX_ERROR;
+
+   pos += neg;
+
+   do
+     {
+        pos += _edje_match_patterns_exec_class_token(&status, cl + pos, c);
+     }
+   while (cl[pos] && cl[pos] != ']');
+
+   if (status == patterns_syntax_error || ! cl[pos])
+      return EDJE_MATCH_SYNTAX_ERROR;
+
+   if (status == patterns_found)
+      *ret = neg ? 0 : pos + 1;
+   else
+      *ret = neg ? pos + 1 : 0;
+
+   return EDJE_MATCH_OK;
+}
+
+static Edje_Match_Error
+_edje_match_patterns_exec_token(const char     *tok,
+                                char            c,
+                                size_t          *ret)
+{
+  switch (*tok)
+    {
+    case '\\':
+      if (tok[1])
+        {
+           *ret = tok[1] == c ? 2 : 0;
+           return EDJE_MATCH_OK;
+        }
+      return EDJE_MATCH_SYNTAX_ERROR;
+
+    case '?':
+      *ret = 1;
+      return EDJE_MATCH_OK;
+
+    case '[':
+       return _edje_match_patterns_exec_class(tok, c, ret);
+
+    default:
+       *ret = *tok == c ? 1 : 0;
+       return EDJE_MATCH_OK;
+    }
+}
+
+static void
+_edje_match_patterns_exec_init_states(Edje_States       *states,
+                                      size_t            patterns_size,
+                                      size_t             patterns_max_length)
+{
+   size_t       i;
+
+   states->size = patterns_size;
+
+   for (i = 0; i < patterns_size; ++i)
+     {
+        states->states[i].idx = i;
+        states->states[i].pos = 0;
+        states->has[i * (patterns_max_length + 1)] = 1;
+     }
+}
+
+/* Exported function. */
+
+#define EDJE_MATCH_INIT_LIST(Func, Type, Source, Show)         \
+  Edje_Patterns*                                                \
+  Func(const Eina_List *lst)                                   \
+  {                                                             \
+     Edje_Patterns      *r;                                     \
+     size_t              i;                                     \
+                                                                \
+     if (!lst || eina_list_count(lst) <= 0)                     \
+       return NULL;                                             \
+                                                                \
+     r = malloc(sizeof (Edje_Patterns) +                        \
+                eina_list_count(lst)                            \
+                * sizeof(*r->finals)                            \
+                * sizeof(*r->patterns));                        \
+     if (!r) return NULL;                                       \
+                                                                \
+     r->ref = 1;                                               \
+     r->delete_me = EINA_FALSE;        \
+     r->patterns_size = eina_list_count(lst);                   \
+     r->max_length = 0;                                         \
+     r->patterns = (const char **) r->finals + r->patterns_size + 1;    \
+                                                                \
+     for (i = 0; lst; ++i)                                      \
+       {                                                        \
+          const char    *str;                                   \
+          Type          *data;                                  \
+          size_t         j;                                     \
+          int            special = 0;                           \
+                                                                \
+          data = eina_list_data_get(lst);                       \
+          if (!data)                                            \
+            {                                                   \
+               free(r);                                         \
+               return NULL;                                     \
+            }                                                   \
+                                                                \
+          str = data->Source;                                   \
+          if (!str) str = "";                                   \
+          r->patterns[i] = str;                                 \
+                                                                \
+          if (Show)                                             \
+            INF("%lu [%s]", (unsigned long)i, str);            \
+                                                                \
+          r->finals[i] = 0;                                     \
+          for (j = 0; str[j]; ++j)                              \
+            if (str[j] != '*')                                  \
+              {                                                 \
+                 r->finals[i] = j + 1;                          \
+                 special++;                                     \
+              }                                                 \
+          j += special ? special + 1 : 0;                       \
+                                                                \
+          if (j > r->max_length)                                \
+            r->max_length = j;                                  \
+                                                               \
+          lst = eina_list_next(lst);                            \
+       }                                                        \
+                                                               \
+     if (!_edje_match_states_alloc(r, 2))                       \
+       {                                                        \
+          free(r);                                              \
+          return NULL;                                          \
+       }                                                        \
+                                                                \
+     return r;                                                  \
+  }
+
+#define EDJE_MATCH_INIT_ARRAY(Func, Type, Source, Show)                \
+  Edje_Patterns*                                                \
+  Func(Type * const *lst, unsigned int count)                  \
+  {                                                             \
+     Edje_Patterns      *r;                                     \
+     size_t              i;                                     \
+                                                                \
+     if (!lst || count == 0)                                   \
+       return NULL;                                             \
+                                                                \
+     r = malloc(sizeof (Edje_Patterns) +                        \
+                count                                          \
+                * sizeof(*r->finals)                            \
+                * sizeof(*r->patterns));                        \
+     if (!r) return NULL;                                       \
+                                                                \
+     r->ref = 1;                                               \
+     r->delete_me = EINA_FALSE;        \
+     r->patterns_size = count;                                 \
+     r->max_length = 0;                                         \
+     r->patterns = (const char **) r->finals + r->patterns_size + 1;    \
+                                                                \
+     for (i = 0; i < count; ++i)                               \
+       {                                                        \
+          const char    *str;                                   \
+          size_t         j;                                     \
+          int            special = 0;                           \
+                                                                \
+          if (!lst[i])                                         \
+            {                                                   \
+               free(r);                                         \
+               return NULL;                                     \
+            }                                                   \
+                                                                \
+          str = lst[i]->Source;                                        \
+          if (!str) str = "";                                   \
+          r->patterns[i] = str;                                 \
+                                                                \
+          if (Show)                                             \
+            INF("%lu [%s]", (unsigned long)i, str);            \
+                                                                \
+          r->finals[i] = 0;                                     \
+          for (j = 0; str[j]; ++j)                              \
+            if (str[j] != '*')                                  \
+              {                                                 \
+                 r->finals[i] = j + 1;                          \
+                 special++;                                     \
+              }                                                 \
+          j += special ? special + 1 : 0;                       \
+                                                                \
+          if (j > r->max_length)                                \
+            r->max_length = j;                                  \
+       }                                                        \
+                                                                \
+     if (!_edje_match_states_alloc(r, 2))                       \
+       {                                                        \
+          free(r);                                              \
+          return NULL;                                          \
+       }                                                        \
+                                                                \
+     return r;                                                  \
+  }
+
+EDJE_MATCH_INIT_LIST(edje_match_collection_dir_init,
+                    Edje_Part_Collection_Directory_Entry,
+                    entry, 0);
+EDJE_MATCH_INIT_ARRAY(edje_match_programs_signal_init,
+                    Edje_Program,
+                    signal, 0);
+EDJE_MATCH_INIT_ARRAY(edje_match_programs_source_init,
+                     Edje_Program,
+                     source, 0);
+EDJE_MATCH_INIT_LIST(edje_match_callback_signal_init,
+                    Edje_Signal_Callback,
+                    signal, 0);
+EDJE_MATCH_INIT_LIST(edje_match_callback_source_init,
+                    Edje_Signal_Callback,
+                    source, 0);
+
+static Eina_Bool
+_edje_match_collection_dir_exec_finals(const size_t      *finals,
+                                       const Edje_States *states)
+{
+   size_t       i;
+
+   for (i = 0; i < states->size; ++i)
+     {
+        if (states->states[i].pos >= finals[states->states[i].idx])
+           return EINA_TRUE;
+     }
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+edje_match_programs_exec_check_finals(const size_t      *signal_finals,
+                                      const size_t      *source_finals,
+                                      const Edje_States *signal_states,
+                                      const Edje_States *source_states,
+                                      Edje_Program     **programs,
+                                      Eina_Bool (*func)(Edje_Program *pr, void *data),
+                                      void              *data,
+                                      Eina_Bool          prop EINA_UNUSED)
+{
+   size_t       i;
+   size_t       j;
+
+   /* when not enought memory, they could be NULL */
+   if (!signal_finals || !source_finals) return EINA_TRUE;
+
+   for (i = 0; i < signal_states->size; ++i)
+     {
+        if (signal_states->states[i].pos >= signal_finals[signal_states->states[i].idx])
+          {
+             for (j = 0; j < source_states->size; ++j)
+               {
+                  if (signal_states->states[i].idx == source_states->states[j].idx
+                      && source_states->states[j].pos >= source_finals[source_states->states[j].idx])
+                    {
+                       Edje_Program  *pr;
+
+                       pr = programs[signal_states->states[i].idx];
+                       if (pr)
+                         {
+                            if (func(pr, data))
+                               return EINA_FALSE;
+                         }
+                    }
+               }
+          }
+     }
+
+   return EINA_TRUE;
+}
+
+static int
+edje_match_callback_exec_check_finals(const Edje_Patterns *signal_ppat,
+                                      const Edje_Patterns *source_ppat,
+                                      const size_t      *signal_finals,
+                                      const size_t      *source_finals,
+                                      const Edje_States *signal_states,
+                                      const Edje_States *source_states,
+                                      const char        *sig,
+                                      const char        *source,
+                                      Eina_List         *callbacks,
+                                      Edje              *ed,
+                                      Eina_Bool          prop
+                                     )
+{
+   Edje_Signal_Callback *escb;
+   Eina_Array   run;
+   size_t       i;
+   size_t       j;
+   int          r = 1;
+
+   eina_array_step_set(&run, sizeof (Eina_Array), 4);
+
+   for (i = 0; i < signal_states->size; ++i)
+     {
+        if (signal_states->states[i].pos >= signal_finals[signal_states->states[i].idx])
+          {
+             for (j = 0; j < source_states->size; ++j)
+               {
+                  if (signal_states->states[i].idx == source_states->states[j].idx
+                      && source_states->states[j].pos >= source_finals[source_states->states[j].idx])
+                    {
+                       escb = eina_list_nth(callbacks, signal_states->states[i].idx);
+                       if (escb)
+                         {
+                            if ((prop) && (escb->propagate)) continue;
+                            if ((!escb->just_added)
+                                && (!escb->delete_me))
+                              {
+                                 eina_array_push(&run, escb);
+                                 r = 2;
+                              }
+                         }
+                    }
+               }
+          }
+     }
+
+   while ((escb = eina_array_pop(&run)))
+     {
+        escb->func(escb->data, ed->obj, sig, source);
+        if (_edje_block_break(ed))
+         {
+             r = 0;
+             break;
+          }
+        if ((signal_ppat->delete_me) || (source_ppat->delete_me))
+          {
+             r = 0;
+             break;
+          }
+     }
+
+   eina_array_flush(&run);
+
+   return r;
+}
+
+
+static Edje_States*
+_edje_match_fn(const Edje_Patterns      *ppat,
+               const char               *string,
+               Edje_States              *states)
+{
+   Edje_States  *new_states = states + 1;
+   const char   *c;
+
+   for (c = string; *c && states->size; ++c)
+     {
+        size_t  i;
+
+        _edje_match_states_clear(new_states, ppat->patterns_size, ppat->max_length);
+
+        for (i = 0; i < states->size; ++i)
+          {
+             const size_t       idx = states->states[i].idx;
+             const size_t       pos = states->states[i].pos;
+
+             if (!ppat->patterns[idx][pos])
+                continue;
+             else if (ppat->patterns[idx][pos] == '*')
+               {
+                  _edje_match_states_insert(states, ppat->max_length, idx, pos + 1);
+                  _edje_match_states_insert(new_states, ppat->max_length, idx, pos);
+               }
+             else
+               {
+                  size_t        m;
+
+                  if (_edje_match_patterns_exec_token(ppat->patterns[idx] + pos,
+                                                      *c,
+                                                      &m) != EDJE_MATCH_OK)
+                     return NULL;
+
+                  if (m)
+                     _edje_match_states_insert(new_states, ppat->max_length, idx, pos + m);
+               }
+          }
+          {
+             Edje_States  *tmp = states;
+
+             states = new_states;
+             new_states = tmp;
+          }
+     }
+
+   return states;
+}
+
+Eina_Bool
+edje_match_collection_dir_exec(const Edje_Patterns      *ppat,
+                               const char               *string)
+{
+   Edje_States  *result;
+   Eina_Bool     r = EINA_FALSE;
+
+   /* under high memory presure, it could be NULL */
+   if (!ppat) return EINA_FALSE;
+
+   _edje_match_patterns_exec_init_states(ppat->states, ppat->patterns_size, ppat->max_length);
+
+   result = _edje_match_fn(ppat, string, ppat->states);
+
+   if (result)
+      r = _edje_match_collection_dir_exec_finals(ppat->finals, result);
+
+   return r;
+}
+
+Eina_Bool
+edje_match_programs_exec(const Edje_Patterns    *ppat_signal,
+                         const Edje_Patterns    *ppat_source,
+                         const char             *sig,
+                         const char             *source,
+                         Edje_Program          **programs,
+                         Eina_Bool (*func)(Edje_Program *pr, void *data),
+                         void                   *data,
+                         Eina_Bool               prop)
+{
+   Edje_States  *signal_result;
+   Edje_States  *source_result;
+   Eina_Bool     r = EINA_FALSE;
+
+   /* under high memory presure, they could be NULL */
+   if (!ppat_source || !ppat_signal) return EINA_FALSE;
+
+   _edje_match_patterns_exec_init_states(ppat_signal->states,
+                                         ppat_signal->patterns_size,
+                                         ppat_signal->max_length);
+   _edje_match_patterns_exec_init_states(ppat_source->states,
+                                         ppat_source->patterns_size,
+                                         ppat_source->max_length);
+
+   signal_result = _edje_match_fn(ppat_signal, sig, ppat_signal->states);
+   source_result = _edje_match_fn(ppat_source, source, ppat_source->states);
+
+   if (signal_result && source_result)
+      r = edje_match_programs_exec_check_finals(ppat_signal->finals,
+                                                ppat_source->finals,
+                                                signal_result,
+                                                source_result,
+                                                programs,
+                                                func,
+                                                data,
+                                                prop);
+   return r;
+}
+
+int
+edje_match_callback_exec(Edje_Patterns          *ppat_signal,
+                         Edje_Patterns          *ppat_source,
+                         const char             *sig,
+                         const char             *source,
+                         Eina_List              *callbacks,
+                         Edje                   *ed,
+                         Eina_Bool               prop
+                        )
+{
+   Edje_States  *signal_result;
+   Edje_States  *source_result;
+   int           r = 0;
+
+   /* under high memory presure, they could be NULL */
+   if (!ppat_source || !ppat_signal) return 0;
+
+   ppat_signal->ref++;
+   ppat_source->ref++;
+   _edje_match_patterns_exec_init_states(ppat_signal->states,
+                                         ppat_signal->patterns_size,
+                                         ppat_signal->max_length);
+   _edje_match_patterns_exec_init_states(ppat_source->states,
+                                         ppat_source->patterns_size,
+                                         ppat_source->max_length);
+
+   signal_result = _edje_match_fn(ppat_signal, sig, ppat_signal->states);
+   source_result = _edje_match_fn(ppat_source, source, ppat_source->states);
+
+   if (signal_result && source_result)
+      r = edje_match_callback_exec_check_finals(ppat_signal,
+                                                ppat_source,
+                                                ppat_signal->finals,
+                                                ppat_source->finals,
+                                                signal_result,
+                                                source_result,
+                                                sig,
+                                                source,
+                                                callbacks,
+                                                ed,
+                                                prop);
+   ppat_signal->ref--;
+   ppat_source->ref--;
+   if (ppat_signal->ref <= 0) edje_match_patterns_free(ppat_signal);
+   if (ppat_source->ref <= 0) edje_match_patterns_free(ppat_source);
+   return r;
+}
+
+void
+edje_match_patterns_free(Edje_Patterns *ppat)
+{
+   if (!ppat) return ;
+
+   ppat->delete_me = EINA_TRUE;
+   ppat->ref--;
+   if (ppat->ref > 0) return;
+   _edje_match_states_free(ppat->states, 2);
+   free(ppat);
+}
+
+void
+_edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp)
+{
+   if (!ssp->signals_patterns)
+     return;
+
+   edje_match_patterns_free(ssp->signals_patterns);
+   edje_match_patterns_free(ssp->sources_patterns);
+   ssp->signals_patterns = NULL;
+   ssp->sources_patterns = NULL;
+}
+
+static Eina_Rbtree_Direction
+_edje_signal_source_node_cmp(const Edje_Signal_Source_Char *n1,
+                            const Edje_Signal_Source_Char *n2,
+                            EINA_UNUSED void *data)
+{
+   int cmp;
+
+   cmp = strcmp(n1->signal, n2->signal);
+   if (cmp) return cmp < 0 ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
+
+   return strcmp(n1->source, n2->source) < 0 ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
+}
+
+static int
+_edje_signal_source_key_cmp(const Edje_Signal_Source_Char *node,
+                           const char *sig,
+                           EINA_UNUSED int length,
+                           const char *source)
+{
+   int cmp;
+
+   cmp = strcmp(node->signal, sig);
+   if (cmp) return cmp;
+
+   return strcmp(node->source, source);
+}
+
+
+Eina_List *
+edje_match_program_hash_build(Edje_Program * const *programs,
+                             unsigned int count,
+                             Eina_Rbtree **tree)
+{
+   Eina_List *result = NULL;
+   Eina_Rbtree *new = NULL;
+   unsigned int i;
+
+   for (i = 0; i < count; ++i)
+     {
+       if (programs[i]->signal && !strpbrk(programs[i]->signal, "*?[\\")
+           && programs[i]->source && !strpbrk(programs[i]->source, "*?[\\"))
+         {
+            Edje_Signal_Source_Char *item;
+
+            item = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(new, programs[i]->signal, 0,
+                                                                        EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), programs[i]->source);
+            if (!item)
+              {
+                 item = malloc(sizeof (Edje_Signal_Source_Char));
+                 if (!item) continue;
+
+                 item->signal = programs[i]->signal;
+                 item->source = programs[i]->source;
+                 eina_array_step_set(&item->list, sizeof (Eina_Array), 8);
+
+                 new = eina_rbtree_inline_insert(new, EINA_RBTREE_GET(item),
+                                                 EINA_RBTREE_CMP_NODE_CB(_edje_signal_source_node_cmp), NULL);
+              }
+
+            eina_array_push(&item->list, programs[i]);
+         }
+       else
+           result = eina_list_prepend(result, programs[i]);
+     }
+
+   *tree = new;
+   return result;
+}
+
+Eina_List *
+edje_match_callback_hash_build(const Eina_List *callbacks,
+                              Eina_Rbtree **tree)
+{
+   Eina_List *result = NULL;
+   Eina_Rbtree *new = NULL;
+   Edje_Signal_Callback *callback;
+   const Eina_List *l;
+
+   EINA_LIST_FOREACH(callbacks, l, callback)
+     {
+       if (callback->signal && !strpbrk(callback->signal, "*?[\\")
+           && callback->source && !strpbrk(callback->source, "*?[\\"))
+         {
+            Edje_Signal_Source_Char *item;
+
+            item = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(new, callback->signal, 0,
+                                                                        EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), callback->source);
+            if (!item)
+              {
+                 item = malloc(sizeof (Edje_Signal_Source_Char));
+                 if (!item) continue;
+
+                 item->signal = callback->signal;
+                 item->source = callback->source;
+                 eina_array_step_set(&item->list, sizeof (Eina_Array), 8);
+
+                 new = eina_rbtree_inline_insert(new, EINA_RBTREE_GET(item),
+                                                 EINA_RBTREE_CMP_NODE_CB(_edje_signal_source_node_cmp), NULL);
+              }
+
+            eina_array_push(&item->list, callback);
+         }
+       else
+           result = eina_list_prepend(result, callback);
+     }
+
+   *tree = new;
+   return result;
+}
+
+const Eina_Array *
+edje_match_signal_source_hash_get(const char *sig,
+                                 const char *source,
+                                 const Eina_Rbtree *tree)
+{
+   Edje_Signal_Source_Char *lookup;
+
+   lookup = (Edje_Signal_Source_Char*) eina_rbtree_inline_lookup(tree, sig, 0,
+                                                                EINA_RBTREE_CMP_KEY_CB(_edje_signal_source_key_cmp), source);
+
+   if (lookup) return &lookup->list;
+   return NULL;
+}
+
+void
+edje_match_signal_source_free(Edje_Signal_Source_Char *key, EINA_UNUSED void *data)
+{
+   eina_array_flush(&key->list);
+   free(key);
+}
diff --git a/src/lib/edje/edje_message_queue.c b/src/lib/edje/edje_message_queue.c
new file mode 100644 (file)
index 0000000..ce10d24
--- /dev/null
@@ -0,0 +1,890 @@
+#include "edje_private.h"
+
+static void _edje_object_message_popornot_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg, Eina_Bool prop);
+
+static int _injob = 0;
+static Ecore_Job *_job = NULL;
+static Ecore_Timer *_job_loss_timer = NULL;
+
+static Eina_List *msgq = NULL;
+static Eina_List *tmp_msgq = NULL;
+static int tmp_msgq_processing = 0;
+static int tmp_msgq_restart = 0;
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+static void
+_edje_object_message_popornot_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg, Eina_Bool prop)
+{
+   Edje *ed;
+   Eina_List *l;
+   Evas_Object *o;
+
+   ed = _edje_fetch(obj);
+   if (!ed) return;
+   _edje_message_propornot_send(ed, EDJE_QUEUE_SCRIPT, type, id, msg, prop);
+   EINA_LIST_FOREACH(ed->subobjs, l, o)
+     {
+        _edje_object_message_popornot_send(o, type, id, msg, EINA_TRUE);
+     }
+}
+
+EAPI void
+edje_object_message_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_message_send(type, id, msg));
+}
+
+void
+_message_send(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   Edje_Message_Type type = va_arg(*list, Edje_Message_Type);
+   int id = va_arg(*list, int);
+   void *msg = va_arg(*list, void *);
+   _edje_object_message_popornot_send(obj, type, id, msg, EINA_FALSE);
+}
+
+
+EAPI void
+edje_object_message_handler_set(Evas_Object *obj, Edje_Message_Handler_Cb func, void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_message_handler_set(func, data));
+}
+
+void
+_message_handler_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Edje_Message_Handler_Cb func = va_arg(*list, Edje_Message_Handler_Cb);
+   void *data = va_arg(*list, void *);
+   Edje *ed = _pd;
+   _edje_message_cb_set(ed, func, data);
+}
+
+EAPI void
+edje_object_message_signal_process(Evas_Object *obj)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_message_signal_process());
+}
+
+void
+_message_signal_process(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+{
+   Eina_List *l, *ln, *tmpq = NULL;
+   Edje *ed;
+   Edje *lookup_ed;
+   Eina_List *lg;
+   Edje_Message *em;
+   Eina_List *groups = NULL;
+   int gotos = 0;
+
+   ed = _pd;
+   if (!ed) return;
+
+   groups = ed->groups;
+
+   EINA_LIST_FOREACH_SAFE(msgq, l, ln, em)
+     {
+        EINA_LIST_FOREACH(groups, lg, lookup_ed)
+          if (em->edje == lookup_ed)
+            {
+               tmpq = eina_list_append(tmpq, em);
+               msgq = eina_list_remove_list(msgq, l);
+               break;
+            }
+     }
+   /* a temporary message queue */
+   if (tmp_msgq)
+     {
+        EINA_LIST_FREE(tmpq, em)
+          tmp_msgq = eina_list_append(tmp_msgq, em);
+     }
+   else
+     {
+       tmp_msgq = tmpq;
+       tmpq = NULL;
+     }
+
+   tmp_msgq_processing++;
+again:
+   EINA_LIST_FOREACH_SAFE(tmp_msgq, l, ln, em)
+     {
+        EINA_LIST_FOREACH(groups, lg, lookup_ed)
+          if (em->edje == lookup_ed)
+            break;
+        if (em->edje != lookup_ed) continue;
+       tmp_msgq = eina_list_remove_list(tmp_msgq, l);
+        if (!lookup_ed->delete_me)
+          {
+             lookup_ed->processing_messages++;
+             _edje_message_process(em);
+             _edje_message_free(em);
+             lookup_ed->processing_messages--;
+          }
+        else
+           _edje_message_free(em);
+        if (lookup_ed->processing_messages == 0)
+          {
+             if (lookup_ed->delete_me) _edje_del(lookup_ed);
+          }
+        // if some child callback in _edje_message_process called
+        // edje_object_message_signal_process() or
+        // edje_message_signal_process() then those will mark the restart
+        // flag when they finish - it mabsicammyt means tmp_msgq and
+        // any item in it has potentially become invalid - so that means l
+        // and ln could be rogue pointers, so start again from the beginning
+        // and skip anything that is not this object and process only what is.
+        // to avoid self-feeding loops allow a max of 1024 loops.
+        if (tmp_msgq_restart)
+          {
+             tmp_msgq_restart = 0;
+             gotos++;
+             if (gotos < 1024) goto again;
+             else
+               {
+                  WRN("Edje is in a self-feeding message loop (> 1024 gotos needed in a row)");
+                  goto end;
+               }
+          }
+     }
+end:
+   tmp_msgq_processing--;
+   if (tmp_msgq_processing == 0)
+      tmp_msgq_restart = 0;
+   else
+      tmp_msgq_restart = 1;
+}
+
+EAPI void
+edje_message_signal_process(void)
+{
+   _edje_message_queue_process();
+}
+
+
+static Eina_Bool
+_edje_dummy_timer(void *data EINA_UNUSED)
+{
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_edje_job(void *data EINA_UNUSED)
+{
+   if (_job_loss_timer)
+     {
+       ecore_timer_del(_job_loss_timer);
+       _job_loss_timer = NULL;
+     }
+   _job = NULL;
+   _injob++;
+   _edje_message_queue_process();
+   _injob--;
+}
+
+static Eina_Bool
+_edje_job_loss_timer(void *data EINA_UNUSED)
+{
+   _job_loss_timer = NULL;
+   if (!_job)
+     {
+        _job = ecore_job_add(_edje_job, NULL);
+     }
+   return ECORE_CALLBACK_CANCEL;
+}
+
+void
+_edje_message_init(void)
+{
+}
+
+void
+_edje_message_shutdown(void)
+{
+   _edje_message_queue_clear();
+   if (_job_loss_timer)
+     {
+        ecore_timer_del(_job_loss_timer);
+        _job_loss_timer = NULL;
+     }
+   if (_job)
+     {
+        ecore_job_del(_job);
+        _job = NULL;
+     }
+}
+
+void
+_edje_message_cb_set(Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data)
+{
+   Eina_List *l;
+   Evas_Object *o;
+
+   ed->message.func = func;
+   ed->message.data = data;
+   EINA_LIST_FOREACH(ed->subobjs, l, o)
+     {
+        Edje *edj2 = _edje_fetch(o);
+        if (!edj2) continue;
+        _edje_message_cb_set(edj2, func, data);
+     }
+}
+
+Edje_Message *
+_edje_message_new(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id)
+{
+   Edje_Message *em;
+
+   em = calloc(1, sizeof(Edje_Message));
+   if (!em) return NULL;
+   em->edje = ed;
+   em->queue = queue;
+   em->type = type;
+   em->id = id;
+   em->edje->message.num++;
+   return em;
+}
+
+void
+_edje_message_free(Edje_Message *em)
+{
+   if (em->msg)
+     {
+       int i;
+
+       switch (em->type)
+         {
+          case EDJE_MESSAGE_STRING:
+              {
+                 Edje_Message_String *emsg;
+
+                 emsg = (Edje_Message_String *)em->msg;
+                 free(emsg->str);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_INT:
+              {
+                 Edje_Message_Int *emsg;
+
+                 emsg = (Edje_Message_Int *)em->msg;
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_FLOAT:
+              {
+                 Edje_Message_Float *emsg;
+
+                 emsg = (Edje_Message_Float *)em->msg;
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_INT_SET:
+              {
+                 Edje_Message_Int_Set *emsg;
+
+                 emsg = (Edje_Message_Int_Set *)em->msg;
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_FLOAT_SET:
+              {
+                 Edje_Message_Float_Set *emsg;
+
+                 emsg = (Edje_Message_Float_Set *)em->msg;
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_STRING_FLOAT:
+              {
+                 Edje_Message_String_Float *emsg;
+
+                 emsg = (Edje_Message_String_Float *)em->msg;
+                 free(emsg->str);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_STRING_INT:
+              {
+                 Edje_Message_String_Int *emsg;
+
+                 emsg = (Edje_Message_String_Int *)em->msg;
+                 free(emsg->str);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_STRING_FLOAT_SET:
+              {
+                 Edje_Message_String_Float_Set *emsg;
+
+                 emsg = (Edje_Message_String_Float_Set *)em->msg;
+                 free(emsg->str);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_STRING_INT_SET:
+              {
+                 Edje_Message_String_Int_Set *emsg;
+
+                 emsg = (Edje_Message_String_Int_Set *)em->msg;
+                 free(emsg->str);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_SIGNAL:
+              {
+                 Edje_Message_Signal *emsg;
+
+                 emsg = (Edje_Message_Signal *)em->msg;
+                 if (emsg->sig) eina_stringshare_del(emsg->sig);
+                 if (emsg->src) eina_stringshare_del(emsg->src);
+                  if (emsg->data && (--(emsg->data->ref) == 0))
+                    {
+                       if (emsg->data->free_func)
+                         {
+                            emsg->data->free_func(emsg->data->data);
+                         }
+                       free(emsg->data);
+                    }
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_STRING_SET:
+              {
+                 Edje_Message_String_Set *emsg;
+
+                 emsg = (Edje_Message_String_Set *)em->msg;
+                 for (i = 0; i < emsg->count; i++)
+                   free(emsg->str[i]);
+                 free(emsg);
+              }
+            break;
+          case EDJE_MESSAGE_NONE:
+          default:
+            break;
+         }
+     }
+   free(em);
+}
+
+void
+_edje_message_propornot_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg, Eina_Bool prop)
+{
+   /* FIXME: check all malloc & strdup fails and gracefully unroll and exit */
+   Edje_Message *em;
+   int i;
+   unsigned char *msg = NULL;
+
+   em = _edje_message_new(ed, queue, type, id);
+   if (!em) return;
+   em->propagated = prop;
+   if (_job)
+     {
+        ecore_job_del(_job);
+        _job = NULL;
+     }
+   if (_injob > 0)
+     {
+        if (!_job_loss_timer)
+          _job_loss_timer = ecore_timer_add(0.001, _edje_job_loss_timer, NULL);
+     }
+   else
+     {
+        if (!_job)
+          {
+             _job = ecore_job_add(_edje_job, NULL);
+          }
+        if (_job_loss_timer)
+          {
+             ecore_timer_del(_job_loss_timer);
+             _job_loss_timer = NULL;
+          }
+     }
+   switch (em->type)
+     {
+      case EDJE_MESSAGE_NONE:
+       break;
+      case EDJE_MESSAGE_SIGNAL:
+         {
+            Edje_Message_Signal *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_Signal *)emsg;
+            emsg3 = calloc(1, sizeof(Edje_Message_Signal));
+            if (emsg2->sig) emsg3->sig = eina_stringshare_add(emsg2->sig);
+            if (emsg2->src) emsg3->src = eina_stringshare_add(emsg2->src);
+            if (emsg2->data)
+               {
+                  emsg3->data = emsg2->data;
+                  emsg3->data->ref++;
+               }
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING:
+         {
+            Edje_Message_String *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String *)emsg;
+
+            emsg3 = malloc(sizeof(Edje_Message_String));
+            emsg3->str = strdup(emsg2->str);
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_INT:
+         {
+            Edje_Message_Int *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_Int *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_Int));
+            emsg3->val = emsg2->val;
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT:
+         {
+            Edje_Message_Float *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_Float *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_Float));
+            emsg3->val = emsg2->val;
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING_SET:
+         {
+            Edje_Message_String_Set *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String_Set *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_String_Set) + ((emsg2->count - 1) * sizeof(char *)));
+            emsg3->count = emsg2->count;
+            for (i = 0; i < emsg3->count; i++)
+              emsg3->str[i] = strdup(emsg2->str[i]);
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_INT_SET:
+         {
+            Edje_Message_Int_Set *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_Int_Set *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_Int_Set) + ((emsg2->count - 1) * sizeof(int)));
+            emsg3->count = emsg2->count;
+            for (i = 0; i < emsg3->count; i++)
+              emsg3->val[i] = emsg2->val[i];
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT_SET:
+         {
+            Edje_Message_Float_Set *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_Float_Set *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_Float_Set) + ((emsg2->count - 1) * sizeof(double)));
+            emsg3->count = emsg2->count;
+            for (i = 0; i < emsg3->count; i++)
+              emsg3->val[i] = emsg2->val[i];
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT:
+         {
+            Edje_Message_String_Int *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String_Int *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_String_Int));
+            emsg3->str = strdup(emsg2->str);
+            emsg3->val = emsg2->val;
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT:
+         {
+            Edje_Message_String_Float *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String_Float *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_String_Float));
+            emsg3->str = strdup(emsg2->str);
+            emsg3->val = emsg2->val;
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT_SET:
+         {
+            Edje_Message_String_Int_Set *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String_Int_Set *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_String_Int_Set) + ((emsg2->count - 1) * sizeof(int)));
+            emsg3->str = strdup(emsg2->str);
+            emsg3->count = emsg2->count;
+            for (i = 0; i < emsg3->count; i++)
+              emsg3->val[i] = emsg2->val[i];
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT_SET:
+         {
+            Edje_Message_String_Float_Set *emsg2, *emsg3;
+
+            emsg2 = (Edje_Message_String_Float_Set *)emsg;
+            emsg3 = malloc(sizeof(Edje_Message_String_Float_Set) + ((emsg2->count - 1) * sizeof(double)));
+            emsg3->str = strdup(emsg2->str);
+            emsg3->count = emsg2->count;
+            for (i = 0; i < emsg3->count; i++)
+              emsg3->val[i] = emsg2->val[i];
+            msg = (unsigned char *)emsg3;
+         }
+       break;
+      default:
+       break;
+     }
+
+   em->msg = msg;
+   msgq = eina_list_append(msgq, em);
+}
+
+void
+_edje_message_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg)
+{
+   _edje_message_propornot_send(ed, queue, type, id, emsg, EINA_FALSE);
+}
+
+void
+_edje_message_parameters_push(Edje_Message *em)
+{
+   int i;
+   
+   /* these params ALWAYS go on */
+   /* first param is the message type - always */
+   embryo_parameter_cell_push(em->edje->collection->script,
+                             (Embryo_Cell)em->type);
+   /* 2nd param is the integer of the event id - always there */
+   embryo_parameter_cell_push(em->edje->collection->script,
+                             (Embryo_Cell)em->id);
+   /* the rest is varags of whatever is in the msg */
+   switch (em->type)
+     {
+      case EDJE_MESSAGE_NONE:
+       break;
+      case EDJE_MESSAGE_STRING:
+       embryo_parameter_string_push(em->edje->collection->script,
+                                    ((Edje_Message_String *)em->msg)->str);
+       break;
+      case EDJE_MESSAGE_INT:
+         {
+            Embryo_Cell v;
+
+            v = (Embryo_Cell)((Edje_Message_Int *)em->msg)->val;
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT:
+         {
+            Embryo_Cell v;
+            float fv;
+
+            fv = ((Edje_Message_Float *)em->msg)->val;
+            v = EMBRYO_FLOAT_TO_CELL(fv);
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_SET:
+       for (i = 0; i < ((Edje_Message_String_Set *)em->msg)->count; i++)
+         embryo_parameter_string_push(em->edje->collection->script,
+                                      ((Edje_Message_String_Set *)em->msg)->str[i]);
+       break;
+      case EDJE_MESSAGE_INT_SET:
+       for (i = 0; i < ((Edje_Message_Int_Set *)em->msg)->count; i++)
+         {
+            Embryo_Cell v;
+
+            v = (Embryo_Cell)((Edje_Message_Int_Set *)em->msg)->val[i];
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_FLOAT_SET:
+       for (i = 0; i < ((Edje_Message_Float_Set *)em->msg)->count; i++)
+         {
+            Embryo_Cell v;
+            float fv;
+
+            fv = ((Edje_Message_Float_Set *)em->msg)->val[i];
+            v = EMBRYO_FLOAT_TO_CELL(fv);
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT:
+       embryo_parameter_string_push(em->edje->collection->script,
+                                    ((Edje_Message_String_Int *)em->msg)->str);
+         {
+            Embryo_Cell v;
+
+            v = (Embryo_Cell)((Edje_Message_String_Int *)em->msg)->val;
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT:
+       embryo_parameter_string_push(em->edje->collection->script,
+                                    ((Edje_Message_String_Float *)em->msg)->str);
+         {
+            Embryo_Cell v;
+            float fv;
+
+            fv = ((Edje_Message_String_Float *)em->msg)->val;
+            v = EMBRYO_FLOAT_TO_CELL(fv);
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_INT_SET:
+       embryo_parameter_string_push(em->edje->collection->script,
+                                    ((Edje_Message_String_Int_Set *)em->msg)->str);
+       for (i = 0; i < ((Edje_Message_String_Int_Set *)em->msg)->count; i++)
+         {
+            Embryo_Cell v;
+
+            v = (Embryo_Cell)((Edje_Message_String_Int_Set *)em->msg)->val[i];
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      case EDJE_MESSAGE_STRING_FLOAT_SET:
+       embryo_parameter_string_push(em->edje->collection->script,
+                                    ((Edje_Message_String_Float_Set *)em->msg)->str);
+       for (i = 0; i < ((Edje_Message_String_Float_Set *)em->msg)->count; i++)
+         {
+            Embryo_Cell v;
+            float fv;
+
+            fv = ((Edje_Message_String_Float_Set *)em->msg)->val[i];
+            v = EMBRYO_FLOAT_TO_CELL(fv);
+            embryo_parameter_cell_array_push(em->edje->collection->script, &v, 1);
+         }
+       break;
+      default:
+       break;
+     }
+}
+
+void
+_edje_message_process(Edje_Message *em)
+{
+   Embryo_Function fn;
+   void *pdata;
+   int ret;
+   
+   /* signals are only handled one way */
+   if (em->type == EDJE_MESSAGE_SIGNAL)
+     {
+       _edje_emit_handle(em->edje,
+                         ((Edje_Message_Signal *)em->msg)->sig,
+                         ((Edje_Message_Signal *)em->msg)->src,
+                         ((Edje_Message_Signal *)em->msg)->data,
+                         em->propagated);
+       return;
+     }
+   /* if this has been queued up for the app then just call the callback */
+   if (em->queue == EDJE_QUEUE_APP)
+     {
+       if (em->edje->message.func)
+         em->edje->message.func(em->edje->message.data, em->edje->obj,
+                                em->type, em->id, em->msg);
+       return;
+     }
+   /* now this message is destined for the script message handler fn */
+   if (!(em->edje->collection)) return;
+   if ((em->edje->collection->script) && _edje_script_only (em->edje))
+     {
+       _edje_script_only_message(em->edje, em);
+       return;
+     }
+   if (em->edje->L)
+     {
+       _edje_lua_script_only_message(em->edje, em);
+       return;
+     }
+   fn = embryo_program_function_find(em->edje->collection->script, "message");
+   if (fn == EMBRYO_FUNCTION_NONE) return;
+   /* reset the engine */
+   _edje_embryo_script_reset(em->edje);
+   
+   _edje_message_parameters_push(em);
+   
+   embryo_program_vm_push(em->edje->collection->script);
+   _edje_embryo_globals_init(em->edje);
+   pdata = embryo_program_data_get(em->edje->collection->script);
+   embryo_program_data_set(em->edje->collection->script, em->edje);
+   embryo_program_max_cycle_run_set(em->edje->collection->script, 5000000);
+   ret = embryo_program_run(em->edje->collection->script, fn);
+   if (ret == EMBRYO_PROGRAM_FAIL)
+     {
+        ERR("ERROR with embryo script. "
+            "OBJECT NAME: '%s', "
+            "OBJECT FILE: '%s', "
+            "ENTRY POINT: '%s', "
+            "ERROR: '%s'",
+            em->edje->collection->part,
+            em->edje->file->path,
+            "message",
+            embryo_error_string_get(embryo_program_error_get(em->edje->collection->script)));
+     }
+   else if (ret == EMBRYO_PROGRAM_TOOLONG)
+     {
+        ERR("ERROR with embryo script. "
+            "OBJECT NAME: '%s', "
+            "OBJECT FILE: '%s', "
+            "ENTRY POINT: '%s', "
+            "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
+            em->edje->collection->part,
+            em->edje->file->path,
+            "message",
+            embryo_program_max_cycle_run_get(em->edje->collection->script));
+     }
+   
+   embryo_program_data_set(em->edje->collection->script, pdata);
+   embryo_program_vm_pop(em->edje->collection->script);
+}
+
+void
+_edje_message_queue_process(void)
+{
+   int i;
+
+   if (!msgq) return;
+
+   /* allow the message queue to feed itself up to 8 times before forcing */
+   /* us to go back to normal processing and let a 0 timeout deal with it */
+   for (i = 0; (i < 8) && (msgq); i++)
+     {
+       /* a temporary message queue */
+       if (tmp_msgq)
+         {
+            while (msgq)
+              {
+                 tmp_msgq = eina_list_append(tmp_msgq, msgq->data);
+                 msgq = eina_list_remove_list(msgq, msgq);
+              }
+         }
+       else
+         {
+            tmp_msgq = msgq;
+            msgq = NULL;
+         }
+
+        tmp_msgq_processing++;
+       while (tmp_msgq)
+         {
+            Edje_Message *em;
+            Edje *ed;
+
+            em = tmp_msgq->data;
+            ed = em->edje;
+            tmp_msgq = eina_list_remove_list(tmp_msgq, tmp_msgq);
+            em->edje->message.num--;
+            if (!ed->delete_me)
+              {
+                 ed->processing_messages++;
+                 _edje_message_process(em);
+                 _edje_message_free(em);
+                 ed->processing_messages--;
+              }
+            else
+              _edje_message_free(em);
+            if (ed->processing_messages == 0)
+              {
+                 if (ed->delete_me) _edje_del(ed);
+              }
+         }
+        tmp_msgq_processing--;
+        if (tmp_msgq_processing == 0)
+           tmp_msgq_restart = 0;
+        else
+           tmp_msgq_restart = 1;
+     }
+
+   /* if the message queue filled again set a timer to expire in 0.0 sec */
+   /* to get the idle enterer to be run again */
+   if (msgq)
+     {
+        static int self_feed_debug = -1;
+        
+        if (self_feed_debug == -1)
+          {
+             const char *s = getenv("EDJE_SELF_FEED_DEBUG");
+             if (s) self_feed_debug = atoi(s);
+             else self_feed_debug = 0;
+          }
+        if (self_feed_debug)
+          {
+             WRN("Edje is in a self-feeding message loop (> 8 loops needed)");
+          }
+       ecore_timer_add(0.0, _edje_dummy_timer, NULL);
+     }
+}
+
+void
+_edje_message_queue_clear(void)
+{
+   while (msgq)
+     {
+       Edje_Message *em;
+
+       em = msgq->data;
+       msgq = eina_list_remove_list(msgq, msgq);
+       em->edje->message.num--;
+       _edje_message_free(em);
+     }
+   while (tmp_msgq)
+     {
+       Edje_Message *em;
+
+       em = tmp_msgq->data;
+       tmp_msgq = eina_list_remove_list(tmp_msgq, tmp_msgq);
+       em->edje->message.num--;
+       _edje_message_free(em);
+     }
+}
+
+void
+_edje_message_del(Edje *ed)
+{
+   Eina_List *l;
+
+   if (ed->message.num <= 0) return;
+   /* delete any messages on the main queue for this edje object */
+   for (l = msgq; l; )
+     {
+       Edje_Message *em;
+       Eina_List *lp;
+
+       em = eina_list_data_get(l);
+       lp = l;
+       l = eina_list_next(l);
+       if (em->edje == ed)
+         {
+            msgq = eina_list_remove_list(msgq, lp);
+            em->edje->message.num--;
+            _edje_message_free(em);
+         }
+       if (ed->message.num <= 0) return;
+     }
+   /* delete any on the processing queue */
+   for (l = tmp_msgq; l; )
+     {
+       Edje_Message *em;
+       Eina_List *lp;
+
+       em = eina_list_data_get(l);
+       lp = l;
+       l = eina_list_next(l);
+       if (em->edje == ed)
+         {
+            tmp_msgq = eina_list_remove_list(tmp_msgq, lp);
+            em->edje->message.num--;
+            _edje_message_free(em);
+         }
+       if (ed->message.num <= 0) return;
+     }
+}
diff --git a/src/lib/edje/edje_misc.c b/src/lib/edje/edje_misc.c
new file mode 100644 (file)
index 0000000..32a4dd1
--- /dev/null
@@ -0,0 +1 @@
+#include "edje_private.h"
diff --git a/src/lib/edje/edje_module.c b/src/lib/edje/edje_module.c
new file mode 100644 (file)
index 0000000..358295b
--- /dev/null
@@ -0,0 +1,154 @@
+#include "edje_private.h"
+
+Eina_Hash *_registered_modules = NULL;
+Eina_List *_modules_paths = NULL;
+
+Eina_List *_modules_found = NULL;
+
+#if defined(__CEGCC__) || defined(__MINGW32CE__)
+# define EDJE_MODULE_NAME "edje_%s.dll"
+# define EDJE_EXTRA_MODULE_NAME 1
+#elif _WIN32
+# define EDJE_MODULE_NAME "module.dll"
+#else
+# define EDJE_MODULE_NAME "module.so"
+#endif
+
+EAPI Eina_Bool
+edje_module_load(const char *module)
+{
+   if (_edje_module_handle_load(module)) return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+Eina_Module *
+_edje_module_handle_load(const char *module)
+{
+   const char *path;
+   Eina_List *l;
+   Eina_Module *em = NULL;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(module, NULL);
+
+   em =  (Eina_Module *)eina_hash_find(_registered_modules, module);
+   if (em) return em;
+
+   EINA_LIST_FOREACH(_modules_paths, l, path)
+     {
+        char tmp[PATH_MAX];
+
+        snprintf(tmp, sizeof (tmp), "%s/%s/%s/" EDJE_MODULE_NAME, path, module, MODULE_ARCH
+#ifdef EDJE_EXTRA_MODULE_NAME
+                 , module
+#endif
+                );
+        em = eina_module_new(tmp);
+        if (!em) continue;
+
+        if (!eina_module_load(em))
+          {
+             eina_module_free(em);
+             continue;
+          }
+        if (eina_hash_add(_registered_modules, module, em))
+          return em;
+     }
+
+   return NULL;
+}
+
+void
+_edje_module_init(void)
+{
+   char *paths[4] = { NULL, NULL, NULL, NULL };
+   unsigned int i;
+   unsigned int j;
+
+   _registered_modules = eina_hash_string_small_new(EINA_FREE_CB(eina_module_free));
+
+   /* 1. ~/.edje/modules/ */
+   paths[0] = eina_module_environment_path_get("HOME", "/.edje/modules");
+   /* 2. $(EDJE_MODULE_DIR)/edje/modules/ */
+   paths[1] = eina_module_environment_path_get("EDJE_MODULES_DIR", "/edje/modules");
+   /* 3. libedje.so/../edje/modules/ */
+   paths[2] = eina_module_symbol_path_get(_edje_module_init, "/edje/modules");
+   /* 4. PREFIX/edje/modules/ */
+#ifndef _MSC_VER
+   paths[3] = strdup(PACKAGE_LIB_DIR "/edje/modules");
+#endif
+
+   for (j = 0; j < ((sizeof (paths) / sizeof (char*)) - 1); ++j)
+     for (i = j + 1; i < sizeof (paths) / sizeof (char*); ++i)
+       if (paths[i] && paths[j] && !strcmp(paths[i], paths[j]))
+        {
+           free(paths[i]);
+           paths[i] = NULL;
+        }
+
+   for (i = 0; i < sizeof (paths) / sizeof (char*); ++i)
+     if (paths[i])
+       _modules_paths = eina_list_append(_modules_paths, paths[i]);
+}
+
+void
+_edje_module_shutdown(void)
+{
+   char *path;
+
+   if (_registered_modules)
+     {
+       eina_hash_free(_registered_modules);
+       _registered_modules = NULL;
+     }
+
+   EINA_LIST_FREE(_modules_paths, path)
+     free(path);
+
+   EINA_LIST_FREE(_modules_found, path)
+     eina_stringshare_del(path);
+}
+
+EAPI const Eina_List *
+edje_available_modules_get(void)
+{
+   Eina_File_Direct_Info *info;
+   Eina_Iterator *it;
+   Eina_List *l;
+   const char *path;
+   Eina_List *result = NULL;
+
+   /* FIXME: Stat each possible dir and check if they did change, before starting a huge round of readdir/stat */
+   if (_modules_found)
+     {
+       EINA_LIST_FREE(_modules_found, path)
+         eina_stringshare_del(path);
+     }
+
+   EINA_LIST_FOREACH(_modules_paths, l, path)
+     {
+       it = eina_file_direct_ls(path);
+
+       if (it)
+         {
+            EINA_ITERATOR_FOREACH(it, info)
+              {
+                 char tmp[PATH_MAX];
+
+                 snprintf(tmp, sizeof (tmp), "%s/%s/" EDJE_MODULE_NAME, info->path, MODULE_ARCH
+#ifdef EDJE_EXTRA_MODULE_NAME
+                           , info->path + info->name_start
+#endif
+                           );
+
+                 if (ecore_file_exists(tmp))
+                   result = eina_list_append(result, eina_stringshare_add(info->path + info->name_start));
+              }
+
+            eina_iterator_free(it);
+         }
+     }
+
+   _modules_found = result;
+
+   return result;
+}
diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c
new file mode 100644 (file)
index 0000000..454d502
--- /dev/null
@@ -0,0 +1,422 @@
+#include "edje_private.h"
+
+typedef struct _Multisense_Data
+{
+   Edje_Multisense_Env *msenv;
+#ifdef HAVE_LIBREMIX
+   RemixDeck *deck;
+   RemixTrack *track;
+   RemixLayer *snd_layer, *player_layer;
+   RemixBase *player;
+   RemixBase *player_snd;
+   int remaining;
+   int offset;
+   Eina_List *snd_src_list;
+
+   MULTISENSE_SOUND_PLAYER_GET_FUNC multisense_sound_player_get;
+#endif
+}Multisense_Data;
+
+#define BUF_LEN 64
+#define SND_PROCESS_LENGTH 2048
+
+#ifdef HAVE_LIBREMIX
+static Ecore_Thread *player_thread = NULL;
+static int command_pipe[2];
+static Eina_Bool pipe_initialized = EINA_FALSE;
+#endif
+
+typedef enum _Edje_Sound_Action_Type
+{
+   EDJE_PLAY_SAMPLE = 0,
+   EDJE_PLAY_TONE,
+   /*
+   EDJE_PLAY_PATTERN,
+   EDJE_PLAY_INSTRUMENT,
+   EDJE_PLAY_SONG,
+   */
+   EDJE_SOUND_LAST
+} Edje_Sound_Action_Type;
+
+typedef struct _Edje_Sample_Action Edje_Sample_Action;
+typedef struct _Edje_Tone_Action Edje_Tone_Action;
+typedef struct _Edje_Multisense_Sound_Action Edje_Multisense_Sound_Action;
+
+struct _Edje_Sample_Action
+{
+   char sample_name[BUF_LEN];
+   double speed;
+};
+
+struct _Edje_Tone_Action
+{
+   char tone_name[BUF_LEN];
+   double duration;
+};
+
+struct _Edje_Multisense_Sound_Action
+{
+   Edje *ed;
+   Edje_Sound_Action_Type action;
+   union {
+      Edje_Sample_Action sample;
+      Edje_Tone_Action tone;
+   } type;
+};
+
+#ifdef HAVE_LIBREMIX
+static Multisense_Data *
+init_multisense_environment(void)
+{
+   Multisense_Data *msdata;
+   char ms_factory[BUF_LEN];
+   char *ms_factory_env;
+   Eina_Module *m = NULL;
+   MULTISENSE_FACTORY_INIT_FUNC multisense_factory_init;
+
+   msdata = calloc(1, sizeof(Multisense_Data));
+   if (!msdata) goto err;
+
+   msdata->msenv = calloc(1, sizeof(Edje_Multisense_Env));
+   if (!msdata->msenv) goto err;
+
+   ms_factory_env = getenv("MULTISENSE_FACTORY");
+   if (ms_factory_env)
+     strncpy(ms_factory, ms_factory_env, BUF_LEN);
+   else
+     strcpy(ms_factory, "multisense_factory");
+
+   m = _edje_module_handle_load(ms_factory);
+   if (!m) goto err;
+
+   msdata->msenv->remixenv = remix_init();
+
+   multisense_factory_init =
+     eina_module_symbol_get(m, "multisense_factory_init");
+   if (multisense_factory_init) multisense_factory_init(msdata->msenv);
+
+   msdata->multisense_sound_player_get =
+     eina_module_symbol_get(m, "multisense_sound_player_get");
+   if (!msdata->multisense_sound_player_get) goto err;
+
+   msdata->deck = remix_deck_new(msdata->msenv->remixenv);
+   msdata->track = remix_track_new(msdata->msenv->remixenv, msdata->deck);
+   msdata->snd_layer = remix_layer_new_ontop(msdata->msenv->remixenv,
+                                             msdata->track,
+                                             REMIX_TIME_SAMPLES);
+   msdata->player_layer = remix_layer_new_ontop(msdata->msenv->remixenv,
+                                                msdata->track,
+                                                REMIX_TIME_SAMPLES);
+   msdata->player = msdata->multisense_sound_player_get(msdata->msenv);
+   if (!msdata->player) goto err;
+   msdata->player_snd = remix_sound_new(msdata->msenv->remixenv,
+                                        msdata->player, msdata->player_layer,
+                                        REMIX_SAMPLES(0),
+                                        REMIX_SAMPLES(REMIX_COUNT_INFINITE));
+   return msdata;
+
+err:
+   if (msdata)
+     {
+        if (msdata->deck) remix_destroy(msdata->msenv->remixenv, msdata->deck);
+        if (msdata->msenv->remixenv) remix_purge(msdata->msenv->remixenv);
+        if (msdata->msenv) free(msdata->msenv);
+        free(msdata);
+     }
+   return NULL;
+}
+#endif
+
+#ifdef HAVE_LIBREMIX
+static RemixBase *
+eet_sound_reader_get(Edje_Multisense_Env *msenv, const char *path, const char *sound_id, const double speed)
+{
+   RemixPlugin *sf_plugin = NULL;
+   RemixBase * eet_snd_reader = NULL;
+   int sf_path_key = 0;
+   int sf_sound_id_key = 0;
+   int sf_speed_key = 0;
+   CDSet *sf_parms = NULL;
+   RemixEnv *env = msenv->remixenv;
+
+   if (sf_plugin == NULL)
+     {
+        sf_plugin = remix_find_plugin(env, "eet_sndfile_reader");
+        if (sf_plugin == NULL)
+          {
+             ERR ("Multisense EET Sound reader plugin NULL\n");
+             return NULL;
+          }
+
+        sf_path_key = remix_get_init_parameter_key(env, sf_plugin, "path");
+        sf_sound_id_key = remix_get_init_parameter_key(env, sf_plugin, "sound_id");
+        sf_speed_key = remix_get_init_parameter_key(env, sf_plugin, "speed");
+     }
+   sf_parms = cd_set_replace(env, sf_parms, sf_path_key, CD_STRING(path));
+   sf_parms = cd_set_replace(env, sf_parms, sf_sound_id_key, CD_STRING(sound_id));
+   sf_parms = cd_set_replace(env, sf_parms, sf_speed_key, CD_DOUBLE(speed));
+   eet_snd_reader = remix_new(env, sf_plugin, sf_parms);
+
+   return eet_snd_reader;
+}
+
+
+static RemixBase *
+edje_remix_sample_create(Multisense_Data *msdata, Edje*ed, Edje_Sample_Action *action)
+{
+   RemixBase *remix_snd = NULL;
+   Edje_Sound_Sample *sample;
+   int i;
+   char snd_id_str[16];
+
+   if ((!ed) || (!ed->file) || (!ed->file->sound_dir))
+     return NULL;
+
+   for (i = 0; i < (int)ed->file->sound_dir->samples_count; i++)
+     {
+        sample = &ed->file->sound_dir->samples[i];
+        if (!strcmp(sample->name, action->sample_name))
+          {
+             snprintf(snd_id_str, sizeof(snd_id_str), "edje/sounds/%i", sample->id);
+             remix_snd = eet_sound_reader_get(msdata->msenv, ed->file->path,
+                                              snd_id_str, action->speed);
+             break;
+          }
+     }
+   return remix_snd;
+}
+
+static RemixBase *
+edje_remix_tone_create(Multisense_Data *msdata, Edje*ed, Edje_Tone_Action *action)
+{
+   Edje_Sound_Tone *tone;
+   RemixSquareTone *square = NULL;
+   unsigned int i;
+
+   if ((!ed) || (!ed->file) || (!ed->file->sound_dir))
+     return NULL;
+
+   for (i = 0; i < ed->file->sound_dir->tones_count; i++)
+     {
+        tone = &ed->file->sound_dir->tones[i];
+        if (!strcmp(tone->name, action->tone_name))
+          {
+             square = remix_squaretone_new (msdata->msenv->remixenv, tone->value);
+             break;
+          }
+     }
+   return square;
+}
+
+static void
+sound_command_handler(Multisense_Data *msdata)
+{
+   RemixCount length;
+   Edje_Multisense_Sound_Action command;
+   RemixBase *base = NULL;
+   RemixBase *sound;
+
+   if (read(command_pipe[0], &command, sizeof(command)) <= 0) return;
+   switch (command.action)
+     {
+      case EDJE_PLAY_SAMPLE:
+        base = edje_remix_sample_create(msdata, command.ed,
+                                        &command.type.sample);
+        length = remix_length(msdata->msenv->remixenv, base);
+        break;
+      case EDJE_PLAY_TONE:
+        base = edje_remix_tone_create(msdata, command.ed, &command.type.tone);
+        length = (command.type.tone.duration *
+                              remix_get_samplerate(msdata->msenv->remixenv));
+        break;
+      default:
+        ERR("Invalid Sound Play Command\n");
+        break;
+     }
+   if (base)
+     {
+        sound = remix_sound_new(msdata->msenv->remixenv, base, msdata->snd_layer,
+                                REMIX_SAMPLES(msdata->offset),
+                                REMIX_SAMPLES(length));
+        if (msdata->remaining < length) msdata->remaining = length;
+        msdata->snd_src_list = eina_list_append(msdata->snd_src_list, sound);
+        msdata->snd_src_list = eina_list_append(msdata->snd_src_list, base);
+     }
+}
+#endif
+
+#ifdef HAVE_LIBREMIX
+// msdata outside of thread due to thread issues in dlsym etc.
+static Multisense_Data *msdata = NULL;
+
+static void
+_msdata_free(void)
+{
+   // cleanup msdata outside of thread due to thread issues in dlsym etc.
+   if (!msdata) return;
+   //cleanup Remix stuffs
+   remix_destroy(msdata->msenv->remixenv, msdata->player);
+   remix_destroy(msdata->msenv->remixenv, msdata->deck);
+   remix_purge(msdata->msenv->remixenv);
+
+   free(msdata->msenv);
+   free(msdata);
+   msdata = NULL;
+}
+
+static void
+_player_job(void *data EINA_UNUSED, Ecore_Thread *th)
+{
+   fd_set wait_fds;
+   RemixBase *sound;
+   RemixCount process_len;
+// disable and move outside of thread due to dlsym etc. thread issues
+//   Multisense_Data * msdata = init_multisense_environment();
+
+   if (!msdata) return;
+
+   fcntl(command_pipe[0], F_SETFL, O_NONBLOCK);
+   FD_ZERO(&wait_fds);
+   FD_SET(command_pipe[0], &wait_fds);
+
+   while (!ecore_thread_check(th))
+     {
+        if (!msdata->remaining)
+          {
+            int err;
+             
+            //Cleanup already played sound sources
+             EINA_LIST_FREE(msdata->snd_src_list, sound)
+               {
+                  remix_destroy(msdata->msenv->remixenv, sound);
+               }
+             //wait for new sound
+             err = select(command_pipe[0] + 1, &wait_fds, NULL, NULL, 0);
+            if (ecore_thread_check(th))
+              break;
+          }
+        //read sound command , if any
+        sound_command_handler(msdata);
+        process_len = MIN(msdata->remaining, SND_PROCESS_LENGTH);
+        remix_process(msdata->msenv->remixenv, msdata->deck, process_len,
+                      RemixNone, RemixNone);
+        msdata->offset += process_len;
+        msdata->remaining -= process_len;
+     }
+
+   //Cleanup last played sound sources
+   EINA_LIST_FREE(msdata->snd_src_list, sound)
+     {
+        remix_destroy(msdata->msenv->remixenv, sound);
+     }
+}
+#endif
+
+#ifdef HAVE_LIBREMIX
+static void
+_player_cancel(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+{
+   // cleanup msdata outside of thread due to thread issues in dlsym etc.
+   _msdata_free();
+   player_thread = NULL;
+}
+#endif
+
+#ifdef HAVE_LIBREMIX
+static void
+_player_end(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+{
+   // cleanup msdata outside of thread due to thread issues in dlsym etc.
+   _msdata_free();
+   player_thread = NULL;
+}
+#endif
+
+Eina_Bool
+_edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed)
+{
+   ssize_t size = 0;
+#ifdef ENABLE_MULTISENSE
+   Edje_Multisense_Sound_Action command;
+
+   if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
+   if (!sample_name)
+     {
+        ERR("Given Sample Name is NULL\n");
+        return EINA_FALSE;
+     }
+
+   command.action = EDJE_PLAY_SAMPLE;
+   command.ed = ed;
+   strncpy(command.type.sample.sample_name, sample_name, BUF_LEN);
+   command.type.sample.speed = speed;
+   size = write(command_pipe[1], &command, sizeof(command));
+#else
+   // warning shh
+   (void) ed;
+   (void) sample_name;
+   (void) speed;
+#endif
+   return (size == sizeof(Edje_Multisense_Sound_Action));
+}
+
+Eina_Bool
+_edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration)
+{
+   ssize_t size = 0;
+#ifdef ENABLE_MULTISENSE
+   Edje_Multisense_Sound_Action command;
+
+   if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
+   if (!tone_name)
+     {
+        ERR("Given Tone Name is NULL\n");
+        return EINA_FALSE;
+     }
+
+   command.action = EDJE_PLAY_TONE;
+   command.ed = ed;
+   strncpy(command.type.tone.tone_name, tone_name, BUF_LEN);
+   command.type.tone.duration = duration;
+   size = write(command_pipe[1], &command, sizeof(command));
+#else
+   // warning shh
+   (void) ed;
+   (void) duration;
+   (void) tone_name;
+#endif
+   return (size == sizeof(Edje_Multisense_Sound_Action));
+
+}
+
+/* Initialize the modules in main thread. to avoid dlopen issue in the Threads */
+void
+_edje_multisense_init(void)
+{
+#ifdef ENABLE_MULTISENSE
+   if (!pipe_initialized && (pipe(command_pipe) != -1))
+     pipe_initialized = EINA_TRUE;
+
+   // init msdata outside of thread due to thread issues in dlsym etc.
+   if (!msdata) msdata = init_multisense_environment();
+
+   if (!player_thread)
+     player_thread = ecore_thread_feedback_run(_player_job, NULL, _player_end, _player_cancel, NULL, EINA_TRUE);
+#endif
+}
+
+void
+_edje_multisense_shutdown(void)
+{
+#ifdef ENABLE_MULTISENSE
+   if (player_thread) ecore_thread_cancel(player_thread);
+   if (pipe_initialized)
+     {
+        int i = 42;
+
+        write(command_pipe[1], &i, sizeof (int));
+        close(command_pipe[1]);
+        close(command_pipe[0]);
+     }
+#endif
+}
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
new file mode 100644 (file)
index 0000000..6e25bce
--- /dev/null
@@ -0,0 +1,2490 @@
+#ifndef _EDJE_PRIVATE_H
+#define _EDJE_PRIVATE_H
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif !defined alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _AIX
+#  define alloca __alloca
+# elif defined _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# elif !defined HAVE_ALLOCA
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *alloca (size_t);
+# endif
+#endif
+
+#include <string.h>
+#include <limits.h>
+#include <sys/stat.h>
+#include <time.h>
+#include <sys/time.h>
+#include <errno.h>
+
+#ifndef _MSC_VER
+# include <libgen.h>
+# include <unistd.h>
+#endif
+
+#include <fcntl.h>
+
+#include <lua.h>
+#include <lualib.h>
+#include <lauxlib.h>
+#include <setjmp.h>
+
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+
+#ifdef HAVE_EVIL
+# include <Evil.h>
+#endif
+
+#include <Eina.h>
+#include <Eet.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Ecore_File.h>
+#include <Ecore_Input.h>
+#ifdef HAVE_ECORE_IMF
+# include <Ecore_IMF.h>
+# include <Ecore_IMF_Evas.h>
+#endif
+#include <Embryo.h>
+
+#ifdef HAVE_EIO
+# include <Eio.h>
+#endif
+
+#ifdef HAVE_EPHYSICS
+# include <EPhysics.h>
+#endif
+
+#include "Edje.h"
+
+EAPI extern int _edje_default_log_dom ;
+
+#ifdef EDJE_DEFAULT_LOG_COLOR
+# undef EDJE_DEFAULT_LOG_COLOR
+#endif
+#define EDJE_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
+#ifdef ERR
+# undef ERR
+#endif
+#define ERR(...) EINA_LOG_DOM_ERR(_edje_default_log_dom, __VA_ARGS__)
+#ifdef INF
+# undef INF
+#endif
+#define INF(...) EINA_LOG_DOM_INFO(_edje_default_log_dom, __VA_ARGS__)
+#ifdef WRN
+# undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_edje_default_log_dom, __VA_ARGS__)
+#ifdef CRIT
+# undef CRIT
+#endif
+#define CRIT(...) EINA_LOG_DOM_CRIT(_edje_default_log_dom, __VA_ARGS__)
+#ifdef DBG
+# undef DBG
+#endif
+#define DBG(...) EINA_LOG_DOM_DBG(_edje_default_log_dom, __VA_ARGS__)
+#ifdef __GNUC__
+# if __GNUC__ >= 4
+// BROKEN in gcc 4 on amd64
+//#  pragma GCC visibility push(hidden)
+# endif
+#endif
+
+#ifndef ABS
+#define ABS(x) ((x) < 0 ? -(x) : (x))
+#endif
+
+#ifndef CLAMP
+#define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : (x)))
+#endif
+
+#ifndef MIN
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+#ifdef BUILD_EDJE_FP
+
+#define FLOAT_T Eina_F32p32
+#define EDJE_T_FLOAT EET_T_F32P32
+#define MUL(a, b) eina_f32p32_mul(a, b)
+#define SCALE(a, b) eina_f32p32_scale(a, b)
+#define DIV(a, b) eina_f32p32_div(a, b)
+#define DIV2(a) ((a) >> 1)
+#define ADD(a, b) eina_f32p32_add(a, b)
+#define SUB(a, b) eina_f32p32_sub(a, b)
+#define SQRT(a) eina_f32p32_sqrt(a)
+#define TO_DOUBLE(a) eina_f32p32_double_to(a)
+#define FROM_DOUBLE(a) eina_f32p32_double_from(a)
+#define FROM_INT(a) eina_f32p32_int_from(a)
+#define TO_INT(a) eina_f32p32_int_to(a)
+#define ZERO 0
+#define COS(a) eina_f32p32_cos(a)
+#define SIN(a) eina_f32p32_sin(a)
+#define PI EINA_F32P32_PI
+
+#else
+
+#define FLOAT_T double
+#define EDJE_T_FLOAT EET_T_DOUBLE
+#define MUL(a, b) ((a) * (b))
+#define SCALE(a, b) ((a) * (double)(b))
+#define DIV(a, b) ((a) / (b))
+#define DIV2(a) ((a) / 2.0)
+#define ADD(a, b) ((a) + (b))
+#define SUB(a, b) ((a) - (b))
+#define SQRT(a) sqrt(a)
+#define TO_DOUBLE(a) (double)(a)
+#define FROM_DOUBLE(a) (a)
+#define FROM_INT(a) (double)(a)
+#define TO_INT(a) (int)(a)
+#define ZERO 0.0
+#define COS(a) cos(a)
+#define SIN(a) sin(a)
+#define PI 3.14159265358979323846
+
+#endif
+
+/* Inheritable Edje Smart API. For now private so only Edje Edit makes
+ * use of this, but who knows what will be possible in the future */
+#define EDJE_SMART_API_VERSION 1
+
+/* Basic macro to init the Edje Smart API */
+#define EDJE_SMART_API_INIT(smart_class_init) {smart_class_init, EDJE_SMART_API_VERSION, NULL}
+
+#define EDJE_SMART_API_INIT_NULL EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
+#define EDJE_SMART_API_INIT_VERSION EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
+#define EDJE_SMART_API_INIT_NAME_VERSION(name) EDJE_SMART_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
+
+/* increment this when the EET data descriptors have changed and old
+ * EETs cannot be loaded/used correctly anymore.
+ */
+#define EDJE_FILE_VERSION 3
+/* increment this when you add new feature to edje file format without
+ * breaking backward compatibility.
+ */
+#define EDJE_FILE_MINOR 4
+
+/* FIXME:
+ *
+ * More example Edje files
+ *
+ * ? programs can do multiple actions from one signal
+ * ? add containering (hbox, vbox, table, wrapping multi-line hbox & vbox)
+ * ? text entry widget (single line only)
+ *
+ * ? recursions, unsafe callbacks outside Edje etc. with freeze, ref/unref and block/unblock and break_programs needs to be redesigned & fixed
+ * ? all unsafe calls that may result in callbacks must be marked and dealt with
+ */
+
+typedef enum
+{
+   EDJE_ASPECT_PREFER_NONE,
+   EDJE_ASPECT_PREFER_VERTICAL,
+   EDJE_ASPECT_PREFER_HORIZONTAL,
+   EDJE_ASPECT_PREFER_BOTH,
+   EDJE_ASPECT_PREFER_SOURCE
+} Edje_Internal_Aspect;
+
+struct _Edje_Perspective
+{
+   Evas_Object *obj;
+   Evas        *e;
+   Evas_Coord   px, py, z0, foc;
+   Eina_List   *users;
+   Eina_Bool    global : 1;
+};
+
+struct _Edje_Position_Scale
+{
+   FLOAT_T x, y;
+};
+
+struct _Edje_Position
+{
+   int x, y;
+};
+
+struct _Edje_Size
+{
+   int w, h;
+   Eina_Bool limit; /* should we limit ourself to the size of the source */
+};
+
+struct _Edje_Rectangle
+{
+   int x, y, w, h;
+};
+
+struct _Edje_Color
+{
+   unsigned char  r, g, b, a;
+};
+
+struct _Edje_Aspect_Prefer
+{
+   FLOAT_T min, max;
+   char prefer;
+};
+
+struct _Edje_Aspect
+{
+   int w, h;
+   Edje_Aspect_Control mode;
+};
+
+struct _Edje_String
+{
+   const char *str;
+   unsigned int id;
+};
+
+typedef struct _Edje_Position_Scale                  Edje_Alignment;
+typedef struct _Edje_Position_Scale                  Edje_Position_Scale;
+typedef struct _Edje_Position                        Edje_Position;
+typedef struct _Edje_Size                            Edje_Size;
+typedef struct _Edje_Rectangle                       Edje_Rectangle;
+typedef struct _Edje_Color                           Edje_Color;
+typedef struct _Edje_Aspect_Prefer                   Edje_Aspect_Prefer;
+typedef struct _Edje_Aspect                          Edje_Aspect;
+typedef struct _Edje_String                          Edje_String;
+
+typedef struct _Edje_File                            Edje_File;
+typedef struct _Edje_Style                           Edje_Style;
+typedef struct _Edje_Style_Tag                       Edje_Style_Tag;
+typedef struct _Edje_External_Directory              Edje_External_Directory;
+typedef struct _Edje_External_Directory_Entry        Edje_External_Directory_Entry;
+typedef struct _Edje_Font_Directory_Entry            Edje_Font_Directory_Entry;
+typedef struct _Edje_Image_Directory                 Edje_Image_Directory;
+typedef struct _Edje_Image_Directory_Entry           Edje_Image_Directory_Entry;
+typedef struct _Edje_Image_Directory_Set             Edje_Image_Directory_Set;
+typedef struct _Edje_Image_Directory_Set_Entry       Edje_Image_Directory_Set_Entry;
+typedef struct _Edje_Limit                           Edje_Limit;
+typedef struct _Edje_Sound_Sample                    Edje_Sound_Sample;
+typedef struct _Edje_Sound_Tone                      Edje_Sound_Tone;
+typedef struct _Edje_Sound_Directory                 Edje_Sound_Directory;
+typedef struct _Edje_Program                         Edje_Program;
+typedef struct _Edje_Program_Target                  Edje_Program_Target;
+typedef struct _Edje_Program_After                   Edje_Program_After;
+typedef struct _Edje_Part_Collection_Directory_Entry Edje_Part_Collection_Directory_Entry;
+typedef struct _Edje_Pack_Element                    Edje_Pack_Element;
+typedef struct _Edje_Part_Collection                 Edje_Part_Collection;
+typedef struct _Edje_Part                            Edje_Part;
+typedef struct _Edje_Part_Api                        Edje_Part_Api;
+typedef struct _Edje_Part_Dragable                  Edje_Part_Dragable;
+typedef struct _Edje_Part_Image_Id                   Edje_Part_Image_Id;
+typedef struct _Edje_Part_Description_Image          Edje_Part_Description_Image;
+typedef struct _Edje_Part_Description_Proxy          Edje_Part_Description_Proxy;
+typedef struct _Edje_Part_Description_Text           Edje_Part_Description_Text;
+typedef struct _Edje_Part_Description_Box            Edje_Part_Description_Box;
+typedef struct _Edje_Part_Description_Table          Edje_Part_Description_Table;
+typedef struct _Edje_Part_Description_External       Edje_Part_Description_External;
+typedef struct _Edje_Part_Description_Common         Edje_Part_Description_Common;
+typedef struct _Edje_Part_Description_Spec_Fill      Edje_Part_Description_Spec_Fill;
+typedef struct _Edje_Part_Description_Spec_Border    Edje_Part_Description_Spec_Border;
+typedef struct _Edje_Part_Description_Spec_Image     Edje_Part_Description_Spec_Image;
+typedef struct _Edje_Part_Description_Spec_Proxy     Edje_Part_Description_Spec_Proxy;
+typedef struct _Edje_Part_Description_Spec_Text      Edje_Part_Description_Spec_Text;
+typedef struct _Edje_Part_Description_Spec_Box       Edje_Part_Description_Spec_Box;
+typedef struct _Edje_Part_Description_Spec_Table     Edje_Part_Description_Spec_Table;
+typedef struct _Edje_Physics_Face                    Edje_Physics_Face;
+typedef struct _Edje_Patterns                        Edje_Patterns;
+typedef struct _Edje_Part_Box_Animation              Edje_Part_Box_Animation;
+typedef struct _Edje_Part_Limit                      Edje_Part_Limit;
+
+typedef struct _Edje Edje;
+typedef struct _Edje_Real_Part_Text Edje_Real_Part_Text;
+typedef struct _Edje_Real_Part_Swallow Edje_Real_Part_Swallow;
+typedef struct _Edje_Real_Part_Container Edje_Real_Part_Container;
+typedef struct _Edje_Real_Part_State Edje_Real_Part_State;
+typedef struct _Edje_Real_Part_Drag Edje_Real_Part_Drag;
+typedef struct _Edje_Real_Part_Set Edje_Real_Part_Set;
+typedef struct _Edje_Real_Part Edje_Real_Part;
+typedef struct _Edje_Running_Program Edje_Running_Program;
+typedef struct _Edje_Signal_Callback Edje_Signal_Callback;
+typedef struct _Edje_Calc_Params Edje_Calc_Params;
+typedef struct _Edje_Pending_Program Edje_Pending_Program;
+typedef struct _Edje_Text_Style Edje_Text_Style;
+typedef struct _Edje_Color_Class Edje_Color_Class;
+typedef struct _Edje_Text_Class Edje_Text_Class;
+typedef struct _Edje_Var Edje_Var;
+typedef struct _Edje_Var_Int Edje_Var_Int;
+typedef struct _Edje_Var_Float Edje_Var_Float;
+typedef struct _Edje_Var_String Edje_Var_String;
+typedef struct _Edje_Var_List Edje_Var_List;
+typedef struct _Edje_Var_Hash Edje_Var_Hash;
+typedef struct _Edje_Var_Animator Edje_Var_Animator;
+typedef struct _Edje_Var_Timer Edje_Var_Timer;
+typedef struct _Edje_Var_Pool Edje_Var_Pool;
+typedef struct _Edje_Signal_Source_Char Edje_Signal_Source_Char;
+typedef struct _Edje_Text_Insert_Filter_Callback Edje_Text_Insert_Filter_Callback;
+typedef struct _Edje_Markup_Filter_Callback Edje_Markup_Filter_Callback;
+
+#define EDJE_INF_MAX_W 100000
+#define EDJE_INF_MAX_H 100000
+
+#define EDJE_IMAGE_SOURCE_TYPE_NONE           0
+#define EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT 1
+#define EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY   2
+#define EDJE_IMAGE_SOURCE_TYPE_EXTERNAL       3
+#define EDJE_IMAGE_SOURCE_TYPE_LAST           4
+
+#define EDJE_SOUND_SOURCE_TYPE_NONE           0
+#define EDJE_SOUND_SOURCE_TYPE_INLINE_RAW     1
+#define EDJE_SOUND_SOURCE_TYPE_INLINE_COMP    2
+#define EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY   3
+#define EDJE_SOUND_SOURCE_TYPE_INLINE_AS_IS   4
+
+#define EDJE_VAR_NONE   0
+#define EDJE_VAR_INT    1
+#define EDJE_VAR_FLOAT  2
+#define EDJE_VAR_STRING 3
+#define EDJE_VAR_LIST   4
+#define EDJE_VAR_HASH   5
+
+#define EDJE_VAR_MAGIC_BASE 0x12fe84ba
+
+#define EDJE_STATE_PARAM_NONE            0
+#define EDJE_STATE_PARAM_ALIGNMENT       1
+#define EDJE_STATE_PARAM_MIN             2
+#define EDJE_STATE_PARAM_MAX             3
+#define EDJE_STATE_PARAM_STEP            4
+#define EDJE_STATE_PARAM_ASPECT          5
+#define EDJE_STATE_PARAM_ASPECT_PREF     6
+#define EDJE_STATE_PARAM_COLOR           7
+#define EDJE_STATE_PARAM_COLOR2          8
+#define EDJE_STATE_PARAM_COLOR3          9
+#define EDJE_STATE_PARAM_COLOR_CLASS    10
+#define EDJE_STATE_PARAM_REL1           11
+#define EDJE_STATE_PARAM_REL1_TO        12
+#define EDJE_STATE_PARAM_REL1_OFFSET    13
+#define EDJE_STATE_PARAM_REL2           14
+#define EDJE_STATE_PARAM_REL2_TO        15
+#define EDJE_STATE_PARAM_REL2_OFFSET    16
+#define EDJE_STATE_PARAM_IMAGE          17
+#define EDJE_STATE_PARAM_BORDER         18
+#define EDJE_STATE_PARAM_FILL_SMOOTH    19
+#define EDJE_STATE_PARAM_FILL_POS       20
+#define EDJE_STATE_PARAM_FILL_SIZE      21
+#define EDJE_STATE_PARAM_TEXT           22
+#define EDJE_STATE_PARAM_TEXT_CLASS     23
+#define EDJE_STATE_PARAM_TEXT_FONT      24
+#define EDJE_STATE_PARAM_TEXT_STYLE     25
+#define EDJE_STATE_PARAM_TEXT_SIZE      26
+#define EDJE_STATE_PARAM_TEXT_FIT       27
+#define EDJE_STATE_PARAM_TEXT_MIN       28
+#define EDJE_STATE_PARAM_TEXT_MAX       29
+#define EDJE_STATE_PARAM_TEXT_ALIGN     30
+#define EDJE_STATE_PARAM_VISIBLE        31
+#define EDJE_STATE_PARAM_MAP_ON         32
+#define EDJE_STATE_PARAM_MAP_PERSP      33
+#define EDJE_STATE_PARAM_MAP_LIGHT      34
+#define EDJE_STATE_PARAM_MAP_ROT_CENTER 35
+#define EDJE_STATE_PARAM_MAP_ROT_X      36
+#define EDJE_STATE_PARAM_MAP_ROT_Y      37
+#define EDJE_STATE_PARAM_MAP_ROT_Z      38
+#define EDJE_STATE_PARAM_MAP_BACK_CULL  39
+#define EDJE_STATE_PARAM_MAP_PERSP_ON   40
+#define EDJE_STATE_PARAM_PERSP_ZPLANE   41
+#define EDJE_STATE_PARAM_PERSP_FOCAL    42
+#define EDJE_STATE_PARAM_PHYSICS_MASS   43
+#define EDJE_STATE_PARAM_PHYSICS_FRICTION 44
+#define EDJE_STATE_PARAM_PHYSICS_RESTITUTION 45
+#define EDJE_STATE_PARAM_PHYSICS_DAMPING 46
+#define EDJE_STATE_PARAM_PHYSICS_SLEEP  47
+#define EDJE_STATE_PARAM_PHYSICS_MATERIAL 48
+#define EDJE_STATE_PARAM_PHYSICS_DENSITY 49
+#define EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS 50
+#define EDJE_STATE_PARAM_PHYSICS_LIGHT_ON 51
+#define EDJE_STATE_PARAM_PHYSICS_HARDNESS 52
+#define EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN 53
+#define EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG 54
+#define EDJE_STATE_PARAM_PHYSICS_BACK_CULL 55
+#define EDJE_STATE_PARAM_PHYSICS_Z      56
+#define EDJE_STATE_PARAM_PHYSICS_DEPTH  57
+#define EDJE_STATE_PARAM_LAST           58
+
+#define EDJE_ENTRY_EDIT_MODE_NONE 0
+#define EDJE_ENTRY_EDIT_MODE_SELECTABLE 1
+#define EDJE_ENTRY_EDIT_MODE_EDITABLE 2
+#define EDJE_ENTRY_EDIT_MODE_PASSWORD 3
+
+#define EDJE_ENTRY_SELECTION_MODE_DEFAULT 0
+#define EDJE_ENTRY_SELECTION_MODE_EXPLICIT 1
+
+#define EDJE_ENTRY_CURSOR_MODE_UNDER 0
+#define EDJE_ENTRY_CURSOR_MODE_BEFORE 1
+
+#define EDJE_ORIENTATION_AUTO  0
+#define EDJE_ORIENTATION_LTR   1
+#define EDJE_ORIENTATION_RTL   2
+
+#define EDJE_PART_PATH_SEPARATOR ':'
+#define EDJE_PART_PATH_SEPARATOR_STRING ":"
+#define EDJE_PART_PATH_SEPARATOR_INDEXL '['
+#define EDJE_PART_PATH_SEPARATOR_INDEXR ']'
+
+#define FLAG_NONE 0
+#define FLAG_X    0x01
+#define FLAG_Y    0x02
+#define FLAG_XY   (FLAG_X | FLAG_Y)
+
+/*----------*/
+
+struct _Edje_File
+{
+   const char                     *path;
+   time_t                          mtime;
+
+   Edje_External_Directory        *external_dir;
+   Edje_Image_Directory           *image_dir;
+   Edje_Sound_Directory           *sound_dir;
+   Eina_List                      *styles;
+
+   Eina_List                      *color_classes;
+   Eina_Hash                      *color_hash;
+
+   int                             references;
+   const char                     *compiler;
+   int                             version;
+   int                            minor;
+   int                             feature_ver;
+
+   Eina_Hash                      *data;
+   Eina_Hash                     *fonts;
+
+   Eina_Hash                     *collection;
+   Eina_List                     *collection_cache;
+
+   Edje_Patterns                 *collection_patterns;
+
+   Eet_File                       *ef;
+
+#ifdef HAVE_EIO
+   Eio_Monitor                    *monitor;
+   Eina_List                      *edjes;
+   Eina_List                      *handlers;
+   Ecore_Timer                    *timeout;
+#endif
+
+   unsigned char                   free_strings : 1;
+   unsigned char                   dangling : 1;
+   unsigned char                  warning : 1;
+};
+
+struct _Edje_Style
+{
+   char                           *name;
+   Eina_List                      *tags;
+   Evas_Textblock_Style           *style;
+};
+
+struct _Edje_Style_Tag
+{
+   const char                     *key;
+   const char                     *value;
+   const char                    *font;
+   double                         font_size;
+   const char                    *text_class;
+};
+
+/*----------*/
+
+
+struct _Edje_Font_Directory_Entry
+{
+   const char *entry; /* the name of the font */
+   const char *file; /* the name of the file */
+};
+
+/*----------*/
+
+struct _Edje_External_Directory
+{
+   Edje_External_Directory_Entry *entries; /* a list of Edje_External_Directory_Entry */
+   unsigned int entries_count;
+};
+
+struct _Edje_External_Directory_Entry
+{
+   const char *entry; /* the name of the external */
+};
+
+
+/*----------*/
+
+
+
+/*----------*/
+
+struct _Edje_Image_Directory
+{
+   Edje_Image_Directory_Entry *entries; /* an array of Edje_Image_Directory_Entry */
+   unsigned int entries_count;
+
+   Edje_Image_Directory_Set *sets; /* an array of Edje_Image_Directory_Set */
+   unsigned int sets_count;
+};
+
+struct _Edje_Image_Directory_Entry
+{
+   const char *entry; /* the nominal name of the image - if any */
+   int   source_type; /* alternate source mode. 0 = none */
+   int   source_param; /* extra params on encoding */
+   int   id; /* the id no. of the image */
+};
+
+struct _Edje_Image_Directory_Set
+{
+   char *name;
+   Eina_List *entries;
+
+   int id;
+};
+
+struct _Edje_Image_Directory_Set_Entry
+{
+   const char *name;
+   int id;
+
+   struct {
+     struct {
+       int w;
+       int h;
+     } min, max;
+   } size;
+};
+
+struct _Edje_Sound_Sample /*Sound Sample*/
+{
+   const char *name; /* the nominal name of the sound */
+   const char *snd_src;  /* Sound source Wav file */
+   int   compression;  /* Compression - RAW, LOSSLESS COMP ,  LOSSY ) */
+   int   mode; /* alternate source mode. 0 = none */
+   double quality;
+   int   id; /* the id no. of the sound */
+};
+
+struct _Edje_Sound_Tone /*Sound Sample*/
+{
+   const char *name; /* the nominal name of the sound - if any */
+   int   value; /* alternate source mode. 0 = none */
+   int   id; /* the id no. of the sound */
+};
+
+struct _Edje_Sound_Directory
+{
+
+   Edje_Sound_Sample *samples;  /* an array of Edje_Sound_Sample entries */
+   unsigned int samples_count;
+
+   Edje_Sound_Tone *tones;  /* an array of Edje_Sound_Tone entries */
+   unsigned int tones_count;
+};
+
+/*----------*/
+
+struct _Edje_Program /* a conditional program to be run */
+{
+   int         id; /* id of program */
+   const char *name; /* name of the action */
+
+   const char *signal; /* if signal emission name matches the glob here... */
+   const char *source; /* if part that emitted this (name) matches this glob */
+   const char *sample_name;
+   const char *tone_name;
+   double duration;
+   double speed;
+
+   struct {
+      const char *part;
+      const char *state; /* if state is not set, we will try with source */
+   } filter; /* the part filter.part should be in state filter.state for signal to be accepted */
+
+   struct {
+      double   from;
+      double   range;
+   } in;
+
+   int         action; /* type - set state, stop action, set drag pos etc. */
+   const char *state; /* what state of alternates to apply, NULL = default */
+   const char *state2; /* what other state to use - for signal emit action */
+   double      value; /* value of state to apply (if multiple names match) */
+   double      value2; /* other value for drag actions */
+
+   struct {
+      int      mode; /* how to tween - linear, sinusoidal etc. */
+      FLOAT_T  time; /* time to graduate between current and new state */
+      FLOAT_T  v1; /* other value for drag actions */
+      FLOAT_T  v2; /* other value for drag actions */
+   } tween;
+
+   Eina_List  *targets; /* list of target parts to apply the state to */
+
+   Eina_List  *after; /* list of actions to run at the end of this, for looping */
+
+   struct {
+      const char *name;
+      const char *description;
+   } api;
+
+   /* used for PARAM_COPY (param names in state and state2 above!) */
+   struct {
+      int src; /* part where parameter is being retrieved */
+      int dst; /* part where parameter is being stored */
+   } param;
+
+#ifdef HAVE_EPHYSICS
+   /* used for actions related to physics, as physics impulses and forces */
+   struct {
+      double w;
+      double x;
+      double y;
+      double z;
+   } physics;
+#endif
+
+   Eina_Bool exec : 1;
+};
+
+struct _Edje_Program_Target /* the target of an action */
+{
+   int id; /* just the part id no, or action id no */
+};
+
+struct _Edje_Program_After /* the action to run after another action */
+{
+   int id;
+};
+
+/*----------*/
+struct _Edje_Limit
+{
+   const char *name;
+   int value;
+};
+
+/*----------*/
+#define PART_TYPE_FIELDS(TYPE)    \
+      TYPE      RECTANGLE;        \
+      TYPE      TEXT;             \
+      TYPE      IMAGE;            \
+      TYPE      PROXY;            \
+      TYPE      SWALLOW;          \
+      TYPE      TEXTBLOCK;        \
+      TYPE      GROUP;            \
+      TYPE      BOX;              \
+      TYPE      TABLE;            \
+      TYPE      SPACER;          \
+      TYPE      EXTERNAL;
+
+struct _Edje_Part_Collection_Directory_Entry
+{
+   const char *entry; /* the nominal name of the part collection */
+   int         id; /* the id of this named part collection */
+
+   struct
+   {
+      PART_TYPE_FIELDS(int)
+      int      part;
+   } count;
+
+   struct
+   {
+      PART_TYPE_FIELDS(Eina_Mempool *)
+      Eina_Mempool *part;
+   } mp;
+
+   struct
+   {
+      PART_TYPE_FIELDS(Eina_Mempool *)
+   } mp_rtl; /* For Right To Left interface */
+
+   Edje_Part_Collection *ref;
+};
+
+/*----------*/
+
+/*----------*/
+
+struct _Edje_Pack_Element
+{
+   unsigned char    type; /* only GROUP supported for now */
+   Edje_Real_Part  *parent; /* pointer to the table/box that hold it, set at runtime */
+   const char      *name; /* if != NULL, will be set with evas_object_name_set */
+   const char      *source; /* group name to use as source for this element */
+   Edje_Size        min, prefer, max;
+   struct {
+          int l, r, t, b;
+   } padding;
+   Edje_Alignment   align;
+   Edje_Alignment   weight;
+   Edje_Aspect      aspect;
+   const char      *options; /* extra options for custom objects */
+   /* table specific follows */
+   int              col, row;
+   unsigned short   colspan, rowspan;
+};
+
+struct _Edje_Physics_Face
+{
+   unsigned char    type; /* BOX_FRONT BOX_BACK BOX_RIGHT CYLINDER_BACK ... */
+   const char      *source; /* group name to use as source for this element */
+};
+
+typedef enum {
+  EDJE_PART_LIMIT_UNKNOWN = 0,
+  EDJE_PART_LIMIT_BELOW,
+  EDJE_PART_LIMIT_ZERO,
+  EDJE_PART_LIMIT_OVER
+} Edje_Part_Limit_State;
+
+#ifdef HAVE_EPHYSICS
+typedef enum {
+  EDJE_PART_PHYSICS_BODY_NONE= 0,
+  EDJE_PART_PHYSICS_BODY_RIGID_BOX,
+  EDJE_PART_PHYSICS_BODY_RIGID_SPHERE,
+  EDJE_PART_PHYSICS_BODY_RIGID_CYLINDER,
+  EDJE_PART_PHYSICS_BODY_SOFT_BOX,
+  EDJE_PART_PHYSICS_BODY_SOFT_SPHERE,
+  EDJE_PART_PHYSICS_BODY_SOFT_CYLINDER,
+  EDJE_PART_PHYSICS_BODY_CLOTH,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_TOP,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_BOTTOM,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_RIGHT,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_LEFT,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_FRONT,
+  EDJE_PART_PHYSICS_BODY_BOUNDARY_BACK
+} Edje_Part_Physics_Body;
+#endif
+
+struct _Edje_Part_Limit
+{
+   int part;
+
+   Edje_Part_Limit_State width; /* -1, 0 or 1 */
+   Edje_Part_Limit_State height; /* -1, 0, or 1 */
+};
+
+/*----------*/
+
+struct _Edje_Part_Collection
+{
+   struct { /* list of Edje_Program */
+      Edje_Program **fnmatch; /* complex match with "*?[\" */
+      unsigned int fnmatch_count;
+
+      Edje_Program **strcmp; /* No special caractere, plain strcmp does the work */
+      unsigned int strcmp_count;
+
+      Edje_Program **strncmp; /* Finish by * or ?, plain strncmp does the work */
+      unsigned int strncmp_count;
+
+      Edje_Program **strrncmp; /* Start with * or ?, reverse strncmp will do the job */
+      unsigned int strrncmp_count;
+
+      Edje_Program **nocmp; /* Empty signal/source that will never match */
+      unsigned int nocmp_count;
+   } programs;
+
+   struct { /* list of limit that need to be monitored */
+      Edje_Limit **vertical;
+      unsigned int vertical_count;
+
+      Edje_Limit **horizontal;
+      unsigned int horizontal_count;
+
+      Edje_Part_Limit *parts;
+      unsigned int parts_count;
+   } limits;
+
+   Edje_Part **parts; /* an array of Edje_Part */
+   unsigned int parts_count;
+
+   Eina_Hash *data;
+
+   int        id; /* the collection id */
+
+   Eina_Hash *alias; /* aliasing part */
+   Eina_Hash *aliased; /* invert match of alias */
+
+   struct {
+      Edje_Size min, max;
+      unsigned char orientation;
+   } prop;
+
+   int        references;
+
+#ifdef EDJE_PROGRAM_CACHE
+   struct {
+      Eina_Hash                   *no_matches;
+      Eina_Hash                   *matches;
+   } prog_cache;
+#endif
+
+#ifdef HAVE_EPHYSICS
+   struct {
+      struct {
+         double rate;
+         Evas_Coord z;
+         Evas_Coord depth;
+         struct {
+              Evas_Coord x;
+              Evas_Coord y;
+              Evas_Coord z;
+         } gravity;
+      } world;
+   } physics;
+#endif
+
+   Embryo_Program   *script; /* all the embryo script code for this group */
+   const char       *part;
+
+   unsigned char    script_only;
+
+   unsigned char    lua_script_only;
+
+   unsigned char    broadcast_signal;
+
+   unsigned char    physics_enabled; /* will be 1 if a body is declared */
+
+   unsigned char    checked : 1;
+};
+
+struct _Edje_Part_Dragable
+{
+   int                 step_x; /* drag jumps n pixels (0 = no limit) */
+   int                 step_y; /* drag jumps n pixels (0 = no limit) */
+
+   int                 count_x; /* drag area divided by n (0 = no limit) */
+   int                 count_y; /* drag area divided by n (0 = no limit) */
+
+   int                 confine_id; /* dragging within this bit, -1 = no */
+
+   /* davinchi */
+   int           event_id; /* If it is used as scrollbar */
+
+   signed char         x; /* can u click & drag this bit in x dir */
+   signed char         y; /* can u click & drag this bit in y dir */
+};
+
+struct _Edje_Part_Api
+{
+   const char         *name;
+   const char         *description;
+};
+
+typedef struct _Edje_Part_Description_List Edje_Part_Description_List;
+struct _Edje_Part_Description_List
+{
+   Edje_Part_Description_Common **desc;
+   Edje_Part_Description_Common **desc_rtl; /* desc for Right To Left interface */
+   unsigned int desc_count;
+};
+
+struct _Edje_Part
+{
+   const char                   *name; /* the name if any of the part */
+   Edje_Part_Description_Common *default_desc; /* the part descriptor for default */
+   Edje_Part_Description_Common *default_desc_rtl; /* default desc for Right To Left interface */
+
+   Edje_Part_Description_List    other; /* other possible descriptors */
+
+   const char           *source, *source2, *source3, *source4, *source5, *source6;
+   int                    id; /* its id number */
+   int                    clip_to_id; /* the part id to clip this one to */
+   Edje_Part_Dragable     dragable;
+   Edje_Pack_Element    **items; /* packed items for box and table */
+   unsigned int           items_count;
+   unsigned char          type; /* what type (image, rect, text) */
+#ifdef HAVE_EPHYSICS
+   unsigned char          physics_body; /* body (none, rigid box, soft circle, ...) */
+#endif
+   unsigned char          effect; /* 0 = plain... */
+   unsigned char          mouse_events; /* it will affect/respond to mouse events */
+   unsigned char          repeat_events; /* it will repeat events to objects below */
+   Evas_Event_Flags       ignore_flags;
+   unsigned char          scale; /* should certain properties scale with edje scale factor? */
+   unsigned char          precise_is_inside;
+   unsigned char          use_alternate_font_metrics;
+   unsigned char          pointer_mode;
+   unsigned char          entry_mode;
+   unsigned char          select_mode;
+   unsigned char          cursor_mode;
+   unsigned char          multiline;
+   unsigned char          access; /* it will be used accessibility feature */
+   Edje_Part_Api          api;
+   unsigned char          nested_children_count;
+};
+
+struct _Edje_Part_Image_Id
+{
+   int id;
+   Eina_Bool set;
+};
+
+struct _Edje_Part_Description_Common
+{
+   struct {
+      double         value; /* the value of the state (for ranges) */
+      const char    *name; /* the named state if any */
+   } state;
+
+   Edje_Alignment align; /* 0 <-> 1.0 alignment within allocated space */
+
+   struct {
+      unsigned char  w, h; /* width or height is fixed in side (cannot expand with Edje object size) */
+   } fixed;
+
+   struct { // only during recalc
+      unsigned char have;
+      FLOAT_T w, h;
+   } minmul;
+
+   Edje_Size min, max;
+   Edje_Position step; /* size stepping by n pixels, 0 = none */
+   Edje_Aspect_Prefer aspect;
+
+   char      *color_class; /* how to modify the color */
+   Edje_Color color;
+   Edje_Color color2;
+
+   struct {
+      FLOAT_T        relative_x;
+      FLOAT_T       relative_y;
+      int            offset_x;
+      int            offset_y;
+      int            id_x; /* -1 = whole part collection, or part ID */
+      int            id_y; /* -1 = whole part collection, or part ID */
+   } rel1, rel2;
+
+   struct {
+      int id_persp;
+      int id_light;
+      struct {
+         int id_center;
+         FLOAT_T x, y, z;
+      } rot;
+      unsigned char backcull;
+      unsigned char on;
+      unsigned char persp_on;
+      unsigned char smooth;
+      unsigned char alpha;
+   } map;
+
+   struct {
+      int zplane;
+      int focal;
+   } persp;
+
+#ifdef HAVE_EPHYSICS
+   struct {
+      double mass;
+      double restitution;
+      double friction;
+      double density;
+      double hardness;
+      struct {
+         double linear;
+         double angular;
+      } damping;
+      struct {
+         double linear;
+         double angular;
+      } sleep;
+      int z;
+      int depth;
+      Eina_List *faces; /* faces for 3d effects */
+      struct {
+         struct {
+            unsigned char x;
+            unsigned char y;
+            unsigned char z;
+         } lin;
+         struct {
+            unsigned char x;
+            unsigned char y;
+            unsigned char z;
+         } ang;
+      } mov_freedom;
+      unsigned char backcull;
+      unsigned char material; /* (custom, iron, wood, ...) */
+      unsigned char light_on;
+      unsigned char ignore_part_pos;
+   } physics;
+#endif
+
+   unsigned char     visible; /* is it shown */
+   unsigned char     limit; /* 0 == no, 1 = width, 2 = height, 3 = both */
+};
+
+struct _Edje_Part_Description_Spec_Fill
+{
+   FLOAT_T        pos_rel_x; /* fill offset x relative to area */
+   FLOAT_T        rel_x; /* relative size compared to area */
+   FLOAT_T        pos_rel_y; /* fill offset y relative to area */
+   FLOAT_T        rel_y; /* relative size compared to area */
+   int            pos_abs_x; /* fill offset x added to fill offset */
+   int            abs_x; /* size of fill added to relative fill */
+   int            pos_abs_y; /* fill offset y added to fill offset */
+   int            abs_y; /* size of fill added to relative fill */
+   int            angle; /* angle of fill -- currently only used by grads */
+   int            spread; /* spread of fill -- currently only used by grads */
+   char           smooth; /* fill with smooth scaling or not */
+   unsigned char  type; /* fill coordinate from container (SCALE) or from source image (TILE) */
+};
+
+struct _Edje_Part_Description_Spec_Border
+{
+   int            l, r, t, b; /* border scaling on image fill */
+   unsigned char  no_fill; /* do we fill the center of the image if bordered? 1 == NO!!!! */
+   unsigned char  scale; /* scale image border by same as scale factor */
+   FLOAT_T        scale_by; /* when border scale above is enabled, border width OUTPUT is scaled by the object or global scale factor. this value adds another multiplier that the global scale is multiplued by first. if <= 0.0 it is not used, and if 1.0 it i s "ineffective" */
+};
+
+struct _Edje_Part_Description_Spec_Image
+{
+   Edje_Part_Description_Spec_Fill   fill;
+
+   Edje_Part_Image_Id **tweens; /* list of Edje_Part_Image_Id */
+   unsigned int         tweens_count; /* number of tweens */
+
+   int            id; /* the image id to use */
+   int            scale_hint; /* evas scale hint */
+   Eina_Bool      set; /* if image condition it's content */
+
+   Edje_Part_Description_Spec_Border border;
+};
+
+struct _Edje_Part_Description_Spec_Proxy
+{
+   Edje_Part_Description_Spec_Fill   fill;
+
+   int id; /* the part id to use as a source for this state */
+};
+
+struct _Edje_Part_Description_Spec_Text
+{
+   Edje_String    text; /* if "" or NULL, then leave text unchanged */
+   char          *text_class; /* how to apply/modify the font */
+   Edje_String    style; /* the text style if a textblock */
+   Edje_String    font; /* if a specific font is asked for */
+   Edje_String    repch; /* replacement char for password mode entry */
+
+   Edje_Alignment align; /* text alignment within bounds */
+   Edje_Color     color3;
+
+   double         elipsis; /* 0.0 - 1.0 defining where the elipsis align */
+   int            size; /* 0 = use user set size */
+   int            id_source; /* -1 if none */
+   int            id_text_source; /* -1 if none */
+
+   unsigned char  fit_x; /* resize font size down to fit in x dir */
+   unsigned char  fit_y; /* resize font size down to fit in y dir */
+   unsigned char  min_x; /* if text size should be part min size */
+   unsigned char  min_y; /* if text size should be part min size */
+   unsigned char  max_x; /* if text size should be part max size */
+   unsigned char  max_y; /* if text size should be part max size */
+   int            size_range_min;
+   int            size_range_max; /* -1 means, no bound. */
+};
+
+struct _Edje_Part_Description_Spec_Box
+{
+   char          *layout, *alt_layout;
+   Edje_Alignment align;
+   struct {
+      int x, y;
+   } padding;
+   struct {
+      unsigned char h, v;
+   } min;
+};
+
+struct _Edje_Part_Description_Spec_Table
+{
+   unsigned char  homogeneous;
+   Edje_Alignment align;
+   struct {
+      int x, y;
+   } padding;
+   struct {
+      unsigned char h, v;
+   } min;
+};
+
+struct _Edje_Part_Description_Image
+{
+   Edje_Part_Description_Common common;
+   Edje_Part_Description_Spec_Image image;
+};
+
+struct _Edje_Part_Description_Proxy
+{
+   Edje_Part_Description_Common common;
+   Edje_Part_Description_Spec_Proxy proxy;
+};
+
+struct _Edje_Part_Description_Text
+{
+   Edje_Part_Description_Common common;
+   Edje_Part_Description_Spec_Text text;
+};
+
+struct _Edje_Part_Description_Box
+{
+   Edje_Part_Description_Common common;
+   Edje_Part_Description_Spec_Box box;
+};
+
+struct _Edje_Part_Description_Table
+{
+   Edje_Part_Description_Common common;
+   Edje_Part_Description_Spec_Table table;
+};
+
+struct _Edje_Part_Description_External
+{
+   Edje_Part_Description_Common common;
+   Eina_List *external_params; /* parameters for external objects */
+};
+
+/*----------*/
+
+struct _Edje_Signal_Source_Char
+{
+   EINA_RBTREE;
+
+   const char *signal;
+   const char *source;
+
+   Eina_Array  list;
+};
+
+struct _Edje_Signals_Sources_Patterns
+
+{
+   Edje_Patterns *signals_patterns;
+   Edje_Patterns *sources_patterns;
+
+   Eina_Rbtree   *exact_match;
+
+   union {
+      struct {
+        Edje_Program **globing;
+        unsigned int  count;
+      } programs;
+      struct {
+        Eina_List     *globing;
+      } callbacks;
+   } u;
+};
+
+typedef struct _Edje_Signals_Sources_Patterns Edje_Signals_Sources_Patterns;
+
+struct _Edje
+{
+   Evas_Object_Smart_Clipped_Data *base;
+   /* This contains (or should):
+       Evas_Object          *clipper; // a big rect to clip this Edje to
+       Evas                 *evas; // the Evas this Edje belongs to
+   */
+   const char           *path;
+   const char           *group;
+   const char           *parent;
+
+   Evas_Coord            x, y, w, h;
+   Edje_Size             min;
+   double                paused_at;
+   Evas_Object          *obj; /* the smart object */
+   Edje_File            *file; /* the file the data comes form */
+   Edje_Part_Collection *collection; /* the description being used */
+   Eina_List            *actions; /* currently running actions */
+   Eina_List            *callbacks;
+   Eina_List            *pending_actions;
+   Eina_Hash            *color_classes;
+   Eina_List            *text_classes;
+   /* variable pool for Edje Embryo scripts */
+   Edje_Var_Pool        *var_pool;
+   /* for faster lookups to avoid nth list walks */
+   Edje_Real_Part      **table_parts;
+   Edje_Program        **table_programs;
+   Edje_Real_Part       *focused_part;
+   Eina_List            *subobjs;
+   Eina_List            *text_insert_filter_callbacks;
+   Eina_List            *markup_filter_callbacks;
+   void                 *script_only_data;
+
+   int                   table_programs_size;
+   unsigned int          table_parts_size;
+
+   Eina_List            *groups;
+
+   struct {
+      Eina_Hash         *text_class;
+      Eina_Hash         *color_class;
+   } members;
+
+   Edje_Perspective     *persp;
+
+   struct {
+      Edje_Signals_Sources_Patterns callbacks;
+      Edje_Signals_Sources_Patterns programs;
+   } patterns;
+
+   int                   references;
+   int                   block;
+   int                   load_error;
+   int                   freeze;
+   FLOAT_T              scale;
+   Eina_Bool             is_rtl : 1;
+
+   struct {
+      Edje_Text_Change_Cb  func;
+      void                *data;
+   } text_change;
+
+   struct {
+      Edje_Message_Handler_Cb  func;
+      void                    *data;
+      int                      num;
+   } message;
+   int                   processing_messages;
+
+   int                   state;
+
+   int                  preload_count;
+
+   lua_State            *L;
+   Eina_Inlist          *lua_objs;
+   int                   lua_ref;
+
+   struct {
+      Edje_Item_Provider_Cb  func;
+      void                  *data;
+   } item_provider;
+
+   Eina_List            *user_defined;
+
+   int                   walking_callbacks;
+
+#ifdef HAVE_EPHYSICS
+   EPhysics_World       *world;
+#endif
+
+   Eina_Bool          dirty : 1;
+   Eina_Bool          recalc : 1;
+   Eina_Bool          delete_callbacks : 1;
+   Eina_Bool          just_added_callbacks : 1;
+   Eina_Bool          have_objects : 1;
+   Eina_Bool          paused : 1;
+   Eina_Bool          no_anim : 1;
+   Eina_Bool          calc_only : 1;
+   Eina_Bool          walking_actions : 1;
+   Eina_Bool          block_break : 1;
+   Eina_Bool          delete_me : 1;
+   Eina_Bool          postponed : 1;
+   Eina_Bool          freeze_calc : 1;
+   Eina_Bool          has_entries : 1;
+   Eina_Bool          entries_inited : 1;
+#ifdef EDJE_CALC_CACHE
+   Eina_Bool          text_part_change : 1;
+   Eina_Bool          all_part_change : 1;
+#endif
+   Eina_Bool          have_mapped_part : 1;
+   Eina_Bool          recalc_call : 1;
+   Eina_Bool          update_hints : 1;
+   Eina_Bool          recalc_hints : 1;
+};
+
+struct _Edje_Calc_Params
+{
+   int              x, y, w, h; // 16
+   Edje_Rectangle   req; // 16
+   Edje_Rectangle   req_drag; // 16
+   Edje_Color       color; // 4
+   union {
+      struct {
+        struct {
+           int           x, y, w, h; // 16
+           int           angle; // 4
+           int           spread; // 4
+        } fill; // 24
+
+        union {
+           struct {
+              int           l, r, t, b; // 16
+               FLOAT_T       border_scale_by;
+           } image; // 16
+        } spec; // 16
+      } common; // 40
+      struct {
+        Edje_Alignment align; /* text alignment within bounds */ // 16
+        double         elipsis; // 8
+        int            size; // 4
+        Edje_Color     color2, color3; // 8
+      } text; // 36
+   } type; // 40
+   struct {
+      struct {
+         int x, y, z;
+      } center; // 12
+      struct {
+         FLOAT_T x, y, z;
+      } rotation; // 24
+      struct {
+         int x, y, z;
+         int r, g, b;
+         int ar, ag, ab;
+      } light; // 36
+      struct {
+         int x, y, z;
+         int focal;
+      } persp;
+   } map;
+#ifdef HAVE_EPHYSICS
+   struct {
+      double mass; // 8
+      double restitution; // 8
+      double friction; // 8
+      double density; // 8
+      double hardness; // 8
+      struct {
+         double linear; //8
+         double angular; //8
+      } damping; // 16
+      struct {
+         double linear; //8
+         double angular; //8
+      } sleep; // 16
+      int z; // 4
+      int depth; // 4
+      struct {
+         struct {
+            unsigned char x;
+            unsigned char y;
+            unsigned char z;
+         } lin; // 3
+         struct {
+            unsigned char x;
+            unsigned char y;
+            unsigned char z;
+         } ang; // 3
+      } mov_freedom; // 6
+      unsigned char backcull;
+      unsigned char material; // 1
+      unsigned char light_on; // 1
+      unsigned char ignore_part_pos; //1
+   } physics;
+#endif
+   unsigned char    persp_on : 1;
+   unsigned char    lighted : 1;
+   unsigned char    mapped : 1;
+   unsigned char    visible : 1;
+   unsigned char    smooth : 1; // 1
+}; // 96
+
+struct _Edje_Real_Part_Set
+{
+  Edje_Image_Directory_Set_Entry *entry; // 4
+  Edje_Image_Directory_Set       *set; // 4
+
+  int                             id; // 4
+};
+
+struct _Edje_Real_Part_State
+{
+   Edje_Part_Description_Common *description; // 4
+   Edje_Part_Description_Common *description_rtl; // 4
+   Edje_Real_Part        *rel1_to_x; // 4
+   Edje_Real_Part        *rel1_to_y; // 4
+   Edje_Real_Part        *rel2_to_x; // 4
+   Edje_Real_Part        *rel2_to_y; // 4
+#ifdef EDJE_CALC_CACHE
+   int                    state; // 4
+   Edje_Calc_Params       p; // 96
+#endif
+   void                  *external_params; // 4
+   Edje_Real_Part_Set    *set; // 4
+}; // 32
+// WITH EDJE_CALC_CACHE 132
+
+struct _Edje_Real_Part_Drag
+{
+   FLOAT_T              x, y; // 16
+   Edje_Position_Scale  val, size, step, page; // 64
+   struct {
+      unsigned int      count; // 4
+      int               x, y; // 8
+   } down;
+   struct {
+      int               x, y; // 8
+   } tmp;
+   unsigned char        need_reset : 1; // 4
+   Edje_Real_Part       *confine_to; // 4
+}; // 104
+
+#define EDJE_RP_TYPE_NONE 0
+#define EDJE_RP_TYPE_TEXT 1
+#define EDJE_RP_TYPE_CONTAINER 2
+#define EDJE_RP_TYPE_SWALLOW 3
+
+struct _Edje_Real_Part_Text
+{
+   void                  *entry_data; // 4
+   Edje_Real_Part        *source; // 4
+   Edje_Real_Part        *text_source; // 4
+   const char            *text; // 4
+   const char            *font; // 4
+   const char            *style; // 4
+   Edje_Position          offset; // 8
+   short                  size; // 2
+   struct {
+      unsigned char       fit_x, fit_y; // 2
+      short               in_size; // 2
+      short               out_size; // 2
+      float               elipsis; // 4
+      Evas_Coord          in_w, in_h; // 8
+      const char         *in_str; // 4
+      const char         *out_str; // 4
+      FLOAT_T             align_x, align_y; // 16
+   } cache;
+}; // 76
+// FIXME make text a potiner to struct and alloc at end
+// if part type is TEXT move common members textblock +
+// text to front and have smaller struct for textblock
+
+struct _Edje_Real_Part_Container
+{
+   Eina_List                *items; // 4 //FIXME: only if table/box
+   Edje_Part_Box_Animation  *anim; // 4 //FIXME: Used only if box
+};
+
+struct _Edje_Real_Part_Swallow
+{
+   Evas_Object        *swallowed_object; // 4 // FIXME: move with swallow_params data
+   struct {
+      Edje_Size min, max; // 16
+      Edje_Aspect aspect; // 12
+   } swallow_params; // 28 // FIXME: only if type SWALLOW
+};
+
+struct _Edje_Real_Part
+{
+   Edje                     *edje; // 4
+   Edje_Part                *part; // 4
+   int                       x, y, w, h; // 16
+   Edje_Rectangle            req; // 16
+   Evas_Object              *object; // 4
+   Evas_Object              *nested_smart; // 4
+   Edje_Real_Part_Drag      *drag; // 4
+   Edje_Real_Part          *events_to; // 4
+   FLOAT_T                   description_pos; // 8
+   Edje_Part_Description_Common *chosen_description; // 4
+   Edje_Real_Part_State      param1; // 32
+   // WITH EDJE_CALC_CACHE: 140
+   Edje_Real_Part_State     *param2, *custom; // 8
+   Edje_Calc_Params         *current; // 4
+   Edje_Real_Part           *clip_to; // 4
+   Edje_Running_Program     *program; // 4
+#ifdef HAVE_EPHYSICS
+   Edje_Part_Description_Common *prev_description; // 4
+   EPhysics_Body            *body; // 4
+   Eina_List                *body_faces; // 4
+#endif
+   union {
+      Edje_Real_Part_Text      *text;
+      Edje_Real_Part_Container *container;
+      Edje_Real_Part_Swallow   *swallow;
+   } typedata; // 4
+   int                       clicked_button; // 4
+#ifdef EDJE_CALC_CACHE
+   int                       state; // 4
+#endif
+   unsigned char             type; // 1
+   unsigned char             calculated; // 1
+   unsigned char             calculating; // 1
+   unsigned char             still_in   : 1; // 1
+#ifdef EDJE_CALC_CACHE
+   unsigned char             invalidate : 1; // 0
+#endif
+}; //  287 -> 126
+// WITH EDJE_CALC_CACHE: 404
+
+struct _Edje_Running_Program
+{
+   Edje           *edje;
+   Edje_Program   *program;
+   double          start_time;
+   Eina_Bool       delete_me : 1;
+};
+
+struct _Edje_Signal_Callback
+{
+   const char    *signal;
+   const char    *source;
+   Edje_Signal_Cb  func;
+   void           *data;
+   Eina_Bool       just_added : 1;
+   Eina_Bool       delete_me : 1;
+   Eina_Bool       propagate : 1;
+};
+
+struct _Edje_Text_Insert_Filter_Callback
+{
+   const char  *part;
+   Edje_Text_Filter_Cb func;
+   void        *data;
+};
+
+struct _Edje_Markup_Filter_Callback
+{
+   const char  *part;
+   Edje_Markup_Filter_Cb func;
+   void        *data;
+};
+
+struct _Edje_Pending_Program
+{
+   Edje         *edje;
+   Edje_Program *program;
+   Ecore_Timer  *timer;
+};
+
+struct _Edje_Text_Style
+{
+   struct {
+      unsigned char x, y;
+   } offset;
+   struct {
+      unsigned char l, r, t, b;
+   } pad;
+   int num;
+   struct {
+      unsigned char color; /* 0 = color, 1, 2 = color2, color3 */
+      signed   char x, y; /* offset */
+      unsigned char alpha;
+   } members[32];
+};
+
+struct _Edje_Color_Class
+{
+   const char    *name;
+   unsigned char  r, g, b, a;
+   unsigned char  r2, g2, b2, a2;
+   unsigned char  r3, g3, b3, a3;
+};
+
+struct _Edje_Text_Class
+{
+   const char     *name;
+   const char     *font;
+   Evas_Font_Size  size;
+};
+
+struct _Edje_Var_Int
+{
+   int      v;
+};
+
+struct _Edje_Var_Float
+{
+   double   v;
+};
+
+struct _Edje_Var_String
+{
+   char    *v;
+};
+
+struct _Edje_Var_List
+{
+   Eina_List *v;
+};
+
+struct _Edje_Var_Hash
+{
+   Eina_Hash *v;
+};
+
+struct _Edje_Var_Timer
+{
+   Edje           *edje;
+   int             id;
+   Embryo_Function func;
+   int             val;
+   Ecore_Timer    *timer;
+};
+
+struct _Edje_Var_Animator
+{
+   Edje           *edje;
+   int             id;
+   Embryo_Function func;
+   int             val;
+   double          start, len;
+   char            delete_me;
+};
+
+struct _Edje_Var_Pool
+{
+   int          id_count;
+   Eina_List   *timers;
+   Eina_List   *animators;
+   int          size;
+   Edje_Var    *vars;
+   int          walking_list;
+};
+
+struct _Edje_Var
+{
+   union {
+      Edje_Var_Int    i;
+      Edje_Var_Float  f;
+      Edje_Var_String s;
+      Edje_Var_List   l;
+      Edje_Var_Hash   h;
+   } data;
+   unsigned char type;
+};
+
+typedef enum _Edje_Queue
+{
+   EDJE_QUEUE_APP,
+     EDJE_QUEUE_SCRIPT
+} Edje_Queue;
+
+typedef struct _Edje_Message_Signal Edje_Message_Signal;
+typedef struct _Edje_Message        Edje_Message;
+
+typedef struct _Edje_Message_Signal_Data Edje_Message_Signal_Data;
+struct _Edje_Message_Signal_Data
+{
+   int ref;
+   void *data;
+   void (*free_func)(void *);
+};
+
+struct _Edje_Message_Signal
+{
+   const char *sig;
+   const char *src;
+   Edje_Message_Signal_Data *data;
+};
+
+struct _Edje_Message
+{
+   Edje              *edje;
+   Edje_Queue         queue;
+   Edje_Message_Type  type;
+   int                id;
+   unsigned char     *msg;
+   Eina_Bool          propagated : 1;
+};
+
+typedef enum _Edje_Fill
+{
+   EDJE_FILL_TYPE_SCALE = 0,
+     EDJE_FILL_TYPE_TILE
+} Edje_Fill;
+
+typedef enum _Edje_Match_Error
+{
+   EDJE_MATCH_OK,
+     EDJE_MATCH_ALLOC_ERROR,
+     EDJE_MATCH_SYNTAX_ERROR
+
+} Edje_Match_Error;
+
+typedef struct _Edje_States     Edje_States;
+struct _Edje_Patterns
+{
+   const char    **patterns;
+
+   Edje_States    *states;
+
+   int             ref;
+   Eina_Bool       delete_me : 1;
+   
+   size_t          patterns_size;
+   size_t          max_length;
+   size_t          finals[];
+};
+
+typedef enum _Edje_User_Defined_Type 
+{
+   EDJE_USER_SWALLOW,
+   EDJE_USER_BOX_PACK,
+   EDJE_USER_TABLE_PACK,
+   EDJE_USER_STRING,
+   EDJE_USER_DRAG_STEP,
+   EDJE_USER_DRAG_PAGE,
+   EDJE_USER_DRAG_VALUE,
+   EDJE_USER_DRAG_SIZE
+} Edje_User_Defined_Type;
+
+typedef struct _Edje_User_Defined Edje_User_Defined;
+struct _Edje_User_Defined
+{
+   Edje_User_Defined_Type type;
+   const char *part;
+   Edje *ed;
+
+   union {
+      struct {
+         const char *text;
+      } string;
+      struct {
+         Evas_Object *child;
+      } swallow;
+      struct {
+         Evas_Object *child;
+         int index;
+      } box;
+      struct {
+         Evas_Object *child;
+         unsigned short col;
+         unsigned short row;
+         unsigned short colspan;
+         unsigned short rowspan;
+      } table;
+      struct {
+         double x, y;
+      } drag_position;
+      struct {
+         double w, h;
+      } drag_size;
+   } u;
+};
+
+typedef struct _Edje_Font_List             Edje_Font_List;
+typedef struct _Edje_Font                  Edje_Font;
+
+struct _Edje_Font_List
+{
+   Eina_List *list;
+};
+
+struct _Edje_Font
+{
+   char *name;
+   char *file;
+};
+
+Edje_Patterns   *edje_match_collection_dir_init(const Eina_List *lst);
+Edje_Patterns   *edje_match_programs_signal_init(Edje_Program * const *array,
+                                                unsigned int count);
+Edje_Patterns   *edje_match_programs_source_init(Edje_Program * const *array,
+                                                unsigned int count);
+Edje_Patterns   *edje_match_callback_signal_init(const Eina_List *lst);
+Edje_Patterns   *edje_match_callback_source_init(const Eina_List *lst);
+
+Eina_Bool        edje_match_collection_dir_exec(const Edje_Patterns      *ppat,
+                                               const char               *string);
+Eina_Bool        edje_match_programs_exec(const Edje_Patterns    *ppat_signal,
+                                         const Edje_Patterns    *ppat_source,
+                                         const char             *signal,
+                                         const char             *source,
+                                         Edje_Program          **programs,
+                                         Eina_Bool (*func)(Edje_Program *pr, void *data),
+                                         void                   *data,
+                                          Eina_Bool               prop);
+int              edje_match_callback_exec(Edje_Patterns          *ppat_signal,
+                                         Edje_Patterns          *ppat_source,
+                                         const char             *signal,
+                                         const char             *source,
+                                         Eina_List              *callbacks,
+                                         Edje                   *ed,
+                                          Eina_Bool               prop);
+
+void             edje_match_patterns_free(Edje_Patterns *ppat);
+
+Eina_List *edje_match_program_hash_build(Edje_Program * const * programs,
+                                        unsigned int count,
+                                        Eina_Rbtree **tree);
+Eina_List *edje_match_callback_hash_build(const Eina_List *callbacks,
+                                         Eina_Rbtree **tree);
+const Eina_Array *edje_match_signal_source_hash_get(const char *signal,
+                                                   const char *source,
+                                                   const Eina_Rbtree *tree);
+void edje_match_signal_source_free(Edje_Signal_Source_Char *key, void *data);
+
+// FIXME remove below 3 eapi decls when edje_convert goes
+EAPI void _edje_edd_init(void);
+EAPI void _edje_data_font_list_desc_make(Eet_Data_Descriptor **_font_list_edd, Eet_Data_Descriptor **_font_edd);
+EAPI void _edje_edd_shutdown(void);
+
+EAPI extern Eet_Data_Descriptor *_edje_edd_edje_file;
+EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_collection;
+
+extern int              _edje_anim_count;
+extern Ecore_Animator  *_edje_timer;
+extern Eina_List       *_edje_animators;
+extern Eina_List       *_edje_edjes;
+
+extern char            *_edje_fontset_append;
+extern FLOAT_T          _edje_scale;
+extern int              _edje_freeze_val;
+extern int              _edje_freeze_calc_count;
+extern Eina_List       *_edje_freeze_calc_list;
+
+extern Eina_Bool        _edje_password_show_last;
+extern FLOAT_T          _edje_password_show_last_timeout;
+
+extern Eina_Mempool *_edje_real_part_mp;
+extern Eina_Mempool *_edje_real_part_state_mp;
+
+EAPI extern Eina_Mempool *_emp_RECTANGLE;
+EAPI extern Eina_Mempool *_emp_TEXT;
+EAPI extern Eina_Mempool *_emp_IMAGE;
+EAPI extern Eina_Mempool *_emp_PROXY;
+EAPI extern Eina_Mempool *_emp_SWALLOW;
+EAPI extern Eina_Mempool *_emp_TEXTBLOCK;
+EAPI extern Eina_Mempool *_emp_GROUP;
+EAPI extern Eina_Mempool *_emp_BOX;
+EAPI extern Eina_Mempool *_emp_TABLE;
+EAPI extern Eina_Mempool *_emp_EXTERNAL;
+EAPI extern Eina_Mempool *_emp_SPACER;
+EAPI extern Eina_Mempool *_emp_part;
+
+void  _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T v1, FLOAT_T v2);
+Edje_Part_Description_Common *_edje_part_description_find(Edje *ed,
+                                                         Edje_Real_Part *rp,
+                                                         const char *name, double val);
+void  _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char  *d1, double v1, const char *d2, double v2);
+void  _edje_recalc(Edje *ed);
+void  _edje_recalc_do(Edje *ed);
+void  _edje_part_recalc_1(Edje *ed, Edje_Real_Part *ep);
+int   _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, FLOAT_T *x, FLOAT_T *y);
+void  _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y);
+
+Eina_Bool _edje_timer_cb(void *data);
+Eina_Bool _edje_pending_timer_cb(void *data);
+void  _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
+void  _edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
+void  _edje_callbacks_del(Evas_Object *obj, Edje *ed);
+void  _edje_callbacks_focus_del(Evas_Object *obj, Edje *ed);
+
+EAPI void _edje_edd_init(void);
+EAPI void _edje_edd_shutdown(void);
+
+int _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested);
+
+void  _edje_file_add(Edje *ed);
+void  _edje_file_del(Edje *ed);
+void  _edje_file_free(Edje_File *edf);
+void  _edje_file_cache_shutdown(void);
+void  _edje_collection_free(Edje_File *edf,
+                           Edje_Part_Collection *ec,
+                           Edje_Part_Collection_Directory_Entry *ce);
+void  _edje_collection_free_part_description_clean(int type,
+                                                  Edje_Part_Description_Common *desc,
+                                                  Eina_Bool free_strings);
+void _edje_collection_free_part_description_free(int type,
+                                                Edje_Part_Description_Common *desc,
+                                                Edje_Part_Collection_Directory_Entry *ce,
+                                                Eina_Bool free_strings);
+
+void  _edje_del(Edje *ed);
+void  _edje_ref(Edje *ed);
+void  _edje_unref(Edje *ed);
+void  _edje_clean_objects(Edje *ed);
+void  _edje_ref(Edje *ed);
+void  _edje_unref(Edje *ed);
+
+Eina_Bool _edje_program_run_iterate(Edje_Running_Program *runp, double tim);
+void  _edje_program_end(Edje *ed, Edje_Running_Program *runp);
+void  _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, const char *ssrc);
+void _edje_programs_patterns_clean(Edje *ed);
+void _edje_programs_patterns_init(Edje *ed);
+void  _edje_emit(Edje *ed, const char *sig, const char *src);
+void _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*free_func)(void *));
+void _edje_emit_handle(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop);
+void  _edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp);
+void  _edje_callbacks_patterns_clean(Edje *ed);
+
+void           _edje_text_init(void);
+void           _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
+void           _edje_text_part_on_del(Edje *ed, Edje_Part *ep);
+void           _edje_text_recalc_apply(Edje *ed,
+                                      Edje_Real_Part *ep,
+                                      Edje_Calc_Params *params,
+                                      Edje_Part_Description_Text *chosen_desc);
+Evas_Font_Size _edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc);
+const char *   _edje_text_class_font_get(Edje *ed,
+                                        Edje_Part_Description_Text *chosen_desc,
+                                        int *size, char **free_later);
+
+
+Edje_Real_Part   *_edje_real_part_get(const Edje *ed, const char *part);
+Edje_Real_Part   *_edje_real_part_recursive_get(const Edje *ed, const char *part);
+Edje_Color_Class *_edje_color_class_find(const Edje *ed, const char *color_class);
+void              _edje_color_class_member_direct_del(const char *color_class, void *lookup);
+void              _edje_color_class_member_add(Edje *ed, const char *color_class);
+void              _edje_color_class_member_del(Edje *ed, const char *color_class);
+void              _edje_color_class_on_del(Edje *ed, Edje_Part *ep);
+void              _edje_color_class_members_free(void);
+void              _edje_color_class_hash_free(void);
+
+Edje_Text_Class  *_edje_text_class_find(Edje *ed, const char *text_class);
+void              _edje_text_class_member_add(Edje *ed, const char *text_class);
+void              _edje_text_class_member_del(Edje *ed, const char *text_class);
+void              _edje_text_class_member_direct_del(const char *text_class, void *lookup);
+void              _edje_text_class_members_free(void);
+void              _edje_text_class_hash_free(void);
+
+Edje             *_edje_fetch(const Evas_Object *obj) EINA_PURE;
+int               _edje_freeze(Edje *ed);
+int               _edje_thaw(Edje *ed);
+int               _edje_block(Edje *ed);
+int               _edje_unblock(Edje *ed);
+int               _edje_block_break(Edje *ed);
+void              _edje_block_violate(Edje *ed);
+void              _edje_object_part_swallow_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+void              _edje_object_part_swallow_changed_hints_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+void              _edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow, Eina_Bool hints_update);
+void              _edje_real_part_swallow_clear(Edje_Real_Part *rp);
+void              _edje_box_init(void);
+void              _edje_box_shutdown(void);
+Eina_Bool         _edje_box_layout_find(const char *name, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data));
+void              _edje_box_recalc_apply(Edje *ed EINA_UNUSED, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description_Box *chosen_desc);
+Eina_Bool         _edje_box_layout_add_child(Edje_Real_Part *rp, Evas_Object *child_obj);
+void              _edje_box_layout_remove_child(Edje_Real_Part *rp, Evas_Object *child_obj);
+Edje_Part_Box_Animation * _edje_box_layout_anim_new(Evas_Object *box);
+void              _edje_box_layout_free_data(void *data);
+
+Eina_Bool         _edje_real_part_box_append(Edje_Real_Part *rp, Evas_Object *child_obj);
+Eina_Bool         _edje_real_part_box_prepend(Edje_Real_Part *rp, Evas_Object *child_obj);
+Eina_Bool         _edje_real_part_box_insert_before(Edje_Real_Part *rp, Evas_Object *child_obj, const Evas_Object *ref);
+Eina_Bool         _edje_real_part_box_insert_at(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned int pos);
+Evas_Object      *_edje_real_part_box_remove(Edje_Real_Part *rp, Evas_Object *child_obj);
+Evas_Object      *_edje_real_part_box_remove_at(Edje_Real_Part *rp, unsigned int pos);
+Eina_Bool         _edje_real_part_box_remove_all(Edje_Real_Part *rp, Eina_Bool clear);
+Eina_Bool         _edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
+Eina_Bool         _edje_real_part_table_unpack(Edje_Real_Part *rp, Evas_Object *child_obj);
+void              _edje_real_part_table_clear(Edje_Real_Part *rp, Eina_Bool clear);
+Evas_Object      *_edje_children_get(Edje_Real_Part *rp, const char *partid);
+
+Eina_Bool         _edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text);
+char             *_edje_text_escape(const char *text);
+char             *_edje_text_unescape(const char *text);
+
+void          _edje_embryo_script_init      (Edje_Part_Collection *edc);
+void          _edje_embryo_script_shutdown  (Edje_Part_Collection *edc);
+void          _edje_embryo_script_reset     (Edje *ed);
+void          _edje_embryo_test_run         (Edje *ed, const char *fname, const char *sig, const char *src);
+Edje_Var     *_edje_var_new                 (void);
+void          _edje_var_free                (Edje_Var *var);
+void          _edje_var_init                (Edje *ed);
+void          _edje_var_shutdown            (Edje *ed);
+int           _edje_var_string_id_get       (Edje *ed, const char *string);
+int           _edje_var_var_int_get         (Edje *ed, Edje_Var *var);
+void          _edje_var_var_int_set         (Edje *ed, Edje_Var *var, int v);
+double        _edje_var_var_float_get       (Edje *ed, Edje_Var *var);
+void          _edje_var_var_float_set       (Edje *ed, Edje_Var *var, double v);
+const char   *_edje_var_var_str_get         (Edje *ed, Edje_Var *var);
+void          _edje_var_var_str_set         (Edje *ed, Edje_Var *var, const char *str);
+int           _edje_var_int_get             (Edje *ed, int id);
+void          _edje_var_int_set             (Edje *ed, int id, int v);
+double        _edje_var_float_get           (Edje *ed, int id);
+void          _edje_var_float_set           (Edje *ed, int id, double v);
+const char   *_edje_var_str_get             (Edje *ed, int id);
+void          _edje_var_str_set             (Edje *ed, int id, const char *str);
+
+void          _edje_var_list_var_append(Edje *ed, int id, Edje_Var *var);
+void          _edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var);
+void          _edje_var_list_var_append_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
+void          _edje_var_list_var_prepend_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
+Edje_Var     *_edje_var_list_nth(Edje *ed, int id, int n);
+
+int           _edje_var_list_count_get(Edje *ed, int id);
+void          _edje_var_list_remove_nth(Edje *ed, int id, int n);
+
+int           _edje_var_list_nth_int_get(Edje *ed, int id, int n);
+void          _edje_var_list_nth_int_set(Edje *ed, int id, int n, int v);
+void          _edje_var_list_int_append(Edje *ed, int id, int v);
+void          _edje_var_list_int_prepend(Edje *ed, int id, int v);
+void          _edje_var_list_int_insert(Edje *ed, int id, int n, int v);
+
+double        _edje_var_list_nth_float_get(Edje *ed, int id, int n);
+void          _edje_var_list_nth_float_set(Edje *ed, int id, int n, double v);
+void          _edje_var_list_float_append(Edje *ed, int id, double v);
+void          _edje_var_list_float_prepend(Edje *ed, int id, double v);
+void          _edje_var_list_float_insert(Edje *ed, int id, int n, double v);
+
+const char   *_edje_var_list_nth_str_get(Edje *ed, int id, int n);
+void          _edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v);
+void          _edje_var_list_str_append(Edje *ed, int id, const char *v);
+void          _edje_var_list_str_prepend(Edje *ed, int id, const char *v);
+void          _edje_var_list_str_insert(Edje *ed, int id, int n, const char *v);
+
+int           _edje_var_timer_add           (Edje *ed, double in, const char *fname, int val);
+void          _edje_var_timer_del           (Edje *ed, int id);
+
+int           _edje_var_anim_add            (Edje *ed, double len, const char *fname, int val);
+void          _edje_var_anim_del            (Edje *ed, int id);
+
+void          _edje_message_init            (void);
+void          _edje_message_shutdown        (void);
+void          _edje_message_cb_set          (Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data);
+Edje_Message *_edje_message_new             (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id);
+void          _edje_message_free            (Edje_Message *em);
+void          _edje_message_propornot_send  (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg, Eina_Bool prop);
+void          _edje_message_send            (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg);
+void          _edje_message_parameters_push (Edje_Message *em);
+void          _edje_message_process         (Edje_Message *em);
+void          _edje_message_queue_process   (void);
+void          _edje_message_queue_clear     (void);
+void          _edje_message_del             (Edje *ed);
+
+void _edje_textblock_styles_add(Edje *ed);
+void _edje_textblock_styles_del(Edje *ed);
+void _edje_textblock_style_all_update(Edje *ed);
+void _edje_textblock_style_parse_and_fix(Edje_File *edf);
+void _edje_textblock_style_cleanup(Edje_File *edf);
+Edje_File *_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed);
+void _edje_cache_coll_clean(Edje_File *edf);
+void _edje_cache_coll_flush(Edje_File *edf);
+void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc);
+EAPI void edje_cache_emp_alloc(Edje_Part_Collection_Directory_Entry *ce);
+EAPI void edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce);
+EAPI void _edje_cache_file_unref(Edje_File *edf);
+
+void _edje_embryo_globals_init(Edje *ed);
+
+#define CHKPARAM(n) if (params[0] != (sizeof(Embryo_Cell) * (n))) return -1;
+#define HASNPARAMS(n) (params[0] == (sizeof(Embryo_Cell) * (n)))
+#define GETSTR(str, par) { \
+   Embryo_Cell *___cptr; \
+   int ___l; \
+   str = NULL; \
+   if ((___cptr = embryo_data_address_get(ep, (par)))) { \
+      ___l = embryo_data_string_length_get(ep, ___cptr); \
+      if (((str) = alloca(___l + 1))) \
+       embryo_data_string_get(ep, ___cptr, (str)); } }
+#define GETSTREVAS(str, par) { \
+   if ((str)) { \
+      if ((par) && (!strcmp((par), (str)))) return 0; \
+      if ((par)) eina_stringshare_del((par)); \
+      (par) = (char *)eina_stringshare_add((str)); } \
+   else (par) = NULL; }
+#define GETFLOAT(val, par) { \
+   float *___cptr; \
+   if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
+      val = *___cptr; } }
+
+#define GETFLOAT_T(val, par)                                           \
+  {                                                                    \
+     float *___cptr;                                                   \
+     if ((___cptr = (float *)embryo_data_address_get(ep, (par))))      \
+       {                                                               \
+         val = FROM_DOUBLE(*___cptr);                                  \
+       }                                                               \
+  }
+
+#define GETINT(val, par) {                     \
+   int *___cptr; \
+   if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
+      val = *___cptr; } }
+#define SETSTR(str, par) { \
+   Embryo_Cell *___cptr; \
+   if ((___cptr = embryo_data_address_get(ep, (par)))) { \
+      embryo_data_string_set(ep, str, ___cptr); } }
+#define SETSTRALLOCATE(s)                      \
+  {                                            \
+     if (s) {                                  \
+       if ((int) strlen((s)) < params[4]) {    \
+          SETSTR((s), params[3]); }            \
+       else {                                  \
+          char *ss;                            \
+          ss = alloca(strlen((s)) + 1);        \
+          strcpy(ss, (s));                     \
+          ss[params[4] - 2] = 0;               \
+          SETSTR(ss, params[3]); } }           \
+     else                                      \
+       SETSTR("", params[3]);                  \
+  }
+#define SETFLOAT(val, par) { \
+   float *___cptr; \
+   if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
+      *___cptr = (float)val; } }
+#define SETFLOAT_T(val, par)                                           \
+  {                                                                    \
+     float *___cptr;                                                   \
+     if ((___cptr = (float *)embryo_data_address_get(ep, (par))))      \
+       {                                                               \
+         *___cptr = (float) TO_DOUBLE(val);                            \
+       }                                                               \
+  }
+#define SETINT(val, par) { \
+   int *___cptr; \
+   if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
+      *___cptr = (int)val; } }
+
+Eina_Bool _edje_script_only(Edje *ed);
+void _edje_script_only_init(Edje *ed);
+void _edje_script_only_shutdown(Edje *ed);
+void _edje_script_only_show(Edje *ed);
+void _edje_script_only_hide(Edje *ed);
+void _edje_script_only_move(Edje *ed);
+void _edje_script_only_resize(Edje *ed);
+void _edje_script_only_message(Edje *ed, Edje_Message *em);
+
+extern jmp_buf _edje_lua_panic_jmp;
+#define _edje_lua_panic_here() setjmp(_edje_lua_panic_jmp)
+
+lua_State *_edje_lua_state_get();
+lua_State *_edje_lua_new_thread(Edje *ed, lua_State *L);
+void _edje_lua_free_thread(Edje *ed, lua_State *L);
+void _edje_lua_new_reg(lua_State *L, int index, void *ptr);
+void _edje_lua_get_reg(lua_State *L, void *ptr);
+void _edje_lua_free_reg(lua_State *L, void *ptr);
+void _edje_lua_script_fn_new(Edje *ed);
+void _edje_lua_group_fn_new(Edje *ed);
+void _edje_lua_init();
+void _edje_lua_shutdown();
+
+void __edje_lua_error(const char *file, const char *fnc, int line, lua_State *L, int err_code);
+#define _edje_lua_error(L, err_code)                                   \
+  __edje_lua_error(__FILE__, __FUNCTION__, __LINE__, L, err_code)
+
+Eina_Bool  _edje_lua_script_only(Edje *ed);
+void _edje_lua_script_only_init(Edje *ed);
+void _edje_lua_script_only_shutdown(Edje *ed);
+void _edje_lua_script_only_show(Edje *ed);
+void _edje_lua_script_only_hide(Edje *ed);
+void _edje_lua_script_only_move(Edje *ed);
+void _edje_lua_script_only_resize(Edje *ed);
+void _edje_lua_script_only_message(Edje *ed, Edje_Message *em);
+
+void _edje_entry_init(Edje *ed);
+void _edje_entry_shutdown(Edje *ed);
+void _edje_entry_real_part_init(Edje_Real_Part *rp);
+void _edje_entry_real_part_shutdown(Edje_Real_Part *rp);
+void _edje_entry_real_part_configure(Edje_Real_Part *rp);
+const char *_edje_entry_selection_get(Edje_Real_Part *rp);
+const char *_edje_entry_text_get(Edje_Real_Part *rp);
+void _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text);
+void _edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text);
+void _edje_entry_text_markup_append(Edje_Real_Part *rp, const char *text);
+void _edje_entry_set_cursor_start(Edje_Real_Part *rp);
+void _edje_entry_set_cursor_end(Edje_Real_Part *rp);
+void _edje_entry_cursor_copy(Edje_Real_Part *rp, Edje_Cursor cur, Edje_Cursor dst);
+void _edje_entry_select_none(Edje_Real_Part *rp);
+void _edje_entry_select_all(Edje_Real_Part *rp);
+void _edje_entry_select_begin(Edje_Real_Part *rp);
+void _edje_entry_select_extend(Edje_Real_Part *rp);
+const Eina_List *_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char *anchor);
+const Eina_List *_edje_entry_anchors_list(Edje_Real_Part *rp);
+Eina_Bool _edje_entry_item_geometry_get(Edje_Real_Part *rp, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+const Eina_List *_edje_entry_items_list(Edje_Real_Part *rp);
+void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+void _edje_entry_user_insert(Edje_Real_Part *rp, const char *text);
+void _edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow);
+Eina_Bool _edje_entry_select_allow_get(const Edje_Real_Part *rp);
+void _edje_entry_select_abort(Edje_Real_Part *rp);
+void *_edje_entry_imf_context_get(Edje_Real_Part *rp);
+Eina_Bool _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur);
+Eina_Bool _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur);
+Eina_Bool _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur);
+Eina_Bool _edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur);
+Eina_Bool _edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur, int x, int y);
+Eina_Bool _edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
+Eina_Bool _edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
+char *_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos);
+int _edje_entry_cursor_pos_get(Edje_Real_Part *rp, Edje_Cursor cur);
+void _edje_entry_imf_context_reset(Edje_Real_Part *rp);
+void _edje_entry_input_panel_layout_set(Edje_Real_Part *rp, Edje_Input_Panel_Layout layout);
+Edje_Input_Panel_Layout _edje_entry_input_panel_layout_get(Edje_Real_Part *rp);
+void _edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type);
+Edje_Text_Autocapital_Type _edje_entry_autocapital_type_get(Edje_Real_Part *rp);
+void _edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction);
+Eina_Bool _edje_entry_prediction_allow_get(Edje_Real_Part *rp);
+void _edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled);
+Eina_Bool _edje_entry_input_panel_enabled_get(Edje_Real_Part *rp);
+void _edje_entry_input_panel_show(Edje_Real_Part *rp);
+void _edje_entry_input_panel_hide(Edje_Real_Part *rp);
+void _edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang);
+Edje_Input_Panel_Lang _edje_entry_input_panel_language_get(Edje_Real_Part *rp);
+void _edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len);
+void _edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len);
+void _edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type);
+Edje_Input_Panel_Return_Key_Type _edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp);
+void _edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled);
+Eina_Bool _edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp);
+
+void _edje_external_init();
+void _edje_external_shutdown();
+Evas_Object *_edje_external_type_add(const char *type_name, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name);
+void _edje_external_signal_emit(Evas_Object *obj, const char *emission, const char *source);
+Eina_Bool _edje_external_param_set(Evas_Object *obj, Edje_Real_Part *rp, const Edje_External_Param *param) EINA_ARG_NONNULL(2);
+Eina_Bool _edje_external_param_get(const Evas_Object *obj, Edje_Real_Part *rp, Edje_External_Param *param) EINA_ARG_NONNULL(2);
+Evas_Object *_edje_external_content_get(const Evas_Object *obj, const char *content) EINA_ARG_NONNULL(1, 2);
+void _edje_external_params_free(Eina_List *params, Eina_Bool free_strings);
+void _edje_external_recalc_apply(Edje *ed, Edje_Real_Part *ep,
+                                Edje_Calc_Params *params,
+                                Edje_Part_Description_Common *chosen_desc);
+void *_edje_external_params_parse(Evas_Object *obj, const Eina_List *params);
+void _edje_external_parsed_params_free(Evas_Object *obj, void *params);
+
+Eina_Module *_edje_module_handle_load(const char *module);
+void _edje_module_init();
+void _edje_module_shutdown();
+
+static inline Eina_Bool
+edje_program_is_strncmp(const char *str)
+{
+   size_t length;
+
+   length = strlen(str);
+
+   if (strpbrk(str, "*?[\\") != str + length)
+     return EINA_FALSE;
+   if (str[length] == '['
+       || str[length] == '\\')
+     return EINA_FALSE;
+   return EINA_TRUE;
+}
+
+static inline Eina_Bool
+edje_program_is_strrncmp(const char *str)
+{
+   if (*str != '*' && *str != '?')
+     return EINA_FALSE;
+   if (strpbrk(str + 1, "*?[\\"))
+     return EINA_FALSE;
+   return EINA_TRUE;
+}
+void edje_object_propagate_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data);
+
+
+/* used by edje_cc - private still */
+EAPI void _edje_program_insert(Edje_Part_Collection *ed, Edje_Program *p);
+EAPI void _edje_program_remove(Edje_Part_Collection *ed, Edje_Program *p);
+
+void _edje_lua2_error_full(const char *file, const char *fnc, int line, lua_State *L, int err_code);
+#define _edje_lua2_error(L, err_code) _edje_lua2_error_full(__FILE__, __FUNCTION__, __LINE__, L, err_code)
+void _edje_lua2_script_init(Edje *ed);
+void _edje_lua2_script_shutdown(Edje *ed);
+void _edje_lua2_script_load(Edje_Part_Collection *edc, void *data, int size);
+void _edje_lua2_script_unload(Edje_Part_Collection *edc);
+
+void _edje_lua2_script_func_shutdown(Edje *ed);
+void _edje_lua2_script_func_show(Edje *ed);
+void _edje_lua2_script_func_hide(Edje *ed);
+void _edje_lua2_script_func_move(Edje *ed);
+void _edje_lua2_script_func_resize(Edje *ed);
+void _edje_lua2_script_func_message(Edje *ed, Edje_Message *em);
+void _edje_lua2_script_func_signal(Edje *ed, const char *sig, const char *src);
+
+const char *edje_string_get(const Edje_String *es);
+const char *edje_string_id_get(const Edje_String *es);
+
+void _edje_object_orientation_inform(Evas_Object *obj);
+
+void _edje_lib_ref(void);
+void _edje_lib_unref(void);
+
+void _edje_subobj_register(Edje *ed, Evas_Object *ob);
+void _edje_subobj_unregister(Edje *ed, Evas_Object *ob);
+
+void _edje_multisense_init(void);
+void _edje_multisense_shutdown(void);
+Eina_Bool _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed);
+Eina_Bool _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration);
+
+void _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *state);
+
+void _edje_user_definition_remove(Edje_User_Defined *eud, Evas_Object *child);
+void _edje_user_definition_free(Edje_User_Defined *eud);
+
+void _scale_set(Eo *obj, void *_pd, va_list *list);
+void _scale_get(Eo *obj, void *_pd, va_list *list);
+void _mirrored_get(Eo *obj, void *_pd, va_list *list);
+void _mirrored_set(Eo *obj, void *_pd, va_list *list);
+void _data_get(Eo *obj, void *_pd, va_list *list);
+void _freeze(Eo *obj, void *_pd, va_list *list);
+void _thaw(Eo *obj, void *_pd, va_list *list);
+void _color_class_set(Eo *obj, void *_pd, va_list *list);
+void _color_class_get(Eo *obj, void *_pd, va_list *list);
+void _text_class_set(Eo *obj, void *_pd, va_list *list);
+void _part_exists(Eo *obj, void *_pd, va_list *list);
+void _part_object_get(Eo *obj, void *_pd, va_list *list);
+void _part_geometry_get(Eo *obj, void *_pd, va_list *list);
+void _item_provider_set(Eo *obj, void *_pd, va_list *list);
+void _text_change_cb_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_style_user_push(Eo *obj, void *_pd, va_list *list);
+void _part_text_style_user_pop(Eo *obj, void *_pd, va_list *list);
+void _part_text_style_user_peek(Eo *obj, void *_pd, va_list *list);
+void _part_text_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_escaped_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_unescaped_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_unescaped_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_selection_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_none(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_all(Eo *obj, void *_pd, va_list *list);
+void _part_text_insert(Eo *obj, void *_pd, va_list *list);
+void _part_text_append(Eo *obj, void *_pd, va_list *list);
+void _part_text_anchor_list_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_anchor_geometry_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_item_list_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_item_geometry_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_geometry_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_user_insert(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_allow_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_abort(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_begin(Eo *obj, void *_pd, va_list *list);
+void _part_text_select_extend(Eo *obj, void *_pd, va_list *list);
+void _part_text_imf_context_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_next(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_prev(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_up(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_down(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_begin_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_end_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_copy(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_line_begin_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_line_end_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_coord_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_is_format_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_is_visible_format_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_content_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_pos_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_cursor_pos_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_imf_context_reset(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_layout_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_layout_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_autocapital_type_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_autocapital_type_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_prediction_allow_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_prediction_allow_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_enabled_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_enabled_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_show(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_hide(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_language_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_language_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_imdata_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_imdata_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_return_key_type_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_return_key_type_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_return_key_disabled_set(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_return_key_disabled_get(Eo *obj, void *_pd, va_list *list);
+void _text_insert_filter_callback_add(Eo *obj, void *_pd, va_list *list);
+void _text_insert_filter_callback_del(Eo *obj, void *_pd, va_list *list);
+void _text_insert_filter_callback_del_full(Eo *obj, void *_pd, va_list *list);
+void _text_markup_filter_callback_add(Eo *obj, void *_pd, va_list *list);
+void _text_markup_filter_callback_del(Eo *obj, void *_pd, va_list *list);
+void _text_markup_filter_callback_del_full(Eo *obj, void *_pd, va_list *list);
+void _part_swallow(Eo *obj, void *_pd, va_list *list);
+void _part_unswallow(Eo *obj, void *_pd, va_list *list);
+void _part_swallow_get(Eo *obj, void *_pd, va_list *list);
+void _size_min_get(Eo *obj, void *_pd, va_list *list);
+void _size_max_get(Eo *obj, void *_pd, va_list *list);
+void _calc_force(Eo *obj, void *_pd, va_list *list);
+void _size_min_calc(Eo *obj, void *_pd, va_list *list);
+void _parts_extends_calc(Eo *obj, void *_pd, va_list *list);
+void _size_min_restricted_calc(Eo *obj, void *_pd, va_list *list);
+void _part_state_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_dir_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_value_set(Eo *obj, void *_pd, va_list *list);
+void _part_drag_value_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_size_set(Eo *obj, void *_pd, va_list *list);
+void _part_drag_size_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_step_set(Eo *obj, void *_pd, va_list *list);
+void _part_drag_step_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_page_set(Eo *obj, void *_pd, va_list *list);
+void _part_drag_page_get(Eo *obj, void *_pd, va_list *list);
+void _part_drag_step(Eo *obj, void *_pd, va_list *list);
+void _part_drag_page(Eo *obj, void *_pd, va_list *list);
+void _part_box_append(Eo *obj, void *_pd, va_list *list);
+void _part_box_prepend(Eo *obj, void *_pd, va_list *list);
+void _part_box_insert_before(Eo *obj, void *_pd, va_list *list);
+void _part_box_insert_at(Eo *obj, void *_pd, va_list *list);
+void _part_box_remove(Eo *obj, void *_pd, va_list *list);
+void _part_box_remove_at(Eo *obj, void *_pd, va_list *list);
+void _part_box_remove_all(Eo *obj, void *_pd, va_list *list);
+void _access_part_list_get(Eo *obj, void *_pd, va_list *list);
+void _part_table_child_get(Eo *obj, void *_pd, va_list *list);
+void _part_table_pack(Eo *obj, void *_pd, va_list *list);
+void _part_table_unpack(Eo *obj, void *_pd, va_list *list);
+void _part_table_col_row_size_get(Eo *obj, void *_pd, va_list *list);
+void _part_table_clear(Eo *obj, void *_pd, va_list *list);
+void _perspective_set(Eo *obj, void *_pd, va_list *list);
+void _perspective_get(Eo *obj, void *_pd, va_list *list);
+void _preload(Eo *obj, void *_pd, va_list *list);
+void _update_hints_set(Eo *obj, void *_pd, va_list *list);
+void _update_hints_get(Eo *obj, void *_pd, va_list *list);
+
+void _part_external_object_get(Eo *obj, void *_pd, va_list *list);
+void _part_external_param_set(Eo *obj, void *_pd, va_list *list);
+void _part_external_param_get(Eo *obj, void *_pd, va_list *list);
+void _part_external_content_get(Eo *obj, void *_pd, va_list *list);
+void _part_external_param_type_get(Eo *obj, void *_pd, va_list *list);
+
+void _file_get(Eo *obj, void *_pd, va_list *list);
+void _load_error_get(Eo *obj, void *_pd, va_list *list);
+
+void _message_send(Eo *obj, void *_pd, va_list *list);
+void _message_handler_set(Eo *obj, void *_pd, va_list *list);
+void _message_signal_process(Eo *obj, void *_pd, va_list *list);
+
+void _signal_callback_add(Eo *obj, void *_pd, va_list *list);
+void _signal_callback_del(Eo *obj, void *_pd, va_list *list);
+void _signal_callback_del_full(Eo *obj, void *_pd, va_list *list);
+void _signal_emit(Eo *obj, void *_pd, va_list *list);
+void _play_set(Eo *obj, void *_pd, va_list *list);
+void _play_get(Eo *obj, void *_pd, va_list *list);
+void _animation_set(Eo *obj, void *_pd, va_list *list);
+void _animation_get(Eo *obj, void *_pd, va_list *list);
+
+#ifdef HAVE_LIBREMIX
+#include <remix/remix.h>
+#endif
+#include <Eina.h>
+
+typedef struct _Edje_Multisense_Env  Edje_Multisense_Env;
+
+struct _Edje_Multisense_Env
+{
+#ifdef HAVE_LIBREMIX
+   RemixEnv *remixenv;
+#endif
+};
+
+typedef Eina_Bool (*MULTISENSE_FACTORY_INIT_FUNC) (Edje_Multisense_Env *);
+#ifdef HAVE_LIBREMIX
+typedef RemixBase* (*MULTISENSE_SOUND_PLAYER_GET_FUNC) (Edje_Multisense_Env *);
+#endif
+
+#endif
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
new file mode 100644 (file)
index 0000000..f1e8a77
--- /dev/null
@@ -0,0 +1,2335 @@
+#include "edje_private.h"
+
+static void _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop);
+static void _edje_param_copy(Edje_Real_Part *src_part, const char *src_param, Edje_Real_Part *dst_part, const char *dst_param);
+static void _edje_param_set(Edje_Real_Part *part, const char *param, const char *value);
+
+int             _edje_anim_count = 0;
+Ecore_Animator *_edje_timer = NULL;
+Eina_List      *_edje_animators = NULL;
+
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+EAPI void
+edje_frametime_set(double t)
+{
+   ecore_animator_frametime_set(t);
+}
+
+EAPI double
+edje_frametime_get(void)
+{
+   return ecore_animator_frametime_get();
+}
+
+void
+edje_object_propagate_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
+{
+   Edje *ed;
+   Edje_Signal_Callback *escb;
+
+   ed = _edje_fetch(obj);
+   if (!ed) return;
+   if (ed->delete_me) return;
+   escb = calloc(1, sizeof(Edje_Signal_Callback));
+   escb->propagate = EINA_TRUE;
+   escb->signal = eina_stringshare_add("*");
+   escb->source = eina_stringshare_add("*");
+   escb->func = func;
+   escb->data = data;
+   ed->callbacks = eina_list_append(ed->callbacks, escb);
+   if (ed->walking_callbacks)
+     {
+       escb->just_added = 1;
+       ed->just_added_callbacks = EINA_TRUE;
+     }
+   else
+     _edje_callbacks_patterns_clean(ed);
+}
+
+EAPI void
+edje_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_signal_callback_add(emission, source, (Edje_Signal_Cb)func, data));
+}
+
+void
+_signal_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *emission = va_arg(*list, const char *);
+   const char *source = va_arg(*list, const char *);
+   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
+   void *data = va_arg(*list, void *);
+
+   Edje *ed = _pd;
+   Edje_Signal_Callback *escb;
+
+   if ((!emission) || (!source) || (!func)) return;
+   ed = _pd;
+   if (!ed) return;
+   if (ed->delete_me) return;
+   escb = calloc(1, sizeof(Edje_Signal_Callback));
+   if (emission[0])
+     escb->signal = eina_stringshare_add(emission);
+   if (source[0])
+     escb->source = eina_stringshare_add(source);
+   escb->func = func;
+   escb->data = data;
+   ed->callbacks = eina_list_append(ed->callbacks, escb);
+   if (ed->walking_callbacks)
+     {
+       escb->just_added = 1;
+       ed->just_added_callbacks = EINA_TRUE;
+     }
+   else
+     _edje_callbacks_patterns_clean(ed);
+}
+
+EAPI void *
+edje_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source))
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_signal_callback_del(emission, source, (Edje_Signal_Cb)func, &ret));
+   return ret;
+}
+
+void
+_signal_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *emission = va_arg(*list, const char *);
+   const char *source = va_arg(*list, const char *);
+   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
+   void **ret = va_arg(*list, void **);
+   if (ret) *ret = NULL;
+
+   Edje *ed = _pd;
+   Eina_List *l;
+   Edje_Signal_Callback *escb;
+
+   if ((!emission) || (!source) || (!func)) return;
+   if (!ed) return;
+   if (ed->delete_me) return;
+   EINA_LIST_FOREACH(ed->callbacks, l, escb)
+     {
+       if ((escb->func == func) &&
+           ((!escb->signal && !emission[0]) ||
+             (escb->signal && !strcmp(escb->signal, emission))) &&
+           ((!escb->source && !source[0]) ||
+             (escb->source && !strcmp(escb->source, source))))
+         {
+            void *data;
+
+            data = escb->data;
+            if (ed->walking_callbacks)
+              {
+                 escb->delete_me = EINA_TRUE;
+                 ed->delete_callbacks = EINA_TRUE;
+              }
+            else
+              {
+                 _edje_callbacks_patterns_clean(ed);
+
+                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
+                 if (escb->signal) eina_stringshare_del(escb->signal);
+                 if (escb->source) eina_stringshare_del(escb->source);
+                 free(escb);
+              }
+            if (ret) *ret = data;
+             return;
+         }
+     }
+   return;
+}
+
+EAPI void *
+edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_signal_callback_del_full(emission, source, func, data, &ret));
+   return ret;
+}
+
+void
+_signal_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *emission = va_arg(*list, const char *);
+   const char *source = va_arg(*list, const char *);
+   Edje_Signal_Cb func = va_arg(*list, Edje_Signal_Cb);
+   void *data = va_arg(*list, void *);
+   void **ret = va_arg(*list, void **);
+   if (ret) *ret = NULL;
+
+   Edje *ed = _pd;
+   Eina_List *l;
+   Edje_Signal_Callback *escb;
+
+   if ((!emission) || (!source) || (!func)) return;
+   if (!ed) return;
+   if (ed->delete_me) return;
+   EINA_LIST_FOREACH(ed->callbacks, l, escb)
+     {
+       if ((escb->func == func) && (escb->data == data) &&
+           ((!escb->signal && !emission[0]) ||
+             (escb->signal && !strcmp(escb->signal, emission))) &&
+           ((!escb->source && !source[0]) ||
+             (escb->source && !strcmp(escb->source, source))))
+         {
+            void *data2;
+
+            data2 = escb->data;
+            if (ed->walking_callbacks)
+              {
+                 escb->delete_me = EINA_TRUE;
+                 ed->delete_callbacks = EINA_TRUE;
+              }
+            else
+              {
+                 _edje_callbacks_patterns_clean(ed);
+
+                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
+                 if (escb->signal) eina_stringshare_del(escb->signal);
+                 if (escb->source) eina_stringshare_del(escb->source);
+                 free(escb);
+              }
+            if (ret) *ret = data2;
+             return;
+         }
+     }
+   return;
+}
+
+EAPI void
+edje_object_signal_emit(Evas_Object *obj, const char *emission, const char *source)
+{
+   if (!obj) return;
+   if (!eo_isa(obj, EDJE_OBJ_CLASS)) return;
+   eo_do(obj, edje_obj_signal_emit(emission, source));
+}
+
+void
+_signal_emit(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *emission = va_arg(*list, const char *);
+   const char *source = va_arg(*list, const char *);
+   Edje *ed;
+
+   if ((!emission) || (!source)) return;
+   ed = _pd;
+   if (!ed) return;
+   if (ed->delete_me) return;
+   _edje_emit(ed, (char *)emission, (char *)source);
+}
+
+/* FIXDOC: Verify/Expand */
+EAPI void
+edje_object_play_set(Evas_Object *obj, Eina_Bool play)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_play_set(play));
+}
+
+void
+_play_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool play = va_arg(*list, int);
+
+   Edje *ed = _pd;
+   double t;
+   Eina_List *l;
+   Edje_Running_Program *runp;
+   unsigned int i;
+
+   if (!ed) return;
+   if (ed->delete_me) return;
+   if (play)
+     {
+       if (!ed->paused) return;
+       ed->paused = EINA_FALSE;
+       t = ecore_time_get() - ed->paused_at;
+       EINA_LIST_FOREACH(ed->actions, l, runp)
+         runp->start_time += t;
+     }
+   else
+     {
+       if (ed->paused) return;
+       ed->paused = EINA_TRUE;
+       ed->paused_at = ecore_time_get();
+     }
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+       Edje_Real_Part *rp;
+       rp = ed->table_parts[i];
+       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+         edje_object_play_set(rp->typedata.swallow->swallowed_object, play);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_play_get(const Evas_Object *obj)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_play_get(&ret));
+   return ret;
+}
+
+void
+_play_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   *ret = EINA_FALSE;
+
+   if (!ed) return;
+   if (ed->delete_me) return;
+   if (ed->paused) return;
+   *ret = EINA_TRUE;
+}
+
+/* FIXDOC: Verify/Expand */
+EAPI void
+edje_object_animation_set(Evas_Object *obj, Eina_Bool on)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_animation_set(on));
+}
+
+void
+_animation_set(Eo *obj, void *_pd, va_list *list)
+{
+   Eina_Bool on = va_arg(*list, int);
+   Edje *ed = _pd;
+   Eina_List *l;
+   unsigned int i;
+
+   if (!ed) return;
+   if (ed->delete_me) return;
+   _edje_block(ed);
+   ed->no_anim = !on;
+   _edje_freeze(ed);
+   if (!on)
+     {
+       Eina_List *newl = NULL;
+       const void *data;
+
+       EINA_LIST_FOREACH(ed->actions, l, data)
+         newl = eina_list_append(newl, data);
+       while (newl)
+         {
+            Edje_Running_Program *runp;
+
+            runp = eina_list_data_get(newl);
+            newl = eina_list_remove(newl, eina_list_data_get(newl));
+            _edje_program_run_iterate(runp, runp->start_time + TO_DOUBLE(runp->program->tween.time));
+            if (_edje_block_break(ed))
+              {
+                 eina_list_free(newl);
+                 goto break_prog;
+              }
+         }
+     }
+   else
+     {
+       _edje_emit(ed, "load", NULL);
+       if (evas_object_visible_get(obj))
+         {
+            evas_object_hide(obj);
+            evas_object_show(obj);
+         }
+     }
+   break_prog:
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+       Edje_Real_Part *rp;
+       rp = ed->table_parts[i];
+       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+         edje_object_animation_set(rp->typedata.swallow->swallowed_object, on);
+     }
+
+   _edje_thaw(ed);
+   _edje_unblock(ed);
+}
+
+
+EAPI Eina_Bool
+edje_object_animation_get(const Evas_Object *obj)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_animation_get(&ret));
+   return ret;
+}
+
+void
+_animation_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   *ret = EINA_FALSE;
+
+   if (!ed) return;
+   if (ed->delete_me) return;
+   if (ed->no_anim) return;
+   *ret = EINA_TRUE;
+}
+
+/* Private Routines */
+
+Eina_Bool
+_edje_program_run_iterate(Edje_Running_Program *runp, double tim)
+{
+   FLOAT_T t, total;
+   Eina_List *l;
+   Edje *ed;
+   Edje_Program_Target *pt;
+   Edje_Real_Part *rp;
+
+   ed = runp->edje;
+   if (ed->delete_me) return EINA_FALSE;
+   _edje_block(ed);
+   _edje_ref(ed);
+   _edje_freeze(ed);
+   t = FROM_DOUBLE(tim - runp->start_time);
+   total = runp->program->tween.time;
+   t = DIV(t, total);
+   if (t > FROM_INT(1)) t = FROM_INT(1);
+   EINA_LIST_FOREACH(runp->program->targets, l, pt)
+     {
+       if (pt->id >= 0)
+         {
+            rp = ed->table_parts[pt->id % ed->table_parts_size];
+            if (rp) _edje_part_pos_set(ed, rp,
+                                       runp->program->tween.mode, t,
+                                        runp->program->tween.v1,
+                                        runp->program->tween.v2);
+         }
+     }
+   if (t >= FROM_INT(1))
+     {
+        Edje_Program_After *pa;
+
+        EINA_LIST_FOREACH(runp->program->targets, l, pt)
+         {
+            if (pt->id >= 0)
+              {
+                 rp = ed->table_parts[pt->id % ed->table_parts_size];
+                 if (rp)
+                   {
+                      _edje_part_description_apply(ed, rp,
+                                                   runp->program->state,
+                                                   runp->program->value,
+                                                   NULL,
+                                                   0.0);
+                      _edje_part_pos_set(ed, rp,
+                                         runp->program->tween.mode, ZERO,
+                                          runp->program->tween.v1,
+                                          runp->program->tween.v2);
+                      rp->program = NULL;
+                   }
+              }
+         }
+       _edje_recalc(ed);
+       runp->delete_me = EINA_TRUE;
+       if (!ed->walking_actions)
+         {
+            _edje_anim_count--;
+            ed->actions = eina_list_remove(ed->actions, runp);
+            if (!ed->actions)
+              _edje_animators = eina_list_remove(_edje_animators, ed);
+         }
+//     _edje_emit(ed, "program,stop", runp->program->name);
+       if (_edje_block_break(ed))
+         {
+            if (!ed->walking_actions) free(runp);
+            goto break_prog;
+         }
+       EINA_LIST_FOREACH(runp->program->after, l, pa)
+         {
+            Edje_Program *pr;
+
+            if (pa->id >= 0)
+              {
+                 pr = ed->table_programs[pa->id % ed->table_programs_size];
+                 if (pr) _edje_program_run(ed, pr, 0, "", "");
+                 if (_edje_block_break(ed))
+                   {
+                      if (!ed->walking_actions) free(runp);
+                      goto break_prog;
+                   }
+              }
+         }
+       _edje_thaw(ed);
+       _edje_unref(ed);
+       if (!ed->walking_actions) free(runp);
+       _edje_unblock(ed);
+       return  EINA_FALSE;
+     }
+   break_prog:
+   _edje_recalc(ed);
+   _edje_thaw(ed);
+   _edje_unref(ed);
+   _edje_unblock(ed);
+   return EINA_TRUE;
+}
+
+void
+_edje_program_end(Edje *ed, Edje_Running_Program *runp)
+{
+   Eina_List *l;
+   Edje_Program_Target *pt;
+//   const char *pname = NULL;
+   int free_runp = 0;
+
+   if (ed->delete_me) return;
+   _edje_ref(ed);
+   _edje_freeze(ed);
+   EINA_LIST_FOREACH(runp->program->targets, l, pt)
+     {
+       Edje_Real_Part *rp;
+
+       if (pt->id >= 0)
+         {
+            rp = ed->table_parts[pt->id % ed->table_parts_size];
+            if (rp)
+              {
+                 _edje_part_description_apply(ed, rp,
+                                              runp->program->state,
+                                              runp->program->value,
+                                              NULL,
+                                              0.0);
+                 _edje_part_pos_set(ed, rp,
+                                    runp->program->tween.mode, ZERO,
+                                     runp->program->tween.v1,
+                                     runp->program->tween.v2);
+                 rp->program = NULL;
+              }
+         }
+     }
+   _edje_recalc(ed);
+   runp->delete_me = EINA_TRUE;
+//   pname = runp->program->name;
+   if (!ed->walking_actions)
+     {
+       _edje_anim_count--;
+       ed->actions = eina_list_remove(ed->actions, runp);
+       free_runp = 1;
+       if (!ed->actions)
+         {
+            _edje_animators = eina_list_remove(_edje_animators, ed);
+         }
+     }
+//   _edje_emit(ed, "program,stop", pname);
+   _edje_thaw(ed);
+   _edje_unref(ed);
+   if (free_runp) free(runp);
+}
+
+#ifdef HAVE_EPHYSICS
+static Eina_Bool
+_edje_physics_action_set(Edje *ed, Edje_Program *pr, void (*func)(EPhysics_Body *body, double x, double y, double z))
+{
+   Edje_Program_Target *pt;
+   Edje_Real_Part *rp;
+   Eina_List *l;
+
+   if (_edje_block_break(ed)) return EINA_FALSE;
+
+   EINA_LIST_FOREACH(pr->targets, l, pt)
+     {
+        if (pt->id >= 0)
+          {
+             rp = ed->table_parts[pt->id % ed->table_parts_size];
+             if ((rp) && (rp->body))
+               func(rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
+          }
+     }
+
+   return EINA_TRUE;
+}
+#endif
+
+void
+_edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, const char *ssrc)
+{
+   Eina_List *l;
+   Edje_Real_Part *rp;
+   Edje_Program_Target *pt;
+   Edje_Program *pr2;
+   Edje_Program_After *pa;
+   /* limit self-feeding loops in programs to 64 levels */
+   static int recursions = 0;
+   static int recursion_limit = 0;
+
+   if (ed->delete_me) return;
+   if ((pr->in.from > 0.0) && (pr->in.range >= 0.0) && (!force))
+     {
+       Edje_Pending_Program *pp;
+       double r = 0.0;
+
+       pp = calloc(1, sizeof(Edje_Pending_Program));
+       if (!pp) return;
+       if (pr->in.range > 0.0) r = ((double)rand() / RAND_MAX);
+       pp->timer = ecore_timer_add(pr->in.from + (pr->in.range * r),
+                                   _edje_pending_timer_cb, pp);
+       if (!pp->timer)
+         {
+            free(pp);
+            return;
+         }
+       pp->edje = ed;
+       pp->program = pr;
+       ed->pending_actions = eina_list_append(ed->pending_actions, pp);
+       return;
+     }
+   if ((recursions >= 64) || (recursion_limit))
+     {
+       ERR("Programs recursing up to recursion limit of %i in '%s' with '%s', '%s' from '%s', '%s'. Disabled.",
+           64, pr->name, ssig, ssrc, ed->path, ed->group);
+       recursion_limit = 1;
+       return;
+     }
+   recursions++;
+   _edje_block(ed);
+   _edje_ref(ed);
+   _edje_freeze(ed);
+   switch (pr->action)
+     {
+     case EDJE_ACTION_TYPE_STATE_SET:
+       if ((pr->tween.time > ZERO) && (!ed->no_anim))
+         {
+            Edje_Running_Program *runp;
+
+            runp = calloc(1, sizeof(Edje_Running_Program));
+            EINA_LIST_FOREACH(pr->targets, l, pt)
+              {
+                 if (pt->id >= 0)
+                   {
+                      rp = ed->table_parts[pt->id % ed->table_parts_size];
+                      if (rp)
+                        {
+                            if ((rp->object) && (pr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT))
+                              {
+                                 Edje_Calc_Params *tmp;
+
+                                 tmp = calloc(1, sizeof(Edje_Calc_Params));
+                                 if (!tmp) goto low_mem_current;
+                                _edje_part_recalc(ed, rp, FLAG_XY, tmp);
+
+                                 if (rp->current) free(rp->current);
+                                 rp->current = tmp;
+
+                                rp->current->x -= ed->x;
+                                rp->current->y -= ed->y;
+                                rp->current->map.center.x -= ed->x;
+                                rp->current->map.center.y -= ed->y;
+                                rp->current->map.light.x -= ed->x;
+                                rp->current->map.light.y -= ed->y;
+                                rp->current->map.persp.x -= ed->x;
+                                rp->current->map.persp.y -= ed->y;
+                              }
+                            else
+                              {
+                              low_mem_current:
+                                 if (rp->current) free(rp->current);
+                                 rp->current = NULL;
+                              }
+
+                           if (rp->program)
+                              _edje_program_end(ed, rp->program);
+                           _edje_part_description_apply(ed, rp,
+                                                        rp->param1.description->state.name,
+                                                        rp->param1.description->state.value,
+                                                        pr->state,
+                                                        pr->value);
+                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
+                                               pr->tween.v1,
+                                               pr->tween.v2);
+                           rp->program = runp;
+                        }
+                   }
+              }
+             // _edje_emit(ed, "program,start", pr->name);
+            if (_edje_block_break(ed))
+              {
+                 ed->actions = eina_list_append(ed->actions, runp);
+                 goto break_prog;
+              }
+            if (!ed->actions)
+              _edje_animators = eina_list_append(_edje_animators, ed);
+            ed->actions = eina_list_append(ed->actions, runp);
+            runp->start_time = ecore_loop_time_get();
+            runp->edje = ed;
+            runp->program = pr;
+            if (!_edje_timer)
+              _edje_timer = ecore_animator_add(_edje_timer_cb, NULL);
+            _edje_anim_count++;
+         }
+       else
+         {
+            EINA_LIST_FOREACH(pr->targets, l, pt)
+              {
+                 if (pt->id >= 0)
+                   {
+                      rp = ed->table_parts[pt->id % ed->table_parts_size];
+                      if (rp)
+                        {
+                           if (rp->program)
+                              _edje_program_end(ed, rp->program);
+                           _edje_part_description_apply(ed, rp,
+                                                        pr->state,
+                                                        pr->value,
+                                                        NULL,
+                                                        0.0);
+                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
+                                               pr->tween.v1,
+                                               pr->tween.v2);
+                        }
+                   }
+              }
+             // _edje_emit(ed, "program,start", pr->name);
+            if (_edje_block_break(ed)) goto break_prog;
+             // _edje_emit(ed, "program,stop", pr->name);
+            if (_edje_block_break(ed)) goto break_prog;
+
+            EINA_LIST_FOREACH(pr->after, l, pa)
+              {
+                 if (pa->id >= 0)
+                   {
+                      pr2 = ed->table_programs[pa->id % ed->table_programs_size];
+                      if (pr2) _edje_program_run(ed, pr2, 0, "", "");
+                      if (_edje_block_break(ed)) goto break_prog;
+                   }
+              }
+            _edje_recalc(ed);
+         }
+        break;
+     case EDJE_ACTION_TYPE_ACTION_STOP:
+        // _edje_emit(ed, "program,start", pr->name);
+        EINA_LIST_FOREACH(pr->targets, l, pt)
+         {
+            Eina_List *ll;
+            Edje_Running_Program *runp;
+            Edje_Pending_Program *pp;
+
+             for (ll = ed->actions; ll; )
+               {
+                  runp = ll->data;
+                  ll = ll->next;
+                 if (pt->id == runp->program->id)
+                   {
+                      _edje_program_end(ed, runp);
+//                    goto done;
+                   }
+              }
+             for (ll = ed->pending_actions; ll; )
+              {
+                  pp = ll->data;
+                  ll = ll->next;
+                 if (pt->id == pp->program->id)
+                   {
+                      ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
+                      ecore_timer_del(pp->timer);
+                      free(pp);
+//                    goto done;
+                   }
+              }
+//          done:
+//             continue;
+         }
+        // _edje_emit(ed, "program,stop", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_SIGNAL_EMIT:
+        // _edje_emit(ed, "program,start", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+       _edje_emit(ed, pr->state, pr->state2);
+       if (_edje_block_break(ed)) goto break_prog;
+        // _edje_emit(ed, "program,stop", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+        // _edje_emit(ed, "program,start", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+       EINA_LIST_FOREACH(pr->targets, l, pt)
+         {
+            if (pt->id >= 0)
+              {
+                 rp = ed->table_parts[pt->id % ed->table_parts_size];
+                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                   {
+                      rp->drag->val.x = pr->value;
+                      rp->drag->val.y = pr->value2;
+                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                      _edje_emit(ed, "drag,set", rp->part->name);
+                      if (_edje_block_break(ed)) goto break_prog;
+                   }
+              }
+         }
+        // _edje_emit(ed, "program,stop", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+        // _edje_emit(ed, "program,start", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+       EINA_LIST_FOREACH(pr->targets, l, pt)
+         {
+            if (pt->id >= 0)
+              {
+                 rp = ed->table_parts[pt->id % ed->table_parts_size];
+                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                   {
+                      rp->drag->val.x += pr->value * rp->drag->step.x * rp->part->dragable.x;
+                      rp->drag->val.y += pr->value2 * rp->drag->step.y * rp->part->dragable.y;
+                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                      _edje_emit(ed, "drag,step", rp->part->name);
+                      if (_edje_block_break(ed)) goto break_prog;
+                   }
+              }
+         }
+        // _edje_emit(ed, "program,stop", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+        // _edje_emit(ed, "program,start", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+       EINA_LIST_FOREACH(pr->targets, l, pt)
+         {
+            if (pt->id >= 0)
+              {
+                 rp = ed->table_parts[pt->id % ed->table_parts_size];
+                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                   {
+                      rp->drag->val.x += pr->value * rp->drag->page.x * rp->part->dragable.x;
+                      rp->drag->val.y += pr->value2 * rp->drag->page.y * rp->part->dragable.y;
+                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                      _edje_emit(ed, "drag,page", rp->part->name);
+                      if (_edje_block_break(ed)) goto break_prog;
+                   }
+              }
+         }
+        // _edje_emit(ed, "program,stop", pr->name);
+       if (_edje_block_break(ed)) goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_SCRIPT:
+          {
+             char fname[128];
+
+             // _edje_emit(ed, "program,start", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+             snprintf(fname, sizeof(fname), "_p%i", pr->id);
+             _edje_embryo_test_run(ed, fname, ssig, ssrc);
+             // _edje_emit(ed, "program,stop", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+             _edje_recalc_do(ed);
+          }
+        break;
+     case EDJE_ACTION_TYPE_FOCUS_SET:
+       if (!pr->targets)
+           ed->focused_part = NULL;
+       else
+         {
+            EINA_LIST_FOREACH(pr->targets, l, pt)
+              {
+                 if (pt->id >= 0)
+                   {
+                      rp = ed->table_parts[pt->id % ed->table_parts_size];
+                      if (rp)
+                        {
+                           if (ed->focused_part != rp)
+                             {
+                                if (ed->focused_part)
+                                  _edje_emit(ed, "focus,part,out", 
+                                             ed->focused_part->part->name);
+                                ed->focused_part = rp;
+                                _edje_emit(ed, "focus,part,in",
+                                           ed->focused_part->part->name);
+                             }
+                        }
+                   }
+              }
+         }
+        break;
+     case EDJE_ACTION_TYPE_FOCUS_OBJECT:
+       if (!pr->targets)
+         {
+            Evas_Object *focused;
+
+            focused = evas_focus_get(evas_object_evas_get(ed->obj));
+            if (focused)
+              {
+                 unsigned int i;
+
+                 /* Check if the current swallowed object is one of my child. */
+                 for (i = 0; i < ed->table_parts_size; ++i)
+                   {
+                      rp = ed->table_parts[i];
+                      if ((rp) && 
+                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                               (rp->typedata.swallow)) &&
+                           (rp->typedata.swallow->swallowed_object == focused))
+                        {
+                           evas_object_focus_set(focused, EINA_FALSE);
+                           break;
+                        }
+                   }
+              }
+         }
+       else
+         {
+            EINA_LIST_FOREACH(pr->targets, l, pt)
+              {
+                 if (pt->id >= 0)
+                   {
+                      rp = ed->table_parts[pt->id % ed->table_parts_size];
+                      if (rp && 
+                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                               (rp->typedata.swallow)) &&
+                           (rp->typedata.swallow->swallowed_object))
+                         evas_object_focus_set(rp->typedata.swallow->swallowed_object, EINA_TRUE);
+                   }
+              }
+         }
+        break;
+     case EDJE_ACTION_TYPE_SOUND_SAMPLE:
+        if (_edje_block_break(ed))
+          goto break_prog;
+        _edje_multisense_internal_sound_sample_play(ed, pr->sample_name, pr->speed);
+        break;
+     case EDJE_ACTION_TYPE_SOUND_TONE:
+        if (_edje_block_break(ed))
+          goto break_prog;
+        _edje_multisense_internal_sound_tone_play(ed, pr->tone_name, pr->duration);
+        break;
+     case EDJE_ACTION_TYPE_PARAM_COPY:
+          {
+             Edje_Real_Part *src_part, *dst_part;
+
+             // _edje_emit(ed, "program,start", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+             
+             src_part = ed->table_parts[pr->param.src % ed->table_parts_size];
+             dst_part = ed->table_parts[pr->param.dst % ed->table_parts_size];
+             _edje_param_copy(src_part, pr->state, dst_part, pr->state2);
+             
+             if (_edje_block_break(ed)) goto break_prog;
+             // _edje_emit(ed, "program,stop", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+          }
+        break;
+     case EDJE_ACTION_TYPE_PARAM_SET:
+          {
+             Edje_Real_Part *part;
+
+             // _edje_emit(ed, "program,start", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+             
+             part = ed->table_parts[pr->param.dst % ed->table_parts_size];
+             _edje_param_set(part, pr->state, pr->state2);
+             
+             if (_edje_block_break(ed)) goto break_prog;
+             // _edje_emit(ed, "program,stop", pr->name);
+             if (_edje_block_break(ed)) goto break_prog;
+          }
+        break;
+#ifdef HAVE_EPHYSICS
+     case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_central_impulse_apply))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_torque_impulse_apply))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_FORCE:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_central_force_apply))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_torque_apply))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
+        if (_edje_block_break(ed))
+          goto break_prog;
+        EINA_LIST_FOREACH(pr->targets, l, pt)
+          {
+             if (pt->id >= 0)
+               {
+                  rp = ed->table_parts[pt->id % ed->table_parts_size];
+                  if ((rp) && (rp->body))
+                    ephysics_body_forces_clear(rp->body);
+               }
+          }
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_linear_velocity_set))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
+        if (!_edje_physics_action_set(
+              ed, pr, ephysics_body_angular_velocity_set))
+          goto break_prog;
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_STOP:
+        if (_edje_block_break(ed))
+          goto break_prog;
+        EINA_LIST_FOREACH(pr->targets, l, pt)
+          {
+             if (pt->id >= 0)
+               {
+                  rp = ed->table_parts[pt->id % ed->table_parts_size];
+                  if ((rp) && (rp->body))
+                    ephysics_body_stop(rp->body);
+               }
+          }
+        break;
+     case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
+        if (_edje_block_break(ed))
+          goto break_prog;
+        EINA_LIST_FOREACH(pr->targets, l, pt)
+          {
+             if (pt->id >= 0)
+               {
+                  rp = ed->table_parts[pt->id % ed->table_parts_size];
+                  if ((rp) && (rp->body))
+                    {
+                       EPhysics_Quaternion quat;
+                       ephysics_quaternion_set(&quat, pr->physics.x,
+                                               pr->physics.y, pr->physics.z,
+                                               pr->physics.w);
+                       ephysics_quaternion_normalize(&quat);
+                       ephysics_body_rotation_set(rp->body, &quat);
+                    }
+               }
+          }
+        break;
+#endif
+     default:
+        // _edje_emit(ed, "program,start", pr->name);
+        // _edje_emit(ed, "program,stop", pr->name);
+        break;
+     }
+   if (!((pr->action == EDJE_ACTION_TYPE_STATE_SET)
+        /* hmm this fucks somethgin up. must look into it later */
+        /* && (pr->tween.time > ZERO) && (!ed->no_anim))) */
+        ))
+     {
+        EINA_LIST_FOREACH(pr->after, l, pa)
+         {
+            if (pa->id >= 0)
+              {
+                 pr2 = ed->table_programs[pa->id % ed->table_programs_size];
+                 if (pr2) _edje_program_run(ed, pr2, 0, "", "");
+                 if (_edje_block_break(ed)) goto break_prog;
+              }
+         }
+     }
+   break_prog:
+   _edje_thaw(ed);
+   _edje_unref(ed);
+   recursions--;
+   if (recursions == 0) recursion_limit = 0;
+   _edje_unblock(ed);
+}
+
+void
+_edje_emit(Edje *ed, const char *sig, const char *src)
+{
+   _edje_emit_full(ed, sig, src, NULL, NULL);
+}
+
+/* data should either be NULL or a malloc allocated data */
+void
+_edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*free_func)(void *))
+{
+   Edje_Message_Signal emsg;
+   const char *sep;
+   Eina_Bool broadcast;
+
+   if (!ed->collection) return;
+   if (ed->delete_me) return;
+   broadcast = ed->collection->broadcast_signal;
+
+   sep = strchr(sig, EDJE_PART_PATH_SEPARATOR);
+
+   /* If we are not sending the signal to a part of the child, the
+    * signal if for ourself
+    */
+   if (sep)
+     {
+        Edje_Real_Part *rp = NULL;
+        const char *newsig;
+        Edje *ed2;
+        char *part;
+        char *idx;
+        size_t length;
+
+        /* the signal contains a colon, split the signal into "parts:signal" */
+        length = sep - sig + 1;
+        part = alloca(length);
+        memcpy(part, sig, length - 1);
+        part[length - 1] = '\0';
+
+        newsig = sep + 1;
+
+        /* lookup for alias */
+        if (ed->collection && ed->collection->alias)
+          {
+             char *alias;
+
+             alias = eina_hash_find(ed->collection->alias, part);
+             if (alias) {
+                char *aliased;
+                int alien;
+                int nslen;
+
+                alien = strlen(alias);
+                nslen = strlen(newsig);
+                length = alien + nslen + 2;
+
+                aliased = alloca(length);
+                memcpy(aliased, alias, alien);
+                aliased[alien] = EDJE_PART_PATH_SEPARATOR;
+                memcpy(aliased + alien + 1, newsig, nslen + 1);
+
+                _edje_emit(ed, aliased, src);
+                return;
+             }
+          }
+
+        /* search for the index if present and remove it from the part */
+        idx = strchr(part, EDJE_PART_PATH_SEPARATOR_INDEXL);
+        if (idx)
+          {
+             char *end;
+
+             end = strchr(idx + 1, EDJE_PART_PATH_SEPARATOR_INDEXR);
+             if (end && end != idx + 1)
+               {
+                  char *tmp;
+
+                  tmp = alloca(end - idx - 1);
+                  memcpy(tmp, idx + 1, end - idx - 1);
+                  tmp[end - idx - 1] = '\0';
+                  *idx = '\0';
+                  idx = tmp;
+               }
+             else
+               {
+                  idx = NULL;
+               }
+          }
+
+        /* search for the right part now */
+        rp = _edje_real_part_get(ed, part);
+        if (!rp) goto end;
+
+        switch (rp->part->type)
+          {
+           case EDJE_PART_TYPE_GROUP:
+              if (((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+                   (!rp->typedata.swallow)) ||
+                  (!rp->typedata.swallow->swallowed_object))
+                goto end;
+              ed2 = _edje_fetch(rp->typedata.swallow->swallowed_object);
+              if (!ed2) goto end;
+
+              _edje_emit(ed2, newsig, src);
+             broadcast = EINA_FALSE;
+              break;
+
+           case EDJE_PART_TYPE_EXTERNAL:
+              if (((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+                   (!rp->typedata.swallow)) ||
+                  (!rp->typedata.swallow->swallowed_object))
+               break;
+
+              if (!idx)
+                {
+                   _edje_external_signal_emit(rp->typedata.swallow->swallowed_object, newsig, src);
+                }
+              else
+                {
+                   Evas_Object *child;
+
+                   child = _edje_children_get(rp, idx);
+                   ed2 = _edje_fetch(child);
+                   if (!ed2) goto end;
+                   _edje_emit(ed2, newsig, src);
+                }
+             broadcast = EINA_FALSE;
+              break ;
+
+           case EDJE_PART_TYPE_BOX:
+           case EDJE_PART_TYPE_TABLE:
+              if (idx)
+                {
+                   Evas_Object *child;
+
+                   child = _edje_children_get(rp, idx);
+                   ed2 = _edje_fetch(child);
+                   if (!ed2) goto end;
+                   _edje_emit(ed2, newsig, src);
+                  broadcast = EINA_FALSE;
+                }
+              break ;
+
+           default:
+//              ERR("SPANK SPANK SPANK !!!\nYou should never be here !");
+              break;
+          }
+     }
+
+ end:
+   emsg.sig = sig;
+   emsg.src = src;
+   if (data)
+     {
+        emsg.data = calloc(1, sizeof(*(emsg.data)));
+        emsg.data->ref = 1;
+        emsg.data->data = data;
+        emsg.data->free_func = free_func;
+     }
+   else
+     {
+        emsg.data = NULL;
+     }
+/* new sends code */
+   if (broadcast)
+     edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+   else
+     _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+/* old send code - use api now
+   _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+   EINA_LIST_FOREACH(ed->subobjs, l, obj)
+     {
+        Edje *ed2;
+
+        ed2 = _edje_fetch(obj);
+        if (!ed2) continue;
+        if (ed2->delete_me) continue;
+        _edje_message_send(ed2, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+     }
+ */
+   if (emsg.data && (--(emsg.data->ref) == 0))
+     {
+        if (emsg.data->free_func)
+          {
+             emsg.data->free_func(emsg.data->data);
+          }
+        free(emsg.data);
+     }
+}
+
+struct _Edje_Program_Data
+{
+  Eina_List     *matches;
+  Edje          *ed;
+  const char    *source;
+};
+
+static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt)
+{
+   struct _Edje_Program_Data *data = dt;
+   Edje_Real_Part *rp = NULL;
+   Eina_Bool exec = EINA_TRUE;
+
+   if (pr->filter.state)
+     {
+       rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source);
+       if (rp)
+          exec = (rp->chosen_description->state.name == pr->filter.state);
+     }
+
+   pr->exec = exec;
+
+   data->matches = eina_list_append(data->matches, pr);
+
+   return EINA_FALSE;
+}
+
+void
+_edje_callbacks_patterns_clean(Edje *ed)
+{
+   _edje_signals_sources_patterns_clean(&ed->patterns.callbacks);
+
+   eina_rbtree_delete(ed->patterns.callbacks.exact_match,
+                     EINA_RBTREE_FREE_CB(edje_match_signal_source_free),
+                     NULL);
+   ed->patterns.callbacks.exact_match = NULL;
+
+   ed->patterns.callbacks.u.callbacks.globing = eina_list_free(ed->patterns.callbacks.u.callbacks.globing);
+}
+
+static void
+_edje_callbacks_patterns_init(Edje *ed)
+{
+   Edje_Signals_Sources_Patterns *ssp = &ed->patterns.callbacks;
+
+   if ((ssp->signals_patterns) || (ssp->sources_patterns) ||
+       (ssp->u.callbacks.globing) || (ssp->exact_match))
+     return;
+
+   ssp->u.callbacks.globing = edje_match_callback_hash_build(ed->callbacks,
+                                                            &ssp->exact_match);
+
+   ssp->signals_patterns = edje_match_callback_signal_init(ssp->u.callbacks.globing);
+   ssp->sources_patterns = edje_match_callback_source_init(ssp->u.callbacks.globing);
+}
+
+/* FIXME: what if we delete the evas object??? */
+void
+_edje_emit_handle(Edje *ed, const char *sig, const char *src,
+                  Edje_Message_Signal_Data *sdata, Eina_Bool prop)
+{
+   if (ed->delete_me) return;
+   if (!sig) sig = "";
+   if (!src) src = "";
+//   printf("EDJE EMIT: (%p) signal: \"%s\" source: \"%s\"\n", ed, sig, src);
+   _edje_block(ed);
+   _edje_ref(ed);
+   _edje_freeze(ed);
+   
+   if (ed->collection && ed->L)
+     _edje_lua2_script_func_signal(ed, sig, src);
+
+   if (ed->collection)
+     {
+#ifdef EDJE_PROGRAM_CACHE
+       Edje_Part_Collection *ec;
+       char *tmps;
+       int l1, l2;
+#endif
+       int done;
+
+#ifdef EDJE_PROGRAM_CACHE
+       ec = ed->collection;
+       l1 = strlen(sig);
+       l2 = strlen(src);
+       tmps = alloca(l1 + l2 + 3); /* \0, \337, \0 */
+       strcpy(tmps, sig);
+       tmps[l1] = '\377';
+       strcpy(&(tmps[l1 + 1]), src);
+#endif
+       done = 0;
+
+#ifdef EDJE_PROGRAM_CACHE
+         {
+            Eina_List *matches;
+            Eina_List *l;
+            Edje_Program *pr;
+
+            if (eina_hash_find(ec->prog_cache.no_matches, tmps))
+              {
+                 done = 1;
+              }
+            else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps)))
+              {
+                  EINA_LIST_FOREACH(matches, l, pr)
+                   {
+                       Eina_Bool exec = EINA_TRUE;
+
+                       if (pr->filter.state)
+                         {
+                            Edje_Real_Part *rp;
+
+                            rp = _edje_real_part_get(ed, pr->filter.part ? pr->filter.part : src);
+                            if (rp)
+                              {
+                                 if (rp->program)
+                                   exec = EINA_FALSE;
+                                 else
+                                   exec = (rp->chosen_description->state.name == pr->filter.state);
+                              }
+                         }
+
+                       pr->exec = exec;
+                   }
+
+                  EINA_LIST_FOREACH(matches, l, pr)
+                    if (pr->exec)
+                      {
+                         _edje_program_run(ed, pr, 0, sig, src);
+                         if (_edje_block_break(ed))
+                           {
+                              goto break_prog;
+                           }
+                      }
+
+                 done = 1;
+              }
+         }
+#endif
+       if (!done)
+         {
+             struct _Edje_Program_Data  data;
+
+             data.ed = ed;
+             data.source = src;
+            data.matches = NULL;
+
+             if (ed->table_programs_size > 0)
+               {
+                 const Eina_Array *match;
+#ifdef EDJE_PROGRAM_CACHE
+                 const Eina_List *l;
+#endif
+                 Edje_Program *pr;
+                 Eina_Array_Iterator iterator;
+                 unsigned int i;       
+
+                 if (ed->patterns.programs.u.programs.globing)
+                   if (edje_match_programs_exec(ed->patterns.programs.signals_patterns,
+                                                ed->patterns.programs.sources_patterns,
+                                                sig,
+                                                src,
+                                                ed->patterns.programs.u.programs.globing,
+                                                _edje_glob_callback,
+                                                &data,
+                                                 prop) == 0)
+                     goto break_prog;
+
+                 match = edje_match_signal_source_hash_get(sig, src,
+                                                           ed->patterns.programs.exact_match);
+                  if (match)
+                    EINA_ARRAY_ITER_NEXT(match, i, pr, iterator)
+                      _edje_glob_callback(pr, &data);
+
+#ifdef EDJE_PROGRAM_CACHE
+                  EINA_LIST_FOREACH(data.matches, l, pr)
+#else
+                  EINA_LIST_FREE(data.matches, pr)
+#endif
+                    {
+                       if (pr->exec)
+                         _edje_program_run(ed, pr, 0, sig, src);
+
+                       if (_edje_block_break(ed))
+                         {
+                            eina_list_free(data.matches);
+                            data.matches = NULL;
+                            goto break_prog;
+                         }
+                    }
+               }
+
+#ifdef EDJE_PROGRAM_CACHE
+            if (tmps)
+              {
+                 if (data.matches == NULL)
+                   {
+                     if (!ec->prog_cache.no_matches)
+                       ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL);
+                     eina_hash_add(ec->prog_cache.no_matches, tmps, ed);
+                   }
+                 else
+                   {
+                     if (!ec->prog_cache.matches)
+                       ec->prog_cache.matches = eina_hash_string_superfast_new(NULL);
+                     eina_hash_add(ec->prog_cache.matches, tmps, data.matches);
+                   }
+              }
+#endif
+         }
+       _edje_emit_cb(ed, sig, src, sdata, prop);
+       if (_edje_block_break(ed))
+         {
+            goto break_prog;
+         }
+     }
+   break_prog:
+   _edje_thaw(ed);
+   _edje_unref(ed);
+   _edje_unblock(ed);
+}
+
+/* Extra data for callbacks */
+static void *callback_extra_data = NULL;
+
+EAPI void *
+edje_object_signal_callback_extra_data_get(void)
+{
+   return callback_extra_data;
+}
+
+/* FIXME: what if we delete the evas object??? */
+static void
+_edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop)
+{
+   Eina_List            *l;
+
+   if (ed->delete_me) return;
+   _edje_ref(ed);
+   _edje_freeze(ed);
+   _edje_block(ed);
+
+   if (ed->just_added_callbacks)
+     _edje_callbacks_patterns_clean(ed);
+
+   ed->walking_callbacks++;
+
+   if (ed->callbacks)
+     {
+       Edje_Signal_Callback *escb;
+       const Eina_Array *match;
+        Eina_Array_Iterator iterator;
+        unsigned int i;
+        int r = 1;
+        callback_extra_data = (data) ? data->data : NULL;
+
+       _edje_callbacks_patterns_init(ed);
+       if (ed->patterns.callbacks.u.callbacks.globing)
+         r = edje_match_callback_exec(ed->patterns.callbacks.signals_patterns,
+                                      ed->patterns.callbacks.sources_patterns,
+                                      sig,
+                                      src,
+                                      ed->patterns.callbacks.u.callbacks.globing,
+                                      ed,
+                                       prop);
+
+        if (!r)
+          goto break_prog;
+
+       match = edje_match_signal_source_hash_get(sig, src,
+                                                 ed->patterns.callbacks.exact_match);
+        if (match)
+          EINA_ARRAY_ITER_NEXT(match, i, escb, iterator)
+            {
+               if ((prop) && (escb->propagate)) continue;
+               if ((!escb->just_added) && (!escb->delete_me))
+                 {
+                    escb->func(escb->data, ed->obj, sig, src);
+                    if (_edje_block_break(ed))
+                      break;
+                 }
+            }
+     }
+   break_prog:
+
+   ed->walking_callbacks--;
+   if (!ed->walking_callbacks &&
+       ((ed->delete_callbacks) || (ed->just_added_callbacks)))
+     {
+       ed->delete_callbacks = EINA_FALSE;
+       ed->just_added_callbacks = EINA_FALSE;
+       l = ed->callbacks;
+       while (l)
+         {
+            Edje_Signal_Callback *escb = l->data;
+            Eina_List *next_l = l->next;
+
+            if (escb->just_added)
+              escb->just_added = 0;
+            if (escb->delete_me)
+              {
+                 ed->callbacks = eina_list_remove_list(ed->callbacks, l);
+                 if (escb->signal) eina_stringshare_del(escb->signal);
+                 if (escb->source) eina_stringshare_del(escb->source);
+                 free(escb);
+              }
+            l = next_l;
+         }
+
+        _edje_callbacks_patterns_clean(ed);
+     }
+   _edje_unblock(ed);
+   _edje_thaw(ed);
+   _edje_unref(ed);
+}
+
+static const Edje_External_Param_Info *
+_edje_external_param_info_get(const Evas_Object *obj, const char *name)
+{
+   const Edje_External_Type *type;
+   const Edje_External_Param_Info *info;
+
+   type = evas_object_data_get(obj, "Edje_External_Type");
+   if (!type) return NULL;
+   for (info = type->parameters_info; info->name; info++)
+     if (!strcmp(info->name, name)) return info;
+
+   return NULL;
+}
+
+static Edje_External_Param *
+_edje_param_external_get(Edje_Real_Part *rp, const char *name, Edje_External_Param *param)
+{
+   Evas_Object *swallowed_object;
+   const Edje_External_Param_Info *info;
+   
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return NULL;
+   swallowed_object = rp->typedata.swallow->swallowed_object;
+
+   info = _edje_external_param_info_get(swallowed_object, name);
+   if (!info) return NULL;
+
+   memset(param, 0, sizeof(*param));
+   param->name = info->name;
+   param->type = info->type;
+   if (!_edje_external_param_get(NULL, rp, param)) return NULL;
+   return param;
+}
+
+/* simulate external properties for native objects */
+static Edje_External_Param *
+_edje_param_native_get(Edje_Real_Part *rp, const char *name, Edje_External_Param *param, void **free_ptr)
+{
+   *free_ptr = NULL;
+   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
+       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+     {
+       if (!strcmp(name, "text"))
+         {
+            param->name = name;
+            param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+
+            _edje_recalc_do(rp->edje);
+            if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+              param->s = _edje_entry_text_get(rp);
+            else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
+                      ((rp->type == EDJE_RP_TYPE_TEXT) &&
+                          (rp->typedata.text)))
+               param->s = rp->typedata.text->text;
+            else
+              param->s = evas_object_textblock_text_markup_get(rp->object);
+            return param;
+         }
+       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+         {
+            if (!strcmp(name, "text_unescaped"))
+              {
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+
+                 _edje_recalc_do(rp->edje);
+                 if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+                   {
+                      const char *tmp = _edje_entry_text_get(rp);
+                      char *unescaped = _edje_text_unescape(tmp);
+                      *free_ptr = unescaped;
+                      param->s = unescaped;
+                   }
+                  else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
+                           ((rp->type == EDJE_RP_TYPE_TEXT) &&
+                               (rp->typedata.text)))
+                   param->s = rp->typedata.text->text;
+                 else
+                   {
+                      const char *tmp;
+                      char *unescaped;
+
+                      tmp = evas_object_textblock_text_markup_get(rp->object);
+                      unescaped = _edje_text_unescape(tmp);
+                      *free_ptr = unescaped;
+                      param->s = unescaped;
+                   }
+
+                 return param;
+              }
+
+             if (((rp->type == EDJE_RP_TYPE_TEXT) &&
+                  (rp->typedata.text)) &&
+                 ((rp->typedata.text->entry_data) &&
+                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
+                     (!strcmp(name, "select_allow"))))
+              {
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
+                 param->i = _edje_entry_select_allow_get(rp);
+                 return param;
+              }
+         }
+     }
+
+   if ((rp->drag) && (rp->drag->down.count == 0))
+     {
+       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+         {
+            const char *sub_name = name + sizeof("drag_") - 1;
+            if (!strcmp(sub_name, "value_x"))
+              {
+                 double d;
+
+                 _edje_recalc_do(rp->edje);
+                 d = TO_DOUBLE(rp->drag->val.x);
+                 if (rp->part->dragable.x < 0) d = 1.0 - d;
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = d;
+                 return param;
+              }
+            if (!strcmp(sub_name, "value_y"))
+              {
+                 double d;
+
+                 _edje_recalc_do(rp->edje);
+                 d = TO_DOUBLE(rp->drag->val.y);
+                 if (rp->part->dragable.y < 0) d = 1.0 - d;
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = d;
+                 return param;
+              }
+
+            if (!strcmp(sub_name, "size_w"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->size.x);
+                 return param;
+              }
+            if (!strcmp(sub_name, "size_h"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->size.y);
+                 return param;
+              }
+
+            if (!strcmp(sub_name, "step_x"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->step.x);
+                 return param;
+              }
+            if (!strcmp(sub_name, "step_y"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->step.y);
+                 return param;
+              }
+
+            if (!strcmp(sub_name, "page_x"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->page.x);
+                 return param;
+              }
+            if (!strcmp(sub_name, "page_y"))
+              {
+                 _edje_recalc_do(rp->edje);
+                 param->name = name;
+                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                 param->d = TO_DOUBLE(rp->drag->page.y);
+                 return param;
+              }
+
+            return NULL;
+         }
+     }
+
+   return NULL;
+}
+
+static Eina_Bool
+_edje_param_native_set(Edje_Real_Part *rp, const char *name, const Edje_External_Param *param)
+{
+   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
+       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+     {
+       if (!strcmp(name, "text"))
+         {
+            if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
+              return EINA_FALSE;
+
+            _edje_object_part_text_raw_set
+              (rp->edje->obj, rp, rp->part->name, param->s);
+            return EINA_TRUE;
+         }
+       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+         {
+            if (!strcmp(name, "text_unescaped"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
+                   return EINA_FALSE;
+
+                 if (rp->part->type == EDJE_PART_TYPE_TEXT)
+                   _edje_object_part_text_raw_set
+                     (rp->edje->obj, rp, rp->part->name, param->s);
+                 else
+                   {
+                      char *escaped = _edje_text_escape(param->s);
+                     _edje_object_part_text_raw_set
+                        (rp->edje->obj, rp, rp->part->name, escaped);
+                      free(escaped);
+                   }
+
+                 return EINA_TRUE;
+              }
+
+             if (((rp->type == EDJE_RP_TYPE_TEXT) &&
+                  (rp->typedata.text)) &&
+                 ((rp->typedata.text->entry_data) &&
+                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
+                     (!strcmp(name, "select_allow"))))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+                   return EINA_FALSE;
+                 _edje_entry_select_allow_set(rp, param->i);
+                 return EINA_TRUE;
+              }
+         }
+     }
+
+   if ((rp->drag) && (rp->drag->down.count == 0))
+     {
+       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+         {
+            const char *sub_name = name + sizeof("drag_") - 1;
+            if (!strcmp(sub_name, "value_x"))
+              {
+                 double d;
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 d = param->d;
+                 if (rp->part->dragable.confine_id != -1)
+                   d = CLAMP(d, 0.0, 1.0);
+                 if (rp->part->dragable.x < 0) d = 1.0 - d;
+                 if (rp->drag->val.x == FROM_DOUBLE(d)) return EINA_TRUE;
+                 rp->drag->val.x = FROM_DOUBLE(d);
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 _edje_dragable_pos_set
+                   (rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
+                 _edje_emit(rp->edje, "drag,set", rp->part->name);
+                 return EINA_TRUE;
+              }
+            if (!strcmp(sub_name, "value_y"))
+              {
+                 double d;
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 d = param->d;
+                 if (rp->part->dragable.confine_id != -1)
+                   d = CLAMP(d, 0.0, 1.0);
+                 if (rp->part->dragable.y < 0) d = 1.0 - d;
+                 if (rp->drag->val.y == FROM_DOUBLE(d)) return EINA_TRUE;
+                 rp->drag->val.y = FROM_DOUBLE(d);
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 _edje_dragable_pos_set
+                   (rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
+                 _edje_emit(rp->edje, "drag,set", rp->part->name);
+                 return EINA_TRUE;
+              }
+
+            if (!strcmp(sub_name, "size_w"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->size.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  rp->edje->recalc_call = EINA_TRUE;
+                 rp->edje->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 _edje_recalc(rp->edje);
+                 return EINA_TRUE;
+              }
+            if (!strcmp(sub_name, "size_h"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->size.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  rp->edje->recalc_call = EINA_TRUE;
+                 rp->edje->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 _edje_recalc(rp->edje);
+                 return EINA_TRUE;
+              }
+
+            if (!strcmp(sub_name, "step_x"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->step.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 return EINA_TRUE;
+              }
+            if (!strcmp(sub_name, "step_y"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->step.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 return EINA_TRUE;
+              }
+
+            if (!strcmp(sub_name, "page_x"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->page.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 return EINA_TRUE;
+              }
+            if (!strcmp(sub_name, "page_y"))
+              {
+                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                   return EINA_FALSE;
+                 rp->drag->page.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+#ifdef EDJE_CALC_CACHE
+                 rp->invalidate = 1;
+#endif
+                 return EINA_TRUE;
+              }
+
+            return EINA_FALSE;
+         }
+     }
+
+   return EINA_FALSE;
+}
+
+static const Edje_External_Param_Info *
+_edje_native_param_info_get(const Edje_Real_Part *rp, const char *name)
+{
+   if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
+       (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+     {
+       if (!strcmp(name, "text"))
+         {
+            static const Edje_External_Param_Info pi =
+              EDJE_EXTERNAL_PARAM_INFO_STRING("text");
+            return &pi;
+         }
+       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+         {
+            if (!strcmp(name, "text_unescaped"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_STRING("text_unescaped");
+                 return &pi;
+              }
+            if (!strcmp(name, "select_allow"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_BOOL("text_unescaped");
+                 return &pi;
+              }
+         }
+     }
+
+   if ((rp->drag) && (rp->drag->down.count == 0))
+     {
+       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+         {
+            name += sizeof("drag_") - 1;
+            if (!strcmp(name, "value_x"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_x");
+                 return &pi;
+              }
+            if (!strcmp(name, "value_y"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_y");
+                 return &pi;
+              }
+            if (!strcmp(name, "size_w"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_w");
+                 return &pi;
+              }
+            if (!strcmp(name, "size_h"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_h");
+                 return &pi;
+              }
+            if (!strcmp(name, "step_x"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_x");
+                 return &pi;
+              }
+            if (!strcmp(name, "step_y"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_y");
+                 return &pi;
+              }
+            if (!strcmp(name, "page_x"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_x");
+                 return &pi;
+              }
+            if (!strcmp(name, "page_y"))
+              {
+                 static const Edje_External_Param_Info pi =
+                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_y");
+                 return &pi;
+              }
+
+            return NULL;
+         }
+     }
+
+   return NULL;
+}
+
+static Edje_External_Param *
+_edje_param_convert(Edje_External_Param *param, const Edje_External_Param_Info *dst_info)
+{
+   if (param->type == dst_info->type) return param;
+
+   switch (dst_info->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+       {
+          int i;
+          switch (param->type)
+            {
+             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                i = (int)param->d;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                i = (param->s) ? atoi(param->s) : 0;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+             case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                i = param->i;
+                 break;
+             default:
+                return NULL;
+            }
+          if (dst_info->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+            i = !!i;
+          param->type = dst_info->type;
+          param->i = i;
+          return param;
+       }
+
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+       {
+          double d;
+          switch (param->type)
+            {
+             case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                d = (double)param->i;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                d = (param->s) ? atof(param->s) : 0.0;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                d = (double)param->i;
+                 break;
+             default:
+                return NULL;
+            }
+          param->type = dst_info->type;
+          param->d = d;
+          return param;
+       }
+
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+       {
+          static char s[64];
+          switch (param->type)
+            {
+             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+             case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                param->type = dst_info->type;
+                return param;
+             default:
+                return NULL;
+            }
+          param->type = dst_info->type;
+          param->s = s;
+          return param;
+       }
+
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+       {
+          static char s[64];
+          const char *val;
+          switch (param->type)
+            {
+             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+             case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
+                val = s;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
+                val = s;
+                break;
+             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                val = param->s;
+                break;
+             default:
+                return NULL;
+            }
+
+          param->type = dst_info->type;
+          if (param->s != val) param->s = val;
+          return param;
+       }
+
+      default: return NULL;
+     }
+}
+
+static Eina_Bool
+_edje_param_validate(const Edje_External_Param *param, const Edje_External_Param_Info *info)
+{
+   switch (info->type)
+     {
+      case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+        return ((param->i == 0) || (param->i == 1));
+
+      case EDJE_EXTERNAL_PARAM_TYPE_INT:
+        if ((info->info.i.min != EDJE_EXTERNAL_INT_UNSET) &&
+            (info->info.i.min > param->i))
+          return EINA_FALSE;
+
+        if ((info->info.i.max != EDJE_EXTERNAL_INT_UNSET) &&
+            (info->info.i.max < param->i))
+          return EINA_FALSE;
+
+        return EINA_TRUE;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+        if ((info->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET) &&
+            (info->info.d.min > param->d))
+          return EINA_FALSE;
+
+        if ((info->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET) &&
+            (info->info.d.max < param->d))
+          return EINA_FALSE;
+
+        return EINA_TRUE;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+        if (!param->s) return EINA_FALSE;
+        if (info->info.s.accept_fmt)
+          INF("string 'accept_fmt' validation not implemented.");
+        if (info->info.s.deny_fmt)
+          INF("string 'deny_fmt' validation not implemented.");
+        return EINA_TRUE;
+
+      case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+       {
+          const char **itr = info->info.c.choices;
+          if (!itr) return EINA_FALSE;
+          for (; *itr; itr++)
+            if (!strcmp(*itr, param->s))
+              return EINA_TRUE;
+          return EINA_FALSE;
+       }
+
+      default: return EINA_FALSE;
+     }
+}
+
+static void
+_edje_param_copy(Edje_Real_Part *src_part, const char *src_param, Edje_Real_Part *dst_part, const char *dst_param)
+{
+   Edje_External_Param val;
+   const Edje_External_Param_Info *dst_info;
+   void *free_ptr = NULL;
+
+   if ((!src_part) || (!src_param) || (!dst_part) || (!dst_param))
+     return;
+
+   if ((dst_part->part->type == EDJE_PART_TYPE_EXTERNAL) &&
+       (dst_part->type == EDJE_RP_TYPE_SWALLOW) &&
+       (dst_part->typedata.swallow))
+     dst_info = _edje_external_param_info_get
+       (dst_part->typedata.swallow->swallowed_object, dst_param);
+   else
+     dst_info = _edje_native_param_info_get(dst_part, dst_param);
+
+   if (!dst_info)
+     {
+       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
+           dst_param, dst_part->part->name);
+       return;
+     }
+
+   if (src_part->part->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       if (!_edje_param_external_get
+           (src_part, src_param, &val))
+         {
+            ERR("cannot get parameter '%s' of part '%s'",
+                src_param, src_part->part->name);
+            return;
+         }
+     }
+   else
+     {
+       if (!_edje_param_native_get(src_part, src_param, &val, &free_ptr))
+         {
+            ERR("cannot get parameter '%s' of part '%s'",
+                src_param, src_part->part->name);
+            return;
+         }
+     }
+
+   if (!_edje_param_convert(&val, dst_info))
+     {
+       ERR("cannot convert parameter type %s to requested type %s",
+           edje_external_param_type_str(val.type),
+           edje_external_param_type_str(dst_info->type));
+       goto end;
+     }
+
+   if (!_edje_param_validate(&val, dst_info))
+     {
+       ERR("incorrect parameter value failed validation for type %s",
+           edje_external_param_type_str(dst_info->type));
+       goto end;
+     }
+
+   if (dst_part->part->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       val.name = dst_param;
+       if (!_edje_external_param_set(NULL, dst_part, &val))
+         {
+            ERR("failed to set parameter '%s' (%s) of part '%s'",
+                dst_param, edje_external_param_type_str(dst_info->type),
+                dst_part->part->name);
+            goto end;
+         }
+     }
+   else
+     {
+       if (!_edje_param_native_set(dst_part, dst_param, &val))
+         {
+            ERR("failed to set parameter '%s' (%s) of part '%s'",
+                dst_param, edje_external_param_type_str(dst_info->type),
+                dst_part->part->name);
+            goto end;
+         }
+     }
+
+ end:
+   free(free_ptr);
+}
+
+static void
+_edje_param_set(Edje_Real_Part *part, const char *param, const char *value)
+{
+   Edje_External_Param val;
+   const Edje_External_Param_Info *info;
+
+   if ((!part) || (!param) || (!value))
+     return;
+
+   if ((part->part->type == EDJE_PART_TYPE_EXTERNAL) &&
+       (part->type == EDJE_RP_TYPE_SWALLOW) &&
+       (part->typedata.swallow))
+     info = _edje_external_param_info_get(part->typedata.swallow->swallowed_object, param);
+   else
+     info = _edje_native_param_info_get(part, param);
+
+   if (!info)
+     {
+       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
+           param, part->part->name);
+       return;
+     }
+
+   val.name = "(temp)";
+   val.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+   val.s = value;
+
+   if (!_edje_param_convert(&val, info))
+     {
+       ERR("cannot convert parameter type STRING to requested type %s",
+           edje_external_param_type_str(info->type));
+       return;
+     }
+
+   if (!_edje_param_validate(&val, info))
+     {
+       ERR("incorrect parameter value failed validation for type %s",
+           edje_external_param_type_str(info->type));
+       return;
+     }
+
+   if (part->part->type == EDJE_PART_TYPE_EXTERNAL)
+     {
+       val.name = param;
+       if (!_edje_external_param_set(NULL, part, &val))
+         {
+            ERR("failed to set parameter '%s' (%s) of part '%s'",
+                param, edje_external_param_type_str(info->type),
+                part->part->name);
+            return;
+         }
+     }
+   else
+     {
+       if (!_edje_param_native_set(part, param, &val))
+         {
+            ERR("failed to set parameter '%s' (%s) of part '%s'",
+                param, edje_external_param_type_str(info->type),
+                part->part->name);
+            return;
+         }
+     }
+}
diff --git a/src/lib/edje/edje_script_only.c b/src/lib/edje/edje_script_only.c
new file mode 100644 (file)
index 0000000..480e107
--- /dev/null
@@ -0,0 +1,643 @@
+#include "edje_private.h"
+
+/*
+ * ALREADY EXPORTED BY EMBRYO:
+ *
+ * enum Float_Round_Method {
+ *    ROUND, FLOOR, CEIL, TOZERO
+ * };
+ * enum Float_Angle_Mode {
+ *    RADIAN, DEGREES, GRADES
+ * };
+ *
+ * numargs();
+ * getarg(arg, index=0);
+ * setarg(arg, index=0, value);
+ *
+ * Float:atof(string[]);
+ * Float:fract(Float:value);
+ *       round(Float:value, Float_Round_Method:method=ROUND);
+ * Float:sqrt(Float:value);
+ * Float:pow(Float:value, Float:exponent);
+ * Float:log(Float:value, Float:base=10.0);
+ * Float:sin(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:cos(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:tan(Float:value, Float_Angle_Mode:mode=RADIAN);
+ * Float:abs(Float:value);
+ *       atoi(str[]);
+ *       fnmatch(glob[], str[]);
+ *       strcmp(str1[], str2[]);
+ *       strncmp(str1[], str2[]);
+ *       strcpy(dst[], src[]);
+ *       strncpy(dst[], src[], n);
+ *       strlen(str[]);
+ *       strcat(dst[], src[]);
+ *       strncat(dst[], src[], n);
+ *       strprep(dst[], src[]);
+ *       strnprep(dst[], src[], n);
+ *       strcut(dst[], str[], n, n2);
+ *       snprintf(dst[], dstn, fmt[], ...);
+ *       strstr(str[], ndl[]);
+ *       strchr(str[], ch[]);
+ *       strrchr(str[], ch[]);
+ *       rand();
+ * Float:randf();
+ * Float:seconds();
+ *       date(&year, &month, &day, &yearday, &weekday, &hr, &min, &Float:sec);
+ *
+ */
+
+typedef struct _Sinfo Sinfo;
+
+struct _Sinfo
+{
+   struct
+   {
+      Embryo_Function
+        obj_init, obj_shutdown, obj_show, obj_show_immediate,
+        obj_hide, obj_hide_immediate, obj_move, obj_move_immediate,
+        obj_resize, obj_resize_immediate, obj_message;
+   } fn;
+   struct
+   {
+      Ecore_Job * show, *hide, *move, *resize;
+   } job;
+   struct
+   {
+      int id;
+      Eina_Hash *hash;         // FIXME: hash -> bad. too big. one-way lookup etc.
+   } oid;
+};
+
+static void _call_fn(Edje * ed, const char *fname, Embryo_Function fn);
+
+/* frankly - these make the code shorter to type and read - just sanity for
+ * development */
+#define IFFN(func) if (si->fn.func != EMBRYO_FUNCTION_NONE)
+#define IFNO(func) if (si->fn.func == EMBRYO_FUNCTION_NONE)
+#define CLFN(func) IFFN(func) {_call_fn(ed, #func, si->fn.func);}
+#define SI Sinfo *si; si = ed->script_only_data; if (!si) return
+#define SI_RETURN(ret) Sinfo *si; si = ed->script_only_data; if (!si) return (ret)
+#define PINT(val) embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)(val))
+#define PSTR(val) embryo_parameter_string_push(ed->collection->script, val)
+#define GTFN(func) si->fn.func = embryo_program_function_find(ed->collection->script, #func)
+#define DELJ(type) if (si->job.type) ecore_job_del(si->job.type);
+#define ADDJ(type, func) si->job.type = ecore_job_add(func, ed);
+#define ZERJ(type) si->job.type = NULL;
+#define IFNJ(type) if (!si->job.type)
+#define EXPF(func) embryo_program_native_call_add(ed->collection->script, #func, _exp_##func)
+
+typedef struct _Oid Oid;
+
+struct _Oid
+{
+   Edje *ed;
+   Evas_Object *obj;
+   Evas_Coord x, y, w, h;
+   int oid;
+};
+
+/* FIXME: using eina_hash and strings is just nasty! make a custom int hash */
+static int
+_oid_alloc(Edje * ed)
+{
+   SI_RETURN(0);
+
+   si->oid.id++;
+   return si->oid.id;
+}
+
+static Oid *
+_oid_track(Edje * ed, Evas_Object * o)
+{
+   Oid *oi;
+
+   char buf[64];
+
+   SI_RETURN(NULL);
+
+   oi = calloc(1, sizeof(Oid));
+   if (!oi)
+      return NULL;
+   oi->oid = _oid_alloc(ed);
+   if (!oi->oid)
+     {
+       free(oi);
+       return NULL;
+     }
+   oi->ed = ed;
+   oi->obj = o;
+   evas_object_smart_member_add(oi->obj, oi->ed->obj);
+   evas_object_clip_set(oi->obj, oi->ed->base->clipper);
+   evas_object_geometry_get(oi->obj, &(oi->x), &(oi->y), &(oi->w), &(oi->h));
+   snprintf(buf, sizeof(buf), "%i", oi->oid);
+   if (!si->oid.hash)
+      si->oid.hash = eina_hash_string_superfast_new(NULL);
+   eina_hash_add(si->oid.hash, buf, oi);
+   return oi;
+}
+
+static Oid *
+_oid_find(Edje * ed, int oid)
+{
+   char buf[64];
+
+   SI_RETURN(NULL);
+
+   snprintf(buf, sizeof(buf), "%i", oid);
+   return eina_hash_find(si->oid.hash, buf);
+}
+
+static void
+_oid_del(Edje * ed, int oid)
+{
+   char buf[64];
+
+   SI;
+
+   snprintf(buf, sizeof(buf), "%i", oid);
+   eina_hash_del(si->oid.hash, buf, NULL);
+}
+
+static void
+_oid_free(Oid * oid)
+{
+   free(oid);
+}
+
+static Eina_Bool
+_oid_freeall_cb(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   Oid *oid = data;
+
+   evas_object_del(oid->obj);
+   free(oid);
+   return EINA_TRUE;
+}
+
+static void
+_oid_freeall(Edje * ed)
+{
+   SI;
+   if (!si->oid.hash)
+      return;
+   eina_hash_foreach(si->oid.hash, _oid_freeall_cb, ed);
+   eina_hash_free(si->oid.hash);
+   si->oid.hash = NULL;
+}
+
+static Eina_Bool
+_oid_moveall_cb(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   Oid *oid = data;
+
+   evas_object_move(oid->obj, oid->ed->x + oid->x, oid->ed->y + oid->y);
+   return EINA_TRUE;
+}
+
+static void
+_oid_moveall(Edje * ed)
+{
+   SI;
+   if (!si->oid.hash)
+      return;
+   eina_hash_foreach(si->oid.hash, _oid_moveall_cb, ed);
+}
+
+/**********/
+
+static Embryo_Cell
+_exp_e_obj_del(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(1);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   evas_object_del(oid->obj);
+   _oid_del(ed, oid->oid);
+   _oid_free(oid);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_rect_add(Embryo_Program * ep, Embryo_Cell * params EINA_UNUSED)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Evas_Object *o;
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   o = evas_object_rectangle_add(evas_object_evas_get(ed->obj));
+   if (!o)
+      return 0;
+   oid = _oid_track(ed, o);
+   if (oid)
+      return oid->oid;
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_show(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(1);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   evas_object_show(oid->obj);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_hide(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(1);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   evas_object_hide(oid->obj);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_move(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(3);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   if ((oid->x == params[2]) && (oid->y == params[3]))
+      return -1;
+   oid->x = params[2];
+   oid->y = params[3];
+   evas_object_move(oid->obj, ed->x + oid->x, ed->y + oid->y);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_resize(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(3);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   if ((oid->w == params[2]) && (oid->h == params[3]))
+      return -1;
+   oid->w = params[2];
+   oid->h = params[3];
+   evas_object_resize(oid->obj, oid->w, oid->h);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_geometry_set(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(5);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   if ((oid->x == params[2]) && (oid->y == params[3]) &&
+       (oid->w == params[4]) && (oid->h == params[5]))
+      return -1;
+   oid->x = params[2];
+   oid->y = params[3];
+   oid->w = params[4];
+   oid->h = params[5];
+   evas_object_move(oid->obj, ed->x + oid->x, ed->y + oid->y);
+   evas_object_resize(oid->obj, oid->w, oid->h);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_geometry_get(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(5);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   SETINT(oid->x, params[2]);
+   SETINT(oid->y, params[3]);
+   SETINT(oid->w, params[4]);
+   SETINT(oid->h, params[5]);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_color_set(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(5);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   evas_object_color_set(oid->obj, params[2], params[3], params[4], params[5]);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_obj_color_get(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   Oid *oid;
+
+   int r, g, b, a;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(5);
+   if (!(oid = _oid_find(ed, params[1])))
+      return -1;
+   evas_object_color_get(oid->obj, &r, &g, &b, &a);
+   SETINT(r, params[2]);
+   SETINT(g, params[3]);
+   SETINT(b, params[4]);
+   SETINT(a, params[5]);
+   return 0;
+}
+
+static Embryo_Cell
+_exp_e_signal_emit(Embryo_Program * ep, Embryo_Cell * params)
+{
+   Edje *ed = embryo_program_data_get(ep);
+
+   char *sig = NULL, *src = NULL;
+
+   SI_RETURN(-1);
+
+   CHKPARAM(2);
+   GETSTR(sig, params[1]);
+   GETSTR(src, params[2]);
+   if ((!sig) || (!src))
+      return -1;
+   _edje_emit(ed, sig, src);
+   return 0;
+}
+
+/**********/
+
+Eina_Bool
+_edje_script_only(Edje * ed)
+{
+   if ((ed->collection) && (ed->collection->script) &&
+       (ed->collection->script_only))
+      return EINA_TRUE;
+   return EINA_FALSE;
+}
+
+void
+_edje_script_only_init(Edje * ed)
+{
+   Sinfo *si;
+
+   si = calloc(1, sizeof(Sinfo));
+   if (!si)
+      return;
+   ed->script_only_data = si;
+
+   embryo_program_data_set(ed->collection->script, ed);
+
+   EXPF(e_obj_del);
+   EXPF(e_obj_rect_add);
+   EXPF(e_obj_show);
+   EXPF(e_obj_hide);
+   EXPF(e_obj_move);
+   EXPF(e_obj_resize);
+   EXPF(e_obj_geometry_set);
+   EXPF(e_obj_geometry_get);
+   EXPF(e_obj_color_set);
+   EXPF(e_obj_color_get);
+   EXPF(e_signal_emit);
+
+   embryo_program_vm_push(ed->collection->script);
+   embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
+
+   GTFN(obj_init);
+   GTFN(obj_shutdown);
+   GTFN(obj_show);
+   GTFN(obj_show_immediate);
+   GTFN(obj_hide);
+   GTFN(obj_hide_immediate);
+   GTFN(obj_move);
+   GTFN(obj_move_immediate);
+   GTFN(obj_resize);
+   GTFN(obj_resize_immediate);
+   GTFN(obj_message);
+
+   CLFN(obj_init);
+   _edje_script_only_move(ed);
+}
+
+void
+_edje_script_only_shutdown(Edje * ed)
+{
+   SI;
+
+   CLFN(obj_shutdown);
+   DELJ(show);
+   DELJ(hide);
+   DELJ(move);
+   DELJ(resize);
+   _oid_freeall(ed);
+}
+
+static void
+_show_job(void *data)
+{
+   Edje *ed = data;
+
+   SI;
+
+   ZERJ(show);
+   CLFN(obj_show);
+}
+void
+_edje_script_only_show(Edje * ed)
+{
+   SI;
+
+   IFFN(obj_show)
+   {
+      IFNJ(hide)
+      {
+        DELJ(show);
+        ADDJ(show, _show_job);
+      }
+      else
+      {
+        DELJ(hide);
+      }
+   }
+   IFNO(obj_show_immediate) return;
+   CLFN(obj_show_immediate);
+}
+
+static void
+_hide_job(void *data)
+{
+   Edje *ed = data;
+
+   SI;
+
+   ZERJ(hide);
+   CLFN(obj_hide);
+}
+void
+_edje_script_only_hide(Edje * ed)
+{
+   SI;
+
+   IFFN(obj_hide)
+   {
+      IFNJ(show)
+      {
+        DELJ(hide);
+        ADDJ(hide, _hide_job);
+      }
+      else
+      {
+        DELJ(show);
+      }
+   }
+   IFNO(obj_hide_immediate) return;
+   CLFN(obj_hide_immediate);
+}
+
+static void
+_move_job(void *data)
+{
+   Edje *ed = data;
+
+   SI;
+
+   _oid_moveall(ed);
+   ZERJ(move);
+   IFNO(obj_move) return;
+   PINT(ed->x);
+   PINT(ed->y);
+   CLFN(obj_move);
+}
+void
+_edje_script_only_move(Edje * ed)
+{
+   SI;
+
+   DELJ(move);
+   ADDJ(move, _move_job);
+   IFNO(obj_move_immediate) return;
+   PINT(ed->x);
+   PINT(ed->y);
+   CLFN(obj_move_immediate);
+}
+
+static void
+_resize_job(void *data)
+{
+   Edje *ed = data;
+
+   SI;
+
+   ZERJ(resize);
+   PINT(ed->w);
+   PINT(ed->h);
+   CLFN(obj_resize);
+}
+void
+_edje_script_only_resize(Edje * ed)
+{
+   SI;
+
+   IFFN(obj_resize)
+   {
+      DELJ(resize);
+      ADDJ(resize, _resize_job);
+   }
+   PINT(ed->w);
+   PINT(ed->h);
+   CLFN(obj_resize_immediate);
+}
+
+void
+_edje_script_only_message(Edje * ed, Edje_Message * em)
+{
+   SI;
+
+   IFNO(obj_message) return;
+   _edje_message_parameters_push(em);
+   CLFN(obj_message);
+}
+
+/**************************************************/
+
+static void
+_call_fn(Edje * ed, const char *fname, Embryo_Function fn)
+{
+   int ret;
+
+   ret = embryo_program_run(ed->collection->script, fn);
+   if (ret == EMBRYO_PROGRAM_FAIL)
+     {
+       ERR("ERROR with embryo script. "
+            "OBJECT NAME: '%s', "
+            "OBJECT FILE: '%s', "
+            "ENTRY POINT: '%s', "
+           "ERROR: '%s'",
+            ed->collection->part,
+            ed->file->path,
+            fname,
+            embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
+     }
+   else if (ret == EMBRYO_PROGRAM_TOOLONG)
+     {
+       ERR("ERROR with embryo script. "
+            "OBJECT NAME: '%s', "
+            "OBJECT FILE: '%s', "
+            "ENTRY POINT: '%s', "
+           "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
+            ed->collection->part,
+            ed->file->path,
+            fname, 
+            embryo_program_max_cycle_run_get(ed->collection->script));
+     }
+}
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
new file mode 100644 (file)
index 0000000..a180bf0
--- /dev/null
@@ -0,0 +1,623 @@
+#include "edje_private.h"
+
+#include <Eo.h>
+
+EAPI Eo_Op EDJE_OBJ_BASE_ID = EO_NOOP;
+
+#ifdef MY_CLASS
+# undef MY_CLASS
+#endif
+
+#define MY_CLASS EDJE_OBJ_CLASS
+
+Eina_List *_edje_edjes = NULL;
+
+/************************** API Routines **************************/
+
+EAPI Evas_Object *
+edje_object_add(Evas *evas)
+{
+   Evas_Object *e;
+   e = eo_add(MY_CLASS, evas);
+   eo_unref(e);
+   return e;
+}
+
+static void
+_edje_smart_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
+{
+   Edje *ed = class_data;
+   ed->base = eo_data_get(obj, EVAS_OBJ_SMART_CLIPPED_CLASS);
+
+   eo_do_super(obj, eo_constructor());
+   eo_do(obj, evas_obj_type_set("edje"));
+   _edje_lib_ref();
+}
+
+static void
+_edje_color_class_free(void *data)
+{
+   Edje_Color_Class *cc = data;
+
+   if (cc->name) eina_stringshare_del(cc->name);
+   free(cc);
+}
+
+
+/* Private Routines */
+static void
+_edje_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+   Evas *tev = evas_object_evas_get(obj);
+
+   evas_event_freeze(tev);
+
+   ed->base->evas = tev;
+   ed->base->clipper = evas_object_rectangle_add(ed->base->evas);
+   evas_object_static_clip_set(ed->base->clipper, 1);
+   evas_object_smart_member_add(ed->base->clipper, obj);
+   evas_object_color_set(ed->base->clipper, 255, 255, 255, 255);
+   evas_object_move(ed->base->clipper, -10000, -10000);
+   evas_object_resize(ed->base->clipper, 20000, 20000);
+   evas_object_pass_events_set(ed->base->clipper, 1);
+   ed->is_rtl = EINA_FALSE;
+   ed->have_objects = EINA_TRUE;
+   ed->references = 1;
+   ed->user_defined = NULL;
+   ed->color_classes = eina_hash_string_small_new(_edje_color_class_free);
+
+   evas_object_geometry_get(obj, &(ed->x), &(ed->y), &(ed->w), &(ed->h));
+   ed->obj = obj;
+   _edje_edjes = eina_list_append(_edje_edjes, obj);
+   /*
+     {
+        Eina_List *l;
+        const void *data;
+
+        printf("--- EDJE DUMP [%i]\n", eina_list_count(_edje_edjes));
+        EINA_LIST_FOREACH(_edge_edges, l, data)
+          {
+             ed = _edje_fetch(data);
+             printf("EDJE: %80s | %80s\n", ed->path, ed->part);
+          }
+        printf("--- EDJE DUMP [%i]\n", eina_list_count(_edje_edjes));
+     }
+   */
+   evas_event_thaw(tev);
+   evas_event_thaw_eval(tev);
+}
+
+static void
+_edje_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+
+   _edje_block_violate(ed);
+   ed->delete_me = 1;
+   _edje_edjes = eina_list_remove(_edje_edjes, obj);
+   evas_object_smart_data_set(obj, NULL);
+   if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
+   if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
+#ifdef HAVE_EPHYSICS
+   /* clear physics world  / shutdown ephysics */
+   if ((ed->collection) && (ed->collection->physics_enabled))
+     {
+        ephysics_world_del(ed->world);
+        ephysics_shutdown();
+     }
+#endif
+   if (ed->persp) edje_object_perspective_set(obj, NULL);
+   _edje_file_del(ed);
+   _edje_clean_objects(ed);
+   _edje_unref(ed);
+   _edje_lib_unref();
+}
+
+static void
+_edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Coord x = va_arg(*list, Evas_Coord);
+   Evas_Coord y = va_arg(*list, Evas_Coord);
+   Edje *ed = _pd;
+
+   if ((ed->x == x) && (ed->y == y)) return;
+   ed->x = x;
+   ed->y = y;
+//   evas_object_move(ed->clipper, ed->x, ed->y);
+
+   if (_edje_script_only(ed))
+     {
+        _edje_script_only_move(ed);
+        return;
+     }
+   if (_edje_lua_script_only(ed))
+     {
+        _edje_lua_script_only_move(ed);
+        return;
+     }
+
+   if (ed->have_mapped_part)
+     {
+        ed->dirty = EINA_TRUE;
+        _edje_recalc_do(ed);
+     }
+   else
+     {
+        unsigned int i;
+
+        for (i = 0; i < ed->table_parts_size; i++)
+          {
+             Edje_Real_Part *ep;
+
+             ep = ed->table_parts[i];
+             if ((ep->type == EDJE_RP_TYPE_TEXT) &&
+                 (ep->typedata.text))
+               evas_object_move(ep->object, 
+                                ed->x + ep->x + ep->typedata.text->offset.x, 
+                                ed->y + ep->y + ep->typedata.text->offset.y);
+             else
+               evas_object_move(ep->object, 
+                                ed->x + ep->x, 
+                                ed->y + ep->y);
+             if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+               _edje_entry_real_part_configure(ep);
+             if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
+                 (ep->typedata.swallow))
+               {
+                  if (ep->typedata.swallow->swallowed_object)
+                    evas_object_move
+                    (ep->typedata.swallow->swallowed_object, 
+                        ed->x + ep->x, 
+                        ed->y + ep->y);
+               }
+          }
+     }
+//   _edje_emit(ed, "move", NULL);
+}
+
+static void
+_edje_limit_emit(Edje *ed, const char *limit_name, Eina_Bool over)
+{
+   char *buffer;
+   unsigned int length;
+
+   if (!limit_name) return ;
+
+   length = strlen(limit_name) + 13;
+   buffer = alloca(length);
+   snprintf(buffer, length, "limit,%s,%s", limit_name, over ? "over" : "below");
+   _edje_emit(ed, buffer, NULL);
+}
+
+static void
+_edje_limit_get(Edje *ed, Edje_Limit **limits, unsigned int length, Evas_Coord size_current, Evas_Coord size_next)
+{
+   unsigned int i;
+
+   if (size_next == size_current) return ;
+
+   for (i = 0; i < length; ++i)
+     {
+        if ((size_current <= limits[i]->value) && (limits[i]->value < size_next))
+          {
+             _edje_limit_emit(ed, limits[i]->name, EINA_TRUE);
+          }
+        else if ((size_next <= limits[i]->value) && (limits[i]->value < size_current))
+          {
+             _edje_limit_emit(ed, limits[i]->name, EINA_FALSE);
+          }
+     }
+}
+
+static void
+_edje_smart_resize(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+{
+   Evas_Coord w = va_arg(*list, Evas_Coord);
+   Evas_Coord h = va_arg(*list, Evas_Coord);
+   Edje *ed = _pd;
+
+   if ((w == ed->w) && (h == ed->h)) return;
+   if (ed->collection)
+     {
+        _edje_limit_get(ed, ed->collection->limits.horizontal, ed->collection->limits.horizontal_count, ed->w, w);
+        _edje_limit_get(ed, ed->collection->limits.vertical, ed->collection->limits.vertical_count, ed->h, h);
+     }
+   ed->w = w;
+   ed->h = h;
+#ifdef HAVE_EPHYSICS
+   if ((ed->collection) && (ed->world))
+        ephysics_world_render_geometry_set(
+           ed->world, ed->x, ed->y, ed->collection->physics.world.z,
+           ed->w, ed->h, ed->collection->physics.world.depth);
+#endif
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+   if (_edje_script_only(ed))
+     {
+        _edje_script_only_resize(ed);
+        return;
+     }
+   if (_edje_lua_script_only(ed))
+     {
+        _edje_lua_script_only_resize(ed);
+        return;
+     }
+//   evas_object_resize(ed->clipper, ed->w, ed->h);
+   ed->dirty = EINA_TRUE;
+   _edje_recalc_do(ed);
+   _edje_emit(ed, "resize", NULL);
+}
+
+static void
+_edje_smart_show(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+
+   eo_do_super(obj, evas_obj_smart_show());
+   if (evas_object_visible_get(obj)) return;
+   if (_edje_script_only(ed))
+     {
+        _edje_script_only_show(ed);
+        return;
+     }
+   if (_edje_lua_script_only(ed))
+     {
+        _edje_lua_script_only_show(ed);
+        return;
+     }
+   _edje_emit(ed, "show", NULL);
+}
+
+static void
+_edje_smart_hide(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+
+   eo_do_super(obj, evas_obj_smart_hide());
+   if (!evas_object_visible_get(obj)) return;
+   if (_edje_script_only(ed))
+     {
+        _edje_script_only_hide(ed);
+        return;
+     }
+   if (_edje_lua_script_only(ed))
+     {
+        _edje_lua_script_only_hide(ed);
+        return;
+     }
+   _edje_emit(ed, "hide", NULL);
+}
+
+static void
+_edje_smart_calculate(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+   _edje_recalc_do(ed);
+}
+
+static void
+_edje_smart_file_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   const char *file = va_arg(*list, const char *);
+   const char *group = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Eina_Array *nested;
+   if (ret) *ret = EINA_FALSE;
+
+   nested = eina_array_new(8);
+   if (_edje_object_file_set_internal(obj, file, group, NULL, NULL, nested))
+     if (ret) *ret = EINA_TRUE;
+   eina_array_free(nested);
+}
+
+static void
+_edje_smart_class_constructor(Eo_Class *klass)
+{
+   const Eo_Op_Func_Description func_desc[] = {
+        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _edje_smart_constructor),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _edje_smart_add),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _edje_smart_del),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _edje_smart_move),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_SHOW), _edje_smart_show),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_HIDE), _edje_smart_hide),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _edje_smart_resize),
+        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_CALCULATE), _edje_smart_calculate),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_SET), _scale_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_GET), _scale_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_GET), _mirrored_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_SET), _mirrored_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_DATA_GET), _data_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FREEZE), _freeze),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_THAW), _thaw),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET), _color_class_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET), _color_class_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET), _text_class_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXISTS), _part_exists),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_OBJECT_GET), _part_object_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET), _part_geometry_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET), _item_provider_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET), _text_change_cb_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH), _part_text_style_user_push),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP), _part_text_style_user_pop),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK), _part_text_style_user_peek),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SET), _part_text_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_GET), _part_text_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET), _part_text_escaped_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET), _part_text_unescaped_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET), _part_text_unescaped_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET), _part_text_selection_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE), _part_text_select_none),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL), _part_text_select_all),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT), _part_text_insert),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND), _part_text_append),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET), _part_text_anchor_list_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET), _part_text_anchor_geometry_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET), _part_text_item_list_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET), _part_text_item_geometry_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET), _part_text_cursor_geometry_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT), _part_text_user_insert),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET), _part_text_select_allow_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT), _part_text_select_abort),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN), _part_text_select_begin),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND), _part_text_select_extend),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET), _part_text_imf_context_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT), _part_text_cursor_next),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV), _part_text_cursor_prev),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP), _part_text_cursor_up),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN), _part_text_cursor_down),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET), _part_text_cursor_begin_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET), _part_text_cursor_end_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY), _part_text_cursor_copy),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET), _part_text_cursor_line_begin_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET), _part_text_cursor_line_end_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET), _part_text_cursor_coord_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET), _part_text_cursor_is_format_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET), _part_text_cursor_is_visible_format_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET), _part_text_cursor_content_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET), _part_text_cursor_pos_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET), _part_text_cursor_pos_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET), _part_text_imf_context_reset),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET), _part_text_input_panel_layout_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET), _part_text_input_panel_layout_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET), _part_text_autocapital_type_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET), _part_text_autocapital_type_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET), _part_text_prediction_allow_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET), _part_text_prediction_allow_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET), _part_text_input_panel_enabled_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET), _part_text_input_panel_enabled_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW), _part_text_input_panel_show),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE), _part_text_input_panel_hide),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET), _part_text_input_panel_language_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET), _part_text_input_panel_language_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET), _part_text_input_panel_imdata_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET), _part_text_input_panel_imdata_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET), _part_text_input_panel_return_key_type_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET), _part_text_input_panel_return_key_type_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET), _part_text_input_panel_return_key_disabled_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET), _part_text_input_panel_return_key_disabled_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD), _text_insert_filter_callback_add),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL), _text_insert_filter_callback_del),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL), _text_insert_filter_callback_del_full),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD), _text_markup_filter_callback_add),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL), _text_markup_filter_callback_del),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL), _text_markup_filter_callback_del_full),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW), _part_swallow),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_UNSWALLOW), _part_unswallow),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET), _part_swallow_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_GET), _size_min_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MAX_GET), _size_max_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_CALC_FORCE), _calc_force),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC), _size_min_calc),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC), _parts_extends_calc),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC), _size_min_restricted_calc),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_STATE_GET), _part_state_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET), _part_drag_dir_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET), _part_drag_value_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET), _part_drag_value_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET), _part_drag_size_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET), _part_drag_size_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET), _part_drag_step_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET), _part_drag_step_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET), _part_drag_page_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET), _part_drag_page_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP), _part_drag_step),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE), _part_drag_page),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_APPEND), _part_box_append),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND), _part_box_prepend),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE), _part_box_insert_before),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT), _part_box_insert_at),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE), _part_box_remove),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT), _part_box_remove_at),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL), _part_box_remove_all),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET), _access_part_list_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET), _part_table_child_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_PACK), _part_table_pack),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK), _part_table_unpack),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET), _part_table_col_row_size_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR), _part_table_clear),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET), _perspective_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET), _perspective_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PRELOAD), _preload),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET), _update_hints_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET), _update_hints_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), _part_external_object_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), _part_external_param_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), _part_external_param_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), _part_external_content_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), _part_external_param_type_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), _edje_smart_file_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_GET), _file_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET), _load_error_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SEND), _message_send),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET), _message_handler_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS), _message_signal_process),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD), _signal_callback_add),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL), _signal_callback_del),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL), _signal_callback_del_full),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_EMIT), _signal_emit),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_SET), _play_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_GET), _play_get),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_SET), _animation_set),
+        EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_GET), _animation_get),
+        EO_OP_FUNC_SENTINEL
+   };
+
+   eo_class_funcs_set(klass, func_desc);
+}
+
+static const Eo_Op_Description op_desc[] = {
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SCALE_SET, "Set the scaling factor for a given Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SCALE_GET, "Get a given Edje object's scaling factor."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MIRRORED_GET, "Get the RTL orientation for this object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MIRRORED_SET, "Set the RTL orientation for this object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_DATA_GET, "Retrive an <b>EDC data field's value</b> from a given Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FREEZE, "Freezes the Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_THAW, "Thaws the Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET, "Sets the object color class."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET, "Gets the object color class."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET, "Sets Edje text class."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXISTS, "Check if an Edje part exists in a given Edje object's group"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_OBJECT_GET, "Get a handle to the Evas object implementing a given Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET, "Retrieve the geometry of a given Edje part, in a given Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET, "Set the function that provides item objects for named items in an edje entry text"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET, "Set the object text callback."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH, "Set the style of the"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP, "Delete the top style form the user style stack."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK, "Return the text of the object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SET, "Sets the text for an object part"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_GET, "Return the text of the object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET, "Sets the text for an object part, but converts HTML escapes to UTF8"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET, "Sets the raw (non escaped) text for an object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET, "Returns the text of the object part, without escaping."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET, "Return the selection text of the object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE, "Set the selection to be none."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL, "Set the selection to be everything."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT, "Insert text for an object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND, "Insert text for an object part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET, "Return a list of char anchor names."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET, "Return a list of Evas_Textblock_Rectangle anchor rectangles."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET, "Return a list of char item names."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET, "Return item geometry."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET, "Returns the cursor geometry of the part relative to the edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT, "This function inserts text as if the user has inserted it."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET, "Enables selection if the entry is an EXPLICIT selection mode"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT, "Aborts any selection action on a part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN, "Starts selecting at current cursor position"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND, "Extends the current selection to the current cursor position"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET, "Get the input method context in entry."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT, "Advances the cursor to the next cursor position."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV, "Moves the cursor to the previous char"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP, "Move the cursor to the char above the current cursor position."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN, "Moves the cursor to the char below the current cursor position."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET, "Moves the cursor to the beginning of the text part"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET, "Moves the cursor to the end of the text part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY, "Copy the cursor to another cursor."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET, "Move the cursor to the beginning of the line."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET, "Move the cursor to the end of the line."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET, "Position the given cursor to a X,Y position."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET, "Returns whether the cursor points to a format."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET, "Return true if the cursor points to a visible format"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET, "Returns the content (char) at the cursor position."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET, "Sets the cursor position to the given value"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET, "Retrieves the current position of the cursor"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET, "Reset the input method context if needed."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET, "Set the layout of the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET, "Get the layout of the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET, "Set the autocapitalization type on the immodule."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET, "Retrieves the autocapitalization type"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET, "Set whether the prediction is allowed or not."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET, "Get whether the prediction is allowed or not."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET, "Sets the attribute to show the input panel automatically."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET, "Retrieve the attribute to show the input panel automatically."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW, "Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE, "Hide the input panel (virtual keyboard)."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET, "Set the language mode of the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET, "Get the language mode of the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET, "Set the input panel-specific data to deliver to the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET, "Get the specific data of the current active input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET, "Set the return key type. This type is used to set string or icon on the return key of the input panel."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET, "Get the return key type."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET, "Set the return key on the input panel to be disabled."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET, "Get whether the return key on the input panel should be disabled or not."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD, "Add a filter function for newly inserted text."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL, "Delete a function from the filter list."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL, "Delete a function and matching user data from the filter list."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD, "Add a markup filter function for newly inserted text."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL, "Delete a function from the markup filter list."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL, "Delete a function and matching user data from the markup filter list."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_SWALLOW, "Swallows an object into one of the Edje object @c SWALLOW"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_UNSWALLOW, "Unswallow an object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET, "Get the object currently swallowed by a part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_GET, "Get the minimum size specified -- as an EDC property -- for a"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MAX_GET, "Get the maximum size specified -- as an EDC property -- for a"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_CALC_FORCE, "Force a Size/Geometry calculation."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC, "Calculate the minimum required size for a given Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC, "Calculate the geometry of the region, relative to a given Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC, "Calculate the minimum required size for a given Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_STATE_GET, "Returns the state of the Edje part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET, "Determine dragable directions."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET, "Set the dragable object location."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET, "Get the dragable object location."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET, "Set the dragable object size."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET, "Get the dragable object size."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET, "Sets the drag step increment."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET, "Gets the drag step increment values."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET, "Sets the page step increments."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET, "Gets the page step increments."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_STEP, "Steps the dragable x,y steps."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE, "Pages x,y steps."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_APPEND, "Appends an object to the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND, "Prepends an object to the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE, "Adds an object to the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT, "Inserts an object to the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE, "Removes an object from the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT, "Removes an object from the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL, "Removes all elements from the box."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET, "Retrieve a list all accessibility part names"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET, "Retrieve a child from a table"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_PACK, "Packs an object into the table."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK, "Removes an object from the table."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET, "Gets the number of columns and rows the table has."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR, "Removes all object from the table."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET, "Set the given perspective object on this Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET, "Get the current perspective used on this Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PRELOAD, "Preload the images on the Edje Object in the background."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET, "Edje will automatically update the size hints on itself."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET, "Wether or not Edje will update size hints on itself."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET, "Get the object created by this external part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET, "Set the parameter for the external part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET, "Get the parameter for the external part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET, "Get an object contained in an part of type EXTERNAL"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET, "Facility to query the type of the given parameter of the given part."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FILE_SET, "Sets the @b EDJ file (and group within it) to load an Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_FILE_GET, "Get the file and group name that a given Edje object is bound to"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET, "Gets the (last) file loading error for a given Edje object"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_SEND, "Send an (Edje) message to a given Edje object"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET, "Set an Edje message handler function for a given Edje object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS, "Process an object's message queue."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD, "Add a callback for an arriving Edje signal, emitted by"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL, "Remove a signal-triggered callback from an object."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL_FULL, "Unregister/delete a callback set for an arriving Edje"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_SIGNAL_EMIT, "Send/emit an Edje signal to a given Edje object"),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PLAY_SET, "Set the Edje object to playing or paused states."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_PLAY_GET, "Get the Edje object's state."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ANIMATION_SET, "Set the object's animation state."),
+     EO_OP_DESCRIPTION(EDJE_OBJ_SUB_ID_ANIMATION_GET, "Get the Edje object's animation state."),
+     EO_OP_DESCRIPTION_SENTINEL
+};
+
+static const Eo_Class_Description edje_smart_class_desc = {
+     EO_VERSION,
+     "Edje_Smart",
+     EO_CLASS_TYPE_REGULAR,
+     EO_CLASS_DESCRIPTION_OPS(&EDJE_OBJ_BASE_ID, op_desc, EDJE_OBJ_SUB_ID_LAST),
+     NULL,
+     sizeof(Edje),
+     _edje_smart_class_constructor,
+     NULL
+};
+
+EO_DEFINE_CLASS(edje_object_class_get, &edje_smart_class_desc, EVAS_OBJ_SMART_CLIPPED_CLASS, NULL);
+
diff --git a/src/lib/edje/edje_text.c b/src/lib/edje/edje_text.c
new file mode 100644 (file)
index 0000000..907f5d2
--- /dev/null
@@ -0,0 +1,619 @@
+#include "edje_private.h"
+#define _ELLIP_STR "\xE2\x80\xA6"
+
+/* returns with and height for this part.
+ *
+ * depending on the value of the use_alternate_font_metrics flag, it will
+ * either use evas_object_geometry_get() or the _advance_get() functions.
+ *
+ * The latter is useful if you want to make sure that width and height
+ * are the same value for the same number of characters in the text.
+ * This usually only makes sense for monospaced fonts.
+ *
+ * In future changes to this file, you probably should use this wrapper
+ * function everywhere instead of calling evas_object_geometry_get()
+ * directly.
+ */
+static inline void
+part_get_geometry(Edje_Real_Part *rp, Evas_Coord *w, Evas_Coord *h)
+{
+   if (!rp->part->use_alternate_font_metrics)
+     evas_object_geometry_get(rp->object, NULL, NULL, w, h);
+   else
+     {
+       if (w) *w = evas_object_text_horiz_advance_get(rp->object);
+       if (h) *h = evas_object_text_vert_advance_get(rp->object);
+     }
+}
+
+void
+_edje_text_init(void)
+{
+}
+
+void
+_edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep)
+{
+   Edje_Part *pt = ep->part;
+   Edje_Part_Description_Text *desc;
+   unsigned int i;
+
+   if (ep->part->type != EDJE_PART_TYPE_TEXT) return;
+
+   /* if text class exists for this part, add the edje to the tc member list */
+   desc = (Edje_Part_Description_Text *) pt->default_desc;
+   if ((pt->default_desc) && (desc->text.text_class))
+     _edje_text_class_member_add(ed, desc->text.text_class);
+
+   /* If any other classes exist add them */
+   for (i = 0; i < pt->other.desc_count; ++i)
+     {
+       desc = (Edje_Part_Description_Text *) pt->other.desc[i];
+       if ((desc) && (desc->text.text_class))
+         _edje_text_class_member_add(ed, desc->text.text_class);
+     }
+}
+
+void
+_edje_text_part_on_del(Edje *ed, Edje_Part *pt)
+{
+   Edje_Part_Description_Text *desc;
+   unsigned int i;
+
+   if (!pt) return;
+   if (pt->type != EDJE_PART_TYPE_TEXT
+       && pt->type != EDJE_PART_TYPE_TEXTBLOCK)
+     return ;
+
+   desc = (Edje_Part_Description_Text *) pt->default_desc;
+   if ((pt->default_desc) && (desc->text.text_class))
+     _edje_text_class_member_del(ed, desc->text.text_class);
+
+   for (i = 0; i < pt->other.desc_count; ++i)
+     {
+       desc = (Edje_Part_Description_Text *) pt->other.desc[i];
+       if (desc->text.text_class)
+         _edje_text_class_member_del(ed, desc->text.text_class);
+     }
+}
+
+static const char *
+_edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
+                 Edje_Calc_Params *params,
+                 const char *text, const char *font, int size,
+                 Evas_Coord sw, Evas_Coord sh, int *free_text)
+{
+   FLOAT_T sc;
+
+   sc = ed->scale;
+   if (sc == ZERO) sc = _edje_scale;
+
+   *free_text = 0;
+   if (sw <= 1) return "";
+
+   if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+
+   eo_do(ep->object,
+         evas_obj_text_ellipsis_set(params->type.text.elipsis),
+         evas_obj_text_font_set(font, size),
+         evas_obj_text_text_set(text),
+         evas_obj_size_set(sw, sh));
+
+   return text;
+}
+
+static const char *
+_edje_text_font_get(const char *base, const char *new, char **free_later)
+{
+   const char *base_style, *new_style, *aux;
+   size_t font_len, style_len;
+
+   if (base && (!new))
+     return base;
+   else if (!base)
+     return new;
+
+   base_style = strstr(base, ":style=");
+   if (!base_style)
+     return new;
+
+   new_style = strstr(new, ":style=");
+   if (new_style)
+     return new;
+
+   font_len = strlen(new);
+   aux = strchr(base_style, ',');
+   style_len = (aux) ? (size_t)(aux - base_style) : strlen(base_style);
+
+   *free_later = malloc(font_len + style_len + 1);
+   memcpy(*free_later, new, font_len);
+   memcpy(*free_later + font_len, base_style, style_len);
+   (*free_later)[font_len + style_len] = '\0';
+
+   return *free_later;
+}
+
+const char *
+_edje_text_class_font_get(Edje *ed, Edje_Part_Description_Text *chosen_desc, int *size, char **free_later)
+{
+   Edje_Text_Class *tc;
+   const char *text_class_name, *font;
+
+   font = edje_string_get(&chosen_desc->text.font);
+   *size = chosen_desc->text.size;
+
+   text_class_name = chosen_desc->text.text_class;
+   if ((!text_class_name) || (!text_class_name[0]))
+     return font;
+
+   tc = _edje_text_class_find(ed, text_class_name);
+   if (!tc)
+     return font;
+
+   font = _edje_text_font_get(edje_string_get(&chosen_desc->text.font), tc->font, free_later);
+   *size = _edje_text_size_calc(*size, tc);
+
+   return font;
+}
+
+void
+_edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
+                       Edje_Calc_Params *params,
+                       Edje_Part_Description_Text *chosen_desc)
+{
+   const char  *text = NULL;
+   const char  *font;
+   char                *font2 = NULL;
+   char         *sfont = NULL;
+   int          size;
+   Evas_Coord   tw, th;
+   Evas_Coord   sw, sh;
+   int          inlined_font = 0, free_text = 0;
+   Eina_Bool     same_text = EINA_FALSE;
+   FLOAT_T       sc;
+   
+   if ((ep->type != EDJE_RP_TYPE_TEXT) ||
+       (!ep->typedata.text)) return;
+   sc = ed->scale;
+   if (sc == 0.0) sc = _edje_scale;
+   text = edje_string_get(&chosen_desc->text.text);
+   font = _edje_text_class_font_get(ed, chosen_desc, &size, &sfont);
+
+   if (ep->typedata.text->text) text = ep->typedata.text->text;
+   if (ep->typedata.text->font) font = ep->typedata.text->font;
+   if (ep->typedata.text->size > 0) size = ep->typedata.text->size;
+
+   if (ep->typedata.text->text_source)
+     {
+       text = edje_string_get(&(((Edje_Part_Description_Text *)ep->typedata.text->text_source->chosen_description)->text.text));
+       if (ep->typedata.text->text_source->typedata.text->text) text = ep->typedata.text->text_source->typedata.text->text;
+     }
+   if (ep->typedata.text->source)
+     {
+       font = edje_string_get(&(((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.font));
+       size = ((Edje_Part_Description_Text *)ep->typedata.text->source->chosen_description)->text.size;
+       if (ep->typedata.text->source->typedata.text->font) font = ep->typedata.text->source->typedata.text->font;
+       if (ep->typedata.text->source->typedata.text->size > 0) size = ep->typedata.text->source->typedata.text->size;
+     }
+
+   if (!text) text = "";
+   if (!font) font = "";
+
+   /* check if the font is embedded in the .eet */
+   if (ed->file->fonts)
+     {
+       Edje_Font_Directory_Entry *fnt = eina_hash_find(ed->file->fonts, font);
+
+       if (fnt)
+         {
+             size_t len = strlen(font) + sizeof("edje/fonts/") + 1;
+             font2 = alloca(len);
+             sprintf(font2, "edje/fonts/%s", font);
+             font = font2;
+            inlined_font = 1;
+             font2 = NULL;
+         }
+     }
+
+   if ((_edje_fontset_append) && (font))
+     {
+       font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 1);
+       if (font2)
+         {
+            strcpy(font2, font);
+            strcat(font2, ",");
+            strcat(font2, _edje_fontset_append);
+            font = font2;
+         }
+     }
+     {
+       int l, r, t, b;
+
+       evas_object_text_style_pad_get(ep->object, &l, &r, &t, &b);
+       sw = params->w;
+       sh = params->h;
+     }
+
+   size = params->type.text.size;
+   if (!text) text = "";
+
+   if ((text == ep->typedata.text->cache.in_str)
+       || (text && ep->typedata.text->cache.in_str && !strcmp(ep->typedata.text->cache.in_str, text)))
+     {
+        text = ep->typedata.text->cache.in_str;
+        same_text = EINA_TRUE;
+     }
+
+   if ((ep->typedata.text->cache.in_size == size) &&
+       (ep->typedata.text->cache.in_w == sw) &&
+       (ep->typedata.text->cache.in_h == sh) &&
+       (ep->typedata.text->cache.in_str) &&
+       same_text &&
+       (ep->typedata.text->cache.align_x == params->type.text.align.x) &&
+       (ep->typedata.text->cache.align_y == params->type.text.align.y) &&
+       (ep->typedata.text->cache.elipsis == params->type.text.elipsis) &&
+       (ep->typedata.text->cache.fit_x == chosen_desc->text.fit_x) &&
+       (ep->typedata.text->cache.fit_y == chosen_desc->text.fit_y))
+     {
+       text = ep->typedata.text->cache.out_str;
+       size = ep->typedata.text->cache.out_size;
+
+       goto arrange_text;
+     }
+   if (!same_text)
+     {
+        eina_stringshare_replace(&ep->typedata.text->cache.in_str, text);
+     }
+   ep->typedata.text->cache.in_size = size;
+   if (chosen_desc->text.fit_x && (ep->typedata.text->cache.in_str && eina_stringshare_strlen(ep->typedata.text->cache.in_str) > 0))
+     {
+        if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+       else evas_object_text_font_source_set(ep->object, NULL);
+
+       if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+        eo_do(ep->object,
+              evas_obj_text_font_set(font, size),
+              evas_obj_text_text_set(text));
+       part_get_geometry(ep, &tw, &th);
+        /* Find the wanted font size */
+       if ((tw != sw) && (size > 0) && (tw != 0))
+          {
+             size = (size * sw) / tw;
+
+             if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+             else evas_object_text_font_source_set(ep->object, NULL);
+
+             if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+             evas_object_text_font_set(ep->object, font, size);
+             part_get_geometry(ep, &tw, &th);
+         }
+
+        /* FIXME: This should possibly be replaced by more proper handling,
+         * but it's still way better than what was here before. */
+        if (tw > sw) size--;
+     }
+   if (chosen_desc->text.fit_y && (ep->typedata.text->cache.in_str && eina_stringshare_strlen(ep->typedata.text->cache.in_str) > 0))
+     {
+       /* if we fit in the x axis, too, size already has a somewhat
+        * meaningful value, so don't overwrite it with the starting
+        * value in that case
+        */
+       if (!chosen_desc->text.fit_x) size = sh;
+
+        if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+       else evas_object_text_font_source_set(ep->object, NULL);
+
+       if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+        eo_do(ep->object,
+              evas_obj_text_font_set(font, size),
+              evas_obj_text_text_set(text));
+       part_get_geometry(ep, &tw, &th);
+
+       /* only grow the font size if we didn't already reach the max size
+        * for the x axis
+        */
+       if (!chosen_desc->text.fit_x && th < sh)
+         {
+            int dif;
+
+            dif = (th - sh) / 4;
+            if (dif < 1) dif = 1;
+            while ((th < sh) && (sw > 0))
+              {
+                 size += dif;
+                 if (size <= 0) break;
+                 if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+                 else evas_object_text_font_source_set(ep->object, NULL);
+
+                 if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+                 evas_object_text_font_set(ep->object, font, size);
+                 part_get_geometry(ep, &tw, &th);
+                 if ((size > 0) && (th == 0)) break;
+              }
+            size -= dif;
+         }
+       else if (th > sh)
+         {
+            int current;
+
+            if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+            evas_object_text_font_set(ep->object, font, 10);
+            part_get_geometry(ep, &tw, &th);
+
+            if (th == sh)
+              current = 10;
+            else
+              {
+                 int bottom, top;
+
+                 if (th < sh) bottom = 10;
+                 else if (th > sh) bottom = 1;
+                 else bottom = 0; /* XXX shut up GCC, th == sh is handled before! */
+
+                 top = size;
+                 /* search one that fits (binary search) */
+                 do
+                   {
+                      current = (top + bottom) / 2;
+
+                      if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+                      evas_object_text_font_set(ep->object, font, current);
+                      part_get_geometry(ep, &tw, &th);
+
+                      if      (th < sh) bottom = current + 1;
+                      else if (th > sh) top    = current - 1;
+                   } while ((bottom < top) && (th != sh));
+              }
+
+            /* search the larger one that fits (linear search) */
+            do
+              {
+                 current++;
+
+                 if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+                 evas_object_text_font_set(ep->object, font, current);
+                 part_get_geometry(ep, &tw, &th);
+              } while (th <= sh);
+            size = current - 1;
+         }
+     }
+
+   /* Make sure the size is in range */
+   if (size < 1)
+      size = 1;
+   else if ((size > chosen_desc->text.size_range_max) &&
+            (chosen_desc->text.size_range_max > 0))
+      size = chosen_desc->text.size_range_max;
+   else if (size < chosen_desc->text.size_range_min)
+      size = chosen_desc->text.size_range_min;
+
+   /* Handle ellipsis */
+   if (!chosen_desc->text.min_x)
+     {
+       if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+       else evas_object_text_font_source_set(ep->object, NULL);
+
+       text = _edje_text_fit_x(ed, ep, params,
+                               text, font, size,
+                                sw, sh, &free_text);
+     }
+
+   eina_stringshare_replace(&ep->typedata.text->cache.out_str, text);
+   ep->typedata.text->cache.in_w = sw;
+   ep->typedata.text->cache.in_h = sh;
+   ep->typedata.text->cache.out_size = size;
+   ep->typedata.text->cache.align_x = params->type.text.align.x;
+   ep->typedata.text->cache.align_y = params->type.text.align.y;
+   ep->typedata.text->cache.elipsis = params->type.text.elipsis;
+   ep->typedata.text->cache.fit_x = chosen_desc->text.fit_x;
+   ep->typedata.text->cache.fit_y = chosen_desc->text.fit_y;
+   arrange_text:
+
+   if (inlined_font) evas_object_text_font_source_set(ep->object, ed->path);
+   else evas_object_text_font_source_set(ep->object, NULL);
+
+   if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
+   eo_do(ep->object,
+         evas_obj_text_font_set(font, size),
+         evas_obj_text_text_set(text));
+   part_get_geometry(ep, &tw, &th);
+   /* Handle alignment */
+     {
+        FLOAT_T align_x;
+        if (params->type.text.align.x < FROM_INT(0))
+          {
+             if (evas_object_text_direction_get(ep->object) ==
+                   EVAS_BIDI_DIRECTION_RTL)
+               {
+                  align_x = FROM_INT(1);
+               }
+             else
+               {
+                  align_x = FROM_INT(0);
+               }
+          }
+        else
+          {
+             align_x = params->type.text.align.x;
+          }
+        ep->typedata.text->offset.x = TO_INT(SCALE(align_x, (sw - tw)));
+        ep->typedata.text->offset.y = TO_INT(SCALE(params->type.text.align.y, (sh - th)));
+     }
+
+   evas_object_move(ep->object,
+                   ed->x + params->x + ep->typedata.text->offset.x,
+                   ed->y + params->y + ep->typedata.text->offset.y);
+
+   if (params->visible) evas_object_show(ep->object);
+   else evas_object_hide(ep->object);
+     {
+       Evas_Text_Style_Type style;
+        Edje_Text_Effect effect;
+
+       style = EVAS_TEXT_STYLE_PLAIN;
+
+       evas_object_color_set(ep->object,
+                             (params->color.r * params->color.a) / 255,
+                             (params->color.g * params->color.a) / 255,
+                             (params->color.b * params->color.a) / 255,
+                             params->color.a);
+        effect = ep->part->effect;
+        switch (effect & EDJE_TEXT_EFFECT_MASK_BASIC)
+          {
+           case EDJE_TEXT_EFFECT_NONE:
+           case EDJE_TEXT_EFFECT_PLAIN:
+            style = EVAS_TEXT_STYLE_PLAIN;
+             break;
+           case EDJE_TEXT_EFFECT_OUTLINE:
+            style = EVAS_TEXT_STYLE_OUTLINE;
+            evas_object_text_outline_color_set(ep->object,
+                                               (params->type.text.color2.r * params->type.text.color2.a) / 255,
+                                               (params->type.text.color2.g * params->type.text.color2.a) / 255,
+                                               (params->type.text.color2.b * params->type.text.color2.a) / 255,
+                                               params->type.text.color2.a);
+             break;
+           case EDJE_TEXT_EFFECT_SOFT_OUTLINE:
+            style = EVAS_TEXT_STYLE_SOFT_OUTLINE;
+            evas_object_text_outline_color_set(ep->object,
+                                               (params->type.text.color2.r * params->type.text.color2.a) / 255,
+                                               (params->type.text.color2.g * params->type.text.color2.a) / 255,
+                                               (params->type.text.color2.b * params->type.text.color2.a) / 255,
+                                               params->type.text.color2.a);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW:
+            style = EVAS_TEXT_STYLE_SHADOW;
+            evas_object_text_shadow_color_set(ep->object,
+                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                              params->type.text.color3.a);
+             break;
+           case EDJE_TEXT_EFFECT_SOFT_SHADOW:
+            style = EVAS_TEXT_STYLE_SOFT_SHADOW;
+            evas_object_text_shadow_color_set(ep->object,
+                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                              params->type.text.color3.a);
+             break;
+           case EDJE_TEXT_EFFECT_OUTLINE_SHADOW:
+            style = EVAS_TEXT_STYLE_OUTLINE_SHADOW;
+             eo_do(ep->object,
+                   evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
+                                                   (params->type.text.color2.g * params->type.text.color2.a) / 255,
+                                                   (params->type.text.color2.b * params->type.text.color2.a) / 255,
+                                                   params->type.text.color2.a),
+                   evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                                  (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                                  (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                                  params->type.text.color3.a));
+             break;
+           case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW:
+            style = EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW;
+             eo_do(ep->object,
+                   evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
+                                                   (params->type.text.color2.g * params->type.text.color2.a) / 255,
+                                                   (params->type.text.color2.b * params->type.text.color2.a) / 255,
+                                                   params->type.text.color2.a),
+                   evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                                  (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                                  (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                                  params->type.text.color3.a));
+             break;
+           case EDJE_TEXT_EFFECT_FAR_SHADOW:
+            style = EVAS_TEXT_STYLE_FAR_SHADOW;
+            evas_object_text_shadow_color_set(ep->object,
+                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                              params->type.text.color3.a);
+             break;
+           case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW:
+            style = EVAS_TEXT_STYLE_FAR_SOFT_SHADOW;
+            evas_object_text_shadow_color_set(ep->object,
+                                              (params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                              (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                              params->type.text.color3.a);
+             break;
+           case EDJE_TEXT_EFFECT_GLOW:
+            style = EVAS_TEXT_STYLE_GLOW;
+             eo_do(ep->object,
+                   evas_obj_text_glow_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
+                                                (params->type.text.color2.g * params->type.text.color2.a) / 255,
+                                                (params->type.text.color2.b * params->type.text.color2.a) / 255,
+                                                params->type.text.color2.a),
+                   evas_obj_text_glow2_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
+                                                 (params->type.text.color3.g * params->type.text.color3.a) / 255,
+                                                 (params->type.text.color3.b * params->type.text.color3.a) / 255,
+                                                 params->type.text.color3.a));
+             break;
+           default:
+            style = EVAS_TEXT_STYLE_PLAIN;
+             break;
+          }
+        
+        switch (effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION)
+          {
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT);
+             break;
+           case EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT:
+             EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET
+                (style, EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT);
+             break;
+           default:
+             break;
+          }
+       evas_object_text_style_set(ep->object, style);
+     }
+   
+   if (free_text) free((char *)text);
+   if (font2) free(font2);
+   if (sfont) free(sfont);
+}
+
+Evas_Font_Size
+_edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc)
+{
+   int val;
+
+   if (tc->size == 0)
+     {
+       val = size;
+     }
+   else if (tc->size > 0.0)
+     {
+       val = tc->size;
+     }
+   else
+     {
+       val = (size * -tc->size) / 100;
+     }
+   return val;
+}
diff --git a/src/lib/edje/edje_textblock_styles.c b/src/lib/edje/edje_textblock_styles.c
new file mode 100644 (file)
index 0000000..52ea02f
--- /dev/null
@@ -0,0 +1,424 @@
+#include "edje_private.h"
+
+static int
+_edje_font_is_embedded(Edje_File *edf, char *font)
+{
+   if (!eina_hash_find(edf->fonts, font)) return 0;
+   return 1;
+}
+
+static void
+_edje_format_param_parse(char *item, char **key, char **val)
+{
+   char *p, *k, *v;
+
+   p = strchr(item, '=');
+   k = malloc(p - item + 1);
+   strncpy(k, item, p - item);
+   k[p - item] = 0;
+   *key = k;
+   p++;
+   v = strdup(p);
+   *val = v;
+}
+
+static char *
+_edje_format_parse(const char **s)
+{
+   char *item, *ds;
+   const char *p, *ss;
+   const char *s1 = NULL;
+   const char *s2 = NULL;
+
+   p = *s;
+   if ((!p) || (*p == 0)) return NULL;
+   for (;;)
+     {
+       if (!s1)
+         {
+            if (*p != ' ') s1 = p;
+            if (*p == 0) break;
+         }
+       else if (!s2)
+         {
+            if ((p > *s) && (p[-1] != '\\'))
+              {
+                 if (*p == ' ') s2 = p;
+              }
+            if (*p == 0) s2 = p;
+         }
+       p++;
+       if (s1 && s2)
+         {
+            item = malloc(s2 - s1 + 1);
+            if (item)
+              {
+                 for (ds = item, ss = s1; ss < s2; ss++, ds++)
+                   {
+                      if ((*ss == '\\') && (ss < (s2 - 1))) ss++;
+                      *ds = *ss;
+                   }
+                 *ds = 0;
+              }
+            *s = s2;
+            return item;
+         }
+     }
+   *s = p;
+   return NULL;
+}
+
+static int
+_edje_format_is_param(char *item)
+{
+   if (strchr(item, '=')) return 1;
+   return 0;
+}
+
+static char *
+_edje_format_reparse(Edje_File *edf, const char *str, Edje_Style_Tag **tag_ret)
+{
+   Eina_Strbuf *txt, *tmp = NULL;
+   char *s2, *item, *ret;
+   const char *s;
+
+   txt = eina_strbuf_new();
+   s = str;
+   while ((item = _edje_format_parse(&s)))
+     {
+       if (_edje_format_is_param(item))
+         {
+            char *key = NULL, *val = NULL;
+
+            _edje_format_param_parse(item, &key, &val);
+            if (!strcmp(key, "font_source"))
+              {
+                 /* dont allow font sources */
+              }
+            else if (!strcmp(key, "text_class"))
+              {
+                 if (tag_ret)
+                   (*tag_ret)->text_class = eina_stringshare_add(val);
+              }
+            else if (!strcmp(key, "font_size"))
+              {
+                 if (tag_ret)
+                   (*tag_ret)->font_size = atof(val);
+              }
+            else if (!strcmp(key, "font")) /* Fix fonts */
+              {
+                 if (tag_ret)
+                   {
+                      if (_edje_font_is_embedded(edf, val))
+                        {
+                           if (!tmp)
+                             tmp = eina_strbuf_new();
+                           eina_strbuf_append(tmp, "edje/fonts/");
+                           eina_strbuf_append(tmp, val);
+                           (*tag_ret)->font = eina_stringshare_add(eina_strbuf_string_get(tmp));
+                           eina_strbuf_reset(tmp);
+                        }
+                      else
+                        {
+                           (*tag_ret)->font = eina_stringshare_add(val);
+                        }
+                   }
+              }
+            else /* Otherwise add to tag buffer */
+              {
+                 s2 = eina_str_escape(item);
+                 if (s2)
+                   {
+                      if (eina_strbuf_length_get(txt)) eina_strbuf_append(txt, " ");
+                      eina_strbuf_append(txt, s2);
+                      free(s2);
+                   }
+              }
+            free(key);
+            free(val);
+         }
+       else
+         {
+            if (eina_strbuf_length_get(txt)) eina_strbuf_append(txt, " ");
+            eina_strbuf_append(txt, item);
+         }
+       free(item);
+     }
+   if (tmp)
+     eina_strbuf_free(tmp);
+   ret = eina_strbuf_string_steal(txt);
+   eina_strbuf_free(txt);
+   return ret;
+}
+
+/* Update all evas_styles which are in an edje
+ *
+ * @param ed   The edje containing styles which need to be updated
+ */
+void
+_edje_textblock_style_all_update(Edje *ed)
+{
+   Eina_List *l, *ll;
+   Edje_Style *stl;
+   Eina_Strbuf *txt = NULL;
+
+   if (!ed->file) return;
+
+   EINA_LIST_FOREACH(ed->file->styles, l, stl)
+     {
+       Edje_Style_Tag *tag;
+       Edje_Text_Class *tc;
+       int found = 0;
+       char *fontset = NULL, *fontsource = NULL;
+
+       /* Make sure the style is already defined */
+       if (!stl->style) break;
+
+       /* Make sure the style contains a text_class */
+       EINA_LIST_FOREACH(stl->tags, ll, tag)
+          {
+             if (tag->text_class)
+               {
+                  found = 1;
+                  break;
+               }
+          }
+
+       /* No text classes , goto next style */
+       if (!found) continue;
+       if (!txt)
+         txt = eina_strbuf_new();
+
+       if (_edje_fontset_append)
+         fontset = eina_str_escape(_edje_fontset_append);
+       fontsource = eina_str_escape(ed->file->path);
+
+       /* Build the style from each tag */
+       EINA_LIST_FOREACH(stl->tags, ll, tag)
+         {
+            if (!tag->key) continue;
+
+            /* Add Tag Key */
+            eina_strbuf_append(txt, tag->key);
+            eina_strbuf_append(txt, "='");
+
+            /* Configure fonts from text class if it exists */
+            tc = _edje_text_class_find(ed, tag->text_class);
+
+            /* Add and Ha`ndle tag parsed data */
+            eina_strbuf_append(txt, tag->value);
+
+            if (!strcmp(tag->key, "DEFAULT"))
+              {
+                 if (fontset)
+                   {
+                      eina_strbuf_append(txt, " ");
+                      eina_strbuf_append(txt, "font_fallbacks=");
+                      eina_strbuf_append(txt, fontset);
+                   }
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font_source=");
+                 eina_strbuf_append(txt, fontsource);
+              }
+            if (tag->font_size != 0)
+              {
+                 char font_size[32];
+
+                 if (tc && tc->size)
+                   snprintf(font_size, sizeof(font_size), "%f", (double) _edje_text_size_calc(tag->font_size, tc));
+                 else
+                   snprintf(font_size, sizeof(font_size), "%f", tag->font_size);
+
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font_size=");
+                 eina_strbuf_append(txt, font_size);
+              }
+            /* Add font name last to save evas from multiple loads */
+            if (tag->font)
+              {
+                 const char *f;
+
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font=");
+
+                 f = (tc && tc->font) ? tc->font : tag->font;
+                 eina_strbuf_append_escaped(txt, f);
+              }
+
+            eina_strbuf_append(txt, "'");
+         }
+       if (fontset) free(fontset);
+       if (fontsource) free(fontsource);
+
+       /* Configure the style */
+       evas_textblock_style_set(stl->style, eina_strbuf_string_get(txt));
+       eina_strbuf_reset(txt);
+     }
+   if (txt)
+     eina_strbuf_free(txt);
+}
+
+void
+_edje_textblock_styles_add(Edje *ed)
+{
+   Eina_List *l, *ll;
+   Edje_Style *stl;
+
+   if (!ed->file) return;
+
+   EINA_LIST_FOREACH(ed->file->styles, l, stl)
+     {
+       Edje_Style_Tag *tag;
+
+       /* Make sure the style contains the text_class */
+       EINA_LIST_FOREACH(stl->tags, ll, tag)
+         {
+           if (!tag->text_class) continue;
+           _edje_text_class_member_add(ed, tag->text_class);
+         }
+     }
+}
+
+void
+_edje_textblock_styles_del(Edje *ed)
+{
+   Eina_List *l, *ll;
+   Edje_Style *stl;
+
+   if (!ed->file) return;
+
+   EINA_LIST_FOREACH(ed->file->styles, l, stl)
+     {
+       Edje_Style_Tag *tag;
+
+       /* Make sure the style contains the text_class */
+       EINA_LIST_FOREACH(stl->tags, ll, tag)
+         {
+            if (!tag->text_class) continue;
+            _edje_text_class_member_del(ed, tag->text_class);
+         }
+     }
+}
+
+/* When we get to here the edje file had been read into memory
+ * the name of the style is established as well as the name and
+ * data for the tags.  This function will create the Evas_Style
+ * object for each style. The style is composed of a base style
+ * followed by a list of tags.
+ */
+void
+_edje_textblock_style_parse_and_fix(Edje_File *edf)
+{
+   Eina_Strbuf *txt = NULL;
+   Eina_List *l, *ll;
+   Edje_Style *stl;
+
+   EINA_LIST_FOREACH(edf->styles, l, stl)
+     {
+       Edje_Style_Tag *tag;
+       char *fontset = NULL, *fontsource = NULL, *ts;
+
+       if (stl->style) break;
+
+       if (!txt)
+         txt = eina_strbuf_new();
+
+       stl->style = evas_textblock_style_new();
+       evas_textblock_style_set(stl->style, NULL);
+
+       if (_edje_fontset_append)
+         fontset = eina_str_escape(_edje_fontset_append);
+       fontsource = eina_str_escape(edf->path);
+
+       /* Build the style from each tag */
+       EINA_LIST_FOREACH(stl->tags, ll, tag)
+         {
+            if (!tag->key) continue;
+
+            /* Add Tag Key */
+            eina_strbuf_append(txt, tag->key);
+            eina_strbuf_append(txt, "='");
+
+            ts = _edje_format_reparse(edf, tag->value, &(tag));
+
+            /* Add and Handle tag parsed data */
+            if (ts)
+              {
+                 if (eet_dictionary_string_check(eet_dictionary_get(edf->ef), tag->value) == 0)
+                   eina_stringshare_del(tag->value);
+                 tag->value = eina_stringshare_add(ts);
+                 eina_strbuf_append(txt, tag->value);
+                 free(ts);
+              }
+
+            if (!strcmp(tag->key, "DEFAULT"))
+              {
+                 if (fontset)
+                   {
+                      eina_strbuf_append(txt, " ");
+                      eina_strbuf_append(txt, "font_fallbacks=");
+                      eina_strbuf_append(txt, fontset);
+                   }
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font_source=");
+                 eina_strbuf_append(txt, fontsource);
+              }
+            if (tag->font_size > 0)
+              {
+                 char font_size[32];
+
+                 snprintf(font_size, sizeof(font_size), "%f", tag->font_size);
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font_size=");
+                 eina_strbuf_append(txt, font_size);
+              }
+            /* Add font name last to save evas from multiple loads */
+            if (tag->font)
+              {
+                 eina_strbuf_append(txt, " ");
+                 eina_strbuf_append(txt, "font=");
+                 eina_strbuf_append_escaped(txt, tag->font);
+              }
+            eina_strbuf_append(txt, "'");
+         }
+       if (fontset) free(fontset);
+       if (fontsource) free(fontsource);
+
+       /* Configure the style */
+       evas_textblock_style_set(stl->style, eina_strbuf_string_get(txt));
+       eina_strbuf_reset(txt);
+     }
+   if (txt)
+     eina_strbuf_free(txt);
+}
+
+void
+_edje_textblock_style_cleanup(Edje_File *edf)
+{
+   while (edf->styles)
+     {
+       Edje_Style *stl;
+
+       stl = edf->styles->data;
+       edf->styles = eina_list_remove_list(edf->styles, edf->styles);
+       while (stl->tags)
+         {
+            Edje_Style_Tag *tag;
+
+            tag = stl->tags->data;
+            stl->tags = eina_list_remove_list(stl->tags, stl->tags);
+             if (edf->free_strings)
+               {
+                  if (tag->key) eina_stringshare_del(tag->key);
+/*                FIXME: Find a proper way to handle it. */
+                  if (tag->value) eina_stringshare_del(tag->value);
+                  if (tag->text_class) eina_stringshare_del(tag->text_class);
+                  if (tag->font) eina_stringshare_del(tag->font);
+               }
+             free(tag);
+         }
+        if (edf->free_strings && stl->name) eina_stringshare_del(stl->name);
+       if (stl->style) evas_textblock_style_free(stl->style);
+       free(stl);
+     }
+}
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
new file mode 100644 (file)
index 0000000..4481661
--- /dev/null
@@ -0,0 +1,6659 @@
+#include "edje_private.h"
+
+typedef struct _Edje_Box_Layout Edje_Box_Layout;
+struct _Edje_Box_Layout
+{
+   EINA_RBTREE;
+   Evas_Object_Box_Layout func;
+   void *(*layout_data_get)(void *);
+   void (*layout_data_free)(void *);
+   void *data;
+   void (*free_data)(void *);
+   char name[];
+};
+
+static Eina_Hash *_edje_color_class_hash = NULL;
+static Eina_Hash *_edje_color_class_member_hash = NULL;
+
+static Eina_Hash *_edje_text_class_hash = NULL;
+static Eina_Hash *_edje_text_class_member_hash = NULL;
+
+static Eina_Rbtree *_edje_box_layout_registry = NULL;
+
+char *_edje_fontset_append = NULL;
+FLOAT_T _edje_scale = ZERO;
+Eina_Bool _edje_password_show_last = EINA_FALSE;
+FLOAT_T _edje_password_show_last_timeout = ZERO;
+int _edje_freeze_val = 0;
+int _edje_freeze_calc_count = 0;
+Eina_List *_edje_freeze_calc_list = NULL;
+
+typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data;
+struct _Edje_List_Foreach_Data
+{
+   Eina_List *list;
+};
+
+typedef struct _Edje_List_Refcount Edje_List_Refcount;
+struct _Edje_List_Refcount
+{
+   EINA_REFCOUNT;
+
+   Eina_List *lookup;
+};
+
+static Eina_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static void _edje_object_image_preload_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void _edje_object_signal_preload_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _edje_user_def_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *child EINA_UNUSED, void *einfo EINA_UNUSED);
+static void _edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child);
+static void _edje_box_child_remove(Edje_Real_Part *rp, Evas_Object *child);
+
+Edje_Real_Part *_edje_real_part_recursive_get_helper(const Edje *ed, char **path);
+
+static Edje_User_Defined *
+_edje_user_definition_new(Edje_User_Defined_Type type, const char *part, Edje *ed)
+{
+   Edje_User_Defined *eud;
+
+   eud = malloc(sizeof (Edje_User_Defined));
+   if (!eud) return NULL;
+
+   eud->type = type;
+   eud->part = eina_stringshare_add(part);
+   eud->ed = ed;
+   ed->user_defined = eina_list_append(ed->user_defined, eud);
+
+   return eud;
+}
+
+void
+_edje_user_definition_remove(Edje_User_Defined *eud, Evas_Object *child)
+{
+   eud->ed->user_defined = eina_list_remove(eud->ed->user_defined, eud);
+
+   if (child) evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+   eina_stringshare_del(eud->part);
+   free(eud);
+}
+
+void
+_edje_user_definition_free(Edje_User_Defined *eud)
+{
+   Evas_Object *child = NULL;
+   Edje_Real_Part *rp;
+
+   eud->ed->user_defined = eina_list_remove(eud->ed->user_defined, eud);
+
+   switch (eud->type)
+     {
+      case EDJE_USER_SWALLOW:
+         child = eud->u.swallow.child;
+         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
+         if (rp)
+           {
+              _edje_real_part_swallow_clear(rp);
+              if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                  (rp->typedata.swallow))
+                {
+                   rp->typedata.swallow->swallowed_object = NULL;
+                   rp->typedata.swallow->swallow_params.min.w = 0;
+                   rp->typedata.swallow->swallow_params.min.h = 0;
+                   rp->typedata.swallow->swallow_params.max.w = 0;
+                   rp->typedata.swallow->swallow_params.max.h = 0;
+                }
+              rp->edje->dirty = EINA_TRUE;
+              rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+              rp->invalidate = 1;
+#endif
+              _edje_recalc_do(rp->edje);
+           }
+         break;
+      case EDJE_USER_BOX_PACK:
+         child = eud->u.box.child;
+         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
+         _edje_box_child_remove(rp, child);
+         break;
+      case EDJE_USER_TABLE_PACK:
+         child = eud->u.table.child;
+         rp = _edje_real_part_recursive_get(eud->ed, eud->part);
+         _edje_table_child_remove(rp, child);
+         break;
+      case EDJE_USER_STRING:
+      case EDJE_USER_DRAG_STEP:
+      case EDJE_USER_DRAG_PAGE:
+      case EDJE_USER_DRAG_VALUE:
+      case EDJE_USER_DRAG_SIZE:
+         break;
+     }
+
+   _edje_user_definition_remove(eud, child);
+}
+
+static void
+_edje_user_def_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *child EINA_UNUSED, void *einfo EINA_UNUSED)
+{
+   Edje_User_Defined *eud = data;
+
+   _edje_user_definition_free(eud);
+}
+
+static void
+_edje_class_member_direct_del(const char *class, Edje_List_Refcount *lookup, Eina_Hash *hash)
+{
+   Eina_List *members;
+
+   members = eina_hash_find(hash, class);
+   members = eina_list_remove_list(members, lookup->lookup);
+   eina_hash_set(hash, class, members);
+   free(lookup);
+}
+
+static void
+_edje_class_member_add(Edje *ed, Eina_Hash **ehash, Eina_Hash **ghash, const char *class)
+{
+   Edje_List_Refcount *lookup;
+   Eina_List *members;
+
+   if ((!ed) || (!ehash) || (!ghash) || (!class)) return;
+
+   lookup = eina_hash_find(*ehash, class);
+   if (lookup)
+     {
+        EINA_REFCOUNT_REF(lookup);
+        return;
+     }
+
+   lookup = malloc(sizeof (Edje_List_Refcount));
+   if (!lookup) return ;
+   EINA_REFCOUNT_INIT(lookup);
+
+   /* Get members list */
+   members = eina_hash_find(*ghash, class);
+
+   /* Update the member list */
+   lookup->lookup = members = eina_list_prepend(members, ed);
+
+   /* Don't loose track of members list */
+   if (!*ehash)
+     *ehash = eina_hash_string_small_new(NULL);
+   eina_hash_add(*ehash, class, lookup);
+
+   /* Reset the member list to the right pointer */
+   if (!*ghash)
+     *ghash = eina_hash_string_superfast_new(NULL);
+   eina_hash_set(*ghash, class, members);
+}
+
+static void
+_edje_class_member_del(Eina_Hash **ehash, Eina_Hash **ghash, const char *class)
+{
+   Edje_List_Refcount *lookup;
+   Eina_List *members;
+
+   if ((!ehash) || (!ghash) || (!class)) return;
+   members = eina_hash_find(*ghash, class);
+   if (!members) return;
+
+   lookup = eina_hash_find(*ehash, class);
+   if (!lookup) return ;
+
+   EINA_REFCOUNT_UNREF(lookup)
+   {
+      members = eina_list_remove_list(members, lookup->lookup);
+      eina_hash_set(*ghash, class, members);
+
+      eina_hash_del(*ehash, class, lookup);
+      free(lookup);
+   }
+}
+
+static Eina_Bool
+member_list_free(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   eina_list_free(data);
+   return EINA_TRUE;
+}
+
+static void
+_edje_class_members_free(Eina_Hash **ghash)
+{
+   if (!ghash || !*ghash) return;
+   eina_hash_foreach(*ghash, member_list_free, NULL);
+   eina_hash_free(*ghash);
+   *ghash = NULL;
+}
+
+/************************** API Routines **************************/
+
+#define FASTFREEZE 1
+
+EAPI void
+edje_freeze(void)
+{
+#ifdef FASTFREEZE
+   _edje_freeze_val++;
+#else
+// FIXME: could just have a global freeze instead of per object
+// above i tried.. but this broke some things. notable e17's menus. why?
+   Eina_List *l;
+   Evas_Object *data;
+
+   EINA_LIST_FOREACH(_edje_edjes, l, data)
+     edje_object_freeze(data);
+#endif
+}
+
+#ifdef FASTFREEZE
+static void
+_edje_thaw_edje(Edje *ed)
+{
+   unsigned int i;
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          {
+             Edje *ed2;
+
+             ed2 = _edje_fetch(rp->typedata.swallow->swallowed_object);
+             if (ed2) _edje_thaw_edje(ed2);
+          }
+     }
+   if ((ed->recalc) && (ed->freeze <= 0)) _edje_recalc_do(ed);
+}
+#endif
+
+EAPI void
+edje_thaw(void)
+{
+#ifdef FASTFREEZE
+   _edje_freeze_val--;
+   if ((_edje_freeze_val <= 0) && (_edje_freeze_calc_count > 0))
+     {
+        Edje *ed;
+
+        _edje_freeze_calc_count = 0;
+        EINA_LIST_FREE(_edje_freeze_calc_list, ed)
+          {
+             _edje_thaw_edje(ed);
+             ed->freeze_calc = EINA_FALSE;
+          }
+     }
+#else
+  Evas_Object *data;
+
+// FIXME: could just have a global freeze instead of per object
+// comment as above.. why?
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(_edje_edjes, l, data)
+     edje_object_thaw(data);
+#endif
+}
+
+EAPI void
+edje_fontset_append_set(const char *fonts)
+{
+   if (_edje_fontset_append)
+     free(_edje_fontset_append);
+   _edje_fontset_append = fonts ? strdup(fonts) : NULL;
+}
+
+EAPI const char *
+edje_fontset_append_get(void)
+{
+   return _edje_fontset_append;
+}
+
+EAPI void
+edje_scale_set(double scale)
+{
+   Eina_List *l;
+   Evas_Object *data;
+
+   if (_edje_scale == FROM_DOUBLE(scale)) return;
+   _edje_scale = FROM_DOUBLE(scale);
+   EINA_LIST_FOREACH(_edje_edjes, l, data)
+     edje_object_calc_force(data);
+}
+
+EAPI double
+edje_scale_get(void)
+{
+  return TO_DOUBLE(_edje_scale);
+}
+
+EAPI void
+edje_password_show_last_set(Eina_Bool password_show_last)
+{
+   if (_edje_password_show_last == password_show_last) return;
+   _edje_password_show_last = password_show_last;
+}
+
+EAPI void
+edje_password_show_last_timeout_set(double password_show_last_timeout)
+{
+   if (_edje_password_show_last_timeout == FROM_DOUBLE(password_show_last_timeout)) return;
+   _edje_password_show_last_timeout = FROM_DOUBLE(password_show_last_timeout);
+}
+
+EAPI Eina_Bool
+edje_object_scale_set(Evas_Object *obj, double scale)
+{
+   if (!eo_isa(obj, EDJE_OBJ_CLASS)) return EINA_FALSE;
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_scale_set(scale, &ret));
+   return ret;
+}
+
+void
+_scale_set(Eo *obj, void *_pd, va_list *list)
+{
+   double scale = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_TRUE;
+
+   Edje *ed, *ged;
+   Evas_Object *o;
+   Eina_List *l;
+   unsigned int i;
+
+   ed = _pd;
+   if (ed->scale == scale) return;
+   ed->scale = FROM_DOUBLE(scale);
+   EINA_LIST_FOREACH(ed->groups, l, ged)
+      ged->scale = ed->scale;
+   EINA_LIST_FOREACH(ed->subobjs, l, o)
+      edje_object_calc_force(o);
+   for(i = 0; i < ed->table_parts_size; ++i)
+     {
+        Edje_Real_Part *ep;
+        ep = ed->table_parts[i];
+        if ((ep->part->type == EDJE_PART_TYPE_BOX)
+            || (ep->part->type == EDJE_PART_TYPE_TABLE))
+          {
+             EINA_LIST_FOREACH(ep->typedata.container->items, l, o)
+                edje_object_scale_set(o, scale);
+          }
+     }
+   edje_object_calc_force(obj);
+}
+
+EAPI double
+edje_object_scale_get(const Evas_Object *obj)
+{
+   if (!obj) return 0.0;
+   double ret = 0.0;
+   eo_do((Eo *)obj, edje_obj_scale_get(&ret));
+   return ret;
+}
+
+void
+_scale_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   double *ret = va_arg(*list, double *);
+   const Edje *ed = _pd;
+   *ret = TO_DOUBLE(ed->scale);
+}
+
+EAPI Eina_Bool
+edje_object_mirrored_get(const Evas_Object *obj)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_mirrored_get(&ret));
+   return ret;
+}
+
+void
+_mirrored_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   *ret = ed->is_rtl;
+}
+
+void
+_edje_object_orientation_inform(Evas_Object *obj)
+{
+   if (!obj) return;
+   if (edje_object_mirrored_get(obj))
+     edje_object_signal_emit(obj, "edje,state,rtl", "edje");
+   else
+     edje_object_signal_emit(obj, "edje,state,ltr", "edje");
+}
+
+EAPI void
+edje_object_mirrored_set(Evas_Object *obj, Eina_Bool rtl)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_mirrored_set(rtl));
+}
+
+void
+_mirrored_set(Eo *obj, void *_pd, va_list *list)
+{
+   Eina_Bool rtl = va_arg(*list, int);
+
+   Edje *ed = _pd;
+   unsigned int i;
+
+   if (ed->is_rtl == rtl) return;
+
+   ed->is_rtl = rtl;
+
+   for (i = 0 ; i < ed->table_parts_size ; i++)
+     {
+        Edje_Real_Part *ep;
+        const char *s;
+        double v;
+
+        ep = ed->table_parts[i];
+        s = ep->param1.description->state.name,
+          v = ep->param1.description->state.value;
+        _edje_part_description_apply(ed, ep, s, v , NULL, 0.0);
+        ep->chosen_description = ep->param1.description;
+     }
+   _edje_recalc_do(ed);
+
+   _edje_object_orientation_inform(obj);
+
+   return;
+}
+
+EAPI const char *
+edje_object_data_get(const Evas_Object *obj, const char *key)
+{
+   if (!obj) return NULL;
+   const char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_data_get(key, &ret));
+   return ret;
+}
+
+void
+_data_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *key = va_arg(*list, const char *);
+   const char **ret = va_arg(*list, const char **);
+   *ret = NULL;
+
+   const Edje *ed = _pd;
+
+   if ((!ed) || (!key))
+     return;
+   if (!ed->collection) return;
+   if (!ed->collection->data) return;
+   *ret = edje_string_get(eina_hash_find(ed->collection->data, key));
+}
+
+EAPI int
+edje_object_freeze(Evas_Object *obj)
+{
+   if (!obj) return 0;
+   int ret = 0;
+   eo_do(obj, edje_obj_freeze(&ret));
+   return ret;
+}
+
+void
+_freeze(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   int *ret = va_arg(*list, int *);
+
+   Edje *ed = _pd;
+   unsigned int i;
+
+   if (ret) *ret = 0;
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_freeze(rp->typedata.swallow->swallowed_object);
+     }
+   int int_ret = _edje_freeze(ed);
+   if (ret) *ret = int_ret;
+}
+
+EAPI int
+edje_object_thaw(Evas_Object *obj)
+{
+   if (!obj) return 0;
+   int ret;
+   eo_do(obj, edje_obj_thaw(&ret));
+   return ret;
+}
+
+void
+_thaw(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   int *ret = va_arg(*list, int *);
+   Edje *ed = _pd;
+   unsigned int i;
+
+   if (ret) *ret = 0;
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_thaw(rp->typedata.swallow->swallowed_object);
+     }
+   int int_ret = _edje_thaw(ed);
+   if (ret) *ret = int_ret;
+}
+
+EAPI Eina_Bool
+edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
+{
+   Eina_List *members;
+   Edje_Color_Class *cc;
+
+   if (!color_class) return EINA_FALSE;
+
+   cc = eina_hash_find(_edje_color_class_hash, color_class);
+   if (!cc)
+     {
+        cc = calloc(1, sizeof(Edje_Color_Class));
+        if (!cc) return EINA_FALSE;
+        cc->name = eina_stringshare_add(color_class);
+        if (!cc->name)
+          {
+             free(cc);
+             return EINA_FALSE;
+          }
+        if (!_edje_color_class_hash)
+          _edje_color_class_hash = eina_hash_string_superfast_new(NULL);
+        eina_hash_add(_edje_color_class_hash, color_class, cc);
+     }
+
+   if (r < 0)        r = 0;
+   else if (r > 255) r = 255;
+   if (g < 0)        g = 0;
+   else if (g > 255) g = 255;
+   if (b < 0)        b = 0;
+   else if (b > 255) b = 255;
+   if (a < 0)        a = 0;
+   else if (a > 255) a = 255;
+   if ((cc->r == r) && (cc->g == g) &&
+       (cc->b == b) && (cc->a == a) &&
+       (cc->r2 == r2) && (cc->g2 == g2) &&
+       (cc->b2 == b2) && (cc->a2 == a2) &&
+       (cc->r3 == r3) && (cc->g3 == g3) &&
+       (cc->b3 == b3) && (cc->a3 == a3))
+     return EINA_TRUE;
+   cc->r = r;
+   cc->g = g;
+   cc->b = b;
+   cc->a = a;
+   cc->r2 = r2;
+   cc->g2 = g2;
+   cc->b2 = b2;
+   cc->a2 = a2;
+   cc->r3 = r3;
+   cc->g3 = g3;
+   cc->b3 = b3;
+   cc->a3 = a3;
+
+   members = eina_hash_find(_edje_color_class_member_hash, color_class);
+   while (members)
+     {
+        Edje *ed;
+
+        ed = eina_list_data_get(members);
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+        ed->all_part_change = EINA_TRUE;
+#endif
+        _edje_recalc(ed);
+        _edje_emit(ed, "color_class,set", color_class);
+        members = eina_list_next(members);
+     }
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_color_class_get(const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
+{
+   Edje_Color_Class *cc;
+
+   if (!color_class)
+     cc = NULL;
+   else
+     cc = eina_hash_find(_edje_color_class_hash, color_class);
+
+   if (cc)
+     {
+#define X(C) if (C) *C = cc->C
+#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
+        S(r, g, b, a);
+        S(r2, g2, b2, a2);
+        S(r3, g3, b3, a3);
+#undef S
+#undef X
+        return EINA_TRUE;
+     }
+   else
+     {
+#define X(C) if (C) *C = 0
+#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
+        S(r, g, b, a);
+        S(r2, g2, b2, a2);
+        S(r3, g3, b3, a3);
+#undef S
+#undef X
+        return EINA_FALSE;
+     }
+}
+
+void
+edje_color_class_del(const char *color_class)
+{
+   Edje_Color_Class *cc;
+   Eina_List *members;
+
+   if (!color_class) return;
+
+   cc = eina_hash_find(_edje_color_class_hash, color_class);
+   if (!cc) return;
+
+   eina_hash_del(_edje_color_class_hash, color_class, cc);
+   eina_stringshare_del(cc->name);
+   free(cc);
+
+   members = eina_hash_find(_edje_color_class_member_hash, color_class);
+   while (members)
+     {
+        Edje *ed;
+
+        ed = eina_list_data_get(members);
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+        ed->all_part_change = EINA_TRUE;
+#endif
+        _edje_recalc(ed);
+        _edje_emit(ed, "color_class,del", color_class);
+        members = eina_list_next(members);
+     }
+}
+
+Eina_List *
+edje_color_class_list(void)
+{
+   Edje_List_Foreach_Data fdata;
+
+   if (!_edje_color_class_member_hash) return NULL;
+
+   memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
+   eina_hash_foreach(_edje_color_class_member_hash,
+                     _edje_color_class_list_foreach, &fdata);
+
+   return fdata.list;
+}
+
+static Eina_Bool
+_edje_color_class_list_foreach(const Eina_Hash *hash EINA_UNUSED, const void *key, void *data EINA_UNUSED, void *fdata)
+{
+   Edje_List_Foreach_Data *fd;
+
+   fd = fdata;
+   fd->list = eina_list_append(fd->list, strdup(key));
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_color_class_set(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, &ret));
+   return ret;
+}
+
+void
+_color_class_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *color_class = va_arg(*list, const char *);
+   int r = va_arg(*list, int);
+   int g = va_arg(*list, int);
+   int b = va_arg(*list, int);
+   int a = va_arg(*list, int);
+   int r2 = va_arg(*list, int);
+   int g2 = va_arg(*list, int);
+   int b2 = va_arg(*list, int);
+   int a2 = va_arg(*list, int);
+   int r3 = va_arg(*list, int);
+   int g3 = va_arg(*list, int);
+   int b3 = va_arg(*list, int);
+   int a3 = va_arg(*list, int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+
+   Edje *ed = _pd;
+   Edje_Color_Class *cc;
+   unsigned int i;
+
+   if ((!ed) || (!color_class)) return;
+   if (r < 0)        r = 0;
+   else if (r > 255) r = 255;
+   if (g < 0)        g = 0;
+   else if (g > 255) g = 255;
+   if (b < 0)        b = 0;
+   else if (b > 255) b = 255;
+   if (a < 0)        a = 0;
+   else if (a > 255) a = 255;
+   cc = eina_hash_find(ed->color_classes, color_class);
+   if (cc)
+     {
+        if ((cc->r == r) && (cc->g == g) &&
+            (cc->b == b) && (cc->a == a) &&
+            (cc->r2 == r2) && (cc->g2 == g2) &&
+            (cc->b2 == b2) && (cc->a2 == a2) &&
+            (cc->r3 == r3) && (cc->g3 == g3) &&
+            (cc->b3 == b3) && (cc->a3 == a3))
+          {
+             if (ret) *ret = EINA_TRUE;
+             return;
+          }
+       cc->r = r;
+       cc->g = g;
+       cc->b = b;
+       cc->a = a;
+       cc->r2 = r2;
+       cc->g2 = g2;
+       cc->b2 = b2;
+       cc->a2 = a2;
+       cc->r3 = r3;
+       cc->g3 = g3;
+       cc->b3 = b3;
+       cc->a3 = a3;
+       ed->dirty = EINA_TRUE;
+       ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+       ed->all_part_change = EINA_TRUE;
+#endif
+       _edje_recalc(ed);
+       if (ret) *ret = EINA_TRUE;
+       return;
+     }
+
+   color_class = eina_stringshare_add(color_class);
+   if (!color_class) return;
+   cc = malloc(sizeof(Edje_Color_Class));
+   if (!cc)
+     {
+        eina_stringshare_del(color_class);
+        return;
+     }
+   cc->name = color_class;
+   cc->r = r;
+   cc->g = g;
+   cc->b = b;
+   cc->a = a;
+   cc->r2 = r2;
+   cc->g2 = g2;
+   cc->b2 = b2;
+   cc->a2 = a2;
+   cc->r3 = r3;
+   cc->g3 = g3;
+   cc->b3 = b3;
+   cc->a3 = a3;
+   eina_hash_direct_add(ed->color_classes, cc->name, cc);
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_color_class_set(rp->typedata.swallow->swallowed_object,
+                                      color_class,
+                                      r, g, b, a, r2, g2, b2, a2, r3, g3, b3,
+                                      a3);
+     }
+
+   _edje_recalc(ed);
+   _edje_emit(ed, "color_class,set", color_class);
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_color_class_get(const Evas_Object *obj, const char *color_class, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_color_class_get(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, &ret));
+   return ret;
+}
+
+void
+_color_class_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *color_class = va_arg(*list, const char *);
+   int *r = va_arg(*list, int *);
+   int *g = va_arg(*list, int *);
+   int *b = va_arg(*list, int *);
+   int *a = va_arg(*list, int *);
+   int *r2 = va_arg(*list, int *);
+   int *g2 = va_arg(*list, int *);
+   int *b2 = va_arg(*list, int *);
+   int *a2 = va_arg(*list, int *);
+   int *r3 = va_arg(*list, int *);
+   int *g3 = va_arg(*list, int *);
+   int *b3 = va_arg(*list, int *);
+   int *a3 = va_arg(*list, int *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+
+   const Edje *ed = _pd;
+   Edje_Color_Class *cc = _edje_color_class_find(ed, color_class);
+
+   if (cc)
+     {
+#define X(C) if (C) *C = cc->C
+#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
+        S(r, g, b, a);
+        S(r2, g2, b2, a2);
+        S(r3, g3, b3, a3);
+#undef S
+#undef X
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+   else
+     {
+#define X(C) if (C) *C = 0
+#define S(_r, _g, _b, _a) X(_r); X(_g); X(_b); X(_a)
+        S(r, g, b, a);
+        S(r2, g2, b2, a2);
+        S(r3, g3, b3, a3);
+#undef S
+#undef X
+        return;
+     }
+}
+
+void
+edje_object_color_class_del(Evas_Object *obj, const char *color_class)
+{
+   Edje *ed;
+   Edje_Color_Class *cc = NULL;
+   unsigned int i;
+
+   ed = _edje_fetch(obj);
+
+   if ((!ed) || (!color_class)) return;
+
+   eina_hash_del(ed->color_classes, color_class, cc);
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_color_class_del(rp->typedata.swallow->swallowed_object, color_class);
+     }
+
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+   _edje_recalc(ed);
+   _edje_emit(ed, "color_class,del", color_class);
+}
+
+EAPI Eina_Bool
+edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size size)
+{
+   Eina_List *members;
+   Edje_Text_Class *tc;
+
+   if (!text_class) return EINA_FALSE;
+   if (!font) font = "";
+
+   tc = eina_hash_find(_edje_text_class_hash, text_class);
+   /* Create new text class */
+   if (!tc)
+     {
+        tc = calloc(1, sizeof(Edje_Text_Class));
+        if (!tc) return EINA_FALSE;
+        tc->name = eina_stringshare_add(text_class);
+        if (!tc->name)
+          {
+             free(tc);
+             return EINA_FALSE;
+          }
+        if (!_edje_text_class_hash) _edje_text_class_hash = eina_hash_string_superfast_new(NULL);
+        eina_hash_add(_edje_text_class_hash, text_class, tc);
+
+        tc->font = eina_stringshare_add(font);
+        tc->size = size;
+     }
+   else
+     {
+        /* Match and the same, return */
+        if (((tc->font && font) && !strcmp(tc->font, font)) &&
+            (tc->size == size))
+          return EINA_TRUE;
+
+        /* Update the class found */
+        eina_stringshare_replace(&tc->font, font);
+        tc->size = size;
+     }
+
+   /* Tell all members of the text class to recalc */
+   members = eina_hash_find(_edje_text_class_member_hash, text_class);
+   while (members)
+     {
+        Edje *ed;
+
+        ed = eina_list_data_get(members);
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+        _edje_textblock_style_all_update(ed);
+#ifdef EDJE_CALC_CACHE
+        ed->text_part_change = EINA_TRUE;
+#endif
+        _edje_recalc(ed);
+        members = eina_list_next(members);
+     }
+   return EINA_TRUE;
+}
+
+void
+edje_text_class_del(const char *text_class)
+{
+   Edje_Text_Class *tc;
+   Eina_List *members;
+
+   if (!text_class) return;
+
+   tc = eina_hash_find(_edje_text_class_hash, text_class);
+   if (!tc) return;
+
+   eina_hash_del(_edje_text_class_hash, text_class, tc);
+   eina_stringshare_del(tc->name);
+   eina_stringshare_del(tc->font);
+   free(tc);
+
+   members = eina_hash_find(_edje_text_class_member_hash, text_class);
+   while (members)
+     {
+        Edje *ed;
+
+        ed = eina_list_data_get(members);
+        ed->dirty = EINA_TRUE;
+        _edje_textblock_style_all_update(ed);
+#ifdef EDJE_CALC_CACHE
+        ed->text_part_change = EINA_TRUE;
+#endif
+        _edje_recalc(ed);
+        members = eina_list_next(members);
+     }
+}
+
+Eina_List *
+edje_text_class_list(void)
+{
+   Edje_List_Foreach_Data fdata;
+
+   memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
+   eina_hash_foreach(_edje_text_class_member_hash,
+                     _edje_text_class_list_foreach, &fdata);
+   return fdata.list;
+}
+
+static Eina_Bool
+_edje_text_class_list_foreach(const Eina_Hash *hash EINA_UNUSED, const void *key, void *data EINA_UNUSED, void *fdata)
+{
+   Edje_List_Foreach_Data *fd;
+
+   fd = fdata;
+   fd->list = eina_list_append(fd->list, eina_stringshare_add(key));
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_text_class_set(text_class, font, size, &ret));
+   return ret;
+}
+
+void
+_text_class_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *text_class = va_arg(*list, const char *);
+   const char *font = va_arg(*list, const char *);
+   Evas_Font_Size size = va_arg(*list, Evas_Font_Size);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+
+   Edje *ed = _pd;
+   Eina_List *l;
+   Edje_Text_Class *tc = NULL;
+   unsigned int i;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!text_class)) return;
+
+   /* for each text_class in the edje */
+   EINA_LIST_FOREACH(ed->text_classes, l, tc)
+     {
+        if ((tc->name) && (!strcmp(tc->name, text_class)))
+          {
+             /* Match and the same, return */
+             if ((tc->size == size) &&
+                 ((tc->font == font) ||
+                  (tc->font && font && !strcmp(tc->font, font))))
+               {
+                  if (ret) *ret = EINA_TRUE;
+                  return;
+               }
+
+             /* Update new text class properties */
+             eina_stringshare_replace(&tc->font, font);
+             tc->size = size;
+             break;
+          }
+     }
+
+   if (!tc)
+     {
+        /* No matches, create a new text class */
+        tc = calloc(1, sizeof(Edje_Text_Class));
+        if (!tc) return;
+        tc->name = eina_stringshare_add(text_class);
+        if (!tc->name)
+          {
+             free(tc);
+             return;
+          }
+        tc->font = eina_stringshare_add(font);
+        tc->size = size;
+        /* Add to edje's text class list */
+        ed->text_classes = eina_list_append(ed->text_classes, tc);
+     }
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_text_class_set(rp->typedata.swallow->swallowed_object,
+                                     text_class, font, size);
+     }
+
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->text_part_change = EINA_TRUE;
+#endif
+   _edje_textblock_style_all_update(ed);
+   _edje_recalc(ed);
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_exists(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_exists(part, &ret));
+   return ret;
+}
+
+void
+_part_exists(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   *ret = EINA_FALSE;
+
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   *ret = EINA_TRUE;
+}
+
+EAPI const Evas_Object *
+edje_object_part_object_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const Evas_Object *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_object_get(part, &ret));
+   return ret;
+}
+
+void
+_part_object_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const Evas_Object **ret = va_arg(*list, const Evas_Object **);
+   *ret = NULL;
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   *ret = rp->object;
+}
+
+EAPI Eina_Bool
+edje_object_part_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h )
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_geometry_get(part, x, y, w, h, &ret));
+   return ret;
+}
+
+void
+_part_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Coord *x = va_arg(*list, Evas_Coord *);
+   Evas_Coord *y = va_arg(*list, Evas_Coord *);
+   Evas_Coord *w = va_arg(*list, Evas_Coord *);
+   Evas_Coord *h = va_arg(*list, Evas_Coord *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part))
+     {
+        if (x) *x = 0;
+        if (y) *y = 0;
+        if (w) *w = 0;
+        if (h) *h = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp)
+     {
+        if (x) *x = 0;
+        if (y) *y = 0;
+        if (w) *w = 0;
+        if (h) *h = 0;
+        return;
+     }
+   if (x) *x = rp->x;
+   if (y) *y = rp->y;
+   if (w) *w = rp->w;
+   if (h) *h = rp->h;
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI void
+edje_object_item_provider_set(Evas_Object *obj, Edje_Item_Provider_Cb func, void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_item_provider_set(func, data));
+}
+
+void
+_item_provider_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Edje_Item_Provider_Cb func = va_arg(*list, Edje_Item_Provider_Cb);
+   void *data = va_arg(*list, void *);
+   Edje *ed = _pd;
+   ed->item_provider.func = func;
+   ed->item_provider.data = data;
+}
+
+/* FIXDOC: New Function */
+EAPI void
+edje_object_text_change_cb_set(Evas_Object *obj, Edje_Text_Change_Cb func, void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_text_change_cb_set(func, data));
+}
+
+void
+_text_change_cb_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Edje_Text_Change_Cb func = va_arg(*list, Edje_Text_Change_Cb);
+   void *data = va_arg(*list, void *);
+   Edje *ed = _pd;
+   unsigned int i;
+
+   ed->text_change.func = func;
+   ed->text_change.data = data;
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) &&
+            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+             (rp->typedata.swallow)) &&
+            (rp->typedata.swallow->swallowed_object))
+          edje_object_text_change_cb_set(rp->typedata.swallow->swallowed_object, func, data);
+     }
+}
+
+Eina_Bool
+_edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
+{
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_TRUE;
+   if ((!rp->typedata.text->text) && (!text))
+     return EINA_TRUE; /* nothing to do, no error */
+   if ((rp->typedata.text->text) && (text) &&
+       (!strcmp(rp->typedata.text->text, text)))
+     return EINA_TRUE; /* nothing to do, no error */
+   if (rp->typedata.text->text)
+     {
+        eina_stringshare_del(rp->typedata.text->text);
+        rp->typedata.text->text = NULL;
+     }
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_text_markup_set(rp, text);
+   else
+     if (text) rp->typedata.text->text = eina_stringshare_add(text);
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+   rp->edje->recalc_hints = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+   if (rp->edje->text_change.func)
+     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_object_part_text_raw_append(Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
+{
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return EINA_TRUE;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_text_markup_append(rp, text);
+   else if (text)
+     {
+        if (rp->typedata.text->text)
+          {
+             char *new = NULL;
+             int len_added = strlen(text);
+             int len_old = strlen(rp->typedata.text->text);
+             new = malloc(len_old + len_added + 1);
+             memcpy(new, rp->typedata.text->text, len_old);
+             memcpy(new + len_old, text, len_added);
+             new[len_old + len_added] = '\0';
+             eina_stringshare_replace(&rp->typedata.text->text, new);
+             free(new);
+          }
+        else
+          {
+             eina_stringshare_replace(&rp->typedata.text->text, text);
+          }
+     }
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = 1;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+   if (rp->edje->text_change.func)
+     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
+   return EINA_TRUE;
+}
+
+EAPI void
+edje_object_part_text_style_user_push(Evas_Object *obj, const char *part,
+                                const char *style)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_style_user_push(part, style));
+}
+
+void
+_part_text_style_user_push(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *style = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Evas_Textblock_Style *ts;
+
+   if ((!ed) || (!part) || (!style)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
+
+   ts = evas_textblock_style_new();
+   evas_textblock_style_set(ts, style);
+   evas_object_textblock_style_user_push(rp->object, ts);
+   evas_textblock_style_free(ts);
+   ed->recalc_hints = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(ed);
+}
+
+EAPI void
+edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_style_user_pop(part));
+}
+
+void
+_part_text_style_user_pop(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
+
+   evas_object_textblock_style_user_pop(rp->object);
+   ed->recalc_hints = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(ed);
+}
+
+EAPI const char *
+edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_style_user_peek(part, &ret));
+   return ret;
+}
+
+void
+_part_text_style_user_peek(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char **ret = va_arg(*list, const char **);
+   if (ret) *ret = NULL;
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   const Evas_Textblock_Style *ts;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
+
+   ts = evas_object_textblock_style_user_peek(rp->object);
+   if (ts)
+      if (ret) *ret = evas_textblock_style_get(ts);
+}
+
+static void
+_edje_user_define_string(Edje *ed, const char *part, const char *raw_text)
+{
+   /* NOTE: This one is tricky, text is referenced in rp->typedata.text->text for the life of the
+    rp. So on edje_object_file_set, we should first ref it, before destroying the old
+    layout. */
+   Edje_User_Defined *eud;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_STRING && !strcmp(eud->part, part))
+       {
+          if (!raw_text)
+            {
+               _edje_user_definition_free(eud);
+               return ;
+            }
+          eud->u.string.text = raw_text;
+          return ;
+       }
+
+   eud = _edje_user_definition_new(EDJE_USER_STRING, part, ed);
+   if (!eud) return ;
+   eud->u.string.text = raw_text;
+}
+
+EAPI Eina_Bool
+edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_set(part, text, &ret));
+   return ret;
+}
+
+void
+_part_text_set(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Eina_Bool r;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text))
+     {
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+   r = _edje_object_part_text_raw_set(obj, rp, part, text);
+   _edje_user_define_string(ed, part, rp->typedata.text->text);
+   if (ret) *ret = r;
+}
+
+EAPI const char *
+edje_object_part_text_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char **ret = va_arg(*list, const char **);
+   *ret = NULL;
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_text_get(rp);
+        return;
+     }
+   else
+     {
+        if (rp->part->type == EDJE_PART_TYPE_TEXT)
+          {
+             *ret = rp->typedata.text->text;
+             return;
+          }
+        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+          {
+             *ret = evas_object_textblock_text_markup_get(rp->object);
+             return;
+          }
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_escaped_set(Evas_Object *obj, const char *part, const char *text)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_escaped_set(part, text, &ret));
+   return ret;
+}
+
+void
+_part_text_escaped_set(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   if (ret) *ret = EINA_FALSE;
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Eina_Bool int_ret;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if ((rp->part->type == EDJE_PART_TYPE_TEXT) && (text))
+     {
+        Eina_Strbuf *sbuf;
+        char *esc_start = NULL, *esc_end = NULL;
+        char *s, *p;
+
+        sbuf = eina_strbuf_new();
+        p = (char *)text;
+        s = p;
+        for (;;)
+          {
+             if ((*p == 0) || (esc_end) || (esc_start))
+               {
+                  if (esc_end)
+                    {
+                       const char *escape;
+
+                       escape = evas_textblock_escape_string_range_get
+                          (esc_start, esc_end + 1);
+                       if (escape) eina_strbuf_append(sbuf, escape);
+                       esc_start = esc_end = NULL;
+                    }
+                  else if (*p == 0)
+                    {
+                       if (!s) s = esc_start; /* This would happen when there is & that isn't escaped */
+                       eina_strbuf_append_length(sbuf, s, p - s);
+                       s = NULL;
+                    }
+                  if (*p == 0)
+                    break;
+               }
+
+             if (*p == '&')
+               {
+                  if (!s) s = esc_start; /* This would happen when there is & that isn't escaped */
+                  esc_start = p;
+                  esc_end = NULL;
+                  eina_strbuf_append_length(sbuf, s, p - s);
+                  s = NULL;
+               }
+             else if (*p == ';')
+               {
+                  if (esc_start)
+                    {
+                       esc_end = p;
+                       s = p + 1;
+                    }
+               }
+             p++;
+          }
+        int_ret = _edje_object_part_text_raw_set
+          (obj, rp, part, eina_strbuf_string_get(sbuf));
+        _edje_user_define_string(ed, part, rp->typedata.text->text);
+        eina_strbuf_free(sbuf);
+        if (ret) *ret = int_ret;
+        return;
+     }
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return;
+   int_ret = _edje_object_part_text_raw_set(obj, rp, part, text);
+   _edje_user_define_string(ed, part, rp->typedata.text->text);
+   if (ret) *ret = int_ret;
+}
+
+
+char *
+_edje_text_escape(const char *text)
+{
+   Eina_Strbuf *txt;
+   char *ret;
+   const char *text_end;
+   size_t text_len;
+
+   if (!text) return NULL;
+
+   txt = eina_strbuf_new();
+   text_len = strlen(text);
+
+   text_end = text + text_len;
+   while (text < text_end)
+     {
+        int advance;
+        const char *escaped = evas_textblock_string_escape_get(text, &advance);
+        if (!escaped)
+          {
+             eina_strbuf_append_char(txt, text[0]);
+             advance = 1;
+          }
+        else
+          eina_strbuf_append(txt, escaped);
+
+        text += advance;
+     }
+
+   ret = eina_strbuf_string_steal(txt);
+   eina_strbuf_free(txt);
+   return ret;
+}
+
+char *
+_edje_text_unescape(const char *text)
+{
+   Eina_Strbuf *txt;
+   char *ret;
+   const char *text_end, *last, *escape_start;
+   size_t text_len;
+
+   if (!text) return NULL;
+
+   txt = eina_strbuf_new();
+   text_len = strlen(text);
+
+   text_end = text + text_len;
+   last = text;
+   escape_start = NULL;
+   for (; text < text_end; text++)
+     {
+        if (*text == '&')
+          {
+             size_t len;
+             const char *str;
+
+             if (last)
+               {
+                  len = text - last;
+                  str = last;
+               }
+             else
+               {
+                  len = text - escape_start;
+                  str = escape_start;
+               }
+
+             if (len > 0)
+               eina_strbuf_append_n(txt, str, len);
+
+             escape_start = text;
+             last = NULL;
+          }
+        else if ((*text == ';') && (escape_start))
+          {
+             size_t len;
+             const char *str = evas_textblock_escape_string_range_get(escape_start, text);
+
+             if (str)
+               len = strlen(str);
+             else
+               {
+                  str = escape_start;
+                  len = text + 1 - escape_start;
+               }
+
+             eina_strbuf_append_n(txt, str, len);
+
+             escape_start = NULL;
+             last = text + 1;
+          }
+     }
+
+   if (!last && escape_start)
+     last = escape_start;
+
+   if (last && (text > last))
+     {
+        size_t len = text - last;
+        eina_strbuf_append_n(txt, last, len);
+     }
+
+   ret = eina_strbuf_string_steal(txt);
+   eina_strbuf_free(txt);
+   return ret;
+}
+
+EAPI Eina_Bool
+edje_object_part_text_unescaped_set(Evas_Object *obj, const char *part, const char *text_to_escape)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_unescaped_set(part, text_to_escape, &ret));
+   return ret;
+}
+
+void
+_part_text_unescaped_set(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text_to_escape = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Eina_Bool int_ret = EINA_FALSE;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if (rp->part->type == EDJE_PART_TYPE_TEXT)
+     int_ret = _edje_object_part_text_raw_set(obj, rp, part, text_to_escape);
+   else if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+     {
+        char *text = _edje_text_escape(text_to_escape);
+
+        int_ret = _edje_object_part_text_raw_set(obj, rp, part, text);
+        free(text);
+     }
+   _edje_user_define_string(ed, part, rp->typedata.text->text);
+   if (ret) *ret = int_ret;
+}
+
+EAPI char *
+edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_unescaped_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_unescaped_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   char **ret = va_arg(*list, char **);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_TEXT) ||
+       (!rp->typedata.text)) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        const char *t = _edje_entry_text_get(rp);
+        *ret = _edje_text_unescape(t);
+        return;
+     }
+   else
+     {
+        if (rp->part->type == EDJE_PART_TYPE_TEXT)
+          {
+             *ret = strdup(rp->typedata.text->text);
+             return;
+          }
+        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+          {
+             const char *t = evas_object_textblock_text_markup_get(rp->object);
+             *ret = _edje_text_unescape(t);
+             return;
+          }
+     }
+}
+
+EAPI const char *
+edje_object_part_text_selection_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const char* ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_selection_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_selection_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char **ret = va_arg(*list, const char **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+      *ret = _edje_entry_selection_get(rp);
+}
+
+EAPI void
+edje_object_part_text_select_none(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_none(part));
+}
+
+void
+_part_text_select_none(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_none(rp);
+}
+
+EAPI void
+edje_object_part_text_select_all(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_all(part));
+}
+
+void
+_part_text_select_all(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_all(rp);
+}
+
+EAPI void
+edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *text)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_insert(part, text));
+}
+
+void
+_part_text_insert(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
+   if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return;
+   _edje_entry_text_markup_insert(rp, text);
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+   rp->edje->recalc_hints = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+   if (rp->edje->text_change.func)
+     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
+}
+
+EAPI void
+edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_append(part, text));
+}
+
+void
+_part_text_append(Eo *obj, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return;
+   _edje_object_part_text_raw_append(obj, rp, part, text);
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+   rp->edje->recalc_hints = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+   if (rp->edje->text_change.func)
+     rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
+}
+
+EAPI const Eina_List *
+edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const Eina_List *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_anchor_list_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_anchor_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const Eina_List **ret = va_arg(*list, const Eina_List **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     *ret = _edje_entry_anchors_list(rp);
+}
+
+EAPI const Eina_List *
+edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor)
+{
+   if (!obj) return NULL;
+   const Eina_List *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_anchor_geometry_get(part, anchor, &ret));
+   return ret;
+}
+
+void
+_part_text_anchor_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *anchor = va_arg(*list, const char *);
+   const Eina_List **ret = va_arg(*list, const Eina_List **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     *ret = _edje_entry_anchor_geometry_get(rp, anchor);
+}
+
+EAPI const Eina_List *
+edje_object_part_text_item_list_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   const Eina_List *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_item_list_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_item_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const Eina_List **ret = va_arg(*list, const Eina_List **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     *ret = _edje_entry_items_list(rp);
+}
+
+EAPI Eina_Bool
+edje_object_part_text_item_geometry_get(const Evas_Object *obj, const char *part, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_item_geometry_get(part, item, cx, cy, cw, ch, &ret));
+   return ret;
+}
+
+void
+_part_text_item_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *item = va_arg(*list, const char *);
+   Evas_Coord *cx = va_arg(*list, Evas_Coord *);
+   Evas_Coord *cy = va_arg(*list, Evas_Coord *);
+   Evas_Coord *cw = va_arg(*list, Evas_Coord *);
+   Evas_Coord *ch = va_arg(*list, Evas_Coord *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_item_geometry_get(rp, item, cx, cy, cw, ch);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_cursor_geometry_get(part, x, y, w, h));
+}
+
+void
+_part_text_cursor_geometry_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Coord *x = va_arg(*list, Evas_Coord *);
+   Evas_Coord *y = va_arg(*list, Evas_Coord *);
+   Evas_Coord *w = va_arg(*list, Evas_Coord *);
+   Evas_Coord *h = va_arg(*list, Evas_Coord *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if (x) *x = 0;
+   if (y) *y = 0;
+   if (w) *w = 0;
+   if (h) *h = 0;
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_geometry_get(rp, x, y, w, h);
+        if (x) *x -= rp->edje->x;
+        if (y) *y -= rp->edje->y;
+     }
+}
+
+EAPI void
+edje_object_part_text_user_insert(const Evas_Object *obj, const char *part, const char *text)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_user_insert(part, text));
+}
+
+void
+_part_text_user_insert(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const char *text = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_user_insert(rp, text);
+}
+
+EAPI void
+edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Eina_Bool allow)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_allow_set(part, allow));
+}
+
+void
+_part_text_select_allow_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool allow = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_allow_set(rp, allow);
+}
+
+EAPI void
+edje_object_part_text_select_abort(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_abort(part));
+}
+
+void
+_part_text_select_abort(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_abort(rp);
+}
+
+EAPI void
+edje_object_part_text_select_begin(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_begin(part));
+}
+
+void
+_part_text_select_begin(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_begin(rp);
+}
+
+EAPI void
+edje_object_part_text_select_extend(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_select_extend(part));
+}
+
+void
+_part_text_select_extend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_select_extend(rp);
+}
+
+EAPI void *
+edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_imf_context_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_imf_context_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   void **ret = va_arg(*list, void **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, (char *)part);
+   if (!rp) return;
+
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     *ret = _edje_entry_imf_context_get(rp);
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_cursor_next(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_next(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_cursor_next(rp, cur);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_prev(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_cursor_prev(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_prev(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_cursor_prev(rp, cur);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_up(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_cursor_up(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_up(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_cursor_up(rp, cur);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_down(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_cursor_down(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_down(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_cursor_down(rp, cur);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_begin_set(part, cur));
+}
+
+void
+_part_text_cursor_begin_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_begin(rp, cur);
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_end_set(part, cur));
+}
+
+void
+_part_text_cursor_end_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_end(rp, cur);
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_copy(Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_copy(part, src, dst));
+}
+
+void
+_part_text_cursor_copy(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor src = va_arg(*list, Edje_Cursor);
+   Edje_Cursor dst = va_arg(*list, Edje_Cursor);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_copy(rp, src, dst);
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_line_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_line_begin_set(part, cur));
+}
+
+void
+_part_text_cursor_line_begin_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_line_begin(rp, cur);
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_line_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_line_end_set(part, cur));
+}
+
+void
+_part_text_cursor_line_end_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_line_end(rp, cur);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_coord_set(Evas_Object *obj, const char *part,
+                                       Edje_Cursor cur, Evas_Coord x,
+                                       Evas_Coord y)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_text_cursor_coord_set(part, cur, x, y, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_coord_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Evas_Coord x = va_arg(*list, Evas_Coord);
+   Evas_Coord y = va_arg(*list, Evas_Coord);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if (ret) *ret = EINA_FALSE;
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        Eina_Bool int_ret = _edje_entry_cursor_coord_set(rp, cur, x, y);
+        if (ret) *ret = int_ret;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_is_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_cursor_is_format_get(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_is_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_cursor_is_format_get(rp, cur);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_cursor_is_visible_format_get(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_is_visible_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_cursor_is_visible_format_get(rp, cur);
+     }
+}
+
+EAPI char *
+edje_object_part_text_cursor_content_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return NULL;
+   char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_text_cursor_content_get(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_content_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   char **ret = va_arg(*list, char **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_cursor_content_get(rp, cur);
+     }
+}
+
+EAPI void
+edje_object_part_text_cursor_pos_set(Evas_Object *obj, const char *part, Edje_Cursor cur, int pos)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_cursor_pos_set(part, cur, pos));
+}
+
+void
+_part_text_cursor_pos_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   int pos = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_cursor_pos_set(rp, cur, pos);
+     }
+}
+
+EAPI int
+edje_object_part_text_cursor_pos_get(const Evas_Object *obj, const char *part, Edje_Cursor cur)
+{
+   if (!obj) return 0;
+   int ret;
+   eo_do((Eo *)obj, edje_obj_part_text_cursor_pos_get(part, cur, &ret));
+   return ret;
+}
+
+void
+_part_text_cursor_pos_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Cursor cur = va_arg(*list, Edje_Cursor);
+   int *ret = va_arg(*list, int *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = 0;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_cursor_pos_get(rp, cur);
+     }
+}
+
+EAPI void
+edje_object_part_text_imf_context_reset(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_imf_context_reset(part));
+}
+
+void
+_part_text_imf_context_reset(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_imf_context_reset(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_layout_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_layout_set(part, layout));
+}
+
+void
+_part_text_input_panel_layout_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Layout layout = va_arg(*list, Edje_Input_Panel_Layout);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_layout_set(rp, layout);
+     }
+}
+
+EAPI Edje_Input_Panel_Layout
+edje_object_part_text_input_panel_layout_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EDJE_INPUT_PANEL_LAYOUT_INVALID;
+   Edje_Input_Panel_Layout ret;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_layout_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_input_panel_layout_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Layout *ret = va_arg(*list, Edje_Input_Panel_Layout *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EDJE_INPUT_PANEL_LAYOUT_INVALID;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_input_panel_layout_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_autocapital_type_set(Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_autocapital_type_set(part, autocapital_type));
+}
+
+void
+_part_text_autocapital_type_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Text_Autocapital_Type autocapital_type = va_arg(*list, Edje_Text_Autocapital_Type);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_autocapital_type_set(rp, autocapital_type);
+     }
+}
+
+EAPI Edje_Text_Autocapital_Type
+edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+   Edje_Text_Autocapital_Type ret;
+   eo_do((Eo *)obj, edje_obj_part_text_autocapital_type_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_autocapital_type_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Text_Autocapital_Type *ret = va_arg(*list, Edje_Text_Autocapital_Type *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EDJE_TEXT_AUTOCAPITAL_TYPE_NONE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_autocapital_type_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_prediction_allow_set(Evas_Object *obj, const char *part, Eina_Bool prediction)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_prediction_allow_set(part, prediction));
+}
+
+void
+_part_text_prediction_allow_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool prediction = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_prediction_allow_set(rp, prediction);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_prediction_allow_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_prediction_allow_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_prediction_allow_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_prediction_allow_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_enabled_set(Evas_Object *obj, const char *part, Eina_Bool enabled)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_enabled_set(part, enabled));
+}
+
+void
+_part_text_input_panel_enabled_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool enabled = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_enabled_set(rp, enabled);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_input_panel_enabled_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_enabled_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_input_panel_enabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_input_panel_enabled_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_show(part));
+}
+
+void
+_part_text_input_panel_show(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_input_panel_show(rp);
+}
+
+EAPI void
+edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_hide(part));
+}
+
+void
+_part_text_input_panel_hide(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     _edje_entry_input_panel_hide(rp);
+}
+
+EAPI void
+edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_language_set(part, lang));
+}
+
+void
+_part_text_input_panel_language_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Lang lang = va_arg(*list, Edje_Input_Panel_Lang);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_language_set(rp, lang);
+     }
+}
+
+EAPI Edje_Input_Panel_Lang
+edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EDJE_INPUT_PANEL_LANG_AUTOMATIC;
+   Edje_Input_Panel_Lang ret;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_language_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_input_panel_language_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Lang *ret = va_arg(*list, Edje_Input_Panel_Lang *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EDJE_INPUT_PANEL_LANG_AUTOMATIC;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_input_panel_language_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_imdata_set(part, data, len));
+}
+
+void
+_part_text_input_panel_imdata_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   const void *data = va_arg(*list, const void *);
+   int len = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_imdata_set(rp, data, len);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_imdata_get(part, data, len));
+}
+
+void
+_part_text_input_panel_imdata_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   void *data = va_arg(*list, void *);
+   int *len = va_arg(*list, int *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_imdata_get(rp, data, len);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_return_key_type_set(part, return_key_type));
+}
+
+void
+_part_text_input_panel_return_key_type_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Return_Key_Type return_key_type = va_arg(*list, Edje_Input_Panel_Return_Key_Type);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_return_key_type_set(rp, return_key_type);
+     }
+}
+
+EAPI Edje_Input_Panel_Return_Key_Type
+edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
+   Edje_Input_Panel_Return_Key_Type ret;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_return_key_type_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_input_panel_return_key_type_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Input_Panel_Return_Key_Type *ret = va_arg(*list, Edje_Input_Panel_Return_Key_Type *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_input_panel_return_key_type_get(rp);
+     }
+}
+
+EAPI void
+edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_text_input_panel_return_key_disabled_set(part, disabled));
+}
+
+void
+_part_text_input_panel_return_key_disabled_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool disabled = va_arg(*list, int);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        _edje_entry_input_panel_return_key_disabled_set(rp, disabled);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_text_input_panel_return_key_disabled_get(part, &ret));
+   return ret;
+}
+
+void
+_part_text_input_panel_return_key_disabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+     {
+        *ret = _edje_entry_input_panel_return_key_disabled_get(rp);
+     }
+}
+
+EAPI void
+edje_object_text_insert_filter_callback_add(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_text_insert_filter_callback_add(part, func, data));
+}
+
+void
+_text_insert_filter_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
+   void *data = va_arg(*list, void *);
+   Edje *ed = _pd;
+   Edje_Text_Insert_Filter_Callback *cb;
+
+   if ((!ed) || (!part)) return;
+   cb = calloc(1, sizeof(Edje_Text_Insert_Filter_Callback));
+   cb->part = eina_stringshare_add(part);
+   cb->func = func;
+   cb->data = (void *)data;
+   ed->text_insert_filter_callbacks =
+     eina_list_append(ed->text_insert_filter_callbacks, cb);
+}
+
+EAPI void *
+edje_object_text_insert_filter_callback_del(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_text_insert_filter_callback_del(part, func, &ret));
+   return ret;
+}
+
+void
+_text_insert_filter_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
+   void **ret = va_arg(*list, void **);
+   Edje *ed = _pd;
+   Edje_Text_Insert_Filter_Callback *cb;
+   Eina_List *l;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   EINA_LIST_FOREACH(ed->text_insert_filter_callbacks, l, cb)
+     {
+        if ((!strcmp(cb->part, part)) && (cb->func == func))
+          {
+             void *data = cb->data;
+             ed->text_insert_filter_callbacks =
+                eina_list_remove_list(ed->text_insert_filter_callbacks, l);
+             eina_stringshare_del(cb->part);
+             free(cb);
+             if (ret) *ret = data;
+             return;
+          }
+     }
+}
+
+EAPI void *
+edje_object_text_insert_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_text_insert_filter_callback_del_full(part, func, data, &ret));
+   return ret;
+}
+
+void
+_text_insert_filter_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Text_Filter_Cb func = va_arg(*list, Edje_Text_Filter_Cb);
+   void *data = va_arg(*list, void *);
+   void **ret = va_arg(*list, void **);
+   Edje *ed = _pd;
+   Edje_Text_Insert_Filter_Callback *cb;
+   Eina_List *l;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   EINA_LIST_FOREACH(ed->text_insert_filter_callbacks, l, cb)
+     {
+        if ((!strcmp(cb->part, part)) && (cb->func == func) &&
+            (cb->data == data))
+          {
+             void *tmp = cb->data;
+             ed->text_insert_filter_callbacks =
+                eina_list_remove_list(ed->text_insert_filter_callbacks, l);
+             eina_stringshare_del(cb->part);
+             free(cb);
+             if (ret) *ret = tmp;
+             return;
+          }
+     }
+}
+
+EAPI void
+edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_text_markup_filter_callback_add(part, func, data));
+}
+
+void
+_text_markup_filter_callback_add(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
+   void *data = va_arg(*list, void *);
+   Edje *ed = _pd;
+   Edje_Markup_Filter_Callback *cb;
+
+   if ((!ed) || (!part)) return;
+   cb = calloc(1, sizeof(Edje_Markup_Filter_Callback));
+   cb->part = eina_stringshare_add(part);
+   cb->func = func;
+   cb->data = (void *)data;
+   ed->markup_filter_callbacks =
+     eina_list_append(ed->markup_filter_callbacks, cb);
+}
+
+EAPI void *
+edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_text_markup_filter_callback_del(part, func, &ret));
+   return ret;
+}
+
+void
+_text_markup_filter_callback_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
+   void **ret = va_arg(*list, void **);
+   Edje *ed = _pd;
+   Edje_Markup_Filter_Callback *cb;
+   Eina_List *l;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb)
+     {
+        if ((!strcmp(cb->part, part)) && (cb->func == func))
+          {
+             void *data = cb->data;
+             ed->markup_filter_callbacks =
+                eina_list_remove_list(ed->markup_filter_callbacks, l);
+             eina_stringshare_del(cb->part);
+             free(cb);
+             if (ret) *ret = data;
+             return;
+          }
+     }
+}
+
+EAPI void *
+edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data)
+{
+   if (!obj) return NULL;
+   void *ret = NULL;
+   eo_do(obj, edje_obj_text_markup_filter_callback_del_full(part, func, data, &ret));
+   return ret;
+}
+
+void
+_text_markup_filter_callback_del_full(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Markup_Filter_Cb func = va_arg(*list, Edje_Markup_Filter_Cb);
+   void *data = va_arg(*list, void *);
+   void **ret = va_arg(*list, void **);
+   Edje *ed = _pd;
+   Edje_Markup_Filter_Callback *cb;
+   Eina_List *l;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+   EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb)
+     {
+        if ((!strcmp(cb->part, part)) && (cb->func == func) &&
+            (cb->data == data))
+          {
+             void *tmp = cb->data;
+             ed->markup_filter_callbacks =
+                eina_list_remove_list(ed->markup_filter_callbacks, l);
+             eina_stringshare_del(cb->part);
+             free(cb);
+             if (ret) *ret = tmp;
+             return;
+          }
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_swallow(part, obj_swallow, &ret));
+   return ret;
+}
+
+void
+_part_swallow(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *obj_swallow = va_arg(*list, Evas_Object *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud = NULL;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   // XXX: I guess this is not required, removing for testing purposes
+   // XXX: uncomment if you see glitches in e17 or others.
+   // XXX: by Gustavo, January 21th 2009.
+   // XXX: I got a backtrace with over 30000 calls without this,
+   // XXX: only with 32px shelves. The problem is probably somewhere else,
+   // XXX: but until it's found, leave this here.
+   // XXX: by Sachiel, January 21th 2009, 19:30 UTC
+   _edje_recalc_do(ed);
+
+   rp = evas_object_data_get(obj_swallow, "\377 edje.swallowing_part");
+   if (rp)
+     {
+        /* The object is already swallowed somewhere, unswallow it first */
+        edje_object_part_unswallow(rp->edje->obj, obj_swallow);
+     }
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp)
+     {
+        DBG("cannot swallow part %s: part not exist!", part);
+        return;
+     }
+   if (rp->part->type != EDJE_PART_TYPE_SWALLOW)
+     {
+        ERR("cannot swallow part %s: not swallow type!", rp->part->name);
+        return;
+     }
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   _edje_real_part_swallow(rp, obj_swallow, EINA_TRUE);
+
+   if (rp->typedata.swallow->swallowed_object)
+     {
+        if (!eud)
+          {
+             eud = _edje_user_definition_new(EDJE_USER_SWALLOW, part, ed);
+             evas_object_event_callback_add(obj_swallow, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+          }
+        else ed->user_defined = eina_list_append(ed->user_defined, eud);
+
+        if (eud)
+          {
+             eud->u.swallow.child = obj_swallow;
+          }
+     }
+
+   if (ret) *ret = EINA_TRUE;
+}
+
+static void
+_recalc_extern_parent(Evas_Object *obj)
+{
+   Evas_Object *parent;
+   Edje *ed;
+
+   parent = evas_object_smart_parent_get(obj);
+   if (!(ed = _edje_fetch(parent))) return;
+
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE; // ZZZ: ???
+   _edje_recalc(ed);
+}
+
+EAPI void
+edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
+{
+   if (!obj) return;
+   Edje_Real_Part *rp;
+
+   evas_object_size_hint_min_set(obj, minw, minh);
+   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+   if (rp)
+     {
+        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+            (!rp->typedata.swallow)) return;
+        rp->typedata.swallow->swallow_params.min.w = minw;
+        rp->typedata.swallow->swallow_params.min.h = minh;
+
+        _recalc_extern_parent(obj);
+     }
+}
+
+EAPI void
+edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh)
+{
+   if (!obj) return;
+   Edje_Real_Part *rp;
+
+   evas_object_size_hint_max_set(obj, maxw, maxh);
+   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+   if (rp)
+     {
+        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+            (!rp->typedata.swallow)) return;
+        rp->typedata.swallow->swallow_params.max.w = maxw;
+        rp->typedata.swallow->swallow_params.max.h = maxh;
+
+        _recalc_extern_parent(obj);
+     }
+}
+
+EAPI void
+edje_extern_object_aspect_set(Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah)
+{
+   if (!obj) return;
+   Edje_Real_Part *rp;
+   Evas_Aspect_Control asp;
+
+   asp = EVAS_ASPECT_CONTROL_NONE;
+   switch (aspect)
+     {
+      case EDJE_ASPECT_CONTROL_NONE: asp = EVAS_ASPECT_CONTROL_NONE; break;
+      case EDJE_ASPECT_CONTROL_NEITHER: asp = EVAS_ASPECT_CONTROL_NEITHER; break;
+      case EDJE_ASPECT_CONTROL_HORIZONTAL: asp = EVAS_ASPECT_CONTROL_HORIZONTAL; break;
+      case EDJE_ASPECT_CONTROL_VERTICAL: asp = EVAS_ASPECT_CONTROL_VERTICAL; break;
+      case EDJE_ASPECT_CONTROL_BOTH: asp = EVAS_ASPECT_CONTROL_BOTH; break;
+      default: break;
+     }
+   if (aw < 1) aw = 1;
+   if (ah < 1) ah = 1;
+   evas_object_size_hint_aspect_set(obj, asp, aw, ah);
+   rp = evas_object_data_get(obj, "\377 edje.swallowing_part");
+   if (rp)
+     {
+        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+            (!rp->typedata.swallow)) return;
+        rp->typedata.swallow->swallow_params.aspect.mode = aspect;
+        rp->typedata.swallow->swallow_params.aspect.w = aw;
+        rp->typedata.swallow->swallow_params.aspect.h = ah;
+        _recalc_extern_parent(obj);
+     }
+}
+
+struct edje_box_layout_builtin {
+   const char *name;
+   Evas_Object_Box_Layout cb;
+};
+
+static Evas_Object_Box_Layout
+_edje_box_layout_builtin_find(const char *name)
+{
+   const struct edje_box_layout_builtin _edje_box_layout_builtin[] = {
+     {"horizontal", evas_object_box_layout_horizontal},
+     {"horizontal_flow", evas_object_box_layout_flow_horizontal},
+     {"horizontal_homogeneous", evas_object_box_layout_homogeneous_horizontal},
+     {"horizontal_max", evas_object_box_layout_homogeneous_max_size_horizontal},
+     {"stack", evas_object_box_layout_stack},
+     {"vertical", evas_object_box_layout_vertical},
+     {"vertical_flow", evas_object_box_layout_flow_vertical},
+     {"vertical_homogeneous", evas_object_box_layout_homogeneous_vertical},
+     {"vertical_max", evas_object_box_layout_homogeneous_max_size_vertical},
+     {NULL, NULL}
+   };
+   const struct edje_box_layout_builtin *base;
+
+   switch (name[0])
+     {
+      case 'h':
+         base = _edje_box_layout_builtin + 0;
+         break;
+      case 's':
+         base = _edje_box_layout_builtin + 4;
+         break;
+      case 'v':
+         base = _edje_box_layout_builtin + 5;
+         break;
+      default:
+         return NULL;
+     }
+
+   for (; (base->name) && (base->name[0] == name[0]); base++)
+     if (strcmp(base->name, name) == 0)
+       return base->cb;
+
+   return NULL;
+}
+
+static Eina_Rbtree_Direction
+_edje_box_layout_external_node_cmp(const Eina_Rbtree *left, const Eina_Rbtree *right, EINA_UNUSED void *data)
+{
+   Edje_Box_Layout *l = (Edje_Box_Layout *)left;
+   Edje_Box_Layout *r = (Edje_Box_Layout *)right;
+
+   if (strcmp(l->name, r->name) < 0)
+     return EINA_RBTREE_RIGHT;
+   else
+     return EINA_RBTREE_LEFT;
+}
+
+static int
+_edje_box_layout_external_find_cmp(const Eina_Rbtree *node, const void *key, EINA_UNUSED int length, EINA_UNUSED void *data)
+{
+   Edje_Box_Layout *l = (Edje_Box_Layout *)node;
+   return strcmp(key, l->name);
+}
+
+static Edje_Box_Layout *
+_edje_box_layout_external_find(const char *name)
+{
+   return (Edje_Box_Layout *)eina_rbtree_inline_lookup
+     (_edje_box_layout_registry, name, 0, _edje_box_layout_external_find_cmp,
+      NULL);
+}
+
+Eina_Bool
+_edje_box_layout_find(const char *name, Evas_Object_Box_Layout *cb, void **data, void (**free_data)(void *data))
+{
+   const Edje_Box_Layout *l;
+
+   if (!name) return EINA_FALSE;
+
+   *cb = _edje_box_layout_builtin_find(name);
+   if (*cb)
+     {
+        *free_data = NULL;
+        *data = NULL;
+        return EINA_TRUE;
+     }
+
+   l = _edje_box_layout_external_find(name);
+   if (!l) return EINA_FALSE;
+
+   *cb = l->func;
+   *free_data = l->layout_data_free;
+   if (l->layout_data_get)
+     *data = l->layout_data_get(l->data);
+   else
+     *data = NULL;
+
+   return EINA_TRUE;
+}
+
+static void
+_edje_box_layout_external_free(Eina_Rbtree *node, EINA_UNUSED void *data)
+{
+   Edje_Box_Layout *l = (Edje_Box_Layout *)node;
+
+   if (l->data && l->free_data)
+     l->free_data(l->data);
+   free(l);
+}
+
+static Edje_Box_Layout *
+_edje_box_layout_external_new(const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data)
+{
+   Edje_Box_Layout *l;
+   size_t name_len;
+
+   name_len = strlen(name) + 1;
+   l = malloc(sizeof(Edje_Box_Layout) + name_len);
+   if (!l) return NULL;
+
+   l->func = func;
+   l->layout_data_get = layout_data_get;
+   l->layout_data_free = layout_data_free;
+   l->free_data = free_data;
+   l->data = data;
+
+   memcpy(l->name, name, name_len);
+
+   return l;
+}
+
+EAPI void
+edje_box_layout_register(const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data)
+{
+   Edje_Box_Layout *l;
+
+   if (!name) return;
+
+   if (_edje_box_layout_builtin_find(name))
+     {
+        ERR("Cannot register layout '%s': would override builtin!",
+            name);
+
+        if (data && free_data) free_data(data);
+        return;
+     }
+
+   l = _edje_box_layout_external_find(name);
+   if (!l)
+     {
+        if (!func)
+          {
+             if (data && free_data) free_data(data);
+             return;
+          }
+
+        l = _edje_box_layout_external_new
+           (name, func, layout_data_get, layout_data_free, free_data, data);
+        if (!l)
+          return;
+
+        _edje_box_layout_registry = eina_rbtree_inline_insert
+           (_edje_box_layout_registry, (Eina_Rbtree *)l,
+            _edje_box_layout_external_node_cmp, NULL);
+     }
+   else
+     {
+        if (func)
+          {
+             if (l->data && l->free_data) l->free_data(l->data);
+
+             l->func = func;
+             l->layout_data_get = layout_data_get;
+             l->layout_data_free = layout_data_free;
+             l->free_data = free_data;
+             l->data = data;
+          }
+        else
+          {
+             if (data && free_data) free_data(data);
+
+             _edje_box_layout_registry = eina_rbtree_inline_remove
+                (_edje_box_layout_registry, (Eina_Rbtree *)l,
+                 _edje_box_layout_external_node_cmp, NULL);
+             _edje_box_layout_external_free((Eina_Rbtree *)l, NULL);
+          }
+     }
+}
+
+EAPI void
+edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_part_unswallow(obj_swallow));
+}
+
+void
+_part_unswallow(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Object *obj_swallow = va_arg(*list, Evas_Object *);
+   Edje_Real_Part *rp;
+
+   if (!obj_swallow) return;
+
+   rp = (Edje_Real_Part *)evas_object_data_get(obj_swallow, "\377 edje.swallowing_part");
+   if (!rp)
+     return;
+   if (rp->part->type != EDJE_PART_TYPE_SWALLOW)
+     {
+        ERR("cannot unswallow part %s: not swallow type!", rp->part->name);
+        return;
+     }
+
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+
+   if (rp->typedata.swallow->swallowed_object == obj_swallow)
+     {
+        Edje_User_Defined *eud;
+        Eina_List *l;
+
+        if (obj)
+          {
+             Edje *ed = _pd;
+
+             if (!ed && obj)
+               {
+                  ERR("edje_object_part_unswallow called on a non Edje object ('%s').",
+                      evas_object_type_get(obj));
+               }
+             else
+               {
+                  EINA_LIST_FOREACH(ed->user_defined, l, eud)
+                    if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj_swallow)
+                      {
+                         _edje_user_definition_free(eud);
+                         return ;
+                      }
+               }
+          }
+
+        _edje_real_part_swallow_clear(rp);
+        rp->typedata.swallow->swallowed_object = NULL;
+        rp->typedata.swallow->swallow_params.min.w = 0;
+        rp->typedata.swallow->swallow_params.min.h = 0;
+        rp->typedata.swallow->swallow_params.max.w = 0;
+        rp->typedata.swallow->swallow_params.max.h = 0;
+        rp->edje->dirty = EINA_TRUE;
+        rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+        rp->invalidate = 1;
+#endif
+        _edje_recalc_do(rp->edje);
+        return;
+     }
+}
+
+EAPI Evas_Object *
+edje_object_part_swallow_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_swallow_get(part, &ret));
+   return ret;
+}
+
+void
+_part_swallow_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   *ret = rp->typedata.swallow->swallowed_object;
+}
+
+EAPI void
+edje_object_size_min_get(const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_size_min_get(minw, minh));
+}
+
+void
+_size_min_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
+   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
+   const Edje *ed = _pd;
+
+   if ((!ed) || (!ed->collection))
+     {
+        if (minw) *minw = 0;
+        if (minh) *minh = 0;
+        return;
+     }
+   if (minw) *minw = ed->collection->prop.min.w;
+   if (minh) *minh = ed->collection->prop.min.h;
+}
+
+EAPI void
+edje_object_size_max_get(const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh)
+{
+   if (!obj) return;
+   eo_do((Eo *)obj, edje_obj_size_max_get(maxw, maxh));
+}
+
+void
+_size_max_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Coord *maxw = va_arg(*list, Evas_Coord *);
+   Evas_Coord *maxh = va_arg(*list, Evas_Coord *);
+   Edje *ed = (Edje *)_pd;
+
+   if ((!ed) || (!ed->collection))
+     {
+        if (maxw) *maxw = 0;
+        if (maxh) *maxh = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   if (ed->collection->prop.max.w == 0)
+     {
+        /* XXX TODO: convert maxw to 0, fix things that break. */
+        if (maxw) *maxw = EDJE_INF_MAX_W;
+     }
+   else
+     {
+        if (maxw) *maxw = ed->collection->prop.max.w;
+     }
+   if (ed->collection->prop.max.h == 0)
+     {
+        /* XXX TODO: convert maxh to 0, fix things that break. */
+        if (maxh) *maxh = EDJE_INF_MAX_H;
+     }
+   else
+     {
+        if (maxh) *maxh = ed->collection->prop.max.h;
+     }
+}
+
+EAPI void
+edje_object_calc_force(Evas_Object *obj)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_calc_force());
+}
+
+void
+_calc_force(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+{
+   Edje *ed = _pd;
+   int pf, pf2;
+
+   if (!ed) return;
+   ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+
+   pf2 = _edje_freeze_val;
+   pf = ed->freeze;
+
+   _edje_freeze_val = 0;
+   ed->freeze = 0;
+
+   _edje_recalc_do(ed);
+
+   ed->freeze = pf;
+   _edje_freeze_val = pf2;
+}
+
+EAPI void
+edje_object_size_min_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_size_min_calc(minw, minh));
+}
+
+void
+_size_min_calc(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
+   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
+   edje_object_size_min_restricted_calc(obj, minw, minh, 0, 0);
+}
+
+EAPI Eina_Bool
+edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_parts_extends_calc(x, y, w, h, &ret));
+   return ret;
+}
+
+void
+_parts_extends_calc(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Coord *x = va_arg(*list, Evas_Coord *);
+   Evas_Coord *y = va_arg(*list, Evas_Coord *);
+   Evas_Coord *w = va_arg(*list, Evas_Coord *);
+   Evas_Coord *h = va_arg(*list, Evas_Coord *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Evas_Coord xx1 = INT_MAX, yy1 = INT_MAX;
+   Evas_Coord xx2 = 0, yy2 = 0;
+   unsigned int i;
+   if (ret) *ret = EINA_FALSE;
+
+   if (!ed)
+     {
+        if (x) *x = 0;
+        if (y) *y = 0;
+        if (w) *w = 0;
+        if (h) *h = 0;
+        return;
+     }
+
+   ed->calc_only = EINA_TRUE;
+
+   /* Need to recalc before providing the object. */
+   ed->dirty = EINA_TRUE;
+   _edje_recalc_do(ed);
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+        Evas_Coord rpx1, rpy1;
+        Evas_Coord rpx2, rpy2;
+
+        rp = ed->table_parts[i];
+
+        rpx1 = rp->x;
+        rpy1 = rp->y;
+        rpx2 = rpx1 + rp->w;
+        rpy2 = rpy1 + rp->h;
+
+        if (xx1 > rpx1) xx1 = rpx1;
+        if (yy1 > rpy1) yy1 = rpy1;
+        if (xx2 < rpx2) xx2 = rpx2;
+        if (yy2 < rpy2) yy2 = rpy2;
+     }
+
+   ed->calc_only = EINA_FALSE;
+
+   if (x) *x = xx1;
+   if (y) *y = yy1;
+   if (w) *w = xx2 - xx1;
+   if (h) *h = yy2 - yy1;
+
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI void
+edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_size_min_restricted_calc(minw, minh, restrictedw, restrictedh));
+}
+
+void
+_size_min_restricted_calc(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Evas_Coord *minw = va_arg(*list, Evas_Coord *);
+   Evas_Coord *minh = va_arg(*list, Evas_Coord *);
+   Evas_Coord restrictedw = va_arg(*list, Evas_Coord);
+   Evas_Coord restrictedh = va_arg(*list, Evas_Coord);
+   Edje *ed = _pd;
+   Evas_Coord pw, ph;
+   int maxw, maxh;
+   int okw, okh;
+   int reset_maxwh;
+   Edje_Real_Part *pep = NULL;
+   Eina_Bool has_non_fixed_tb = EINA_FALSE;
+
+   if ((!ed) || (!ed->collection))
+     {
+        if (minw) *minw = restrictedw;
+        if (minh) *minh = restrictedh;
+        return;
+     }
+   reset_maxwh = 1;
+   ed->calc_only = EINA_TRUE;
+   pw = ed->w;
+   ph = ed->h;
+
+   again:
+   ed->w = restrictedw;
+   ed->h = restrictedh;
+
+   maxw = 0;
+   maxh = 0;
+
+   do
+     {
+        unsigned int i;
+
+        okw = okh = 0;
+        ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+        ed->all_part_change = EINA_TRUE;
+#endif
+        _edje_recalc_do(ed);
+        if (reset_maxwh)
+          {
+             maxw = 0;
+             maxh = 0;
+          }
+        pep = NULL;
+        has_non_fixed_tb = EINA_FALSE;
+        for (i = 0; i < ed->table_parts_size; i++)
+          {
+             Edje_Real_Part *ep;
+             int w, h;
+             int didw;
+
+             ep = ed->table_parts[i];
+             w = ep->w - ep->req.w;
+             h = ep->h - ep->req.h;
+             didw = 0;
+             if (ep->chosen_description)
+               {
+                  if (!ep->chosen_description->fixed.w)
+                    {
+                       if ((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK))
+                         {
+                            Evas_Coord tb_mw;
+                            evas_object_textblock_size_formatted_get(ep->object,
+                                                                     &tb_mw, NULL);
+                            tb_mw -= ep->req.w;
+                            if (tb_mw > w)
+                              {
+                                 w = tb_mw;
+                              }
+                            has_non_fixed_tb = EINA_TRUE;
+                         }
+                       if (w > maxw)
+                         {
+                            maxw = w;
+                            okw = 1;
+                            pep = ep;
+                            didw = 1;
+                         }
+                    }
+                  if (!ep->chosen_description->fixed.h)
+                    {
+                       if (!((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
+                             (!((Edje_Part_Description_Text *)ep->chosen_description)->text.min_x) &&
+                             (didw)))
+                         {
+                            if (h > maxh)
+                              {
+                                 maxh = h;
+                                 okh = 1;
+                                 pep = ep;
+                              }
+                         }
+
+                       if (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+                         {
+                            has_non_fixed_tb = EINA_TRUE;
+                         }
+                    }
+               }
+          }
+        if (okw)
+          {
+             ed->w += maxw;
+             if (ed->w < restrictedw) ed->w = restrictedw;
+          }
+        if (okh)
+          {
+             ed->h += maxh;
+             if (ed->h < restrictedh) ed->h = restrictedh;
+          }
+        if ((ed->w > 4000) || (ed->h > 4000))
+          {
+             /* Only print it if we have a non-fixed textblock.
+              * We should possibly avoid all of this if in this case, but in
+              * the meanwhile, just doing this. */
+             if (!has_non_fixed_tb)
+               {
+                  if (pep)
+                    ERR("file %s, group %s has a non-fixed part '%s'. Adding 'fixed: 1 1;' to source EDC may help. Continuing discarding faulty part.",
+                        ed->path, ed->group, pep->part->name);
+                  else
+                    ERR("file %s, group %s overflowed 4000x4000 with minimum size of %dx%d. Continuing discarding faulty parts.",
+                        ed->path, ed->group, ed->w, ed->h);
+               }
+
+             if (reset_maxwh)
+               {
+                  reset_maxwh = 0;
+                  goto again;
+               }
+          }
+     }
+   while (okw || okh);
+   ed->min.w = ed->w;
+   ed->min.h = ed->h;
+
+   if (minw) *minw = ed->min.w;
+   if (minh) *minh = ed->min.h;
+
+   ed->w = pw;
+   ed->h = ph;
+   ed->dirty = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   ed->all_part_change = EINA_TRUE;
+#endif
+   _edje_recalc(ed);
+   ed->calc_only = EINA_FALSE;
+}
+
+/* FIXME: Correctly return other states */
+EAPI const char *
+edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val_ret)
+{
+   if (!obj) return NULL;
+   const char *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_state_get(part, val_ret, &ret));
+   return ret;
+}
+
+void
+_part_state_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double *val_ret = va_arg(*list, double *);
+   const char **ret = va_arg(*list, const char **);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = "";
+
+   if ((!ed) || (!part))
+     {
+        if (val_ret) *val_ret = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp)
+     {
+        if (val_ret) *val_ret = 0;
+        INF("part not found");
+        return;
+     }
+   if (rp->chosen_description)
+     {
+        if (val_ret) *val_ret = rp->chosen_description->state.value;
+        if (rp->chosen_description->state.name)
+          *ret = rp->chosen_description->state.name;
+        else
+          *ret = "default";
+        return;
+     }
+   else
+     {
+        if (rp->param1.description)
+          {
+             if (val_ret) *val_ret = rp->param1.description->state.value;
+             if (rp->param1.description->state.name)
+               *ret = rp->param1.description->state.name;
+             else
+               *ret = "default";
+             return;
+          }
+     }
+   if (val_ret) *val_ret = 0;
+}
+
+EAPI Edje_Drag_Dir
+edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part)
+{
+   if (!obj) return EDJE_DRAG_DIR_NONE;
+   Edje_Drag_Dir ret;
+   eo_do((Eo *)obj, edje_obj_part_drag_dir_get(part, &ret));
+   return ret;
+}
+
+void
+_part_drag_dir_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Edje_Drag_Dir *ret = va_arg(*list, Edje_Drag_Dir *);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = EDJE_DRAG_DIR_NONE;
+
+   if ((!ed) || (!part)) return;
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if ((rp->part->dragable.x) && (rp->part->dragable.y)) *ret = EDJE_DRAG_DIR_XY;
+   else if (rp->part->dragable.x) *ret = EDJE_DRAG_DIR_X;
+   else if (rp->part->dragable.y) *ret = EDJE_DRAG_DIR_Y;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_value_set(Evas_Object *obj, const char *part, double dx, double dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_value_set(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_value_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dx = va_arg(*list, double);
+   double dy = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+   if (rp->drag->down.count > 0) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_VALUE && !strcmp(part, eud->part))
+       {
+          eud->u.drag_position.x = dx;
+          eud->u.drag_position.y = dy;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_VALUE, part, ed);
+        if (eud)
+          {
+             eud->u.drag_position.x = dx;
+             eud->u.drag_position.y = dy;
+          }
+     }
+
+   if (rp->part->dragable.confine_id != -1)
+     {
+        dx = CLAMP(dx, 0.0, 1.0);
+        dy = CLAMP(dy, 0.0, 1.0);
+     }
+   if (rp->part->dragable.x < 0) dx = 1.0 - dx;
+   if (rp->part->dragable.y < 0) dy = 1.0 - dy;
+   if ((rp->drag->val.x == FROM_DOUBLE(dx)) && (rp->drag->val.y == FROM_DOUBLE(dy)))
+     {
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+   rp->drag->val.x = FROM_DOUBLE(dx);
+   rp->drag->val.y = FROM_DOUBLE(dy);
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
+   _edje_emit(rp->edje, "drag,set", rp->part->name);
+   if (ret) *ret = EINA_TRUE;
+}
+
+/* FIXME: Should this be x and y instead of dx/dy? */
+EAPI Eina_Bool
+edje_object_part_drag_value_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_drag_value_get(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double *dx = va_arg(*list, double *);
+   double *dy = va_arg(*list, double *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   double ddx, ddy;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part))
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp || !rp->drag)
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+   ddx = TO_DOUBLE(rp->drag->val.x);
+   ddy = TO_DOUBLE(rp->drag->val.y);
+   if (rp->part->dragable.x < 0) ddx = 1.0 - ddx;
+   if (rp->part->dragable.y < 0) ddy = 1.0 - ddy;
+   if (dx) *dx = ddx;
+   if (dy) *dy = ddy;
+   *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, double dh)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_size_set(part, dw, dh, &ret));
+   return ret;
+}
+
+void
+_part_drag_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dw = va_arg(*list, double);
+   double dh = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_SIZE && !strcmp(part, eud->part))
+       {
+          eud->u.drag_size.w = dw;
+          eud->u.drag_size.h = dh;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_SIZE, part, ed);
+        if (eud)
+          {
+             eud->u.drag_size.w = dw;
+             eud->u.drag_size.h = dh;
+          } 
+     }
+
+   if (dw < 0.0) dw = 0.0;
+   else if (dw > 1.0) dw = 1.0;
+   if (dh < 0.0) dh = 0.0;
+   else if (dh > 1.0) dh = 1.0;
+   if ((rp->drag->size.x == FROM_DOUBLE(dw)) && (rp->drag->size.y == FROM_DOUBLE(dh)))
+     {
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+   rp->drag->size.x = FROM_DOUBLE(dw);
+   rp->drag->size.y = FROM_DOUBLE(dh);
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_size_get(const Evas_Object *obj, const char *part, double *dw, double *dh)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_drag_size_get(part, dw, dh, &ret));
+   return ret;
+}
+
+void
+_part_drag_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double *dw = va_arg(*list, double *);
+   double *dh = va_arg(*list, double *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part))
+     {
+        if (dw) *dw = 0;
+        if (dh) *dh = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp || !rp->drag)
+     {
+        if (dw) *dw = 0;
+        if (dh) *dh = 0;
+        return;
+     }
+   if (dw) *dw = TO_DOUBLE(rp->drag->size.x);
+   if (dh) *dh = TO_DOUBLE(rp->drag->size.y);
+   *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_step_set(Evas_Object *obj, const char *part, double dx, double dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_step_set(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_step_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dx = va_arg(*list, double);
+   double dy = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_STEP && !strcmp(part, eud->part))
+       {
+          eud->u.drag_position.x = dx;
+          eud->u.drag_position.y = dy;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_STEP, part, ed);
+        if (eud)
+          {
+             eud->u.drag_position.x = dx;
+             eud->u.drag_position.y = dy;
+          } 
+     }
+
+   if (dx < 0.0) dx = 0.0;
+   else if (dx > 1.0) dx = 1.0;
+   if (dy < 0.0) dy = 0.0;
+   else if (dy > 1.0) dy = 1.0;
+   rp->drag->step.x = FROM_DOUBLE(dx);
+   rp->drag->step.y = FROM_DOUBLE(dy);
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_step_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_drag_step_get(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_step_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double *dx = va_arg(*list, double *);
+   double *dy = va_arg(*list, double *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part))
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp || !rp->drag)
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+   if (dx) *dx = TO_DOUBLE(rp->drag->step.x);
+   if (dy) *dy = TO_DOUBLE(rp->drag->step.y);
+   *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_page_set(Evas_Object *obj, const char *part, double dx, double dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_page_set(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_page_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dx = va_arg(*list, double);
+   double dy = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_PAGE && !strcmp(part, eud->part))
+       {
+          eud->u.drag_position.x = dx;
+          eud->u.drag_position.y = dy;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_PAGE, part, ed);
+        if (eud)
+          {
+             eud->u.drag_position.x = dx;
+             eud->u.drag_position.y = dy;
+          } 
+     }
+
+   if (dx < 0.0) dx = 0.0;
+   else if (dx > 1.0) dx = 1.0;
+   if (dy < 0.0) dy = 0.0;
+   else if (dy > 1.0) dy = 1.0;
+   rp->drag->page.x = FROM_DOUBLE(dx);
+   rp->drag->page.y = FROM_DOUBLE(dy);
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_page_get(const Evas_Object *obj, const char *part, double *dx, double *dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_drag_page_get(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_page_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double *dx = va_arg(*list, double *);
+   double *dy = va_arg(*list, double *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = (Edje *)_pd;
+   Edje_Real_Part *rp;
+   *ret = EINA_FALSE;
+
+   if ((!ed) || (!part))
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+
+   /* Need to recalc before providing the object. */
+   _edje_recalc_do(ed);
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp || !rp->drag)
+     {
+        if (dx) *dx = 0;
+        if (dy) *dy = 0;
+        return;
+     }
+   if (dx) *dx = TO_DOUBLE(rp->drag->page.x);
+   if (dy) *dy = TO_DOUBLE(rp->drag->page.y);
+   *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_step(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_step(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dx = va_arg(*list, double);
+   double dy = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   FLOAT_T px, py;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+   if (rp->drag->down.count > 0) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_STEP && !strcmp(part, eud->part))
+       {
+          eud->u.drag_position.x = dx;
+          eud->u.drag_position.y = dy;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_STEP, part, ed);
+        if (eud)
+          {
+             eud->u.drag_position.x = dx;
+             eud->u.drag_position.y = dy;
+          }
+     }
+
+   px = rp->drag->val.x;
+   py = rp->drag->val.y;
+   rp->drag->val.x = ADD(px, MUL(FROM_DOUBLE(dx),
+                                 MUL(rp->drag->step.x, rp->part->dragable.x)));
+   rp->drag->val.y = ADD(py, MUL(FROM_DOUBLE(dy),
+                                 MUL(rp->drag->step.y, rp->part->dragable.y)));
+   rp->drag->val.x = CLAMP (rp->drag->val.x, ZERO, FROM_DOUBLE(1.0));
+   rp->drag->val.y = CLAMP (rp->drag->val.y, ZERO, FROM_DOUBLE(1.0));
+   if ((px == rp->drag->val.x) && (py == rp->drag->val.y))
+     {
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
+   _edje_emit(rp->edje, "drag,step", rp->part->name);
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double dy)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_drag_page(part, dx, dy, &ret));
+   return ret;
+}
+
+void
+_part_drag_page(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   double dx = va_arg(*list, double);
+   double dy = va_arg(*list, double);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   FLOAT_T px, py;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (!rp->drag) return;
+   if (rp->drag->down.count > 0) return;
+
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_DRAG_PAGE && !strcmp(part, eud->part))
+       {
+          eud->u.drag_position.x = dx;
+          eud->u.drag_position.y = dy;
+          break;
+       }
+   if (!eud)
+     {
+        eud = _edje_user_definition_new(EDJE_USER_DRAG_PAGE, part, ed);
+        if (eud)
+          {
+             eud->u.drag_position.x = dx;
+             eud->u.drag_position.y = dy;
+          }
+     }
+
+   px = rp->drag->val.x;
+   py = rp->drag->val.y;
+   rp->drag->val.x = ADD(px, MUL(FROM_DOUBLE(dx), MUL(rp->drag->page.x, rp->part->dragable.x)));
+   rp->drag->val.y = ADD(py, MUL(FROM_DOUBLE(dy), MUL(rp->drag->page.y, rp->part->dragable.y)));
+   rp->drag->val.x = CLAMP (rp->drag->val.x, ZERO, FROM_DOUBLE(1.0));
+   rp->drag->val.y = CLAMP (rp->drag->val.y, ZERO, FROM_DOUBLE(1.0));
+   if ((px == rp->drag->val.x) && (py == rp->drag->val.y))
+     {
+        if (ret) *ret = EINA_TRUE;
+        return;
+     }
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_dragable_pos_set(rp->edje, rp, rp->drag->val.x, rp->drag->val.y);
+   _edje_emit(rp->edje, "drag,page", rp->part->name);
+   if (ret) *ret = EINA_TRUE;
+}
+
+void
+_edje_box_init(void)
+{
+
+}
+
+void
+_edje_box_shutdown(void)
+{
+   if (!_edje_box_layout_registry)
+     return;
+
+   eina_rbtree_delete
+     (_edje_box_layout_registry, _edje_box_layout_external_free, NULL);
+   _edje_box_layout_registry = NULL;
+}
+
+EAPI Eina_Bool
+edje_object_part_box_append(Evas_Object *obj, const char *part, Evas_Object *child)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_box_append(part, child, &ret));
+   return ret;
+}
+
+void
+_part_box_append(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child = va_arg(*list, Evas_Object *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part) || (!child)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   if (_edje_real_part_box_append(rp, child))
+     {
+        Edje_User_Defined *eud;
+
+        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
+        if (!eud) return;
+        eud->u.box.child = child;
+        eud->u.box.index = -1;
+
+        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+        if (ret) *ret = EINA_TRUE;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_box_prepend(part, child, &ret));
+   return ret;
+}
+
+void
+_part_box_prepend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child = va_arg(*list, Evas_Object *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   if (_edje_real_part_box_prepend(rp, child))
+     {
+        Edje_User_Defined *eud;
+
+        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
+        if (!eud) return;
+        eud->u.box.child = child;
+
+        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+        if (ret) *ret = EINA_TRUE;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_box_insert_before(part, child, reference, &ret));
+   return ret;
+}
+
+void
+_part_box_insert_before(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child = va_arg(*list, Evas_Object *);
+   const Evas_Object *reference = va_arg(*list, const Evas_Object *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   if (_edje_real_part_box_insert_before(rp, child, reference))
+     {
+        Edje_User_Defined *eud;
+
+        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
+        if (!eud) return;
+        eud->u.box.child = child;
+
+        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+        if (ret) *ret = EINA_TRUE;
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_box_insert_at(part, child, pos, &ret));
+   return ret;
+}
+
+void
+_part_box_insert_at(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child = va_arg(*list, Evas_Object *);
+   unsigned int pos = va_arg(*list, unsigned int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   if (_edje_real_part_box_insert_at(rp, child, pos))
+     {
+        Edje_User_Defined *eud;
+
+        eud = _edje_user_definition_new(EDJE_USER_BOX_PACK, part, ed);
+        if (!eud) return;
+        eud->u.box.child = child;
+
+        evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+        if (ret) *ret = EINA_TRUE;
+     }
+}
+
+EAPI Evas_Object *
+edje_object_part_box_remove(Evas_Object *obj, const char *part, Evas_Object *child)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do(obj, edje_obj_part_box_remove(part, child, &ret));
+   return ret;
+}
+
+void
+_part_box_remove(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child = va_arg(*list, Evas_Object *);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Evas_Object *r;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   r = _edje_real_part_box_remove(rp, child);
+
+   if (r)
+     {
+        Edje_User_Defined *eud;
+        Eina_List *l;
+
+        EINA_LIST_FOREACH(ed->user_defined, l, eud)
+          if (eud->type == EDJE_USER_BOX_PACK && eud->u.box.child == child && !strcmp(eud->part, part))
+            {
+               _edje_user_definition_free(eud);
+               if (ret) *ret = r;
+               return;
+            }
+     }
+   if (ret) *ret = r;
+}
+
+EAPI Evas_Object *
+edje_object_part_box_remove_at(Evas_Object *obj, const char *part, unsigned int pos)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do(obj, edje_obj_part_box_remove_at(part, pos, &ret));
+   return ret;
+}
+
+void
+_part_box_remove_at(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   unsigned int pos = va_arg(*list, unsigned int);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Evas_Object *r;
+   if (ret) *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   r = _edje_real_part_box_remove_at(rp, pos);
+
+   if (r)
+     {
+        Edje_User_Defined *eud;
+        Eina_List *l;
+
+        EINA_LIST_FOREACH(ed->user_defined, l, eud)
+          if (eud->type == EDJE_USER_BOX_PACK && eud->u.box.child == r && !strcmp(eud->part, part))
+            {
+               _edje_user_definition_free(eud);
+               if (ret) *ret = r;
+               return;
+            }
+     }
+   if (ret) *ret = r;
+}
+
+EAPI Eina_Bool
+edje_object_part_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_box_remove_all(part, clear, &ret));
+   return ret;
+}
+
+void
+_part_box_remove_all(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool clear = va_arg(*list, int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return;
+
+   if (_edje_real_part_box_remove_all(rp, clear))
+     {
+        if (ret) *ret = EINA_TRUE;
+        Edje_User_Defined *eud;
+        Eina_List *ll, *l;
+
+        EINA_LIST_FOREACH_SAFE(ed->user_defined, l, ll, eud)
+          if (eud->type == EDJE_USER_BOX_PACK && !strcmp(eud->part, part))
+            {
+               _edje_user_definition_free(eud);
+               return;
+            }
+     }
+}
+
+EAPI Eina_List *
+edje_object_access_part_list_get(const Evas_Object *obj)
+{
+   if (!obj) return NULL;
+   Eina_List *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_access_part_list_get(&ret));
+   return ret;
+}
+
+void
+_access_part_list_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_List **ret = va_arg(*list, Eina_List **);
+   const Edje *ed = _pd;
+   Eina_List *access_parts = NULL;
+   *ret = NULL;
+
+   if ((!ed)) return;
+
+   unsigned int i;
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+        rp = ed->table_parts[i];
+        if (rp->part->access)
+          access_parts = eina_list_append(access_parts, rp->part->name);
+     }
+
+   *ret = access_parts;
+}
+
+static void
+_edje_box_child_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *child EINA_UNUSED, void *einfo EINA_UNUSED)
+{
+   Edje_Real_Part *rp = data;
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+static void
+_edje_box_child_add(Edje_Real_Part *rp, Evas_Object *child)
+{
+   evas_object_event_callback_add
+     (child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+static void
+_edje_box_child_remove(Edje_Real_Part *rp, Evas_Object *child)
+{
+   evas_object_event_callback_del_full
+     (child, EVAS_CALLBACK_DEL, _edje_box_child_del_cb, rp);
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+Eina_Bool
+_edje_real_part_box_append(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   Evas_Object_Box_Option *opt;
+
+   opt = evas_object_box_append(rp->object, child_obj);
+   if (!opt) return EINA_FALSE;
+
+   if (!_edje_box_layout_add_child(rp, child_obj))
+     {
+        evas_object_box_remove(rp->object, child_obj);
+        return EINA_FALSE;
+     }
+
+   _edje_box_child_add(rp, child_obj);
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_real_part_box_prepend(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   Evas_Object_Box_Option *opt;
+
+   opt = evas_object_box_prepend(rp->object, child_obj);
+   if (!opt) return EINA_FALSE;
+
+   if (!_edje_box_layout_add_child(rp, child_obj))
+     {
+        evas_object_box_remove(rp->object, child_obj);
+        return EINA_FALSE;
+     }
+
+   _edje_box_child_add(rp, child_obj);
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_real_part_box_insert_before(Edje_Real_Part *rp, Evas_Object *child_obj, const Evas_Object *ref)
+{
+   Evas_Object_Box_Option *opt;
+
+   opt = evas_object_box_insert_before(rp->object, child_obj, ref);
+   if (!opt) return EINA_FALSE;
+
+   if (!_edje_box_layout_add_child(rp, child_obj))
+     {
+        evas_object_box_remove(rp->object, child_obj);
+        return EINA_FALSE;
+     }
+
+   _edje_box_child_add(rp, child_obj);
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+_edje_real_part_box_insert_at(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned int pos)
+{
+   Evas_Object_Box_Option *opt;
+
+   opt = evas_object_box_insert_at(rp->object, child_obj, pos);
+   if (!opt) return EINA_FALSE;
+
+   if (!_edje_box_layout_add_child(rp, child_obj))
+     {
+        evas_object_box_remove(rp->object, child_obj);
+        return EINA_FALSE;
+     }
+
+   _edje_box_child_add(rp, child_obj);
+
+   return EINA_TRUE;
+}
+
+Evas_Object *
+_edje_real_part_box_remove(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   if (evas_object_data_get(child_obj, "\377 edje.box_item")) return NULL;
+   if (!evas_object_box_remove(rp->object, child_obj)) return NULL;
+   _edje_box_layout_remove_child(rp, child_obj);
+   _edje_box_child_remove(rp, child_obj);
+   return child_obj;
+}
+
+Evas_Object *
+_edje_real_part_box_remove_at(Edje_Real_Part *rp, unsigned int pos)
+{
+   Evas_Object_Box_Option *opt;
+   Evas_Object_Box_Data *priv;
+   Evas_Object *child_obj;
+
+   priv = eo_data_get(rp->object, EVAS_OBJ_BOX_CLASS);
+   opt = eina_list_nth(priv->children, pos);
+   if (!opt) return NULL;
+   child_obj = opt->obj;
+   if (evas_object_data_get(child_obj, "\377 edje.box_item")) return NULL;
+   if (!evas_object_box_remove_at(rp->object, pos)) return NULL;
+   _edje_box_layout_remove_child(rp, child_obj);
+   _edje_box_child_remove(rp, child_obj);
+   return child_obj;
+}
+
+Eina_Bool
+_edje_real_part_box_remove_all(Edje_Real_Part *rp, Eina_Bool clear)
+{
+   Eina_List *children;
+   int i = 0;
+
+   children = evas_object_box_children_get(rp->object);
+   while (children)
+     {
+        Evas_Object *child_obj = children->data;
+        if (evas_object_data_get(child_obj, "\377 edje.box_item"))
+          i++;
+        else
+          {
+             _edje_box_layout_remove_child(rp, child_obj);
+             _edje_box_child_remove(rp, child_obj);
+             if (!evas_object_box_remove_at(rp->object, i))
+               return EINA_FALSE;
+             if (clear)
+               evas_object_del(child_obj);
+          }
+        children = eina_list_remove_list(children, children);
+     }
+   return EINA_TRUE;
+}
+
+static void
+_edje_table_child_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *child, void *einfo EINA_UNUSED)
+{
+   Edje_User_Defined *eud;
+   Eina_List *l;
+   Edje_Real_Part *rp = data;
+
+   EINA_LIST_FOREACH(rp->edje->user_defined, l, eud)
+     if (rp->part->type == EDJE_PART_TYPE_BOX)
+       {
+          if (eud->type == EDJE_USER_BOX_PACK &&
+              eud->u.box.child == child &&
+              !strcmp(rp->part->name, eud->part))
+            {
+               _edje_user_definition_free(eud);
+               break;
+            }
+       }
+     else if (rp->part->type == EDJE_PART_TYPE_TABLE)
+       {
+          if (eud->type == EDJE_USER_TABLE_PACK &&
+              eud->u.table.child == child &&
+              !strcmp(rp->part->name, eud->part))
+            {
+               _edje_user_definition_free(eud);
+               break;
+            }
+       }
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+static void
+_edje_table_child_add(Edje_Real_Part *rp, Evas_Object *child)
+{
+   evas_object_event_callback_add
+     (child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+static void
+_edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child)
+{
+   evas_object_event_callback_del_full
+     (child, EVAS_CALLBACK_DEL, _edje_table_child_del_cb, rp);
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   _edje_recalc(rp->edje);
+}
+
+EAPI Evas_Object *
+edje_object_part_table_child_get(const Evas_Object *obj, const char *part, unsigned int col, unsigned int row)
+{
+   if (!obj) return NULL;
+   Evas_Object *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_part_table_child_get(part, col, row, &ret));
+   return ret;
+}
+
+void
+_part_table_child_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   unsigned int col = va_arg(*list, unsigned int);
+   unsigned int row = va_arg(*list, unsigned int);
+   Evas_Object **ret = va_arg(*list, Evas_Object **);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   *ret = NULL;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
+
+   *ret = evas_object_table_child_get(rp->object, col, row);
+}
+
+EAPI Eina_Bool
+edje_object_part_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_table_pack(part, child_obj, col, row, colspan, rowspan, &ret));
+   return ret;
+}
+
+void
+_part_table_pack(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child_obj = va_arg(*list, Evas_Object *);
+   unsigned short col = va_arg(*list, unsigned int);
+   unsigned short row = va_arg(*list, unsigned int);
+   unsigned short colspan = va_arg(*list, unsigned int);
+   unsigned short rowspan = va_arg(*list, unsigned int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
+
+   if (_edje_real_part_table_pack(rp, child_obj, col, row, colspan, rowspan))
+     {
+        if (ret) *ret = EINA_TRUE;
+        eud = _edje_user_definition_new(EDJE_USER_TABLE_PACK, part, ed);
+        if (!eud) return;
+
+        eud->u.table.child = child_obj;
+        eud->u.table.col = col;
+        eud->u.table.row = row;
+        eud->u.table.colspan = colspan;
+        eud->u.table.rowspan = rowspan;
+
+        evas_object_event_callback_add(child_obj, EVAS_CALLBACK_DEL, _edje_user_def_del_cb, eud);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_table_unpack(part, child_obj, &ret));
+   return ret;
+}
+
+void
+_part_table_unpack(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Evas_Object *child_obj = va_arg(*list, Evas_Object *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
+
+   if (_edje_real_part_table_unpack(rp, child_obj))
+     {
+        if (ret) *ret = EINA_TRUE;
+        Edje_User_Defined *eud;
+        Eina_List *l;
+
+        EINA_LIST_FOREACH(ed->user_defined, l, eud)
+          if (eud->type == EDJE_USER_TABLE_PACK &&
+              eud->u.table.child == child_obj &&
+              !strcmp(part, eud->part))
+            {
+               _edje_user_definition_free(eud);
+               break;
+            }
+     }
+}
+
+EAPI Eina_Bool
+edje_object_part_table_col_row_size_get(const Evas_Object *obj, const char *part, int *cols, int *rows)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_part_table_col_row_size_get(part, cols, rows, &ret));
+   return ret;
+}
+
+void
+_part_table_col_row_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   int *cols = va_arg(*list, int *);
+   int *rows = va_arg(*list, int *);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
+
+   evas_object_table_col_row_size_get(rp->object, cols, rows);
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI Eina_Bool
+edje_object_part_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_part_table_clear(part, clear, &ret));
+   return ret;
+}
+
+void
+_part_table_clear(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const char *part = va_arg(*list, const char *);
+   Eina_Bool clear = va_arg(*list, int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   Edje_Real_Part *rp;
+   if (ret) *ret = EINA_FALSE;
+
+   if ((!ed) || (!part)) return;
+
+   rp = _edje_real_part_recursive_get(ed, part);
+   if (!rp) return;
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return;
+
+   _edje_real_part_table_clear(rp, clear);
+   if (ret) *ret = EINA_TRUE;
+}
+
+static void
+_edje_perspective_obj_del(void *data, EINA_UNUSED Evas *e, EINA_UNUSED Evas_Object *obj, EINA_UNUSED void *event_info)
+{
+   Edje_Perspective *ps = data;
+   Evas_Object *o;
+
+   EINA_LIST_FREE(ps->users, o)
+     {
+        Edje *ed;
+
+        ed = eo_data_get(o, EDJE_OBJ_CLASS);
+        if (!ed) continue;
+        ed->persp = NULL;
+        ed->dirty = EINA_TRUE;
+        ed->recalc_call = EINA_TRUE;
+        _edje_recalc_do(ed);
+     }
+   free(ps);
+}
+
+EAPI Edje_Perspective *
+edje_perspective_new(Evas *e)
+{
+   Edje_Perspective *ps;
+   Evas_Coord vx, vy, vw, vh;
+
+   if (!e) return NULL;
+   ps = calloc(1, sizeof(Edje_Perspective));
+   ps->obj = evas_object_rectangle_add(e);
+   evas_object_data_set(ps->obj, "_edje_perspective", ps);
+   evas_object_event_callback_add(ps->obj, EVAS_CALLBACK_DEL, _edje_perspective_obj_del, ps);
+   evas_output_viewport_get(e, &vx, &vy, &vw, &vh);
+   ps->e = e;
+   ps->px = vx + (vw / 2);
+   ps->py = vy + (vh / 2);
+   ps->z0 = 0;
+   ps->foc = 1000;
+   return ps;
+}
+
+EAPI void
+edje_perspective_free(Edje_Perspective *ps)
+{
+   if (!ps) return;
+   evas_object_del(ps->obj);
+}
+
+EAPI void
+edje_perspective_set(Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)
+{
+   Eina_List *l;
+   Evas_Object *o;
+
+   if (!ps) return;
+   if ((ps->px == px) && (ps->py == py) && (ps->z0 == z0) && (ps->foc == foc)) return;
+   ps->px = px;
+   ps->py = py;
+   ps->z0 = z0;
+   ps->foc = foc;
+   EINA_LIST_FOREACH(ps->users, l, o)
+     {
+        Edje *ed;
+
+        ed = eo_data_get(o, EDJE_OBJ_CLASS);
+        if (!ed) continue;
+        if (!ed->persp)
+          {
+             ed->dirty = EINA_TRUE;
+             ed->recalc_call = EINA_TRUE;
+             _edje_recalc_do(ed);
+          }
+     }
+   if (ps->global)
+     {
+        EINA_LIST_FOREACH(_edje_edjes, l, o)
+          {
+             Edje *ed;
+
+             ed = eo_data_get(o, EDJE_OBJ_CLASS);
+             if (!ed) continue;
+             if (!ed->persp)
+               {
+                  ed->dirty = EINA_TRUE;
+                  ed->recalc_call = EINA_TRUE;
+                  _edje_recalc_do(ed);
+               }
+          }
+     }
+}
+
+EAPI void
+edje_perspective_global_set(Edje_Perspective *ps, Eina_Bool global)
+{
+   Evas_Object *o;
+   Eina_List *l;
+
+   if (!ps) return;
+   if (ps->global == global) return;
+   if (global)
+     {
+        o = evas_object_name_find(evas_object_evas_get(ps->obj),
+                                  "_edje_perspective");
+        if (o) evas_object_name_set(o, NULL);
+        evas_object_name_set(ps->obj, "_edje_perspective");
+     }
+   else
+     evas_object_name_set(ps->obj, NULL);
+   ps->global = global;
+   EINA_LIST_FOREACH(_edje_edjes, l, o)
+     {
+        Edje *ed;
+
+        ed = eo_data_get(o, EDJE_OBJ_CLASS);
+        if (!ed) continue;
+        if (!ed->persp)
+          {
+             ed->dirty = EINA_TRUE;
+             ed->recalc_call = EINA_TRUE;
+             _edje_recalc_do(ed);
+          }
+     }
+}
+
+EAPI Eina_Bool
+edje_perspective_global_get(const Edje_Perspective *ps)
+{
+   if (!ps) return EINA_FALSE;
+   return ps->global;
+}
+
+EAPI const Edje_Perspective *
+edje_evas_global_perspective_get(const Evas *e)
+{
+   Evas_Object *obj;
+
+   if (!e) return NULL;
+   obj = evas_object_name_find(e, "_edje_perspective");
+   if (!obj) return NULL;
+   return evas_object_data_get(obj, "_edje_perspective");
+}
+
+EAPI void
+edje_object_perspective_set(Evas_Object *obj, Edje_Perspective *ps)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_perspective_set(ps));
+}
+
+void
+_perspective_set(Eo *obj, void *_pd, va_list *list)
+{
+   Edje_Perspective *ps = va_arg(*list, Edje_Perspective *);
+   Edje *ed = _pd;
+
+   if (!ed) return;
+   if (ed->persp == ps) return;
+   if (ed->persp != ps)
+     {
+        if (ed->persp)
+          ed->persp->users = eina_list_remove(ed->persp->users, obj);
+     }
+   ed->persp = ps;
+   if (ps) ps->users = eina_list_append(ps->users, obj);
+   ed->dirty = EINA_TRUE;
+   ed->recalc_call = EINA_TRUE;
+   _edje_recalc_do(ed);
+}
+
+EAPI const Edje_Perspective *
+edje_object_perspective_get(const Evas_Object *obj)
+{
+   if (!obj) return NULL;
+   const Edje_Perspective *ret = NULL;
+   eo_do((Eo *)obj, edje_obj_perspective_get(&ret));
+   return ret;
+}
+
+void
+_perspective_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   const Edje_Perspective **ret = va_arg(*list, const Edje_Perspective **);
+   const Edje *ed = _pd;
+   *ret = ed->persp;
+}
+
+#define EDJE_PRELOAD_EMISSION "preload,done"
+#define EDJE_PRELOAD_SOURCE NULL
+
+EAPI Eina_Bool
+edje_object_preload(Evas_Object *obj, Eina_Bool cancel)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do(obj, edje_obj_preload(cancel, &ret));
+   return ret;
+}
+
+void
+_preload(Eo *obj, void *_pd, va_list *list)
+{
+   Eina_Bool cancel = va_arg(*list, int);
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Edje *ed = _pd;
+   int count;
+   unsigned int i;
+   if (ret) *ret = EINA_FALSE;
+
+   if (!ed) return;
+
+   _edje_recalc_do(ed);
+
+   for (i = 0, count = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+        Edje_Part *ep;
+
+        rp = ed->table_parts[i];
+        ep = rp->part;
+
+        if ((ep->type == EDJE_PART_TYPE_IMAGE) ||
+            ((ep->type == EDJE_PART_TYPE_GROUP) &&
+             ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+              (rp->typedata.swallow)) &&
+             (rp->typedata.swallow->swallowed_object)))
+          count++;
+     }
+
+   ed->preload_count = count;
+
+   if (count > 0)
+     {
+        for (i = 0; i < ed->table_parts_size; i++)
+          {
+             Edje_Real_Part *rp;
+             Edje_Part *ep;
+
+             rp = ed->table_parts[i];
+             ep = rp->part;
+
+             if (ep->type == EDJE_PART_TYPE_IMAGE)
+               {
+                  const char *file = NULL;
+                  const char *key = NULL;
+
+                  evas_object_event_callback_del_full(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
+
+                  evas_object_image_file_get(rp->object, &file, &key);
+                  if (!file && !key)
+                    {
+                       ed->preload_count--;
+                    }
+                  else
+                    {
+                       evas_object_event_callback_add(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
+                       evas_object_image_preload(rp->object, cancel);
+                    }
+                  count--;
+               }
+             else if (ep->type == EDJE_PART_TYPE_GROUP)
+               {
+                  if (((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                       (rp->typedata.swallow)) &&
+                      (rp->typedata.swallow->swallowed_object))
+                    {
+                       char *tmp;
+
+                       if (rp->part->name)
+                         {
+                            tmp = alloca(strlen(rp->part->name) + 2);
+                            sprintf(tmp, "%s:", rp->part->name);
+
+                            edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb);
+                            edje_object_signal_callback_add(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb, ed);
+                            edje_object_preload(rp->typedata.swallow->swallowed_object, cancel);
+                         }
+                       else
+                         {
+                            ed->preload_count--;
+                         }
+                       count--;
+                    }
+               }
+          }
+     }
+   else
+     {
+        _edje_emit(ed, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE);
+     }
+
+   if (ret) *ret = EINA_TRUE;
+}
+
+EAPI void
+edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update)
+{
+   if (!obj) return;
+   eo_do(obj, edje_obj_update_hints_set(update));
+}
+
+void
+_update_hints_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool update = va_arg(*list, int);
+   Edje *ed = _pd;
+
+   if (!ed) return ;
+   if (ed->update_hints == !!update) return ;
+
+   ed->update_hints = !!update;
+   if (update)
+     {
+        ed->recalc_hints = EINA_TRUE;
+        _edje_recalc(ed);
+     }
+}
+
+EAPI Eina_Bool
+edje_object_update_hints_get(Evas_Object *obj)
+{
+   if (!obj) return EINA_FALSE;
+   Eina_Bool ret = EINA_FALSE;
+   eo_do((Eo *)obj, edje_obj_update_hints_get(&ret));
+   return ret;
+}
+
+void
+_update_hints_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   const Edje *ed = _pd;
+   *ret = ed->update_hints;
+}
+
+Eina_Bool
+_edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
+{
+   Eina_Bool ret =
+     evas_object_table_pack(rp->object, child_obj, col, row, colspan, rowspan);
+
+   _edje_table_child_add(rp, child_obj);
+
+   return ret;
+}
+
+Eina_Bool
+_edje_real_part_table_unpack(Edje_Real_Part *rp, Evas_Object *child_obj)
+{
+   Eina_Bool ret = evas_object_table_unpack(rp->object, child_obj);
+
+   if (ret)
+     _edje_table_child_remove(rp, child_obj);
+
+   return ret;
+}
+
+void
+_edje_real_part_table_clear(Edje_Real_Part *rp, Eina_Bool clear)
+{
+   Eina_List *children;
+
+   children = evas_object_table_children_get(rp->object);
+   while (children)
+     {
+        Evas_Object *child_obj = children->data;
+
+        _edje_table_child_remove(rp, child_obj);
+        if (!evas_object_data_get(child_obj, "\377 edje.table_item"))
+          {
+             evas_object_table_unpack(rp->object, child_obj);
+             if (clear)
+               evas_object_del(child_obj);
+          }
+        children = eina_list_remove_list(children, children);
+     }
+}
+
+Edje_Real_Part *
+_edje_real_part_recursive_get(const Edje *ed, const char *part)
+{
+   Edje_Real_Part *rp;
+   char **path;
+
+   path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
+   if (!path) return NULL;
+
+   rp = _edje_real_part_recursive_get_helper(ed, path);
+
+   free(*path);
+   free(path);
+   return rp;
+}
+
+Evas_Object *
+_edje_children_get(Edje_Real_Part *rp, const char *partid)
+{
+   Evas_Object *child;
+   Eina_List *l;
+   long int v;
+   char *p;
+
+   if (!partid) return NULL;
+
+   switch (rp->part->type)
+     {
+      case EDJE_PART_TYPE_EXTERNAL:
+        if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+            (!rp->typedata.swallow)) return NULL;
+        return _edje_external_content_get
+          (rp->typedata.swallow->swallowed_object, partid);
+      case EDJE_PART_TYPE_BOX:
+         l = evas_object_box_children_get(rp->object);
+         break;
+      case EDJE_PART_TYPE_TABLE:
+         l = evas_object_table_children_get(rp->object);
+         break;
+      default:
+         return NULL;
+     }
+
+   v = strtol(partid, &p, 10);
+   if ((*p == '\0') && (v >= 0))
+     {
+        child = eina_list_nth(l, v);
+     }
+   else
+     {
+        Evas_Object *cur;
+        child = NULL;
+        EINA_LIST_FREE(l, cur)
+          {
+             const char *name = evas_object_name_get(cur);
+             if ((name) && (!strcmp(name, partid)))
+               {
+                  child = cur;
+                  break;
+               }
+          }
+     }
+   eina_list_free(l);
+
+   return child;
+}
+
+/* rebuild alternative path */
+char *
+_edje_merge_path(const char *alias, char * const *path)
+{
+   char *tmp;
+   unsigned int length = 1;
+   unsigned int alias_length;
+   unsigned int i;
+
+   if (!alias) return NULL;
+
+   alias_length = strlen(alias);
+
+   for (i = 0; path[i]; i++)
+     length += strlen(path[i]) + 1;
+
+   tmp = malloc(sizeof (char) * (length + alias_length + 2));
+   memcpy(tmp, alias, alias_length);
+   tmp[alias_length] = '\0';
+
+   for (i = 0; path[i]; i++)
+     {
+        strcat(tmp, EDJE_PART_PATH_SEPARATOR_STRING);
+        strcat(tmp, path[i]);
+     }
+
+   return tmp;
+}
+
+
+Edje_Real_Part *
+_edje_real_part_recursive_get_helper(const Edje *ed, char **path)
+{
+   Edje_Real_Part *rp;
+   Evas_Object *child;
+   char *idx = NULL;
+
+   if (!path[0])
+     return NULL;
+
+   if (ed->collection && ed->collection->alias)
+     {
+        char *alias;
+
+        alias = _edje_merge_path(eina_hash_find(ed->collection->alias, path[0]), path + 1);
+        if (alias) {
+           rp = _edje_real_part_recursive_get(ed, alias);
+           free(alias);
+           return rp;
+        }
+     }
+
+   //printf("  lookup: %s on %s\n", path[0], ed->parent ? ed->parent : "-");
+   idx = strchr(path[0], EDJE_PART_PATH_SEPARATOR_INDEXL);
+   if (idx)
+     {
+        char *end;
+
+        end = strchr(idx + 1, EDJE_PART_PATH_SEPARATOR_INDEXR);
+        if (end)
+          {
+             *end = '\0';
+             *idx = '\0';
+             idx++;
+          }
+     }
+
+   rp = _edje_real_part_get(ed, path[0]);
+   if (!path[1] && !idx) return rp;
+   if (!rp) return NULL;
+
+   switch (rp->part->type)
+     {
+      case EDJE_PART_TYPE_GROUP:
+         if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+             (!rp->typedata.swallow)) return NULL;
+         if (!rp->typedata.swallow->swallowed_object) return NULL;
+         ed = _edje_fetch(rp->typedata.swallow->swallowed_object);
+         if (!ed) return NULL;
+         path++;
+         return _edje_real_part_recursive_get_helper(ed, path);
+      case EDJE_PART_TYPE_BOX:
+      case EDJE_PART_TYPE_TABLE:
+      case EDJE_PART_TYPE_EXTERNAL:
+         if (!idx) return rp;
+         path++;
+
+         child = _edje_children_get(rp, idx);
+
+         ed = _edje_fetch(child);
+
+         if (!ed) return NULL;
+         return _edje_real_part_recursive_get_helper(ed, path);
+      default:
+         return NULL;
+     }
+}
+
+/* Private Routines */
+Edje_Real_Part *
+_edje_real_part_get(const Edje *ed, const char *part)
+{
+   unsigned int i;
+
+   if (!part) return NULL;
+
+   for (i = 0; i < ed->table_parts_size; i++)
+     {
+        Edje_Real_Part *rp;
+
+        rp = ed->table_parts[i];
+        if ((rp->part->name) && (!strcmp(rp->part->name, part))) return rp;
+     }
+   return NULL;
+}
+
+Edje_Color_Class *
+_edje_color_class_find(const Edje *ed, const char *color_class)
+{
+   Edje_Color_Class *cc = NULL;
+
+   if ((!ed) || (!color_class)) return NULL;
+
+   /* first look through the object scope */
+   cc = eina_hash_find(ed->color_classes, color_class);
+   if (cc) return cc;
+
+   /* next look through the global scope */
+   cc = eina_hash_find(_edje_color_class_hash, color_class);
+   if (cc) return cc;
+
+   /* finally, look through the file scope */
+   cc = eina_hash_find(ed->file->color_hash, color_class);
+   if (cc) return cc;
+
+   return NULL;
+}
+
+void
+_edje_color_class_member_add(Edje *ed, const char *color_class)
+{
+   _edje_class_member_add(ed, &ed->members.color_class, &_edje_color_class_member_hash, color_class);
+}
+
+void
+_edje_color_class_member_direct_del(const char *color_class, void *l)
+{
+   _edje_class_member_direct_del(color_class, l, _edje_color_class_member_hash);
+}
+
+void
+_edje_color_class_member_del(Edje *ed, const char *color_class)
+{
+   if ((!ed) || (!color_class)) return;
+
+   _edje_class_member_del(&ed->members.color_class, &_edje_color_class_member_hash, color_class);
+}
+
+void
+_edje_color_class_members_free(void)
+{
+   if (!_edje_color_class_member_hash) return;
+   eina_hash_foreach(_edje_color_class_member_hash, member_list_free, NULL);
+   eina_hash_free(_edje_color_class_member_hash);
+   _edje_color_class_member_hash = NULL;
+}
+
+static Eina_Bool
+color_class_hash_list_free(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   Edje_Color_Class *cc;
+
+   cc = data;
+   if (cc->name) eina_stringshare_del(cc->name);
+   free(cc);
+   return EINA_TRUE;
+}
+
+void
+_edje_color_class_hash_free(void)
+{
+   if (!_edje_color_class_hash) return;
+   eina_hash_foreach(_edje_color_class_hash, color_class_hash_list_free, NULL);
+   eina_hash_free(_edje_color_class_hash);
+   _edje_color_class_hash = NULL;
+}
+
+void
+_edje_color_class_on_del(Edje *ed, Edje_Part *ep)
+{
+   unsigned int i;
+
+   if ((ep->default_desc) && (ep->default_desc->color_class))
+     _edje_color_class_member_del(ed, ep->default_desc->color_class);
+
+   for (i = 0; i < ep->other.desc_count; ++i)
+     if (ep->other.desc[i]->color_class)
+       _edje_color_class_member_del(ed, ep->other.desc[i]->color_class);
+}
+
+Edje_Text_Class *
+_edje_text_class_find(Edje *ed, const char *text_class)
+{
+   Eina_List *l;
+   Edje_Text_Class *tc;
+
+   if ((!ed) || (!text_class)) return NULL;
+   EINA_LIST_FOREACH(ed->text_classes, l, tc)
+     if ((tc->name) && (!strcmp(text_class, tc->name))) return tc;
+   return eina_hash_find(_edje_text_class_hash, text_class);
+}
+
+void
+_edje_text_class_member_direct_del(const char *text_class,
+                                   void *l)
+{
+   _edje_class_member_direct_del(text_class, l, _edje_text_class_member_hash);
+}
+
+void
+_edje_text_class_member_add(Edje *ed, const char *text_class)
+{
+   _edje_class_member_add(ed, &ed->members.text_class, &_edje_text_class_member_hash, text_class);
+}
+
+void
+_edje_text_class_member_del(Edje *ed, const char *text_class)
+{
+   if ((!ed) || (!text_class)) return;
+
+   _edje_class_member_del(&ed->members.text_class, &_edje_text_class_member_hash, text_class);
+}
+
+void
+_edje_text_class_members_free(void)
+{
+   _edje_class_members_free(&_edje_text_class_member_hash);
+}
+
+static Eina_Bool
+text_class_hash_list_free(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
+{
+   Edje_Text_Class *tc;
+
+   tc = data;
+   if (tc->name) eina_stringshare_del(tc->name);
+   if (tc->font) eina_stringshare_del(tc->font);
+   free(tc);
+   return EINA_TRUE;
+}
+
+void
+_edje_text_class_hash_free(void)
+{
+   if (!_edje_text_class_hash) return;
+   eina_hash_foreach(_edje_text_class_hash, text_class_hash_list_free, NULL);
+   eina_hash_free(_edje_text_class_hash);
+   _edje_text_class_hash = NULL;
+}
+
+Edje *
+_edje_fetch(const Evas_Object *obj)
+{
+   Edje *ed;
+
+   if (!obj || !eo_isa(obj, EDJE_OBJ_CLASS))
+     return NULL;
+   ed = eo_data_get(obj, EDJE_OBJ_CLASS);
+   if ((ed) && (ed->delete_me)) return NULL;
+   return ed;
+}
+
+int
+_edje_freeze(Edje *ed)
+{
+   ed->freeze++;
+//   printf("FREEZE %i\n", ed->freeze);
+   return ed->freeze;
+}
+
+int
+_edje_thaw(Edje *ed)
+{
+   ed->freeze--;
+   if (ed->freeze < 0)
+     {
+        //     printf("-------------########### OVER THAW\n");
+        ed->freeze = 0;
+     }
+   if ((ed->freeze == 0) && (ed->recalc))
+     {
+        //     printf("thaw recalc\n");
+        _edje_recalc(ed);
+     }
+   return ed->freeze;
+}
+
+int
+_edje_block(Edje *ed)
+{
+   _edje_ref(ed);
+   ed->block++;
+   return ed->block;
+}
+
+int
+_edje_unblock(Edje *ed)
+{
+   int ret = 0;
+
+   if (!ed) return ret;
+
+   ed->block--;
+   if (ed->block == 0) ed->block_break = EINA_FALSE;
+   ret = ed->block;
+   _edje_unref(ed);
+   return ret;
+}
+
+int
+_edje_block_break(Edje *ed)
+{
+   if (ed->block_break) return 1;
+   return 0;
+}
+
+void
+_edje_block_violate(Edje *ed)
+{
+   if (ed->block > 0) ed->block_break = EINA_TRUE;
+}
+
+void
+_edje_object_part_swallow_free_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje_Real_Part *rp;
+   Edje_User_Defined *eud;
+   Eina_List *l;
+
+   rp = data;
+
+   EINA_LIST_FOREACH(rp->edje->user_defined, l, eud)
+     if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj)
+       {
+          _edje_user_definition_free(eud);
+          break;
+       }
+
+   return;
+}
+
+static void
+_edje_real_part_swallow_hints_update(Edje_Real_Part *rp)
+{
+   const char *type;
+
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   type = evas_object_type_get(rp->typedata.swallow->swallowed_object);
+
+   rp->typedata.swallow->swallow_params.min.w = 0;
+   rp->typedata.swallow->swallow_params.min.h = 0;
+   rp->typedata.swallow->swallow_params.max.w = -1;
+   rp->typedata.swallow->swallow_params.max.h = -1;
+   if ((type) && (!strcmp(type, "edje")))
+     {
+        Evas_Coord w, h;
+
+#if 0
+        edje_object_size_min_get(rp->typedata.swallow->swallowed_object, &w, &h);
+        rp->typedata.swallow->swallow_params.min.w = w;
+        rp->typedata.swallow->swallow_params.min.h = h;
+#endif
+        edje_object_size_max_get(rp->typedata.swallow->swallowed_object, &w, &h);
+        rp->typedata.swallow->swallow_params.max.w = w;
+        rp->typedata.swallow->swallow_params.max.h = h;
+     }
+   else if ((type) && ((!strcmp(type, "text")) || (!strcmp(type, "polygon")) ||
+                       (!strcmp(type, "line"))))
+     {
+        Evas_Coord w, h;
+
+        evas_object_geometry_get(rp->typedata.swallow->swallowed_object, NULL, NULL, &w, &h);
+#if 0
+        rp->typedata.swallow->swallow_params.min.w = w;
+        rp->typedata.swallow->swallow_params.min.h = h;
+#endif
+        rp->typedata.swallow->swallow_params.max.w = w;
+        rp->typedata.swallow->swallow_params.max.h = h;
+     }
+     {
+        Evas_Coord w1, h1, w2, h2, aw, ah;
+        Evas_Aspect_Control am;
+
+        evas_object_size_hint_min_get(rp->typedata.swallow->swallowed_object, &w1, &h1);
+        evas_object_size_hint_max_get(rp->typedata.swallow->swallowed_object, &w2, &h2);
+        evas_object_size_hint_aspect_get(rp->typedata.swallow->swallowed_object, &am, &aw, &ah);
+        rp->typedata.swallow->swallow_params.min.w = w1;
+        rp->typedata.swallow->swallow_params.min.h = h1;
+        if (w2 > 0) rp->typedata.swallow->swallow_params.max.w = w2;
+        if (h2 > 0) rp->typedata.swallow->swallow_params.max.h = h2;
+        switch (am)
+          {
+           case EVAS_ASPECT_CONTROL_NONE:
+              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NONE;
+              break;
+           case EVAS_ASPECT_CONTROL_NEITHER:
+              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_NEITHER;
+              break;
+           case EVAS_ASPECT_CONTROL_HORIZONTAL:
+              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_HORIZONTAL;
+              break;
+           case EVAS_ASPECT_CONTROL_VERTICAL:
+              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_VERTICAL;
+              break;
+           case EVAS_ASPECT_CONTROL_BOTH:
+              rp->typedata.swallow->swallow_params.aspect.mode = EDJE_ASPECT_CONTROL_BOTH;
+              break;
+           default:
+              break;
+          }
+        rp->typedata.swallow->swallow_params.aspect.w = aw;
+        rp->typedata.swallow->swallow_params.aspect.h = ah;
+        evas_object_data_set(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part", rp);
+     }
+
+#ifdef EDJE_CALC_CACHE
+     rp->invalidate = 1;
+#endif
+}
+
+void
+_edje_object_part_swallow_changed_hints_cb(void *data, EINA_UNUSED Evas *e, EINA_UNUSED Evas_Object *obj, EINA_UNUSED void *event_info)
+{
+   Edje_Real_Part *rp;
+
+   rp = data;
+   _edje_real_part_swallow_hints_update(rp);
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+   _edje_recalc(rp->edje);
+   return;
+}
+
+void
+_edje_object_part_swallow_image_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Edje_Real_Part *rp = data;
+   Evas_Coord w, h;
+   Evas_Map *map;
+
+   if (!rp->chosen_description->map.on) return;
+   if (evas_object_image_source_get(rp->typedata.swallow->swallowed_object))
+     return;
+
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   map = (Evas_Map *)evas_object_map_get(rp->typedata.swallow->swallowed_object);
+   if (!map) return;
+
+   evas_object_image_size_get(rp->typedata.swallow->swallowed_object, &w, &h);
+   evas_map_point_image_uv_set(map, 0, 0, 0);
+   evas_map_point_image_uv_set(map, 1, w, 0);
+   evas_map_point_image_uv_set(map, 2, w, h);
+   evas_map_point_image_uv_set(map, 3, 0, h);
+
+   evas_object_map_set(rp->typedata.swallow->swallowed_object, map);
+}
+
+void
+_edje_real_part_swallow(Edje_Real_Part *rp,
+                        Evas_Object *obj_swallow,
+                        Eina_Bool hints_update)
+{
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   if (rp->typedata.swallow->swallowed_object)
+     {
+        if (rp->typedata.swallow->swallowed_object != obj_swallow)
+          {
+             edje_object_part_unswallow(rp->edje->obj, rp->typedata.swallow->swallowed_object);
+          }
+        else
+          {
+             if (hints_update)
+               _edje_real_part_swallow_hints_update(rp);
+             rp->edje->dirty = EINA_TRUE;
+             rp->edje->recalc_call = EINA_TRUE;
+             rp->edje->recalc_hints = EINA_TRUE;
+             _edje_recalc(rp->edje);
+             return;
+          }
+     }
+#ifdef EDJE_CALC_CACHE
+   rp->invalidate = 1;
+#endif
+   if (!obj_swallow) return;
+   rp->typedata.swallow->swallowed_object = obj_swallow;
+   evas_object_smart_member_add(rp->typedata.swallow->swallowed_object, rp->edje->obj);
+   if (rp->clip_to)
+     evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->clip_to->object);
+   else evas_object_clip_set(rp->typedata.swallow->swallowed_object, rp->edje->base->clipper);
+   evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);
+   evas_object_event_callback_add(rp->typedata.swallow->swallowed_object,
+                                  EVAS_CALLBACK_DEL,
+                                  _edje_object_part_swallow_free_cb,
+                                  rp);
+   evas_object_event_callback_add(rp->typedata.swallow->swallowed_object,
+                                  EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+                                  _edje_object_part_swallow_changed_hints_cb,
+                                  rp);
+
+   //If the map is enabled, uv should be updated when image size is changed.
+   if (!strcmp(evas_object_type_get(rp->typedata.swallow->swallowed_object), "image"))
+     evas_object_event_callback_add(obj_swallow, EVAS_CALLBACK_IMAGE_RESIZE,
+                                    _edje_object_part_swallow_image_resize_cb,
+                                    rp);
+
+   if (hints_update)
+     _edje_real_part_swallow_hints_update(rp);
+
+   if (rp->part->mouse_events)
+     {
+        _edje_callbacks_add(obj_swallow, rp->edje, rp);
+        if (rp->part->repeat_events)
+          evas_object_repeat_events_set(obj_swallow, 1);
+        if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
+          evas_object_pointer_mode_set(obj_swallow, rp->part->pointer_mode);
+        evas_object_pass_events_set(obj_swallow, 0);
+     }
+   else
+     evas_object_pass_events_set(obj_swallow, 1);
+   _edje_callbacks_focus_add(rp->typedata.swallow->swallowed_object, rp->edje, rp);
+
+   if (rp->part->precise_is_inside)
+     evas_object_precise_is_inside_set(obj_swallow, 1);
+
+   rp->edje->dirty = EINA_TRUE;
+   rp->edje->recalc_call = EINA_TRUE;
+   rp->edje->recalc_hints = EINA_TRUE;
+   _edje_recalc(rp->edje);
+}
+
+void
+_edje_real_part_swallow_clear(Edje_Real_Part *rp)
+{
+   if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
+       (!rp->typedata.swallow)) return;
+   if (!rp->typedata.swallow->swallowed_object) return;
+   evas_object_smart_member_del(rp->typedata.swallow->swallowed_object);
+   evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
+                                       EVAS_CALLBACK_DEL,
+                                       _edje_object_part_swallow_free_cb,
+                                       rp);
+   evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
+                                       EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+                                       _edje_object_part_swallow_changed_hints_cb,
+                                       rp);
+   if (!strcmp(evas_object_type_get(rp->typedata.swallow->swallowed_object), "image"))
+     evas_object_event_callback_del_full(rp->typedata.swallow->swallowed_object,
+                                         EVAS_CALLBACK_IMAGE_RESIZE,
+                                         _edje_object_part_swallow_image_resize_cb,
+                                         rp);
+   evas_object_clip_unset(rp->typedata.swallow->swallowed_object);
+   evas_object_data_del(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part");
+   if (rp->part->mouse_events)
+     _edje_callbacks_del(rp->typedata.swallow->swallowed_object, rp->edje);
+   _edje_callbacks_focus_del(rp->typedata.swallow->swallowed_object, rp->edje);
+   rp->typedata.swallow->swallowed_object = NULL;
+}
+
+static void
+_edje_object_preload(Edje *ed)
+{
+   ed->preload_count--;
+   if (!ed->preload_count)
+     _edje_emit(ed, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE);
+}
+
+static void
+_edje_object_image_preload_cb(void *data, EINA_UNUSED Evas *e, Evas_Object *obj, EINA_UNUSED void *event_info)
+{
+   Edje *ed = data;
+
+   evas_object_event_callback_del_full(obj, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
+   _edje_object_preload(ed);
+}
+
+static void
+_edje_object_signal_preload_cb(void *data, Evas_Object *obj, EINA_UNUSED const char *emission, EINA_UNUSED const char *source)
+{
+   Edje *ed = data;
+
+   edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb);
+   _edje_object_preload(ed);
+}
+
+/**
+ * @internal
+ * 
+ * for edje_cc
+ */
+EAPI void
+_edje_program_remove(Edje_Part_Collection *edc, Edje_Program *p)
+{
+   Edje_Program ***array;
+   unsigned int *count;
+   unsigned int i;
+
+   if (!p->signal && !p->source)
+     {
+        array = &edc->programs.nocmp;
+        count = &edc->programs.nocmp_count;
+     }
+   else if (p->signal && !strpbrk(p->signal, "*?[\\")
+            && p->source && !strpbrk(p->source, "*?[\\"))
+     {
+        array = &edc->programs.strcmp;
+        count = &edc->programs.strcmp_count;
+     }
+   else if (p->signal && edje_program_is_strncmp(p->signal)
+            && p->source && edje_program_is_strncmp(p->source))
+     {
+        array = &edc->programs.strncmp;
+        count = &edc->programs.strncmp_count;
+     }
+   else if (p->signal && edje_program_is_strrncmp(p->signal)
+            && p->source && edje_program_is_strrncmp(p->source))
+     {
+        array = &edc->programs.strrncmp;
+        count = &edc->programs.strrncmp_count;
+     }
+   else
+     {
+        array = &edc->programs.fnmatch;
+        count = &edc->programs.fnmatch_count;
+     }
+
+   for (i = 0; i < *count; ++i)
+     if ((*array)[i] == p)
+       {
+          memmove(*array + i, *array + i + 1, sizeof (Edje_Program *) * (*count - i -1));
+          (*count)--;
+          break;
+       }
+}
+
+/**
+ * @internal
+ * 
+ * for edje_cc
+ */
+EAPI void
+_edje_program_insert(Edje_Part_Collection *edc, Edje_Program *p)
+{
+   Edje_Program ***array;
+   unsigned int *count;
+
+   if (!p->signal && !p->source)
+     {
+        array = &edc->programs.nocmp;
+        count = &edc->programs.nocmp_count;
+     }
+   else if (p->signal && !strpbrk(p->signal, "*?[\\")
+            && p->source && !strpbrk(p->source, "*?[\\"))
+     {
+        array = &edc->programs.strcmp;
+        count = &edc->programs.strcmp_count;
+     }
+   else if (p->signal && edje_program_is_strncmp(p->signal)
+            && p->source && edje_program_is_strncmp(p->source))
+     {
+        array = &edc->programs.strncmp;
+        count = &edc->programs.strncmp_count;
+     }
+   else if (p->signal && edje_program_is_strrncmp(p->signal)
+            && p->source && edje_program_is_strrncmp(p->source))
+     {
+        array = &edc->programs.strrncmp;
+        count = &edc->programs.strrncmp_count;
+     }
+   else
+     {
+        array = &edc->programs.fnmatch;
+        count = &edc->programs.fnmatch_count;
+     }
+
+   *array = realloc(*array, sizeof (Edje_Program *) * (*count + 1));
+   (*array)[(*count)++] = p;
+}
+
+const char *
+edje_string_get(const Edje_String *es)
+{
+   /* FIXME: Handle localization here */
+   if (!es) return NULL;
+   return es->str;
+}
+
+const char *
+edje_string_id_get(const Edje_String *es)
+{
+   /* FIXME: Handle localization here */
+   if (!es) return NULL;
+   return es->str;
+}
+
+static void
+_cb_subobj_del(void *data, EINA_UNUSED Evas *e, Evas_Object *obj, EINA_UNUSED void *event_info)
+{
+   Edje *ed = data;
+   _edje_subobj_unregister(ed, obj);
+}
+
+void
+_edje_subobj_register(Edje *ed, Evas_Object *ob)
+{
+   ed->subobjs = eina_list_append(ed->subobjs, ob);
+   evas_object_event_callback_add(ob, EVAS_CALLBACK_DEL,
+                                  _cb_subobj_del, ed);
+}
+
+void
+_edje_subobj_unregister(Edje *ed, Evas_Object *obj)
+{
+   ed->subobjs = eina_list_remove(ed->subobjs, obj);
+   evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
+                                       _cb_subobj_del, ed);
+}
+
+/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
diff --git a/src/lib/edje/edje_var.c b/src/lib/edje/edje_var.c
new file mode 100644 (file)
index 0000000..d4448b6
--- /dev/null
@@ -0,0 +1,1093 @@
+#include "edje_private.h"
+
+static Eina_Bool _edje_var_timer_cb(void *data);
+static Eina_Bool _edje_var_anim_cb(void *data);
+
+static Ecore_Animator *_edje_animator = NULL;
+static Eina_List   *_edje_anim_list = NULL;
+
+static Eina_Bool
+_edje_var_timer_cb(void *data)
+{
+   Edje_Var_Timer *et;
+   Edje *ed;
+   Embryo_Function fn;
+
+   et = data;
+   if (!et) return ECORE_CALLBACK_CANCEL;
+   ed = et->edje;
+//      _edje_embryo_script_reset(ed);
+   embryo_program_vm_push(ed->collection->script);
+   _edje_embryo_globals_init(ed);
+   embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)et->val);
+   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
+   fn = et->func;
+   free(et);
+     {
+       void *pdata;
+        int ret;
+
+       pdata = embryo_program_data_get(ed->collection->script);
+       embryo_program_data_set(ed->collection->script, ed);
+        embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
+        ret = embryo_program_run(ed->collection->script, fn);
+        if (ret == EMBRYO_PROGRAM_FAIL)
+          {
+             ERR("ERROR with embryo script (timer callback). "
+                 "OBJECT NAME: '%s', "
+                 "OBJECT FILE: '%s', "
+                 "ERROR: '%s'",
+                 ed->collection->part,
+                 ed->file->path,
+                 embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
+          }
+        else if (ret == EMBRYO_PROGRAM_TOOLONG)
+          {
+             ERR("ERROR with embryo script (timer callback). "
+                 "OBJECT NAME: '%s', "
+                 "OBJECT FILE: '%s', "
+                 "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
+                 ed->collection->part,
+                 ed->file->path,
+                 embryo_program_max_cycle_run_get(ed->collection->script));
+          }
+       embryo_program_data_set(ed->collection->script, pdata);
+       embryo_program_vm_pop(ed->collection->script);
+       _edje_recalc(ed);
+     }
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool
+_edje_var_anim_cb(void *data EINA_UNUSED)
+{
+   Eina_List *l, *tl = NULL;
+   double t;
+   const void *tmp;
+
+   t = ecore_loop_time_get();
+   EINA_LIST_FOREACH(_edje_anim_list, l, tmp)
+     tl = eina_list_append(tl, tmp);
+   while (tl)
+     {
+       Edje *ed;
+       Eina_List *tl2;
+       Edje_Var_Animator *ea;
+
+       ed = eina_list_data_get(tl);
+       _edje_ref(ed);
+       _edje_block(ed);
+       _edje_freeze(ed);
+       tl = eina_list_remove(tl, ed);
+       if (!ed->var_pool) continue;
+       tl2 = NULL;
+       EINA_LIST_FOREACH(ed->var_pool->animators, l, tmp)
+         tl2 = eina_list_append(tl2, tmp);
+       ed->var_pool->walking_list++;
+       while (tl2)
+         {
+            ea = eina_list_data_get(tl2);
+            if ((ed->var_pool) && (!ea->delete_me))
+              {
+                 if ((!ed->paused) && (!ed->delete_me))
+                   {
+                      Embryo_Function fn;
+                      float v;
+                       int ret;
+
+                      v = (t - ea->start)  / ea->len;
+                      if (v > 1.0) v= 1.0;
+//                    _edje_embryo_script_reset(ed);
+                      embryo_program_vm_push(ed->collection->script);
+                      _edje_embryo_globals_init(ed);
+                      embryo_parameter_cell_push(ed->collection->script, (Embryo_Cell)ea->val);
+                      embryo_parameter_cell_push(ed->collection->script, EMBRYO_FLOAT_TO_CELL(v));
+                      fn = ea->func;
+                        {
+                           void *pdata;
+
+                           pdata = embryo_program_data_get(ed->collection->script);
+                           embryo_program_data_set(ed->collection->script, ed);
+                           embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
+                            ret = embryo_program_run(ed->collection->script, fn);
+                            if (ret == EMBRYO_PROGRAM_FAIL)
+                              {
+                                 ERR("ERROR with embryo script (anim callback). "
+                                     "OBJECT NAME: '%s', "
+                                     "OBJECT FILE: '%s', "
+                                     "ERROR: '%s'",
+                                     ed->collection->part,
+                                     ed->file->path,
+                                     embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
+                              }
+                            else if (ret == EMBRYO_PROGRAM_TOOLONG)
+                              {
+                                 ERR("ERROR with embryo script (anim callback). "
+                                     "OBJECT NAME: '%s', "
+                                     "OBJECT FILE: '%s', "
+                                     "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
+                                     ed->collection->part,
+                                     ed->file->path,
+                                     embryo_program_max_cycle_run_get(ed->collection->script));
+                              }
+                           embryo_program_data_set(ed->collection->script, pdata);
+                           embryo_program_vm_pop(ed->collection->script);
+                           _edje_recalc(ed);
+                        }
+                      if (v == 1.0) ea->delete_me = 1;
+                   }
+              }
+            tl2 = eina_list_remove(tl2, ea);
+            if (ed->block_break)
+              {
+                 eina_list_free(tl2);
+                 break;
+              }
+         }
+       ed->var_pool->walking_list--;
+       EINA_LIST_FOREACH(ed->var_pool->animators, l, ea)
+         {
+            if (ea->delete_me)
+              {
+                l = eina_list_next(l);
+                 ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
+                 free(ea);
+              }
+            else
+              l = eina_list_next(l);
+         }
+       if (!ed->var_pool->animators)
+         _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
+       _edje_unblock(ed);
+       _edje_thaw(ed);
+       _edje_unref(ed);
+     }
+   if (!_edje_anim_list)
+     {
+       if (_edje_animator)
+         {
+            ecore_animator_del(_edje_animator);
+            _edje_animator = NULL;
+         }
+     }
+   return !!_edje_animator;
+}
+
+Edje_Var *
+_edje_var_new(void)
+{
+   return calloc(1, sizeof(Edje_Var));
+}
+
+void
+_edje_var_free(Edje_Var *var)
+{
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            free(var->data.s.v);
+         }
+     }
+   free(var);
+}
+
+void
+_edje_var_init(Edje *ed)
+{
+   if (!ed) return;
+   if (!ed->collection) return;
+   if (!ed->collection->script) return;
+   if (ed->var_pool) return;
+   ed->var_pool = calloc(1, sizeof(Edje_Var_Pool));
+   if (!ed->var_pool) return;
+   embryo_program_vm_push(ed->collection->script);
+   ed->var_pool->size = embryo_program_variable_count_get(ed->collection->script);
+   embryo_program_vm_pop(ed->collection->script);
+   if (ed->var_pool->size > 0)
+     ed->var_pool->vars = calloc(1, sizeof(Edje_Var) * ed->var_pool->size);
+}
+
+void
+_edje_var_shutdown(Edje *ed)
+{
+   if (!ed->var_pool) return;
+   if (ed->var_pool->vars)
+     {
+       int i;
+
+       for (i = 0; i < ed->var_pool->size; i++)
+         {
+            if (ed->var_pool->vars[i].type == EDJE_VAR_STRING)
+              {
+                 if (ed->var_pool->vars[i].data.s.v)
+                   {
+                      free(ed->var_pool->vars[i].data.s.v);
+                      ed->var_pool->vars[i].data.s.v = NULL;
+                   }
+              }
+            else if (ed->var_pool->vars[i].type == EDJE_VAR_LIST)
+              {
+                 while (ed->var_pool->vars[i].data.l.v)
+                   {
+                      _edje_var_free(eina_list_data_get(ed->var_pool->vars[i].data.l.v));
+                      ed->var_pool->vars[i].data.l.v = eina_list_remove_list(ed->var_pool->vars[i].data.l.v, ed->var_pool->vars[i].data.l.v);
+                   }
+              }
+         }
+       free(ed->var_pool->vars);
+     }
+   while (ed->var_pool->timers)
+     {
+       Edje_Var_Timer *et;
+
+       et = eina_list_data_get(ed->var_pool->timers);
+       ecore_timer_del(et->timer);
+       free(et);
+       ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
+     }
+   if (ed->var_pool->animators)
+     {
+       _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
+       if (!_edje_anim_list)
+         {
+            if (_edje_animator)
+              {
+                 ecore_animator_del(_edje_animator);
+                 _edje_animator = NULL;
+              }
+         }
+     }
+   while (ed->var_pool->animators)
+     {
+       Edje_Var_Animator *ea;
+
+       ea = eina_list_data_get(ed->var_pool->animators);
+       free(ea);
+       ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
+     }
+   free(ed->var_pool);
+   ed->var_pool = NULL;
+}
+
+int
+_edje_var_string_id_get(Edje *ed, const char *string)
+{
+   Embryo_Cell cell, *cptr;
+
+   if (!ed) return 0;
+   if (!ed->collection) return 0;
+   if (!ed->collection->script) return 0;
+   if (!string) return 0;
+   cell = embryo_program_variable_find(ed->collection->script, (char *)string);
+   if (cell == EMBRYO_CELL_NONE) return  0;
+   cptr = embryo_data_address_get(ed->collection->script, cell);
+   if (!cptr) return 0;
+   return (int)(*cptr);
+}
+
+int
+_edje_var_var_int_get(Edje *ed EINA_UNUSED, Edje_Var *var)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            double f;
+
+            f = atof(var->data.s.v);
+            free(var->data.s.v);
+            var->data.s.v = NULL;
+            var->data.i.v = (int)f;
+         }
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_FLOAT)
+     {
+       var->data.i.v = (int)(var->data.f.v);
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return 0;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return 0;
+     }
+   return var->data.i.v;
+}
+
+void
+_edje_var_var_int_set(Edje *ed EINA_UNUSED, Edje_Var *var, int v)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            free(var->data.s.v);
+            var->data.s.v = NULL;
+         }
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_FLOAT)
+     {
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->type = EDJE_VAR_INT;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return;
+     }
+   var->data.i.v = v;
+}
+
+double
+_edje_var_var_float_get(Edje *ed EINA_UNUSED, Edje_Var *var)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            double f;
+
+            f = atof(var->data.s.v);
+            free(var->data.s.v);
+            var->data.s.v = NULL;
+            var->data.f.v = f;
+         }
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_INT)
+     {
+       var->data.f.v = (double)(var->data.i.v);
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return 0.0;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return 0.0;
+     }
+   return var->data.f.v;
+}
+
+void
+_edje_var_var_float_set(Edje *ed EINA_UNUSED, Edje_Var *var, double v)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            free(var->data.s.v);
+            var->data.s.v = NULL;
+         }
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_INT)
+     {
+       var->data.f.v = 0;
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->type = EDJE_VAR_FLOAT;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return;
+     }
+   var->data.f.v = v;
+}
+
+const char *
+_edje_var_var_str_get(Edje *ed EINA_UNUSED, Edje_Var *var)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_INT)
+     {
+       char buf[64];
+
+       snprintf(buf, sizeof(buf), "%i", var->data.i.v);
+       var->data.s.v = strdup(buf);
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_FLOAT)
+     {
+       char buf[64];
+
+       snprintf(buf, sizeof(buf), "%f", var->data.f.v);
+       var->data.s.v = strdup(buf);
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->data.s.v = strdup("");
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return NULL;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return NULL;
+     }
+   return var->data.s.v;
+}
+
+void
+_edje_var_var_str_set(Edje *ed EINA_UNUSED, Edje_Var *var, const char *str)
+{
+   /* auto-cast */
+   if (var->type == EDJE_VAR_STRING)
+     {
+       if (var->data.s.v)
+         {
+            free(var->data.s.v);
+            var->data.s.v = NULL;
+         }
+     }
+   else if (var->type == EDJE_VAR_INT)
+     {
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_FLOAT)
+     {
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_NONE)
+     {
+       var->type = EDJE_VAR_STRING;
+     }
+   else if (var->type == EDJE_VAR_LIST)
+     {
+       return;
+     }
+   else if (var->type == EDJE_VAR_HASH)
+     {
+       return;
+     }
+   var->data.s.v = strdup(str);
+}
+
+int
+_edje_var_int_get(Edje *ed, int id)
+{
+   if (!ed) return 0;
+   if (!ed->var_pool) return 0;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
+   return _edje_var_var_int_get(ed, &(ed->var_pool->vars[id]));
+}
+
+void
+_edje_var_int_set(Edje *ed, int id, int v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   _edje_var_var_int_set(ed, &(ed->var_pool->vars[id]), v);
+}
+
+double
+_edje_var_float_get(Edje *ed, int id)
+{
+   if (!ed) return 0;
+   if (!ed->var_pool) return 0;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
+   return _edje_var_var_float_get(ed, &(ed->var_pool->vars[id]));
+}
+
+void
+_edje_var_float_set(Edje *ed, int id, double v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   _edje_var_var_float_set(ed, &(ed->var_pool->vars[id]), v);
+}
+
+const char *
+_edje_var_str_get(Edje *ed, int id)
+{
+   if (!ed) return NULL;
+   if (!ed->var_pool) return NULL;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
+   return _edje_var_var_str_get(ed, &(ed->var_pool->vars[id]));
+}
+
+void
+_edje_var_str_set(Edje *ed, int id, const char *str)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   if (!str) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   _edje_var_var_str_set(ed, &(ed->var_pool->vars[id]), str);
+}
+
+/* list stuff */
+
+void
+_edje_var_list_var_append(Edje *ed, int id, Edje_Var *var)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+   ed->var_pool->vars[id].data.l.v = eina_list_append(ed->var_pool->vars[id].data.l.v, var);
+}
+
+void
+_edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+   ed->var_pool->vars[id].data.l.v = eina_list_prepend(ed->var_pool->vars[id].data.l.v, var);
+}
+
+void
+_edje_var_list_var_append_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+   ed->var_pool->vars[id].data.l.v = eina_list_append_relative(ed->var_pool->vars[id].data.l.v, var, relative);
+}
+
+void
+_edje_var_list_var_prepend_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+   ed->var_pool->vars[id].data.l.v = eina_list_prepend_relative(ed->var_pool->vars[id].data.l.v, var, relative);
+}
+
+Edje_Var *
+_edje_var_list_nth(Edje *ed, int id, int n)
+{
+   if (!ed) return NULL;
+   if (!ed->var_pool) return NULL;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
+   if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return NULL;
+   return eina_list_nth(ed->var_pool->vars[id].data.l.v, n);
+}
+
+int
+_edje_var_list_count_get(Edje *ed, int id)
+{
+   if (!ed) return 0;
+   if (!ed->var_pool) return 0;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
+   return eina_list_count(ed->var_pool->vars[id].data.l.v);
+}
+
+void
+_edje_var_list_remove_nth(Edje *ed, int id, int n)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Eina_List *nth;
+
+       nth = eina_list_nth_list(ed->var_pool->vars[id].data.l.v, n);
+       if (nth)
+         {
+            _edje_var_free(eina_list_data_get(nth));
+            ed->var_pool->vars[id].data.l.v = eina_list_remove_list(ed->var_pool->vars[id].data.l.v, nth);
+         }
+     }
+}
+
+int
+_edje_var_list_nth_int_get(Edje *ed, int id, int n)
+{
+   if (!ed) return 0;
+   if (!ed->var_pool) return 0;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return 0;
+       return _edje_var_var_int_get(ed, var);
+     }
+}
+
+void
+_edje_var_list_nth_int_set(Edje *ed, int id, int n, int v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return;
+       _edje_var_var_int_set(ed, var, v);
+     }
+}
+
+void
+_edje_var_list_int_append(Edje *ed, int id, int v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_int_set(ed, var, v);
+       _edje_var_list_var_append(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_int_prepend(Edje *ed, int id, int v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_int_set(ed, var, v);
+       _edje_var_list_var_prepend(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_int_insert(Edje *ed, int id, int n, int v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var, *var_rel;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_int_set(ed, var, v);
+       var_rel = _edje_var_list_nth(ed, id, n);
+       if (!var_rel)
+         _edje_var_list_var_append(ed, id, var);
+       else
+         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
+     }
+}
+
+double
+_edje_var_list_nth_float_get(Edje *ed, int id, int n)
+{
+   if (!ed) return 0;
+   if (!ed->var_pool) return 0;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return 0;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return 0;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return 0;
+       return _edje_var_var_float_get(ed, var);
+     }
+}
+
+void
+_edje_var_list_nth_float_set(Edje *ed, int id, int n, double v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return;
+       _edje_var_var_float_set(ed, var, v);
+     }
+}
+
+void
+_edje_var_list_float_append(Edje *ed, int id, double v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_float_set(ed, var, v);
+       _edje_var_list_var_append(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_float_prepend(Edje *ed, int id, double v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_float_set(ed, var, v);
+       _edje_var_list_var_prepend(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_float_insert(Edje *ed, int id, int n, double v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var, *var_rel;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_float_set(ed, var, v);
+       var_rel = _edje_var_list_nth(ed, id, n);
+       if (!var_rel)
+         _edje_var_list_var_append(ed, id, var);
+       else
+         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
+     }
+}
+
+const char *
+_edje_var_list_nth_str_get(Edje *ed, int id, int n)
+{
+   if (!ed) return NULL;
+   if (!ed->var_pool) return NULL;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return NULL;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return NULL;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return NULL;
+       return _edje_var_var_str_get(ed, var);
+     }
+}
+
+void
+_edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       id += EDJE_VAR_MAGIC_BASE;
+       var = _edje_var_list_nth(ed, id, n);
+       if (!var) return;
+       _edje_var_var_str_set(ed, var, v);
+     }
+}
+
+void
+_edje_var_list_str_append(Edje *ed, int id, const char *v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_str_set(ed, var, v);
+       _edje_var_list_var_append(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_str_prepend(Edje *ed, int id, const char *v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_str_set(ed, var, v);
+       _edje_var_list_var_prepend(ed, id, var);
+     }
+}
+
+void
+_edje_var_list_str_insert(Edje *ed, int id, int n, const char *v)
+{
+   if (!ed) return;
+   if (!ed->var_pool) return;
+   id -= EDJE_VAR_MAGIC_BASE;
+   if ((id < 0) || (id >= ed->var_pool->size)) return;
+   if (ed->var_pool->vars[id].type == EDJE_VAR_NONE)
+     ed->var_pool->vars[id].type = EDJE_VAR_LIST;
+   else if (ed->var_pool->vars[id].type != EDJE_VAR_LIST) return;
+     {
+       Edje_Var *var, *var_rel;
+
+       var = _edje_var_new();
+       if (!var) return;
+       id += EDJE_VAR_MAGIC_BASE;
+       _edje_var_var_str_set(ed, var, v);
+       var_rel = _edje_var_list_nth(ed, id, n);
+       if (!var_rel)
+         _edje_var_list_var_append(ed, id, var);
+       else
+         _edje_var_list_var_prepend_relative(ed, id, var, var_rel);
+     }
+}
+
+int
+_edje_var_timer_add(Edje *ed, double in, const char *fname, int val)
+{
+   Edje_Var_Timer *et;
+   Embryo_Function fn;
+
+   if (!ed->var_pool) return 0;
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
+   if (fn == EMBRYO_FUNCTION_NONE) return 0;
+   et = calloc(1, sizeof(Edje_Var_Timer));
+   if (!et) return 0;
+   et->id = ++ed->var_pool->id_count;
+   et->edje = ed;
+   et->func = fn;
+   et->val = val;
+   et->timer = ecore_timer_add(in, _edje_var_timer_cb, et);
+   if (!et->timer)
+     {
+       free(et);
+       return 0;
+     }
+   ed->var_pool->timers = eina_list_prepend(ed->var_pool->timers, et);
+   return et->id;
+}
+
+static Edje_Var_Timer *
+_edje_var_timer_find(Edje *ed, int id)
+{
+   Eina_List *l;
+   Edje_Var_Timer *et;
+
+   if (!ed->var_pool) return NULL;
+
+   EINA_LIST_FOREACH(ed->var_pool->timers, l, et)
+     if (et->id == id) return et;
+
+   return NULL;
+}
+
+void
+_edje_var_timer_del(Edje *ed, int id)
+{
+   Edje_Var_Timer *et;
+
+   et = _edje_var_timer_find(ed, id);
+   if (!et) return;
+
+   ed->var_pool->timers = eina_list_remove(ed->var_pool->timers, et);
+   ecore_timer_del(et->timer);
+   free(et);
+}
+
+int
+_edje_var_anim_add(Edje *ed, double len, const char *fname, int val)
+{
+   Edje_Var_Animator *ea;
+   Embryo_Function fn;
+
+   if (!ed->var_pool) return 0;
+   if (len <= 0.0) return 0;
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
+   if (fn == EMBRYO_FUNCTION_NONE) return 0;
+   ea = calloc(1, sizeof(Edje_Var_Animator));
+   if (!ea) return 0;
+   ea->start = ecore_loop_time_get();
+   ea->len = len;
+   ea->id = ++ed->var_pool->id_count;
+   ea->edje = ed;
+   ea->func = fn;
+   ea->val = val;
+   if (!ed->var_pool->animators)
+     _edje_anim_list = eina_list_append(_edje_anim_list, ed);
+   ed->var_pool->animators = eina_list_prepend(ed->var_pool->animators, ea);
+   if (!_edje_animator)
+     _edje_animator = ecore_animator_add(_edje_var_anim_cb, NULL);
+   return ea->id;
+}
+
+static Edje_Var_Animator *
+_edje_var_anim_find(Edje *ed, int id)
+{
+   Eina_List *l;
+   Edje_Var_Animator *ea;
+
+   if (!ed->var_pool) return NULL;
+
+   EINA_LIST_FOREACH(ed->var_pool->animators, l, ea)
+     if (ea->id == id) return ea;
+
+   return NULL;
+}
+
+void
+_edje_var_anim_del(Edje *ed, int id)
+{
+   Edje_Var_Animator *ea;
+
+   ea = _edje_var_anim_find(ed, id);
+   if (!ea) return;
+
+   if (ed->var_pool->walking_list)
+     {
+       ea->delete_me = 1;
+       return;
+     }
+
+   ed->var_pool->animators = eina_list_remove(ed->var_pool->animators, ea);
+   free(ea);
+
+   if (ed->var_pool->animators) return;
+
+   _edje_anim_list = eina_list_remove(_edje_anim_list, ed);
+   if (!_edje_anim_list)
+     {
+       if (_edje_animator)
+         {
+            ecore_animator_del(_edje_animator);
+            _edje_animator = NULL;
+         }
+     }
+}
diff --git a/src/modules/edje/alsa_snd_player/alsa_snd_player.c b/src/modules/edje/alsa_snd_player/alsa_snd_player.c
new file mode 100644 (file)
index 0000000..f397255
--- /dev/null
@@ -0,0 +1,405 @@
+/*
+ * Remix ALSA Player: ALSA audio output
+ *
+ * Govindaraju SM <govi.sm@samsung.com>, October 2011
+ * Prince Kumar Dubey <prince.dubey@samsung.com>, October 2011
+ */
+
+#include "config.h"
+#include <stdio.h>
+#include <remix/remix.h>
+#include <alsa/asoundlib.h>
+#include <Eina.h>
+#ifdef HAVE_LIBSNDFILE
+#include <sndfile.h>
+#endif
+
+#define ALSA_PLAYER_BUFFERLEN 2048
+
+typedef struct _Alsa_Player_Data Alsa_Player_Data;
+typedef short PLAYER_PCM;
+
+struct _Alsa_Player_Data
+{
+   RemixPCM databuffer[ALSA_PLAYER_BUFFERLEN];
+   snd_pcm_t *alsa_dev;
+   unsigned int stereo;
+   unsigned channels;
+   unsigned int frequency;
+};
+
+static int _log_dom = -1;
+static int init_count = 0;
+
+#ifdef WRN
+# undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
+
+//#define MIXDBG 1
+
+/* Optimisation dependencies: none */
+static RemixBase *alsa_player_optimise(RemixEnv *env, RemixBase *base);
+
+static snd_pcm_t *
+alsa_open(int channels, unsigned int samplerate, unsigned int *real_samplerate)
+{
+   const char *device = "default";
+   snd_pcm_t *alsa_dev = NULL;
+   snd_pcm_hw_params_t *hw_params;
+   snd_pcm_uframes_t alsa_buffer_frames;
+   snd_pcm_uframes_t alsa_period_size;
+   unsigned int samplerate_ret = 0;
+   int err;
+   
+   alsa_buffer_frames = ALSA_PLAYER_BUFFERLEN;
+   alsa_period_size = ALSA_PLAYER_BUFFERLEN / 4;
+   
+   if ((err = snd_pcm_open(&alsa_dev, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0)
+     {
+        WRN("cannot open alsa playback stream (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   snd_pcm_hw_params_alloca(&hw_params);
+   if ((err = snd_pcm_hw_params_any(alsa_dev, hw_params)) < 0)
+     {
+        WRN("cannot initialize snd hw params (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params_set_access(alsa_dev, hw_params, 
+                                           SND_PCM_ACCESS_RW_INTERLEAVED)) < 0)
+     {
+         WRN("cannot set interleaved access (%s)", snd_strerror(err));
+         goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params_set_format(alsa_dev, hw_params, 
+                                           SND_PCM_FORMAT_FLOAT)) < 0)
+     {
+        WRN("cannot set float sample format (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+#ifdef MIXDBG // testing/debugging by making output samplerate be 48khz
+   samplerate_ret = 48000;
+   if ((err = snd_pcm_hw_params_set_rate_near(alsa_dev, hw_params, 
+                                              &samplerate_ret, 0)) < 0)
+     {
+        WRN("cannot set sample rate (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+#else
+   if ((err = snd_pcm_hw_params_set_rate_near(alsa_dev, hw_params, 
+                                              &samplerate, 0)) < 0)
+     {
+        WRN("cannot set sample rate (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+#endif
+   if ((err = snd_pcm_hw_params_set_channels(alsa_dev, hw_params, channels)) < 0)
+     {
+        WRN("cannot set channel count (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params_set_buffer_size_near(alsa_dev, hw_params, 
+                                                     &alsa_buffer_frames)) < 0)
+     {
+        WRN("cannot set buffer size (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params_set_period_size_near(alsa_dev, hw_params, 
+                                                     &alsa_period_size, 0)) < 0)
+     {
+        WRN("cannot set period size (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params(alsa_dev, hw_params)) < 0)
+     {
+        WRN("cannot set parameters (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_hw_params_get_rate(hw_params, &samplerate_ret, 0)) < 0)
+     {
+        WRN("cannot get samplerate (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if ((err = snd_pcm_prepare(alsa_dev)) < 0)
+     {
+        WRN("cannot prepare audio for use (%s)", snd_strerror(err));
+        goto catch_error;
+     }
+   if (real_samplerate) *real_samplerate = samplerate_ret;
+
+catch_error:
+   if ((err < 0) && (alsa_dev != NULL))
+     {
+        snd_pcm_close(alsa_dev);
+        return NULL;
+     }
+   return alsa_dev;
+}
+
+static RemixBase *
+alsa_player_reset_device(RemixEnv *env, RemixBase *base)
+{
+   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
+   unsigned int real_samplerate = 0;
+
+   if (player_data->alsa_dev)
+     {
+        snd_pcm_drain(player_data->alsa_dev);
+        snd_pcm_close(player_data->alsa_dev);
+     }
+   player_data->alsa_dev = alsa_open(player_data->channels,
+                                     player_data->frequency,
+                                     &real_samplerate);
+   if (!player_data->alsa_dev)
+     {
+        remix_set_error(env, REMIX_ERROR_SYSTEM);
+        return RemixNone;
+     }
+//   printf("%i != %i\n", real_samplerate, player_data->frequency);
+   if (real_samplerate != player_data->frequency)
+     {
+        player_data->frequency = real_samplerate;
+        remix_set_samplerate(env, player_data->frequency);
+     }
+   return base;
+}
+
+static RemixBase *
+alsa_player_init(RemixEnv *env, RemixBase *base, CDSet *parameters __UNUSED__)
+{
+   CDSet *channels;
+   Alsa_Player_Data *player_data = calloc(1, sizeof(Alsa_Player_Data));
+
+   if (!player_data)
+     {
+        remix_set_error(env, REMIX_ERROR_SYSTEM);
+        return RemixNone;
+     }
+
+   init_count++;
+   if (init_count == 1)
+     {
+        eina_init();
+        _log_dom = eina_log_domain_register("remix-alsa", EINA_COLOR_CYAN);
+     }
+   
+   remix_base_set_instance_data(env, base, player_data);
+   channels = remix_get_channels(env);
+
+   player_data->channels = cd_set_size(env, channels);
+   if (player_data->channels == 1) player_data->stereo = 0;
+   else if (player_data->channels == 2) player_data->stereo = 1;
+   
+   player_data->frequency = remix_get_samplerate(env);
+   alsa_player_reset_device(env, base);
+   base = alsa_player_optimise(env, base);
+   return base;
+}
+
+static RemixBase *
+alsa_player_clone(RemixEnv *env, RemixBase *base __UNUSED__)
+{
+   RemixBase *new_player = remix_base_new(env);
+   alsa_player_init(env, new_player, NULL);
+   return new_player;
+}
+
+static int
+alsa_player_destroy(RemixEnv *env, RemixBase *base)
+{
+   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
+   
+   if (player_data->alsa_dev)
+     {
+        snd_pcm_drain(player_data->alsa_dev);
+        snd_pcm_close(player_data->alsa_dev);
+     }
+   free(player_data);
+   init_count--;
+   if (init_count == 0)
+     {
+        eina_log_domain_unregister(_log_dom);
+        _log_dom = -1;
+        eina_shutdown();
+     }
+   return 0;
+}
+
+static int
+alsa_player_ready(RemixEnv *env, RemixBase *base)
+{
+   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
+   RemixCount nr_channels;
+   CDSet *channels;
+   int samplerate;
+
+   channels = remix_get_channels(env);
+   samplerate = (int)remix_get_samplerate(env);
+   nr_channels = cd_set_size(env, channels);
+   return ((samplerate == (int)player_data->frequency) &&
+           (((nr_channels == 1) && (player_data->stereo == 0)) ||
+               ((nr_channels > 1) && (player_data->stereo == 1))));
+}
+
+static RemixBase *
+alsa_player_prepare(RemixEnv *env, RemixBase *base)
+{
+   alsa_player_reset_device(env, base);
+   return base;
+}
+
+static RemixCount
+alsa_player_playbuffer(RemixEnv *env __UNUSED__, Alsa_Player_Data *player, RemixPCM *data, RemixCount count)
+{
+#ifdef MIXDBG
+     {
+        static int total = 0;
+        static SNDFILE *sfile = NULL;
+        static SF_INFO sfinfo;
+        
+        if (total == 0)
+          {
+             sfinfo.frames = 0;
+             sfinfo.samplerate = player->frequency;
+             sfinfo.channels = 2;
+             sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16 | SF_ENDIAN_LITTLE;
+             sfinfo.sections = 0;
+             sfinfo.seekable = 0;
+             sfile = sf_open("out.wav", SFM_WRITE, &sfinfo);
+          }
+
+        if (sfile)
+          {
+             sf_writef_float(sfile, data, count);
+             total += count;
+          }
+     }
+#endif
+   return snd_pcm_writei(player->alsa_dev, data, count);
+}
+
+static RemixCount
+alsa_player_chunk(RemixEnv *env, RemixChunk *chunk, RemixCount offset, RemixCount count, int channelname __UNUSED__, void *data)
+{
+   Alsa_Player_Data *player = data;
+   RemixCount remaining = count, written = 0, n, playcount;
+   RemixPCM *d;
+   
+   while (remaining > 0)
+     {
+        playcount = MIN(remaining, ALSA_PLAYER_BUFFERLEN);
+
+        d = &chunk->data[offset];
+        n = alsa_player_playbuffer(env, player, d, playcount);
+
+        if (n == -1) return -1;
+        else n /= sizeof(PLAYER_PCM);
+        
+        offset += n;
+        written += n;
+        remaining -= n;
+     }
+   return written;
+}
+
+static RemixCount
+alsa_player_process(RemixEnv *env, RemixBase *base, RemixCount count, RemixStream *input, RemixStream *output __UNUSED__)
+{
+   Alsa_Player_Data *player_data = remix_base_get_instance_data(env, base);
+   RemixCount nr_channels = remix_stream_nr_channels(env, input);
+   RemixCount remaining = count, processed = 0, n, nn;
+   
+   if ((nr_channels == 1) && (player_data->stereo == 0))
+     { /*MONO*/
+        return remix_stream_chunkfuncify(env, input, count,
+                                         alsa_player_chunk, player_data);
+     }
+   else if ((nr_channels == 2) && (player_data->stereo == 1))
+     { /*STEREO*/
+        while (remaining > 0)
+          {
+             n = MIN(remaining, ALSA_PLAYER_BUFFERLEN / 2);
+             n = remix_stream_interleave_2(env, input, 
+                                           REMIX_CHANNEL_LEFT,
+                                           REMIX_CHANNEL_RIGHT,
+                                           player_data->databuffer, n);
+             nn = alsa_player_playbuffer(env, player_data,
+                                         player_data->databuffer, n);
+             processed += n;
+             remaining -= n;
+          }
+        return processed;
+     }
+   WRN("[alsa_player_process] unsupported stream/output channel "
+       "combination %ld / %d", nr_channels, player_data->stereo ? 2 : 1);
+   return -1;
+}
+
+static RemixCount
+alsa_player_length(RemixEnv *env __UNUSED__, RemixBase *base __UNUSED__)
+{
+   return REMIX_COUNT_INFINITE;
+}
+
+static RemixCount
+alsa_player_seek(RemixEnv *env __UNUSED__, RemixBase *base __UNUSED__, RemixCount count __UNUSED__)
+{
+   return count;
+}
+
+static int
+alsa_player_flush(RemixEnv *env, RemixBase *base)
+{
+   alsa_player_reset_device(env, base);
+   return 0;
+}
+
+static struct _RemixMethods _alsa_player_methods =
+{
+   alsa_player_clone,
+   alsa_player_destroy,
+   alsa_player_ready,
+   alsa_player_prepare,
+   alsa_player_process,
+   alsa_player_length,
+   alsa_player_seek,
+   alsa_player_flush,
+};
+
+static RemixBase *
+alsa_player_optimise(RemixEnv *env, RemixBase *base)
+{
+   remix_base_set_methods(env, base, &_alsa_player_methods);
+   return base;
+}
+
+static struct _RemixMetaText alsa_player_metatext =
+{
+   "alsa_snd_player",
+   "ALSA sound player for Remix",
+   "Output the audio stream into ALSA Driver",
+   "Copyright (C) 2011, Samsung Electronics Co., Ltd.",
+   "http://www.samsung.com",
+   REMIX_ONE_AUTHOR("Govindaraju SM", "prince.dubey@samsung.com"),
+};
+
+static struct _RemixPlugin alsa_player_plugin =
+{
+   &alsa_player_metatext,
+   REMIX_FLAGS_NONE,
+   CD_EMPTY_SET, /* init scheme */
+   alsa_player_init,
+   CD_EMPTY_SET, /* process scheme */
+   NULL, /* suggests */
+   NULL, /* plugin data */
+   NULL  /* destroy */
+};
+
+EAPI CDList *
+remix_load(RemixEnv *env)
+{
+   CDList *plugins = cd_list_new(env);
+   plugins = cd_list_prepend(env, plugins, CD_POINTER(&alsa_player_plugin));
+   return plugins;
+}
diff --git a/src/modules/edje/eet_snd_reader/eet_snd_reader.c b/src/modules/edje/eet_snd_reader/eet_snd_reader.c
new file mode 100644 (file)
index 0000000..4e2dec9
--- /dev/null
@@ -0,0 +1,498 @@
+/*
+ * RemixSnd_eetfile: a libsnd EET Virtual file handler
+ *
+ * Govindaraju SM <govi.sm@samsung.com>, August 2011
+ * Prince Kumar Dubey <prince.dubey@samsung.com>, August 2011
+ */
+
+#include "config.h"
+#include <math.h>
+#include <sndfile.h>
+#include <remix/remix.h>
+#include <Eet.h>
+
+#define PATH_KEY     1
+#define SOUND_ID_KEY 2
+#define SPEED_KEY    3
+#define BLOCK_FRAMES 8192
+
+static RemixBase *remix_eet_sndfile_optimise(RemixEnv *env, RemixBase *sndfile);
+
+typedef struct _VIO_DATA VIO_DATA;
+typedef struct _SndInstanceData SndInstanceData;
+
+struct _VIO_DATA
+{
+   sf_count_t  offset, length;
+   const char *data;
+};
+
+struct _SndInstanceData
+{
+   /* plugin parameters */
+   char       *path;
+   char       *sound_id;
+   double      speed;
+
+   /* Edj & Sndfile Reader */
+   Eet_File   *efp;
+   SNDFILE    *pcm_fp;
+   SF_INFO    *snd_info;
+   VIO_DATA   *vio_data;
+
+   /* PCM buffers */
+   RemixPCM   *readbuf;
+   RemixPCM   *inbuf;
+   RemixPCM   *outbuf;
+
+   /* Resample stuffs */
+   RemixPCM    prevreadbuf[2];
+   int         enable_resample;
+   double      rs_ratio;
+   RemixCount  resample_len;
+   RemixCount  in_avail;
+   RemixCount  out_generated;
+   RemixCount  required_resamples;
+};
+
+static sf_count_t
+eet_snd_file_get_length(void *user_data)
+{
+   VIO_DATA *vf = user_data;
+   return vf->length;
+}
+
+static sf_count_t
+eet_snd_file_seek(sf_count_t offset, int whence, void *user_data)
+{
+   VIO_DATA *vf = user_data;
+   
+   switch (whence)
+     {
+      case SEEK_SET:
+        vf->offset = offset;
+        break;
+      case SEEK_CUR:
+        vf->offset += offset;
+        break;
+      case SEEK_END:
+        vf->offset = vf->length + offset;
+        break;
+      default:
+        break;
+     }
+   return vf->offset;
+}
+
+static sf_count_t
+eet_snd_file_read(void *ptr, sf_count_t count, void *user_data)
+{
+   VIO_DATA *vf = user_data;
+
+   if ((vf->offset + count) > vf->length)
+     count = vf->length - vf->offset;
+   memcpy(ptr, vf->data + vf->offset, count);
+   vf->offset += count;
+   return count;
+}
+
+static sf_count_t
+eet_snd_file_tell(void *user_data)
+{
+   VIO_DATA *vf = user_data;
+   return vf->offset;
+}
+
+static int
+remix_init_resampler_data(RemixEnv *env, RemixBase *base)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, base);
+
+   si->rs_ratio = remix_get_samplerate(env) / si->snd_info->samplerate;
+   si->rs_ratio /= si->speed;
+   si->resample_len = (si->snd_info->frames * si->rs_ratio);
+
+   si->outbuf = malloc(sizeof(RemixPCM) * BLOCK_FRAMES * 2);
+   if (!si->outbuf) return 0;
+   if ((si->rs_ratio == 1.0)/* && (si->snd_info->channels == 2)*/)
+     {
+        si->enable_resample = 0;
+        return 1;
+     }
+   else
+     si->enable_resample = 1;
+
+   si->in_avail = 0;
+   si->out_generated = 0;
+   si->inbuf = malloc(sizeof(RemixPCM) * BLOCK_FRAMES *
+                      si->snd_info->channels);
+   if (!si->inbuf) return 0;
+   return 1;
+}
+
+static RemixBase *
+remix_eet_sndfile_create(RemixEnv *env, RemixBase *sndfile, const char *path, const char *sound_id, const double speed)
+{
+   SF_VIRTUAL_IO *eet_vio = NULL;
+   SndInstanceData *si;
+   const void *sound_data;
+   int sound_size;
+
+   if ((!path) || (!sound_id)) return NULL;
+
+   si = calloc(1, sizeof(SndInstanceData));
+   if (!si) goto err;
+   remix_base_set_instance_data(env, sndfile, si);
+
+   si->path = strdup(path);
+   si->sound_id = strdup(sound_id);
+   si->speed = speed;
+
+   si->efp = eet_open(path, EET_FILE_MODE_READ);
+   if (!si->efp) goto err;
+
+   // xxx: eet_read_direct does not work on Threads, using eet_read.
+   sound_data = eet_read(si->efp, sound_id, &(sound_size));
+   eet_close(si->efp);
+   si->efp = NULL;
+   if (sound_data == NULL) goto err;
+
+   eet_vio = calloc(1, sizeof(SF_VIRTUAL_IO));
+   if (!eet_vio) goto err;
+
+   /* Set up func pointers to read snd file directly from EET. */
+   eet_vio->get_filelen = eet_snd_file_get_length;
+   eet_vio->seek = eet_snd_file_seek;
+   eet_vio->read = eet_snd_file_read;
+   eet_vio->tell = eet_snd_file_tell;
+
+   si->vio_data = calloc(1, sizeof(VIO_DATA));
+   if (!si->vio_data) goto err;
+   si->vio_data->offset = 0;
+   si->vio_data->length = sound_size;
+   si->vio_data->data = sound_data;
+
+   si->snd_info = calloc(1, sizeof(SF_INFO));
+   if (!si->snd_info) goto err;
+
+   si->pcm_fp = sf_open_virtual(eet_vio, SFM_READ, si->snd_info, si->vio_data);
+   if (!si->pcm_fp) goto err;
+   free(eet_vio);
+   eet_vio = NULL;
+
+   if (!remix_init_resampler_data(env, sndfile)) goto err;
+   si->out_generated = 0;
+
+   return sndfile;
+
+err:
+   if (eet_vio) free(eet_vio);
+   remix_set_error(env, REMIX_ERROR_SYSTEM);
+   remix_destroy(env, (RemixBase *)sndfile);
+   return RemixNone;
+}
+
+static RemixBase *
+remix_eet_sndfile_reader_init(RemixEnv *env, RemixBase *base, CDSet *parameters)
+{
+   char *file_path, *sound_id;
+   double speed;
+
+   file_path = (cd_set_find(env, parameters, PATH_KEY)).s_string;
+   sound_id = (cd_set_find(env, parameters, SOUND_ID_KEY)).s_string;
+   speed = (cd_set_find(env, parameters, SPEED_KEY)).s_double;
+
+   if (!remix_eet_sndfile_create(env, base, file_path, sound_id, speed))
+     return RemixNone;
+   remix_eet_sndfile_optimise (env, base);
+   return base;
+}
+
+static RemixBase *
+remix_eet_sndfile_clone(RemixEnv *env, RemixBase *base)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, base);
+   RemixBase *new_sndfile = remix_base_new(env);
+
+   remix_eet_sndfile_create(env, new_sndfile, si->path, si->sound_id, si->speed);
+   remix_eet_sndfile_optimise(env, new_sndfile);
+   return new_sndfile;
+}
+
+static int
+remix_eet_sndfile_destroy(RemixEnv *env, RemixBase *base)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, base);
+   if (si)
+     {
+        sf_close (si->pcm_fp);
+        eet_close(si->efp);
+        if (si->path) free(si->path);
+        if (si->sound_id) free(si->sound_id);
+        if (si->snd_info) free(si->snd_info);
+        if (si->efp) eet_close(si->efp);
+        if (si->inbuf) free(si->inbuf);
+        if (si->outbuf) free(si->outbuf);
+        if (si->vio_data) free(si->vio_data);
+        free(si);
+      }
+   if (base) free (base);
+   return 0;
+}
+
+static int
+remix_pcm_resample(SndInstanceData *si)
+{
+   RemixPCM *src, *dst, *srcbase;
+   int i = 0, in_samples, pos, total, chnum, reqsamp, avail;
+   int interp = 1;
+   
+   dst = si->outbuf + (si->out_generated * 2);
+   in_samples = (double)si->required_resamples / si->rs_ratio;
+   chnum = si->snd_info->channels;
+   reqsamp = si->required_resamples;
+   avail = si->in_avail;
+   srcbase = si->readbuf;
+   if ((interp) && (si->rs_ratio >= 1.0))
+     {
+        // linear interpolation of resampling for lower quality samples
+        // so they don't get high requency aliasing effects
+        for (i = 0; i < reqsamp; i++)
+          {
+             float fpos, fpos1;
+             RemixPCM psam[2];
+             
+             fpos = (float)(i * in_samples) / (float)reqsamp;
+             pos = fpos;
+             if (pos >= avail) break;
+             fpos -= pos;
+             fpos1 = 1.0 - fpos;
+             src = srcbase + (pos * chnum);
+             if (chnum == 2)
+               {
+                  if (pos == 0)
+                    {
+                       psam[0] = si->prevreadbuf[0];
+                       psam[1] = si->prevreadbuf[1];
+                    }
+                  else
+                    {
+                       psam[0] = src[0 - 2];
+                       psam[1] = src[1 - 2];
+                    }
+                  *dst++ = (src[0] * fpos) + (psam[0] * fpos1);
+                  *dst++ = (src[1] * fpos) + (psam[1] * fpos1);
+               }
+             else
+               {
+                  if (pos == 0)
+                    psam[0] = si->prevreadbuf[0];
+                  else
+                    psam[0] = src[0 - 1];
+                  *dst++ = (src[0] * fpos) + (psam[0] * fpos1);
+               }
+          }
+     }
+   else
+     {
+        // simple sample-picking/nearest. faster and simpler
+        for (i = 0; i < reqsamp; i++)
+          {
+             pos = (i * in_samples) / reqsamp;
+             if (pos >= avail) break;
+             src = srcbase + (pos * chnum);
+             if (chnum == 2)
+               {
+                  *dst++ = src[0];
+                  *dst++ = src[1];
+               }
+             else
+               *dst++ = src[0];
+          }
+     }
+   si->out_generated += i;
+   total = (i * in_samples) / reqsamp;
+   si->readbuf += total * chnum;
+   si->in_avail -= total;
+   return total;
+}
+
+/* An RemixChunkFunc for creating sndfile */
+static RemixCount
+remix_eet_sndfile_read_update(RemixEnv *env, RemixBase *sndfile, RemixCount count)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, sndfile);
+   
+   si->out_generated = 0;
+   if (si->enable_resample)
+     {
+        RemixCount gen = 0;
+
+        while (gen < count)
+          {
+             if (si->in_avail <= 0)
+               {
+                  si->in_avail = sf_readf_float(si->pcm_fp, si->inbuf, BLOCK_FRAMES);
+                  si->readbuf = si->inbuf;
+               }
+             si->required_resamples = (count - gen);
+             remix_pcm_resample(si);
+             if (si->snd_info->channels == 2)
+               {
+                  si->prevreadbuf[0] = si->readbuf[-2];
+                  si->prevreadbuf[1] = si->readbuf[-1];
+               }
+             else
+               {
+                  si->prevreadbuf[0] = si->readbuf[-1];
+               }
+             gen += si->out_generated;
+          }
+        si->out_generated = gen;
+     }
+   else
+     {
+        si->out_generated = sf_readf_float(si->pcm_fp, si->outbuf, count);
+     }
+   return si->out_generated;
+}
+
+static RemixCount
+remix_eet_sndfile_read_into_chunk(RemixEnv *env, RemixChunk *chunk, RemixCount offset, RemixCount count, int channelname, void *data)
+{
+   RemixBase *sndfile = data;
+   SndInstanceData *si = remix_base_get_instance_data(env, sndfile);
+   RemixPCM *d, *p;
+   RemixCount remaining = count, written = 0, n, i;
+
+   d = &chunk->data[offset];
+   n = MIN(remaining, BLOCK_FRAMES);
+   // Need parameter support to advance the data reading
+   if (channelname == 0)
+     remix_eet_sndfile_read_update(env, sndfile, n);
+   n = MIN(si->out_generated, remaining);
+   p = si->outbuf;
+   if (si->snd_info->channels > 1) p += channelname;
+   for (i = 0; i < n; i++)
+     {
+        *d++ = *p;
+        p += si->snd_info->channels;
+     }
+   if (n == 0) n = _remix_pcm_set(d, 0.0, remaining);
+   remaining -= n;
+   written += n;
+   return written;
+}
+
+static RemixCount
+remix_eet_sndfile_reader_process(RemixEnv *env, RemixBase *base, RemixCount count, RemixStream *input __UNUSED__, RemixStream *output)
+{
+   return remix_stream_chunkfuncify(env, output, count, 
+                                    remix_eet_sndfile_read_into_chunk,
+                                    base);
+}
+
+static RemixCount
+remix_eet_sndfile_length(RemixEnv *env, RemixBase *base)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, base);
+   return si->resample_len;
+}
+
+static RemixCount
+remix_eet_sndfile_seek(RemixEnv *env, RemixBase *base, RemixCount offset)
+{
+   SndInstanceData *si = remix_base_get_instance_data(env, base);
+   return sf_seek(si->pcm_fp, offset, SEEK_SET);
+}
+
+static struct _RemixMethods _remix_eet_sndfile_reader_methods =
+{
+   remix_eet_sndfile_clone,
+   remix_eet_sndfile_destroy,
+   NULL, /* ready */
+   NULL, /* prepare */
+   remix_eet_sndfile_reader_process,
+   remix_eet_sndfile_length,
+   remix_eet_sndfile_seek,
+   NULL, /* flush */
+};
+
+static RemixBase *
+remix_eet_sndfile_optimise(RemixEnv *env, RemixBase *sndfile)
+{
+   remix_base_set_methods(env, sndfile, &_remix_eet_sndfile_reader_methods);
+   return sndfile;
+}
+
+static struct _RemixParameterScheme path_scheme =
+{
+   "path",
+   "Path to sound file",
+   REMIX_TYPE_STRING,
+   REMIX_CONSTRAINT_TYPE_NONE,
+   {NULL},
+   REMIX_HINT_FILENAME,
+};
+
+static struct _RemixParameterScheme sound_id_scheme =
+{
+   "sound_id",
+   "Sound Id (Key) inside EET",
+   REMIX_TYPE_STRING,
+   REMIX_CONSTRAINT_TYPE_NONE,
+   {NULL},
+   REMIX_HINT_DEFAULT,
+};
+
+static struct _RemixParameterScheme speed_scheme =
+{
+   "speed",
+   "Sound Play Speed",
+   REMIX_TYPE_FLOAT,
+   REMIX_CONSTRAINT_TYPE_NONE,
+   {NULL},
+   REMIX_HINT_DEFAULT,
+};
+
+static struct _RemixMetaText eet_sndfile_reader_metatext =
+{
+   "eet_sndfile_reader",
+   "File:: Sound file Reader from EET",
+   "Reads PCM audio files from EET bundle using libsndfile",
+   "Copyright (C) 2011, Samsung Electronics Co., Ltd.",
+   "http://www.samsung.com",
+   REMIX_ONE_AUTHOR ("govi.sm@samsung.com", "prince.dubey@samsung.com"),
+};
+
+static struct _RemixPlugin eet_sndfile_reader_plugin =
+{
+   &eet_sndfile_reader_metatext,
+   REMIX_FLAGS_NONE,
+   CD_EMPTY_SET, /* init scheme */
+   remix_eet_sndfile_reader_init,
+   CD_EMPTY_SET, /* process scheme */
+   NULL, /* suggests */
+   NULL, /* plugin data */
+   NULL  /* destroy */
+};
+
+EAPI CDList *
+remix_load(RemixEnv *env)
+{
+   CDList *plugins = cd_list_new(env);
+   
+   eet_sndfile_reader_plugin.init_scheme =
+     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, PATH_KEY,
+                   CD_POINTER(&path_scheme));
+   eet_sndfile_reader_plugin.init_scheme =
+     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, SOUND_ID_KEY,
+                   CD_POINTER(&sound_id_scheme));
+   eet_sndfile_reader_plugin.init_scheme =
+     cd_set_insert(env, eet_sndfile_reader_plugin.init_scheme, SPEED_KEY,
+                   CD_POINTER(&speed_scheme));
+   
+   plugins = cd_list_prepend(env, plugins,
+                             CD_POINTER(&eet_sndfile_reader_plugin));
+   return plugins;
+}
diff --git a/src/modules/edje/multisense_factory/multisense_factory.c b/src/modules/edje/multisense_factory/multisense_factory.c
new file mode 100644 (file)
index 0000000..8b17be1
--- /dev/null
@@ -0,0 +1,33 @@
+#include "config.h"
+#include "edje_private.h"
+
+#define DEFAULT_SAMPLERATE 44100
+
+#ifdef HAVE_LIBREMIX
+EAPI RemixBase *
+multisense_sound_player_get(Edje_Multisense_Env *msenv)
+{
+   RemixEnv *env = msenv->remixenv;
+   RemixPlugin *player_plugin;
+   RemixBase *player;
+
+   player_plugin = remix_find_plugin(env, "alsa_snd_player");
+   if (!player_plugin)
+     {
+        WRN("ALSA player_plugin init fail\n");
+        return remix_monitor_new(env);
+     }
+   player = remix_new(env, player_plugin, NULL);
+   return player;
+}
+#endif
+
+EAPI Eina_Bool
+multisense_factory_init(Edje_Multisense_Env *env __UNUSED__)
+{
+#ifdef HAVE_LIBREMIX
+   remix_set_samplerate(env->remixenv, DEFAULT_SAMPLERATE);
+   remix_set_channels(env->remixenv, REMIX_STEREO);
+#endif
+   return EINA_TRUE;
+}
diff --git a/src/tests/edje/edje_suite.c b/src/tests/edje/edje_suite.c
new file mode 100644 (file)
index 0000000..ad789b6
--- /dev/null
@@ -0,0 +1,101 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <Edje.h>
+
+#include "edje_suite.h"
+
+typedef struct _Edje_Test_Case Edje_Test_Case;
+
+struct _Edje_Test_Case
+{
+   const char *test_case;
+   void      (*build)(TCase *tc);
+};
+
+static const Edje_Test_Case etc[] = {
+  { "Edje", edje_test_edje },
+  { NULL, NULL }
+};
+
+static void
+_list_tests(void)
+{
+  const Edje_Test_Case *itr;
+
+   itr = etc;
+   fputs("Available Test Cases:\n", stderr);
+   for (; itr->test_case; itr++)
+     fprintf(stderr, "\t%s\n", itr->test_case);
+}
+static Eina_Bool
+_use_test(int argc, const char **argv, const char *test_case)
+{
+   if (argc < 1)
+     return 1;
+
+   for (; argc > 0; argc--, argv++)
+     if (strcmp(test_case, *argv) == 0)
+       return 1;
+   return 0;
+}
+
+static Suite *
+edje_suite_build(int argc, const char **argv)
+{
+   TCase *tc;
+   Suite *s;
+   int i;
+
+   s = suite_create("Edje");
+
+   for (i = 0; etc[i].test_case; ++i)
+     {
+       if (!_use_test(argc, argv, etc[i].test_case)) continue;
+       tc = tcase_create(etc[i].test_case);
+
+       etc[i].build(tc);
+
+       suite_add_tcase(s, tc);
+       tcase_set_timeout(tc, 0);
+     }
+
+   return s;
+}
+
+int
+main(int argc, char **argv)
+{
+   Suite *s;
+   SRunner *sr;
+   int i, failed_count;
+
+   for (i = 1; i < argc; i++)
+     if ((strcmp(argv[i], "-h") == 0) ||
+        (strcmp(argv[i], "--help") == 0))
+       {
+         fprintf(stderr, "Usage:\n\t%s [test_case1 .. [test_caseN]]\n",
+                 argv[0]);
+         _list_tests();
+         return 0;
+       }
+     else if ((strcmp(argv[i], "-l") == 0) ||
+             (strcmp(argv[i], "--list") == 0))
+       {
+         _list_tests();
+         return 0;
+       }
+
+   s = edje_suite_build(argc - 1, (const char **)argv + 1);
+   sr = srunner_create(s);
+
+   srunner_run_all(sr, CK_ENV);
+   failed_count = srunner_ntests_failed(sr);
+   srunner_free(sr);
+
+   return (failed_count == 0) ? 0 : 255;
+}
diff --git a/src/tests/edje/edje_suite.h b/src/tests/edje/edje_suite.h
new file mode 100644 (file)
index 0000000..35ab20d
--- /dev/null
@@ -0,0 +1,9 @@
+#ifndef _EDJE_SUITE_H
+#define _EDJE_SUITE_H
+
+#include <check.h>
+
+void edje_test_edje(TCase *tc);
+
+
+#endif /* _EDJE_SUITE_H */
diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c
new file mode 100644 (file)
index 0000000..ad92c63
--- /dev/null
@@ -0,0 +1,28 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <unistd.h>
+#include <stdio.h>
+
+#include <Eina.h>
+#include <Edje.h>
+
+#include "edje_suite.h"
+
+START_TEST(edje_test_edje_init)
+{
+   int ret;
+
+   ret = edje_init();
+   fail_if(ret != 1);
+
+   ret = edje_shutdown();
+   fail_if(ret != 0);
+}
+END_TEST
+
+void edje_test_edje(TCase *tc)
+{
+   tcase_add_test(tc, edje_test_edje_init);
+}